+2013-02-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ extensions: port better to MINUX 3, HP-UX, autoheader 2.62
+ Some of these changes are merged in from git Autoconf.
+ * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
+ When deciding whether to define _XOPEN_SOURCE, inspect the
+ preprocessor macro __hpux instead of the more-heavyweight
+ operation of requiring AC_CANONICAL_HOST. Define _NETBSD_HOST on
+ MINUX, for MINUX 3. Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
+ as the key for __EXTENSIONS__.
+
+ unistd: avoid namespace pollution on non-glibc systems
+ * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
+ This avoids namespace pollution on non-glibc systems, by causing
+ gnulib unistd.h to behave more like glibc unistd.h. I also hope
+ that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
+
+2013-02-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ tmpdir: use secure_getenv
+ * lib/tmpdir.c (__secure_getenv) [!LIBC]:
+ Define to secure_getenv, not getenv.
+ * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
+ as that's now secure_getenv's job.
+ * modules/tmpdir (Depends-on): Add secure_getenv.
+
+ tempname: use secure_getenv
+ * lib/tempname.c (__secure_getenv) [!_LIBC]:
+ Define to secure_getenv, not getenv.
+ * modules/tempname (Depends-on):
+ Add secure_getenv.
+
+ secure_getenv: new module
+ * MODULES.html.sh (Extra functions based on ANSI C 89):
+ Add secure_getenv.
+ * doc/glibc-functions/secure_getenv.texi: New file.
+ * doc/gnulib.texi: Include it.
+ * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
+ New files.
+ * lib/stdlib.in.h (secure_getenv): New decl.
+ * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
+ * modules/stdlib (stdlib.h):
+ Add secure_getenv checks.
+
+2013-02-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
+ Reported for OS X 10.8.2 by Assaf Gordon in
+ <http://bugs.gnu.org/13516>.
+ * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
+ !HAVE_OPENAT && !HAVE_FDOPENDIR.
+ * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
+ so that they can be kept in sync more easily. Avoid PATH_MAX
+ test on the Hurd. Sync from test-getcwd.c for errno tests after
+ mkdir or chdir failure.
+ * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
+ lib/getcwd.c.
+ (test_abort_bug): Do not test for the deep directory bug unless we
+ have openat support. Avoid PATH_MAX test on the Hurd.
+
+ regex-tests, regex: fix bug: memset undeclared
+ * tests/test-regex.c: Don't include regex.h twice. Include
+ string.h, to declare memset. Christensen's report also mentioned
+ this issue.
+ * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
+ test-regex.c, to avoid future problems like this. Remove
+ AC_INCLUDES_DEFAULT. Include <string.h>. Don't include <regex.h>
+ twice.
+
+ regex-tests: fix link errors on older Solaris
+ These need to link with @LIBINTL@ to get libintl_gettext.
+ Problem reported by Tom G. Christensen in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
+ * modules/regex-tests (test_regex_LDADD): New macro.
+
+2013-01-31 Paul Eggert <eggert@cs.ucla.edu>
+
+ regex-tests: new module
+ * modules/regex-tests, tests/test-regex.c: New files.
+
+ regex: fix off-by-one error in configure test
+ * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
+
+2013-01-31 Eric Blake <eblake@redhat.com>
+
+ regex: avoid infinite configure test
+ * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
+
+2013-01-31 Reuben Thomas <rrt@sc3d.org>
+
+ openpty: fix bug where HAVE_OPENPTY wasn't defined
+ See the thread starting at:
+ http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
+ * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
+ openpty function exists, not merely when we intend to replace it.
+
+2013-01-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ sys_time: port to Solaris 2.6
+ There is a circularity problem on Solaris 2.6, where <time.h> includes
+ <sys/time.h> for struct timespec. The include nesting is gnulib
+ <time.h>, system <time.h>, gnulib <sys/time.h>, system
+ <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
+ <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
+ <sys/siginfo.h>; the last, innermost file needs struct
+ timestruc_t, which is defined in <sys/time.h>, which has not been
+ fully parsed. Problem reported by Tom G. Christensen in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
+ * lib/sys_select.in.h: Treat Solaris 2.6's problem with
+ <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
+ * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
+ uses split double-inclusion guards.
+
+2013-01-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ regex: test for buffer overrun
+ * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
+ for the just-fixed regex bug.
+
+2013-01-29 Andreas Schwab <schwab@suse.de>
+
+ regex: fix buffer overrun in regexp matcher
+ * lib/regexec.c (extend_buffers): Add parameter min_len.
+ (check_matching): Pass minimum needed length.
+ (clean_state_log_if_needed): Likewise.
+ (get_subexp): Likewise.
+
+2013-01-28 Pádraig Brady <P@draigBrady.com>
+
+ mountlist: don't consider "devtmpfs" as dummy
+ * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
+ as there is storage associcated with it.
+
+2013-01-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ futimens-tests, utimens-tests: Depend on gettext.
+ This works around a problem introduced in my 2013-01-12 patch,
+ which added @LIBINTL@ to these modules.
+ * modules/futimens-tests (Depends-on):
+ * modules/utimens-tests (Depends-on): Add gettext.
+
+2013-01-26 Eric Blake <eblake@redhat.com>
+
+ test-getpeername: fix typo
+ * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
+
+2013-01-20 Bernhard Voelker <mail@bernhard-voelker.de>
+
+ bootstrap: remove the need for a sorted .gitignore file
+ * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
+ rename to insert_if_absent(), so that we don't need or generate
+ a sorted .gitignore file. We do require a .gitignore with no
+ existing duplicate entries and enforce that.
+ (sort_patterns): Remove this function as we now use the simpler
+ technigue of inserting blacklist entries at the top of the file,
+ assuming gnulib won't be inserting !whitelist entries.
+
+2013-01-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ readlinkat: don't depend on gl_FUNC_OPENAT
+ * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
+ Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
+ renameat.m4, symlinkat.m4; but one thing at a time.
+
+ statat: new module, split out from fstatat
+ GNU Emacs needs the POSIX-specified fstatat, but not the
+ gnulib-specified statat and lstat. Split the latter two into a
+ new module 'statat'.
+ * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
+ * lib/openat.h, lib/statat.c (STATAT_INLINE):
+ Rename from FSTATAT_INLINE. All uses changed.
+ * modules/fstatat (Files): Remove lib/statat.c.
+ (gl_MODULE_INDICATOR([fstatat])): Remove.
+ (lib_SOURCES): Remove.
+ (Maintainer): Add self.
+ * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
+ * tests/test-fstatat.c (BASE): Don't define if already defined.
+ (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
+
+2013-01-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ tests: don't assume fd 99 is closed
+ * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
+ * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
+ * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
+ * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
+ * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
+ * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
+ * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
+ * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
+ * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
+ * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
+ * tests/test-fwrite.c, tests/test-getpeername.c:
+ * tests/test-getsockname.c, tests/test-getsockopt.c:
+ * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
+ * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
+ * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
+ * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
+ * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
+ * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
+ * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
+ * tests/test-symlinkat.c, tests/test-ttyname_r.c:
+ * tests/test-unlinkat.c, tests/test-unlockpt.c:
+ * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
+ Close file descriptor 99, instead of assuming it's already closed.
+
+2013-01-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ stpncpy: port to OS X 10.8
+ * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
+ Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
+
+2013-01-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ unistd: port to recent mingw
+ * lib/unistd.in.h: Remove special invocation convention for mingw,
+ which breaks for the latest mingw version. See John W. Eaton in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
+
+ largefile: port better to Mac OS X 10.5
+ This patch is backported from Autoconf git.
+ * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
+ AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
+ with ino_t size being different for configuration time versus
+ build/run time. Problem reported by PHO in
+ <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
+
+2013-01-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ doc: clarify -Werror
+ * doc/warnings.texi (warnings): -Werror is not always a bad idea;
+ clarify that it's intended for developers, not for ordinary builds,
+ and mention --enable-gcc-warnings as one possible use.
+
+2013-01-15 Andoni Morales Alastruey <ylatuya@gmail.com> (tiny change)
+
+ stdint: fix build with Android's Bionic fox x86
+ * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
+ was already included as _SSIZE_T_DEFINED_ might also be defined
+ in include/machine/_types.h, which is included by stdio.h
+
+2013-01-13 Paul Eggert <eggert@cs.ucla.edu>
+
+ net_if-tests: port to Solaris 7 + GCC 3.4.6
+ Problem reported by Tom G. Christensen in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
+ * tests/test-net_if.c (ni): Move to next the code that uses it,
+ so that it's declared only if needed.
+
+2013-01-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ net_if-tests: port to older Solaris
+ Problem reported by Tom G. Christensen in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
+ * modules/net_if-tests (NET_IF_LIB): New substitution.
+ (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
+ (HAVE_IF_NAMEINDEX): New C macro.
+ * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
+
+ system-quote-tests: port to older Solaris
+ Problem reported by Tom G. Christensen in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
+ * tests/test-system-quote-child.c (fopen, fread): Undef.
+
+ c-xvasprintf etc.: fix link errors on older Solaris
+ These need to link with @LIBINTL@ to get libintl_gettext.
+ Problem reported by Tom G. Christensen in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
+ * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
+ * modules/readtokens-tests (test_readtokens_LDADD): New macros.
+ * modules/futimens-tests (test_futimens_LDADD):
+ * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
+
+2013-01-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ locale: port to Solaris 2.6 and 7 + GNU gettext
+ * lib/locale.in.h: Just include_next <locale.h> when
+ being invoked recursively. This prevents problems on Solaris 2.6 and 7
+ when combining the localename module with GNU gettext 0.18.2.
+ Problem reported by Tom G. Christensen in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
+
+2013-01-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdlib: port to Solaris 2.6
+ Also, the code worked on Solaris 7 through 9 only by accident.
+ Problem reported by Tom G. Christensen in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
+ * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
+ simply include the system stdlib.h.
+ * lib/getopt.in.h (__need_system_stdlib_h):
+ * lib/pthread.in.h (__need_system_stdlib_h):
+ * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
+ Define when including <stdlib.h>, to avoid problems at least for
+ the pthread case on Solaris 2.6 and 7. These .h files can get by
+ with the system stdlib.h.
+
+2013-01-06 Paul Eggert <eggert@cs.ucla.edu>
+
+ doc: update main copyright year
+ * doc/gnulib.texi: Update copyright date.
+
+ doc: improve ISO 8601 discussion
+ * doc/parse-datetime.texi (Combined date and time of day items):
+ Specify more carefully what formats are supported and what is
+ done with excess precision.
+
+2013-01-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ doc: avoid small caps
+ * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
+ they're more trouble than they're worth. Suggested by Karl Berry
+ in <http://bugs.gnu.org/13360>.
+
+ regex: conform to strict C
+ * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
+ From Aharon Robbins.
+
+ gnulib-tool: fix incompatibility with autopoint 0.18.2
+ * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
+ Problem reported by Tom G. Christensen in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
+
+2013-01-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ fprintftime: bring back and reword fwrite comment
+ * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
+
+ stdio: remove now-unnecessary stdio.c
+ Since stdio.in.h no longer uses inline functions, we no longer
+ need to compile the extern versions.
+ * lib/stdio.c: Remove.
+ * modules/stdio (Files): Remove lib/stdio.c.
+ (lib_SOURCES): Remove.
+
+ unicodeio: depend on stdio, not ignore-value
+ * lib/unicodeio.c: Do not include ignore-value.h.
+ (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
+ * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
+
+ fprintftime: depend on stdio, not ignore-value
+ * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
+ (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
+ since the stdio module arranges to silence that warning now.
+ * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
+
+2012-10-04 Simon Josefsson <simon@josefsson.org>
+
+ stdint-tests: Fix expanded-before-required-warning.
+ * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
+
+2013-01-03 Paul Eggert <eggert@cs.ucla.edu>
+
+ fwrite: silence __wur only for older glibc versions
+ * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
+ This will help us remove this workaround some time in the far future.
+
+2013-01-03 Eric Blake <eblake@redhat.com>
+
+ fwrite: silence __wur without using inline
+ * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
+ just gcc, and in a way that avoids inline issues.
+ * modules/stdio (Depends-on): Drop extern-inline.
+
+2013-01-03 Jim Meyering <jim@meyering.net>
+
+ update-copyright: avoid copyright notice date corruption
+ Given a sequence of copyright year numbers in which the final
+ one was a two-digit number that happened to be a substring of
+ a preceding four-digit year number, we would mistakenly update
+ the substring (from two- to four-digit) rather than the two-digit
+ number at the end, which, combined with the addition of the current
+ 4-digit year number would yield two 5-digit year numbers, e.g.,
+ here, it would convert the first "99" to "1999, 2013" rather than
+ the final one:
+ 1991, 99
+ 11999, 20131, 1999
+ * build-aux/update-copyright: Tighten a regexp.
+ * tests/test-update-copyright.sh: Add a test case to trigger the bug.
+ Reported by Joseph Myers in
+ http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
+
+2013-01-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ regex: omit needless signed-pointer casts
+ * lib/regcomp.c (build_charclass, build_charclass_op):
+ Use char *, not unsigned char *, for class name and extra.
+ The char values are always nonnegative so there's no need to
+ insist on unsigned char * here, and using char * removes the need
+ for casts. Reported by Aharon Robbins in
+ <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+
+ regex: support Gawk, which never uses alloca
+ * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
+ Do not include in this case. Gawk doesn't supply a substitute
+ alloca.h and doesn't need one.
+
+ regex: port __libc_lock_define usage to C89
+ * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
+ (struct re_dfa_t): Use #ifdef instead. '__libc_lock_define (, lock)'
+ does not conform to C89, as it has an empty macro argument.
+ Reported by Aharon Robbins in
+ <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+
+2013-01-01 Eric Blake <eblake@redhat.com>
+
+ maint: update all copyright year number ranges
+ Run "make update-copyright".
+
+ version-etc: bump copyright year reported in --version
+ * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
+
+2012-12-31 Eric Blake <eblake@redhat.com>
+
+ sigprocmask-tests: skip test if pid is unexpectedly large
+ * tests/test-sigprocmask.c (main): Add range check.
+
+ git-version-gen: avoid test -z portability glitch
+ * build-aux/git-version-gen: Prefer portable test spelling, since
+ git-version-gen is run on more than just developer machines.
+
+2012-12-31 Peter Rosin <peda@lysator.liu.se> (tiny change)
+
+ git-version-gen: add --fallback option to use if git is not present
+ * build-aux/git-version-gen: Add support for the new option --fallback,
+ which comes into play when there is no $tarball_version_file and
+ git is not working.
+ (scriptversion): Update.
+
+ maint.mk: handle missing git with more grace
+ * top/maint.mk (no-submodule-changes, public-submodule-commit):
+ Quietly proceed if git is not present.
+
+2012-12-31 Eric Blake <eblake@redhat.com>
+
+ dup2: work around cygwin bug
+ * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
+ * lib/dup2.c (rpl_dup2): Work around it.
+ * doc/posix-functions/dup2.texi (dup2): Document it.
+
+2012-12-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ regex: remove unnecessary dependency on localcharset.h
+ * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
+ hasn't been needed for years.
+ * modules/regex (Depends-on): Remove localcharset.
+
+ regex: revert single-byte change
+ * lib/regexec.c (check_node_accept_bytes): Revert previous change
+ to this function. This was alredy fixed in a different way, at
+ bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
+ <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
+ <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
+
+ regex: simplify based on Gawk version
+ * lib/regex_internal.c (re_dfa_add_node): Simplify.
+ Reported by Aharon Robbins in
+ <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+
+2012-12-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ regex: check that pattern char is single-byte
+ Reported by Aharon Robbins in
+ <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+ * lib/regexec.c (check_node_accept_bytes):
+ Return 0 if the pattern string has a multibyte character here.
+
+ regex: implement rational ranges
+ Reported by Aharon Robbins in
+ <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+ * lib/regcomp.c (build_range_exp) [!_LIBC]:
+ * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
+ Implement rational ranges.
+
+ regex: avoid redefining __wctype
+ Reported by Aharon Robbins in
+ <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+ * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
+ #undef before defining.
+
+ regex: port to hosts where malloc (0) == NULL
+ Reported by Aharon Robbins in
+ <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+ * lib/regex_internal.c (re_node_set_alloc):
+ Don't assume that malloc (0) yields nonnull.
+ * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
+ * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
+ * modules/regex (Files): Add m4/eealloc.m4.
+
+ regex: port to C89
+ Reported by Aharon Robbins in
+ <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
+ * lib/regcomp.c (init_word_char): Declaration before statement.
+
+ regex: merge glibc changes
+ Also, copy the license wording from glibc. This simplifies
+ merging changes. gnulib-tool will change the wording to GPL as
+ appropriate, when importing it to other packages. The only
+ glibc change made since the last merge, which needs merging, is:
+ 2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
+ * lib/regex_internal.h (gettext): Remove use of INTUSE.
+
+ * users.txt: Add Emacs.
+
+ doc: omit mention of version when not needed
+ * doc/gnulib-intro.texi (Portability and Application Code):
+ * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
+ Don't mention particular dates or versions when not necessary, so
+ that the documentation won't go out of date so quickly.
+
+ * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
+
+2012-12-28 Akim Demaille <akim@lrde.epita.fr>
+
+ bootstrap: pass --force to autoreconf.
+ * build-aux/bootstrap (AUTORECONFFLAGS): New.
+ Add "--force" so that Automake's ylwrap and other such tools
+ be updated at each bootstrap invocation.
+ Use it.
+
+2012-12-27 Paul Eggert <eggert@cs.ucla.edu>
+
+ argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
+ The earlier patch forgot to update one of the #if conditions, causing
+ a problem on Debian testing i386 reported by Mats Erik Andersson
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
+ * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
+ (__argp_fmtstream_puts, argp_fmtstream_puts)
+ (__argp_fmtstream_write, argp_fmtstream_write)
+ [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
+
+ * doc/gnulib-readme.texi: Minor fixups.
+ (Portability guidelines): Modernize URLs. Remove some repetition.
+ (Indent with spaces not TABs): Reword to avoid too-long lines.
+ Remove some '@ifset standalone' stuff that isn't used.
+
+ * doc/gnulib-readme.texi (Portability guidelines):
+ ctype.h, not ctime.h.
+
+ Correct name of POSIX.1-2001.
+ * doc/posix-functions/fgetc.texi (fgetc):
+ * doc/posix-functions/fgets.texi (fgets):
+ * doc/posix-functions/fread.texi (fread):
+ * doc/posix-functions/fscanf.texi (fscanf):
+ * doc/posix-functions/getc.texi (getc):
+ * doc/posix-functions/getchar.texi (getchar):
+ * doc/posix-functions/scanf.texi (scanf):
+ POSIX.1-2001, not POSIX-2001.
+
+ doc: move README into manual
+ * README: Move contents to new file doc/gnulib-readme.texi.
+ Replace with a one-line summary.
+ * doc/gnulib.texi (Brief Overview): New section,
+ with old intro preface. Include gnulib-readme.texi for contents.
+ (Philosophy): Rename from "Introduction", since this
+ section no longer introduces the rest. Write a new preface.
+ * doc/gnulib-readme.texi: New file, with the old contents of
+ README texinfo-ized. This way, the README info appears
+ in the online and printed manual.
+
+2012-12-25 Ben Pfaff <blp@cs.stanford.edu>
+
+ c-xvasprintf: Fix "implicit declaration of function" GCC warning.
+ * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
+ c_vasprintf() prototype.
+
+2012-12-24 Ben Pfaff <blp@cs.stanford.edu>
+
+ c-vasprintf: Fix "empty declaration" warning reported by GCC.
+ * lib/c-vasprintf.h: Remove stray semicolon.
+
+2012-12-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ gettext: avoid obsolete macro AM_PROG_MKDIR_P
+ It is obsolete and is planned to be removed from Automake 1.14; see
+ <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
+ * build-aux/po/Makefile.in.in (install-data, install-data-yes)
+ (installdirs-data, installdirs-data-yes):
+ Use $(MKDIR_P), not $(mkdir_p).
+ * m4/intl.m4 (AM_INTL_SUBDIR):
+ * m4/po.m4 (AM_PO_SUBDIRS):
+ Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
+
+2012-12-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
+ On this platform, we are not optimizing but we are using
+ the substitute for extern inlines, so compile as if
+ C99-style extern inline, or a substitute, is available.
+ * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
+ (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
+ (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
+ (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
+ (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
+ Declare as ARGP_FS_EI, not as extern.
+ * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
+ (__option_is_short, _option_is_end, __option_is_end)
+ [!_LIBC && __USE_EXTERN_INLINES]:
+ Declare as ARGP_EI, not as extern.
+
+2012-12-21 Paul Eggert <eggert@cs.ucla.edu>
+
+ AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
+ * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
+ Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
+ m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
+ ...), as the latter is fatal with older Autoconfs.
+ Problem reported and fix suggested by Eric Blake in thread starting at
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
+
+2012-12-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ AC_PROG_MKDIR_P: don't workaround if not buggy
+ * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
+ Define only for Autoconf versions before 2.62.
+ (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
+ undocumented m4_PACKAGE_VERSION, for consistency with the
+ abovementioned change to AC_PROG_MKDIR_P. This should suffice
+ since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
+ was introduced in 2.62.
+
+2012-12-15 Ben Pfaff <blp@cs.stanford.edu>
+
+ New 'c-*printf' modules for formatted output in C locale.
+
+ New module 'c-vasnprintf'.
+ * modules/c-vasnprintf: New file.
+ * lib/c-vasnprintf.c: New file.
+ * lib/c-vasnprintf.h: New file.
+
+ New module 'c-snprintf'.
+ * modules/c-snprintf: New file.
+ * modules/c-snprintf-tests: New file.
+ * lib/c-snprintf.c: New file.
+ * lib/c-snprintf.h: New file.
+ * tests/test-c-snprintf.c: New file.
+ * tests/test-c-snprintf.sh: New file.
+
+ New module 'c-vsnprintf'.
+ * modules/c-vsnprintf: New file.
+ * modules/c-vsnprintf-tests: New file.
+ * lib/c-vsnprintf.c: New file.
+ * lib/c-vsnprintf.h: New file.
+ * tests/test-c-vsnprintf.c: New file.
+ * tests/test-c-vsnprintf.sh: New file.
+
+ New module 'c-vasprintf'.
+ * modules/c-vasprintf: New file.
+ * modules/c-vasprintf-tests: New file.
+ * lib/c-asprintf.c: New file.
+ * lib/c-vasprintf.c: New file.
+ * lib/c-vasprintf.h: New file.
+ * tests/test-c-vasprintf.c +: New file.
+ * tests/test-c-vasprintf.sh: New file.
+
+ New module 'c-xvasprintf'.
+ * modules/c-xvasprintf: New file.
+ * modules/c-xvasprintf-tests: New file.
+ * lib/c-xasprintf.c: New file.
+ * lib/c-xvasprintf.c: New file.
+ * lib/c-xvasprintf.h: New file.
+ * tests/test-c-xvasprintf.c: New file.
+ * tests/test-c-xvasprintf.sh: New file.
+
+2012-12-18 Paul Eggert <eggert@cs.ucla.edu>
+
+ argp: better 'inline'
+ Use extern-inline module to declare extern inline functions.
+ This avoids some bogus warning diagnostics. Problem discovered
+ when modifying GNU tar to use the manywarnings module.
+ * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
+ * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
+ Define based on extern-inline.
+ * modules/argp (Depends-on): Add extern-inline.
+
+2012-12-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ filemode, sys_stat: Handle MPX files a la AIX.
+ * lib/filemode.c (ftypelet): Report 'm' for MPX files.
+ * lib/sys_stat.in.h (S_ISMPX): New macro.
+ * tests/test-sys_stat.c: Add tests for MPX files.
+
+2012-12-16 Alexandre Duret-Lutz <adl@lrde.epita.fr>
+
+ x-to-1: honor $PERL
+ * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
+ a chance to use his preferred version of Perl. This is typically
+ required by Darwin users whose default /usr/bin/perl does not have all
+ the libraries required by help2man, and who need to use their MacPorts
+ installation of Perl instead.
+
+2012-12-16 Akim Demaille <akim@lrde.epita.fr>
+
+ gnu-web-doc-update: add all the new files, even in new directories
+ See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
+ * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
+ Use it.
+ (main): Don't use cvsutils to get the list of unknown files,
+ just add all the existing files and directories.
+
+2012-12-16 Akim Demaille <akim@lrde.epita.fr>
+
+ gnu-web-doc-update: improve --help
+ * build-aux/gnu-web-doc-update: Move comments into --help.
+
+2012-12-07 Eric Wong <normalperson@yhbt.net>
+
+ mountlist: recognize more "dummy" file systems
+ * lib/mountlist.c (ME_DUMMY_0):
+ Add these dummy FS names to the list:
+ - "debugfs" virtual filesystem for kernel debugging
+ - "devpts" PTY slave filesystem
+ - "devtmpfs" device filesystem on top of tmpfs/ramfs
+ - "fusectl" control filesystem for FUSE
+ - "mqueue" enumerates POSIX message queues
+ - "rpc_pipefs" kernel <-> userspace bridge for NFS
+ - "sysfs" is for exporting kernel objects
+ - "devfs" device filesystem for Linux 2.4 and FreeBSD
+
+2012-12-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ extern-inline: avoid incompatibility with Darwin Libc
+ * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
+ extern inline if __APPLE__. Use _GL_UNUSED in the non-inline branch.
+ Problem reported by Akim Demaille in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
+
+2012-12-11 Simon Josefsson <simon@josefsson.org>
+
+ gnupload: Work with GnuPG using gpg-agent (for smartcards).
+ * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
+ let it handle password prompting.
+
+2012-12-10 Eli Zaretskii <eliz@gnu.org>
+
+ canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
+ * lib/canonicalize.c (canonicalize_filename_mode):
+ * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
+ fetching the current directory. Don't overrun the beginning of
+ rpath if there's no slashes after the MS-Windows drive letter.
+
+2012-12-08 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ maint.mk: avoid extra forks
+ * top/maint.mk (_cfg_mk): The GNU make manual documents that
+ "$(wildcard FILE)" expands to empty if FILE doesn't exist.
+ So use that instead of "$(shell test -f FILE && echo FILE)".
+
+2012-12-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ vasnprintf: fix ASCII_ONLY typo
+ * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
+ * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
+ * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
+ New macro, replacing ASCII_ONLY. This fixes a typo. See thread at
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
+
+2012-12-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ list, oset, xlist, xoset: fix extern inline issue with C99
+ This was introduced by my recent changes for 'inline'.
+ Problem reported for gettext by Daiki Ueno in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
+ * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
+ (gl_list_nx_create, gl_list_size, gl_list_node_value)
+ (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
+ (gl_list_previous_node, gl_list_get_at)
+ (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
+ (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
+ (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
+ (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
+ (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
+ (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
+ (gl_list_iterator_free, gl_sortedlist_search)
+ (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
+ (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
+ (gl_sortedlist_remove):
+ * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
+ (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
+ (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
+ * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
+ (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
+ (gl_list_add_last, gl_list_add_before, gl_list_add_after)
+ (gl_list_add_at, gl_sortedlist_add):
+ * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
+ Wrap these extern decls inside "#if 0", because they are implemented
+ as inline functions, and extern inline is not what's wanted here.
+ It would simplify these .h files to remove the extern decls entirely,
+ although a downside would be less-clear separation between
+ specification and implementation.
+
+2012-11-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ sys_stat: no 'static inline'
+ * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
+ * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
+
+ extern-inline: no 'static inline'
+ * m4/extern-inline.m4 (gl_EXTERN_INLINE):
+ Do not require AC_C_INLINE.
+ (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
+ 'static inline', for older compilers.
+
+ snippet/warn-on-use: no 'static inline'
+ * build-aux/snippet/warn-on-use.h:
+ Remove unnecessary 'inline' in comment.
+
+ rbtree-list, rbtreehash-list: no 'static inline'
+ * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
+ * lib/gl_anytree_list2.h (node_at):
+ * lib/gl_anytreehash_list1.h (hash_resize_after_add)
+ (gl_oset_first, add_nodes_to_buckets):
+ Now static, not static inline.
+
+ regex: no 'static inline'
+ * lib/regex_internal.c (calc_state_hash):
+ * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
+ (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
+ (bitset_mask, re_string_char_size_at, re_string_wchar_at):
+ Now static, not static inline.
+ (inline) [__GNUC__ < 3 && _LIBC]:
+ Remove macro; no longer needed.
+
+ xvasprintf: no 'static inline'
+ * lib/xvasprintf.c (xstrcat):
+ Now static, not static inline.
+ * m4/xvasprintf.m4 (gl_XVASPRINTF):
+ Do not require AC_C_INLINE.
+
+ parse-datetime, parse-duration: no 'static inline'
+ * lib/parse-datetime.y (to_uchar):
+ * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
+ (scale_n_add):
+ Now static, not static inline.
+ * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
+ * modules/parse-duration (configure.ac):
+ Do not require AC_C_INLINE.
+
+ getaddrinfo: no 'static inline'
+ * lib/getaddrinfo.c (validate_family):
+ Now static, not static inline.
+ * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
+ Do not require AC_C_INLINE.
+
+ ftruncate, fts, lstat, openat, raise: no 'static inline'
+ * lib/ftruncate.c (chsize_nothrow):
+ * lib/fts.c (opendirat, diropen):
+ * lib/lstat.c (orig_lstat):
+ * lib/openat.c (orig_openat):
+ * lib/raise.c (raise_nothrow):
+ Now static, not static inline.
+ * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
+ * m4/fts.m4 (gl_FUNC_FTS_CORE):
+ * m4/lstat.m4 (gl_PREREQ_LSTAT):
+ * m4/openat.m4 (gl_PREREQ_OPENAT):
+ * m4/raise.m4 (gl_PREREQ_RAISE):
+ Do not require AC_C_INLINE.
+
+ fflush, stat: no 'static inline'
+ * lib/fflush.c (clear_ungetc_buffer_preserving_position)
+ (clear_ungetc_buffer, disable_seek_optimization)
+ (restore_seek_optimization, update_fpos_cache):
+ * lib/stat.c (orig_stat):
+ Now static, not static inline.
+ * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
+ (update_fpos_cache):
+ Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
+ * m4/fflush.m4 (gl_PREREQ_FFLUSH):
+ * m4/stat.m4 (gl_PREREQ_STAT):
+ Do not require AC_C_INLINE.
+
+ error, filevercmp: no 'static inline'
+ * lib/error.c (is_open, flush_stdout):
+ * lib/filevercmp.c (order):
+ Now static, not static inline.
+ * m4/error.m4 (gl_PREREQ_ERROR):
+ * modules/filevercmp (configure.ac):
+ Do not require AC_C_INLINE.
+
+ dup, execute, fatal-signal, etc.: no 'static inline'
+ * lib/dup.c (dup_nothrow):
+ * lib/execute.c (nonintr_close, nonintr_open):
+ * lib/fatal-signal.c (uninstall_handlers, install_handlers):
+ * lib/fopen.c (orig_fopen):
+ * lib/freadseek.c (freadptrinc):
+ * lib/freopen.c (orig_freopen):
+ * lib/fstat.c (orig_fstat, fstat_nothrow):
+ * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
+ (get_rusage_as_via_iterator):
+ * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
+ * lib/getdtablesize.c (_setmaxstdio_nothrow):
+ * lib/isatty.c (_isatty_nothrow):
+ * lib/open.c (orig_open):
+ * lib/read.c (read_nothrow):
+ * lib/sigprocmask.c (signal_nothrow):
+ * lib/spawn-pipe.c (nonintr_close, nonintr_open):
+ * lib/vasnprintf.c (MAX_ROOM_NEEDED):
+ * lib/wait-process.c (unregister_slave_subprocess):
+ * lib/write.c (write_nothrow):
+ Now static, not static inline.
+ * lib/spawn-pipe.c (nonintr_open): Define only if
+ (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
+ * m4/dup.m4 (gl_PREREQ_DUP):
+ * m4/execute.m4 (gl_EXECUTE):
+ * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
+ * m4/fopen.m4 (gl_PREREQ_FOPEN):
+ * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
+ * m4/freopen.m4 (gl_PREREQ_FREOPEN):
+ * m4/fstat.m4 (gl_PREREQ_FSTAT):
+ * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
+ * m4/isatty.m4 (gl_PREREQ_ISATTY):
+ * m4/open.m4 (gl_PREREQ_OPEN):
+ * m4/read.m4 (gl_PREREQ_READ):
+ * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
+ * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
+ * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
+ * m4/wait-process.m4 (gl_WAIT_PROCESS):
+ * m4/write.m4 (gl_PREREQ_WRITE):
+ * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
+ Do not require AC_C_INLINE.
+
+ c-strtod, memcoll, readutmp: no 'static inline'
+ * lib/c-strtod.c (c_locale):
+ * lib/memcoll.c (strcoll_loop):
+ * lib/readutmp.c (desirable_utmp_entry):
+ Now static, not static inline.
+ * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
+ * m4/memcoll.m4 (gl_MEMCOLL):
+ * m4/readutmp.m4 (gl_READUTMP):
+ Do not require AC_C_INLINE.
+
+ arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
+ * lib/arctwo.c (to_uchar):
+ * lib/md4.c (set_uint32):
+ * lib/md5.c (set_uint32):
+ * lib/sha1.c (set_uint32):
+ * lib/sha256.c (set_uint32):
+ * lib/sha512.c (set_uint64):
+ Now static, not static inline. This is a bit simpler, and doesn't
+ affect performance with GCC and default optimization.
+ * m4/arctwo.m4 (gl_ARCTWO):
+ * m4/md4.m4 (gl_MD4):
+ * m4/md5.m4 (gl_MD5):
+ * m4/sha1.m4 (gl_SHA1):
+ * m4/sha256.m4 (gl_SHA256):
+ * m4/sha512.m4 (gl_SHA512):
+ Do not require AC_C_INLINE.
+
+ cond, lock, thread: better 'inline'
+ * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
+ * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
+ New macros. Use them instead of static inline, for header functions.
+ * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
+ (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
+ * lib/glthread/lock.c (gl_waitqueue_init)
+ (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
+ * lib/glthread/thread.c (get_current_thread_handle):
+ Change 'static inline' to 'inline'.
+ * lib/glthread/cond.h, lib/glthread/thread.h:
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * m4/cond.m4 (gl_COND):
+ * m4/lock.m4 (gl_PREREQ_LOCK):
+ * m4/thread.m4 (gl_THREAD):
+ Do not require AC_C_INLINE.
+ * modules/cond, modules/thread (Depends-on): Add extern-inline.
+
+ chdir-long, cycle-check, savewd: better 'inline'
+ * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
+ (find_non_slash):
+ * lib/cycle-check.c (is_zero_or_power_of_two):
+ * lib/savewd.c (savewd_delegating):
+ Change 'static inline' to 'inline'.
+ * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
+ Replace all remaining uses of 'static inline' with it.
+ * lib/savewd.h:
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
+ * m4/cycle-check.m4 (gl_CYCLE_CHECK):
+ * m4/savewd.m4 (gl_SAVEWD):
+ Do not require AC_C_INLINE.
+ * modules/savewd (Depends-on): Add extern-inline.
+
+ base32, base64: no need for 'inline'
+ * lib/base32.c (to_uchar, get_8, decode_8):
+ * lib/base64.c (to_uchar, get_4, decode_4):
+ Change 'static inline' to 'inline'.
+ * m4/base32.m4 (gl_PREREQ_BASE32):
+ * m4/base64.m4 (gl_PREREQ_BASE64):
+ Do not require AC_C_INLINE.
+
+ array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
+ * lib/gl_array_oset.c (gl_array_nx_add_at):
+ (gl_array_remove_at):
+ * lib/gl_linkedhash_list.c (hash_resize_after_add)
+ (add_to_bucket, remove_from_bucket):
+ * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
+ Change 'static inline' to 'static', as it's simpler to omit
+ 'inline' unless there's a significant performance advantage.
+
+ list, oset, xlist, xoset, xsublist: simplify via extern inline
+ * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
+ * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
+ * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
+ * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
+ * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
+ New macro. Replace all uses of 'static inline' with it.
+ [HAVE_INLINE]: Implement functions as *_INLINE functions,
+ instead of as macros FOO that are defined to static inline
+ functions FOO_inline.
+ * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
+ * lib/gl_xsublist.c:
+ Reimplement from scratch, by defining the corresponding *_INLINE
+ macro and including the corresponding .h file. This is simpler.
+ * modules/list, modules/oset, modules/xlist, modules/xoset:
+ (Files): Remove m4/gl_list.m4.
+ (configure.ac): Remove gl_LIST.
+ * m4/gl_list.m4: Remove.
+ * modules/list, modules/oset, modules/xlist, modules/xoset:
+ * modules/xsublist:
+ (Depends-on): Depend on extern-inline, not inline.
+
+ xalloc: better 'inline'
+ * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
+ New macro. Replace all uses of 'static inline' with it.
+ (static_inline): Remove.
+ * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
+ Let 'extern inline' do the work automatically, instead of doing
+ it by hand.
+ * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
+ Remove. All uses removed.
+ * modules/xalloc (Depends-on): Remove 'inline'. Add 'extern-inline'.
+
+ gethrxtime: better 'inline'
+ * lib/xtime.c: New file.
+ * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
+ * lib/xtime.h (XTIME_INCLUDE):
+ New macros. Replace all uses of 'static inline' with them.
+ * lib/gethrxtime.c (gethrxtime): Define only if
+ ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
+ this source file is now always compiled, because of the extern inline.
+ * lib/gethrxtime.h, lib/xtime.h:
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
+ if gethrtime works, as they're not needed in that case.
+ (gl_XTIME): Do not require AC_C_INLINE.
+ (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
+ compiled now. Move the check into gl_GETHRXTIME.
+ * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
+ (Depends-on): Add extern-inline.
+ (configure.ac): gethrxtime is always compiled now.
+ (lib_SOURCES): Add gethrxtime.c.
+
+ wctype-h: better 'inline'
+ * lib/wctype-h.c: New file.
+ * lib/wctype.in.h (_GL_WCTYPE_INLINE):
+ New macro. Replace all uses of 'static inline' with it.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
+ * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
+ (Depends-on): Add extern-inline.
+
+ unistd: better 'inline'
+ * lib/unistd.c: New file.
+ * lib/unistd.in.h (_GL_UNISTD_INLINE):
+ New macro. Replace all uses of 'static inline' with it.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
+ * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
+ (Depends-on): Add extern-inline.
+
+ sys_socket: better 'inline'
+ * lib/sys_socket.c: New file.
+ * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
+ New macro. Replace all uses of 'static inline' with it.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
+ * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
+ (Depends-on): Add extern-inline.
+
+ stdio: better 'inline'
+ * lib/stdio.c: New file.
+ * lib/stdio.in.h (_GL_STDIO_INLINE):
+ New macro. Replace all uses of 'static inline' with it.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
+ * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
+ (Depends-on): Add extern-inline.
+
+ sigaction: better 'inline'
+ * lib/sig-handler.c: New file.
+ * lib/sig-handler.h (SIG_HANDLER_INLINE):
+ New macro. Replace all uses of 'static inline' with it.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
+ * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
+ (Depends-on): Add extern-inline.
+
+ selinux-h: better 'inline'
+ * lib/se-context.c, lib/se-selinux.c: New files.
+ * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
+ * lib/se-context.in.h (SE_CONTEXT_INLINE):
+ New macro. Replace all uses of 'static inline' with it.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * lib/se-selinux.in.h (SE_SELINUX_INLINE):
+ New macro. Replace all uses of 'static inline' with it.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * modules/selinux-h (Files, lib_SOURCES):
+ Add lib/se-context.c, lib/se-selinux.c.
+ (Depends-on): Add extern-inline.
+ (configure.ac): Do not require AC_C_INLINE.
+
+ pthread: better 'inline'
+ * lib/pthread.c: New file.
+ * lib/pthread.in.h (_GL_PTHREAD_INLINE):
+ New macro. Replace all uses of 'static inline' with it.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * m4/pthread.m4 (gl_PTHREAD_CHECK):
+ Add AC_LIBOBJ([pthread]). Do not require AC_C_INLINE.
+ * modules/pthread (Files): Add lib/pthread.c.
+ (Depends-on): Add extern-inline.
+
+ math: better 'inline'
+ * lib/math.c: New file.
+ * lib/math.in.h (_GL_MATH_INLINE):
+ New macro. Replace all uses of 'static inline' with it.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * m4/math_h.m4 (gl_MATH_H):
+ Do not require AC_C_INLINE.
+ * modules/math (Files, lib_SOURCES):
+ Add lib/math.c.
+ (Depends-on): Add extern-inline.
+
+ count-one-bits: better 'inline'
+ * lib/count-one-bits.c: New file.
+ * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
+ New macro. Replace all uses of 'static inline' with it.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
+ Do not require AC_C_INLINE.
+ * modules/count-one-bits (Files, lib_SOURCES):
+ Add lib/count-one-bits.c.
+ (Depends-on): Add extern-inline.
+
+ count-leading-zeros: better 'inline'
+ * lib/count-leading-zeros.c: New file.
+ * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
+ New macro. Replace all uses of 'static inline' with it.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
+ Do not require AC_C_INLINE.
+ * modules/count-leading-zeros (Files, lib_SOURCES):
+ Add lib/count-leading-zeros.c.
+ (Depends-on): Add extern-inline.
+
+ bitrotate: better 'inline'
+ * lib/bitrotate.c: New file.
+ * lib/bitrotate.h (BITROTATE_INLINE):
+ New macros.
+ Replace all uses of 'static inline' with them.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
+ (Depends-on): Add extern-inline.
+ (configure.ac): Do not require AC_C_INLINE.
+
+2012-11-20 Theophile Ranquet <ranquet@lrde.epita.fr>
+
+ maint.mk: avoid gratuitous failure
+ Reported by Stefano Lattarini in
+ <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
+ * top/maint.mk (public-submodule-commit): Quote more safely.
+
+2012-11-20 Eli Zaretskii <eliz@gnu.org>
+
+ canonicalize, canonicalize-lgpl: support MS-Windows file names
+ See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
+ for test cases, which it'd be nice to add at some point.
+ * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
+ * lib/canonicalize.c (canonicalize_filename_mode):
+ * lib/canonicalize-lgpl.c (__realpath):
+ Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
+ slash is at the beginning of the file name. Use ISSLASH, instead
+ of a literal '/'. Use IS_ABSOLUTE_FILE_NAME instead of comparing
+ the first character with '/'. Test for
+ DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
+ with a drive letter.
+ * lib/canonicalize.c (SLASHES): New macro.
+ (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
+
+2012-11-17 Dmitry V. Levin <ldv@altlinux.org>
+
+ fts: introduce FTS_VERBATIM
+ * lib/fts_.h (FTS_VERBATIM): New bit flag.
+ (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
+ * lib/fts.c (fts_open): Honor it.
+
+2012-11-09 Pádraig Brady <P@draigBrady.com>
+
+ getlogin-tests: allow errno == ENXIO
+ * tests/test-getlogin.c (main): Skip tests if getlogin fails
+ with errno == ENXIO (No controlling tty).
+ getlogin_r-tests: Likewise. Also allow errno == ENOENT
+ * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
+ with errno == ENOENT. This was reported to happen in various
+ situations on GNU/Linux.
+
+2012-11-09 Paul Eggert <eggert@cs.ucla.edu>
+
+ getlogin-tests: allow errno == ENOENT
+ * tests/test-getlogin.c (main): Skip tests if getlogin fails
+ with errno == ENOENT. This happened to me on Ubuntu 12.04.1 x86,
+ when running a test in an Emacs shell buffer.
+
+2012-11-08 Jim Meyering <jim@meyering.net>
+
+ tests/nap.h: avoid warning about unused variable
+ * tests/nap.h (nap_works): Remove now-unused declaration of "result".
+
+ prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
+ * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
+ white space before each of the special-cased file names, to avoid
+ adding "lib/" after $(libdir)/. Reported by Matias A. fonzo
+ in http://bugs.gnu.org/12830.
+
+2012-11-08 Paul Eggert <eggert@cs.ucla.edu>
+
+ fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
+ O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
+ fails with errno == EBADF when fd is opened with O_PATH.
+ Reported by Jim Meyering in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
+ * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
+ * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
+
+2012-11-07 Paul Eggert <eggert@cs.ucla.edu>
+
+ test-utimens: speed up by taking shorter naps
+ * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
+ New functions.
+ (nap): Use them, to do a better job of guessing the delay.
+ On Fedora 17 with ext4 atop md atop hard disks, this made
+ test-utimens run 10x faster, because the test napped for
+ 1 ms at a time rather than 20 ms. Reported by Stefano Lattarini in
+ <http://bugs.gnu.org/12820#11>.
+
+2012-11-07 Jim Meyering <jim@meyering.net>
+
+ mountlist.c: fix a compilation failure
+ * lib/mountlist.c (read_file_system_list): Fix a compilation failure
+ I introduced while transforming commit v0.0-7683-g613bcb6
+
+2012-11-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ errno: port to LynxOS 178 2.2.2
+ Problem reported by Joel Brobecker in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
+ * doc/posix-headers/errno.texi (errno.h): Document this.
+ * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
+ * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
+ Supply a string for EILSEQ.
+ * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
+
+2012-11-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
+ Linux kernel 2.6.39 introduced O_PATH (see
+ <http://lwn.net/Articles/433854/>) and this is a better fallback
+ for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
+ * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
+ * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
+ * lib/fcntl.in.h (O_ACCMODE):
+ * tests/test-fcntl-h.c (main):
+ Do not reject O_ACCMODE merely because it has more than the
+ minimal number of bits, as POSIX allows extensions here.
+
+2012-11-04 Andrew Warshall <warshall@99main.com> (tiny change)
+
+ mountlist: do not classify a bind-mounted dir entry as "dummy"
+ * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
+ the "none"-testing clause.
+ (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
+ exception for bind-mounted directories.
+
+2012-11-01 Akim Demaille <akim@lrde.epita.fr>
+
+ quote: provide a means to escape strings with nul characters
+ * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
+ (quote, quote_n): Rename formal arguments for consistency with
+ quotearg.
+
+2012-10-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ test-raise: don't assume 199 is an invalid signal
+ * tests/test-raise.c (main): Don't assume 199 is not a signal number.
+
+ sh-quote-tests: port to Solaris 9
+ * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
+ Problem reported by Dagobert Michelsen in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
+
+2012-10-28 Jim Meyering <jim@meyering.net>
+
+ maint.mk: rename a new configurable variable
+ * top/maint.mk (_gl_translatable_string_re): Rename from
+ translation-markers: _gl_ prefix to insulate from user Makefile code,
+ and the _re suffix to inform that it's a regular expression.
+
+2012-10-26 Eric Blake <eblake@redhat.com>
+
+ maint.mk: let packages tweak sc_po_check pattern
+ * top/maint.mk (sc_po_check): Add translation-markers, to allow
+ finding files with other translation markers.
+
+2012-10-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ euidaccess: speed up 'configure' on GNU hosts
+ * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
+ Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
+ it's needed only in this case. Use AC_CHECK_DECLS, not
+ AC_CHECK_DECLS_ONCE.
+ (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
+ or AC_REQUIRE for AC_FUNC_GETGROUPS.
+
+ * lib/regexec.c (re_search_internal): Fix grammar in comment.
+
+2012-10-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ fchmodat, fchownat, fstatat: port to non-inlining compilers
+ Problem reported for FreeBSD 9 by Jim Meyering in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
+ * lib/chmodat.c, lib/chownat.c, lib/statat.c:
+ New files, which define FCHMODAT_INLINE etc.
+ * lib/fchmodat.c (FCHMODAT_INLINE):
+ * lib/fchownat.c (FCHOWNAT_INLINE):
+ * lib/fstatat.c (FSTATAT_INLINE):
+ Remove, as chmodat.c etc. now do this.
+ * modules/fchmodat (Files): Add lib/chmodat.c.
+ * modules/fchownat (Files): Add lib/chownat.c.
+ * modules/fstatat (Files): Add lib/statat.c.
+
+2012-10-15 Jim Meyering <jim@meyering.net>
+
+ fchmodat.c, fchownat.c: compile-impeding typos
+ * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
+ * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
+ Introduced in commit v0.0-7636-gd202279.
+
+2012-10-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ fcntl-h: support GNU flags like O_IGNORE_CTTY
+ * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
+ O_NOLINK, and O_NOTRANS. These flags are nonzero on GNU/Hurd
+ systems. Discovered when using fcntl-h with GNU Emacs, which uses
+ O_IGNORE_CTTY. Fix misspelling of F_SETLKW.
+ * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
+ Define to 0 if not already defined.
+ * tests/test-fcntl-h.c: Test these new flags.
+
+2012-10-14 Paul Eggert <eggert@cs.ucla.edu>
+
+ faccessat, etc.: support AT_FDCWD-only use
+ * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
+ this function only if its first argument is AT_FDCWD.
+ Emacs wants faccessat for AT_EACCESS but not for any first-arg
+ values other than AT_FDCWD, so it doesn't want all the openat
+ machinery with fchdir etc.
+ * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
+ * modules/fstatat, modules/mkdirat, modules/openat (Files):
+ * modules/unlinkat (Files):
+ Remove lib/openat-priv.h, as at-internal supplies this file.
+ Removing this file here allows us to support programs like Emacs
+ that avoid at-internal.
+
+ faccessat: speed up 'configure' on mainstream hosts
+ * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
+ Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
+ since it's only on unusual platforms that we need to check for
+ 'access', and it's better not to slow 'configure' down on all
+ platforms.
+
+ faccessat: port to Solaris 10
+ * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
+ Needed on Solaris 10, which doesn't have AT_EACCESS,
+ so we need the Gnulib fcntl.h, which defines it.
+
+2012-10-14 Pádraig Brady <P@draigBrady.com>
+ canonicalize: fix C89 compilation
+ * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
+ declarations so C89 is supported. Also remove the comment
+ referencing memorty allocation as the suggested feature could
+ not be implemented as suggested.
+ Reported by Michael Goffioul.
+
+2012-10-12 Paul Eggert <eggert@cs.ucla.edu>
+
+ group-member: omit unnecessary dependencies
+ This is for Emacs, which has its own allocator and where we
+ don't want to use xalloc.
+ * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
+ since we no longer use xmalloc. Do not include stdbool.h, since
+ the changes below happen to remove the only use of bool.
+ (GROUPBUF_SIZE): New constant.
+ (struct group_info): Remove n_groups member. Add groupbuf member.
+ This lets us get the groups without using malloc, usually.
+ (free_group_info, get_group_info): Adjust to this.
+ (get_group_info): Return the number of groups found, or -1 on error.
+ Use plain malloc not xmalloc, and treat its failure as if there
+ are no groups, as the user already loses in case of error.
+ (group_member): Simplify, based on changes to get_group_info.
+ * modules/group-member (Depends-on): Remove dependencies on
+ xalloc and stdbool. Add dependency on xalloc-oversized.
+
+2012-10-08 Alexandre Duret-Lutz <adl@lrde.epita.fr> (tiny change)
+
+ gethrxtime: port to C++
+ * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
+
+2012-10-04 Paul Eggert <eggert@cs.ucla.edu>
+
+ ptsname: fix macro-name typo
+ * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
+
+2012-10-03 Simon Josefsson <simon@josefsson.org>
+
+ inttostr: Relax license.
+ * modules/inttostr (License): Change from LGPL to LGPLv2+.
+
+2012-10-03 Eric Blake <eblake@redhat.com>
+
+ ptsname_r: support ptys returned by FreeBSD posix_openpt
+ * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
+ lives in /dev/pts/.
+
+2012-10-02 Eric Blake <eblake@redhat.com>
+
+ pselect: reject invalid file descriptors
+ * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
+ * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
+ * modules/pselect (Depends-on): Add dup2.
+ * doc/posix-functions/pselect.texi (pselect): Document this.
+
+ select: reject invalid file descriptors
+ * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
+ * lib/select.c (rpl_select) [!win32]: Work around it.
+ * modules/select (Depends-on): Add dup2.
+ * doc/posix-functions/select.texi (select): Document this.
+
+ select: enhance test
+ * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
+ New functions.
+ (test_function): Enhance test.
+ (do_select_bad_fd): Avoid any stale errno values.
+
+ ptsname: reject invalid file descriptors
+ http://www.austingroupbugs.net/view.php?id=503
+ * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
+ * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
+ * modules/stdlib (Makefile.am): Replace witness.
+ * lib/stdlib.in.h (ptsname): Allow for replacement.
+ * modules/ptsname (configure.ac): Trigger replacement.
+ * doc/posix-functions/ptsname.texi (ptsname): Document this.
+
+2012-10-02: Nikos Mavrogiannopoulos <nmav@gnutls.org> (tiny change)
+
+ hash-pjw-bare: new module
+ * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
+ * lib/hash-pjw-bare.h: Likewise.
+ * modules/hash-pjw-bare: New file.
+ * MODULES.html.sh (Misc): Add it.
+
+2012-10-02 Eric Blake <eblake@redhat.com>
+
+ manywarnings: cater to more gcc infelicities
+ * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
+ -Wuninitialized without -O.
+
+2012-10-01 Ed Maste <emaste@freebsd.org> (tiny change)
+
+ select, poll tests: Make setsockopt invocation effective.
+ * tests/test-poll.c (open_server_socket): Move setsockopt() call before
+ the bind() call.
+ * tests/test-select.h (open_server_socket): Likewise.
+
+2012-09-30 Paul Eggert <eggert@cs.ucla.edu>
+
+ sockets, sys_stat: restore AC_C_INLINE
+ This undoes the 2012-09-22 patch.
+ * m4/sockets.m4 (gl_SOCKETS):
+ * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
+ Restore AC_C_INLINE, since MSVC requires __inline or _inline
+ and does not support plain 'inline'. Reported by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
+
+2012-09-30 Bruno Haible <bruno@clisp.org>
+
+ localeconv tests: Avoid test failure on OpenIndiana.
+ * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
+ skip the 'grouping' and 'mon_grouping' tests.
+ Reported by Jim Meyering.
+
+2012-09-30 Bruno Haible <bruno@clisp.org>
+
+ havelib: Follow libtool developments.
+ * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
+ Suggested by Simon Josefsson.
+
+2012-09-29 Jim Meyering <meyering@redhat.com>
+
+ fstatat.c: fix a compile-impeding typo
+ * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
+ Introduced in commit v0.0-7636-gd202279.
+ Mats Erik Andersson reported the resulting OpenBSD compilation failure.
+
+2012-09-28 Akim Demaille <akim@lrde.epita.fr>
+
+ extern-inline: provide a -Wundef safe config.h
+ * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
+ "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
+ to produce a -Wundef warning free config.h.
+
+2012-09-26 Paul Eggert <eggert@cs.ucla.edu>
+
+ hash-pjw: relax license to LGPLv2+
+ * modules/hash-pjw (License): Relax, with consent of author.
+
+2012-09-25 Akim Demaille <akim@lrde.epita.fr>
+
+ maint.mk: fix strict vs. lazy variable issues with RELEASE
+ * top/maint.mk (_equal): New function.
+ (member_check): Strip the result to avoid spurious spaces.
+ (url_dir_list): Do not use ifeq, which is strict, as it will
+ require RELEASE_TYPE to be defined.
+ (announcement_Cc_, announcement_mail_headers_): Likewise: instead
+ of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
+ (announcement_Cc_alpha,announcement_mail_headers_alpha)
+ (announcement_Cc_beta,announcement_mail_headers_beta)
+ (announcement_Cc_stable,announcement_mail_headers_stable): these.
+ (release): Do not depend on $(release-type), as it forces its
+ evaluation. Bounce to it.
+
+2012-09-25 Akim Demaille <akim@lrde.epita.fr>
+
+ maint.mk: formatting changes
+ * top/maint.mk: Indent bodies of if's.
+
+2012-09-21 Akim Demaille <akim@lrde.epita.fr>
+
+ maint.mk: factor the validation of RELEASE_TYPE
+ With help from Jim Meyering.
+ http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
+ * top/maint.mk (_empty, _sp): Move their definition earlier.
+ (member-check, release-type): New.
+ Use the latter instead of $(RELEASE_TYPE).
+ Remove now useless local checks.
+
+2012-09-20 Akim Demaille <akim@lrde.epita.fr>
+
+ maint.mk: provide "make upload" to ease uploading
+ See
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
+ Do not depend simply on the current $(VERSION), as there may have been
+ new commits since the tarball generation. Rather, rely on $(RELEASE),
+ as "make release-commit" already does.
+
+ For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
+ "make TYPE".
+
+ * top/maint.mk (upload_command, upload, release): New.
+ (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
+ (VERSION): first word of $(RELEASE) is always right.
+ (emit_upload_commands): Adjust.
+ * top/README-release: Update.
+
+2012-09-20 Akim Demaille <akim@lrde.epita.fr>
+
+ maint.mk: silent rules
+ With help from Stefano Lattarini.
+ * top/maint.mk (writable-files): Use $(AM_V_GEN).
+ (announcement): Use $(AM_V_at).
+
+2012-09-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ localename: port gl_locale_name_thread_unsafe to FreeBSD
+ * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
+ and use the simpler FreeBSD implementation on Mac OS X as well.
+ Original idea suggested by Ed Maste in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
+
+2012-09-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
+ * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
+ * lib/mbuiter.c, lib/xsize.c: New files.
+ * lib/binary-io.h (BINARY_IO_INLINE):
+ * lib/eealloc.h (EEALLOC_INLINE):
+ * lib/mbfile.h (MBFILE_INLINE):
+ * lib/mbiter.h (MBITER_INLINE):
+ * lib/mbuiter.h (MBUITER_INLINE):
+ * lib/xsize.h (XSIZE_INLINE):
+ New macros.
+ Replace all uses of 'static inline' with them.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * m4/eealloc.m4 (gl_EEALLOC):
+ * m4/mbfile.m4 (gl_MBFILE):
+ * m4/mbiter.m4 (gl_MBITER):
+ * m4/xsize.m4 (gl_XSIZE):
+ Do not require AC_C_INLINE.
+ * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
+ * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
+ * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
+ * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
+ * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
+ * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
+ * modules/binary-io, modules/eealloc, modules/mbfile:
+ * modules/mbiter, modules/mbuiter:
+ (Depends-on): Add extern-inline.
+
+ pipe-filter-gi, pipe-filter-ii: better use of 'inline'
+ * lib/pipe-filter-aux.c: New file.
+ * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
+ Replace all uses of 'static inline' with it.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
+ (filter_retcode): No real need for inline here.
+ * modules/pipe-filter-gi, modules/pipe-filter-ii:
+ (Files): Add lib/pipe-filter-aux.c.
+ (Depends-on): Add extern-inline.
+ (configure.ac): Do not require AC_C_INLINE.
+ (lib_SOURCES): Add pipe-filter-aux.c.
+
+ fdutimensat: omit unnecessary AC_C_INLINE
+ * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
+
+ fchmodat, fchownat, fstatat: use extern-inline
+ * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
+ * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
+ * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
+ New macros.
+ * lib/openat.h:
+ Replace all uses of 'static inline' with them.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * modules/fchmodat, modules/fchownat, modules/fstatat:
+ * modules/openat-h:
+ (Depends-on):
+ Add extern-inline.
+ (configure.ac): Remove AC_C_INLINE.
+
+ acl, mbchar, priv-set: use extern-inline
+ * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
+ * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
+ * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
+ New macros.
+ * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
+ Replace all uses of 'static inline' with it.
+ Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ * m4/acl.m4 (gl_FUNC_ACL):
+ * m4/mbchar.m4 (gl_MBCHAR):
+ * m4/priv-set.m4 (gl_PRIV_SET):
+ Remove AC_C_INLINE, since 'inline' is no longer used directly.
+ * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
+ Add extern-inline.
+
+ sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
+ * m4/sockets.m4 (gl_SOCKETS):
+ * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
+ Remove AC_C_INLINE. Here, 'inline' is used only in MSVC
+ environments where it's already guaranteed to work, so we needn't
+ check for it at 'configure'-time.
+
+ tls-tests: omit unnecessary 'inline'
+ * tests/test-tls.c (perhaps_yield): No longer inline.
+ Simplicity and portability trump efficiency in test cases.
+
+ utimens-tests: avoid unnecessary 'inline'
+ * modules/fdutimensat-tests (configure.ac):
+ * modules/futimens-tests (configure.ac):
+ * modules/utimens-tests (configure.ac):
+ * modules/utimensat-tests (configure.ac):
+ Remove AC_C_INLINE.
+ * tests/test-utimens-common.h (ctime_compare):
+ No longer inline. Simplicity and portability trump efficiency here.
+
+ misc: don't limit commentary to inline functions
+ * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
+ * lib/xalloc-oversized.h, lib/xsize.h:
+ Contrast macros to functions in general, not just to inline functions,
+ when the commentary does not apply only to inline functions.
+
+2012-09-20 Jim Meyering <meyering@redhat.com>
+
+ non-recursive-gnulib-prefix-hack: new module
+ * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
+ the file that originated in Bison.
+ * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
+ largely copied from a snippet that resided in bison's configure.ac.
+ * modules/non-recursive-gnulib-prefix-hack: New file.
+ * MODULES.html.sh (Support for maintaining and releasing projects):
+ Add it.
+
+2012-09-18 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: generalize _gl_tight_scope for non-recursive make
+ * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
+ that *.h would describe additional .h files in the directory
+ specified by $(_gl_TS_dir). I.e., add this...
+ (_gl_TS_other_headers): New variable.
+
+ maint.mk: exempt trailing blanks found in "binary" files
+ * top/maint.mk (sc_trailing_blank): Filter out any matches found in
+ "binary" files, as reported by grep. Suggested by Richard W.M. Jones
+ in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
+
+2012-09-17 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
+ * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
+ match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
+ in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
+
+2012-09-17 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: teach sc_prohibit_magic_number_exit to accept 77
+ * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
+ uses like "exit (77)". "77" is automake's "skip this test" exit code.
+ It is not in the same category as "exit (0)" or "exit (1)", and
+ besides, I know of no symbolic name for that 77. Reported by
+ Richard W.M. Jones in
+ http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
+
+2012-09-17 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
+ * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
+ all uses of #define, not just those that start in column 1.
+ Richard W.M. Jones reported a false positive in
+ http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
+
+2012-09-16 Paul Eggert <eggert@cs.ucla.edu>
+
+ localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
+ * lib/localcharset.c (locale_charset) [DARWIN7]:
+ Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
+ as these two values are incompatible. Problem reported by Max Horn.
+ For more discussion, please see
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
+
+ doc: document sticky-EOF issue
+ * doc/posix-functions/fgetc.texi (fgetc):
+ * doc/posix-functions/fgets.texi (fgets):
+ * doc/posix-functions/fread.texi (fread):
+ * doc/posix-functions/fscanf.texi (fscanf):
+ * doc/posix-functions/getc.texi (getc):
+ * doc/posix-functions/getchar.texi (getchar):
+ * doc/posix-functions/scanf.texi (scanf):
+ Mention that glibc and default Solaris do not conform to
+ C99 and POSIX-2001 or later, with respect to how getchar
+ etc. behave when feof reports nonzero.
+
+2012-09-13 Joachim Schmitz <jojo@schmitz-digital.de> (tiny change)
+
+ poll: fix poll(0, NULL, msec)
+ * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
+ but nfd is 0. In that case poll should behave like select.
+
+2012-09-13 Joachim Schmitz <jojo@schmitz-digital.de> (tiny change)
+ Paolo Bonzini <bonzini@gnu.org>
+
+ poll: fix for systems that can't recv() on a non-socket
+ * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
+ is readable. In this case POLLHUP will not be supported.
+ * doc/posix-functions/poll.texi: Document this.
+
+2012-09-13 Paolo Bonzini <bonzini@gnu.org>
+
+ poll/select: document portability problems not fixed by Gnulib.
+ * doc/posix-functions/poll.texi: poll does not work well on
+ pipes under Windows. It has the same limitations as select on
+ BeOS.
+ * doc/posix-functions/select.texi: select does not work well
+ on pipes under Windows.
+
+2012-09-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
+ * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
+ that caused a GNU tar test failure. Problem reported by Jez Wain; see
+ <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
+
+2012-09-06 Eric Blake <eblake@redhat.com>
+
+ net_if: give more details about the bug being fixed
+ * doc/posix-headers/net_if.texi: Add clarification.
+
+2012-09-05 Eric Blake <eblake@redhat.com>
+
+ net_if: new module
+ * modules/net_if: New module, borrowing ideas from netinet_in.
+ * m4/net_if_h.m4: New file.
+ * lib/net_if.in.h: Likewise.
+ * doc/posix-headers/net_if.texi (net/if.h): Document it.
+ * MODULES.html.sh (lacking POSIX:2008): Likewise.
+ * tests/test-net_if.c: Make function checks conditional.
+ Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
+
+2012-09-05 Mats Erik Andersson <gnu@gisladisker.se> (tiny change)
+
+ readutmp: fix non-portable UT_PID use
+ * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
+ Use `UT_PID (u) > 0' as absolute condition.
+
+2012-09-04 Jim Meyering <meyering@redhat.com>
+
+ fts: reduce two or more trailing spaces to just one, usually
+ * lib/fts.c (fts_open): Upon initialization, if a name ends in two
+ or more slashes, trim all but the final one. But if a name consists
+ solely of two slashes, don't modify it. If it consists solely of
+ three or more slashes, strip all but one.
+
+ This is part of the solution to a minor problem with rm:
+ it would print a bogus ELOOP diagnostic when failing to remove
+ the slash-decorated name of a symlink-to-directory:
+
+ $ mkdir d && ln -s d s && env rm -r s/
+ rm: cannot remove 's': Too many levels of symbolic links
+
+ With the change below and a trivial don't-trim-trailing-slashes
+ adjustment to remove.c, it does this:
+
+ $ env rm -r s/
+ rm: cannot remove 's/': Not a directory
+
+ Improved by: Eric Blake
+
+ fts: when there is no risk of overlap, use memcpy, not memmove
+ * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
+
+2012-08-29 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdbool: be more compatible with mixed C/C++ compiles
+ * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
+ Define to bool, true, false, respectively, as GCC's builtin
+ stdbool.h does. Problem reported by Michael Goffioul in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
+
+2012-08-28 Jim Meyering <meyering@redhat.com>
+
+ revert last change: it was not needed
+ * tests/test-vc-list-files-git.sh: There's already a test for
+ a working git, just below.
+
+2012-08-28 Jim Meyering <meyering@redhat.com>
+
+ tests: test-vc-list-files-git.sh: skip if git is not available
+ * tests/test-vc-list-files-git.sh: Skip this test when git is
+ not available.
+
+2012-08-26 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Remove no-op option --no-changelog.
+ * gnulib-tool (func_usage): Don't mention --no-changelog.
+ (do_changelog): Remove variable.
+ Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
+
+2012-08-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ doc: remove fdl-1.2.texi
+ It is no longer used or maintained, and its use of @acronym
+ is problematic. See the thread containing
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
+ * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
+ * doc/old-licenses/fdl-1.2.texi: Remove.
+
+ execinfo: port to FreeBSD
+ * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
+ if needed, as in FreeBSD. Reported by Bastien Roucariès in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
+ * modules/execinfo (Link): Add $(LIB_EXECINFO).
+
+2012-08-23 Jim Meyering <meyering@redhat.com>
+
+ xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
+ * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
+ to placate gcc's -Wold-style-declaration.
+
+2012-08-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ doc: do not use @acronym
+ * doc/inet_ntoa.texi (inet_ntoa):
+ * doc/parse-datetime.texi (Seconds since the Epoch)
+ (Specifying time zone rules):
+ * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
+ Don't use @acronym. Problem reported by John Darlington in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
+
+2012-08-23 Paul Eggert <eggert@cs.ucla.edu>
+
+ stdnoreturn: port to newer GCCs
+ * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
+ bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
+ Problem reported by Jim Meyering in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
+ Also, rename the 'test' function to a void a clash with the
+ already-supplied 'main' function; this fixes a bug that incorrectly
+ rejected GCC 4.7.1's <stdnoreturn.h>.
+ * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
+ Document GCC problem.
+
+2012-08-22 Reuben Thomas <rrt@sc3d.org>
+
+ pipe-filter: fix comment typo
+ * lib/pipe-filter.h: Mention correct function.
+
+2012-08-22 Paul Eggert <eggert@cs.ucla.edu>
+
+ execinfo: new module
+ This is for Emacs. Currently, it provides a no-effect stub
+ on all platforms where it does not already work.
+ It already works on glibc-based systems, and on Solaris 11.
+ * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
+ New files.
+ * doc/glibc-headers/execinfo.texi (execinfo.h):
+ * MODULES.html.sh (Misc): Document it.
+
+2012-08-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ extern-inline: support old GCC 'inline'
+ * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
+ if available. This applies to GCC versions 2.7 through 4.2, or
+ when newer GCC is using -fgnu89-inline. The goal is to address
+ some of the performance issues mentioned by Bruno Haible in
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
+
+2012-08-20 Eric Blake <eblake@redhat.com>
+
+ maint.mk: avoid redundant file name in message
+ * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
+ (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
+ (sc_makefile_path_separator_check): Remove bogus $(ME).
+
+2012-08-20 Mike Frysinger <vapier@gentoo.org>
+
+ timer-time: fix link order when static linking on glibc
+ * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
+ _after_ -lrt so that it's significant.
+
+2012-08-19 Paul Eggert <eggert@cs.ucla.edu>
+
+ timespec: omit unnecessary AC_C_INLINE
+ * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
+
+ stat-time: omit unnecessary AC_C_INLINE
+ * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
+ Do not require AC_C_INLINE.
+
+ ignore-value: omit unnecessary AC_C_INLINE
+ * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
+
+ sys_select: avoid 'static inline'
+ * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
+
+ mktime: avoid 'static inline'
+ * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
+ * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
+
+2012-08-19 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Improve coding style.
+ * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
+ func_emit_lib_Makefile_am.
+ Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
+
+2012-08-19 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Fix indentation.
+ * gnulib-tool (func_import): Fix indentation.
+
+2012-08-19 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Remove old file names from .cvsignore, .gitignore.
+ * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
+ on the list of removed files.
+
+2012-08-17 Paul Eggert <eggert@cs.ucla.edu>
+
+ test-parse-datetime: avoid glibc leap-second glitch
+ * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
+ with the 2012 rules. Problem reported by Bruce Dubbs in
+ <http://bugs.gnu.org/12206>.
+
+2012-08-14 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
+ * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
+ from argument.
+ Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
+
+2012-08-14 Eric Blake <eblake@redhat.com>
+
+ ldexp: relax license
+ * modules/ldexp (License): Trivial relax, since the module only
+ provides a permissively licensed m4 file.
+
+2012-08-13 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Fix persistence of --witness-c-macro option.
+ * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
+ Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
+
+2012-08-11 Eric Blake <eblake@redhat.com>
+
+ count-leading-zeros: use a lookup table on non-gcc compilers
+ * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
+ alternate implementation, suggested by Jim Meyering.
+
+2012-08-10 Eric Blake <eblake@redhat.com>
+
+ count-leading-zeros: new module
+ * modules/count-leading-zeros: New module.
+ * m4/count-leading-zeros.m4: New file.
+ * lib/count-leading-zeros.h: Likewise.
+ * modules/count-leading-zeros-tests: New test.
+ * tests/test-count-leading-zeros.c: New file.
+ * MODULES.html.sh (Integer arithmetic functions): Document it.
+
+2012-08-07 Simon Josefsson <simon@josefsson.org>
+ Jim Meyering <meyering@redhat.com>
+
+ maintainer-makefile: Fix syntax error with dash.
+ * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
+ (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
+
+2012-08-05 Jim Meyering <meyering@redhat.com>
+
+ extern-inline: also ignore -Wmissing-declarations
+ * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
+ required with gcc-4.8.0-to-be.
+
+ maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
+ * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
+ for /error ?([^,]*)/. This avoids false-positives for strings like
+ "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
+
+2012-08-02 Stefano Lattarini <stefano.lattarini@gmail.com>
+
+ gnumakefile: better interaction with Automake-NG
+ * modules/gnumakefile [Makefile.am]: The makefiles generated by
+ Automake-NG always contain a definition of VPATH, even in non-VPATH
+ builds (its value being simply '.' in that case). So, in the
+ 'clean-GNUmakefile' rule, to determine whether running under a
+ VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
+ '$(VPATH)' expands to the empty string.
+
+2012-08-02 Carlo de Falco <carlo.defalco@polimi.it> (tiny change)
+
+ base64: Use extern C scope in header file, for C++.
+ * lib/base64.h: Add C++ namespace protection.
+
+2012-08-02 Paul Eggert <eggert@cs.ucla.edu>
+
+ stat-time, timespec, u64: support naive out-of-dir builds
+ * lib/stat-time.c, lib/timespec.c, lib/u64.c:
+ Use '#include "foo.h"', not '#include <foo.h>', when including
+ one's own interface. This works better when configuring with
+ out-of-directory builds, since packages need not add an
+ otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
+
+2012-08-01 Paul Eggert <eggert@cs.ucla.edu>
+
+ utimens: use extern-inline
+ * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
+ * lib/utimens.h: Add copyright notice, since this is now large enough
+ to copyright. Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ (_GL_UTIMENS_INLINE): New macro. Use it instead of 'static inline'.
+ * modules/utimens (Depends-on): Add extern-inline.
+
+ u64: use extern-inline
+ * lib/u64.c: New file.
+ * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ (_GL_U64_INLINE): New macro. Use it instead of 'static inline'.
+ * modules/u64 (Files): Add lib/u64.c.
+ (Depends-on): Add extern-inline.
+ (configure.ac): No need to require AC_C_INLINE, since extern-inline
+ does that now.
+ (lib_SOURCES): Add u64.c.
+
+ timespec: use extern-inline
+ * lib/timespec.c: New file.
+ * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ (_GL_TIMESPEC_INLINE): New macro. Use it instead of 'static inline'.
+ * modules/timespec (Files): Add lib/timespec.c.
+ (Depends-on): Add extern-inline.
+ (lib_SOURCES): Add timespec.c.
+
+ stat-time: use extern-inline
+ * lib/stat-time.c: New file.
+ * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
+ (_GL_STAT_TIME_INLINE): New macro. Use it instead of 'static inline'.
+ * modules/stat-time (Files): Add lib/stat-time.c.
+ (Depends-on): Add extern-inline.
+ (lib_SOURCES): Add stat-time.c.
+
+ extern-inline: new module
+ * modules/extern-inline, m4/extern-inline.m4: New files.
+ This is for better support of 'extern inline' a la ISO C99,
+ with a portable alternative on compilers that do not support
+ C99-style 'extern inline'. Using 'extern inline' shrinks the size
+ of the Emacs executable, when compiled with debugging disabled,
+ which is a typical way that Emacs is built while developing.
+
+2012-08-01 Akim Demaille <akim@lrde.epita.fr>
+
+ maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
+ * build-aux/do-release-commit-and-tag: Move variable definitions
+ together.
+ ($branch): Instead of defaulting to "master", default to the current
+ branch (as gnu-web-doc-update does).
+ (help): Display the current values of the option arguments.
+ * top/maint.mk (release-commit): New.
+ * top/README-release: Simplify the corresponding step.
+
+2012-07-30 Eric Blake <eblake@redhat.com>
+
+ passfd: fix comment on recvfd
+ * lib/passfd.c (recvfd): Fix comment.
+ Reported by Jann Horn <jannhorn@googlemail.com>.
+
+2012-07-30 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: avoid a sub-shell
+ * top/maint.mk (release-prep): Remove unneeded sub-shell.
+
+2012-07-30 Akim Demaille <akim@lrde.epita.fr>
+
+ maint.mk: use silent-rules support from Automake
+ * top/maint.mk (news-check, vc-diff-check, announcement)
+ (no-submodule-changes, alpha beta stable, release-prep)
+ (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
+
+2012-07-30 Akim Demaille <akim@lrde.epita.fr>
+
+ maint.mk: provide a web-manual-update target
+ * top/maint.mk: here.
+ * top/README-release: Use it to simplify the web manual update step.
+
+2012-07-30 Akim Demaille <akim@lrde.epita.fr>
+
+ README-release: shorten the circuit to post a news
+ * top/README-release: Point directly to the news submission form.
+
+2012-07-30 Akim Demaille <akim@lrde.epita.fr>
+
+ gnu-web-doc-update: fix --help
+ * build-aux/gnu-web-doc-update: The information "top level" was written
+ twice.
+
+2012-07-30 Akim Demaille <akim@lrde.epita.fr>
+
+ maint.mk: absolute VPATH issue
+ * top/maint.mk (release-prep): Help Git find .git/.
+ From Jim Meyering.
+
+2012-07-29 Akim Demaille <akim@lrde.epita.fr>
+
+ gitlog-to-changelog: fix previous change
+ * build-aux/gitlog-to-changelog: Fix condition.
+ Add missing ";".
+
+2012-07-29 Akim Demaille <akim@lrde.epita.fr>
+
+ gitlog-to-changelog: don't expect .git to be in $srcdir
+ Reported by Bruno Haible.
+ <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
+ * build-aux/gitlog-to-changelog (&git_dir_option): New.
+ Use it.
+
+2012-07-29 Akim Demaille <akim@lrde.epita.fr>
+
+ maint.mk: absolute VPATH build fix
+ * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
+ $(srcdir) is not a parent of $(builddir).
+
+2012-07-28 John Darrington <john@darrington.wattle.id.au>
+
+ clean-temp: Fix memory leak.
+ * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
+ 'files' members of tmpdir.
+
+2012-07-27 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: new rule: refresh-gnulib-patches
+ I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
+ Use this rule to refresh them.
+ * top/maint.mk (refresh-gnulib-patches): New rule.
+
+2012-07-24 Bruno Haible <bruno@clisp.org>
+
+ gnulib-tool: Fix handling of inctests variable.
+ * gnulib-tool: Canonicalize $inctests also in 'update' mode.
+ Reported by Nick Bowler <nbowler@elliptictech.com>.
+
+2012-07-22 Bruno Haible <bruno@clisp.org>
+
+ getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
+ * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
+ * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
+ Remove exemption for getpass.h.
+ Suggested by Eric Blake.
+
+2012-07-20 Eric Blake <eblake@redhat.com>
+
+ verify: document conflict with -Wnested-externs
+ * lib/verify.h: Give hint about usage when gcc warnings are enabled.
+
+ maint.mk: forbid exit(-1)
+ * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
+
+2012-07-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ fsusage: port back to Solaris
+ * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
+ error (fsd not declared) on Solaris 10. Reported privately by
+ Andrew Borodin.
+
+2012-07-19 Akim Demaille <akim@lrde.epita.fr>
+
+ gnu-web-doc-update: fix error messages
+ * build-aux/gnu-web-doc-update: Don't pass $ME to die.
+
+ gnu-web-doc-update: check the requirements.
+ * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
+ ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
+ * build-aux/bootstrap (find_tool): Comment change.
+
+2012-07-17 Akim Demaille <akim@lrde.epita.fr>
+
+ maint.mk: minor simplication.
+ * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
+ for default values.
+
+2012-07-15 Akim Demaille <akim@lrde.epita.fr>
+
+ gitlog-to-changelog: VPATH build issues
+ If builddir is not a subdirectory of srcdir, running git from it will
+ fail.
+ * build-aux/gitlog-to-changelog (--srcdir): New option.
+
+2012-07-15 Bruno Haible <bruno@clisp.org>
+
+ fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
+ * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
+ * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
+ Remove exemption for fpending.h.
+ Suggested by Eric Blake.
+
+2012-07-15 Paul Eggert <eggert@cs.ucla.edu>
+
+ pthread_sigmask: fix bug on FreeBSD 9
+ * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
+ Include string.h.
+ (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
+ When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
+ this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
+ but pthread_sigmask (1729, NULL, NULL) returns zero.
+ See <http://bugs.gnu.org/11884>.
+ Avoid the need to call pthread_sigmask (1729, ...) in most cases,
+ by inspecting whether the main call changed the old mask.
+
+2012-07-15 Reuben Thomas <rrt@sc3d.org>
+
+ README-release: make it more legible
+ * top/README-release: Improve typography slightly.
+
+2012-07-15 Jim Meyering <meyering@redhat.com>
+
+ maint: require that each sc_... command start with "@"
+ * Makefile (sc_prohibit_sc_omitted_at): New rule so that
+ "make sc_maint" helps us avoid this nit.
+
+2012-07-15 Jim Meyering <meyering@redhat.com>
+
+ maint.mk: add leading "@" to quiet new "make syntax-check" rule
+ * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
+
+2012-07-13 Eric Blake <eblake@redhat.com>
+
+ maint.mk: new syntax check for HAVE_DECL checks
+ * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
+ * cfg.mk
+ (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
+ Exempt some false positives.
+ Based on a report by Karel Zak.
+
+ argp: make HAVE_DECL usage consistent
+ * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
+ macros, not whether they are defined.
+ * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
+ convention with other declaration checks.
+ Reported by Karel Zak, with suggestions from Paul Eggert.
+
+ stat-time: relax license to LGPLv2+
+ * modules/stat-time (License): Relax, with consent of all authors.
+
+ strndup: fix m4 usage error
+ * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
+ defined, to either 0 or 1.
+ Reported by Karel Zak.
+
+2012-07-11 Jim Meyering <meyering@redhat.com>
+
+ maint: enable the sc_avoid_if_before_free syntax-check rule
+ * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
+ (if_before_free_offenders_): Define.
+ (if_before_free_basename_re_): Define.
+ Exempt current files with useless if-before-free.
+
+2012-07-11 Paul Eggert <eggert@cs.ucla.edu>
+
+ gettext: do not assume '#define ... defined ...' behavior
+ * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
+ Do not use '#define FOO ... defined BAR ...', as the C standard says
+ it's not portable to expect that this works after macro expansion.
+ Problem reported for gzip by Steven M. Schweda in
+ <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
+
+2012-07-10 Paul Eggert <eggert@cs.ucla.edu>
+
+ getloadavg: clean out old Emacs and Autoconf cruft
+ See Glenn Morris in <http://bugs.gnu.org/11905>.
+ * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
+ Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
+ (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
+ * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
+
2012-07-10 Akim Demaille <akim@lrde.epita.fr>
bootstrap: let warn be like tests/init.sh's warn_
2011-07-06 Erik Faye-Lund <kusmabite@gmail.com>
poll: do not return 0 on timeout=-1
- * lib/poll.c: Loop with yield if no events occured
+ * lib/poll.c: Loop with yield if no events occurred.
2011-07-06 Eric Blake <eblake@redhat.com>
assume <ctype.h>, ..., <time.h> exist
For years gnulib has been assuming the existence of the headers
- <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
+ <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
<stdio.h>, <stdlib.h>, <string.h>, and <time.h>. Omit checks for
them, since they don't appear to be needed.
* README (Portability guidelines): Document this.
* lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
declaration for wcwidth.
- * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
+ * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
2006-06-28 Bruno Haible <bruno@clisp.org>
coding: utf-8
End:
- Copyright (C) 1997-2012 Free Software Foundation, Inc.
+ Copyright (C) 1997-2013 Free Software Foundation, Inc.
Copying and distribution of this file, with or without
modification, are permitted provided the copyright notice