+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.