+2011-11-04 Jim Meyering <meyering@redhat.com>
+
+ at-func*.c: fix comments
+ * lib/at-func2.c: Correct/improve first-line comment.
+ * lib/at-func.c: Correct grammar in first-line comment.
+
+2011-11-04 Bruno Haible <bruno@clisp.org>
+
+ New module 'mkdirat', split off from module 'openat'.
+ * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
+ Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
+ * modules/mkdirat: New file, extracted from modules/openat.
+ * modules/openat (Files): Remove lib/mkdirat.c.
+ (Depends-on): Remove mkdir.
+ (configure.ac): Remove AC_LIBOBJ of mkdirat.
+ (Include): Remove <sys/stat.h>.
+ * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
+ * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
+ tests/test-mkdir.h.
+ (Depends-on): Remove ignore-value.
+ (Makefile.am): Remove rules for test-mkdirat.
+ * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
+ of module 'openat'.
+ * NEWS: Mention the change.
+
+2011-11-04 Bruno Haible <bruno@clisp.org>
+
+ closedir: Avoid warning on mingw.
+ * lib/closedir.c: Include <unistd.h>.
+
+2011-11-04 Bruno Haible <bruno@clisp.org>
+
+ New module 'fstatat', split off from module 'openat'.
+ * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
+ defined.
+ * m4/fstatat.m4: New file. extracted from m4/openat.m4.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
+ gl_FUNC_FSTATAT.
+ (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
+ * modules/fstatat: New file, extracted from modules/openat.
+ * modules/openat (Files): Remove lib/fstatat.c.
+ (Depends-on): Remove lstat.
+ (configure.ac): Remove AC_LIBOBJ of fstatat.
+ * modules/fstatat-tests: New file, extracted from modules/openat-tests.
+ * modules/openat-tests (Files): Remove tests/test-fstatat.c,
+ tests/test-lstat.h, tests/test-stat.h.
+ (Depends-on): Remove getcwd-lgpl.
+ (Makefile.am): Remove rules for test-fstatat.
+ * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
+ of module 'openat'.
+ * NEWS: Mention the change.
+ * modules/getcwd (Depends-on): Add fstatat.
+ * modules/linkat (Depends-on): Likewise.
+ * modules/mkfifoat-tests (Depends-on): Likewise.
+ * modules/utimensat (Depends-on): Add fstatat. Remove openat.
+
+2011-11-03 Bruno Haible <bruno@clisp.org>
+
+ New module 'unlinkat', split off from module 'openat'.
+ * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
+ REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
+ * modules/unlinkat: New file, extracted from modules/openat. Correct
+ the dependency conditions.
+ * modules/openat (Files): Remove lib/unlinkat.c.
+ (Depends-on): Remove rmdir, unlink.
+ (configure.ac): Remove AC_LIBOBJ of unlinkat.
+ * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
+ * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
+ tests/test-rmdir.h, tests/test-unlink.h.
+ (Depends-on): Remove unlinkdir.
+ (Makefile.am): Remove rules for test-unlinkat.
+ * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
+ of module 'openat'.
+ * NEWS: Mention the change.
+ * modules/linkat-tests (Depends-on): Add unlinkat.
+ * modules/mkfifoat-tests (Depends-on): Likewise.
+ * modules/readlinkat-tests (Depends-on): Likewise.
+
+2011-11-02 Bruno Haible <bruno@clisp.org>
+
+ New module 'fchmodat', split off from module 'openat'.
+ * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
+ defined.
+ * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
+ for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
+ * modules/fchmodat: New file, extracted from modules/openat.
+ * modules/openat (Files): Remove lib/fchmodat.c.
+ (configure.ac): Remove AC_LIBOBJ of fchmodat.
+ * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
+ * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
+ (Makefile.am): Remove rules for test-fchmodat.
+ * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
+ of module 'openat'.
+ * NEWS: Mention the change.
+
+2011-11-02 Jim Meyering <meyering@redhat.com>
+
+ putenv: indent #definition of "environ" to placate cppi
+ * lib/putenv.c (environ): Make indentation reflect cpp nesting.
+
+ gitlog-to-changelog: provide a ChangeLog-repair mechanism
+ Git logs are often treated as immutable, because editing them
+ changes the SHA1 checksums of all descendants. Thus, errors in
+ git logs tend to stay there forever. However, when we generate
+ a ChangeLog file -- typically for distribution -- from that git log,
+ we can actually make corrections in the generated file. The key
+ lies in recording in machine-readable/applicable form the desired
+ corrections. See --help for description and an example.
+ * build-aux/gitlog-to-changelog (parse_amend_file): New function.
+ (usage): Describe it; alphabetize option descriptions.
+ (main): Honor the new option, carefully.
+
+2011-11-01 Jim Meyering <meyering@redhat.com>
+
+ gitlog-to-changelog: avoid an infloop
+ * build-aux/gitlog-to-changelog: Don't infloop for a commit log
+ that ends up being empty.
+
+2011-11-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
+ (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
+ bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
+ contains (possibly-quoted) backslashes. This should avoid
+ all-too-common shell bugs if COMPLICATED contains backslashes in
+ the "wrong" places. Reported by David Evans in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
+ When 'sed' uses character ranges like A-Z, invoke it in the C locale,
+ because we want ASCII ranges. Is there some reason we don't use
+ the C locale everywhere in this script?
+ (func_module, top level): Avoid unwanted pathname expansion when
+ $repo_url_prefix or $repo_url_suffix_repl contain shell
+ metacharacters like '?' and '*'.
+
+2011-11-01 Bruno Haible <bruno@clisp.org>
+
+ fchownat: Improve description.
+ * modules/fchownat (Description): Add link to function.
+
+2011-11-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
+ mingw supports alignments only up to 8 (!). Reported by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
+ * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
+
+2011-11-01 Bruno Haible <bruno@clisp.org>
+
+ alignof: Avoid collision with stdalign module.
+ * lib/alignof.h (alignof): Remove macro.
+ * NEWS: Mention the change.
+ Reported by Paul Eggert.
+
+2011-11-01 Bruno Haible <bruno@clisp.org>
+
+ New module 'fchownat', split off from module 'openat'.
+ * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
+ defined.
+ * m4/fchownat.m4: New file, extracted from m4/openat.m4.
+ * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
+ invoke gl_FUNC_FCHOWNAT.
+ (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
+ gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
+ * modules/fchownat: New file, extracted from modules/openat.
+ * modules/openat (Files): Remove lib/fchownat.c.
+ (Depends-on): Remove lchown.
+ (configure.ac): Remove AC_LIBOBJ of fchownat.
+ * modules/fchownat-tests: New file, extracted from modules/openat-tests.
+ * modules/openat-tests (Files): Remove tests/test-fchownat.c,
+ tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
+ (Depends-on): Remove mgetgroups, usleep, stat-time.
+ (configure.ac): Remove test for getegid.
+ (Makefile.am): Remove rules for test-fchownat.
+ * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
+ of module 'openat'.
+ * NEWS: Mention the change.
+
+2011-10-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdalign: port better to MSVC and to Sun C 5.11
+ This fixes some of the problems reported by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
+ * doc/posix-headers/stdalign.texi (stdalign.h): Document more
+ shortcomings of MSVC and of Sun C 5.11.
+ * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
+ around __declspec arg.
+ * modules/stdalign-tests (Files): Add tests/macros.h.
+ * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
+ Include macros.h, for ASSERT.
+ (DECLARE_ALIGNED): Remove.
+ (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
+ to catch bug), and to 1 if not (simplifies the rest of the code).
+ (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
+ (CHECK_AUTO): Remove.
+ (CHECK_ALIGNED): Check only the alignment of the static vars,
+ since auto var alignment isn't supported by Sun C 5.11.
+ (CHECK_TYPES): Remove. All uses replaced by inline code, so that
+ ASSERT failures are easier to diagnose.
+
+2011-10-31 Bruno Haible <bruno@clisp.org>
+
+ doc about some IRIX 5.3 problems.
+ * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
+ on IRIX 5.3.
+ * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
+ * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
+ 5.3.
+ * doc/posix-functions/grantpt.texi: Likewise.
+ * doc/posix-functions/unlockpt.texi: Likewise.
+ * doc/posix-functions/lgamma.texi: Likewise.
+ * doc/posix-functions/nextafter.texi: Likewise.
+ * doc/posix-functions/remainder.texi: Likewise.
+ * doc/posix-functions/select.texi: Mention misplaced declaration on
+ IRIX 5.3.
+ Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-10-31 Dmitry V. Levin <ldv@altlinux.org>
+
+ gitlog-to-changelog: fix git-log invocation.
+ git-log mishandles date strings before 1970-01-01 UTC, and there is
+ no use to specify --since=1970-01-01 by default anyway.
+ * build-aux/gitlog-to-changelog: By default, when no --since option
+ was given, do not specify explicit --since option to git-log.
+
+2011-10-30 Dmitry V. Levin <ldv@altlinux.org>
+
+ gitlog-to-changelog: new option --append-dot.
+ * build-aux/gitlog-to-changelog: New option --append-dot, makes the
+ first non-blank line of each commit message terminated with a dot.
+
+2011-10-30 Bruno Haible <bruno@clisp.org>
+
+ ffsl, ffsll: Avoid compilation error due to 'restrict'.
+ * lib/ffsl.h: Include <config.h>.
+ Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-10-30 Jim Meyering <meyering@redhat.com>
+
+ GNUmakefile: reenable "make syntax-check" for most projects
+ Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
+ build-aux variable", "syntax-check" would do nothing but succeed with
+ the "No version control files detected..." diagnostic (unless you
+ happened to override _build-aux via cfg.mk).
+ * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
+ to precede inclusion of maint.mk. Otherwise, these variables would
+ be used undefined in any project that does not override the default.
+
+2011-10-29 Dmitry V. Levin <ldv@altlinux.org>
+
+ gitlog-to-changelog: treat a message with only blank lines as empty.
+ * build-aux/gitlog-to-changelog: Move the code that removes leading and
+ trailing blank lines before the code that issues a warning about an
+ empty commit message.
+
+2011-10-30 Jim Meyering <meyering@redhat.com>
+
+ test-parse-datetime.c: avoid new DST-related false positive test failure
+ * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
+ based on the time/date we'll convert, not the current time.
+ Otherwise, the moment we cross a DST boundary like today's in
+ Europe, (CEST to CET), that offset ends up being one hour off.
+
+2011-10-27 Bruno Haible <bruno@clisp.org>
+
+ fstat: Tweak documentation.
+ * modules/fstat (Description): More precise description.
+
+2011-10-27 Bruno Haible <bruno@clisp.org>
+
+ Update documentation regarding 'largefile' module.
+ * doc/posix-functions/fstat.texi: Tweak wording.
+ * doc/posix-functions/opendir.texi: Mention that the module fixes the
+ problems with huge directories and/or small ino_t types.
+ * doc/posix-functions/readdir.texi: Likewise.
+ * doc/posix-functions/rewinddir.texi: Likewise.
+
+2011-10-28 Gary V. Vaughan <gary@gnu.org>
+
+ maint.mk: don't maintain a second build-aux variable.
+ * maint.mk (build_aux): Removed. The maintainer-makefile module
+ depends on GNUmakefile, which already maintains a cfg.mk
+ overridable $(_build-aux) for projects with a non-standard
+ build-aux directory location, although without the $(srcdir)
+ prefix. Use that variable consistently instead of introducing a
+ second one. Adjust all call sites.
+
+2011-10-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ Add stdalign module and use it in other modules.
+ This is based on a previous proposal by Bruno Haible
+ <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
+
+ stdalign: new module
+ * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
+ * modules/stdalign: New files.
+ * MODULES.html.sh (c1x_core_properties): Add stdalign.
+ * doc/gnulib.texi (Header File Substitutes): Add stdalign.
+
+ stdalign-tests: new module
+ * modules/stdalign-tests, tests/test-stdalign.c: New files.
+
+ argp: use stdalign
+ * lib/argp-parse.c: Include <stdalign.h>.
+ (alignof): Remove.
+ * modules/argp (Depends-on): Add stdalign.
+
+ crypto libraries: use stdalign
+ * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
+ Include <stdalign.h> and <stdint.h>. Do not include <stddef.h>.
+ Do not include <stdlib.h> twice, in md4.c.
+ (UNALIGNED_P): Simplify by using alignof. Use uintptr_t, not size_t,
+ because we are accessing a pointer's bit-pattern, not a size.
+ * modules/crypto/gc-md4 (Depends-on): Add stdalign.
+ * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
+ * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
+ * modules/crypto/sha512: Likewise.
+
+ sys_socket: use stdalign, not alignof
+ * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
+ * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
+
+2011-10-27 Bruno Haible <bruno@clisp.org>
+
+ raise test: Avoid a test failure on Linux/MIPS.
+ * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
+ because 99 is a valid signal on Linux/MIPS.
+
+2011-10-27 Bruno Haible <bruno@clisp.org>
+
+ nonblocking tests: Fix test failure on Linux/MIPS.
+ * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
+ Set to 270000.
+
+2011-10-27 Bruno Haible <bruno@clisp.org>
+
+ utimensat: Work around problem on Linux/hppa.
+ * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
+ values.
+ * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
+
+2011-10-25 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: fix a bug in sc_prohibit_stddef_without_use
+ * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
+ after symbols like NULL, size_t, etc.
+ Reported by Alfred M. Szmidt.
+
+ 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
+ * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
+
+2011-10-19 Gary V. Vaughan <gary@gnu.org>
+
+ maint.mk: Respect $(build_aux) in web-manual rule.
+ * top/maint.mk (web-manual): Find gen-announce script in user's
+ $(build_aux) directory instead of hard-coding 'build-aux'.
+
+2011-10-19 Bruno Haible <bruno@clisp.org>
+
+ posix_openpt: Fix compilation error.
+ * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
+ * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
+ Mention the openpty module as an alternative.
+
+2011-10-19 Bruno Haible <bruno@clisp.org>
+
+ Support for old NeXTstep 3.3 frexp().
+ * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
+ execution time of the test to 5 seconds.
+ Reported by Daniel Richard G. <skunk@iskunk.org>.
+
+2011-10-19 Bruno Haible <bruno@clisp.org>
+
+ Support for old NeXTstep 3.3 sed.
+ * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
+ part, use /.../, not \|...|. Escape periods in the header file name.
+ * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
+ Reported by Daniel Richard G. <skunk@iskunk.org>.
+
+2011-10-18 Daniel Richard G. <skunk@iskunk.org> (tiny change)
+
+ Support for old NeXTstep 3.3 gcc.
+ * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
+ 'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
+ * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
+ * lib/spawn.in.h (_Restrict_arr_): Likewise.
+ * lib/regex.h (_Restrict_arr_): Likewise.
+ * lib/regex_internal.h (re_token_t): Likewise.
+ * lib/regexec.c (check_node_accept_bytes): Likewise.
+ * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
+
+2011-10-18 Eric Blake <eblake@redhat.com>
+
+ posix_openpt: new module
+ * modules/posix_openpt: New module.
+ * m4/posix_openpt.m4: New file.
+ * lib/posix_openpt.c: Likewise.
+ * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
+ (gl_STDLIB_H_DEFAULTS): Set defaults.
+ * modules/stdlib (Makefile.am): Substitute macros.
+ * lib/stdlib.in.h (posix_openpt): Declare.
+ * MODULES.html.sh (systems lacking POSIX:2008): Document it.
+ * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
+ * modules/posix_openpt-tests: New test module.
+ * tests/test-posix_openpt.c: New test.
+
+2011-10-15 Bruno Haible <bruno@clisp.org>
+
+ xstrtoll: Fix compilation failure.
+ * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
+ from lib/strtol.c.
+ * doc/posix-headers/limits.texi: Mention missing numerical limits on
+ some platforms.
+ Reported by Tom G. Christensen <tgc@jupiterrise.com>.
+
+2011-10-15 Bruno Haible <bruno@clisp.org>
+
+ vasnprintf: Optimize bit search operation.
+ * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
+ * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
+ gl_DOUBLE_EXPONENT_LOCATION.
+ * modules/vasnprintf (Files): Add m4/exponentd.m4.
+ * modules/unistdio/u8-vasnprintf (Files): Likewise.
+ * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
+ * modules/unistdio/u16-vasnprintf (Files): Likewise.
+ * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
+ * modules/unistdio/u32-vasnprintf (Files): Likewise.
+ * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
+ * modules/unistdio/ulc-vasnprintf (Files): Likewise.
+ * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
+
+2011-10-15 Bruno Haible <bruno@clisp.org>
+
+ vasnprintf: Fix comments.
+ * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
+
+2011-10-14 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'integer_length_ll'.
+ * modules/integer_length_ll-tests: New file.
+ * tests/test-integer_length_ll.c: New file.
+
+ New module 'integer_length_ll'.
+ * lib/integer_length_ll.c: New file.
+ * modules/integer_length_ll: New file.
+
+2011-10-14 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'integer_length_l'.
+ * modules/integer_length_l-tests: New file.
+ * tests/test-integer_length_l.c: New file.
+
+ New module 'integer_length_l'.
+ * lib/integer_length_l.c: New file.
+ * modules/integer_length_l: New file.
+
+2011-10-14 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'integer_length'.
+ * modules/integer_length-tests: New file.
+ * tests/test-integer_length.c: New file.
+
+ New module 'integer_length'.
+ * lib/integer_length.h: New file.
+ * lib/integer_length.c: New file.
+ * modules/integer_length: New file.
+
+2011-10-14 Daniel Richard G. <skunk@iskunk.org> (tiny change)
+
+ popen: Fix dependency conditions.
+ * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
+
+2011-10-14 Daniel Richard G. <skunk@iskunk.org> (tiny change)
+
+ perror: Fix autoconf test.
+ * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
+ <stdlib.h> and <string.h>.
+
+2011-10-14 Bruno Haible <bruno@clisp.org>
+
+ ffsl: Optimize on 64-bit platforms.
+ * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
+ unrolling.
+
+2011-10-13 Bruno Haible <bruno@clisp.org>
+
+ ffsl: Optimize on 32-bit platforms.
+ * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
+ use ffs() without a loop.
+
+ ffsl, ffsll: Optimize for GCC.
+ * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
+ * lib/ffsl.c (GCC_BUILTIN): New macro.
+ * lib/ffsll.c (GCC_BUILTIN): Likewise.
+
+2011-10-13 Bruno Haible <bruno@clisp.org>
+
+ ffs, bcopy, memset: Support symbol renaming via config.h.
+ * lib/ffs.c: Include <config.h>.
+ * lib/bcopy.c: Likewise.
+ * lib/memset.c: Likewise.
+
+2011-10-10 Bruno Haible <bruno@clisp.org>
+
+ atanl: Simplify for platforms where 'long double' == 'double'.
+ * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
+ alternative implementation.
+ * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+ * modules/atanl (Depends-on): Add atan. Update conditions.
+
+2011-10-10 Bruno Haible <bruno@clisp.org>
+
+ acosl: Simplify for platforms where 'long double' == 'double'.
+ * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
+ alternative implementation.
+ * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+ * modules/acosl (Depends-on): Add acos. Update conditions.
+
+2011-10-10 Bruno Haible <bruno@clisp.org>
+
+ asinl: Simplify for platforms where 'long double' == 'double'.
+ * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
+ alternative implementation.
+ * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+ * modules/asinl (Depends-on): Add asin. Update conditions.
+
+2011-10-10 Bruno Haible <bruno@clisp.org>
+
+ tanl: Simplify for platforms where 'long double' == 'double'.
+ * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
+ implementation.
+ * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+ * modules/tanl (Depends-on): Add tan. Update conditions.
+ (configure.ac): Don't compile trigl.c if
+ HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+
+2011-10-10 Bruno Haible <bruno@clisp.org>
+
+ cosl: Simplify for platforms where 'long double' == 'double'.
+ * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
+ implementation.
+ * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+ * modules/cosl (Depends-on): Add cos. Update conditions.
+ (configure.ac): Don't compile sincosl.c and trigl.c if
+ HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+
+2011-10-10 Bruno Haible <bruno@clisp.org>
+
+ sinl: Simplify for platforms where 'long double' == 'double'.
+ * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
+ implementation.
+ * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+ * modules/sinl (Depends-on): Add sin. Update conditions.
+ (configure.ac): Don't compile sincosl.c and trigl.c if
+ HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+
+2011-10-10 Bruno Haible <bruno@clisp.org>
+
+ logl: Simplify for platforms where 'long double' == 'double'.
+ * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
+ implementation.
+ * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+ * modules/logl (Depends-on): Add log. Update conditions.
+
+2011-10-10 Bruno Haible <bruno@clisp.org>
+
+ expl: Simplify for platforms where 'long double' == 'double'.
+ * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
+ implementation.
+ * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+ * modules/expl (Depends-on): Add exp. Update conditions.
+
+2011-10-10 Bruno Haible <bruno@clisp.org>
+
+ sqrtl: Simplify for platforms where 'long double' == 'double'.
+ * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
+ alternative implementation.
+ * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+ * modules/sqrtl (Depends-on): Update conditions.
+
+2011-10-10 Bruno Haible <bruno@clisp.org>
+
+ ldexpl: Simplify for platforms where 'long double' == 'double'.
+ * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
+ alternative implementation.
+ * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+ * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
+
+2011-10-10 Tom G. Christensen <tgc@jupiterrise.com> (tiny change)
+
+ ffsll: set correct witness
+ * modules/ffsll (configure.ac): Fix typo.
+
+2011-10-10 Bruno Haible <bruno@clisp.org>
+
+ printf-frexpl: Simplify for platforms where 'long double' == 'double'.
+ * lib/printf-frexpl.c: Include <config.h>.
+ (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+ * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
+ second time.
+ * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
+ gl_LONG_DOUBLE_VS_DOUBLE.
+ * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
+ conditions.
+
+2011-10-10 Bruno Haible <bruno@clisp.org>
+
+ frexpl: Simplify for platforms where 'long double' == 'double'.
+ * lib/frexpl.c: Include <config.h>.
+ (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+ * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
+ time.
+ * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+ (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ * modules/frexpl (Depends-on): Add frexp. Update conditions.
+ * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
+ conditions.
+
+2011-10-10 Jim Meyering <meyering@redhat.com>
+
+ test-renameat: don't leave behind a temporary file
+ * tests/test-renameat.c (main): Don't forget to remove a temporary file.
+ ERROR: files left in build directory after distclean:
+ ./gltests/test-renameat.too
+ make[1]: *** [distcleancheck] Error 1
+ Reported by Tom G. Christensen.
+
+2011-10-09 Bruno Haible <bruno@clisp.org>
+
+ rint: Determine RINT_LIBM correctly on AIX 7.
+ * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
+ directly, not only through a function pointer. Also accept an optional
+ 4th argument with extra code.
+ * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
+ rintf() call by gcc when optimizing.
+
+ mathfunc.m4: Refactor.
+ * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
+ m4 variable.
+
+2011-10-09 Bruno Haible <bruno@clisp.org>
+
+ rintl: Simplify for platforms where 'long double' == 'double'.
+ * lib/rintl.c: Include <config.h>.
+ (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+ * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
+ time.
+ * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+ * modules/rintl (Depends-on): Add rint. Update conditions.
+
+2011-10-09 Bruno Haible <bruno@clisp.org>
+
+ roundl: Simplify for platforms where 'long double' == 'double'.
+ * lib/roundl.c: Include <config.h>.
+ (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+ * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
+ time.
+ * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+ * modules/roundl (Depends-on): Add round. Update conditions.
+
+2011-10-09 Bruno Haible <bruno@clisp.org>
+
+ truncl: Simplify for platforms where 'long double' == 'double'.
+ * lib/truncl.c: Include <config.h>.
+ (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
+ * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
+ time.
+ * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
+ Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
+ * modules/truncl (Depends-on): Add trunc. Update conditions.
+
2011-10-09 Bruno Haible <bruno@clisp.org>
ceill: Simplify for platforms where 'long double' == 'double'.