view ChangeLog @ 17347:cec099cbf54f

putenv: port better to native Windows * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]: Define WIN32_LEAN_AND_MEAN and include <windows.h>. (_unsetenv): Use _putenv if available. (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's a bit less likely to cause damage. (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]: Fix the wrong value with SetEnvironmentVariable. (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV code better.
author Paul Eggert <eggert@cs.ucla.edu>
date Mon, 18 Feb 2013 19:38:13 -0800
parents e27f620a8d36
children 1fff19279ff9
line wrap: on
line source

2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>

	putenv: port better to native Windows
	* lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
	Define WIN32_LEAN_AND_MEAN and include <windows.h>.
	(_unsetenv): Use _putenv if available.
	(putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
	a bit less likely to cause damage.
	(putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
	Fix the wrong value with SetEnvironmentVariable.
	(putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
	code better.

2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>

	regex: ignore old-style-definition warnings
	* lib/regex.c: Add pragma to ignore these warnings.
	Problem reported for GNU tar by Pavel Raiskup.

2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>

	getcwd: support coreutils better
	Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
	but this might not be correct in coreutils, which disables
	the raw decl checks.  Problem reported by Nagendra in
	<http://bugs.gnu.org/10305#192>.
	* lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
	Test the getcwd function, not any macro, since getcwd.c wants the
	function.
	* m4/getcwd.m4 (gl_FUNC_GETCWD):
	Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
	compile, as might happen if there's a macro but no function.

	strtod: support coreutils better
	* lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
	HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
	disables the raw decl checks.  This assumes there is an underlying
	strtod, but that's a safe assumption these days.
	(HAVE_RAW_DECL_STRTOD): Remove; no longer used.

	mountlist: port to HP NonStop
	Reported by Joachim Schmitz in
	<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
	* lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
	(MNT_IGNORE) [MNTOPT_IGNORE]: Use it.

2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>

	extern-inline: avoid compilation error with HP-UX cc
	Reported by Richard Lloyd in
	<http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
	* m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
	Suppress extern inline with HP-UX cc.  This should be safe,
	though it may hurt performance.  Perhaps someone with some HP-UX
	experience can come up with a higher-performance fix.

2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>

	putenv: fix heap corruption with mixed putenv/_putenv
	Problem reported by Michael Goffioul in
	<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
	* lib/putenv.c (putenv) [HAVE__PUTENV]:
	Rely on _putenv to allocate the new environment.
	* m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
	* modules/putenv (configure.ac): Use it.

2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>

	unsetenv etc.: port to Solaris 11 + GNU Emacs
	* lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
	* lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
	* lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
	GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
	idea but is too painful to fix right now), and without this gnulib
	change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
	compiling unsetenv.c on Solaris 11.  Fix the problem for
	unsetenv.c, and fix other similar occurrences.

2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	secure_getenv: fix C++ declaration typo
	* lib/stdlib.in.h (secure_getenv): Fix typo with return type
	in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
	<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.

2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>

	careadlinkat: stop exporting careadlinkatcwd
	Only Emacs used it directly, and Emacs no longer needs it.
	* NEWS: Document this simplification.
	* lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
	and make it static.  Include <stdlib.h>, for abort, and unistd.h,
	for readlink.
	* lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
	Don't include stdlib.h; no longer needed.
	* lib/careadlinkat.h (careadlinkatcwd): Remove decl.
	* lib/relocwrapper.c: Adjust comment to match new dependencies.
	* modules/areadlink (Depends-on): Add readlink.
	(Maintainer): Add self.
	* modules/careadlinkat (Depends-on): Remove readlink.

	extensions: port better to HP-UX
	This is merged from git Autoconf.
	* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
	On hosts that need _XOPEN_SOURCE, define it when configuring, too,
	so that it's compatible with the value used when compiling.

	openpty: fix bug where HAVE_OPENPTY is mistakenly 1
	Problem reported by Mats Erik Andersson in
	<http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
	* m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
	openpty function exists, not merely when we intend to replace it.
	This corrects the 2013-01-31 patch, which mistakenly defined
	HAVE_OPENPTY even on hosts that lacked it.

2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>

	secure_getenv: fix include typo
	* lib/secure_getenv.c: Include config.h.  Somehow I forgot!

	secure_getenv: port better to FreeBSD and Solaris
	* lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
	Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
	(secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
	This works better on BSDish platforms.
	* m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
	Test for issetugid if __secure_getenv is missing.

2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>

	extensions: port better to MINIX 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
	MINIX, for MINIX 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_
	Reported by Jim Meyering.
	* build-aux/bootstrap (warn): Remove, replaced by...
	(warnf_, warn_): these.
	Adjust callers.
	Shorten messages that no longer fit in 80 columns.

2012-07-09  Bruno Haible  <bruno@clisp.org>

	getopt: Simplify after Emacs changed.
	* m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
	(gl_GETOPT_IFELSE): Remove macro.

2012-07-09  Jim Meyering  <meyering@redhat.com>

	maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
	* top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.

	maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
	Bugs in both of those conspired to make the
	sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
	_sc_search_regexp's handling of non-empty $in_files would filter
	out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
	choice of in_files value meant there would be no match in most
	projects, due to the presence of two or more Makefile.in files.
	* top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
	Fix a bug in how a non-empty $$in_files was processed:
	(sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
	in spite of the name, it's a regexp, not a list of file names.

2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>

	getloadavg, getopt: fix commentary re configure.in
	Autoconf is deprecating the name 'configure.in', so change it to
	to the new name 'configure.ac' in a couple of places.
	* lib/getloadavg.c: configure.in -> configure.ac, in comment.
	* m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
	(gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
	Emacs has renamed it to configure.ac, and it no longer refers
	to these macros anyway.

	timespec: mark functions with const attributes
	* lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
	Mark with _GL_ATTRIBUTE_CONST.

2012-07-07  Ludovic Courtès  <ludo@gnu.org>

	canonicalize[-lgpl]: handle "guessing" values when cross-building
	* m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
	(gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
	matches "*yes" instead of just "yes".  Regression introduced in commit
	e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.

2012-07-07  Ludovic Courtès  <ludo@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	canonicalize: make the right guess when cross-compiling to GNU
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
	determine whether cross-compiling to glibc systems, so as to
	include GNU/Hurd.

2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	timespec-sub: avoid duplicate include
	* lib/timespec-sub.c: Do not include <config.h> twice.
	Reported by Juanma Barranquero.

2012-07-06  Akim Demaille  <akim@lrde.epita.fr>

	bootstrap: use a more consistent error reporting scheme
	* build-aux/bootstrap (warn, die): New.
	Use them.

2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>

	sys_time: allow too-wide tv_sec
	* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
	timeval even if tv_sec is wider than time_t.  This allows
	OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
	as without this patch gnulib replaces struct timeval
	and OpenBSD futimes therefore has a type mismatch.
	* doc/posix-headers/sys_time.texi: Mention this.

	pthread: check for both pthread_create and pthread_join
	* m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
	alter the check so that it tests for both pthread_create and
	pthread_join.  This should be more portable to hosts like OSF/1 5.1.
	Suggested by Bruno Haible and Richard Yao in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.

	parse-datetime: doc tuneup
	* doc/parse-datetime.texi: Index "leap seconds" and fix minor
	spacing issues.

2012-07-05  Akim Demaille  <akim@lrde.epita.fr>

	do-release-commit-and-tag: fix the previous commit
	* build-aux/do-release-commit-and-tag: Actually the test was right,
	but the comment and the error message were misleading.
	Fix comment, and improve error message.
	Perform check first, so that NEWS is not modified uselessly.

	do-release-commit-and-tag: fix typo
	* build-aux/do-release-commit-and-tag: Be sure that NEWS does
	_not_ start with a stub.

2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>

	pthread: check for pthread_create, not pthread_join
	* m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
	pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
	pthread_join in libc.  I hope this removes the need for all the
	OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.

2012-07-04  Jim Meyering  <meyering@redhat.com>

	parse-datetime: fix failure to diagnose invalid input
	date -d "$(printf '\xb0')" would print 00:00:00 with today's date
	rather than diagnosing the invalid input.  Now it reports this:
	date: invalid date '\260'
	* lib/parse-datetime.y (to_uchar): Define.
	(yylex): Don't sign-extend "other" bytes.
	* m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
	Thanks to Bruno Haible for the patch to this file.
	* tests/test-parse-datetime.c (main): Add a test to trigger the bug.
	Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843

2012-07-03  Jim Meyering  <meyering@redhat.com>

	bootstrap: do not require now-removed build-aux/missing
	Now that build-aux/missing is, er, missing, bootstrap would
	silently fail.
	* build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
	from the list, now that (since commit v0.0-7489-gd0f486f) the file is
	no longer part of gnulib.
	Diagnose the failure.

2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>

	alloca: add support for HP NonStop TNS/E native
	* lib/alloca.in.h (alloca): Support the new host.
	From a suggestion by Joachim Schmitz in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.

2012-07-02  Pádraig Brady  <P@draigBrady.com>

	fsusage: remove code not needed on non GNU/Linux systems.

	* lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
	Don't include headers no longer needed in this case.
	* lib/fsusage.c [STAT_STATVFS &&
	! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
	STAT_STATFS2_FRSIZE to exclude code not used in this case.

2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>

	fsusage: include files needed for glibc 2.6 fallback
	* lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
	Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
	as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
	Problem reported by Ludovic Courtès in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.

	fsusage: avoid needless check on GNU/Linux
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
	on GNU/Linux systems, since it can't possibly work.

2012-07-01  Bruno Haible  <bruno@clisp.org>

	log: Fix an autoconf >= 2.64 warning.
	* modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
	Reported by Carlos O'Donell <carlos_odonell@mentor.com>.

2012-06-28  Bruno Haible  <bruno@clisp.org>

	log10f: Fix possible configuration problem.
	* m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
	$LOGF_LIBM.
	Reported by Carlos O'Donell <carlos_odonell@mentor.com>.

2012-06-28  Bruno Haible  <bruno@clisp.org>

	remove: No longer override on all platforms. Fixes bug from 2010-03-20.
	* m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
	not gl_cv_func_unlink_works.
	Reported by Carlos O'Donell <carlos_odonell@mentor.com>.

2012-06-27  Eric Blake  <eblake@redhat.com>

	config: drop scripts that automake says are not independent
	* config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
	* build-aux/elisp-comp: Delete.
	* build-aux/missing: Likewise.
	* build-aux/ylwrap: Likewise.
	* modules/elisp-comp: Likewise.
	* MODULES.html.sh: Drop mention of elisp-comp.
	* NEWS: Mention this.

2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>

	root-uid: new module
	This is for portability to Tandem's NonStop Kernel.
	* lib/root-uid.h, modules/root-uid: New files.
	* lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
	* lib/write-any-file.c, tests/test-sethostname2.c:
	Include "root-uid.h".
	* lib/euidaccess.c (euidaccess):
	* lib/pt_chown.c (main):
	* lib/unlinkdir.c (cannot_unlink_dir):
	* lib/write-any-file.c (can_write_any_file):
	* m4/mknod.m4 (gl_FUNC_MKNOD):
	* tests/test-sethostname2.c (geteuid, main):
	Don't assume ROOT_UID == 0.
	* modules/euidaccess (Depends-on):
	* modules/pt_chown (Depends-on):
	* modules/sethostname-tests (Depends-on):
	* modules/unlinkdir (Depends-on):
	* modules/write-any-file (Depends-on):
	Add root-uid.

	regex: use locale-independent comparison for codeset name
	See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
	* lib/regcomp.c (init_dfa): Use just ASCII case comparison
	for codeset name.
	* lib/regex_internal.h: Do not include <strings.h>, since we
	no longer use strcasecmp.
	* modules/regex (Depends-on): Remove strcase.

2012-06-23  Bruno Haible  <bruno@clisp.org>

	getopt-posix: No longer guarantee that option processing is resettable.
	* doc/posix-functions/getopt.texi: Drop description of problem with
	internal state. Fix info about mingw and msvc9.
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
	option processing by getopt(). Run three test programs instead of one.
	Simplify cross-compilation guess.
	* NEWS: Mention the change.
	Reported by Rich Felker <dalias@aerifal.cx>.

2012-06-26  Bruno Haible  <bruno@clisp.org>

	argp, regex: Ensure strcasecmp gets declared.
	* lib/argp-help.c: Include <strings.h>.
	* lib/regex_internal.h: Likewise.
	Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.

2012-06-24  Bruno Haible  <bruno@clisp.org>

	ptsname_r: Make it consistent with ptsname on AIX.
	* lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
	implementation as for OSF/1.
	* tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
	a pty master.

	ptsname_r: Make it consistent with ptsname on OSF/1.
	* lib/ptsname_r.c (__ptsname_r): Add a different implementation for
	OSF/1.

2012-06-24  Bruno Haible  <bruno@clisp.org>

	ttyname_r: Fix result on OSF/1, Solaris.
	* lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.

2012-06-24  Bruno Haible  <bruno@clisp.org>

	ptsname_r: Add support for Solaris.
	* lib/ptsname_r.c (__ptsname_r): Add a different implementation for
	Solaris.

	ptsname_r: Fix test failure on native Windows.
	* modules/ptsname_r (Depends-on): Add isatty.

	ptsname_r: Fix test failures on IRIX, Solaris.
	* m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
	errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
	accordingly.
	* lib/ptsname_r.c: Include <fcntl.h>.
	(__ptsname_r): When isatty returned false, then on IRIX, Solaris
	set errno if fd is invalid.
	* tests/test-isatty.c (main): Update comments.

2012-06-24  Bruno Haible  <bruno@clisp.org>

	ptsname test: Extend test.
	* tests/test-ptsname.c: Include <errno.h>.
	(main): Test behaviour with invalid file descriptor.

2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>

	time: fix obsolete comment
	* m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
	reference to HAVE_STRUCT_TIMESPEC in comment.

2012-06-23  Bruno Haible  <bruno@clisp.org>

	getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
	does not handle abbreviated long options with equivalent
	disambiguations, set gl_replace_getopt to yes.
	* doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.

2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>

	time_r: fix typo that always overrode localtime_r decl
	* m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
	AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
	not in a standard include.

2012-06-22  Bruno Haible  <bruno@clisp.org>

	Write "Mac OS X" instead of "MacOS X".
	* README: Write "Mac OS X" instead of "MacOS X".
	* build-aux/bootstrap: Likewise.
	* build-aux/install-reloc: Likewise.
	* lib/acl-internal.h: Likewise.
	* lib/acl_entries.c: Likewise.
	* lib/argp-ba.c: Likewise.
	* lib/argp-pv.c: Likewise.
	* lib/config.charset: Likewise.
	* lib/copy-acl.c: Likewise.
	* lib/csharpexec.c: Likewise.
	* lib/euidaccess.c: Likewise.
	* lib/fbufmode.c: Likewise.
	* lib/fflush.c: Likewise.
	* lib/file-has-acl.c: Likewise.
	* lib/filemode.h: Likewise.
	* lib/fpurge.c: Likewise.
	* lib/freadable.c: Likewise.
	* lib/freadahead.c: Likewise.
	* lib/freading.c: Likewise.
	* lib/freadptr.c: Likewise.
	* lib/freadseek.c: Likewise.
	* lib/fseeko.c: Likewise.
	* lib/fseterr.c: Likewise.
	* lib/fsusage.c: Likewise.
	* lib/fwritable.c: Likewise.
	* lib/fwriting.c: Likewise.
	* lib/get-rusage-as.c: Likewise.
	* lib/get-rusage-data.c: Likewise.
	* lib/getdomainname.c: Likewise.
	* lib/idpriv-drop.c: Likewise.
	* lib/idpriv-droptemp.c: Likewise.
	* lib/localcharset.c: Likewise.
	* lib/locale.in.h: Likewise.
	* lib/localename.c: Likewise.
	* lib/mbsrtowcs-state.c: Likewise.
	* lib/nproc.c: Likewise.
	* lib/passfd.c: Likewise.
	* lib/posix_openpt.c: Likewise.
	* lib/printf-parse.c: Likewise.
	* lib/progreloc.c: Likewise.
	* lib/safe-read.h: Likewise.
	* lib/safe-write.h: Likewise.
	* lib/sched.in.h: Likewise.
	* lib/set-mode-acl.c: Likewise.
	* lib/signal.in.h: Likewise.
	* lib/stdint.in.h: Likewise.
	* lib/stdio-impl.h: Likewise.
	* lib/stdlib.in.h: Likewise.
	* lib/strtod.c: Likewise.
	* lib/sys_select.in.h: Likewise.
	* lib/tcgetsid.c: Likewise.
	* lib/unistd.in.h: Likewise.
	* lib/unlockpt.c: Likewise.
	* lib/vasnprintf.c: Likewise.
	* lib/vma-iter.c: Likewise.
	* lib/wcsrtombs-state.c: Likewise.
	* m4/acl.m4: Likewise.
	* m4/acosl.m4: Likewise.
	* m4/asinl.m4: Likewise.
	* m4/atanl.m4: Likewise.
	* m4/c-stack.m4: Likewise.
	* m4/cosl.m4: Likewise.
	* m4/expl.m4: Likewise.
	* m4/extensions.m4: Likewise.
	* m4/fdatasync.m4: Likewise.
	* m4/fmal.m4: Likewise.
	* m4/frexp.m4: Likewise.
	* m4/frexpf.m4: Likewise.
	* m4/frexpl.m4: Likewise.
	* m4/fsusage.m4: Likewise.
	* m4/getdomainname.m4: Likewise.
	* m4/getloadavg.m4: Likewise.
	* m4/getopt.m4: Likewise.
	* m4/gettext.m4: Likewise.
	* m4/gnulib-common.m4: Likewise.
	* m4/intdiv0.m4: Likewise.
	* m4/intlmacosx.m4: Likewise.
	* m4/largefile.m4: Likewise.
	* m4/ldexpl.m4: Likewise.
	* m4/link-follow.m4: Likewise.
	* m4/locale-ar.m4: Likewise.
	* m4/locale-fr.m4: Likewise.
	* m4/locale-ja.m4: Likewise.
	* m4/locale-tr.m4: Likewise.
	* m4/locale-zh.m4: Likewise.
	* m4/locale_h.m4: Likewise.
	* m4/lock.m4: Likewise.
	* m4/logl.m4: Likewise.
	* m4/mathfunc.m4: Likewise.
	* m4/minus-zero.m4: Likewise.
	* m4/mktime.m4: Likewise.
	* m4/mmap-anon.m4: Likewise.
	* m4/multiarch.m4: Likewise.
	* m4/nanosleep.m4: Likewise.
	* m4/nocrash.m4: Likewise.
	* m4/poll.m4: Likewise.
	* m4/printf-frexpl.m4: Likewise.
	* m4/printf.m4: Likewise.
	* m4/signbit.m4: Likewise.
	* m4/sinl.m4: Likewise.
	* m4/sqrtl.m4: Likewise.
	* m4/strerror_r.m4: Likewise.
	* m4/tanl.m4: Likewise.
	* m4/threadlib.m4: Likewise.
	* m4/ttyname_r.m4: Likewise.
	* m4/unlink.m4: Likewise.
	* m4/visibility.m4: Likewise.
	* m4/wcwidth.m4: Likewise.
	* tests/minus-zero.h: Likewise.
	* tests/test-alloca-opt.c: Likewise.
	* tests/test-copy-acl.sh: Likewise.
	* tests/test-copy-file.sh: Likewise.
	* tests/test-fdatasync.c: Likewise.
	* tests/test-file-has-acl.sh: Likewise.
	* tests/test-flock.c: Likewise.
	* tests/test-fsync.c: Likewise.
	* tests/test-localename.c: Likewise.
	* tests/test-malloca.c: Likewise.
	* tests/test-nonblocking-pipe.h: Likewise.
	* tests/test-nonblocking-socket.h: Likewise.
	* tests/test-openpty.c: Likewise.
	* tests/test-posix_openpt.c: Likewise.
	* tests/test-ptsname.c: Likewise.
	* tests/test-ptsname_r.c: Likewise.
	* tests/test-sameacls.c: Likewise.
	* tests/test-select.h: Likewise.
	* tests/test-set-mode-acl.sh: Likewise.
	* tests/test-snprintf-posix.h: Likewise.
	* tests/test-sprintf-posix.h: Likewise.
	* tests/test-strtod.c: Likewise.
	* tests/test-time.c: Likewise.
	* tests/test-vasnprintf-posix.c: Likewise.
	* tests/test-vasprintf-posix.c: Likewise.
	* doc/acl-resources.txt: Likewise.
	* doc/**/*.texi: Likewise.
	Reported by Max Horn <max@quendi.de>.

2012-06-22  Bruno Haible  <bruno@clisp.org>

	grantpt: Relax requirement regarding invalid file descriptors.
	* lib/grantpt.c: Don't include <fcntl.h>.
	(grantpt): Don't verify the validity of the file descriptor.
	* modules/grantpt (Depends-on): Remove fcntl-h.
	* tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
	file descriptors.
	* doc/posix-functions/grantpt.texi: Document more platforms on which
	grantpt succeeds for invalid file descriptors.
	Reported by Rich Felker <dalias@aerifal.cx>.

2012-06-22  Bruno Haible  <bruno@clisp.org>

	fbufmode test: Don't test unportable behaviour.
	* tests/test-fbufmode.c (test_mode): New function, extracted from main.
	(main): Invoke it three times.
	Reported by Szabolcs Nagy <nsz@port70.net>
	and Rich Felker <dalias@aerifal.cx>.

2012-06-21  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Refactor inctests variable.
	* gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
	(func_modules_transitive_closure,
	func_modules_transitive_closure_separately,
	func_import, func_create_testdir): Update.

	gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
	* gnulib-tool: Accept option --without-tests.
	(func_usage): Document --without-tests option. Rearrange.
	(inctests): Normalize according to the mode.
	* NEWS: Mention the change.
	Suggested by Simon Josefsson.

2012-06-21  Bruce Korb  <bkorb@gnu.org>

	parse-duration test: Avoid spurious output.
	* tests/test-parse-duration.sh: Reindent with leading tabs.

2012-06-21  Jim Meyering  <meyering@redhat.com>

	maint: disable the strncpy prohibition
	* cfg.mk: Do not prohibit strncpy here.

2012-06-21  Bruno Haible  <bruno@clisp.org>

	nonblocking: Avoid compilation error on mingw64.
	* m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
	fscanf.
	* modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
	* modules/vfscanf (configure.ac): Likewise.
	* lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
	definition only if stdio.h has prepared it.
	Reported by Daniel P. Berrange <berrange@redhat.com>.

2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)

	gnulib-tool: Use readlink if it is available.
	* gnulib-tool (func_readlink): Choose function more appropriately.

2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>

	posixtm-tests: port to buggy compiler
	Problem reported by Simon Josefsson in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
	* modules/posixtm-tests (Depends-on): Add stdint.
	* tests/test-posixtm.c (struct posixtm_test.t_expected):
	Now of type int_least64_t, not int64_t, both because that's
	what INT64_C returns and because int_least64_t works even
	on 72-bit hosts.
	(T): Use INT64_C on constants outside the traditional int range,
	to work around compiler bug noted by Simon.

	mktime: fix integer overflow in 'configure'-time test
	* m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
	after integer overflow.  Problem reported by Rich Felker in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
	Also, don't look for further instances of a bug if we've already
	found one instance; this helps 'configure' run faster.

2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)

	tmpfile, clean-temp: Fix invocation of GetVersionEx.
	* lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
	GetVersionEx correctly.
	* lib/clean-temp.c (supports_delete_on_close): Likewise.

2012-06-20  Bruno Haible  <bruno@clisp.org>

	fdopen: Allow implementations that don't reject invalid fd arguments.
	* m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
	succeeds.
	Reported by Rich Felker <dalias@aerifal.cx>.

2012-06-20  Simon Josefsson  <simon@josefsson.org>

	* modules/parse-duration-tests (test_parse_duration_LDADD): Don't
	bring in LIBINTL.

2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>

	init.sh: do not rely on autoupated PWD
	This addresses symptoms of the problem reported by Nelson H.F. Beebe in
	<http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
	Although Nelson's bug was not necessarily fixed by this patch,
	it seems wise to make the change for safety.
	* tests/init.sh (path_prepend_): Do not rely on PWD updating
	automagically after 'cd'; this is not reliable on older shells.
	(setup_): Fail if we cannot cd to temporary directory.

2012-06-19  Bruno Haible  <bruno@clisp.org>

	stat, fstat: Avoid warnings on mingw64.
	* lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
	redefining.
	* lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
	Reported by Daniel P. Berrange <berrange@redhat.com>.

2012-06-19  Bruno Haible  <bruno@clisp.org>

	stdioext: Add support for musl libc.

	* m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
	* lib/fbufmode.c (fbufmode): Add conditional code for musl.

	* m4/fseterr.m4: New file.
	* lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
	function exists.
	* modules/fseterr (Files): Add m4/fseterr.m4.
	(configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
	__fseterr does not exist.
	(Makefile.am): Remove fseterr.c from lib_SOURCES.

	* lib/freadable.h: Update comment.

	* lib/fwritable.h: Update comment.

	* lib/freading.h: Update comment.

	* lib/fwriting.h: Update comment.

	* m4/freadahead.m4: New file.
	* lib/freadahead.h (freadahead): Define as an alias of __freadahead if
	that function exists.
	* modules/freadahead (Files): Add m4/freadahead.m4.
	(configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
	__freadahead does not exist.
	(Makefile.am): Remove freadahead.c from lib_SOURCES.

	* m4/freadptr.m4: New file.
	* lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
	function exists.
	* modules/freadptr (Files): Add m4/freadptr.m4.
	(configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
	__freadptr does not exist.
	(Makefile.am): Remove freadptr.c from lib_SOURCES.

	* m4/freadseek.m4: New file.
	* lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
	exists.
	* modules/freadseek (Files): Add m4/freadseek.m4.
	(configure.ac): Invoke gl_FUNC_FREADSEEK.

	* lib/fpurge.c (fpurge): Update comment.

	Reported by and with help from Rich Felker <dalias@aerifal.cx>.

2012-06-19  Bruno Haible  <bruno@clisp.org>

	*printf-posix: Put more info into config.log.
	* m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
	exit code into config.log.

2012-06-19  Bruno Haible  <bruno@clisp.org>

	getopt-gnu: Fix exit code overflow in autoconf test.
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
	to keep them below < 128.

2012-06-17  Jim Meyering  <meyering@redhat.com>

	maint.mk: fix typo in code to derive GPG key at release time
	* top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3

2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>

	regex: avoid warning when pointers are not long
	* lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
	and uintptr_t, not long, for portability to hosts where pointers and
	long have different sizes.  Issue noted by Daniel P. Berrange in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
	and fix suggested by Bruno Haible in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.

2012-06-17  Bruno Haible  <bruno@clisp.org>

	dummy: Relicense into the public domain.
	* modules/dummy (License): Set to "public domain".
	Suggested by Reuben Thomas.

2012-06-12  Akim Demaille  <akim@lrde.epita.fr>

	announce-gen: VPATH issues
	* build-aux/announce-gen (--srcdir): New option, used to trim the
	$srcdir part of the path from $builddir to NEWS.
	* top/maint.mk (announcement): Adjust.

2012-06-12  Akim Demaille  <akim@lrde.epita.fr>

	gnu-web-doc-update: VPATH builds
	* build-aux/gnu-web-doc-update (--builddir): New option.
	Revamp the handling of options.
	Prefer $(...) to `...`.
	Don't pass --tmpdir=. to mktemp, it is useless given that we specify
	the template, and it is GNU mktemp specific.
	Prefer set -e to long series of &&.
	Restore the initial git branch, not "master".
	Properly initialize submodules (don't rely only on bootstrap).
	Do not reconfigure blindly, use config.status.
	* top/README-release: Update instructions for gnu-web-doc-update.

2012-06-11  Jim Meyering  <meyering@redhat.com>

	maint.mk: revert most of the previous change re "all these"
	* top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
	For rationale, see the discussion at
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912

2012-06-10  Karl Berry  <karl@gnu.org>

	* build-aux/gnupload: with --dry-run, do not ask for gpg pw.

	* build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.

2012-06-10  Bruce Korb  <bkorb@gnu.org>

	parse-duration: Relicense under LGPLv2+.
	* modules/parse-duration (License): Change to LGPLv2+.

2012-06-10  Jim Meyering  <meyering@redhat.com>

	maint.mk: prohibit common grammar error: "all these"
	* top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
	the list of prohibited word sequences.  It should be "all of these".
	* lib/tempname.c (__gen_tempname): Fix one of them.

2012-06-07  Akim Demaille  <akim@lrde.epita.fr>

	do-release-commit-and-tag: support VPATH builds
	* build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
	(noteworthy): Defined earlier to factor its value.
	(noteworthy_stub): New.
	Use it to factor.
	(help_version): Split into...
	(help, version): these.
	Adjust the option processing part.
	Support "--option=value" in addition to "--option value".
	(builddir): New.
	(--builddir): New option.
	* top/README-release: Document this.
	Reword slightly so that the reader cannot understand that he
	has to do these steps before calling do-release-commit-and-tag.

2012-06-07  Akim Demaille  <akim@lrde.epita.fr>

	readme-release: also require announce-gen and maintainer-makefile
	* modules/readme-release (Depends-on): here.
	* modules/announce-gen, modules/do-release-commit-and-tag,
	modules/gnu-web-doc-update, modules/maintainer-makefile
	(Description): Point to readme-release.

2012-06-07  Akim Demaille  <akim@lrde.epita.fr>

	maint.mk: fix VPATH issues.
	* top/maint.mk (news-check): GNU Make understand $< very well.
	(release-prep): NEWS is in $(srcdir).

2012-06-05  Akim Demaille  <akim@lrde.epita.fr>

	readme-release: require the promoted modules.
	* modules/readme-release (Depends-on): Add
	do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
	in this text.

2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	error, strerror-override: Support mingw64 from Fedora 17.
	* lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
	for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
	EINPROGRESS.
	* lib/strerror-override.h (strerror_override): Test it.
	* lib/strerror-override.c (strerror_override): Likewise.
	* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.

2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	error, strerror-override: Support mingw64 from Fedora 17.
	* lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
	indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
	* lib/strerror-override.h (strerror_override): Test it.
	* lib/strerror-override.c (strerror_override): Likewise.

2012-06-03  Bruno Haible  <bruno@clisp.org>

	error, strerror-override: Support new errno values from POSIX:2008.
	* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
	ENOTRECOVERABLE.
	* lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
	platforms.
	* lib/strerror-override.c (strerror_override): Conditionalize the
	EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
	* lib/strerror-override.h (strerror_override): Declare also if
	GNULIB_defined_EOWNERDEAD is defined.
	* tests/test-errno.c (e130, e131): New variables.
	* doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
	ENOTRECOVERABLE.
	Reported by Paolo Bonzini.

2012-05-31  Jim Meyering  <meyering@redhat.com>

	savewd: add missing dependency on sys_wait module
	* modules/savewd (Depends-on): Add sys_wait, needed at least
	for MSVC.  Report and suggested change by Michael Goffioul.

2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>

	system-quote-tests: port to CentOS 5
	Problem reported by Tom G. Christensen in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
	* tests/test-system-quote-child.c (fclose, fprintf): Undef.

2012-05-29  Jim Meyering  <meyering@redhat.com>

	maint: fix typos in comments and ChangeLog
	Culprits identified and fixed mostly automatically using these commands:
	git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
	's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
	using http://github.com/lyda/misspell-check
	* ChangeLog: Fix typos.
	* doc/solaris-versions: Likewise.
	* lib/regexec.c (re_search_stub): Likewise.
	* m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.

2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: remove duplicate -Wmultichar entry
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
	entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
	so keep the entry marked as documented.

2012-05-27  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (mktime.c): remove last libc sync,
	perhaps just temporarily.

2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	regex: don't assume uint64_t or uint32_t
	* lib/regcomp.c (init_word_char): Don't assume that the types
	uint64_t and uint32_t exist.  The C standard doesn't guarantee
	them, and on some 32-bit compilers there is no uint64_t.
	Problem reported by Gianluigi Tiesi in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.

2012-05-25  Jim Meyering  <meyering@redhat.com>

	maint.mk: add strncpy-prohibiting syntax-check rule
	* top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.

2012-05-24  Jim Meyering  <meyering@redhat.com>

	maint.mk: compute $(gpg_key_ID) more portably
	* top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
	That use of sed is not portable to some fringe systems.
	Reported by Paul Eggert in
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802

2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>

	mktime: sync from glibc
	* config/srclist.txt: Uncomment mktime.c.
	* lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
	First, indent with tabs, since glibc uses tabs and doesn't want to
	change and we'd rather be identical to glibc.  Also, two small
	coding changes:
	(isdst_differ): Use &&, not &, as && is the usual style.
	(__mktime_internal): Rename local var from abs_diff to approx_abs_diff
	for clarity.

2012-05-23  Akim Demaille  <akim@lrde.epita.fr>

	announce-gen: du -h is more portable than du --human
	* build-aux/announce-gen (sizes): Invoke du with -h instead
	of --human.  Accept leading white space in its output.

2012-05-23  Akim Demaille  <akim@lrde.epita.fr>

	announce-gen: Improve diagnostics.
	* build-aux/announce-gen: When parsing command line options,
	prefer "announce-gen: option --release-type requires an argument"
	to "Option release-type requires an argument".

2012-05-23  Akim Demaille  <akim@lrde.epita.fr>

	maint.mk: gpg_key_ID: use sed more portably
	* top/maint.mk (gpg_key_ID): End sed block with a semicolon before
	the closing brace.
	(refresh-po): Fuse two sed invocations into one.

2012-05-15  Akim Demaille  <akim@lrde.epita.fr>

	gitlog-to-changelog: support the log message format used in Bison.
	* build-aux/gitlog-to-changelog: Support --strip-tab and
	--strip-cherry-picked.

2012-05-21  Paolo Bonzini  <bonzini@gnu.org>

	poll/select: prevent busy-waiting.  SwitchToThread() only gives away
	the rest of the current time slice to another thread in the current
	process. So if the thread that feeds the file decscriptor we're
	polling is not in the current process, we get busy-waiting.
	* lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
	Patch from Theodore Leblond.
	* lib/select.c: Split polling out of the loop that sets the output
	fd_sets.  Check for zero result and loop if the wait timeout is
	infinite.

2012-05-21  Simon Josefsson  <simon@josefsson.org>

	select: Fix build error on IRIX 6.5.
	* lib/select.c: Include stddef.h for NULL.

2012-05-21  Simon Josefsson  <simon@josefsson.org>

	gc: fix libgcrypt detection on older machines.
	* m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
	copyright years because the file has been distributed every year
	since it was created.

2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	crypto: fix bug in large buffer handling
	Problem reported by Serge Belyshev for glibc in
	<http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
	* lib/md4.c (md4_process_block):
	* lib/md5.c (md5_process_block):
	* lib/sha1.c (sha1_process_block):
	* lib/sha256.c (sha256_process_block):
	Don't assume the buffer length is less than 2**32.
	* lib/sha512.c (sha512_process_block): Likewise.
	Here, the bug is present only in the rare case where the host does
	not support uint64_t or where size_t is wider than 64 bits.
	Use u64size to work around the problems.
	* lib/u64.h (u64size): New macro.

2012-05-15  Pádraig Brady  <P@draigBrady.com>

	fsusage: fix block size returned on older Linux 2.6

	* lib/fsusage.c: Fall back to (struct statfs).f_frsize
	which is available since Linux 2.6.
	* m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
	when the member is available so it can be used as a fallback.
	* doc/posix-functions/statvfs.texi: Mention the hang issue
	on Linux < 2.6.36.

2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>

	bootstrap: suppress stderr chatter
	* build-aux/bootstrap (insert_sorted_if_absent, main program):
	Omit unnecessary chatter to stderr.  The main program chatter
	was there only inadvertantly.

	bootstrap: .gitignore files created by autopoint, libtool
	I ran into this problem when bootstrapping the latest diffutils.
	After './bootstrap', 'git status' reported lots of untracked files
	m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
	autopoint and do not need to be version-controlled.
	* build-aux/bootstrap: Put into .gitignore the files that
	autopoint and libtool create, by keeping track of files that exist
	after but not before these programs are run.
	(version_controlled_file): Move up.  2nd arg is now full file
	name, not base name; this is more convenient.  Put CVS at the end,
	as it's now somewhat deprecated.

2012-05-14  Jim Meyering  <meyering@redhat.com>

	ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
	* lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
	definition.  Reported by Bruno Haible.

2012-05-13  Bruno Haible  <bruno@clisp.org>
	    Paul Eggert  <eggert@cs.ucla.edu>

	binary-io: Define set_binary_mode function.
	* lib/binary-io.h (set_binary_mode): New function.
	(SET_BINARY): Define in terms of set_binary_mode.
	* modules/binary-io (configure.ac): Require AC_C_INLINE.
	* tests/test-binary-io.c (main): Accept an argument, and test either
	set_binary_mode or SET_BINARY depending on the argument.
	* tests/test-binary-io.sh: Invoke test-binary-io twice, with an
	argument. Clean up also t-bin-out0.tmp.

2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>

	bootstrap: take advantage of POSIX shell features

	The 'bootstrap' script offered by Gnulib script already uses POSIX
	shell features (like $((...)) arithmetic expansions) that are not
	supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
	means that bootstrap must already be run using a proper POSIX shell,
	which will thus provide more features, like ${var#pattern} parameter
	expansion or inversion of a command exit status with '!'.  We can
	thus use these features to improve the clarity and the performances
	of the bootstrap script.

	Suggested by Eric Blake.

	* build-aux/bootstrap: Prefer xpg4 parameter expansions over use
	of sed/expr plus command substitutions, to save some forks.  While
	we are at it, prefer the POSIX $(...) form of command substitution,
	rather than the legacy form `...` (since the former is visually
	clearer and interacts better with quoting), and prefer the idiom:
	  "if ! CMD; then ACTION ..."
	over the idiom:
	  "if CMD; then :; else ACTION ..."
	which was required by legacy Bourne shells not supporting '!'.

2012-05-12  Bruno Haible  <bruno@clisp.org>

	system-quote: Add more comments.
	* lib/system-quote.h: Add more comments about wilcards and limitations.
	Suggested by Eli Zaretskii <eliz@gnu.org>.

	sh-quote, system-quote: Add comments about wildcards.
	* lib/sh-quote.h: Clarify what happens with wildcard characters.
	* lib/system-quote.h: Likewise.
	Reported by Eli Zaretskii <eliz@gnu.org>.

2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>

	fsusage: check for GNU/Linux statvfs problem dynamically
	* lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
	Define STAT_STATFS2_BSIZE too, since in this case the code now
	checks dynamically whether statvfs is reliable, falling back on
	Linux-style statfs otherwise.
	(statvfs_works): New function, for dynamically testing statvfs.
	(get_fs_usage) [STAT_STATVFS]: Use it.
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
	statvfs on GNU/Linux hosts, since it's now done dynamically.

2012-05-10  Bruno Haible  <bruno@clisp.org>

	system-quote, execute, spawn-pipe: Escape '?' on Windows.
	* lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
	'?' character.
	* lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
	* tests/test-system-quote-main.c (check_all): Check also strings like
	"??????????".
	Reported by Eli Zaretskii <eliz@gnu.org>.

2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>

	_Noreturn: port config.h to gcc -Wundef
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
	defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.

2012-05-10  Bruno Haible  <bruno@clisp.org>

	system-quote: Refactor.
	* lib/system-quote.h (system_quote_copy): Fix comment.
	* lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
	New functions, extracted from system_quote_copy.
	(system_quote_length, system_quote_copy): Use these functions.
	Reported by Paul Eggert.

2012-05-08  Bruno Haible  <bruno@clisp.org>

	execute, spawn-pipe: Escape '*' characters in arguments on Windows.
	* lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.

2012-05-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'system-quote'.
	* modules/system-quote-tests: New file.
	* tests/test-system-quote.sh: New file.
	* tests/test-system-quote-main.c: New file.
	* tests/test-system-quote-child.c: New file.

	New module 'system-quote'.
	* lib/system-quote.h: New file.
	* lib/system-quote.c: New file.
	* modules/system-quote: New file.

2012-05-08  Bruno Haible  <bruno@clisp.org>

	sh-quote: Make C++ safe and allow multiple inclusion.
	* lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
	declarations in extern "C".

2012-05-08  Bruno Haible  <bruno@clisp.org>

	sh-quote tests: Make tests stricter.
	* tests/test-sh-quote.c (check_one): Check the return value of
	shell_quote_copy.
	(main): Check a string with a CR character. Check a string that
	contains UCHAR_MAX.

2012-05-08  Akim Demaille  <akim@lrde.epita.fr>

	warnings.m4: provide a means to specify the program to compile.
	* m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
	(gl_WARN_ADD): here.
	Use gl_AS_VAR_APPEND.
	Support an argument to specify the program to compile.
	(gl_WARN_ADD): Accept an argument to specify the program to compile.
	AC_SUBST the WARN_CFLAGS when they are used.
	* modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
	leave this to gl_WARN_ADD.

2012-05-08  Eric Blake  <eblake@redhat.com>

	doc: recommendations on gettext version
	* doc/gnulib-tool.texi (gettextize and autopoint): Document the
	choice between versions.
	* DEPENDENCIES (gettext): Cover both approaches.

2012-05-08  Jim Meyering  <meyering@redhat.com>

	init.sh: explain why EXEEXT support uses aliases rather than functions
	* tests/init.sh: Add a comment.

	init.sh: don't let bash aliases interfere with tests
	* tests/init.sh: Undefine any pre-defined aliases if the selected shell
	is bash.  This avoids problems for those who alias standard commands to
	non-conforming uses, like those reported in http://bugs.gnu.org/11256.
	Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.

2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>

	stdint: be more consistent with glibc, SunOS libc
	* lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
	(gl_int_fast16_t, gl_uint_fast16_t)
	(gl_int_fast32_t, gl_uint_fast32_t)
	(INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
	(INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
	(INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
	Be consistent with glibc by default, and with SunOS 5.10 and later
	if __sun is defined.  This lessens the likelihood of clashes if
	code compiled for older hosts is combined with code compiled for
	newer ones.  Problem reported by Niels Möller in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.

2012-05-07  Eric Blake  <eblake@redhat.com>

	isatty: relax license to LGPLv2+
	* modules/isatty (License): Relax license.

2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>

	stat-size: comment fix
	* lib/stat-size.h: Remove obsolete comment about indenting.

2012-05-06  Bruno Haible  <bruno@clisp.org>

	Tests for module 'sh-quote'.
	* modules/sh-quote-tests: New file.
	* tests/test-sh-quote.c: New file.

2012-05-06  Bruno Haible  <bruno@clisp.org>

	sh-quote: Improve shell_quote_argv's signature.
	* lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
	* lib/sh-quote.c (shell_quote_argv): Likewise.

2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>

	stdint: document issues with int_fast8_t etc.
	* doc/posix-headers/stdint.texi (stdint.h): Say that other
	stdint.h substitutes may define these types differently.  See
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.

2012-05-05  Bruno Haible  <bruno@clisp.org>

	nanosleep: Avoid guessing wrong when cross-compiling to Linux.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
	cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
	or 'guessing no (mishandles large arguments)'.

2012-05-05  Bruno Haible  <bruno@clisp.org>

	link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
	* m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
	AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
	set gl_cv_func_link_follows_symlink to "guessing no".

2012-05-05  Bruno Haible  <bruno@clisp.org>

	tzset: Avoid guessing wrong when cross-compiling to glibc systems.
	* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
	cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
	"guessing no".
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.

2012-05-05  Bruno Haible  <bruno@clisp.org>

	d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
	* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
	AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
	set gl_cv_struct_dirent_d_ino to "guessing yes".

2012-05-05  Bruno Haible  <bruno@clisp.org>

	fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
	* m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
	cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
	"guessing yes".

2012-05-05  Bruno Haible  <bruno@clisp.org>

	signbit: Avoid "guessing no" when cross-compiling to glibc systems.
	* m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
	compiling to a glibc system, set gl_cv_func_signbit and
	gl_cv_func_signbit_gcc to "guessing yes".

2012-05-05  Bruno Haible  <bruno@clisp.org>

	strerror: Avoid "guessing no" when cross-compiling to glibc systems.
	* m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
	cross-compiling to a glibc platform, set gl_cv_func_working_strerror
	to "guessing yes".
	(gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
	to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".

2012-05-05  Bruno Haible  <bruno@clisp.org>

	canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
	AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
	gl_cv_func_realpath_works to "guessing yes".

2012-05-05  Bruno Haible  <bruno@clisp.org>

	gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
	AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.

2012-05-04  Bruno Haible  <bruno@clisp.org>

	Tweak last commit.
	* m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
	* m4/unistd_h.m4 (gl_UNISTD_H): Likewise.

2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>

	unistd_h: make it easier to avoid sys_types_h
	This is useful for Emacs, which has its own method of porting to
	Windows, and which therefore does not need the sys_types_h module.
	* m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
	code moved here from gl_SYS_TYPES_H.
	* m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
	using the code directly.
	* m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
	gl_SYS_TYPES_H.
	* modules/sys_types (Files):
	* modules/unistd (Files): Add m4/off_t.m4.

2012-05-03  Bruno Haible  <bruno@clisp.org>

	lstat: Avoid "guessing no" when cross-compiling to glibc systems.
	* m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
	compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
	"guessing yes" or "guessing no".
	(gl_FUNC_LSTAT): Update.
	* m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
	* m4/openat.m4 (gl_FUNC_OPENAT): Update.
	* m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.

2012-05-03  Bruno Haible  <bruno@clisp.org>

	*alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
	cross-compiling, choose the first alternative on glibc systems.
	* modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.

2012-05-03  Bruno Haible  <bruno@clisp.org>

	getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
	* m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
	(gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.

2012-05-03  Bruno Haible  <bruno@clisp.org>

	chown: Avoid "guessing no" when cross-compiling to glibc systems.
	* m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.

2012-05-03  Bruno Haible  <bruno@clisp.org>

	Avoid "guessing no" guesses when cross-compiling to glibc systems.
	* m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
	* m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
	* m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
	* m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
	* m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_chown_slash_works,
	gl_cv_func_chown_ctime_works to "guessing yes".
	* m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
	* m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
	* m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_open_directory_works to
	"guessing yes".
	* m4/fstat.m4 (gl_FUNC_FSTAT): Update.
	* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
	cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
	"guessing yes".
	* m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
	* m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_floorf_ieee to
	"guessing yes".
	* m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
	* m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
	* m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
	* m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
	cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
	"guessing yes".
	* m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
	* m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_hypotf_ieee to
	"guessing yes".
	* m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_hypotl_ieee to
	"guessing yes".
	* m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
	* m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
	* m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
	* m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
	* m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_log10f_ieee to
	"guessing yes".
	* m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
	* m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_log1pf_ieee to
	"guessing yes".
	* m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_log1pl_ieee to
	"guessing yes".
	* m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
	* m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
	* m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
	gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
	* m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_mkfifo_works to
	"guessing yes".
	* m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_mknod_works to
	"guessing yes".
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
	cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
	"guessing yes".
	* m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
	* m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
	* m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
	* m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_svid_putenv to
	"guessing yes".
	* m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
	cross-compiling to glibc systems, set gl_cv_func_readlink_works to
	"guessing yes".
	* m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
	cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
	"guessing yes".
	* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
	When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
	to "guessing yes".
	* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
	When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
	to "guessing yes".
	* m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_rmdir_works to
	"guessing yes".
	* m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
	gl_cv_func_unlink_parent_fails to "guessing yes".
	* m4/remove.m4 (gl_FUNC_REMOVE): Update.
	* m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
	gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
	gl_cv_func_rename_dest_works to "guessing yes".
	* m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_roundf_ieee to
	"guessing yes".
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_roundl_ieee to
	"guessing yes".
	* m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_setenv_works to
	"guessing yes".
	(gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_unsetenv_works to
	"guessing yes".
	* m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_sleep_works to
	"guessing yes".
	* m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_stat_file_slash to
	"guessing yes".
	* m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
	cross-compiling to glibc systems, set gl_cv_func_symlink_works to
	"guessing yes".
	* m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
	* m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_truncf_ieee to
	"guessing yes".
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_truncl_ieee to
	"guessing yes".
	* m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_usleep_works to
	"guessing yes".
	* m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
	compiling to glibc systems, set gl_cv_func_futimesat_works to
	"guessing yes".

2012-05-03  Bruno Haible  <bruno@clisp.org>

	Say "guessing yes" or "guessing no" when cross-compiling.
	* m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
	gl_cv_func_dup2_works to "guessing yes" or "guessing no".
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
	gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
	* m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
	am_cv_func_working_getline to "guessing yes" or "guessing no".
	* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
	gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
	(gl_FUNC_MEMMEM): When cross-compiling, set
	gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
	gl_cv_func_stpncpy to "guessing yes" or "guessing no".
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
	set gl_cv_func_strcasestr_works_always to "guessing yes" or
	"guessing no".
	(gl_FUNC_STRCASESTR): When cross-compiling, set
	gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
	* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
	gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
	(gl_FUNC_STRSTR): When cross-compiling, set
	gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
	* m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
	gl_cv_func_strtod_works to "guessing yes" or "guessing no".
	* m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
	gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".

2012-05-01  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
	* m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
	* build-aux/reloc-ldflags: Likewise.
	Suggested by Steven Chamberlain <steven@pyro.eu.org>.

2012-05-01  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Remove transitional code.
	* gnulib-tool: Don't warn about --import with 0 arguments any more.
	Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.

2012-05-01  Bruno Haible  <bruno@clisp.org>

	getcwd: Fix misindentation.
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.

2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>

	exclude: process exclude and include directives in order
	This restores the pre-2009 behavior, and is part of a fix of a
	grep bug reported by Quentin Arce in
	<http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
	* lib/exclude.c (struct exclude): Remove 'tail' member.
	(new_exclude_segment): Prepend the new segment instead of appending.
	Return void, since that's now more convenient.
	(file_pattern_matches): Renamed from excluded_file_pattern_p.
	(file_name_matches): Renamed from excluded_file_name_p.
	(file_pattern_matches, file_name_matches):
	Return true if the pattern matches, not if it excludes.
	All callers changed.
	(excluded_file_name): Process the list in reverse order;
	since the list is now reversed this restores the pre-2009 behavior.
	(add_exclude): Adjust to new reversed-order list.  Use local var
	rather than macro, for clarity.
	* tests/test-exclude7.sh: Adjust to corrected behavior.

	exclude: handle wildcards with FNM_NOESCAPE and with trailing \
	* lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
	it's not possible here.  Handle the case of \ at end of pattern
	without dumping core.
	(add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.

	_Noreturn: future-proof non-GNU and non-MSVC compilers
	* build-aux/snippet/_Noreturn.h (_Noreturn):
	* m4/gnulib-common.m4 (gl_COMMON_BODY):
	Do not define _Noreturn if __STDC_VERSION__ indicates this is
	C11 or later.  This is more likely to work with random future C
	compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.

	exclude: handle wildcards with FNM_EXTMATCH
	* lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
	'+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
	comment that "has wildcards" really means "has or may have
	wildcards".  Simplify by avoiding the need to call strcspn.

2012-04-29  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix list of authors.
	* gnulib-tool (func_version): Add Paul Eggert to list of authors.

2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>

	bootstrap: support Automake-NG in $buildreq
	* bootstrap (check_versions): Handle automake and aclocal from
	Automake-NG specially.  They can be specified as respectively
	the "automake-ng" and "aclocal-ng" requirements.

2012-04-25  Eric Blake  <eblake@redhat.com>

	bootstrap: only force latest Makefile.in.in for gettext module
	* build-aux/bootstrap (with_gettext): Only install latest
	Makefile.in.in for projects requesting bleeding edge gettext.

2012-04-22  Bruno Haible  <bruno@clisp.org>

	doc: Mention reason for replacement on glibc/Linux systems.
	* doc/posix-functions/dprintf.texi: Mention the problem with special
	'long double' values.
	* doc/posix-functions/fprintf.texi: Likewise.
	* doc/posix-functions/printf.texi: Likewise.
	* doc/posix-functions/snprintf.texi: Likewise.
	* doc/posix-functions/sprintf.texi: Likewise.
	* doc/posix-functions/vdprintf.texi: Likewise.
	* doc/posix-functions/vfprintf.texi: Likewise.
	* doc/posix-functions/vprintf.texi: Likewise.
	* doc/posix-functions/vsnprintf.texi: Likewise.
	* doc/posix-functions/vsprintf.texi: Likewise.
	* doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
	platforms with F_DUPFD_CLOEXEC problems.
	* doc/posix-functions/glob.texi: Mention which platforms are affected
	by the problem with symbolic links.
	* doc/posix-functions/linkat.texi: Mention the problem with
	AT_SYMLINK_FOLLOW on Linux.

2012-04-22  Bruno Haible  <bruno@clisp.org>

	pwrite: Don't replace on all platforms.
	* m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.

2012-04-22  Bruno Haible  <bruno@clisp.org>

	rint* tests: Avoid gcc warnings.
	* tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
	* tests/test-rintf.c (INFINITY, NAN): Likewise.
	* tests/test-rintl.c (INFINITY, NAN): Likewise.

2012-04-21  Bruno Haible  <bruno@clisp.org>

	users.txt: Update.
	* users.txt: Add freedink, wdiff. Update URLs for projects that have
	switched from CVS to git, bzr, or svn.

2012-04-21  Bruno Haible  <bruno@clisp.org>

	Large File Support for native Windows platforms.

	* m4/largefile.m4 (gl_LARGEFILE): New macro.
	* modules/largefile (configure.ac): Require gl_LARGEFILE.

	* lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
	type.
	* m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
	* modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
	* doc/posix-headers/sys_types.texi: Mention the effect of the
	'largefile' module.

	* lib/fcntl.in.h: Add comments about off_t.
	* modules/fcntl-h (Depends-on): Add sys_types.

	* lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
	(ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
	* m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
	(gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
	* modules/unistd (Depends-on): Add sys_types.
	(Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.

	* lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
	instead of lseek.
	* m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
	REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
	* modules/lseek (Depends-on): Add sys_types.

	* lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
	msvc-nothrow.h.
	(SetFileSize): New function.
	(ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
	* m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
	if Large File Support is requested.
	* modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
	(Depends-on): Add sys_types, msvc-nothrow. Update conditions.

	* lib/stdio.in.h: Add comments about off_t.
	* modules/stdio (Depends-on): Add sys_types.

	* lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
	instead of ftello.
	* m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
	REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
	(gl_PREREQ_FTELLO): New macro.
	* modules/ftello (Depends-on): Add sys_types.
	(configure.ac): Incoke gl_PREREQ_FTELLO.

	* lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
	instead of fseeko.
	* m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
	REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
	(gl_PREREQ_FSEEKO): New macro.
	* modules/fseeko (Depends-on): Add sys_types.
	(configure.ac): Invoke gl_PREREQ_FSEEKO.

	* lib/sys_stat.in.h: Add comments about off_t.
	(stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
	64-bit integer for st_size in 'struct stat'.
	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
	Define _GL_WINDOWS_64_BIT_ST_SIZE.
	* modules/sys_stat (Depends-on): Add sys_types.
	(Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.

	* lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
	instead of stat or _stat.

	* lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
	'struct _stati64' instead of fstat and 'struct stat'.
	* m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
	REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.

	Reported by Ray Satiro <raysatiro@yahoo.com>.

2012-04-19  Eric Blake  <eblake@redhat.com>

	bootstrap: accommodate older libtool
	* build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
	Reported by Daniel P. Berrange.

2012-04-19  Jim Meyering  <meyering@redhat.com>

	announce-gen: avoid failure due to lack of Digest::SHA1
	Even with the preferred Digest::SHA available, this script
	would fail when the backup module, Digest::SHA1, was not installed.
	* build-aux/announce-gen: Quote the conditional use of "use".
	Reported by Reuben Thomas in:
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444

	bootstrap: don't let a user's CDPATH setting affect this script
	When CDPATH is set, cd will sometimes generate output.
	When "cd" is run in a subshell whose output matters, that
	surprising-to-some output can cause malfunction.
	Unsetting CDPATH turns off this shell "feature."
	* build-aux/bootstrap (CDPATH): Unset.
	Reported by Reuben Thomas in:
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
	and inspired by his patch here:
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440

2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
	and Jim Meyering  <meyering@redhat.com>

	maint.mk: catch "see @xref{}" and similar
	* top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
	prohibit "See also @xref{", "Also see @pxref{", and similar.

2012-04-16  Jim Meyering  <meyering@redhat.com>

	bootstrap: really use gnulib's po/Makefile.in.in
	* build-aux/bootstrap: Correct the source file name in previous change.
	Reported by Akim Demaille.

	configmake: correct minor inconsistency in Makefile rule
	* modules/configmake (Makefile.am): All other rules like this one
	run the final "mv -f ..." in the same backslash-continued command
	as the one that does everything else.  This one put the mv -f ...
	command on a separate, non-backslash-continued line.
	Make it like the others.

	bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
	* build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
	the one from gettext.  Reported by Akim Demaille.

2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>

	Fix recursion of install-* into po directories.
	Bison's install-pdf bug reported by Hans Aberg at
	<http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
	* build-aux/po/Makefile.in.in (install-dvi, install-html)
	(install-info, install-pdf, install-ps): New targets.

2012-04-16  Jim Meyering  <meyering@redhat.com>

	maint: avoid spurious "make sc_maint" failure
	* cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
	exempt all *.class file names, for lib/javaversion.class.

2012-04-15  Bruno Haible  <bruno@clisp.org>

	lseek: Make configure test independent of environment.
	* m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
	Windows, we know that lseek() on pipes is broken; skip the runtime
	test.

2012-04-14  Bruno Haible  <bruno@clisp.org>

	stat: Bypass buggy override in mingw64.
	* m4/stat.m4 (gl_FUNC_STAT): Update comments.
	* lib/stat.c (stat) [mingw64]: Define to _stat.
	* doc/posix-functions/stat.texi: Mention mingw64 bug.

2012-04-14  Bruno Haible  <bruno@clisp.org>

	pathmax: Fix compilation error on MSVC 9.
	* modules/pathmax (Depends-on): Add unistd.

2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>

	README: document pointer comparison assumption
	* README (Portability guidelines): Document assumption about
	pointer comparisons, in response to a recent bug-gnulib comment by
	Jeffrey Kegler.

2012-04-12  Bruno Haible  <bruno@clisp.org>

	Tests for module 'getrusage'.
	* modules/getrusage-tests: New file.
	* tests/test-getrusage.c: New file.

	New module 'getrusage'.
	* lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
	warn-on-use.h.
	(getrusage): New declaration.
	* lib/getrusage.c: New file.
	* m4/getrusage.m4: New file.
	* m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
	is declared.
	(gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
	HAVE_GETRUSAGE.
	* modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
	snippet/c++defs, snippet/warn-on-use.
	(Makefile.am): Update generation of sys/resource.h. Substitute
	GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
	* modules/getrusage: New file.
	* doc/posix-functions/getrusage.texi: Mention the new module.

2012-04-12  Bruno Haible  <bruno@clisp.org>

	Tests for module 'sys_resource'.
	* modules/sys_resource-tests: New file.
	* tests/test-sys_resource.c: New file.

	New module 'sys_resource'.
	* lib/sys_resource.in.h: New file.
	* m4/sys_resource_h.m4: New file.
	* modules/sys_resource: New file.
	* doc/posix-headers/sys_resource.texi: Mention the new module.

2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)

	ioctl: Fix compilation error on mingw.
	* lib/ioctl.c: Include <windows.h>.
	Also reported by Ray Satiro <raysatiro@yahoo.com>.

2012-04-04  Jim Meyering  <meyering@redhat.com>

	regex: correct #pragma guard expression
	* lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
	not 4.3.  Correct its cpp guard expression.

2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>

	regex: remove unnecessary type punning
	Problem reported by Vladimir Serbinenko in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
	* lib/regex.h (struct re_pattern_buffer): Change the type of
	__REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
	Fix comment to match code.
	* lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
	(re_compile_internal, free_workarea_compile, analyze, lower_subexp)
	(parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
	* lib/regexec.c (regexec, re_search_stub, re_search_internal)
	(set_regs):
	Omit no-longer-necessary casts.

2012-04-03  Bruno Haible  <bruno@clisp.org>

	Tests for module 'ilogbl'.
	* modules/ilogbl-tests: New file.
	* tests/test-ilogbl.c: New file.

	New module 'ilogbl'.
	* lib/math.in.h (ilogbl): New declaration.
	* lib/ilogbl.c: New file.
	* m4/ilogbl.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
	* modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
	Split sed invocation, to avoid the limit of 100 substitutions of
	HP-UX 'sed'.
	* modules/ilogbl: New file.
	* tests/test-math-c++.cc: Check the declaration of ilogbl.
	* doc/posix-functions/ilogbl.texi: Mention the new module.

2012-04-03  Bruno Haible  <bruno@clisp.org>

	Tests for module 'ilogbf'.
	* modules/ilogbf-tests: New file.
	* tests/test-ilogbf.c: New file.

	New module 'ilogbf'.
	* lib/math.in.h (ilogbf): New declaration.
	* lib/ilogbf.c: New file.
	* m4/ilogbf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
	REPLACE_ILOGBF.
	* modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
	REPLACE_ILOGBF.
	* modules/ilogbf: New file.
	* tests/test-math-c++.cc: Check the declaration of ilogbf.
	* doc/posix-functions/ilogbf.texi: Mention the new module.

2012-04-03  Bruno Haible  <bruno@clisp.org>

	Tests for module 'ilogb'.
	* modules/ilogb-tests: New file.
	* tests/test-ilogb.c: New file.
	* tests/test-ilogb.h: New file, based on tests/test-logb.h and
	tests/test-logb-ieee.h.

	New module 'ilogb'.
	* lib/math.in.h (ilogb): New declaration.
	* lib/ilogb.c: New file.
	* m4/ilogb.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
	REPLACE_ILOGB.
	* modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
	REPLACE_ILOGB.
	* modules/ilogb: New file.
	* tests/test-math-c++.cc: Check the declaration of ilogb.
	* doc/posix-functions/ilogb.texi: Mention the new module.

2012-04-03  Bruno Haible  <bruno@clisp.org>

	math: Provide FP_ILOGB0 and FP_ILOGBNAN.
	* lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
	* tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
	(main): Check their values.
	* doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
	problem.

2012-04-03  Bruno Haible  <bruno@clisp.org>

	Tests for module 'logbl-ieee'.
	* modules/logbl-ieee-tests: New file.
	* tests/test-logbl-ieee.c: New file.

	New module 'logbl-ieee'.
	* modules/logbl-ieee: New file.

	Tests for module 'logb-ieee'.
	* modules/logb-ieee-tests: New file.
	* tests/test-logb-ieee.c: New file.

	New module 'logb-ieee'.
	* modules/logb-ieee: New file.

	Tests for module 'logbf-ieee'.
	* modules/logbf-ieee-tests: New file.
	* tests/test-logbf-ieee.c: New file.
	* tests/test-logb-ieee.h: New file.

	New module 'logbf-ieee'.
	* modules/logbf-ieee: New file.

2012-04-03  Bruno Haible  <bruno@clisp.org>

	Tests for module 'logbl'.
	* modules/logbl-tests: New file.
	* tests/test-logbl.c: New file.

	New module 'logbl'.
	* lib/math.in.h (logbl): New declaration.
	* lib/logbl.c: New file.
	* m4/logbl.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
	REPLACE_LOGBL.
	* modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
	REPLACE_LOGBL.
	* modules/logbl: New file.
	* tests/test-math-c++.cc: Check the declaration of logbl.
	* doc/posix-functions/logbl.texi: Mention the new module.

2012-04-02  Bruno Haible  <bruno@clisp.org>

	Tests for module 'logbf'.
	* modules/logbf-tests: New file.
	* tests/test-logbf.c: New file.

	New module 'logbf'.
	* lib/math.in.h (logbf): New declaration.
	* lib/logbf.c: New file.
	* m4/logbf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
	REPLACE_LOGBF.
	* modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
	REPLACE_LOGBF.
	* modules/logbf: New file.
	* tests/test-math-c++.cc: Check the declaration of logbf.
	* doc/posix-functions/logbf.texi: Mention the new module.

2012-04-02  Bruno Haible  <bruno@clisp.org>

	logb tests: More tests.
	* tests/test-logb.h: New file, based on tests/test-logb.c and
	tests/test-frexp.h.
	* tests/test-logb.c: Include minus-zero.h, test-logb.h.
	(main): Just invoke test_function.
	* modules/logb-tests (Files): Add tests/test-logb.h,
	tests/minus-zero.h, tests/randomd.c.
	(Makefile.am): Add randomd.c to test_logb_SOURCES.

	logb: Provide replacement and workarounds.
	* lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
	is 1.
	* lib/logb.c: New file.
	* m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
	(gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
	* modules/math (Makefile.am): Substitute REPLACE_LOGB.
	* modules/logb (Files): Add lib/logb.c.
	(Depends-on): Add isfinite, frexp, isnand.
	(configure.ac): Compile the replacement code logb.c if needed.
	* tests/test-math-c++.cc: Check the declaration of logb.
	* doc/posix-functions/logb.texi: Mention the replacement and the bug
	with subnormal numbers.

2012-04-02  Bruno Haible  <bruno@clisp.org>

	log10* tests: Speed up.
	* tests/test-log10.h (test_function): Reduce amount of random numbers
	to test.

2012-04-01  Bruno Haible  <bruno@clisp.org>

	logf-ieee: Fix test whether logf works.
	* m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.

2012-04-01  Bruno Haible  <bruno@clisp.org>

	log10l: Work around log10l-ieee test failure on IRIX 6.5.
	* lib/log10l.c: Include <float.h>
	(log10l): On IRIX, normalize the +Infinity value.
	* modules/log10l (Depends-on): Add 'float'.
	* doc/posix-functions/log10l.texi: Mention the IRIX problem with
	+Infinity.

	log10f-ieee: Work around test failure on NetBSD 5.1.
	* m4/log10f-ieee.m4: New file.
	* m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
	test whether log10f works with a negative argument. Replace it if not.
	* lib/log10f.c (log10f): For negative arguments, return NaN.
	* modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
	(configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
	* doc/posix-functions/log10f.texi: Mention the log10f-ieee module.

	log10f-ieee: Work around test failure on Solaris 9.
	* modules/log10f-ieee (Depends-on): Add log10-ieee.
	(configure.ac): Require gl_FUNC_LOG10F.

	log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
	* m4/log10-ieee.m4: New file.
	* m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
	whether log10 works with a negative argument. Replace it if not.
	* lib/log10.c (log10): For negative arguments, return NaN.
	* modules/log10-ieee (Files): Add m4/log10-ieee.m4.
	(configure.ac): Invoke gl_FUNC_LOG10_IEEE.
	* doc/posix-functions/log10.texi: Mention the log10-ieee module.

	Tests for module 'log10l-ieee'.
	* modules/log10l-ieee-tests: New file.
	* tests/test-log10l-ieee.c: New file.

	New module 'log10l-ieee'.
	* modules/log10l-ieee: New file.

	Tests for module 'log10-ieee'.
	* modules/log10-ieee-tests: New file.
	* tests/test-log10-ieee.c: New file.

	New module 'log10-ieee'.
	* modules/log10-ieee: New file.

	Tests for module 'log10f-ieee'.
	* modules/log10f-ieee-tests: New file.
	* tests/test-log10f-ieee.c: New file.
	* tests/test-log10-ieee.h: New file.

	New module 'log10f-ieee'.
	* modules/log10f-ieee: New file.

2012-04-01  Bruno Haible  <bruno@clisp.org>

	log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
	* lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
	* lib/log10l.c (log10l): If log10l exists, use it and provide just the
	workaround.
	* m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
	(gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
	* modules/math (Makefile.am): Substitute REPLACE_LOG10L.
	* modules/log10l (configure.ac): Consider REPLACE_LOG10L.
	(Depends-on): Update conditions.
	* doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
	IRIX 6.5, OSF/1 5.1 problems.

2012-04-01  Bruno Haible  <bruno@clisp.org>

	log10f: Work around OSF/1 5.1 bug.
	* lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
	* lib/log10f.c (log10f): If logf exists, use it and provide just the
	workaround.
	* m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
	(gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
	* modules/math (Makefile.am): Substitute REPLACE_LOG10F.
	* modules/log10f (configure.ac): Consider REPLACE_LOG10F.
	(Depends-on): Update conditions.
	* doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.

2012-04-01  Bruno Haible  <bruno@clisp.org>

	log10: Work around OSF/1 5.1 bug.
	* lib/math.in.h (log10): New declaration.
	* lib/log10.c: New file.
	* m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
	(gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
	* m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
	* modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
	* modules/log10 (Files): Add lib/log10.c.
	(Depends-on): Add math.
	(configure.ac): If REPLACE_LOG10 is 1, compile an override.
	* tests/test-math-c++.cc: Check the declaration of log10.
	* doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.

2012-03-31  Bruno Haible  <bruno@clisp.org>

	log10l tests: More tests.
	* modules/log10l-tests (Files): Add tests/test-log10l.h,
	tests/minus-zero.h, tests/randoml.c.
	(Makefile.am): Add randoml.c to test_log10l_SOURCES.
	* tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
	(main): Invoke test_function.

	log10f tests: More tests.
	* modules/log10f-tests (Files): Add tests/test-log10.h,
	tests/minus-zero.h, tests/randomf.c.
	(Makefile.am): Add randomf.c to test_log10f_SOURCES.
	* tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
	(main): Invoke test_function.

	log10 tests: More tests.
	* tests/test-log10.h: New file.
	* modules/log10-tests (Files): Add tests/test-log10.h,
	tests/minus-zero.h, tests/randomd.c.
	(Makefile.am): Add randomd.c to test_log10_SOURCES.
	* tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
	(main): Invoke test_function.

2012-03-31  Simon Josefsson  <simon@josefsson.org>

	fflush: Fix syntax error.
	* lib/fflush.c: Include unused-parameter.h, needed for
	_GL_UNUSED_PARAMETER.
	* modules/fflush (Depends-on): Add snippet/unused-parameter.

2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>

	regex: pacify GCC when compiling GRUB
	* lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
	a diagnostic.  Reported by Vladimir Serbinenko in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.

2012-03-29  Eric Blake  <eblake@redhat.com>

	stdio: don't assume gets any more
	* m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
	support.
	* modules/stdio (Makefile.am): Likewise.
	* lib/stdio-read.c (gets): Likewise.
	* tests/test-stdio-c++.cc: Likewise.
	* m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
	* lib/stdio.in.h (gets): Make warning occur in more places.
	* doc/posix-functions/gets.texi (gets): Update documentation.
	Reported by Christer Solskogen.

	maint.mk: fix syntax checks without exclusions
	* top/maint.mk (_sc_search_regexp): Allow for empty variable.
	Reported by Daniel P. Berrange.

	strerror_r: avoid compiler warning
	* lib/strerror_r.c (strerror_r): Hoist extern declaration to top
	level.

	fflush: avoid compiler warning
	* lib/fflush.c (update_fpos_cache): Mark variables that are
	potentially unused.

2012-03-25  Bruno Haible  <bruno@clisp.org>

	Tests for module 'localeconv'.
	* modules/localeconv-tests: New file.
	* tests/test-localeconv.c: New file.

	New module 'localeconv'.
	* lib/locale.in.h (localeconv): New declaration.
	* lib/localeconv.c: New file.
	* m4/localeconv.m4: New file.
	* m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
	REPLACE_LOCALECONV.
	* modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
	REPLACE_LOCALECONV.
	* modules/localeconv: New file.
	* modules/nl_langinfo (Depends-on): Add localeconv.
	* modules/human (Depends-on): Likewise.
	* doc/posix-functions/localeconv.texi: Mention the new module.

2012-03-25  Bruno Haible  <bruno@clisp.org>

	locale: Provide a complete 'struct lconv'.
	* m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
	'struct lconv' does not contain int_p_cs_precedes.
	* tests/test-locale.c (main): Check that 'struct lconv' is complete.
	* doc/posix-headers/locale.texi: Update.

	locale: Provide a complete 'struct lconv' on Solaris 10, 11.
	* m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
	* doc/posix-headers/locale.texi: Update.

	locale: Provide a working 'struct lconv'.
	* lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
	* m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
	'struct lconv' does not even contain decimal_point.
	(gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
	* modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
	* tests/test-locale.c (main): Check that 'struct lconv' is complete.
	* doc/posix-headers/locale.texi: Mention the problems with
	'struct lconv'.
	Reported by Gianluigi Tiesi <sherpya@netfarm.it>.

2012-03-24  Bruno Haible  <bruno@clisp.org>

	Enable common subexpression optimization in GCC.
	* lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
	macros.
	* lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
	GCC attribute 'const'.
	(uc_locale_language): Declare with GCC attribute 'pure'.
	* lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
	with GCC attribute 'const'.
	* lib/unictype.in.h (uc_is_general_category_withtable,
	uc_combining_class, uc_combining_class_name,
	uc_combining_class_long_name, uc_bidi_class_name,
	uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
	uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
	uc_decimal_value, uc_digit_value, uc_numeric_value,
	uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
	uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
	uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
	uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
	uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
	uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
	Declare with GCC attribute 'const'.
	(uc_general_category_name, uc_general_category_long_name,
	uc_general_category_byname, uc_general_category,
	uc_is_general_category, uc_combining_class_byname,
	uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
	uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
	Declare with GCC attribute 'pure'.
	* lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
	uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
	u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
	u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
	with GCC attribute 'pure'.
	* lib/uninorm.in.h (uc_composition): Declare with GCC attribute
	'const'.
	(uninorm_decomposing_form): Declare with GCC attribute 'pure'.
	* lib/unistr.in.h (): Declare with GCC attribute 'const'.
	(u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
	u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
	u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
	u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
	u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
	u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
	u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
	u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
	u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
	u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
	u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
	GCC attribute 'pure'.
	* lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
	'const'.
	* lib/uniwidth.in.h (uc_width): Simplify declaration.
	(u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
	u32_strwidth): Declare with GCC attribute 'pure'.

	Enable common subexpression optimization in GCC.
	* lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
	(alphasort): Declare with GCC attribute 'pure'.
	* lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
	(atoll): Declare with GCC attribute 'pure'.
	* lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
	mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
	mbsspn, strverscmp): Declare with GCC attribute 'pure'.
	* lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
	(btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
	wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
	wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.

2012-03-24  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Avoid unintended error output from 'cmp'.
	* gnulib-tool (func_add_file, func_update_file, func_import): Use
	"cmp -s", not "cmp > /dev/null".

2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>

	gnulib-tool: fix imprecise comments w.r.t. an automake bug

	It's not just Automake versions < 1.9b that creates an empty
	pkgdatadir at installation time if pkgdata_DATA is specified
	to empty; modern automake versions do this as well, at least
	until automake 1.11.4 (not yet released at the moment of writing,
	but soon to appear).  That behaviour was generally considered a
	feature rather than a bug, at least until this discussion:
	<http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>

	See also automake bugs #10997 and #11030.

	* gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
	reference to relevant automake bug numbers.
	(func_emit_tests_Makefile_am): Likewise.

2012-03-20  Reuben Thomas  <rrt@sc3d.org>

	announce-gen: use Digest::SHA when possible
	* build-aux/announce-gen: Use Digest::SHA when possible, falling
	back to Digest::SHA1 if necessary.

2012-03-20  Jim Meyering  <meyering@redhat.com>

	tests: avoid gcc warnings about argv vs. const initializers
	* tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
	warnings about discarding 'const' qualifier from pointer target type.
	* tests/test-posix_spawn2.c (main): Likewise.

2012-03-20  Reuben Thomas  <rrt@sc3d.org>

	README-release: simplify slightly
	* top/README-release: Run "git checkout master" only once.

2012-03-15  Mark Wielaard  <mark@klomp.org>

	git-merge-changelog: add specific example on how to use with hg.
	* lib/git-merge-changelog.c: Add example on how to use in .hgrc.

2012-03-18  Mark Wielaard  <mark@klomp.org>

	lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.

2012-03-18  Andreas Oberritter  <obi@opendreambox.org>

	git-version-gen: don't let "prefix" envvar cause trouble
	* build-aux/git-version-gen (prefix): Initialize properly,
	so as not to use a value specified via the environment.
	Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810

2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>

	regex: diagnose too-large repeat counts in EREs
	Previously, the code did not diagnose the too-large repeat count
	in EREs like 'b{1000000000}'; instead, it silently treated the ERE
	as if it were 'b\{1000000000}', which is unexpected.
	* lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
	is too large.  REG_ESIZE is used nowhere else, and the diagnostic
	is a reasonable one for this problem.  Another option would be to
	create a new REG_OVERFLOW error for repeat counts that are too large.
	(fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
	count is too large, so that the caller can distinguish the two cases.
	* lib/regex.h (_REG_ESIZE): Document that this is now a generic
	"Too large" return code, and that repeat counts are one example of this.

2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>

	doc: some glibc x32 integer width issues
	* doc/posix-headers/sys_types.texi (sys/types.h):
	* doc/posix-headers/time.texi (time.h):
	Mention that glibc x32 does not conform to POSIX in a couple of
	areas related to integer widths.

2012-03-15  Bruno Haible  <bruno@clisp.org>

	fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
	* lib/fma.c (VOLATILE): New macro.
	(FUNC): Use it to work around a GCC compiler bug.

2012-03-13  Bruno Haible  <bruno@clisp.org>

	hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
	* m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
	(gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
	REPLACE_HYPOTL to 1.
	* doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.

2012-03-13  Bruno Haible  <bruno@clisp.org>

	remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
	* m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
	(gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
	REPLACE_REMAINDERL to 1.
	* doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
	bug.

2012-03-13  Bruno Haible  <bruno@clisp.org>

	sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
	* lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
	* m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
	(gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
	too big rounding errors.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
	* modules/math (Makefile.am): Substitute REPLACE_SQRTL.
	* modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
	(Depends-on): Update conditions.
	* tests/test-sqrtl.c (my_ldexpl): New function.
	(main): Add test of a particular value.
	* doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.

2012-03-13  Pádraig Brady  <P@draigBrady.com>

	doc: Update timer_* platform portability notes.
	* doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
	that always return ENOSYS.
	* doc/posix-functions/timer_delete.texi: Likewise.
	* doc/posix-functions/timer_gettime.texi: Likewise.
	* doc/posix-functions/timer_settime.texi: Likewise.

2012-03-13  Bruno Haible  <bruno@clisp.org>

	cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
	* m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
	(gl_FUNC_CBRTL): Invoke it. If the function does not work, set
	REPLACE_CBRTL to 1.
	* doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.

2012-03-13  Bruno Haible  <bruno@clisp.org>

	remainderl: Avoid compilation error on AIX >= 5.2.
	* lib/math.in.h (remainderl): Undefine macro from the system header.

2012-03-13  Bruno Haible  <bruno@clisp.org>

	Avoid compilation errors with MSVC option -fp:strict.
	* lib/cbrt.c: Use MSVC specific pragma fenv_access.
	* lib/cbrtf.c: Likewise.
	Reported by Michael Goffioul <michael.goffioul@gmail.com>.

2012-03-12  Bruno Haible  <bruno@clisp.org>

	uninorm: Don't crash in out-of-memory conditions.
	* lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
	gracefully.
	* lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
	Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.

2012-03-13  Akim Demaille  <akim@lrde.epita.fr>

	quote: fix syntax-check
	* top/maint.mk (sc_prohibit_quote_without_use): quote.h
	also exports quote_quoting_options.

2012-03-12  Simon Josefsson  <simon@josefsson.org>

	Collapse list of copyright years to ranges.  See
	<https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
	* build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
	build-aux/csharpexec.sh.in, build-aux/gnupload,
	build-aux/install-reloc, build-aux/javacomp.sh.in,
	build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
	build-aux/move-if-change, build-aux/reloc-ldflags,
	build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.

2012-03-11  Bruno Haible  <bruno@clisp.org>

	log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
	* m4/log2f-ieee.m4: New file.
	* m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
	whether log2f works with a minus zero argument. Replace it if not.
	* modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
	(Depends-on): Add log2-ieee.
	(configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
	* doc/posix-functions/log2f.texi: Mention the log2f-ieee module.

	log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
	* m4/log2-ieee.m4: New file.
	* m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
	whether log2 works with a minus zero argument. Replace it if not.
	* modules/log2-ieee (Files): Add m4/log2-ieee.m4.
	(configure.ac): Invoke gl_FUNC_LOG2_IEEE.
	* doc/posix-functions/log2.texi: Mention the log2-ieee module.

	Tests for module 'log2l-ieee'.
	* modules/log2l-ieee-tests: New file.
	* tests/test-log2l-ieee.c: New file.

	New module 'log2l-ieee'.
	* modules/log2l-ieee: New file.

	Tests for module 'log2-ieee'.
	* modules/log2-ieee-tests: New file.
	* tests/test-log2-ieee.c: New file.

	New module 'log2-ieee'.
	* modules/log2-ieee: New file.

	Tests for module 'log2f-ieee'.
	* modules/log2f-ieee-tests: New file.
	* tests/test-log2f-ieee.c: New file.
	* tests/test-log2-ieee.h: New file.

	New module 'log2f-ieee'.
	* modules/log2f-ieee: New file.

2012-03-11  Bruno Haible  <bruno@clisp.org>

	Tests for module 'log2l'.
	* modules/log2l-tests: New file.
	* tests/test-log2l.c: New file.

	New module 'log2l'.
	* lib/math.in.h (log2l): New declaration.
	* lib/log2l.c: New file.
	* m4/log2l.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
	REPLACE_LOG2L.
	* modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
	REPLACE_LOG2L.
	* modules/log2l: New file.
	* tests/test-math-c++.cc: Check the declaration of log2l.
	* doc/posix-functions/log2l.texi: Mention the new module and the IRIX
	and OSF/1 problems.

2012-03-11  Bruno Haible  <bruno@clisp.org>

	Tests for module 'log2f'.
	* modules/log2f-tests: New file.
	* tests/test-log2f.c: New file.

	New module 'log2f'.
	* lib/math.in.h (log2f): New declaration.
	* lib/log2f.c: New file.
	* m4/log2f.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
	REPLACE_LOG2F.
	* modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
	REPLACE_LOG2F.
	* modules/log2f: New file.
	* tests/test-math-c++.cc: Check the declaration of log2f.
	* doc/posix-functions/log2f.texi: Mention the new module and the IRIX
	and OSF/1 and Cygwin problems.

2012-03-11  Bruno Haible  <bruno@clisp.org>

	Tests for module 'log2'.
	* modules/log2-tests: New file.
	* tests/test-log2.c: New file.
	* tests/test-log2.h: New file.

	New module 'log2'.
	* lib/math.in.h (log2): New declaration.
	* lib/log2.c: New file.
	* m4/log2.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
	REPLACE_LOG2.
	* modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
	REPLACE_LOG2.
	* modules/log2: New file.
	* tests/test-math-c++.cc: Check the declaration of log2.
	* doc/posix-functions/log2.texi: Mention the new module and the IRIX
	and OSF/1 and Cygwin problems.

2012-03-11  Bruno Haible  <bruno@clisp.org>

	exp2* tests: More tests.
	* tests/test-exp2.h (test_function): Test all integral arguments that
	don't need to overflow or denormalized numbers.
	* tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
	* tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
	* tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.

2012-03-10  Bruno Haible  <bruno@clisp.org>

	log1pl-ieee: Work around test failure on AIX 7.1.
	* modules/log1pl-ieee (Depends-on): Add log1p-ieee.

	log1pl-ieee: Work around test failure on IRIX 6.5.
	* m4/log1pl-ieee.m4: New file.
	* m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
	test whether log1pl works with a minus zero argument. Replace it if
	not.
	* lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
	* modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
	* modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
	(Depends-on): Update conditions.
	* modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
	m4/signbit.m4.
	(configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
	* doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.

	log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
	* m4/log1pf-ieee.m4: New file.
	* m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
	test whether log1pf works with a minus zero argument. Replace it if
	not.
	* modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
	m4/signbit.m4.
	(configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
	* doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.

	log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
	* modules/log1pf-ieee (Depends-on): Add log1p-ieee.
	(configure.ac): Require gl_FUNC_LOG1PF.

	log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
	* m4/log1p-ieee.m4: New file.
	* m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
	whether log1p works with a minus zero argument. Replace it if not.
	* lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
	* modules/math (Makefile.am): Substitute REPLACE_LOG1P.
	* modules/log1p (configure.ac): Consider REPLACE_LOG1P.
	(Depends-on): Update conditions.
	* modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
	m4/signbit.m4.
	(configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
	* doc/posix-functions/log1p.texi: Mention the log1p-ieee module.

	Tests for module 'log1pl-ieee'.
	* modules/log1pl-ieee-tests: New file.
	* tests/test-log1pl-ieee.c: New file.

	New module 'log1pl-ieee'.
	* modules/log1pl-ieee: New file.

	Tests for module 'log1p-ieee'.
	* modules/log1p-ieee-tests: New file.
	* tests/test-log1p-ieee.c: New file.

	New module 'log1p-ieee'.
	* modules/log1p-ieee: New file.

	Tests for module 'log1pf-ieee'.
	* modules/log1pf-ieee-tests: New file.
	* tests/test-log1pf-ieee.c: New file.
	* tests/test-log1p-ieee.h: New file.

	New module 'log1pf-ieee'.
	* modules/log1pf-ieee: New file.

2012-03-10  Bruno Haible  <bruno@clisp.org>

	Tests for module 'log1pl'.
	* modules/log1pl-tests: New file.
	* tests/test-log1pl.c: New file.

	New module 'log1pl'.
	* lib/math.in.h (log1pl): New declaration.
	* lib/log1pl.c: New file.
	* m4/log1pl.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
	* modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
	* modules/log1pl: New file.
	* tests/test-math-c++.cc: Check the declaration of log1pl.
	* doc/posix-functions/log1pl.texi: Mention the new module.

2012-03-10  Bruno Haible  <bruno@clisp.org>

	Tests for module 'log1pf'.
	* modules/log1pf-tests: New file.
	* tests/test-log1pf.c: New file.

	New module 'log1pf'.
	* lib/math.in.h (log1pf): New declaration.
	* lib/log1pf.c: New file.
	* m4/log1pf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
	REPLACE_LOG1PF.
	* modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
	REPLACE_LOG1PF.
	* modules/log1pf: New file.
	* tests/test-math-c++.cc: Check the declaration of log1pf.
	* doc/posix-functions/log1pf.texi: Mention the new module.

2012-03-10  Bruno Haible  <bruno@clisp.org>

	log1p tests: More tests.
	* tests/test-log1p.h: New file.
	* modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
	(Makefile.am): Add randomd.c to test_log1p_SOURCES.
	* tests/test-log1p.c: Include <float.h> and test-log1p.h.
	(main): Invoke test_function.

	log1p: Provide replacement for Minix and MSVC.
	* lib/math.in.h (log1p): New declaration.
	* lib/log1p.c: New file.
	* m4/log1p.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
	* modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
	* modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
	(Depends-on): Add math, isnand, log, round.
	(configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
	HAVE_LOG1P is 0.
	* tests/test-math-c++.cc: Check the declaration of log1p.
	* doc/posix-functions/log1p.texi: Mention the replacement.

2012-03-10  Bruno Haible  <bruno@clisp.org>

	math tests: Small simplification.
	* tests/test-exp.h (test_function): Use the same err_bound for
	'double' on platforms with sizeof (long double) == sizeof (double)
	than on platforms with sizeof (long double) > sizeof (double).
	* tests/test-exp2.h (test_function): Likewise.
	* tests/test-expm1.h (test_function): Likewise.
	* tests/test-log.h (test_function): Likewise.

2012-03-10  Bruno Haible  <bruno@clisp.org>

	Fix some comments.
	* lib/expl.c: Fix an ambiguous comment.
	* lib/expm1.c: Likewise.
	* lib/expm1l.c: Likewise.
	* lib/exp2.c: Likewise.
	* lib/exp2l.c: Likewise.

2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>

	regex: allow inclusion of <regex.h> before <limits.h>
	Without this patch, portable programs had to include <limits.h> before
	<regex.h> if they wanted a consistent value for RE_DUP_MAX.
	I ran into this problem with a test version of GNU grep on Solaris 8.
	* lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
	This is done conditionally so that this change can be merged
	back to glibc.
	* m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
	using the included regex.

	fts: depend on fdopendir
	* modules/fts (Depends-on): Depend on fdopendir.  This is needed
	on Solaris 8, at least, since it lacks fdopendir.  Evidently the
	problem was introduced when fdopendir was split out.

2012-03-10  Bruno Haible  <bruno@clisp.org>

	Remove unused variables.
	* m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
	* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.

2012-03-10  Bruno Haible  <bruno@clisp.org>

	isnanf-nolibm: Fix last commit.
	* lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.

	isnanf-nolibm: Make it work on IRIX 6.5 with cc.
	* lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.

2012-03-10  Bruno Haible  <bruno@clisp.org>

	logf-ieee: Work around test failure on NetBSD 5.1.
	* m4/logf-ieee.m4: New file.
	* m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
	whether logf works with a negative argument. Replace it if not.
	* lib/logf.c (logf): For negative arguments, return NaN.
	* modules/logf-ieee (Files): Add m4/logf-ieee.m4.
	(configure.ac): Invoke gl_FUNC_LOGF_IEEE.
	* doc/posix-functions/logf.texi: Mention the logf-ieee module.

	logf-ieee: Work around test failure on Solaris 9.
	* modules/logf-ieee (Depends-on): Add log-ieee.
	(configure.ac): Require gl_FUNC_LOGF.

	log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
	* m4/log-ieee.m4: New file.
	* m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
	log works with a negative argument. Replace it if not.
	* lib/log.c (log): For negative arguments, return NaN.
	* modules/log-ieee (Files): Add m4/log-ieee.m4.
	(configure.ac): Invoke gl_FUNC_LOG_IEEE.
	* doc/posix-functions/log.texi: Mention the log-ieee module.

	Tests for module 'logl-ieee'.
	* modules/logl-ieee-tests: New file.
	* tests/test-logl-ieee.c: New file.

	New module 'logl-ieee'.
	* modules/logl-ieee: New file.

	Tests for module 'log-ieee'.
	* modules/log-ieee-tests: New file.
	* tests/test-log-ieee.c: New file.

	New module 'log-ieee'.
	* modules/log-ieee: New file.

	Tests for module 'logf-ieee'.
	* modules/logf-ieee-tests: New file.
	* tests/test-logf-ieee.c: New file.
	* tests/test-log-ieee.h: New file.

	New module 'logf-ieee'.
	* modules/logf-ieee: New file.

2012-03-10  Bruno Haible  <bruno@clisp.org>

	log: Fix bug introduced on 2012-03-09.
	* m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.

2012-03-10  Pádraig Brady  <P@draigBrady.com>

	timer-time: link explicitly with pthreads on glibc
	* m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
	to support static linking, when newer glibc is
	detected, as that contains pthread emulation of
	POSIX timer functions where required.
	* modules/timer-time: Depend on threadlib to
	pull in the appropriate library to link.

2012-03-10  Bruno Haible  <bruno@clisp.org>

	log* tests: More tests.
	* tests/test-log.h: New file.
	* tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
	(main): Invoke test_function.
	* tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
	(main): Invoke test_function.
	* tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
	(main): Invoke test_function.
	* modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
	tests/randomd.c.
	(Makefile.am): Add randomd.c to test_log_SOURCES.
	* modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
	tests/randomf.c.
	(Makefile.am): Add randomf.c to test_logf_SOURCES.
	* modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
	tests/randoml.c.
	(Depends-on): Add 'float'.
	(Makefile.am): Add randoml.c to test_logl_SOURCES.

2012-03-09  Bruno Haible  <bruno@clisp.org>

	logl: Work around OSF/1 5.1 bug.
	* lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
	* lib/logl.c (logl): If logl exists, use it and provide just the
	workaround.
	* m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
	(gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
	* modules/math (Makefile.am): Substitute REPLACE_LOGL.
	* modules/logl (configure.ac): Consider REPLACE_LOGL.
	(Depends-on): Update conditions.
	* doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.

2012-03-09  Bruno Haible  <bruno@clisp.org>

	logf: Work around OSF/1 5.1 bug.
	* lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
	* lib/logf.c (logf): If logf exists, use it and provide just the
	workaround.
	* m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
	(gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
	* modules/math (Makefile.am): Substitute REPLACE_LOGF.
	* modules/logf (configure.ac): Consider REPLACE_LOGF.
	(Depends-on): Update conditions.
	* doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.

2012-03-09  Bruno Haible  <bruno@clisp.org>

	log: Work around OSF/1 5.1 bug.
	* lib/math.in.h (log): New declaration.
	* lib/log.c: New file.
	* m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
	(gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
	* m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
	* modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
	* modules/log (Files): Add lib/log.c.
	(Depends-on): Add math.
	(configure.ac): If REPLACE_LOG is 1, compile an override.
	* tests/test-math-c++.cc: Check the declaration of log.
	* doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.

2012-03-09  Jim Meyering  <meyering@redhat.com>

	readtokens.c: adjust wording in a comment
	* lib/readtokens.c: Insert omitted "that" in a comment.

2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	modechange: add notations +40, 00440, etc.
	* lib/modechange.c (mode_compile): Support new notations
	+40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.

2012-03-08  Bruno Haible  <bruno@clisp.org>

	exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
	* m4/exp2l-ieee.m4: New file.
	* m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
	test whether exp2l works with a NaN argument and with a negative
	infinity argument. Replace it if not.
	* lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
	* modules/math (Makefile.am): Substitute REPLACE_EXP2L.
	* modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
	(Depends-on): Update conditions.
	* modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
	(configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
	* doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.

	Tests for module 'exp2l-ieee'.
	* modules/exp2l-ieee-tests: New file.
	* tests/test-exp2l-ieee.c: New file.

	New module 'exp2l-ieee'.
	* modules/exp2l-ieee: New file.

	Tests for module 'exp2-ieee'.
	* modules/exp2-ieee-tests: New file.
	* tests/test-exp2-ieee.c: New file.

	New module 'exp2-ieee'.
	* modules/exp2-ieee: New file.

	Tests for module 'exp2f-ieee'.
	* modules/exp2f-ieee-tests: New file.
	* tests/test-exp2f-ieee.c: New file.
	* tests/test-exp2-ieee.h: New file.

	New module 'exp2f-ieee'.
	* modules/exp2f-ieee: New file.

2012-03-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'exp2l'.
	* modules/exp2l-tests: New file.
	* tests/test-exp2l.c: New file.

	New module 'exp2l'.
	* lib/math.in.h (exp2l): New declaration.
	* lib/exp2l.c: New file.
	* lib/expl-table.c: New file, extracted from lib/expl.c.
	* lib/expl.c (gl_expl_table): New declaration.
	(expl): Remove expl_table. Update reference.
	* m4/exp2l.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
	* modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
	* modules/exp2l: New file.
	* modules/expl (Files): Add lib/expl-table.c.
	(configure.ac): Compile also expl-table.c.
	* tests/test-math-c++.cc: Check the declaration of exp2l.
	* doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
	problem.

2012-03-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'exp2f'.
	* modules/exp2f-tests: New file.
	* tests/test-exp2f.c: New file.

	New module 'exp2f'.
	* lib/math.in.h (exp2f): New declaration.
	* lib/exp2f.c: New file.
	* m4/exp2f.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
	* modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
	* modules/exp2f: New file.
	* tests/test-math-c++.cc: Check the declaration of exp2f.
	* doc/posix-functions/exp2f.texi: Mention the new module and the
	IRIX problem.

2012-03-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'exp2'.
	* modules/exp2-tests: New file.
	* tests/test-exp2.c: New file.
	* tests/test-exp2.h: New file.

	New module 'exp2'.
	* lib/math.in.h (exp2): New declaration.
	* lib/exp2.c: New file.
	* m4/exp2.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
	REPLACE_EXP2.
	* modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
	REPLACE_EXP2.
	* modules/exp2: New file.
	* tests/test-math-c++.cc: Check the declaration of exp2.
	* doc/posix-functions/exp2.texi: Mention the new module and the IRIX
	and OpenBSD problems.

2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	savedir: fix comment typo
	* lib/savedir.c (savedirstream): Fix typo in comment.

2012-03-08  Bruno Haible  <bruno@clisp.org>

	test-readtokens.c: use const; remove unwarranted cast
	* tests/test-readtokens.c: Declare delim to be const, to avoid a cast.

2012-03-08  Bruno Haible  <bruno@clisp.org>

	fmal: Avoid compilation error on AIX.
	* lib/math.in.h (fmal): Undefine macro before declaration. Needed on
	AIX 5.2..7.1.

2012-03-08  Bruno Haible  <bruno@clisp.org>

	fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
	* m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
	arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
	* m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
	arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
	* m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
	arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.

2012-03-08  Bruno Haible  <bruno@clisp.org>

	remainderf: Override buggy system function on IRIX 6.5.
	* m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
	(gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
	when it exists.
	* doc/posix-functions/remainderf.texi: Mention the IRIX problems.

2012-03-08  Jim Meyering  <meyering@redhat.com>

	test-readtokens.c: avoid const-related compilation warnings
	* tests/test-readtokens.c: Avoid const-related compilation warnings.

2012-03-07  Jim Meyering  <meyering@redhat.com>
	    Bruno Haible  <bruno@clisp.org>

	frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
	* modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
	tests/randomd.c.
	(Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
	* modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
	tests/randoml.c.
	(Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.

2012-03-07  Bruno Haible  <bruno@clisp.org>

	expm1l: Avoid compilation error on AIX.
	* lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
	AIX 5.2..7.1.

2012-03-07  Bruno Haible  <bruno@clisp.org>

	expm1l: Don't override undeclared system function on IRIX 6.5.
	* lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
	* m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
	it exists. Set HAVE_DECL_EXPM1L.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
	HAVE_EXPM1L.
	* modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
	HAVE_EXPM1L.
	* doc/posix-functions/expm1l.texi: Mention missing declaration problem.

2012-03-07  Bruno Haible  <bruno@clisp.org>

	remainderl: Don't override undeclared system function on IRIX 6.5.
	* lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
	HAVE_REMAINDERL.
	* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
	declared when it exists. Set HAVE_DECL_REMAINDERL.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
	not HAVE_REMAINDERL.
	* modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
	HAVE_REMAINDERL.
	* doc/posix-functions/remainderl.texi: Mention missing declaration
	problem.

2012-03-07  Bruno Haible  <bruno@clisp.org>

	rintf: Don't override undeclared system function on IRIX 6.5.
	* lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
	* m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
	exists. Set HAVE_DECL_RINTF.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
	HAVE_RINTF.
	* modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
	HAVE_RINTF.
	* doc/posix-functions/rintf.texi: Mention missing declaration problem.

2012-03-07  Bruno Haible  <bruno@clisp.org>

	roundl: Avoid compilation error on AIX.
	* lib/math.in.h (roundl): Undefine macro before declaration. Needed on
	AIX 5.2..7.1.

2012-03-07  Bruno Haible  <bruno@clisp.org>

	roundl: Don't override undeclared system function on IRIX 6.5.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
	also when it is not declared. Set HAVE_ROUNDL. For replacement code,
	test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
	* modules/roundl (configure.ac): For replacement code, test
	HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
	(Depends-on): Update conditions.
	* doc/posix-functions/roundl.texi: Mention the IRIX problem.

2012-03-07  Bruno Haible  <bruno@clisp.org>

	roundf: Don't override undeclared system function on IRIX 6.5.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
	also when it is not declared. Set HAVE_ROUNDF. For replacement code,
	test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
	* modules/roundf (configure.ac): For replacement code, test
	HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
	(Depends-on): Update conditions.
	* modules/roundf-ieee (Depends-on): Update conditions.
	* doc/posix-functions/roundf.texi: Mention the IRIX problem.

2012-03-07  Bruno Haible  <bruno@clisp.org>

	round: Don't override undeclared system function on IRIX 6.5.
	* m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
	argument.
	* m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
	also when it is not declared. Set HAVE_ROUND. For replacement code,
	test HAVE_ROUND, not HAVE_DECL_ROUND.
	* modules/round (configure.ac): For replacement code, test HAVE_ROUND,
	not HAVE_DECL_ROUND.
	(Depends-on): Update conditions.
	* modules/round-ieee (Depends-on): Update conditions.
	* doc/posix-functions/round.texi: Mention the IRIX problem.

2012-03-07  Bruno Haible  <bruno@clisp.org>

	copysignf: Don't override undeclared system function on IRIX 6.5.
	* lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
	HAVE_COPYSIGNF.
	* m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
	declared when it exists. Set HAVE_DECL_COPYSIGNF.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
	not HAVE_COPYSIGNF.
	* modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
	HAVE_COPYSIGNF.
	* doc/posix-functions/copysignf.texi: Mention missing declaration
	problem.

2012-03-07  Jim Meyering  <meyering@redhat.com>

	readtokens: add tests
	* modules/readtokens-tests: New file.
	* tests/test-readtokens.c: New file.

2012-03-07  Jim Meyering  <meyering@redhat.com>

	quotearg: the module must now include quote.h
	With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
	So must the module.
	* modules/quotearg (Files): Add quote.h.

2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>

	readtokens: avoid core dumps with unusual calling patterns
	Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
	* lib/readtokens.c: Include limits.h.
	(word, bits_per_word, get_nth_bit, set_nth_bit): New.
	(readtoken): Don't cache the delimiters; the cache code was buggy
	if !delim && saved_delim, or if the new n_delim differs from the old.
	Also, it wasn't thread-safe.

2012-03-07  Bruno Haible  <bruno@clisp.org>

	quote: Adhere to common module description layout.
	* modules/quote (Makefile.am): Add back empty section.

2012-03-06  Akim Demaille  <demaille@gostai.com>

	quote: fuse into quotearg
	This patch is made for the benefit of Bison.
	quote does not leave the choice of the quoting style to the user.
	quoting_style provides poor customizability, yet quoting_options,
	which is very rich, is hidden inside quotearg.c.  So in order to
	allow quote customization, move its implementation to quotearg.c.
	* lib/quote.c: Remove.
	* modules/quote: Adjust.
	* lib/quotearg.c (quoting_options_from_style): Fix a compiler
	warning: provide all the members of literal structs.
	(quote_quoting_options): New.
	(quote, quote_n): Import implementation from quote.c.
	* lib/quote.h: Import the comments from quote.c.
	(quote_quoting_options): New.

2012-03-06  Bruno Haible  <bruno@clisp.org>

	Tests for module 'expm1l-ieee'.
	* modules/expm1l-ieee-tests: New file.
	* tests/test-expm1l-ieee.c: New file.

	New module 'expm1l-ieee'.
	* modules/expm1l-ieee: New file.

	Tests for module 'expm1f-ieee'.
	* modules/expm1f-ieee-tests: New file.
	* tests/test-expm1f-ieee.c: New file.

	New module 'expm1f-ieee'.
	* modules/expm1f-ieee: New file.

	Tests for module 'expm1-ieee'.
	* modules/expm1-ieee-tests: New file.
	* tests/test-expm1-ieee.c: New file.
	* tests/test-expm1-ieee.h: New file.

	New module 'expm1-ieee'.
	* modules/expm1-ieee: New file.
	* m4/expm1-ieee.m4: New file.
	* m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
	whether expm1 works with a minus zero argument. Replace it if not.
	* lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
	* modules/math (Makefile.am): Substitute REPLACE_EXPM1.
	* modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
	(Depends-on): Update conditions.
	* doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
	AIX problem.

2012-03-06  Bruno Haible  <bruno@clisp.org>

	Work around expm1f bug on IRIX 6.5.
	* lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
	* m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
	(gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
	not work.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
	* modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
	* modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
	(Depends-on): Update conditions.
	* doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.

2012-03-06  Bruno Haible  <bruno@clisp.org>

	Tests for module 'expm1l'.
	* modules/expm1l-tests: New file.
	* tests/test-expm1l.c: New file.

	New module 'expm1l'.
	* lib/math.in.h (expm1l): New declaration.
	* lib/expm1l.c: New file.
	* m4/expm1l.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
	* modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
	* modules/expm1l: New file.
	* tests/test-math-c++.cc: Check the declaration of expm1l.
	* doc/posix-functions/expm1l.texi: Mention the new module.

2012-03-06  Bruno Haible  <bruno@clisp.org>

	Tests for module 'expm1f'.
	* modules/expm1f-tests: New file.
	* tests/test-expm1f.c: New file.

	New module 'expm1f'.
	* lib/math.in.h (expm1f): New declaration.
	* lib/expm1f.c: New file.
	* m4/expm1f.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
	* modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
	* modules/expm1f: New file.
	* tests/test-math-c++.cc: Check the declaration of expm1f.
	* doc/posix-functions/expm1f.texi: Mention the new module.

2012-03-06  Bruno Haible  <bruno@clisp.org>

	Tests for module 'expm1'.
	* modules/expm1-tests: New file.
	* tests/test-expm1.c: New file.
	* tests/test-expm1.h: New file.

	New module 'expm1'.
	* lib/math.in.h (expm1): New declaration.
	* lib/expm1.c: New file.
	* m4/expm1.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
	* modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
	* modules/expm1: New file.
	* tests/test-math-c++.cc: Check the declaration of expm1.
	* doc/posix-functions/expm1.texi: Mention the new module.

2012-03-06  Bruno Haible  <bruno@clisp.org>

	math: Ensure declarations of math functions.
	* modules/acosf (Depends-on): Add 'extensions'.
	* modules/asinf (Depends-on): Likewise.
	* modules/atan2f (Depends-on): Likewise.
	* modules/atanf (Depends-on): Likewise.
	* modules/cbrt (Depends-on): Likewise.
	* modules/cbrtf (Depends-on): Likewise.
	* modules/cbrtl (Depends-on): Likewise.
	* modules/copysignf (Depends-on): Likewise.
	* modules/copysignl (Depends-on): Likewise.
	* modules/cosf (Depends-on): Likewise.
	* modules/coshf (Depends-on): Likewise.
	* modules/expf (Depends-on): Likewise.
	* modules/fabsf (Depends-on): Likewise.
	* modules/fabsl (Depends-on): Likewise.
	* modules/fmaf (Depends-on): Likewise.
	* modules/fmal (Depends-on): Likewise.
	* modules/fmodf (Depends-on): Likewise.
	* modules/fmodl (Depends-on): Likewise.
	* modules/frexpf (Depends-on): Likewise.
	* modules/frexpl (Depends-on): Likewise.
	* modules/hypot (Depends-on): Likewise.
	* modules/hypotf (Depends-on): Likewise.
	* modules/hypotl (Depends-on): Likewise.
	* modules/ldexpf (Depends-on): Likewise.
	* modules/ldexpl (Depends-on): Likewise.
	* modules/log10f (Depends-on): Likewise.
	* modules/log10l (Depends-on): Likewise.
	* modules/log1p (Depends-on): Likewise.
	* modules/logb (Depends-on): Likewise.
	* modules/logf (Depends-on): Likewise.
	* modules/modff (Depends-on): Likewise.
	* modules/modfl (Depends-on): Likewise.
	* modules/powf (Depends-on): Likewise.
	* modules/remainderf (Depends-on): Likewise.
	* modules/remainderl (Depends-on): Likewise.
	* modules/rintf (Depends-on): Likewise.
	* modules/rintl (Depends-on): Likewise.
	* modules/sinf (Depends-on): Likewise.
	* modules/sinhf (Depends-on): Likewise.
	* modules/sqrtf (Depends-on): Likewise.
	* modules/tanf (Depends-on): Likewise.
	* modules/tanhf (Depends-on): Likewise.
	* m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
	* m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
	* m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
	* m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
	* m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
	* m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
	* m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
	* m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
	* m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
	* m4/cosf.m4 (gl_FUNC_COSF): Likewise.
	* m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
	* m4/expf.m4 (gl_FUNC_EXPF): Likewise.
	* m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
	* m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
	* m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
	* m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
	* m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
	* m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
	* m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
	* m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
	* m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
	* m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
	* m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
	* m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
	* m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
	* m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
	* m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
	* m4/logb.m4 (gl_FUNC_LOGB): Likewise.
	* m4/logf.m4 (gl_FUNC_LOGF): Likewise.
	* m4/modff.m4 (gl_FUNC_MODFF): Likewise.
	* m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
	* m4/powf.m4 (gl_FUNC_POWF): Likewise.
	* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
	* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
	* m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
	* m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
	* m4/sinf.m4 (gl_FUNC_SINF): Likewise.
	* m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
	* m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
	* m4/tanf.m4 (gl_FUNC_TANF): Likewise.
	* m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.

2012-03-06  Bruno Haible  <bruno@clisp.org>

	math: Update module names in warnings.
	* lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
	tanl): Use specific module name in warn-on-use warning.

2012-03-06  Bruno Haible  <bruno@clisp.org>

	expl: Simplify computation.
	* lib/expl.c (expl): Simplify computation of exp_y. Fix comment.

2012-03-05  Bruno Haible  <bruno@clisp.org>

	exp* tests: More tests.
	* tests/test-exp.h: New file.
	* tests/test-exp.c: Include <float.h> and test-exp.h.
	(main): Invoke test_function.
	* tests/test-expf.c: Include <float.h> and test-exp.h.
	(main): Invoke test_function.
	* tests/test-expl.c: Include <float.h> and test-exp.h.
	(main): Invoke test_function.
	* modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
	(Makefile.am): Add randomd.c to test_exp_SOURCES.
	* modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
	(Makefile.am): Add randomf.c to test_expf_SOURCES.
	* modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
	(Depends-on): Add 'float'.
	(Makefile.am): Add randoml.c to test_expl_SOURCES.

	expl: Fix precision of computed result.
	* lib/expl.c: Completely rewritten.
	* modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
	(Maintainer): Add me.
	* m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.

2012-03-05  Bruno Haible  <bruno@clisp.org>

	cbrt* tests: More tests.
	* tests/test-cbrt.h: New file.
	* tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
	(main): Invoke test_function.
	* tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
	(main): Invoke test_function.
	* tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
	(main): Invoke test_function.
	* modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
	(Makefile.am): Add randomd.c to test_cbrt_SOURCES.
	* modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
	(Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
	* modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
	(Depends-on): Add 'float'.
	(Makefile.am): Add randoml.c to test_cbrtl_SOURCES.

2012-03-05  Bruno Haible  <bruno@clisp.org>

	hypot* tests: More tests.
	* tests/test-hypot.h: New file, partially extracted from
	tests/test-hypotl.c.
	* tests/test-hypot.c: Include test-hypot.h.
	(main): Invoke test_function.
	* tests/test-hypotf.c: Include test-hypot.h.
	(main): Invoke test_function.
	* tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
	(main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
	* modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
	(Makefile.am): Add randomd.c to test_hypot_SOURCES.
	* modules/hypotf-tests (Files): Add tests/test-hypot.h,
	tests/randomf.c.
	(Makefile.am): Add randomf.c to test_hypotf_SOURCES.
	* modules/hypotl-tests (Files): Add tests/test-hypot.h,
	tests/randoml.c.
	(Depends-on): Add 'fpucw', 'float'.
	(Makefile.am): Add randoml.c to test_hypotl_SOURCES.

2012-03-05  Bruno Haible  <bruno@clisp.org>

	fpucw: Doc about FreeBSD.
	* lib/fpucw.h: Mention FreeBSD in comments.

2012-03-04  Bruno Haible  <bruno@clisp.org>

	sqrt* tests: More tests.
	* tests/test-sqrt.h: New file.
	* tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
	(main): Invoke test_function.
	* tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
	(main): Invoke test_function.
	* tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
	(main): Invoke test_function.
	* modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
	(Makefile.am): Add randomd.c to test_sqrt_SOURCES.
	* modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
	(Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
	* modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
	(Depends-on): Add 'float'.
	(Makefile.am): Add randoml.c to test_sqrtl_SOURCES.

2012-03-04  Bruno Haible  <bruno@clisp.org>

	remainder* tests: More tests.
	* tests/test-remainder.h: New file, based on tests/test-fmod.h.
	* tests/test-remainder.c: Include <float.h> and test-remainder.h.
	(main): Invoke test_function.
	* tests/test-remainderf.c: Include <float.h> and test-remainder.h.
	(main): Invoke test_function.
	* tests/test-remainderl.c: Include <float.h> and test-remainder.h.
	(main): Invoke test_function.
	* modules/remainder-tests (Files): Add tests/test-remainder.h,
	tests/randomd.c.
	(Makefile.am): Add randomd.c to test_remainder_SOURCES.
	* modules/remainderf-tests (Files): Add tests/test-remainder.h,
	tests/randomf.c.
	(Makefile.am): Add randomf.c to test_remainderf_SOURCES.
	* modules/remainderl-tests (Files): Add tests/test-remainder.h,
	tests/randoml.c.
	(Depends-on): Add 'float'.
	(Makefile.am): Add randoml.c to test_remainderl_SOURCES.

2012-03-04  Bruno Haible  <bruno@clisp.org>

	remainder, remainderf, remainderl: Fix computation for large quotients.
	* lib/remainder.c: Completely rewritten.
	* lib/remainderf.c (remainderf): Use implementation of remainder.c with
	USE_FLOAT.
	* lib/remainderl.c (remainderl): Use implementation of remainder.c with
	USE_LONG_DOUBLE.
	* modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
	isnand, isinf. Remove round, fma.
	* modules/remainderf (Files): Add lib/remainder.c.
	(Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
	Remove roundf, fmaf.
	* modules/remainderl (Files): Add lib/remainder.c.
	(Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
	isinf. Remove roundl, fmal.
	* m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
	REMAINDER_LIBM.
	* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
	REMAINDERF_LIBM.
	* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
	REMAINDERL_LIBM.

2012-03-04  Bruno Haible  <bruno@clisp.org>

	fmod* tests: More tests.
	* tests/test-fmod.h (my_ldexp): New function.
	(test_function): Reduce amount of random numbers to test. Add tests
	of very large quotients x / y.
	* tests/test-fmod.c (MAX_EXP): New macro.
	* tests/test-fmodf.c (MAX_EXP): Likewise.
	* tests/test-fmodl.c (MAX_EXP): Likewise.

2012-03-04  Bruno Haible  <bruno@clisp.org>

	fmod, fmodl: Fix computation for large quotients x / y.
	* lib/fmod.c: Completely rewritten.
	* lib/fmodl.c (fmodl): Use implementation of fmod.c with
	USE_LONG_DOUBLE.
	* modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
	isnand. Remove fma.
	* modules/fmodl (Files): Add lib/fmod.c.
	(Depends-on): Add float, isfinite, signbit, fabsl,
	frexpl, ldexpl, isnanl. Remove fma.
	* m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
	* m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.

2012-03-03  Bruno Haible  <bruno@clisp.org>

	fmod* tests: More tests.
	* tests/test-fmod.h: New file.
	* tests/test-fmod.c: Include <float.h> and test-fmod.h.
	(main): Invoke test_function.
	* tests/test-fmodf.c: Include <float.h> and test-fmod.h.
	(main): Invoke test_function.
	* tests/test-fmodl.c: Include <float.h> and test-fmod.h.
	(main): Invoke test_function.
	* modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
	(Makefile.am): Add randomd.c to test_fmod_SOURCES.
	* modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
	(Makefile.am): Add randomf.c to test_fmodf_SOURCES.
	* modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
	(Depends-on): Add 'float'.
	(Makefile.am): Add randoml.c to test_fmodl_SOURCES.

2012-03-03  Bruno Haible  <bruno@clisp.org>

	rint* tests: More tests.
	* tests/test-rint.h: New file, partially extracted from
	tests/test-rintl.c.
	* tests/test-rint.c: Include test-rint.h.
	(main): Invoke test_function.
	* tests/test-rintf.c: Include test-rint.h.
	(main): Invoke test_function.
	* tests/test-rintl.c: Include test-rint.h.
	(main): Invoke test_function.
	* modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
	(Makefile.am): Add randomd.c to test_rint_SOURCES.
	* modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
	(Makefile.am): Add randomf.c to test_rintf_SOURCES.
	* modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
	(Makefile.am): Add randoml.c to test_rintl_SOURCES.

2012-03-03  Bruno Haible  <bruno@clisp.org>

	modf* tests: More tests.
	* tests/test-modf.h: New file.
	* tests/test-modf.c: Include <float.h> and test-modf.h.
	(main): Invoke test_function.
	* tests/test-modff.c: Include <float.h> and test-modf.h.
	(main): Invoke test_function.
	* tests/test-modfl.c: Include <float.h> and test-modf.h.
	(main): Invoke test_function.
	* modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
	(Makefile.am): Add randomd.c to test_modf_SOURCES.
	* modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
	(Makefile.am): Add randomf.c to test_modff_SOURCES.
	* modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
	(Depends-on): Add 'float'.
	(Makefile.am): Add randoml.c to test_modfl_SOURCES.

2012-03-03  Bruno Haible  <bruno@clisp.org>

	fabs* tests: More tests.
	* tests/test-fabs.h: New file, partially extracted from
	tests/test-fabsl.c.
	* tests/test-fabs.c (RANDOM): New macro.
	* tests/test-fabsf.c (RANDOM): New macro.
	* tests/test-fabsl.c (RANDOM): New macro.
	* modules/fabs-tests (Files): Add tests/randomd.c.
	(Makefile.am): Add randomd.c to test_fabs_SOURCES.
	* modules/fabsf-tests (Files): Add tests/randomf.c.
	(Makefile.am): Add randomf.c to test_fabsf_SOURCES.
	* modules/fabsl-tests (Files): Add tests/randoml.c.
	(Makefile.am): Add randoml.c to test_fabsl_SOURCES.

2012-03-03  Bruno Haible  <bruno@clisp.org>

	ldexp* tests: More tests.
	* tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
	* tests/test-ldexp.c (RANDOM): New macro.
	* tests/test-ldexpf.c (RANDOM): New macro.
	* tests/test-ldexpl.c (RANDOM): New macro.
	* modules/ldexp-tests (Files): Add tests/randomd.c.
	(Makefile.am): Add randomd.c to test_ldexp_SOURCES.
	* modules/ldexpf-tests (Files): Add tests/randomf.c.
	(Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
	* modules/ldexpl-tests (Files): Add tests/randoml.c.
	(Makefile.am): Add randoml.c to test_ldexpl_SOURCES.

2012-03-03  Bruno Haible  <bruno@clisp.org>

	frexp* tests: More tests.
	* tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
	* tests/test-frexp.c (RANDOM): New macro.
	* tests/test-frexpf.c (RANDOM): New macro.
	* tests/test-frexpl.c (RANDOM): New macro.
	* modules/frexp-tests (Files): Add tests/randomd.c.
	(Makefile.am): Add randomd.c to test_frexp_SOURCES.
	* modules/frexpf-tests (Files): Add tests/randomf.c.
	(Makefile.am): Add randomf.c to test_frexpf_SOURCES.
	* modules/frexpl-tests (Files): Add tests/randoml.c.
	(Makefile.am): Add randoml.c to test_frexpl_SOURCES.

2012-03-03  Bruno Haible  <bruno@clisp.org>

	Support for pseudo-random numbers in tests.
	* tests/randomf.c: New file.
	* tests/randomd.c: New file.
	* tests/randoml.c: New file.
	* tests/macros.h (randomf, randomd, randoml): New declarations.

2012-03-03  Bruno Haible  <bruno@clisp.org>

	frexp* tests: Refactor.
	* tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
	* tests/test-frexp.c: Include and use it.
	* tests/test-frexpf.c: Likewise.
	* tests/test-frexpl.c: Likewise.
	* modules/frexp-tests (Files): Add tests/test-frexp.h.
	* modules/frexpf-tests (Files): Likewise.
	* modules/frexpl-tests (Files): Likewise.

2012-03-02  Jim Meyering  <meyering@redhat.com>

	maint: don't specify XZ_OPT=-9ev in dist-related rule
	Using xz's -9 option is warranted only if you have a very large
	tarball (see xz's documentation for the sizes vs. presets), and
	requires 64MiB of memory at decompression time.
	* top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
	Automake's default of just "-e" is fine.  Override on a
	per-package basis by setting XZ_OPT e.g., in cfg.mk.

2012-03-01  Eric Blake  <eblake@redhat.com>

	maint.mk: allow announcement for non-gnulib project
	* maint.mk (announcement): Skip gnulib version if not used.

2012-03-01  Jim Meyering  <meyering@redhat.com>

	maint.mk: avoid spurious failure of _sc_search_regexp-using tests
	* top/maint.mk: Initialize _sc_search_regexp parameters, so that
	envvar settings cannot interfere.  Otherwise, setting envvars like
	prohibit=foo require=bar, etc. would cause spurious test failures.

2012-03-01  Eric Blake  <eblake@redhat.com>

	maint.mk: add per-line exclusions to prohibitions
	* maint.mk (_sc_search_regexp): Add $exclude parameter.
	(sc_prohibit_strcmp, sc_unmarked_diagnostics)
	(sc_const_long_option): Use it.

2012-03-01  Bruno Haible  <bruno@clisp.org>

	Tests for module 'expl-ieee'.
	* modules/expl-ieee-tests: New file.
	* tests/test-expl-ieee.c: New file.

	New module 'expl-ieee'.
	* modules/expl-ieee: New file.

	Tests for module 'exp-ieee'.
	* modules/exp-ieee-tests: New file.
	* tests/test-exp-ieee.c: New file.

	New module 'exp-ieee'.
	* modules/exp-ieee: New file.

	Tests for module 'expf-ieee'.
	* modules/expf-ieee-tests: New file.
	* tests/test-expf-ieee.c: New file.
	* tests/test-exp-ieee.h: New file.

	New module 'expf-ieee'.
	* modules/expf-ieee: New file.

2012-02-29  Bruno Haible  <bruno@clisp.org>

	cbrtl-ieee: Work around test failure on IRIX 6.5.
	* m4/cbrtl-ieee.m4: New file.
	* m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
	test whether cbrtl works with a minus zero argument. Replace it if not.
	* lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
	* modules/math (Makefile.am): Substitute REPLACE_CBRTL.
	* modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
	(Depends-on): Update conditions.
	* modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
	m4/signbit.m4.
	(configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
	* lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
	* doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.

	Tests for module 'cbrtl-ieee'.
	* modules/cbrtl-ieee-tests: New file.
	* tests/test-cbrtl-ieee.c: New file.

	New module 'cbrtl-ieee'.
	* modules/cbrtl-ieee: New file.

	Tests for module 'cbrt-ieee'.
	* modules/cbrt-ieee-tests: New file.
	* tests/test-cbrt-ieee.c: New file.

	New module 'cbrt-ieee'.
	* modules/cbrt-ieee: New file.

	Tests for module 'cbrtf-ieee'.
	* modules/cbrtf-ieee-tests: New file.
	* tests/test-cbrtf-ieee.c: New file.
	* tests/test-cbrt-ieee.h: New file.

	New module 'cbrtf-ieee'.
	* modules/cbrtf-ieee: New file.

2012-02-29  Bruno Haible  <bruno@clisp.org>

	cbrtf: Work around bug in IRIX 6.5 system function.
	* lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
	* m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
	(gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
	work.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
	* modules/math (Makefile.am): Substitute REPLACE_CBRTF.
	* modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
	(Depends-on): Update conditions.
	* doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.

2012-02-29  Bruno Haible  <bruno@clisp.org>

	Tests for module 'cbrtl'.
	* modules/cbrtl-tests: New file.
	* tests/test-cbrtl.c: New file.

	New module 'cbrtl'.
	* lib/math.in.h (cbrtl): New declaration.
	* lib/cbrtl.c: New file.
	* m4/cbrtl.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
	HAVE_DECL_CBRTL.
	* modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
	HAVE_DECL_CBRTL.
	* modules/cbrtl: New file.
	* tests/test-math-c++.cc: Check the declaration of cbrtl.
	* doc/posix-functions/cbrtl.texi: Mention the new module.

2012-02-29  Bruno Haible  <bruno@clisp.org>

	Tests for module 'cbrtf'.
	* modules/cbrtf-tests: New file.
	* tests/test-cbrtf.c: New file.

	New module 'cbrtf'.
	* lib/math.in.h (cbrtf): New declaration.
	* lib/cbrtf.c: New file.
	* m4/cbrtf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
	HAVE_DECL_CBRTF.
	* modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
	HAVE_DECL_CBRTF.
	* modules/cbrtf: New file.
	* tests/test-math-c++.cc: Check the declaration of cbrtf.
	* doc/posix-functions/cbrtf.texi: Mention the new module.

2012-02-29  Bruno Haible  <bruno@clisp.org>

	cbrt: Provide replacement on MSVC and Minix.
	* lib/math.in.h (cbrt): New declaration.
	* lib/cbrt.c: New file.
	* m4/cbrt.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
	* modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
	* modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
	(Depends-on): Add dependencies.
	(configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
	* tests/test-math-c++.cc: Check the declaration of cbrt.
	* doc/posix-functions/cbrt.texi: Mention that the module provides a
	replacement.

2012-02-29  Bruno Haible  <bruno@clisp.org>

	hypotl-ieee: Work around test failure on OSF/1 and native Windows.
	* m4/hypotl-ieee.m4: New file.
	* m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
	test whether hypotl works with mixed NaN and Infinity arguments.
	Replace it if not.
	* lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
	* modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
	* modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
	(Depends-on): Update conditions.
	* modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
	(Depends-on): Add hypot-ieee.
	(configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
	* doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.

	hypotf-ieee: Work around test failure on OSF/1 and native Windows.
	* m4/hypotf-ieee.m4: New file.
	* m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
	test whether hypotf works with mixed NaN and Infinity arguments.
	Replace it if not.
	* modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
	(Depends-on): Add hypot-ieee.
	(configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
	* doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.

	hypot-ieee: Work around test failure on OSF/1 and native Windows.
	* lib/math.in.h (hypot): New declaration.
	* lib/hypot.c: New file.
	* m4/hypot-ieee.m4: New file.
	* m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
	whether hypot works with mixed NaN and Infinity arguments. Replace it
	if not.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
	REPLACE_HYPOT.
	* modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
	* modules/hypot (Files): Add lib/hypot.c.
	(Depends-on): Add dependencies.
	(configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
	* modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
	(configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
	* tests/test-math-c++.cc: Check the declaration of hypot.
	* doc/posix-functions/hypot.texi: Mention the hypot-ieee module.

	Tests for module 'hypotl-ieee'.
	* modules/hypotl-ieee-tests: New file.
	* tests/test-hypotl-ieee.c: New file.

	New module 'hypotl-ieee'.
	* modules/hypotl-ieee: New file.

	Tests for module 'hypot-ieee'.
	* modules/hypot-ieee-tests: New file.
	* tests/test-hypot-ieee.c: New file.

	New module 'hypot-ieee'.
	* modules/hypot-ieee: New file.

	Tests for module 'hypotf-ieee'.
	* modules/hypotf-ieee-tests: New file.
	* tests/test-hypotf-ieee.c: New file.
	* tests/test-hypot-ieee.h: New file.

	New module 'hypotf-ieee'.
	* modules/hypotf-ieee: New file.

2012-02-29  Bruno Haible  <bruno@clisp.org>

	Remove unused variables.
	* m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
	* m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
	* m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
	* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.

2012-02-29  Eric Blake  <eblake@redhat.com>

	termios: fix pid_t always, not just for tcgetsid
	* doc/posix-headers/termios.texi (termios.h): Mention problem.
	* lib/termios.in.h (include): Ensure pid_t on all platforms, not
	just when building tcgetsid.

2012-02-29  Bruno Haible  <bruno@clisp.org>

	Tests for module 'hypotl'.
	* modules/hypotl-tests: New file.
	* tests/test-hypotl.c: New file.

	New module 'hypotl'.
	* lib/math.in.h (hypotl): New declaration.
	* lib/hypotl.c: New file.
	* m4/hypotl.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
	* modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
	* modules/hypotl: New file.
	* tests/test-math-c++.cc: Check the hypotl declaration.
	* doc/posix-functions/hypotl.texi: Mention the new module.

2012-02-29  Eric Blake  <eblake@redhat.com>

	tcgetsid: fix cygwin header bug
	* lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.

	docs: update cygwin progress
	* doc/posix-functions/llround.texi (llround): Added in cygwin
	1.7.8.
	* doc/posix-functions/llroundf.texi (llroundf): Likewise.
	* doc/glibc-functions/program_invocation_name.texi
	(program_invocation_name): Likewise.
	* doc/glibc-functions/program_invocation_short_name.texi
	(program_invocation_short_name): Likewise.
	* doc/glibc-functions/madvise.texi (madvise): Likewise.
	* doc/glibc-functions/pthread_yield.texi (pthread_yield):
	Likewise.
	* doc/posix-functions/pthread_spin_destroy.texi
	(pthread_spin_destroy): Added in cygwin 1.7.10.
	* doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
	Likewise.
	* doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
	Likewise.
	* doc/posix-functions/pthread_spin_trylock.texi
	(pthread_spin_trylock): Likewise.
	* doc/posix-functions/pthread_spin_unlock.texi
	(pthread_spin_unlock): Likewise.
	* doc/posix-functions/pthread_setschedprio.texi
	(pthread_setschedprio): Likewise.
	* doc/posix-functions/pthread_attr_getstack.texi
	(pthread_attr_getstack): Likewise.
	* doc/pastposix-functions/pthread_attr_getstackaddr.texi
	(pthread_attr_getstackaddr): Likewise.
	* doc/glibc-functions/pthread_getattr_np.texi
	(pthread_getattr_np): Likewise.
	* doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
	* doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
	* doc/posix-functions/clock_settime.texi (clock_settime):
	Likewise.
	* doc/posix-functions/pthread_attr_getguardsize.texi
	(pthread_attr_getguardsize): Likewise.
	* doc/posix-functions/pthread_attr_setguardsize.texi
	(pthread_attr_setguardsize): Likewise.
	* doc/posix-functions/pthread_attr_setstack.texi
	(pthread_attr_setstack): Likewise.
	* doc/pastposix-functions/pthread_attr_setstackaddr.texi
	(pthread_attr_setstackaddr): Likewise.
	* doc/posix-functions/clock_getcpuclockid.texi
	(clock_getcpuclockid): Likewise.
	* doc/posix-functions/pthread_getcpuclockid.texi
	(pthread_getcpuclockid): Likewise.
	* doc/glibc-functions/error.texi (error): Likewise.
	* doc/glibc-functions/error_at_line.texi (error_at_line):
	Likewise.
	* doc/glibc-functions/error_message_count.texi
	(error_message_count): Likewise.
	* doc/glibc-functions/error_one_per_line.texi
	(error_one_per_line): Likewise.
	* doc/glibc-functions/error_print_progname.texi
	(error_print_progname): Likewise.
	* doc/posix-functions/pthread_condattr_getclock.texi
	(pthread_condattr_getclock): Likewise.
	* doc/posix-functions/pthread_condattr_setclock.texi
	(pthread_condattr_setclock): Likewise.
	* doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
	Likewise.
	* doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
	* doc/glibc-functions/getpt.texi (getpt): Likewise.
	* doc/glibc-functions/get_current_dir_name.texi
	(get_current_dir_name): Likewise.
	* doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
	Likewise.
	* doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
	wrong return type.
	* doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
	1.7.11.

2012-02-29  Bruno Haible  <bruno@clisp.org>

	Tests for module 'hypotf'.
	* modules/hypotf-tests: New file.
	* tests/test-hypotf.c: New file.

	New module 'hypotf'.
	* lib/math.in.h (hypotf): New declaration.
	* lib/hypotf.c: New file.
	* m4/hypotf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
	REPLACE_HYPOTF.
	* modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
	REPLACE_HYPOTF.
	* modules/hypotf: New file.
	* tests/test-math-c++.cc: Check the hypotf declaration.
	* doc/posix-functions/hypotf.texi: Mention the new module.

	hypot: Prepare for hypotf module.
	* m4/hypot.m4: New file.
	* modules/hypot (Files): Add m4/hypot.m4.
	(configure.ac): Invoke gl_FUNC_HYPOT.

2012-02-29  Bruno Haible  <bruno@clisp.org>

	hypot tests: More tests.
	* tests/test-hypot.c: Include <float.h>.
	(main): Add tests about overflow and underflow.

2012-02-29  Bruno Haible  <bruno@clisp.org>

	math code: Add comments.
	* lib/acosl.c: Add comment about related glibc source files.
	* lib/asinl.c: Likewise.
	* lib/atanl.c: Likewise.
	* lib/expl.c: Likewise.
	* lib/logl.c: Likewise.
	* lib/sincosl.c: Likewise.
	* lib/sinl.c: Likewise.
	* lib/tanl.c: Likewise.
	* lib/trigl.c: Likewise.
	* lib/cosl.c: Likewise. Fix comments.

2012-02-28  Bruno Haible  <bruno@clisp.org>

	math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
	* lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
	* tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
	HUGE_VALL are defined.
	(numeric_equald): Renamed from numeric_equal.
	(numeric_equalf, numeric_equall): New functions.
	(main): Check also HUGE_VALF, HUGE_VALL.
	* modules/math-tests (Files): Add tests/macros.h.
	* doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
	HUGE_VALL.

2012-02-28  Bruno Haible  <bruno@clisp.org>

	doc: Move ISO C11 feature notes into POSIX chapters.
	* doc/posix-functions/aligned_alloc.texi: Renamed from
	doc/glibc-functions/aligned_alloc.texi.
	* doc/posix-functions/quick_exit.texi: Renamed from
	doc/glibc-functions/quick_exit.texi.
	* doc/posix-headers/uchar.texi: Renamed from
	doc/glibc-headers/uchar.texi.
	* doc/posix-functions/c16rtomb.texi: Renamed from
	doc/glibc-functions/c16rtomb.texi.
	* doc/posix-functions/c32rtomb.texi: Renamed from
	doc/glibc-functions/c32rtomb.texi.
	* doc/posix-functions/mbrtoc16.texi: Renamed from
	doc/glibc-functions/mbrtoc16.texi.
	* doc/posix-functions/mbrtoc32.texi: Renamed from
	doc/glibc-functions/mbrtoc32.texi.
	* doc/gnulib.texi: Update.
	(Glibc uchar.h): Remove section.
	Suggested by Eric Blake.

2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>

	stdnoreturn: port to MSVC better
	MSVC standard headers use __declspec(noreturn), so #define noreturn
	to empty on that platform.  Reported by Bruno Haible in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
	* lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
	* doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.

2012-02-28  Bruno Haible  <bruno@clisp.org>

	doc: Mention new glibc headers and functions.
	* doc/glibc-headers/uchar.texi: New file.
	* doc/glibc-functions/aligned_alloc.texi: New file.
	* doc/glibc-functions/c16rtomb.texi: New file.
	* doc/glibc-functions/c32rtomb.texi: New file.
	* doc/glibc-functions/clock_adjtime.texi: New file.
	* doc/glibc-functions/fanotify_init.texi: New file.
	* doc/glibc-functions/fanotify_mark.texi: New file.
	* doc/glibc-functions/inet6_opt_append.texi: New file.
	* doc/glibc-functions/inet6_opt_find.texi: New file.
	* doc/glibc-functions/inet6_opt_finish.texi: New file.
	* doc/glibc-functions/inet6_opt_get_val.texi: New file.
	* doc/glibc-functions/inet6_opt_init.texi: New file.
	* doc/glibc-functions/inet6_opt_next.texi: New file.
	* doc/glibc-functions/inet6_opt_set_val.texi: New file.
	* doc/glibc-functions/inet6_rth_add.texi: New file.
	* doc/glibc-functions/inet6_rth_getaddr.texi: New file.
	* doc/glibc-functions/inet6_rth_init.texi: New file.
	* doc/glibc-functions/inet6_rth_reverse.texi: New file.
	* doc/glibc-functions/inet6_rth_segments.texi: New file.
	* doc/glibc-functions/inet6_rth_space.texi: New file.
	* doc/glibc-functions/login.texi: New file.
	* doc/glibc-functions/mbrtoc16.texi: New file.
	* doc/glibc-functions/mbrtoc32.texi: New file.
	* doc/glibc-functions/name_to_handle_at.texi: New file.
	* doc/glibc-functions/ntp_gettimex.texi: New file.
	* doc/glibc-functions/open_by_handle_at.texi: New file.
	* doc/glibc-functions/prlimit.texi: New file.
	* doc/glibc-functions/process_vm_readv.texi: New file.
	* doc/glibc-functions/process_vm_writev.texi: New file.
	* doc/glibc-functions/recvmmsg.texi: New file.
	* doc/glibc-functions/scandirat.texi: New file.
	* doc/glibc-functions/sendmmsg.texi: New file.
	* doc/glibc-functions/setns.texi: New file.
	* doc/glibc-functions/timespec_get.texi: New file.
	* doc/gnulib.texi: Include them.
	(Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
	sections.
	Reported by Eric Blake.

2012-02-28  Bruno Haible  <bruno@clisp.org>

	Avoid compilation errors with MSVC option -fp:strict.
	* lib/floor.c: Use MSVC specific pragma fenv_access.
	* lib/ceil.c: Likewise.
	* lib/trunc.c: Likewise.
	* lib/round.c: Likewise.
	* lib/rint.c: Likewise.
	* lib/fma.c: Likewise.
	* lib/integer_length.c: Likewise.
	* m4/round.m4 (gl_FUNC_ROUND): Likewise.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
	* tests/test-floor2.c: Likewise.
	* tests/test-floorf2.c: Likewise.
	* tests/test-ceil2.c: Likewise.
	* tests/test-ceilf2.c: Likewise.
	* tests/test-trunc2.c: Likewise.
	* tests/test-truncf2.c: Likewise.
	Reported by Michael Goffioul <michael.goffioul@gmail.com>.

2012-02-27  Bruno Haible  <bruno@clisp.org>

	Tests for module 'sqrtl-ieee'.
	* modules/sqrtl-ieee-tests: New file.
	* tests/test-sqrtl-ieee.c: New file.

	New module 'sqrtl-ieee'.
	* modules/sqrtl-ieee: New file.

	Tests for module 'sqrt-ieee'.
	* modules/sqrt-ieee-tests: New file.
	* tests/test-sqrt-ieee.c: New file.

	New module 'sqrt-ieee'.
	* modules/sqrt-ieee: New file.

	Tests for module 'sqrtf-ieee'.
	* modules/sqrtf-ieee-tests: New file.
	* tests/test-sqrtf-ieee.c: New file.
	* tests/test-sqrt-ieee.h: New file.

	New module 'sqrtf-ieee'.
	* modules/sqrtf-ieee: New file.

2012-02-27  Bruno Haible  <bruno@clisp.org>

	remainderl-ieee: Work around test failure on OSF/1.
	* m4/remainderl-ieee.m4: New file.
	* m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
	present, test whether remainderl works with a zero second argument.
	Replace it if not.
	* lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
	* modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
	* modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
	(Depends-on): Update conditions.
	* modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
	(Depends-on): Add remainder-ieee.
	(configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
	* doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
	module.

	remainderf-ieee: Work around test failure on OSF/1.
	* m4/remainderf-ieee.m4: New file.
	* m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
	present, test whether remainderf works with a zero second argument.
	Replace it if not.
	* lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
	* modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
	* modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
	(Depends-on): Update conditions.
	* modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
	(Depends-on): Add remainder-ieee.
	(configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
	* doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
	module.

	remainder-ieee: Work around test failure on OSF/1.
	* m4/remainder-ieee.m4: New file.
	* m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
	present, test whether remainder works with a zero second argument.
	Replace it if not.
	* lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
	* modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
	* modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
	(Depends-on): Update dependencies.
	* modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
	(configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
	* doc/posix-functions/remainder.texi: Mention the remainder-ieee module.

	Tests for module 'remainderl-ieee'.
	* modules/remainderl-ieee-tests: New file.
	* tests/test-remainderl-ieee.c: New file.

	New module 'remainderl-ieee'.
	* modules/remainderl-ieee: New file.

	Tests for module 'remainder-ieee'.
	* modules/remainder-ieee-tests: New file.
	* tests/test-remainder-ieee.c: New file.

	New module 'remainder-ieee'.
	* modules/remainder-ieee: New file.

	Tests for module 'remainderf-ieee'.
	* modules/remainderf-ieee-tests: New file.
	* tests/test-remainderf-ieee.c: New file.
	* tests/test-remainder-ieee.h: New file.

	New module 'remainderf-ieee'.
	* modules/remainderf-ieee: New file.

2012-02-27  Bruno Haible  <bruno@clisp.org>

	modff, modfl: Fix configure syntax error.
	* m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
	* m4/modfl.m4 (gl_FUNC_MODFL): Likewise.

2012-02-27  Bruno Haible  <bruno@clisp.org>

	fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
	* m4/fmodl-ieee.m4: New file.
	* m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
	whether fmodl works with zero arguments. Replace it if not.
	* modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
	(Depends-on): Add fmod-ieee.
	(configure.ac): Invoke gl_FUNC_FMODL_IEEE.
	* doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.

	fmodf-ieee: Work around test failure on OSF/1.
	* m4/fmodf-ieee.m4: New file.
	* m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
	whether fmodf works with zero arguments. Replace it if not.
	* lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
	* modules/math (Makefile.am): Substitute REPLACE_FMODF.
	* modules/fmodf (configure.ac): Consider REPLACE_FMODF.
	(Depends-on): Update dependencies.
	* modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
	(configure.ac): Invoke gl_FUNC_FMODF_IEEE.
	* doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.

	fmodf-ieee: Work around test failure on MSVC 9.
	* modules/fmodf-ieee (Depends-on): Add fmod-ieee.
	* doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.

	fmod-ieee: Work around test failures on OSF/1, mingw.
	* m4/fmod-ieee.m4: New file.
	* m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
	whether fmod works with zero arguments. Replace it if not.
	* lib/math.in.h (fmod): New declaration.
	* lib/fmod.c: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
	* modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
	* modules/fmod (Files): Add lib/fmod.c.
	(Depends-on): Add math, isinf, trunc, fma.
	(configure.ac): Arrange to compile lib/fmod.c if needed.
	* modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
	m4/signbit.m4.
	(configure.ac): Invoke gl_FUNC_FMOD_IEEE.
	* tests/test-math-c++.cc: Check the declaration of fmod.
	* doc/posix-functions/fmod.texi: Mention the fmod-ieee module.

	fmodl-ieee: Fix test failures.
	* lib/fmodl.c (fmodl): Treat Inf specially.
	* modules/fmodl (Depends-on): Add isinf.

	Tests for module 'fmodl-ieee'.
	* modules/fmodl-ieee-tests: New file.
	* tests/test-fmodl-ieee.c: New file.

	New module 'fmodl-ieee'.
	* modules/fmodl-ieee: New file.

	Tests for module 'fmod-ieee'.
	* modules/fmod-ieee-tests: New file.
	* tests/test-fmod-ieee.c: New file.

	New module 'fmod-ieee'.
	* modules/fmod-ieee: New file.

	Tests for module 'fmodf-ieee'.
	* modules/fmodf-ieee-tests: New file.
	* tests/test-fmodf-ieee.c: New file.
	* tests/test-fmod-ieee.h: New file.

	New module 'fmodf-ieee'.
	* modules/fmodf-ieee: New file.

2012-02-27  Bruno Haible  <bruno@clisp.org>

	Tests for module 'rintl-ieee'.
	* modules/rintl-ieee-tests: New file.
	* tests/test-rintl-ieee.c: New file.

	New module 'rintl-ieee'.
	* modules/rintl-ieee: New file.

	Tests for module 'rint-ieee'.
	* modules/rint-ieee-tests: New file.
	* tests/test-rint-ieee.c: New file.

	New module 'rint-ieee'.
	* modules/rint-ieee: New file.

	Tests for module 'rintf-ieee'.
	* modules/rintf-ieee-tests: New file.
	* tests/test-rintf-ieee.c: New file.
	* tests/test-rint-ieee.h: New file.

	New module 'rintf-ieee'.
	* modules/rintf-ieee: New file.

2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>

	regex: re_search etc. should return -2 when memory exhausted
	This bug was uncovered when testing 'grep'.  Without the fix,
	re_search and friends return -1 when memory is exhausted, but -1
	means no match, and this causes grep to falsely report no-match
	instead of memory-exhaustion.  See
	<http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
	* lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
	trouble; this can occur if re_search_internal ran out of memory.

2012-02-26  Bruno Haible  <bruno@clisp.org>

	modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
	* m4/modfl-ieee.m4: New file.
	* m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
	whether modfl works with Inf. Replace it if not.
	* lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
	* modules/math (Makefile.am): Substitute REPLACE_MODFL.
	* modules/modfl (configure.ac): Consider REPLACE_MODFL.
	(Depends-on): Update dependencies.
	* modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
	m4/signbit.m4.
	(configure.ac): Invoke gl_FUNC_MODFL_IEEE.
	* doc/posix-functions/modfl.texi: Mention the modfl-ieee module.

	modfl-ieee: Fix dependencies.
	* modules/modfl-ieee (Depends-on): Add modf-ieee.

	modfl-ieee: Fix test failures.
	* lib/modfl.c (modfl): Treat NaN and Inf specially.
	* modules/modfl (Depends-on): Add isfinite, isinf.

	modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
	* m4/modff-ieee.m4: New file.
	* m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
	whether modff works with NaN and Inf. Replace it if not.
	* lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
	* modules/math (Makefile.am): Substitute REPLACE_MODFF.
	* modules/modff (configure.ac): Consider REPLACE_MODFF.
	(Depends-on): Update dependencies.
	* modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
	m4/signbit.m4.
	(Depends-on): Add modf-ieee.
	(configure.ac): Invoke gl_FUNC_MODFF_IEEE.
	* doc/posix-functions/modff.texi: Mention the modff-ieee module.

	modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
	* m4/modf-ieee.m4: New file.
	* m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
	whether modf works with NaN and Inf. Replace it if not.
	* lib/math.in.h (modf): New declaration.
	* lib/modf.c: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
	* modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
	* modules/modf (Files): Add lib/modf.c.
	(Depends-on): Add math, isfinite, trunc, isinf.
	(configure.ac): Addrange to compile lib/modf.c if needed.
	* modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
	m4/signbit.m4.
	(configure.ac): Invoke gl_FUNC_MODF_IEEE.
	* tests/test-math-c++.cc: Check the declaration of modf.
	* doc/posix-functions/modf.texi: Mention the modf-ieee module.

	Tests for module 'modfl-ieee'.
	* modules/modfl-ieee-tests: New file.
	* tests/test-modfl-ieee.c: New file.

	New module 'modfl-ieee'.
	* modules/modfl-ieee: New file.

	Tests for module 'modf-ieee'.
	* modules/modf-ieee-tests: New file.
	* tests/test-modf-ieee.c: New file.

	New module 'modf-ieee'.
	* modules/modf-ieee: New file.

	Tests for module 'modff-ieee'.
	* modules/modff-ieee-tests: New file.
	* tests/test-modff-ieee.c: New file.
	* tests/test-modf-ieee.h: New file.

	New module 'modff-ieee'.
	* modules/modff-ieee: New file.

2012-02-26  Bruno Haible  <bruno@clisp.org>

	Tests for module 'fabsl-ieee'.
	* modules/fabsl-ieee-tests: New file.
	* tests/test-fabsl-ieee.c: New file.

	New module 'fabsl-ieee'.
	* modules/fabsl-ieee: New file.

	Tests for module 'fabs-ieee'.
	* modules/fabs-ieee-tests: New file.
	* tests/test-fabs-ieee.c: New file.

	New module 'fabs-ieee'.
	* modules/fabs-ieee: New file.

	Tests for module 'fabsf-ieee'.
	* modules/fabsf-ieee-tests: New file.
	* tests/test-fabsf-ieee.c: New file.
	* tests/test-fabs-ieee.h: New file.

	New module 'fabsf-ieee'.
	* modules/fabsf-ieee: New file.

2012-02-26  Bruno Haible  <bruno@clisp.org>

	Tests for module 'fmal-ieee'.
	* modules/fmal-ieee-tests: New file.
	* tests/test-fmal-ieee.c: New file.

	New module 'fmal-ieee'.
	* modules/fmal-ieee: New file.

	Tests for module 'fma-ieee'.
	* modules/fma-ieee-tests: New file.
	* tests/test-fma-ieee.c: New file.

	New module 'fma-ieee'.
	* modules/fma-ieee: New file.

	Tests for module 'fmaf-ieee'.
	* modules/fmaf-ieee-tests: New file.
	* tests/test-fmaf-ieee.c: New file.
	* tests/test-fma-ieee.h: New file.

	New module 'fmaf-ieee'.
	* modules/fmaf-ieee: New file.

2012-02-26  Bruno Haible  <bruno@clisp.org>

	Tests for module 'ldexpl-ieee'.
	* modules/ldexpl-ieee-tests: New file.
	* tests/test-ldexpl-ieee.c: New file.

	New module 'ldexpl-ieee'.
	* modules/ldexpl-ieee: New file.

	Tests for module 'ldexp-ieee'.
	* modules/ldexp-ieee-tests: New file.
	* tests/test-ldexp-ieee.c: New file.

	New module 'ldexp-ieee'.
	* modules/ldexp-ieee: New file.

	Tests for module 'ldexpf-ieee'.
	* modules/ldexpf-ieee-tests: New file.
	* tests/test-ldexpf-ieee.c: New file.
	* tests/test-ldexp-ieee.h: New file.

	New module 'ldexpf-ieee'.
	* modules/ldexpf-ieee: New file.

2012-02-26  Bruno Haible  <bruno@clisp.org>

	Refactor frexp*-ieee tests.
	* tests/test-frexp-ieee.h: New file.
	* tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
	(main): Just call test_function.
	* tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
	(main): Just call test_function.
	* tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
	(main): Just call test_function.
	* modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
	* modules/frexp-ieee-tests (Files): Likewise.
	* modules/frexpl-ieee-tests (Files): Likewise.

	Tests for module 'frexpl-ieee'.
	* modules/frexpl-ieee-tests: New file.
	* tests/test-frexpl-ieee.c: New file.

	New module 'frexpl-ieee'.
	* modules/frexpl-ieee: New file.

	Tests for module 'frexp-ieee'.
	* modules/frexp-ieee-tests: New file.
	* tests/test-frexp-ieee.c: New file.

	New module 'frexp-ieee'.
	* modules/frexp-ieee: New file.

	Tests for module 'frexpf-ieee'.
	* modules/frexpf-ieee-tests: New file.
	* tests/test-frexpf-ieee.c: New file.

	New module 'frexpf-ieee'.
	* modules/frexpf-ieee: New file.

2012-02-26  Bruno Haible  <bruno@clisp.org>

	roundl-ieee tests: More tests.
	* tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
	(main): Add tests for [MX] shaded specification in POSIX.
	* modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
	(Depends-on): Add isnanl-nolibm.

	round-ieee tests: More tests.
	* tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
	(main): Add tests for [MX] shaded specification in POSIX.
	* modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
	(Depends-on): Add isnand-nolibm.

	roundf-ieee tests: More tests.
	* tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
	(main): Add tests for [MX] shaded specification in POSIX.
	* modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
	(Depends-on): Add isnanf-nolibm.

	truncl-ieee tests: More tests.
	* tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
	(main): Add tests for [MX] shaded specification in POSIX.
	* modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
	(Depends-on): Add isnanl-nolibm.

	trunc-ieee tests: More tests.
	* tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
	(main): Add tests for [MX] shaded specification in POSIX.
	* modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
	(Depends-on): Add isnand-nolibm.

	truncf-ieee tests: More tests.
	* tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
	(main): Add tests for [MX] shaded specification in POSIX.
	* modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
	(Depends-on): Add isnanf-nolibm.

	ceill-ieee tests: More tests.
	* tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
	(main): Add tests for [MX] shaded specification in POSIX.
	* modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
	(Depends-on): Add isnanl-nolibm.

	ceil-ieee tests: More tests.
	* tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
	(main): Add tests for [MX] shaded specification in POSIX.
	* modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
	(Depends-on): Add isnand-nolibm.

	ceilf-ieee tests: More tests.
	* tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
	(main): Add tests for [MX] shaded specification in POSIX.
	* modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
	(Depends-on): Add isnanf-nolibm.

	floorl-ieee tests: More tests.
	* tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
	(main): Add tests for [MX] shaded specification in POSIX.
	* modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
	(Depends-on): Add isnanl-nolibm.

	floor-ieee tests: More tests.
	* tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
	(main): Add tests for [MX] shaded specification in POSIX.
	* modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
	(Depends-on): Add isnand-nolibm.

	floorf-ieee tests: More tests.
	* tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
	(main): Add tests for [MX] shaded specification in POSIX.
	* modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
	(Depends-on): Add isnanf-nolibm.

2012-02-26  Bruno Haible  <bruno@clisp.org>

	fpieee: More comments.
	* m4/fpieee.m4 (gl_FP_IEEE): Add more comments.

2012-02-25  Bruno Haible  <bruno@clisp.org>

	Tests for module 'log10l'.
	* modules/log10l-tests: New file.
	* tests/test-log10l.c: New file.
	* tests/test-math-c++.cc: Check the declaration of log10l.

	New module 'log10l'.
	* lib/math.in.h (log10l): New declaration.
	* lib/log10l.c: New file.
	* m4/log10l.m4: New file.
	* modules/log10l: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
	HAVE_DECL_LOG10L.
	* modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
	HAVE_DECL_LOG10L.
	* doc/posix-functions/log10l.texi: Mention the new module.

2012-02-25  Bruno Haible  <bruno@clisp.org>

	fmodl, remainder*: Avoid wrong results due to rounding errors.
	* lib/fmodl.c (fmodl): Correct the result if it is not within the
	expected bounds.
	* lib/remainderf.c (remainderf): Likewise.
	* lib/remainder.c (remainder): Likewise.
	* lib/remainderl.c (remainderl): Likewise.

2012-02-25  Bruno Haible  <bruno@clisp.org>

	Tests for module 'remainderl'.
	* modules/remainderl-tests: New file.
	* tests/test-remainderl.c: New file.
	* tests/test-math-c++.cc: Check the declaration of remainderl.

	New module 'remainderl'.
	* lib/math.in.h (remainderl): New declaration.
	* lib/remainderl.c: New file.
	* m4/remainderl.m4: New file.
	* modules/remainderl: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
	* modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
	HAVE_REMAINDERL.
	* doc/posix-functions/remainderl.texi: Mention the new module.

2012-02-25  Bruno Haible  <bruno@clisp.org>

	Tests for module 'remainderf'.
	* modules/remainderf-tests: New file.
	* tests/test-remainderf.c: New file.
	* tests/test-math-c++.cc: Check the declaration of remainderf.

	New module 'remainderf'.
	* lib/math.in.h (remainderf): New declaration.
	* lib/remainderf.c: New file.
	* m4/remainderf.m4: New file.
	* modules/remainderf: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
	* modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
	HAVE_REMAINDERF.
	* doc/posix-functions/remainderf.texi: Mention the new module.

2012-02-25  Bruno Haible  <bruno@clisp.org>

	remainder: Support for MSVC.
	* lib/math.in.h (remainder): New declaration.
	* lib/remainder.c: New file.
	* m4/remainder.m4: New file.
	* modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
	(Depends-on): Add math, round, fma.
	(configure.ac): Use results of gl_FUNC_REMAINDER.
	* m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
	HAVE_DECL_REMAINDER.
	* modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
	HAVE_REMAINDER, HAVE_DECL_REMAINDER.
	* tests/test-math-c++.cc: Check the declaration of remainder.
	* doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
	problems are fixed.

2012-02-25  Bruno Haible  <bruno@clisp.org>

	Tests for module 'fmodl'.
	* modules/fmodl-tests: New file.
	* tests/test-fmodl.c: New file.
	* tests/test-math-c++.cc: Check the declaration of fmodl.

	New module 'fmodl'.
	* lib/math.in.h (fmodl): New declaration.
	* lib/fmodl.c: New file.
	* m4/fmodl.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
	REPLACE_FMODL.
	* modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
	REPLACE_FMODL.
	* modules/fmodl: New file.
	* doc/posix-functions/fmodl.texi: Mention the new module.

2012-02-25  Bruno Haible  <bruno@clisp.org>

	Tests for module 'modfl'.
	* modules/modfl-tests: New file.
	* tests/test-modfl.c: New file.
	* tests/test-math-c++.cc: Check the declaration of modfl.

	New module 'modfl'.
	* lib/math.in.h (modfl): New declaration.
	* lib/modfl.c: New file.
	* m4/modfl.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
	* modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
	* modules/modfl: New file.
	* doc/posix-functions/modfl.texi: Mention the new module.

2012-02-25  Bruno Haible  <bruno@clisp.org>

	Tests for module 'fabsl'.
	* modules/fabsl-tests: New file.
	* tests/test-fabsl.c: New file.
	* tests/test-math-c++.cc: Check the declaration of fabsl.

	New module 'fabsl'.
	* lib/math.in.h (fabsl): New declaration.
	* lib/fabsl.c: New file.
	* m4/fabsl.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
	REPLACE_FABSL.
	* modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
	REPLACE_FABSL.
	* modules/fabsl: New file.
	* doc/posix-functions/fabsl.texi: Mention the new module.

2012-02-25  Bruno Haible  <bruno@clisp.org>

	fabs tests: More tests.
	* tests/test-fabs.c: Include <string.h>, minus-zero.h.
	(zero): New variable.
	(main): Add tests for signed zero.
	* modules/fabs-tests (Files): Add tests/minus-zero.h.

	fabsf tests: More tests.
	* tests/test-fabsf.c: Include <string.h>, minus-zero.h.
	(zero): New variable.
	(main): Add tests for signed zero.
	* modules/fabsf-tests (Files): Add tests/minus-zero.h.

2012-02-24  Bruno Haible  <bruno@clisp.org>

	atanl: Provide function definition on MSVC.
	* m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
	function pointer.
	* lib/math.in.h (atanl): Undefine if it does not exist as a function.

2012-02-24  Bruno Haible  <bruno@clisp.org>

	acosl: Provide function definition on MSVC.
	* m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
	function pointer.
	* lib/math.in.h (acosl): Undefine if it does not exist as a function.

2012-02-24  Bruno Haible  <bruno@clisp.org>

	asinl: Provide function definition on MSVC.
	* m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
	function pointer.
	* lib/math.in.h (asinl): Undefine if it does not exist as a function.

2012-02-24  Bruno Haible  <bruno@clisp.org>

	tanl: Provide function definition on MSVC.
	* m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
	function pointer.
	* lib/math.in.h (tanl): Undefine if it does not exist as a function.

2012-02-24  Bruno Haible  <bruno@clisp.org>

	cosl: Provide function definition on MSVC.
	* m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
	function pointer.
	* lib/math.in.h (cosl): Undefine if it does not exist as a function.

2012-02-24  Bruno Haible  <bruno@clisp.org>

	sinl: Provide function definition on MSVC.
	* m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
	function pointer.
	* lib/math.in.h (sinl): Undefine if it does not exist as a function.

2012-02-24  Bruno Haible  <bruno@clisp.org>

	logl: Provide function definition on MSVC.
	* m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
	function pointer.
	* lib/math.in.h (logl): Undefine if it does not exist as a function.

2012-02-24  Bruno Haible  <bruno@clisp.org>

	expl: Provide function definition on MSVC.
	* m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
	function pointer.
	* lib/math.in.h (expl): Undefine if it does not exist as a function.

2012-02-24  Bruno Haible  <bruno@clisp.org>

	sqrtl: Provide function definition on MSVC.
	* m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
	a function pointer.
	* lib/math.in.h (sqrtl): Undefine if it does not exist as a function.

2012-02-24  Bruno Haible  <bruno@clisp.org>

	ceill: Provide function definition on MSVC.
	* m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
	used as a function pointer.
	* lib/math.in.h (ceill): Undefine if it is not declared as a function.

2012-02-24  Bruno Haible  <bruno@clisp.org>

	floorl: Provide function definition on MSVC.
	* m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
	used as a function pointer.
	* lib/math.in.h (floorl): Undefine if it is not declared as a function.

2012-02-24  Bruno Haible  <bruno@clisp.org>

	ceilf: Provide function definition on MSVC.
	* m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
	used as a function pointer.
	* lib/math.in.h (ceilf): Undefine if it is not declared as a function.

2012-02-24  Bruno Haible  <bruno@clisp.org>

	floorf: Provide function definition on MSVC.
	* m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
	used as a function pointer.
	* lib/math.in.h (floorf): Undefine if it is not declared as a function.

2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>

	stdnoreturn: new module
	This implements a replacement for C11's <stdnoreturn.h>.
	* doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
	* doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
	* m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
	* tests/test-stdnoreturn.c: New files.

2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)

	regex: fix false multibyte matches in some regular expressions
	See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
	and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
	* lib/regex_internal.c (re_string_skip_chars):
	Fix miscomputation of remain_len that may cause incomplete
	multi-byte character and false match.

2012-02-24  Jim Meyering  <meyering@redhat.com>

	maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
	* top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
	uses with "==" *before* the call, e.g., 0 == strcmp (...)
	Remove now-unnecessary str''cmp obfuscation.
	Suggested by Akim Demaille.

2012-02-24  Bruno Haible  <bruno@clisp.org>

	streq: Rename macro.
	* lib/streq.h (STREQ_OPT): Renamed from STREQ.
	* NEWS: Mention the change.
	* lib/mbrtowc.c (mbrtowc): Update.
	* lib/uniwidth/cjk.h (is_cjk_encoding): Update.
	* lib/wcwidth.c (wcwidth): Update.
	Suggested by Akim Demaille and Jim Meyering.

2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>

	regex: fix typo in definition of MIN
	* lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
	Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.

2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	acl: Don't use ACL_CNT and similar ops, since they are unreliable.
	* lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
	entries into a stack-allocated buffer directly.
	* lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.

2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	acl: Don't use GETACLCNT and similar ops, since they are unreliable.

	 - There were several instances of this pattern:

	     for (;;) {
	       n = acl (f, GETACLCNT, 0, NULL);
	       [ allocate an array A of size N ]
	       if (acl (f, GETACL, n, a) == n)
		 break;
	     }

	   This loop might never terminate if some other process is constantly
	   manipulating the file's ACL.  The loop should be rewritten to
	   terminate.

	 - The acl (... GETACLNT ...) call is merely an optimization; its value
	   is merely a hint as to how big to make the array.  A better
	   optimization is to avoid the acl (... GETACLNT ...)  call entirely,
	   and just guess a reasonably-big size, growing the size and trying
	   again if it's not large enough.  This guarantees termination, and
	   saves a system call.

	* lib/acl-internal.h: Include <limits.h>.
	(MIN, SIZE_MAX): New macros.
	* lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
	a stack-allocated buffer, and use malloc if it does not fit. Don't
	use GETACLCNT.
	* lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.

2012-02-19  Bruno Haible  <bruno@clisp.org>

	acl: Fix endless loop on Solaris with vxfs.
	* lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
	acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
	* lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
	* lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
	* tests/test-sameacls.c (main)[Solaris]: Likewise.
	Reported by Bill Jones in
	<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.

2012-02-19  Bruno Haible  <bruno@clisp.org>

	acl: Fix copy-acl test failure on Solaris 11 2011-11.
	* lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
	(acl_ace_nontrivial): Relax the restrictions on access_masks[] so
	that this function returns 0 in some more cases.

2012-02-19  Bruno Haible  <bruno@clisp.org>

	acl: Update doc references.
	* doc/acl-resources.txt: Update links to Solaris documentation.

2012-02-19  Bruno Haible  <bruno@clisp.org>

	Fix test failure in many locales on Solaris 11.
	* tests/test-pipe-filter-gi1.c (main): Don't use range expression in
	'tr' arguments.
	* tests/test-pipe-filter-ii1.c (main): Likewise.
	* build-aux/bootstrap (check_versions): Run 'tr' command with range
	expressions in the C locale.
	* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
	* m4/host-os.m4 (gl_HOST_OS): Likewise.

2012-02-19  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Improve usage message.
	* gnulib-tool (func_usage): Move doc of --help and --version to the
	section "Operation modes".

2012-02-18  Reuben Thomas  <rrt@sc3d.org>

	README-release: make it easier to execute commands
	* top/README-release: break commands out on to separate lines.

2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>

	GNUmakefile: simplify detection of unconfigured trees
	* top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
	whether the tree make is being run from is already configured or
	not.  Related simplifications.

2012-02-13  Simon Josefsson  <simon@josefsson.org>

	* gnulib-tool (func_usage): Document --help and --version.

2012-02-11  Jim Meyering  <meyering@redhat.com>

	bootstrap: don't exit 0 upon gnulib-tool failure
	* build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
	its exit status, not 0.

2011-12-19  Reuben Thomas  <rrt@sc3d.org>

	README-release: various improvements
	* top/README-release: Give a command to push changes for the
	release.  Add "distcheck" to list of other pre-release checks.
	Fix instance of "make stable" which should be "make TYPE".

2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	maint: replace FSF snail-mail addresses with URLs
	* config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
	* lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
	* lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
	* lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
	* lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
	* lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
	* lib/check-version.c, lib/check-version.h, lib/config.charset:
	* lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
	* lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
	* lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
	* lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
	* lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
	* lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
	* lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
	* lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
	* lib/glthread/thread.c, lib/glthread/thread.h:
	* lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
	* lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
	* lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
	* lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
	* lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
	* lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
	* lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
	* lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
	* lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
	* lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
	* lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
	* lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
	* lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
	* lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
	* lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
	* lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
	* lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
	* lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
	* lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
	* lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
	* lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
	* lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
	* lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
	* lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
	* lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
	* lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
	* lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
	* lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
	* lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
	* lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
	* lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
	* lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
	* lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
	* lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
	* lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
	* lib/xsize.h, tests/test-closein.c, tests/test-des.c:
	* tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
	* tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
	* tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
	* tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
	* tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
	* tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
	* tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
	* tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
	* tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
	* tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
	* tests/test-poll.c, tests/test-quotearg-simple.c:
	* tests/test-quotearg.c, tests/test-quotearg.h:
	* tests/test-round-ieee.c, tests/test-round1.c:
	* tests/test-roundf-ieee.c, tests/test-roundf1.c:
	* tests/test-roundl-ieee.c, tests/test-roundl.c:
	* tests/test-safe-alloc.c, tests/test-sigpipe.c:
	* tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
	* tests/test-strerror.c, tests/test-strerror_r.c:
	* tests/test-strsignal.c, tests/test-strverscmp.c:
	* tests/test-xmemdup0.c:
	Replace FSF snail mail addresses with URLs, as per GNU coding
	standards.  See glibc bug
	<http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.

2011-12-22  Reuben Thomas  <rrt@sc3d.org>

	README-release: capitalize a word and split a line
	* top/README-release: Fix punctuation and spacing.

2012-02-08  Akim Demaille  <demaille@gostai.com>

	fatal-signal: use C prototypes (with explicit void).
	* lib/fatal-signal.c (uninstall_handlers, install_handlers)
	(init_fatal_signal_set, block_fatal_signals): Fix signatures.

2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>

	regex: spelling fix
	* lib/regexec.c: spelling fix

	regex: rely on stdint.h for SIZE_MAX
	* lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.

2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>

	regex: merge glibc changes

	* lib/regcomp.c (init_dfa): Tighten overflow checks to test
	for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
	(init_word_char): Work even if bitset words are not exactly 32 or
	64 bits wide.  Don't assume there are no padding bits.
	* lib/regex.c [_LIBC]: Do not include <config.h>.
	[!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
	and -Wtype-limits.
	* lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
	needless disagreement with glibc.  All uses changed.  Define it to
	1 only if _GNU_SOURCE, to match glibc.
	(_REG_RM_NAME): Remove; no longer needed, since the names in
	question are now all protected by __USE_GNU.
	(_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
	(REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
	* lib/regex_internal.h (MIN): New macro.

	2012-01-03 Ulrich Drepper <drepper@gmail.com>
	* lib/regcomp.c (init_word_char): Optimize regex a bit.

	2011-12-30 Jakub Jelinek <jakub@redhat.com>
	* lib/regex_internal.c (re_string_fetch_byte_case):
	Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
	is miscompiled, and it turns out it is because of an incorrect
	attribute on re_string_fetch_byte_case.  Unlike
	re_string_peek_byte_case, this one is really not pure, it modifies
	memory (increments pstr->cur_idx), and with the pure attribute GCC
	assumed it doesn't and it cached the presumed value of
	regexp->cur_idx in a variable across the
	 for (;; ++i)
	   {
	     if (i >= BRACKET_NAME_BUF_SIZE)
	       return REG_EBRACK;
	     if (token->type == OP_OPEN_CHAR_CLASS)
	       ch = re_string_fetch_byte_case (regexp);
	     else
	       ch = re_string_fetch_byte (regexp);
	     if (re_string_eoi(regexp))
	       return REG_EBRACK;
	     if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
	       break;
	     elem->opr.name[i] = ch;
	   }

	2011-11-29 Andreas Schwab <schwab@redhat.com>
	* lib/regcomp.c (build_equiv_class):
	Fix access after end of search string in regex matcher.

	2011-11-12 Ulrich Drepper <drepper@redhat.com>
	* lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.

	2011-10-12 Ulrich Drepper <drepper@redhat.com>
	* lib/regcomp.c (parse_branch): One more regex memory leak fixed.

	2011-10-11 Ulrich Drepper <drepper@redhat.com>
	* lib/regcomp.c (parse_branch, parse_sub_exp):
	More regex memory leak fixes and tests.
	(parse_sub_exp, parse_bracket_exp):
	Fix memory leak for some invalid regular expressions.

	2011-05-28 Ulrich Drepper <drepper@gmail.com>
	* lib/regex_internal.c, lib/regexec.c:
	Fix unnecessary overallocation due to incomplete character.  When
	incomplete characters are found at the end of a string the code
	ran amok and allocated lots of memory.  Stricter limits are now in
	place.

	2011-05-20 Reuben Thomas <rrt@sc3d.org>
	* lib/regex.h: Update documentation.

	2011-05-16 Aharon Robbins <arnold@skeeve.com>
	* lib/regex.h: Update RE_SYNTAX*_AWK constants.

	2010-05-05 Andreas Schwab <schwab@redhat.com>
	* lib/regexec.c (find_collation_sequence_value):
	Fix lookup of collation sequence value during regexp matching.

	2010-01-22 Ulrich Drepper <drepper@redhat.com>
	* lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.

	2008-01-16 Ulrich Drepper <drepper@redhat.com>
	* lib/regex.h: Cleanup namespace.

	2007-11-26 Ulrich Drepper <drepper@redhat.com>
	* lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.

	2007-08-26 Ulrich Drepper <drepper@redhat.com>
	* lib/regex_internal.h: Prevent some declarations and definitions
	to be seen when used in tests.

	2005-05-06 Ulrich Drepper <drepper@redhat.com>
	* lib/regex_internal.h: Include bits/libc-lock.h or define dummy
	__libc_lock_* macros if not _LIBC.
	(struct re_dfa_t): Add lock.

2012-02-07  Eric Blake  <eblake@redhat.com>

	maint.mk: also prohibit lower-case @var@
	* top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
	lower case, like @top_srcdir@.

2012-02-04  Eric Blake  <eblake@redhat.com>

	canonicalize: avoid uninitialized memory use
	* lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
	random '/' left in dest.
	* lib/canonicalize.c (canonicalize_filename_mode): Likewise.

2012-02-04  Bruno Haible  <bruno@clisp.org>

	isatty: Fix test failure of ptsname_r on native Windows.
	* lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
	and don't set errno.
	(isatty): Test first whether fd is valid. Set errno when returning 0.

2012-02-04  Bruno Haible  <bruno@clisp.org>

	spawn-pipe tests: Fix a NULL program name in a diagnostic.
	* tests/test-spawn-pipe-main.c: Include progname.h.
	(main): Invoke set_program_name.
	* modules/spawn-pipe-tests (Depends-on): Add progname.

	nonblocking-socket tests: Fix a NULL program name in a diagnostic.
	* tests/test-nonblocking-socket-main.c: Include progname.h.
	(main): Invoke set_program_name.
	* modules/nonblocking-socket-tests (Depends-on): Add progname.

	nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
	* tests/test-nonblocking-pipe-main.c: Include progname.h.
	(main): Invoke set_program_name.
	* modules/nonblocking-pipe-tests (Depends-on): Add progname.

2012-02-04  Eric Blake  <eblake@redhat.com>

	canonicalize-lgpl: fix // handling
	* lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.

	canonicalize: fix // handling
	* lib/canonicalize.c (canonicalize_filename_mode): Don't convert
	/// to //, since only // is special.

2012-02-04  Bruno Haible  <bruno@clisp.org>

	ioctl: Fix test failure on native Windows.
	* lib/ioctl.c: Include msvc-nothrow.h.
	(primary_ioctl): If fd is not a valid handle, set errno to EBADF.

2012-02-04  Bruno Haible  <bruno@clisp.org>

	fsync: Avoid test failure on native Windows.
	* lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
	read-only.

2012-02-04  Bruno Haible  <bruno@clisp.org>

	sys_select: Avoid syntax error on OpenBSD 5.0.
	* lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
	currently being included, just include the system's <sys/select.h>.

2012-02-04  Bruno Haible  <bruno@clisp.org>

	sys_select: Avoid syntax error on OpenBSD 5.0.
	* lib/sys_select.in.h: Include <signal.h> only after the include_next
	<sys/select.h>, not before.
	Reported by Jiri B <jirib@devio.us>.

2012-02-04  Bruno Haible  <bruno@clisp.org>

	get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
	* tests/test-get-rusage-as.c (main): Assign the malloc() results to
	global variables.
	* tests/test-get-rusage-data.c (main): Likewise.
	Reported by Jim Meyering.

2012-02-04  Bruno Haible  <bruno@clisp.org>

	stdioext: Fix last commit.
	* lib/fwritable.c [EPLAN9]: Include <fcntl.h>.

2012-02-03  Bruno Haible  <bruno@clisp.org>

	stdioext: Add tentative support for Plan9.
	* lib/stdio-impl.h: Include <errno.h>.
	* lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
	* lib/freadable.c (freadable): Likewise.
	* lib/fwritable.c (fwritable): Likewise.
	* lib/fbufmode.c (fbufmode): Likewise.
	* lib/freading.c (freading): Likewise.
	* lib/fwriting.c (fwriting): Likewise.
	* lib/freadptr.c (freadptr): Likewise.
	* lib/freadseek.c (freadptrinc): Likewise.
	* lib/freadahead.c (freadahead): Likewise.
	* lib/fpurge.c (fpurge): Likewise.
	* lib/fseeko.c (rpl_fseeko): Likewise.
	* m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
	Reported by Jens Staal <staal1978@gmail.com>.

2012-02-02  Jim Meyering  <meyering@redhat.com>

	file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
	* lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
	would evoke a new gcc warning.  Given all of the #ifdefs, it is better
	not even to try to add the attribute.  Instead, add a pragma to suppress
	the suggestion/warning.

2012-01-31  Karl Berry  <karl@gnu.org>

	setstate doc: typo.
	* doc/posix-functions/setstate.texi (setstate): { not (.

2012-01-31  Bruno Haible  <bruno@clisp.org>

	popen: Make more robust on Windows.
	* lib/popen.c: On native Windows, use the _popen based code even if
	HAVE_POPEN is set.
	* doc/posix-functions/popen.texi: Mention necessity of COMSPEC
	environment variable on native Windows.

2012-01-30  Bruno Haible  <bruno@clisp.org>

	pclose: Fix typo.
	* lib/stdio.in.h (pclose): Fix typo in warning message.

2012-01-30  Bruno Haible  <bruno@clisp.org>

	doc about getlogin_r, setstate.
	* doc/posix-functions/getlogin_r.texi: List the incompatible
	declaration problem under "not fixed by gnulib".
	* doc/posix-functions/setstate.texi: Mention incompatible declaration
	problem on Solaris 11 and other platforms.

2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
	    Bruno Haible  <bruno@clisp.org>

	poll tests: Make test more robust.
	* tests/test-poll.c: Include macros.h.
	(test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
	return value of various I/O operations.
	* modules/poll-tests (Files): Add tests/macros.h.

2012-01-30  Bruno Haible  <bruno@clisp.org>

	sys_stat: Fix support for mingw64 and MSVC.
	* lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
	header files already do it.
	(stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
	stat itself.
	Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.

2012-01-30  Bruno Haible  <bruno@clisp.org>

	wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
	* doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.

2012-01-29  Bruno Haible  <bruno@clisp.org>

	quotearg: Fix test failure on MacOS X 10.5.
	* tests/test-quotearg-simple.c: Include localcharset.h.
	(main): If the locale encoding is not ASCII, bypass the tests of
	locale_quoting_style and clocale_quoting_style.
	* modules/quotearg-tests (Depends-on): Add 'localcharset'.

2012-01-29  Jim Meyering  <meyering@redhat.com>

	maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
	* top/maint.mk (sc_prohibit_canonicalize_without_use): Also
	detect uses of canonicalize_file_name.

2012-01-28  Bruno Haible  <bruno@clisp.org>

	test-framework-sh: Fix test failure with AIX 7.1 diff.
	* tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
	in column 1, like 'diff -c' does.
	* tests/test-init.sh (test_compare): Don't repeat the test from init.sh
	whether 'diff -u' is used. Instead, test whether the output contains
	some '@' character.

2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>

	strtoimax: eliminate need for stdint.h, inttypes.h checks
	* m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
	gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
	the prerequisites for a recently-introduced strtoimax test.
	I guess this might cause strtoimax to be replaced when not
	strictly necessary on older hosts, but this shouldn't introduce
	any bugs and it should make Emacs 'configure' faster on typical
	modern hosts.  Problem discovered when importing the latest gnulib
	to an Emacs test version.
	* modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.

2012-01-28  Bruno Haible  <bruno@clisp.org>

	sys_time: Override 'struct timeval' on some native Windows platforms.
	* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
	has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
	(gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
	* lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
	needs to be overridden.
	(timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
	* modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
	* tests/test-sys_select.c: Check that the tv_sec member has the same
	size as a 'time_t'.
	* tests/test-sys_time.c: Likewise.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
	is set, set also REPLACE_GETTIMEOFDAY.
	* lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
	convert the resulting 'struct timeval' before returning.
	* lib/select.c: Include <sys/time.h>.
	(select, timeval): Undefine at the right place.
	* modules/select (Depends-on): Add sys_time.
	* doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
	some Windows platforms.
	Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.

2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)

	accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
	* lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
	an integer.
	* lib/fcntl.c (dupfd): Likewise.
	* lib/w32sock.h (SOCKET_TO_FD): Likewise.

2012-01-28  Bruno Haible  <bruno@clisp.org>

	fcntl: Avoid compilation error on native Windows.
	* modules/fcntl (Depends-on): Add 'close'.

2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)

	select, poll, isatty: Avoid warnings on x86_64 mingw64.
	* lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
	pointer to an integer.
	* lib/poll.c (IsConsoleHandle): Likewise.
	* lib/isatty.c (IsConsoleHandle): Likewise.

2012-01-28  Jim Meyering  <meyering@redhat.com>

	doc: clarify README-release
	* top/README-release: Clarify: you should make a point to have
	the latest stable versions of build tools in your PATH, and the
	reference to buildreq is solely for its list of tool names, not
	for its minimal-functional version numbers.
	Prompted by discussion with Reuben Thomas and Gary V. Vaughan.

	maint.mk: use more readable (yet functionally equivalent) quoting
	It is common to quote a single quote in a single quoted string like
	this:  '...'\''...'.  Unless you know the idiom, that looks like
	gibberish, so prefer to double-quote the string when possible.
	Then you can use a more readable, lone single quote: "...'..."
	* top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
	"don't" is more readable than the equivalent 'don'\''t'.
	(sc_cast_of_x_alloc_return_value): Likewise.
	(sc_cast_of_alloca_return_value): Likewise.
	(sc_makefile_path_separator_check): Similar: use ":" in '...',
	rather than '\'':'\''.

2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign: relax _Alignof and tighten _Alignas test
	* m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
	as it was too strict: alignof must divide offsetof, but it need
	not equal offsetof.  Inspired by Joseph S. Myers's comment
	<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
	Conversely, tighten the _Alignas test a bit, as the resulting
	alignment must be exactly 8.

2012-01-27  Bruno Haible  <bruno@clisp.org>

	stdalign: Document the last change.
	* doc/posix-headers/stdalign.texi: Mention GCC bug 52023.

2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign: check that alignof and offsetof are consistent
	* m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
	Problem reported for gnulib by Richard W.M. Jones in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.

2012-01-27  Jim Meyering  <meyering@redhat.com>

	update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
	* build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
	convert a sequence with gaps to the minimal containing range.
	For example, convert 2000, 2004-2007, 2009 to 2000-2009.
	* tests/test-update-copyright.sh: Test for this.
	The FSF confirmed it is ok to do this, assuming there is at
	least one significant change per year in the affected range:
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860

2012-01-26  Bruno Haible  <bruno@clisp.org>

	pipe2: refine doc about thread-safety
	* doc/glibc-functions/pipe2.texi: Clarify the extent of the
	multithread-safety problem.
	* doc/glibc-functions/accept4.texi: Likewise.

2012-01-26  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
	* m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
	In the test program, include <fcntl.h>, for O_RDONLY.

2012-01-26  Eric Blake  <eblake@redhat.com>

	pipe2: document lack of thread-safety in replacement
	* doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
	issue in replacement.
	* doc/glibc-functions/accept4.texi (accept4): Likewise.
	Based on a report by Eric Wong.

2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
	    Bruno Haible  <bruno@clisp.org>

	malloca: Avoid warnings on x86_64 mingw64.
	* lib/malloca.c: Include <stdint.h>.
	(mmalloca, freea): Use uintptr_t to convert pointers to integers.
	* modules/malloca (Depends-on): Add stdint.
	* modules/relocatable-prog-wrapper (Depends-on): Likewise.

2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>

	obstack: remove __STDC__ conditionals
	* lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
	S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
	This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
	m4/include_next.m4 as the only gnulib-maintained places that still
	refer to __STDC__.

2012-01-24  Bruno Haible  <bruno@clisp.org>

	havelib: Modern quoting.
	* build-aux/config.rpath: Quote 'like this', not `like this', as per
	the recent change to the GNU coding standards.

2012-01-24  Bruno Haible  <bruno@clisp.org>

	stdint: Improve support for Android.
	* lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
	Reported by Simon Josefsson <simon@josefsson.org>.

2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	doc: omit trailing empty lines from INSTALL etc.
	* doc/Makefile (INSTALL): Omit trailing empty lines.
	(INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
	omit trailing empty lines.  This simplifies the build procedure.

2012-01-23  Jim Meyering  <meyering@redhat.com>

	tests: avoid spurious warnings about gl_sockets_startup
	Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
	would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
	reporting a "statement with no effect".
	* tests/test-accept.c (main): Mark as "(void)".
	* tests/test-accept4.c (main): Likewise.
	* tests/test-bind.c (main): Likewise.
	* tests/test-connect.c (main): Likewise.
	* tests/test-getpeername.c (main): Likewise.
	* tests/test-getsockname.c (main): Likewise.
	* tests/test-getsockopt.c (main): Likewise.
	* tests/test-listen.c (main): Likewise.
	* tests/test-recv.c (main): Likewise.
	* tests/test-recvfrom.c (main): Likewise.
	* tests/test-send.c (main): Likewise.
	* tests/test-sendto.c (main): Likewise.
	* tests/test-setsockopt.c (main): Likewise.
	* tests/test-shutdown.c (main): Likewise.

2012-01-21  Bruno Haible  <bruno@clisp.org>

	locale-fr.m4: Fix for Android.
	* m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
	failure of the test program on Bionic libc.

2012-01-21  Jim Meyering  <meyering@redhat.com>

	bootstrap: fail when bootstrap_post_import_hook fails
	Otherwise, it's far too easy to miss diagnostics emitted
	between gnulib-tool's output and that of running configure.
	* build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.

2012-01-17  Jim Meyering  <meyering@redhat.com>

	maint: enable sc_trailing_blank
	* build-aux/pmccabe.css: Remove trailing blanks.
	* doc/acl-cygwin.txt: Likewise.
	* doc/gnu-oids.texi: Likewise
	* cfg.mk: Enable sc_trailing_blank.
	Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.

2012-01-17  Jim Meyering  <meyering@redhat.com>

	maint: enable sc_prohibit_openat_without_use
	* cfg.mk: Enable sc_prohibit_openat_without_use.
	Exempt lib/selinux-at.c.

2012-01-17  Jim Meyering  <meyering@redhat.com>

	maint: enable sc_prohibit_cloexec_without_use
	* cfg.mk: Enable sc_prohibit_cloexec_without_use.
	* lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.

2012-01-17  Jim Meyering  <meyering@redhat.com>

	maint: enable sc_prohibit_intprops_without_use
	* cfg.mk: Enable sc_prohibit_intprops_without_use
	* tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.

2012-01-17  Jim Meyering  <meyering@redhat.com>

	maint: enable sc_prohibit_hash_pjw_without_use
	* cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
	* top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
	to match any use of \<hash_pjw\>, i.e., not necessarily with a
	following " (".

2012-01-17  Jim Meyering  <meyering@redhat.com>

	maint: enable double-word-prohibiting rule
	* cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
	Exempt three files.

2012-01-17  Jim Meyering  <meyering@redhat.com>

	maint: remove empty lines at EOF, but excluding modules/*
	Apply syntax rules at home as well as abroad.  Most changes
	were induced by running this:
	  make srcdir=. _build-aux=build-aux -f top/maint.mk \
	    sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
	    | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
	* cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
	Exempt modules/* and two binary files.
	Also exempt doc/INSTALL*, per request from Bruno Haible.
	* doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
	* doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
	* doc/Copyright/request-assign.future: Likewise.
	* doc/Copyright/request-disclaim.changes: Likewise.
	* doc/INSTALL: Likewise.
	* doc/INSTALL.ISO: Likewise.
	* doc/INSTALL.UTF-8: Likewise.
	* doc/acl-cygwin.txt: Likewise.
	* doc/acl-resources.txt: Likewise.
	* doc/fdl-1.2.texi: Likewise.
	* doc/fdl-1.3.texi: Likewise.
	* doc/fdl.texi: Likewise.
	* lib/argp-pin.c: Likewise.
	* lib/round.c: Likewise.
	* lib/unicase/u16-totitle.c: Likewise.
	* lib/unictype/block_test.c: Likewise.
	* lib/uninorm/canonical-decomposition.c: Likewise.
	* m4/README: Likewise.
	* m4/relocatable-lib.m4: Likewise.
	* tests/test-isnand-nolibm.c: Likewise.
	* tests/test-isnand.c: Likewise.
	* tests/uninorm/NormalizationTest.txt: Likewise.

2012-01-17  Jim Meyering  <meyering@redhat.com>

	maint: add framework to run syntax-check rules against gnulib sources
	* cfg.mk: New file, to disable all currently-failing tests.
	We'll enable them one by one, as they are made to pass.
	* Makefile (sc_maint): New rule.

2012-01-21  Bruno Haible  <bruno@clisp.org>

	stdint: Add support for Android.
	* lib/stdint.in.h: When included from Bionic <sys/types.h>, just
	include the system's <stdint.h>.
	Reported by Simon Josefsson <simon@josefsson.org>.

2012-01-19  Jim Meyering  <meyering@redhat.com>

	bootstrap: add bootstrap_post_import_hook
	Bison does still need something like the gnulib_mk_hook whose
	invocation I had to remove along with slurp in commit 767ccd40.
	Technically, we could get along without it, but doing so would
	have required living with a warning and a mandatory post-bootstrap
	automake rerun.
	* build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
	(bootstrap_post_import_hook): New function.
	Invoke it after gnulib-tool --import and before autoreconf.

2012-01-18  Jim Meyering  <meyering@redhat.com>

	gitlog-to-changelog: don't use "no_"-prefixed variable name
	* build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
	to enable both --cluster and --no-cluster.  Change variable name,
	s/\$no_cluster/$cluster/, and reverse usage to match.

	gitlog-to-changelog: use "||", not "or" in expressions
	* build-aux/gitlog-to-changelog (main): Use "||", not "or" in
	expressions.

2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>

	gitlog-to-changelog: new option --no-cluster
	* build-aux/gitlog-to-changelog: New option --no-cluster, disables
	clustering of adjacent commit messages.

2012-01-17  Jim Meyering  <meyering@redhat.com>

	maint: spell file systems with two words, not one
	* m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
	two words, not one.

2012-01-16  Jim Meyering  <meyering@redhat.com>

	bootstrap: add a FIXME comment to ensure we eventually remove the hack
	* build-aux/bootstrap (gnulib_tool_options): Add comment.

2012-01-16  Eric Blake  <eblake@redhat.com>

	bootstrap: cater to autoconf 2.59
	* build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
	is not available.

	bootstrap: properly check for libtool
	* build-aux/bootstrap (libtoolize): Also run libtool when older
	usage is detected.

2012-01-15  Bruno Haible  <bruno@clisp.org>

	Improve support for MSVC 9.
	* lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
	clashes on MSVC.
	* lib/fcntl.in.h: Likewise.
	* lib/stdlib.in.h: Likewise.
	* lib/sys_stat.in.h: Likewise.

2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>

	gnupload: we hold the master copy of this script now
	For motivation and more information, see:
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
	* build-aux/gnupload: Make it clear in the heading comments that the
	master copy of this file is maintained by gnulib.  Since we are at
	it, bump its copyright year and ...
	($scriptversion): ... the date in its version.
	($usage): Patches and bug reports should be sent to the gnulib list,
	not the automake one.
	* config/srclist.txt: Don't try to sync 'gnupload' from automake
	anymore.

2012-01-15  Bruno Haible  <bruno@clisp.org>

	Fix module 'random'.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
	initstate, setstate are declared.

2012-01-14  Bruno Haible  <bruno@clisp.org>

	Tests for module 'random'.
	* modules/random-tests: New file.
	* tests/test-random.c: New file, based on tests/test-random_r.c.

	New module 'random'.
	* lib/stdlib.in.h (random, srandom, initstate, setstate): New
	declarations.
	* lib/random.c: New file, based on glibc/stdlib/random.c.
	* m4/random.m4: New file.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
	HAVE_RANDOM.
	* modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
	* modules/random: New file.
	* config/srclist.txt: Add an entry for random.c.
	* doc/posix-functions/random.texi: Mention the 'random' module.
	* doc/posix-functions/initstate.texi: Likewise.
	* doc/posix-functions/setstate.texi: Likewise.
	* doc/posix-functions/srandom.texi: Likewise.

2012-01-12  Bruno Haible  <bruno@clisp.org>

	random_r: Use common idioms.
	* lib/random_r.c: Include <stdlib.h> first.

	random_r: Override incompatible API on AIX, OSF/1.
	* lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
	Override the system function if REPLACE_RANDOM_R is 1.
	* m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
	and OSF/1, set REPLACE_RANDOM_R.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
	* modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
	* modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
	* doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
	* doc/glibc-functions/random_r.texi: Likewise.
	* doc/glibc-functions/setstate_r.texi: Likewise.

	random_r: Support for MSVC 9.
	* lib/random_r.c: Include stdint.h, not inttypes.h.

2012-01-12  Eric Blake  <eblake@redhat.com>

	inet_ntop: guard extra work by IF_LINT
	* lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
	better code generation when not checking for warnings.
	Suggested by Paul Eggert and Jim Meyering.

	strptime: fix regression on mingw
	* lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
	Fix regression.  Reported by Bruno Haible.

2012-01-11  Reuben Thomas  <rrt@sc3d.org>
	    Bruno Haible  <bruno@clisp.org>

	copy-file: add error-code-returning variant.
	* lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
	(qcopy_file_preserving): New declaration.
	* lib/copy-file.c (qcopy_file_preserving): Renamed from
	copy_file_preserving. Change return type to 'int'. Don't emit an error
	message here.
	(copy_file_preserving): New function.
	* tests/test-copy-file.c: Include <stdlib.h>.
	(main): Test qcopy_file_preserving if the environment variable
	NO_STDERR_OUTPUT is set.
	* tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
	with NO_STDERR_OUTPUT
	* tests/test-copy-file-2.sh: Likewise.

2012-01-10  Bruno Haible  <bruno@clisp.org>

	copy-file: Use 'quote' module consistently.
	* lib/copy-file.c (copy_file_preserving): Use quote().

	copy-file: Refactor.
	* lib/copy-file.c: Include quote.h.
	(copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
	message here.
	* modules/copy-file (Depends-on): Add quote.

	acl: Export qcopy_acl.
	* lib/acl.h (qcopy_acl): New declaration.
	* lib/copy-acl.c (qcopy_acl): Make non-static.

	acl: Rename a local variable.
	* lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.

	acl: Align return values of copy_acl and qcopy_acl.
	* lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
	maybe < -1.

2012-01-11  Eric Blake  <eblake@redhat.com>

	strptime: silence gcc warnings
	* lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
	[!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
	Reported by Daniel P. Berrange.

	inet_ntop: silence gcc warning
	* lib/inet_ntop.c (inet_ntop6): Initialize best.base.
	Reported by Daniel P. Berrange.

2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>

	getloadavg test: skip the test on GNU/Linux without /proc mounted
	GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
	file.  When /proc is not mounted, it always fails with ENOENT.
	* tests/test-getloadavg.c (main): Treat ENOENT return code from
	getloadavg(3) the same way as ENOSYS and ENOTSUP.

2012-01-10  Bruno Haible  <bruno@clisp.org>

	regex: Avoid link error on MSVC 9.
	* modules/regex (Depends-on): Add wctype.

2012-01-10  Bruno Haible  <bruno@clisp.org>

	doc: Mention --with-tests option.
	* gnulib-tool (func_usage): Suggest --with-tests for --test etc.
	* doc/gnulib.texi (Extra tests modules): Mention the need to pass
	--with-tests.
	Reported by Reuben Thomas.

2012-01-10  Reuben Thomas  <rrt@sc3d.org>

	users.txt: order package names lexicographically.
	* users.txt: Order package names lexicographically.

2012-01-10  Jim Meyering  <meyering@redhat.com>

	maint.mk: fix description in comment
	* top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.

	ignore-value: remove deprecated ignore_ptr function
	* lib/ignore-value.h (ignore_ptr): Remove deprecated function.
	* NEWS: Note this.

2012-01-09  Jim Meyering  <meyering@redhat.com>

	test-init.sh: avoid a subshell
	* tests/test-init.sh: Remove protective subshell.
	Suggested by Bernhard Voelker.  While a subshell is normally
	required to protect against older shells (Solaris, FreeBSD) that
	warn about a missing program before performing redirection, the
	shell-selection tests performed by init.sh probably exclude any
	offending shell.

2012-01-08  Bruno Haible  <bruno@clisp.org>

	setlocale tests: Avoid test failure on Solaris 11 2011-11.
	* tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
	variable.

2012-01-08  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
	* m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
	* m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
	macro.
	* lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
	* lib/spawn_faction_addopen.c: Add workaround implementation if
	HAVE_WORKING_POSIX_SPAWN.
	* modules/spawn (Makefile): Substitute
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
	* modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
	gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
	(Depends-on): Update conditions.
	* doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
	the Solaris 11 bug.

2012-01-08  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
	* m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
	* m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
	macro.
	* lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
	* lib/spawn_faction_adddup2.c: Add workaround implementation if
	HAVE_WORKING_POSIX_SPAWN.
	* modules/spawn (Makefile): Substitute
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
	* modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
	gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
	(Depends-on): Update conditions.
	* doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
	the Solaris 11 bug.

2012-01-08  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
	* m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
	HAVE_WORKING_POSIX_SPAWN.
	(gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
	* lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
	* lib/spawn_faction_addclose.c: Add workaround implementation if
	HAVE_WORKING_POSIX_SPAWN.
	* modules/spawn (Makefile): Substitute
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
	* modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
	gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
	(Depends-on): Update conditions.
	* doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
	the Solaris 11 bug.

2012-01-08  Bruno Haible  <bruno@clisp.org>

	doc: Update for Solaris 11 2011-11.
	* doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
	* m4/printf.m4: Update comments.

2012-01-08  Bruno Haible  <bruno@clisp.org>

	mktime: Avoid compilation error on Solaris 11.
	* lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.

2012-01-08  Bruno Haible  <bruno@clisp.org>

	doc: Small fix.
	* doc/posix-headers/nl_types.texi: Correct platforms list.

2012-01-08  Simon Josefsson  <simon@josefsson.org>

	Add lgpl-3.0 module.
	* MODULES.html.sh (Support for building documentation): Add
	lgpl-3.0.
	* modules/lgpl-3.0: New file.

2012-01-08  Jim Meyering  <meyering@redhat.com>

	select.c: indent with spaces, not TABs
	* lib/select.c (windows_poll_handle): Indent with spaces, not TABs.

2012-01-07  Paolo Bonzini  <bonzini@gnu.org>

	quotearg: do not use grave accent for left quote
	* lib/quotearg.c (gettext_quote): Map "`" to "'" for
	locale_quoting_style.
	(quotearg_buffer_restyled): Fix example.
	* tests/test-quotearg-simple.c (results_g): Adjust test vectors.

2012-01-07  Paolo Bonzini  <bonzini@gnu.org>

	quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
	Most programs do not have translation catalogs for English and much
	less separate catalogs for British and American English.  Drop the
	suggestion to translators about these two, and provide it
	automatically for Unicode locales.  Like most programs, even those
	using American English, we use single quotation marks.  This conflicts
	with the American typographic convention, but works better when you
	cite the entire error message within double quotes.  It also tries not
	to clash with established practice and with what non-gnulib programs
	will usually do.
	* lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
	using an UTF-8 or GB-18030 locale.  The list of other locales with
	quotes was provided by Bruno Haible.
	(quotearg_buffer_restyled): Adjust instructions to translators.
	* lib/quotearg.h (locale_quoting_style): Do not put an example in the
	text, since this would be wrong when using Unicode.
	* modules/quotearg: Depend on c-strcaseeq.

2012-01-07  Paolo Bonzini  <bonzini@gnu.org>

	quotearg: fix Wikipedia link
	* lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.

2012-01-07  Simon Josefsson  <simon@josefsson.org>

	Fix for mingw with MSVC9.
	* m4/ld-version-script.m4: Check that compiler rejects version
	scripts with syntax errors.  Reported by Bruno Haible
	<bruno@clisp.org>.

2012-01-06  Bruno Haible  <bruno@clisp.org>

	Talk about "native Windows API", not "Woe32".
	* lib/accept4.c: Update comments to mention native Windows.
	* lib/execute.c: Likewise.
	* lib/fatal-signal.c: Likewise.
	* lib/localcharset.c: Likewise.
	* lib/nanosleep.c: Likewise.
	* lib/nl_langinfo.c: Likewise.
	* lib/pclose.c: Likewise.
	* lib/pipe-filter-gi.c: Likewise.
	* lib/pipe-filter-ii.c: Likewise.
	* lib/pipe.c: Likewise.
	* lib/pipe2.c: Likewise.
	* lib/popen.c: Likewise.
	* lib/progreloc.c: Likewise.
	* lib/relocatable.c: Likewise.
	* lib/sigaction.c: Likewise.
	* lib/sigprocmask.c: Likewise.
	* lib/spawn-pipe.h: Likewise.
	* lib/spawn-pipe.c: Likewise.
	* lib/spawni.c: Likewise.
	* lib/stat-time.h: Likewise.
	* lib/w32spawn.h: Likewise.
	* tests/test-isatty.c: Likewise.
	* lib/config.charset: More comments.
	* doc/gnulib-intro.texi: Mention native Windows.
	* doc/posix-functions/_Exit_C99.texi: Likewise.
	* doc/posix-headers/fcntl.texi: Likewise.

2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)

	argp: Avoid crash if translator uses % characters in a translation.
	* lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
	Reported by Mats Erik Andersson <gnu@gisladisker.se>.

2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>

	doc: C11 and C++11 are now official
	* doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
	* doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
	* m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
	* modules/stdalign:
	Replace references to draft C1X to C11, and to draft C++0X to C++11.

2012-01-06  Bruno Haible  <bruno@clisp.org>

	uc-is-grapheme-break tests: Tweak.
	* tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
	message.

2012-01-06  Bruno Haible  <bruno@clisp.org>

	test-init.sh: correct the test for diff -u
	* tests/test-init.sh: Also redirect stdout to /dev/null.

2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>

	Use ', not `, for quoting output.
	* build-aux/announce-gen (usage, sizes, print_news_deltas)
	(print_changelog_deltas, get_tool_versions, main program):
	* build-aux/git-version-gen:
	* build-aux/gitlog-to-changelog (usage, parse_amend_file):
	* build-aux/move-if-change (help):
	* build-aux/useless-if-before-free (usage, main program):
	* check-module (parse_module_file, usage)
	(find_included_lib_files, check_module):
	* lib/argmatch.c (main) [TEST]:
	* lib/argp-help.c (_help):
	* lib/getopt1.c (main) [TEST]:
	* lib/git-merge-changelog.c (usage):
	* lib/xstrtol-error.c (xstrtol_error):
	* m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
	* m4/argz.m4 (gl_FUNC_ARGZ):
	* m4/bison.m4 (gl_BISON):
	* m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
	* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
	* m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
	* m4/fpending.m4 (gl_PREREQ_FPENDING):
	* m4/gc-random.m4 (gl_GC_RANDOM):
	* m4/intl.m4 (gt_CHECK_DECL):
	* m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
	* m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
	(AC_TYPE_UNSIGNED_LONG_LONG_INT):
	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
	* m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
	* m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
	* m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
	* tests/test-dirname.c (main):
	* tests/test-getpass.c (main):
	* tests/test-iconvme.c (main):
	* tests/test-parse-datetime.c (LOG):
	* tests/test-xstrtoimax.sh:
	* tests/test-xstrtol.sh:
	* tests/test-xstrtoll.sh:
	* tests/test-xstrtoumax.sh:
	* tests/unigbrk/test-uc-is-grapheme-break.c (main):
	* top/GNUmakefile (abort-due-to-no-makefile):
	Quote 'like this', not `like this', as per the recent change to
	the GNU coding standards.

2012-01-05  Bruno Haible  <bruno@clisp.org>

	strtoimax: Don't force a replacement on systems where intmax_t is int.
	* m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
	'intmax_t' is not larger than 'int'.
	Reported by Pádraig Brady <P@draigBrady.com>.

2012-01-05  Bruno Haible  <bruno@clisp.org>

	doc: Mention NetBSD bugs.
	* doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
	* doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.

2012-01-05  Bruno Haible  <bruno@clisp.org>

	strtoumax tests: Enhance tests.
	* tests/test-strtoumax.c (main): Add tests for large values.

2012-01-05  Bruno Haible  <bruno@clisp.org>

	strtoimax: Work around AIX 5.1 bug.
	* lib/inttypes.in.h (strtoimax): Allow overriding the system's
	definition.
	* m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
	Set HAVE_STRTOIMAX.
	* m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
	REPLACE_STRTOIMAX.
	* modules/inttypes-incomplete (Makefile.am): Substitute
	REPLACE_STRTOIMAX.
	* modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
	(configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
	(Depends-on): Update conditions.
	* tests/test-strtoimax.c (main): Add tests for large values.
	* doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.

2012-01-05  Bruno Haible  <bruno@clisp.org>

	inttypes: Modernize.
	* lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
	* modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
	(Makefile.am): Update inttypes.h rule.

2012-01-05  Jim Meyering  <meyering@redhat.com>

	init.sh: don't waste a subshell just to redirect stderr
	* tests/init.sh: In testing for diff -u and diff -c, use a
	stderr-redirecting exec inside `...` rather than a subshell.

	test-init.sh: avoid failure on HP-UX 11.00
	* tests/test-init.sh: Skip "diff -u"-comparing step when compare
	resolves to diff -c or cmp.  Reported by Bruno Haible.

2012-01-05  Bruno Haible  <bruno@clisp.org>

	Tests for module 'strtoull'.
	* modules/strtoull-tests: New file.
	* tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.

2012-01-05  Bruno Haible  <bruno@clisp.org>

	Tests for module 'strtoll'.
	* modules/strtoll-tests: New file.
	* tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.

2012-01-05  Bruno Haible  <bruno@clisp.org>

	Tests for module 'strtoul'.
	* modules/strtoul-tests: New file.
	* tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.

2012-01-05  Bruno Haible  <bruno@clisp.org>

	Tests for module 'strtol'.
	* modules/strtol-tests: New file.
	* tests/test-strtol.c: New file, based on tests/test-strtoimax.c.

2012-01-04  Jim Meyering  <meyering@redhat.com>

	test-init.sh: accommodate Solaris 5.10's different diff -u output
	* tests/test-init.sh: Also exempt @@ lines from the comparison
	of diff output, since Solaris 5.10 and GNU diff formats differ.
	Reported by Stefano Lattarini.

2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>

	test-posixtm: don't assume signed integer wraparound
	* tests/test-posixtm.c (main): Don't assume wraparound semantics
	after signed integer overflow.  Inspired by (though it may not
	fix) Bruno Haible's bug report in
	<http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.

	Spell out "Windows 9x" and "Windows XP".
	* lib/poll.c, lib/select.c: In comments, replace "Win9x" with
	"Windows 9x" and "WinXP" with "Windows XP".

2012-01-04  Jim Meyering  <meyering@redhat.com>

	test-vc-list-files-cvs.sh: remove obsolete comment
	* tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
	double exit.  Now that's all encapsulated via skip_ and Exit.

2012-01-04  Bruno Haible  <bruno@clisp.org>

	Talk about "native Windows API", not "Win32".
	* lib/classpath.c: Update comments to mention native Windows.
	* lib/csharpexec.c: Likewise.
	* lib/dup2.c: Likewise.
	* lib/error.c: Likewise.
	* lib/fcntl.c: Likewise.
	* lib/filename.h: Likewise.
	* lib/findprog.c: Likewise.
	* lib/get-rusage-as.c: Likewise.
	* lib/get-rusage-data.c: Likewise.
	* lib/getpagesize.c: Likewise.
	* lib/javaexec.c: Likewise.
	* lib/msvc-inval.c: Likewise.
	* lib/msvc-nothrow.c: Likewise.
	* lib/nanosleep.c: Likewise.
	* lib/nonblocking.c: Likewise.
	* lib/printf-parse.c: Likewise.
	* lib/setlocale.c: Likewise.
	* lib/sigaction.c: Likewise.
	* lib/strerror_r.c: Likewise.
	* lib/tmpdir.c: Likewise.
	* lib/vasnprintf.c: Likewise.
	* lib/w32spawn.h: Likewise.
	* lib/waitpid.c: Likewise.
	* lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
	* m4/locale-ar.m4: Likewise.
	* m4/locale-fr.m4: Likewise.
	* m4/locale-ja.m4: Likewise.
	* m4/locale-tr.m4: Likewise.
	* m4/locale-zh.m4: Likewise.
	* m4/printf.m4: Likewise.
	* tests/test-cloexec.c: Likewise.
	* tests/test-copy-acl.sh: Likewise.
	* tests/test-copy-file.sh: Likewise.
	* tests/test-file-has-acl.sh: Likewise.
	* tests/test-set-mode-acl.sh: Likewise.
	* tests/test-dup-safer.c: Likewise.
	* tests/test-dup2.c: Likewise.
	* tests/test-dup3.c: Likewise.
	* tests/test-fcntl.c: Likewise.
	* tests/test-nonblocking-pipe.h: Likewise.
	* tests/test-nonblocking-socket.h: Likewise.
	* tests/test-pipe.c: Likewise.
	* tests/test-pipe2.c: Likewise.
	* tests/test-spawn-pipe-child.c: Likewise.
	* doc/acl-resources.txt: Likewise.
	* lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
	* tests/test-poll.c (WINDOWS_NATIVE): Likewise.
	* tests/test-select.h (WINDOWS_NATIVE): Likewise.
	* lib/localcharset.c: Update comments to mention native Windows.
	(WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
	* lib/localename.c: Likewise.
	* lib/progreloc.c: Likewise.
	* lib/relocatable.c: Likewise.
	* lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
	(windows_compute_revents): Renamed from win32_compute_revents.
	(windows_compute_revents_socket): Renamed from
	win32_compute_revents_socket.
	* lib/select.c: Update comments to mention native Windows.
	(windows_poll_handle): Renamed from win32_poll_handle.
	* m4/threadlib.m4: Update comments to mention native Windows.
	(gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
	--enable-threads=windows instead of --enable-threads=win32. Set
	USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
	* lib/glthread/lock.h: Update comments to mention native Windows.
	(USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
	* lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
	USE_WIN32_THREADS.
	* lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
	* lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
	* lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
	* lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
	* lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
	* lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
	* lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
	* tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
	* tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
	* tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
	(TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
	* tests/test-tls.c: Likewise.
	Rationale:
	Microsoft renamed the "Win32 API" to "Windows API", as it is available
	on both 32-bit and 64-bit Windows systems.
	But in gnulib, we treat Cygwin like a Unix platform, therefore the main
	line of distinction is between "native Windows" on one side and Unix/
	POSIX systems on the other side. More details in
	<https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
	Suggested by Paul Eggert.

2012-01-03  Bruno Haible  <bruno@clisp.org>

	isatty: Support for MSVC 9.
	* doc/posix-functions/isatty.texi: Mention the MSVC problem.
	* lib/isatty.c: Include <errno.h>, msvc-inval.h.
	(_isatty_nothrow): New function.
	(isatty): Use it instead of _isatty.
	(IsConsoleHandle): Add comment, from Paolo Bonzini.
	* lib/poll.c (IsConsoleHandle): Likewise.
	* lib/select.c (IsConsoleHandle): Likewise.
	* m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
	(gl_PREREQ_ISATTY): New macro.
	* modules/isatty (Depends-on): Add msvc-inval.
	(configure.ac): Invoke gl_PREREQ_ISATTY.

2012-01-03  Jim Meyering  <meyering@redhat.com>

	maint.mk: remove temporary transition aid from over 1.5 years ago
	* top/maint.mk (_prohibit_regexp): Remove definition whose sole
	purpose was to aid in the transition (avoiding silent malfunction)
	from that old name to the new _sc_search_regexp.  This shim was
	added by commit 219c504b.

	init.sh: do not try to accommodate compare arguments starting with "-"
	* tests/init.sh (compare_dev_null_): Do not try to accommodate
	compare arguments that start with "-".  Besides, we do not worry
	about this when invoking diff or cmp; why start now with sed?
	Using "--" to separate options from argument would trigger sed
	failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
	OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.

2012-01-02  Bruno Haible  <bruno@clisp.org>

	Enhance tests for module 'isatty'.
	* modules/isatty-tests (Depends-on): Add pipe-posix.
	* tests/test-isatty.c: Include <fcntl.h>.
	(DEV_NULL): New macro.
	(main): Test the resut of isatty() also on regular files, pipes, and
	/dev/null.

	New module 'isatty'.
	* lib/unistd.in.h (isatty): New declaration.
	* lib/isatty.c: New file, based on an idea of
	Bastien Roucariès <roucaries.bastien@gmail.com>.
	* m4/isatty.m4: New file.
	* m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
	(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
	* modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
	REPLACE_ISATTY.
	* modules/isatty: New file.
	* doc/posix-functions/isatty.texi: Mention the new module.
	Suggested by Paolo Bonzini.

2012-01-02  Bruno Haible  <bruno@clisp.org>

	canonicalize: Tweak 2011-12-29 commit.
	* lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
	* lib/canonicalize.h (canonicalize_filename_mode): Update specification.

2012-01-02  Jim Meyering  <meyering@redhat.com>

	gitlog-to-changelog: describe input syntax in --help output
	* build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.

	gitlog-to-changelog: fix typo in --help: show backslash before email @
	* build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
	in sources, but not in actual output.

2011-12-30  Jim Meyering  <meyering@redhat.com>

	gitlog-to-changelog: don't malfunction when name contains %-directive
	* build-aux/gitlog-to-changelog (main): Don't let a %-directive
	in a name string cause trouble.  E.g., with a user name of "%s",
	gitlog-to-changelog would fail with "Missing argument in sprintf at..."

2011-12-30  Gary V. Vaughan  <gary@gnu.org>

	gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
	* build-aux/gitlog-to-changelog (main): Map the string, at beginning
	of line in a git commit log, "Copyright-paperwork-exempt: yes", to
	the "  (tiny change)" notation that is appended to the standard
	ChangeLog "date  name  email" header line.

2012-01-01  Jim Meyering  <meyering@redhat.com>

	test-framework-sh: init.sh: fix "make dist" failure
	When using gnulib-tool's --with-tests option and any module that
	depends on test-framework-sh, "make dist" would fail due to the
	lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
	in the gltests directory, and not in the gllib/ directory.
	One way to work around that is to move the EXTRA_DIST += init.sh
	from the primary module to the -tests one:
	* modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
	* modules/test-framework-sh (Makefile.am): ...not here.
	Reported by Tom G. Christensen in
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519

	version-etc: update copyright year reported by --version
	* lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.

2011-12-31  Pádraig Brady  <P@draigBrady.com>

	canonicalize: only stat() if required
	* lib/canonicalize.c (canonicalize_filename_mode):
	Avoid calling l?stat() when both CAN_MISSING,
	and CAN_NOLINKS are set, as we neither need
	to resolve symlinks or test component existence.

2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	doc: cover st_ino issues once; add OpenVMS etc.
	* doc/posix-functions/stat.texi (stat):
	* doc/posix-functions/lstat.texi (lstat):
	* doc/posix-functions/fstatat.texi (fstatat):
	* doc/posix-functions/fstat.texi (fstat):
	Move general 'struct stat' stuff to sys_stat.texi,
	leaving behind a pointer.
	* doc/posix-headers/sys_stat.texi (sys/stat.h):
	Merge duplicate info about 'struct stat' problems into here.
	Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
	and suggest partial workarounds.

	same-inode: port to OpenVMS
	* lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
	three st_ino values.

2011-12-30  Pádraig Brady  <P@draigBrady.com>

	canonicalize: fix references to stat() and lstat()
	* lib/canonicalize.c (canonicalize_filename_mode):
	Ensure references always resolve to a replacement
	function if required (even via a macro).

2011-12-30  Jim Meyering  <meyering@redhat.com>

	gitlog-to-changelog: remove a little duplication
	* build-aux/gitlog-to-changelog (main): Grep @lines once,
	rather than twice.

2011-12-29  Pádraig Brady  <P@draigBrady.com>

	canonicalize: add support for not resolving symlinks
	* lib/canonicalize.h: Add the CAN_NOLINKS flag to
	indicate we don't want to follow symlinks.  Also
	provide CAN_MODE_MASK to aid setting these existing
	mutually exclusive values.
	* lib/canonicalize.c (canonicalize_filename_mode):
	Extract the flags from can_mode parameter, which
	are currently just used to select between stat()
	and lstat().  Also ensure that mutually exclusive
	values are flagged immediately as invalid.
	* tests/test-canonicalize.c: Verify symlinks are
	not followed, and that invalid flag combinations
	are diagnosed.

2011-12-25  Jim Meyering  <meyering@redhat.com>

	gitlog-to-changelog: do not clump multi-paragraph entries
	Identical header lines (date,name,email+coauthors) are suppressed,
	thus putting all entries with those same characteristics under
	a single header.  However, when a log entry consists of two or
	more paragraphs, it may not be clear where it starts and ends.
	This change makes it so that such an entry is always separated
	from others by a header line, even when that header would
	otherwise be suppressed.
	* build-aux/gitlog-to-changelog: Implement the above.
	Inspired by a related request from Stefano Lattarini in
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456

2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	announce-gen: fix `cmd' typo in diagnostic
	* build-aux/announce-gen (print_changelog_deltas): Fix typo in
	diagnostic: a missing '$' meant that the command was not output.

2011-12-23  Jim Meyering  <meyering@redhat.com>

	test-framework-sh: distribute init.sh
	* modules/test-framework-sh (EXTRA_DIST): Append init.sh.
	Otherwise, "make -C gnulib-tests check" (at least in grep) would
	fail due to the lack of init.sh.

	maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
	* modules/atexit-tests: Rather than listing tests/init.sh,
	now that there's a module for it, simply depend on that new module.
	* modules/closein-tests: Likewise.
	* modules/exclude-tests: Likewise.
	* modules/getcwd-tests: Likewise.
	* modules/perror-tests: Likewise.
	* modules/pread-tests: Likewise.
	* modules/pwrite-tests: Likewise.
	* modules/vc-list-files-tests: Likewise.
	* modules/verify-tests: Likewise.
	* modules/xalloc-die-tests: Likewise.
	* modules/xstrtoimax-tests: Likewise.
	* modules/xstrtol-tests: Likewise.
	* modules/xstrtoll-tests: Likewise.
	* modules/xstrtoumax-tests: Likewise.
	* modules/yesno-tests: Likewise.

2011-12-22  Jim Meyering  <meyering@redhat.com>

	test-framework-sh: add minimal tests of init.sh's compare function
	* modules/test-framework-sh-tests: New file.
	* tests/test-init.sh: New file.

	test-framework-sh: new module
	* modules/test-framework-sh: New file.
	* MODULES.html.sh (Support for maintaining and releasing projects):
	List it.

	init.sh: do not emit simulated diff output to stderr
	* tests/init.sh (compare_dev_null_): Print to stdout, not stderr.

2011-12-22  Reuben Thomas  <rrt@sc3d.org>

	.gitignore: ignore gnulib.dvi and regex.info
	* doc/.gitignore:add gnulib.dvi and regex.info

2011-12-22  Jim Meyering  <meyering@redhat.com>

	init.sh: correct previous change
	* tests/init.sh (compare): My previous change was wrong.
	Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.

	init.sh: avoid unwarranted test failure when using "set -e"
	* tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
	Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
	a use like "compare exp out" would get evoke an unconditional failure.

2011-12-21  Alfred M. Szmidt  <ams@gnu.org>

	bootstrap: fix it to honor $ACLOCAL_FLAGS once again
	The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
	of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
	autoreconf that did not.
	* build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
	Reported by Mats Erik Andersson <gnu@gisladisker.se>.

2011-12-17  Jim Meyering  <meyering@redhat.com>

	bootstrap: remove some now-unneeded code
	This script arose back when gnulib-tool was young.
	Since then, it has seen improvements that render much of this
	script unnecessary.  In particular, it can now make symlinks
	to the files it uses.  Also, I no longer see as much value in
	marking files as read-only via comments.
	If you relied on the symlink-creation feature of the preceding
	version of this script, you can get most of that functionality
	by adding the --symlink option to the definition of
	gnulib_tool_option_extras in your bootstrap.conf file.
	* build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
	Run autopoint and libtoolize *before* gnulib-tool.
	After it, run an abbreviated autoreconf, rather than a loop around
	all tools.
	(slirp, bt_mark_as_generated): Remove functions.

2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>

	ftoastr: fix typo
	* lib/ftoastr.h: Fix misspelling in comment.

2011-12-18  Reuben Thomas  <rrt@sc3d.org>

	* top/README-release: fix punctuation.

2011-12-17  Jim Meyering  <meyering@redhat.com>

	bootstrap: correct the recent buildreq change
	The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
	had no effect.
	* build-aux/bootstrap (buildreq): Bracket each search term with
	"*...*", so that the shell "case" statement works as intended.
	Add comments.

2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>

	build: let bootstrap resort to wget when downloading .po files
	* build-aux/bootstrap (download_po_files): Fallback to wget when
	downloading the .po files via rsync fails.  This is necessary to
	bootstrap from behind a strict firewall.

2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>

	stdint: don't assume C++11 when compiling with g++
	Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
	<http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
	* m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
	work also in C++ before C++11, as that improperly inhibits
	generating a substitute stdint.h for that case.

2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>

	alloca: protect comment from gnulib-tool
	* lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
	that gnulib-tool doesn't think it's a license, and munge it to
	say "GCC version 3".

2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)

	localcharset: Use an absolute path in TESTS_ENVIRONMENT.
	* modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
	$(abs_top_builddir) instead of $(top_builddir).

2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)

	strftime-tests: also test nanoseconds
	* tests/test-strftime.c (T): Add a test of %N.

2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>

	inttypes, stdint: add C++11 support
	C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
	when including inttypes.h and stdint.h.  Support this change to
	the standard.
	* doc/posix-headers/inttypes.texi (inttypes.h):
	* doc/posix-headers/stdint.texi (stdint.h): Document this.
	* lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
	Define if not defined already, for the benefit of pre-C++11 hosts.
	Define the standard format macros (e.g., PRId8) always.
	* lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
	Likewise, if __cpluspus.  Define the standard constant and limit
	macros (e.g., INT8_C, INT8_MAX) always.
	* m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
	GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
	* m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
	* tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
	(__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
	* tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
	Likewise.

2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>

	nonblocking tests: Fix test failure on Linux/PPC.
	Suggested by Prerna Saxena in
	<http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
	* tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
	Set to 1100000.

2011-12-12  Jim Meyering  <meyering@redhat.com>

	argmatch: don't hard-code `' when listing valid option arguments
	* lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
	use the quote function to add quotes.  Use fputs rather than
	fprintf for the format string with no format directive.

2011-12-07  Eric Blake  <eblake@redhat.com>

	bootstrap: detect tools required by gnulib-tool
	* build-aux/bootstrap (buildreq): Provide minimum implicit
	dependencies.
	* DEPENDENCIES: Mention patch as a prereq.

2011-12-04  Bruno Haible  <bruno@clisp.org>

	sethostname: Port to Windows platforms.
	* lib/sethostname.c: Provide an alternate implementation for Windows
	platforms.
	* tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
	(main): Skip the test if sethostname() fails with EPERM. On Windows
	platforms, don't check the result of gethostname().

2011-12-04  Bruno Haible  <bruno@clisp.org>
	    Jim Meyering  <meyering@redhat.com>

	tests: Avoid spurious error message on platforms without mktemp program.
	* tests/init.sh (mktempd_): Run mktemp in a subcommand.

2011-12-04  Bruno Haible  <bruno@clisp.org>

	sethostname: Fix documentation.
	* doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
	"not fixed" section.

2011-12-03  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Verify that the License field is present and non-empty.
	* gnulib-tool (func_get_license_raw): New function, extracted from
	func_get_license.
	(func_get_license): Use it. Warn if the module is not a test module and
	has no license.
	Suggested by Jim Meyering.

2011-12-03  Bruno Haible  <bruno@clisp.org>

	sethostname tests: Fix link error on mingw.
	* tests/test-sethostname1.c: New file, extracted from
	tests/test-sethostname.c.
	* tests/test-sethostname2.c: New file, extracted from
	tests/test-sethostname.c.
	* tests/test-sethostname.c: Remove file.
	* modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
	tests/test-sethostname2.c. Remove tests/test-sethostname.c.
	(Depends-on): Add gethostname.
	(Makefile.am): Compile both test-sethostname1 and test-sethostname2.
	Link the latter with $(GETHOSTNAME_LIB).

	sethostname tests: Fix compilation error on mingw.
	* tests/test-sethostname.c: Don't include <sys/types.h>.
	(geteuid): Use a dummy value without uid_t.
	* modules/sethostname-tests (Depends-on): Remove sys_types.

	sethostname tests: Avoid a gcc warning.
	* tests/test-sethostname.c (main): Remove an unused variable.

	Tweak last commit.
	* modules/sethostname-tests (Files): Sort by decreasing importance.
	(configure.ac): Check for geteuid.
	* tests/test-sethostname.c (main): Emit error messages to stderr. Skip
	the test when there's nothing to test. Drop an unnecessary cast.
	Improve an error message. Verify that the final sethostname() call
	succeeds.

2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>

	Add a test suite for the sethostname module.
	* modules/sethostname-tests: New file.  A test program
	for the sethostname module.
	* tests/test-sethostname.c: Likewise.

2011-12-03  Bruno Haible  <bruno@clisp.org>

	Tweak last commit.
	* lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
	Fix preprocessor directives indentation. Fix typos.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
	* modules/unistd (Makefile): Likewise.

2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>

	Integrate the sethostname module into unistd.
	* lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
	into the unistd.h header.
	* m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
	preprocessor directives.
	* modules/unistd: Setup the Makefile substitutions of the
	SETHOSTNAME preprocessor directives.

2011-12-03  Bruno Haible  <bruno@clisp.org>

	Tweak last commit.
	* lib/sethostname.c: Don't include <string.h>.
	(sethostname): No need to copy the argument string to the stack. Don't
	call clearerr. Preserve errno when fprintf failed.
	* m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
	Don't invoke AC_REPLACE_FUNCS.
	* modules/sethostname (Link): Remove empty section.
	* doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
	failure problem.

2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>

	New module 'sethostname'.
	* lib/sethostname.c (sethostname): New file.  Provide sethostname
	for systems that lack it.
	* m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
	sethostname declaration and function.
	* modules/sethostname: New file.  Define the sethostname module.

2011-12-03  Bruno Haible  <bruno@clisp.org>

	Tweak last commit.
	* m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.

2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>

	Split the HOST_NAME_MAX detection into a separate m4 macro.
	* m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
	macro so it can be used by the pending sethostname module.

2011-12-03  Bruno Haible  <bruno@clisp.org>

	Fix module descriptions syntax.
	* modules/argv-iter (License): Fix syntax.
	* modules/di-set (License): Likewise.
	* modules/ino-map (License): Likewise.
	Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.

2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign: port to Clang 3.0
	Problem reported by Simon Josefsson in
	<http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
	* doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
	which has <stdalign.h> but which does not define alignof.
	* m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.

2011-12-01  Eric Blake  <eblake@redhat.com>

	mktempd: silence dd usage
	* build-aux/mktempd (rand_bytes): Silence dd.

2011-11-30  Simon Josefsson  <simon@josefsson.org>

	manywarnings: Don't mention gcc version in docstring.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
	Jim Meyering <meyering@redhat.com>.

2011-11-30  Jim Meyering  <meyering@redhat.com>

	hash: mark a few floating point constants with "f" suffix
	* lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
	(DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
	floating point constants with "f", since they're destined to be
	saved/used as "float"s.

2011-11-29  Paolo Bonzini  <bonzini@gnu.org>

	float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
	* tests/test-float.c (test_long_double): Correct and re-enable the
	assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.

2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)

	Avoid subtracting two pointers that don't point into the same block.
	* lib/argp-help.c (hol_append): Reorder pointer subtractions so that
	only pointers into the same memory block are subtracted. We cannot
	assume that sizeof (ptrdiff_t) == sizeof (void *).

2011-11-29  Eric Blake  <eblake@redhat.com>

	maint.mk: add syntax check for use of compare from init.sh
	* top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
	moved here from coreutils.

	manywarnings: drop -Wunsuffixed-float-constants
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
	'1.0D', which is the only way to silence this warning for 'double'.

2011-11-29  Jim Meyering  <meyering@redhat.com>

	hash: mark compute_bucket_size with the pure attribute
	* lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.

	quotearg, propername: correct pragma guard expression
	* lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
	* lib/propername.c: Likewise.  Reported by Bernhard Voelker.

2011-11-28  Jim Meyering  <meyering@redhat.com>

	propername: do not mark proper_name with the const attribute
	* lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
	since it examines data pointed to by its parameter.
	* lib/propername.c (proper_name): Instead, add a pragma to suppress
	the suggestion from -Wsuggest-attribute=const.

	propername: mark one more function as const
	* lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.

2011-11-27  Jim Meyering  <meyering@redhat.com>

	mark functions with const and pure attributes

	Mark functions per suggestions from gcc-4.6 when using these options:
	-Wsuggest-attribute=pure -Wsuggest-attribute=const.
	Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
	Follow these guidelines: when possible, apply the attribute to
	an extern declaration, not to its definition.  Apply it to the
	definition only when the definition is static.
	* lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
	* lib/argv-iter.h (argv_iter_n_args): Likewise.
	* lib/base64.h (isbase64): Likewise.
	* lib/basename-lgpl.c (last_component, base_len): Likewise.
	* lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
	(c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
	(c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
	(c_tolower, c_toupper): Likewise.
	* lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
	* lib/chdir-long.c (find_non_slash): Likewise.
	* lib/dirname.h (base_len, dir_len, last_component): Likewise.
	* lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
	* lib/file-type.h (file_type): Likewise.
	* lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
	* lib/filevercmp.c (verrevcmp): Likewise.
	* lib/freadahead.h (freadahead): Likewise.
	* lib/fts.c (fts_maxarglen): Likewise.
	* lib/hash-pjw.h (hash_pjw): Likewise.
	* lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
	* lib/hash.c (is_prime, next_prime): Likewise.
	* lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
	(hash_get_n_entries, hash_get_max_bucket_length): Likewise.
	(hash_table_ok, hash_get_first, hash_string): Likewise.
	(compute_bucket_size): Likewise.
	* lib/i-ring.h (i_ring_empty): Likewise.
	* lib/isnan.c (isnanl): Likewise.
	* lib/math.h (isnanl, rpl_isnanl): Likewise.
	* lib/memcasecmp.h (memcasecmp): Likewise.
	* lib/memchr2.h (memchr2): Likewise.
	* lib/memcmp2.h (memcmp2): Likewise.
	* lib/parse-datetime.y (lookup_zone): Likewise.
	* lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
	[!WINDOWS_SOCKETS]: Likewise.
	* lib/strnlen1.h (strnlen1): Likewise.
	* lib/uniwidth.in.h (uc_width): Likewise.
	* lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
	gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
	(quoting_options_from_style): Add a comment.
	* lib/propername.h (proper_name): Add a comment.

2011-11-27  Bruno Haible  <bruno@clisp.org>

	Remove unused macros from !_LIBC code in glibc-borrowed files.
	* lib/fnmatch.c (STRCOLL): Remove macro.
	* lib/fnmatch_loop.c (STRCOLL): Remove undef.
	* lib/glob.c (__stat, __readdir64): Remove macros.
	* lib/tempname.c (__open64, __xstat64): Remove macros.
	Suggested by Paul Eggert.

2011-11-27  Bruno Haible  <bruno@clisp.org>

	getcwd: Fix link error on MSVC 9.
	* modules/getcwd (Depends-on): Add readdir, rewinddir.

2011-11-27  Bruno Haible  <bruno@clisp.org>

	Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
	* m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
	HAVE_OPENDIR is 0.
	* m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
	HAVE_CLOSEDIR is 0.
	* m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
	is 0.
	* m4/dup3.m4 (gl_FUNC_DUP3): Update comments.

2011-11-27  Bruno Haible  <bruno@clisp.org>

	getcwd: Fix bug from 2011-08-17.
	* m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
	platforms that need it.
	* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
	code of 4 to be a failure, not a success. This ensures that
	REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.

2011-11-27  Bruno Haible  <bruno@clisp.org>

	binary-io tests: Avoid test failure on mingw when libtool is used.
	* tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
	Don't verify the size of t-bin-out1.tmp here.
	* tests/test-binary-io.sh: Verify it here.
	Reported by Simon Josefsson.

2011-11-26  Bruno Haible  <bruno@clisp.org>

	Fix conflict between two instantiations of module 'unistd'.
	* gnulib-tool (func_emit_autoconf_snippet): Substitute
	${include_guard_prefix} also in the autoconf snippet.
	* m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
	GNULIB_UNISTD_H_GETOPT.
	* modules/getopt-posix (configure.ac): Set the
	GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
	* modules/getopt-gnu (configure.ac): Likewise.
	* modules/unistd (Makefile.am): Change the substitution value of
	GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
	Reported by Simon Josefsson.

2011-11-25  Bruno Haible  <bruno@clisp.org>

	pagealign_alloc: Doc and comments.
	* doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
	module.
	* lib/pagealign_alloc.c (pagealign_alloc): Add comment.

2011-11-25  Jim Meyering  <meyering@redhat.com>

	test-update-copyright.sh: avoid false-positive failure
	* tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
	around false positive failure on Cygwin/Windows.  The latter was
	matching erroneously-created files with names like
	update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.

2011-11-25  Simon Josefsson  <simon@josefsson.org>

	valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
	* m4/valgrind-tests.m4: Check that the parameters that will be
	used works, not just a subset of them.  Reported by Bruno Haible
	<bruno@clisp.org>.

2011-11-24  Jim Meyering  <meyering@redhat.com>

	test-stdalign.c: comment out long double tests
	* tests/test-stdalign.c: Don't try to reduce alignment of long double
	variables.  That provokes errors like this from gcc-4.7.0 20111124:
	error: '_Alignas' specifiers cannot reduce alignment of \
	'static_longdouble_alignas'.

2011-11-22  Jim Meyering  <meyering@redhat.com>

	init.sh: make "compare /dev/null FILE" output more readable
	* tests/init.sh (compare_): Document the preferred order of arguments.
	(emit_diff_u_header_): New function.
	(compare_dev_null_): Emit a simulated diff, rather than just the
	contents of the unexpected file.  Suggestion from Bruno Haible.

2011-11-21  Jim Meyering  <meyering@redhat.com>
	    Eric Blake  <eblake@redhat.com>

	init.sh: work around OSF/1 5.1's mishandling of /dev/null
	* tests/init.sh: Make our compare function slightly more portable.
	Reported by Bruno Haible in
	http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020

2011-11-21  Simon Josefsson  <simon@josefsson.org>

	* m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
	before using it, in code that ends up in config.h.

2011-11-20  Bruno Haible  <bruno@clisp.org>

	getcwd: Work around getcwd bug on AIX 5..7.
	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
	AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
	Use a different value for gl_cv_func_getcwd_path_max. Move the
	definition of HAVE_PARTLY_WORKING_GETCWD from here...
	* m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
	gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
	Define HAVE_MINIMALLY_WORKING_GETCWD.
	* lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
	where it is not even minimally working, that is, on AIX.
	* tests/test-getcwd.c (test_long_name): Distinguish the same cases as
	m4/getcwd-path-max.m4.
	(main): Update exit code computation.
	* doc/posix-functions/getcwd.texi: Mention list of platforms where
	getcwd does not handle long file names.

2011-11-20  Bruno Haible  <bruno@clisp.org>

	getcwd: Fix bug from 2009-09-10.
	* m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
	like "no".

2011-11-20  Simon Josefsson  <simon@josefsson.org>

	* m4/manywarnings.m4: Add more warnings from gcc 4.6.2.

2011-11-20  Bruno Haible  <bruno@clisp.org>

	fma tests: Avoid shadowing local variables.
	* tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
	expected.

2011-11-20  Bruno Haible  <bruno@clisp.org>

	copysignf tests: Fix.
	* tests/test-copysignf.c: Fix signature check.

2011-11-20  Bruno Haible  <bruno@clisp.org>

	fma: Remove unused code.
	* lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
	unused macros.

2011-11-20  Bruno Haible  <bruno@clisp.org>

	sethostname: Fix doc about AIX.
	* doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
	sethostname; it has it.

	sethostname: Mention more portability problems.
	* doc/glibc-functions/sethostname.texi: Mention the missing declaration
	problem.
	Reported by Ben Walton <bwalton@artsci.utoronto.ca>.

2011-11-19  Bruno Haible  <bruno@clisp.org>

	Depend on module fcntl-h when AT_FDCWD is used.
	* modules/utimens (Depends-on): Add fcntl-h.
	* modules/areadlinkat (Depends-on): Likewise.
	* modules/areadlinkat-with-size (Depends-on): Likewise.
	* modules/faccessat (Depends-on): Likewise.
	* modules/fchmodat (Depends-on): Likewise.
	* modules/fchownat (Depends-on): Likewise.
	* modules/getcwd (Depends-on): Likewise.
	* modules/mkdirat (Depends-on): Likewise.
	* modules/mkfifoat (Depends-on): Likewise.
	* modules/readlinkat (Depends-on): Likewise.
	* modules/symlinkat (Depends-on): Likewise.
	* modules/dup2-tests (Depends-on): Likewise.
	* modules/fdutimensat-tests (Depends-on): Likewise.
	* modules/futimens-tests (Depends-on): Likewise.

2011-11-19  Bruno Haible  <bruno@clisp.org>

	euidaccess: Update a comment.
	* lib/euidaccess.c: Update comment about platforms with faccessat.

2011-11-19  Bruno Haible  <bruno@clisp.org>

	openat: Fix file list.
	* modules/openat (Files): Remove lib/at-func.c.

2011-11-19  Bruno Haible  <bruno@clisp.org>

	fstatat: Simplify.
	* lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
	gnulib should define rpl_fstatat, there is a
	"#define fstatat rpl_fstatat" in <sys/stat.h>.

2011-11-19  Bruno Haible  <bruno@clisp.org>

	Ensure 'inline' can be used in tests/test-utimens-common.h.
	* modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
	* modules/futimens-tests (configure.ac): Likewise.
	* modules/utimens-tests (configure.ac): Likewise.
	* modules/utimensat-tests (configure.ac): Likewise.

2011-11-19  Simon Josefsson  <simon@josefsson.org>

	* lib/hash.c (hash_insert): Use hash_insert_if_absent,
	not hash_insert0.
	(hash_insert_if_absent): Doc fix.

2011-11-19  Simon Josefsson  <simon@josefsson.org>

	* m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.

2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>

	test-getcwd: disambiguate exit status
	* tests/test-getcwd.c (test_long_name): Return 0..7.
	(main): Exit with an unambiguous exit status.  The old
	code yielded a mysterious mixture of two failure codes.

	fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
	* lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
	HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
	rpl_fstatat or fstatat.  This should fix the other problem
	reported by Kai Habel in
	<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
	A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
	<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
	and I reproduced it on a Solaris 8 host we still have in production.

2011-11-18  Jim Meyering  <meyering@redhat.com>

	hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
	* lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
	Add a sentence to the comment.
	(hash_insert0): New function that simply calls hash_insert_if_absent.
	* lib/hash.h (hash_insert_if_absent): Declare it.
	(hash_insert0): Add deprecation attribute.
	(_GL_ATTRIBUTE_DEPRECATED): Define.
	* lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
	not hash_insert0.
	* NEWS: Mention it, even though it's not really an incompatible change.

2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)

	openat: avoid compilation failure due to lack of <errno.h> inclusion
	* lib/openat.c: Include <errno.h>.

2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/getcwd (Depends-on): Add fdopendir.
	This fixes one of the two problems reported by Kai Habel in
	<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.

	modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
	stdalign problem reported by Ian Beckwith in
	<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
	* modules/crypto/gc-arcfour (Depends-on):
	Depend conditionally on crypto/arcfour.
	* modules/crypto/gc-arctwo (Depends-on):
	Depend conditionally on crypto/arctwo.
	* modules/crypto/gc-des (Depends-on):
	Depend conditionally on crypto/des.
	* modules/crypto/gc-hmac-md5 (Depends-on):
	Depend conditionally on crypto/hmac-md5.
	* modules/crypto/gc-hmac-sha1 (Depends-on):
	Depend conditionally on crypto/hmac-sha1.
	* modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
	* modules/crypto/gc-md4 (Depends-on):
	Depend conditionally on crypto/md4.
	* modules/crypto/gc-md5 (Depends-on):
	Depend conditionally on crypto/md5.
	* modules/crypto/gc-rijndael (Depends-on):
	Depend conditionally on crypto/rijndael.
	* modules/crypto/gc-sha1 (Depends-on):
	Depend conditionally on crypto/sha1.
	* modules/crypto/gc-arcfour:
	* modules/crypto/gc-arctwo:
	* modules/crypto/gc-des:
	* modules/crypto/gc-hmac-md5:
	* modules/crypto/gc-hmac-sha1:
	* modules/crypto/gc-md2:
	* modules/crypto/gc-md4:
	* modules/crypto/gc-md5:
	* modules/crypto/gc-rijndael:
	* modules/crypto/gc-sha1:
	(Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
	now that the conditional dependencies do the work for us.

2011-11-17  Jim Meyering  <meyering@redhat.com>

	tests: factor st_ctime-comparison out of two headers
	* tests/test-utimens-common.h (ctime_compare): Define.
	* tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
	* tests/test-lutimens.h (test_lutimens): Likewise.
	* tests/test-utimens.h (test_utimens): Likewise.

	test-getcwd: don't leave behind a confdir3/ directory upon interrupt
	Invoke the test program via an init.sh-using wrapper.
	* tests/test-getcwd.sh: New file.
	* modules/getcwd-tests (Files): Add it.
	(Makefile.am) [TESTS]: Invoke the shell script wrapper.

2011-11-01  Gary V. Vaughan  <gary@gnu.org>

	gitlog-to-changelog: support multi-author commits.
	The FSF cares about keeping track of all authors of patches to its
	projects, but Git doesn't provide obvious support for multi-author
	changesets. Consensus seems to be forming around the use of extra
	Signed-off-by inspired lines in the log message formatted as
	`Co-authored-by: A U Thor <email@example.com>' for round-tripping
	multi-author commits between version control systems.
	* gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
	log message and output in standard ChangeLog multi-author format.
	Reported by Peter Rosin <peda@lysator.liu.se>

2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
	    Bruno Haible  <bruno@clisp.org>

	Fix some modules' file list.
	* modules/fstatat (Files): Add m4/lstat.m4.
	* modules/openat (Files): Likewise.
	* modules/unlinkat (Files): Likewise.

2011-11-15  Gary V. Vaughan  <gary@gnu.org>

	maint.mk: fix tight-scope.mk generation in VPATH builds.
	* top/maint.mk (tight-scope.mk): Make sure to prefix file
	reference with $(srcdir) so that the file is found correctly even
	when running `make syntax-check' in a VPATH build.

2011-11-13  Bruno Haible  <bruno@clisp.org>
	    Jim Meyering  <meyering@redhat.com>

	Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
	* tests/init.sh (compare): Remove "No differences encountered" or
	synonymous output from the 'diff' program.

2011-11-13  Bruno Haible  <bruno@clisp.org>

	Makefile: Tweak indentation.
	* Makefile: Use tab as first character in every line that contains rule
	commands.

2011-11-13  Bruno Haible  <bruno@clisp.org>

	Syntax check for copyright statements.
	* check-copyright: New file.
	* Makefile (sc_check_copyright): New rule.

2011-11-13  Simon Josefsson  <simon@josefsson.org>

	* build-aux/git-version-gen: Add --prefix to configure the tag
	match string.

2011-11-13  Simon Josefsson  <simon@josefsson.org>

	* build-aux/git-version-gen: Add --help and --version.

2011-11-12  Jim Meyering  <meyering@redhat.com>

	revamp the other test-exclude?.sh scripts to use init.sh, too
	* tests/test-exclude1.sh: Use init.sh.
	* tests/test-exclude2.sh: Likewise.
	* tests/test-exclude3.sh: Likewise.
	* tests/test-exclude4.sh: Likewise.
	* tests/test-exclude5.sh: Likewise.
	* tests/test-exclude6.sh: Likewise.
	* tests/test-exclude7.sh: Likewise.
	* tests/test-exclude8.sh: Likewise.
	* modules/exclude-tests (Files): List init.sh.

	test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
	These shell scripts ignored failure of the binary test-exclude,
	so making the latter return 77 didn't cause them to be skipped.
	* tests/test-exclude5.sh: Exit with test-exclude's error status
	when that program fails.  Revamp to use init.sh.
	* tests/test-exclude2.sh: Likewise.

	test-exclude: fix a typo
	* tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".

2011-11-11  Bruno Haible  <bruno@clisp.org>

	obstack: Fix compilation error on MSVC 9.
	* lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.

2011-11-11  Jim Meyering  <meyering@redhat.com>

	test-exclude: skip tests rather than failing on deficient systems
	* tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
	and FNM_LEADING_DIR on systems that lack the definitions.  This affects
	at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
	http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950

2011-11-10  Bruno Haible  <bruno@clisp.org>

	ptsname_r test: Avoid gcc warning on glibc systems.
	* tests/test-ptsname_r.c (null_ptr): New function.
	(test_errors): Use it.

2011-11-10  Bruno Haible  <bruno@clisp.org>

	ptsname_r: Avoid compilation error on OSF/1 5.1.
	* lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
	* m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
	function is not declared or incompatibly declared.
	* modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
	* modules/ptsname_r (Depends-on, configure.ac): Update.
	* doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.

2011-11-10  Bruno Haible  <bruno@clisp.org>

	fstatat: Make cross-compilation guess succeed everywhere except on AIX.
	* m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
	When cross-compiling, guess yes on all platforms except AIX.
	Reported by Ludovic Courtès <ludo@gnu.org>.

2011-11-09  Bruno Haible  <bruno@clisp.org>

	ptsname_r tests: Fix bugs.
	* tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
	Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.

2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>

	fstatat: work with cross-compilation
	Problem reported by Ludovic Courtès in
	<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
	* m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
	"cross-compiling" and assume the bug is present.  Replace
	FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
	an inverted sense, to be more conservative about our assumptions.
	* lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.

2011-11-09  Bruno Haible  <bruno@clisp.org>

	Improve MODULES.html output.
	* modules/mkfifoat (Description): Use the word "function".
	* modules/readlinkat (Description): Likewise.
	* modules/symlinkat (Description): Likewise.

2011-11-09  Eric Blake  <eblake@redhat.com>

	ptsname_r-tests: new test module
	* modules/ptsname_r-tests: New module.
	* tests/test-ptsname_r.c: New file.

	ptsname_r: new module
	* modules/ptsname_r: New module.
	* m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
	* lib/ptsname.c (__ptsname_r): Split...
	* lib/ptsname_r.c: ...into new file.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
	(gl_STDLIB_H_DEFAULTS): Set witness defaults.
	* modules/stdlib (Makefile.am): Substitute witnesses.
	* lib/stdlib.in.h (ptsname_r): Declare it.
	* doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
	* MODULES.html.sh (Misc): Likewise.
	* modules/ptsname (Depends-on): Alter dependency.
	* doc/posix-functions/ptsname.texi (ptsname): Mention new module.

2011-11-09  Jim Meyering  <meyering@redhat.com>

	announce-gen: be more concise when there's only one URL+tarball
	* build-aux/announce-gen (get_tool_versions): When you distribute
	only one type of tarball, combine the first two "Here are..."
	sections and make the key-checking grammar independent of
	how many tarballs there are.

2011-11-09  Eric Blake  <eblake@redhat.com>

	openpty: provide a stub on mingw
	* lib/pty.in.h (includes): Provide forward declarations.
	* lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.

	raise: fix mingw handling of SIGPIPE
	* lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.

2011-11-08  Bruno Haible  <bruno@clisp.org>

	More conditional dependencies.
	* modules/faccessat (Depends-on): Add conditions.
	* modules/fchmodat (Depends-on): Likewise.
	* modules/fchownat (Depends-on): Likewise.
	* modules/fstatat (Depends-on): Likewise.
	* modules/mkfifoat (Depends-on): Likewise.
	* modules/readlinkat (Depends-on): Likewise.
	* modules/symlinkat (Depends-on): Likewise.
	* modules/unlinkat (Depends-on): Likewise.
	* modules/utimensat (Depends-on): Likewise.
	* modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
	* modules/linkat (Depends-on): Refine the conditions.
	* modules/renameat (Depends-on): Likewise.

2011-11-08  Bruno Haible  <bruno@clisp.org>

	faccessat: Move AC_LIBOBJ invocation to module description.
	* m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
	(gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
	invocation from here...
	* modules/faccessat (configure.ac): ... to here. Invoke
	gl_PREREQ_FACCESSAT.

2011-11-08  Bruno Haible  <bruno@clisp.org>

	faccessat: Simplify autoconf macro.
	* m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
	gl_FUNC_EUIDACCESS.

2011-11-08  Bruno Haible  <bruno@clisp.org>

	renameat: Fix dependencies.
	* modules/renameat (Depends-on): Add stdbool.

2011-11-08  Bruno Haible  <bruno@clisp.org>

	mkfifoat: Fix module description.
	* modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
	not gl_UNISTD_MODULE_INDICATOR.

2011-11-08  Bruno Haible  <bruno@clisp.org>

	fstatat: Remove unused dependency.
	* modules/fstatat (Depends-on): Remove fstat.

2011-11-08  Simon Josefsson  <simon@josefsson.org>

	GNUmakefile: behave when Makefile is missing.
	* top/GNUmakefile: Always initialize _build-aux and _autoreconf.

2011-11-08  Bruno Haible  <bruno@clisp.org>

	openat: Conditionalize dependencies.
	* lib/openat.c: Reduce the scope of some #includes.
	* modules/openat (Depends-on): Add conditions.

2011-11-07  Jim Meyering  <meyering@redhat.com>

	maint.mk: extract GPG key ID without using a temporary file
	* top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
	without using a temporary file.  Based on a suggestion from Werner Koch
	in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496

2011-11-07  Eric Blake  <eblake@redhat.com>

	grantpt: fix typo
	* lib/stdlib.in.h (grantpt): Check correct function.

	maint.mk: silence new syntax check
	* top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.

2011-11-06  Bruno Haible  <bruno@clisp.org>

	Doc about floating-point and math API.
	* doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
	* doc/posix-headers/math.texi: Mention problem with math_errhandling.

2011-11-06  Bruno Haible  <bruno@clisp.org>

	stdalign tests: Skip the test when compiled by Sun C.
	* tests/test-stdalign.c (main): Skip the test on Sun C.

2011-11-06  Bruno Haible  <bruno@clisp.org>

	ansi-c++-opt: Complete the 2011-06-05 change.
	* m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
	does not support namespaces, set the variable to "no", not to ":".

2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.

2011-11-06  Bruno Haible  <bruno@clisp.org>

	copysignl: Fix result for zero argument on HP-UX 11 with HP C.
	* lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
	(minus_zerol) [HP-UX]: New macro.
	(unary_minus) [HP-UX]: New function.
	(copysignl) [HP-UX]: Use unary_minus function.

2011-11-06  Bruno Haible  <bruno@clisp.org>

	ldexp, ldexpf, ldexpl: Enhance tests.
	* tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
	and tests/test-ldexpl.c.
	* tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
	LDEXP, MIN_EXP, MAX_EXP): New macros.
	Include test-ldexp.h.
	(main): Just call test_function.
	* tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
	infinity.h, nan.h.
	(DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
	MAX_EXP): New macros.
	Include test-ldexp.h.
	(x, y): Remove variables.
	(main): Just call test_function.
	* tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
	infinity.h, nan.h.
	(DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
	MAX_EXP): New macros.
	Include test-ldexp.h.
	(x, y): Remove variables.
	(main): Just call test_function.
	* modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
	* modules/ldexp-tests (Files): Add tests/test-ldexp.h,
	tests/minus-zero.h, tests/infinity.h, tests/nan.h.
	(Depends-on): Add isnand-nolibm, signbit, float.
	* modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
	tests/minus-zero.h, tests/infinity.h, tests/nan.h.
	(Depends-on): Add isnanf-nolibm, signbit, float.

2011-11-06  Bruno Haible  <bruno@clisp.org>

	math tests: Cosmetics.
	* tests/test-math-c++.cc: Reorder declarations.

2011-11-05  Bruno Haible  <bruno@clisp.org>

	fma*: Simplify test.
	* tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
	(test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.

	Tests for module 'fmal'.
	* modules/fmal-tests: New file.
	* tests/test-fmal1.c: New file.
	* tests/test-fmal2.c: New file.

	New module 'fmal'.
	* lib/math.in.h (fmal): New declaration.
	* lib/fmal.c: New file.
	* m4/fmal.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
	* modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
	REPLACE_FMAL.
	* modules/fmal: New file.
	* doc/posix-functions/fmal.texi: Mention the new module and the various
	bugs.

	Tests for module 'fmaf'.
	* modules/fmaf-tests: New file.
	* tests/test-fmaf1.c: New file.
	* tests/test-fmaf2.c: New file.

	New module 'fmaf'.
	* lib/math.in.h (fmaf): New declaration.
	* lib/fmaf.c: New file.
	* m4/fmaf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
	* modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
	REPLACE_FMAF.
	* modules/fmaf: New file.
	* doc/posix-functions/fmaf.texi: Mention the new module and the various
	bugs.

	Tests for module 'fma'.
	* modules/fma-tests: New file.
	* tests/test-fma1.c: New file.
	* tests/test-fma1.h: New file.
	* tests/test-fma2.c: New file.
	* tests/test-fma2.h: New file.

	New module 'fma'.
	* lib/math.in.h (fma): New declaration.
	* lib/fma.c: New file.
	* m4/fma.m4: New file.
	* m4/fegetround.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
	* modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
	REPLACE_FMA.
	* modules/fma: New file.
	* doc/posix-functions/fma.texi: Mention the new module and the various
	bugs.

	Extend gl_MATHFUNC.
	* m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
	Support 'void' as argument type.
	* m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.

2011-11-05  Jim Meyering  <meyering@redhat.com>

	maint.mk: also prohibit inclusion of dirent.h without use
	* top/maint.mk (sc_prohibit_dirent_without_use): New rule.

2011-11-05  Bruno Haible  <bruno@clisp.org>

	ldexpl tests: Avoid test failure on MSVC 9.
	* tests/test-ldexpl.c (main): Use a temporary variable for the expected
	value. Needed in order to enforce the conversion from a value greater
	than LDBL_MAX to Infinity.

2011-11-05  Bruno Haible  <bruno@clisp.org>

	New modules 'at-internal', 'openat-h', split off from module 'openat'.
	* modules/at-internal: New file, extracted from modules/openat.
	* modules/openat-h: New file.
	* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
	invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
	* modules/openat (Description): Add reference to POSIX function.
	(Files): Remove lib/openat.h, lib/openat-proc.c.
	(Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
	intprops, unistd.
	(configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
	gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
	gl_FCNTL_MODULE_INDICATOR.
	(Include): Remove unistd.h, openat.h.
	* modules/areadlinkat (Files): Add lib/at-func.c.
	(Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
	openat-die, openat-h, save-cwd.
	* modules/areadlinkat-with-size (Files): Add lib/at-func.c.
	(Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
	openat-die, openat-h, save-cwd, unistd.
	* modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
	(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
	openat-h, save-cwd. Remove fcntl-h, openat.
	* modules/fchmodat (Files): Remove lib/openat.h.
	(Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
	openat, stdbool, unistd.
	* modules/fchownat (Files): Remove lib/openat.h.
	(Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
	openat, stdbool, sys_stat.
	* modules/fdopendir (Files): Remove lib/openat-priv.h,
	lib/openat-proc.c.
	(Depends-on): Add at-internal.
	(condigure.ac): Remove AC_LIBOBJ of openat-proc.
	* modules/fstatat (Files): Remove lib/openat.h.
	(Depends-on): Add at-internal, openat-h. Remove dirent, openat,
	stdbool, unistd.
	* modules/fts (Depends-on): Add openat-h.
	* modules/linkat (Depends-on): Add at-internal, openat-h. Remove
	openat.
	* modules/mkdirat (Files): Remove lib/openat.h.
	(Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
	openat, stdbool, sys_stat.
	* modules/mkfifoat (Files): Add lib/at-func.c.
	(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
	openat-h, save-cwd. Remove fcntl-h, openat.
	* modules/openat-die (Depends-on): Add openat-h. Remove openat.
	* modules/readlinkat (Files): Add lib/at-func.c.
	(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
	openat-h, save-cwd. Remove fcntl-h, openat.
	* modules/renameat (Depends-on): Add at-internal, openat-h. Remove
	openat.
	* modules/selinux-at (Files): Add lib/at-func.c.
	(Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
	fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
	* modules/symlinkat (Files): Add lib/at-func.c.
	(Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
	openat-h, save-cwd. Remove fcntl-h, openat.
	* modules/unlinkat (Files): Remove lib/openat.h.
	(Depends-on): Add at-internal, openat-h. Remove dirent, openat,
	stdbool.
	* modules/utimensat (Files): Add lib/at-func.c.
	(Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
	openat-die, openat-h, save-cwd.
	* modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
	* modules/fdutimensat-tests (Depends-on): Add openat.
	* modules/fstatat-tests (Depends-on): Add openat-h.
	* modules/readlinkat-tests (Depends-on): Add openat.
	* modules/symlinkat-tests (Depends-on): Add openat.

2011-11-05  Bruno Haible  <bruno@clisp.org>

	openat: Include <stdbool.h>.
	* lib/openat.c: Include <stdbool.h>.

2011-11-04  Bruno Haible  <bruno@clisp.org>

	fchownat, renameat, unlinkat: Fix dependencies.
	* modules/fchownat (Depends-on): Add fstatat.
	* modules/renameat (Depends-on): Likewise.
	* modules/unlinkat (Depends-on): Likewise.

2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>

	openat: remove direct dependency on dirent
	* lib/openat.h: Don't include <dirent.h>; it's no longer needed,
	and hasn't been needed ever since fdopendir was split into its own
	module on 2009-08-31.
	* modules/openat (Depends-on): Remove dirent.

2011-11-04  Bruno Haible  <bruno@clisp.org>

	renameat: Optimize code size.
	* modules/renameat (configure.ac): Don't compile at-func2.c if
	REPLACE_RENAMEAT is 1.

2011-11-04  Bruno Haible  <bruno@clisp.org>

	openat tests: Fix file list.
	* modules/openat-tests (Files): Add tests/test-open.h.

2011-11-04  Bruno Haible  <bruno@clisp.org>

	openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
	* modules/fchmodat (Depends-on): Add openat-die.
	* modules/fchownat (Depends-on): Likewise.
	* modules/linkat (Depends-on): Likewise.
	* modules/renameat (Depends-on): Likewise.
	* modules/openat (Depends-on): Add dirent.

2011-11-04  Jim Meyering  <meyering@redhat.com>

	at-func*.c: fix comments
	* lib/at-func2.c: Correct/improve first-line comment.
	* lib/at-func.c: Correct grammar in first-line comment.

2011-11-04  Bruno Haible  <bruno@clisp.org>

	New module 'mkdirat', split off from module 'openat'.
	* m4/mkdirat.m4: New file. extracted from m4/openat.m4.
	* m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
	Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
	* modules/mkdirat: New file, extracted from modules/openat.
	* modules/openat (Files): Remove lib/mkdirat.c.
	(Depends-on): Remove mkdir.
	(configure.ac): Remove AC_LIBOBJ of mkdirat.
	(Include): Remove <sys/stat.h>.
	* modules/mkdirat-tests: New file, extracted from modules/openat-tests.
	* modules/openat-tests (Files): Remove tests/test-mkdirat.c,
	tests/test-mkdir.h.
	(Depends-on): Remove ignore-value.
	(Makefile.am): Remove rules for test-mkdirat.
	* doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
	of module 'openat'.
	* NEWS: Mention the change.

2011-11-04  Bruno Haible  <bruno@clisp.org>

	closedir: Avoid warning on mingw.
	* lib/closedir.c: Include <unistd.h>.

2011-11-04  Bruno Haible  <bruno@clisp.org>

	New module 'fstatat', split off from module 'openat'.
	* lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
	defined.
	* m4/fstatat.m4: New file. extracted from m4/openat.m4.
	* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
	gl_FUNC_FSTATAT.
	(gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
	* modules/fstatat: New file, extracted from modules/openat.
	* modules/openat (Files): Remove lib/fstatat.c.
	(Depends-on): Remove lstat.
	(configure.ac): Remove AC_LIBOBJ of fstatat.
	* modules/fstatat-tests: New file, extracted from modules/openat-tests.
	* modules/openat-tests (Files): Remove tests/test-fstatat.c,
	tests/test-lstat.h, tests/test-stat.h.
	(Depends-on): Remove getcwd-lgpl.
	(Makefile.am): Remove rules for test-fstatat.
	* doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
	of module 'openat'.
	* NEWS: Mention the change.
	* modules/getcwd (Depends-on): Add fstatat.
	* modules/linkat (Depends-on): Likewise.
	* modules/mkfifoat-tests (Depends-on): Likewise.
	* modules/utimensat (Depends-on): Add fstatat. Remove openat.

2011-11-03  Bruno Haible  <bruno@clisp.org>

	New module 'unlinkat', split off from module 'openat'.
	* m4/unlinkat.m4: New file, extracted from m4/openat.m4.
	* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
	REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
	* modules/unlinkat: New file, extracted from modules/openat. Correct
	the dependency conditions.
	* modules/openat (Files): Remove lib/unlinkat.c.
	(Depends-on): Remove rmdir, unlink.
	(configure.ac): Remove AC_LIBOBJ of unlinkat.
	* modules/unlinkat-tests: New file, extracted from modules/openat-tests.
	* modules/openat-tests (Files): Remove tests/test-unlinkat.c,
	tests/test-rmdir.h, tests/test-unlink.h.
	(Depends-on): Remove unlinkdir.
	(Makefile.am): Remove rules for test-unlinkat.
	* doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
	of module 'openat'.
	* NEWS: Mention the change.
	* modules/linkat-tests (Depends-on): Add unlinkat.
	* modules/mkfifoat-tests (Depends-on): Likewise.
	* modules/readlinkat-tests (Depends-on): Likewise.

2011-11-02  Bruno Haible  <bruno@clisp.org>

	New module 'fchmodat', split off from module 'openat'.
	* lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
	defined.
	* m4/fchmodat.m4: New file, extracted from m4/openat.m4.
	* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
	for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
	* modules/fchmodat: New file, extracted from modules/openat.
	* modules/openat (Files): Remove lib/fchmodat.c.
	(configure.ac): Remove AC_LIBOBJ of fchmodat.
	* modules/fchmodat-tests: New file, extracted from modules/openat-tests.
	* modules/openat-tests (Files): Remove tests/test-fchmodat.c.
	(Makefile.am): Remove rules for test-fchmodat.
	* doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
	of module 'openat'.
	* NEWS: Mention the change.

2011-11-02  Jim Meyering  <meyering@redhat.com>

	putenv: indent #definition of "environ" to placate cppi
	* lib/putenv.c (environ): Make indentation reflect cpp nesting.

	gitlog-to-changelog: provide a ChangeLog-repair mechanism
	Git logs are often treated as immutable, because editing them
	changes the SHA1 checksums of all descendants.  Thus, errors in
	git logs tend to stay there forever.  However, when we generate
	a ChangeLog file -- typically for distribution -- from that git log,
	we can actually make corrections in the generated file.  The key
	lies in recording in machine-readable/applicable form the desired
	corrections.  See --help for description and an example.
	* build-aux/gitlog-to-changelog (parse_amend_file): New function.
	(usage): Describe it; alphabetize option descriptions.
	(main): Honor the new option, carefully.

2011-11-01  Jim Meyering  <meyering@redhat.com>

	gitlog-to-changelog: avoid an infloop
	* build-aux/gitlog-to-changelog: Don't infloop for a commit log
	that ends up being empty.

2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh: Fix sed-script shell quoting and locale issues.
	(func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
	bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
	contains (possibly-quoted) backslashes.  This should avoid
	all-too-common shell bugs if COMPLICATED contains backslashes in
	the "wrong" places.  Reported by David Evans in
	<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
	When 'sed' uses character ranges like A-Z, invoke it in the C locale,
	because we want ASCII ranges.  Is there some reason we don't use
	the C locale everywhere in this script?
	(func_module, top level): Avoid unwanted pathname expansion when
	$repo_url_prefix or $repo_url_suffix_repl contain shell
	metacharacters like '?' and '*'.

2011-11-01  Bruno Haible  <bruno@clisp.org>

	fchownat: Improve description.
	* modules/fchownat (Description): Add link to function.

2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>

	* tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
	mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
	<http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
	* doc/posix-headers/stdalign.texi (stdalign.h): Document this.

2011-11-01  Bruno Haible  <bruno@clisp.org>

	alignof: Avoid collision with stdalign module.
	* lib/alignof.h (alignof): Remove macro.
	* NEWS: Mention the change.
	Reported by Paul Eggert.

2011-11-01  Bruno Haible  <bruno@clisp.org>

	New module 'fchownat', split off from module 'openat'.
	* lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
	defined.
	* m4/fchownat.m4: New file, extracted from m4/openat.m4.
	* m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
	invoke gl_FUNC_FCHOWNAT.
	(gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
	gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
	* modules/fchownat: New file, extracted from modules/openat.
	* modules/openat (Files): Remove lib/fchownat.c.
	(Depends-on): Remove lchown.
	(configure.ac): Remove AC_LIBOBJ of fchownat.
	* modules/fchownat-tests: New file, extracted from modules/openat-tests.
	* modules/openat-tests (Files): Remove tests/test-fchownat.c,
	tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
	(Depends-on): Remove mgetgroups, usleep, stat-time.
	(configure.ac): Remove test for getegid.
	(Makefile.am): Remove rules for test-fchownat.
	* doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
	of module 'openat'.
	* NEWS: Mention the change.

2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign: port better to MSVC and to Sun C 5.11
	This fixes some of the problems reported by Bruno Haible in
	<http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
	* doc/posix-headers/stdalign.texi (stdalign.h): Document more
	shortcomings of MSVC and of Sun C 5.11.
	* lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
	around __declspec arg.
	* modules/stdalign-tests (Files): Add tests/macros.h.
	* tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
	Include macros.h, for ASSERT.
	(DECLARE_ALIGNED): Remove.
	(TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
	to catch bug), and to 1 if not (simplifies the rest of the code).
	(CHECK_STATIC): Always declare the alignment test vars; that's simpler.
	(CHECK_AUTO): Remove.
	(CHECK_ALIGNED): Check only the alignment of the static vars,
	since auto var alignment isn't supported by Sun C 5.11.
	(CHECK_TYPES): Remove.  All uses replaced by inline code, so that
	ASSERT failures are easier to diagnose.

2011-10-31  Bruno Haible  <bruno@clisp.org>

	doc about some IRIX 5.3 problems.
	* doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
	on IRIX 5.3.
	* doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
	* doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
	5.3.
	* doc/posix-functions/grantpt.texi: Likewise.
	* doc/posix-functions/unlockpt.texi: Likewise.
	* doc/posix-functions/lgamma.texi: Likewise.
	* doc/posix-functions/nextafter.texi: Likewise.
	* doc/posix-functions/remainder.texi: Likewise.
	* doc/posix-functions/select.texi: Mention misplaced declaration on
	IRIX 5.3.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>

	gitlog-to-changelog: fix git-log invocation.
	git-log mishandles date strings before 1970-01-01 UTC, and there is
	no use to specify --since=1970-01-01 by default anyway.
	* build-aux/gitlog-to-changelog: By default, when no --since option
	was given, do not specify explicit --since option to git-log.

2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>

	gitlog-to-changelog: new option --append-dot.
	* build-aux/gitlog-to-changelog: New option --append-dot, makes the
	first non-blank line of each commit message terminated with a dot.

2011-10-30  Bruno Haible  <bruno@clisp.org>

	ffsl, ffsll: Avoid compilation error due to 'restrict'.
	* lib/ffsl.h: Include <config.h>.
	Suggested by Tom G. Christensen <tgc@jupiterrise.com>.

2011-10-30  Jim Meyering  <meyering@redhat.com>

	GNUmakefile: reenable "make syntax-check" for most projects
	Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
	build-aux variable", "syntax-check" would do nothing but succeed with
	the "No version control files detected..." diagnostic (unless you
	happened to override _build-aux via cfg.mk).
	* top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
	to precede inclusion of maint.mk.  Otherwise, these variables would
	be used undefined in any project that does not override the default.

2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>

	gitlog-to-changelog: treat a message with only blank lines as empty.
	* build-aux/gitlog-to-changelog: Move the code that removes leading and
	trailing blank lines before the code that issues a warning about an
	empty commit message.

2011-10-30  Jim Meyering  <meyering@redhat.com>

	test-parse-datetime.c: avoid new DST-related false positive test failure
	* tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
	based on the time/date we'll convert, not the current time.
	Otherwise, the moment we cross a DST boundary like today's in
	Europe, (CEST to CET), that offset ends up being one hour off.

2011-10-27  Bruno Haible  <bruno@clisp.org>

	fstat: Tweak documentation.
	* modules/fstat (Description): More precise description.

2011-10-27  Bruno Haible  <bruno@clisp.org>

	Update documentation regarding 'largefile' module.
	* doc/posix-functions/fstat.texi: Tweak wording.
	* doc/posix-functions/opendir.texi: Mention that the module fixes the
	problems with huge directories and/or small ino_t types.
	* doc/posix-functions/readdir.texi: Likewise.
	* doc/posix-functions/rewinddir.texi: Likewise.

2011-10-28  Gary V. Vaughan  <gary@gnu.org>

	maint.mk: don't maintain a second build-aux variable.
	* maint.mk (build_aux): Removed.  The maintainer-makefile module
	depends on GNUmakefile, which already maintains a cfg.mk
	overridable $(_build-aux) for projects with a non-standard
	build-aux directory location, although without the $(srcdir)
	prefix.  Use that variable consistently instead of introducing a
	second one.  Adjust all call sites.

2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>

	Add stdalign module and use it in other modules.
	This is based on a previous proposal by Bruno Haible
	<https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.

	stdalign: new module
	* doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
	* modules/stdalign: New files.
	* MODULES.html.sh (c1x_core_properties): Add stdalign.
	* doc/gnulib.texi (Header File Substitutes): Add stdalign.

	stdalign-tests: new module
	* modules/stdalign-tests, tests/test-stdalign.c: New files.

	argp: use stdalign
	* lib/argp-parse.c: Include <stdalign.h>.
	(alignof): Remove.
	* modules/argp (Depends-on): Add stdalign.

	crypto libraries: use stdalign
	* lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
	Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
	Do not include <stdlib.h> twice, in md4.c.
	(UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
	because we are accessing a pointer's bit-pattern, not a size.
	* modules/crypto/gc-md4 (Depends-on): Add stdalign.
	* modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
	* modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
	* modules/crypto/sha512: Likewise.

	sys_socket: use stdalign, not alignof
	* lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
	* modules/sys_socket (Depends-on): Depend on stdalign, not alignof.

2011-10-27  Bruno Haible  <bruno@clisp.org>

	raise test: Avoid a test failure on Linux/MIPS.
	* tests/test-raise.c (main): Try raising signal 199, not 99. Needed
	because 99 is a valid signal on Linux/MIPS.

2011-10-27  Bruno Haible  <bruno@clisp.org>

	nonblocking tests: Fix test failure on Linux/MIPS.
	* tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
	Set to 270000.

2011-10-27  Bruno Haible  <bruno@clisp.org>

	utimensat: Work around problem on Linux/hppa.
	* lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
	values.
	* doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.

2011-10-25  Jim Meyering  <meyering@redhat.com>

	maint.mk: fix a bug in sc_prohibit_stddef_without_use
	* top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
	after symbols like NULL, size_t, etc.
	Reported by Alfred M. Szmidt.

	maint.mk: exempt ENODATA from a syntax-check rule
	* top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
	from the sc_prohibit_always-defined_macros syntax-check rule.
	Add a comment.  See this for more details:
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795

2011-10-23  Jim Meyering  <meyering@redhat.com>

	fts: close parent dir FD before returning from post-traversal fts_read
	The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
	unlink A, even though an FD open on A remained.  This is suboptimal
	(holding a file descriptor open longer than needed), but otherwise not
	a problem on Unix-like kernels.  However, on Cygwin with certain Novell
	file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
	that represents a real problem: it causes the removal of A to fail
	with e.g., "rm: cannot remove `A': Device or resource busy"

	fts visits each directory twice and keeps a cache (fts_fd_ring) of
	directory file descriptors.  After completing the final, FTS_DP,
	visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
	cache, but then proceeded to add a new FD to it via the subsequent
	FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
	final file descriptor would be closed only via fts_close's call to
	fd_ring_clear.  Now, it is usually closed earlier, via the final
	FTS_DP-returning fts_read call.
	* lib/fts.c (restore_initial_cwd): New function, converted from
	the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
	Update callers.
	Reported by Franz Sirl via the above URL, with analysis by Eric Blake
	in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739

2011-10-23  Gary V. Vaughan  <gary@gnu.org>
	    Bruno Haible  <bruno@clisp.org>
	    Jim Meyering  <jim@meyering.net>

	readme-release: improve safety of release prep instructions.
	* README-release: Don't git pull all branches when only master
	is needed for the release process.
	Run make maintainer-clean before changing trees and merging.
	Don't try to run ./configure right after git pull in case files
	that influence the bootstrap process have changed, move the
	./configure step to after running ./bootstrap.
	Don't bootstrap "one last time"... it's the first time!

2011-10-22  Bruno Haible  <bruno@clisp.org>

	errno, strerror-override: Support for MSVC 10.
	* lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
	(ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
	ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
	EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
	EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
	ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
	ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
	Assign values compatible with MSVC 10.
	(ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
	New macros.
	(GNULIB_defined_EWINSOCK): New macro.
	* lib/strerror-override.c (strerror_override): Update accordingly.
	* lib/strerror-override.h: Likewise.
	* lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
	longer equal to the corresponding errno value.
	Reported by Michael Goffioul <michael.goffioul@gmail.com>.

2011-10-22  Bruno Haible  <bruno@clisp.org>

	perror: Recognize when test program crashes.
	* m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
	strerror, set gl_cv_func_perror_works to no.
	Reported by Daniel Richard G. <skunk@iskunk.org>.

	perror: Fix indentation.
	* m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.

2011-10-22  Bruno Haible  <bruno@clisp.org>

	isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
	* lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
	_GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
	(isfinite, isinf, isnan, signbit): In C++, define as overloaded
	functions, not as a macro.
	* tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
	macros.
	(isfinite, isinf, isnan, signbit): Check overloaded functions and
	absence of macro.
	Suggested by Eric Blake.
	Reported by Michael Goffioul <michael.goffioul@gmail.com>.

2011-10-21  Bruno Haible  <bruno@clisp.org>

	relocatable-prog-wrapper: Don't leave object files behind.
	* build-aux/install-reloc: Re-synchronize list of .o files to be
	removed with list of compilation units.

2011-10-20  Bruno Haible  <bruno@clisp.org>

	openpty, posix_openpt: Remove code duplication.
	* lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
	* lib/openpty.c: Include <stdlib.h>.
	(openpty): Use posix_openpt on all platforms except IRIX.
	* modules/openpty (Depends-on): Add posix_openpt. Add conditions.

2011-10-20  Bruno Haible  <bruno@clisp.org>

	unlockpt: Detect invalid argument.
	* lib/unlockpt.c: Include <fcntl.h>.
	(unlockpt): Check whether fd is valid, using fcntl().
	* modules/unlockpt (Depends-on): Add fcntl-h.

2011-10-20  Bruno Haible  <bruno@clisp.org>

	openpty: Avoid compilation error on AIX 6.1.
	* lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.

2011-10-20  Bruno Haible  <bruno@clisp.org>

	posix_openpt: Support for OpenBSD.
	* lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
	(posix_openpt) [OpenBSD]: New code.
	* lib/grantpt.c: Include <fcntl.h>.
	(grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
	* modules/grantpt (Depends-on): Add fcntl-h.

2011-10-20  Bruno Haible  <bruno@clisp.org>

	posix_openpt test: Coding style.
	* tests/test-posix_openpt.c: Use GNU coding style.

2011-10-20  Bruno Haible  <bruno@clisp.org>

	grantpt: Support --avoid=pt_chown.
	* modules/grantpt (Files): Add lib/pty-private.h.

2011-10-20  Bruno Haible  <bruno@clisp.org>

	posix_openpt: Fix autoconf macro.
	* m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
	unneeded check for _getpty.

2011-10-20  Bruno Haible  <bruno@clisp.org>

	openpty: Update comments.
	* lib/openpty.c: Add comments about Minix.

2011-10-19  Eric Blake  <eblake@redhat.com>

	openpty: relax license
	* modules/openpty (License): Change from LGPLv3+ to LGPLv2+.

	pt_chown: use configmake to simplify build
	* modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.

	ptsname and others: relax license
	* modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
	* modules/unlockpt (License): Likewise.
	* modules/pt_chown (License): Likewise.
	* modules/ptsname (License): Likewise.
	* modules/ttyname_r (License): Likewise.

2011-10-19  Jim Meyering  <meyering@redhat.com>

	posix_openpt: remove spurious #endif
	* lib/posix_openpt.c (posix_openpt): Remove spurious #endif.

2011-10-19  Gary V. Vaughan  <gary@gnu.org>

	maint.mk: Respect $(build_aux) in web-manual rule.
	* top/maint.mk (web-manual): Find gen-announce script in user's
	$(build_aux) directory instead of hard-coding 'build-aux'.

2011-10-19  Bruno Haible  <bruno@clisp.org>

	posix_openpt: Fix compilation error.
	* lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
	* doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
	Mention the openpty module as an alternative.

2011-10-19  Bruno Haible  <bruno@clisp.org>

	Support for old NeXTstep 3.3 frexp().
	* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
	execution time of the test to 5 seconds.
	Reported by Daniel Richard G. <skunk@iskunk.org>.

2011-10-19  Bruno Haible  <bruno@clisp.org>

	Support for old NeXTstep 3.3 sed.
	* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
	part, use /.../, not \|...|. Escape periods in the header file name.
	* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
	Reported by Daniel Richard G. <skunk@iskunk.org>.

2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)

	Support for old NeXTstep 3.3 gcc.
	* lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
	'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
	* lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
	* lib/spawn.in.h (_Restrict_arr_): Likewise.
	* lib/regex.h (_Restrict_arr_): Likewise.
	* lib/regex_internal.h (re_token_t): Likewise.
	* lib/regexec.c (check_node_accept_bytes): Likewise.
	* tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.

2011-10-18  Eric Blake  <eblake@redhat.com>

	posix_openpt: new module
	* modules/posix_openpt: New module.
	* m4/posix_openpt.m4: New file.
	* lib/posix_openpt.c: Likewise.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
	(gl_STDLIB_H_DEFAULTS): Set defaults.
	* modules/stdlib (Makefile.am): Substitute macros.
	* lib/stdlib.in.h (posix_openpt): Declare.
	* MODULES.html.sh (systems lacking POSIX:2008): Document it.
	* doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
	* modules/posix_openpt-tests: New test module.
	* tests/test-posix_openpt.c: New test.

2011-10-15  Bruno Haible  <bruno@clisp.org>

	xstrtoll: Fix compilation failure.
	* lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
	from lib/strtol.c.
	* doc/posix-headers/limits.texi: Mention missing numerical limits on
	some platforms.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2011-10-15  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Optimize bit search operation.
	* lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
	gl_DOUBLE_EXPONENT_LOCATION.
	* modules/vasnprintf (Files): Add m4/exponentd.m4.
	* modules/unistdio/u8-vasnprintf (Files): Likewise.
	* modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
	* modules/unistdio/u16-vasnprintf (Files): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
	* modules/unistdio/u32-vasnprintf (Files): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
	* modules/unistdio/ulc-vasnprintf (Files): Likewise.
	* m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.

2011-10-15  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Fix comments.
	* lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.

2011-10-14  Bruno Haible  <bruno@clisp.org>

	Tests for module 'integer_length_ll'.
	* modules/integer_length_ll-tests: New file.
	* tests/test-integer_length_ll.c: New file.

	New module 'integer_length_ll'.
	* lib/integer_length_ll.c: New file.
	* modules/integer_length_ll: New file.

2011-10-14  Bruno Haible  <bruno@clisp.org>

	Tests for module 'integer_length_l'.
	* modules/integer_length_l-tests: New file.
	* tests/test-integer_length_l.c: New file.

	New module 'integer_length_l'.
	* lib/integer_length_l.c: New file.
	* modules/integer_length_l: New file.

2011-10-14  Bruno Haible  <bruno@clisp.org>

	Tests for module 'integer_length'.
	* modules/integer_length-tests: New file.
	* tests/test-integer_length.c: New file.

	New module 'integer_length'.
	* lib/integer_length.h: New file.
	* lib/integer_length.c: New file.
	* modules/integer_length: New file.

2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)

	popen: Fix dependency conditions.
	* modules/popen (Depends-on, configure.ac): Fix shell syntax error.

2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)

	perror: Fix autoconf test.
	* m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
	<stdlib.h> and <string.h>.

2011-10-14  Bruno Haible  <bruno@clisp.org>

	ffsl: Optimize on 64-bit platforms.
	* lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
	unrolling.

2011-10-13  Bruno Haible  <bruno@clisp.org>

	ffsl: Optimize on 32-bit platforms.
	* lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
	use ffs() without a loop.

	ffsl, ffsll: Optimize for GCC.
	* lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
	* lib/ffsl.c (GCC_BUILTIN): New macro.
	* lib/ffsll.c (GCC_BUILTIN): Likewise.

2011-10-13  Bruno Haible  <bruno@clisp.org>

	ffs, bcopy, memset: Support symbol renaming via config.h.
	* lib/ffs.c: Include <config.h>.
	* lib/bcopy.c: Likewise.
	* lib/memset.c: Likewise.

2011-10-10  Bruno Haible  <bruno@clisp.org>

	atanl: Simplify for platforms where 'long double' == 'double'.
	* lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
	alternative implementation.
	* m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/atanl (Depends-on): Add atan. Update conditions.

2011-10-10  Bruno Haible  <bruno@clisp.org>

	acosl: Simplify for platforms where 'long double' == 'double'.
	* lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
	alternative implementation.
	* m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/acosl (Depends-on): Add acos. Update conditions.

2011-10-10  Bruno Haible  <bruno@clisp.org>

	asinl: Simplify for platforms where 'long double' == 'double'.
	* lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
	alternative implementation.
	* m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/asinl (Depends-on): Add asin. Update conditions.

2011-10-10  Bruno Haible  <bruno@clisp.org>

	tanl: Simplify for platforms where 'long double' == 'double'.
	* lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
	implementation.
	* m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/tanl (Depends-on): Add tan. Update conditions.
	(configure.ac): Don't compile trigl.c if
	HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.

2011-10-10  Bruno Haible  <bruno@clisp.org>

	cosl: Simplify for platforms where 'long double' == 'double'.
	* lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
	implementation.
	* m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/cosl (Depends-on): Add cos. Update conditions.
	(configure.ac): Don't compile sincosl.c and trigl.c if
	HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.

2011-10-10  Bruno Haible  <bruno@clisp.org>

	sinl: Simplify for platforms where 'long double' == 'double'.
	* lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
	implementation.
	* m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/sinl (Depends-on): Add sin. Update conditions.
	(configure.ac): Don't compile sincosl.c and trigl.c if
	HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.

2011-10-10  Bruno Haible  <bruno@clisp.org>

	logl: Simplify for platforms where 'long double' == 'double'.
	* lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
	implementation.
	* m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/logl (Depends-on): Add log. Update conditions.

2011-10-10  Bruno Haible  <bruno@clisp.org>

	expl: Simplify for platforms where 'long double' == 'double'.
	* lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
	implementation.
	* m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/expl (Depends-on): Add exp. Update conditions.

2011-10-10  Bruno Haible  <bruno@clisp.org>

	sqrtl: Simplify for platforms where 'long double' == 'double'.
	* lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
	alternative implementation.
	* m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/sqrtl (Depends-on): Update conditions.

2011-10-10  Bruno Haible  <bruno@clisp.org>

	ldexpl: Simplify for platforms where 'long double' == 'double'.
	* lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
	alternative implementation.
	* m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/ldexpl (Depends-on): Add ldexp. Update conditions.

2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)

	ffsll: set correct witness
	* modules/ffsll (configure.ac): Fix typo.

2011-10-10  Bruno Haible  <bruno@clisp.org>

	printf-frexpl: Simplify for platforms where 'long double' == 'double'.
	* lib/printf-frexpl.c: Include <config.h>.
	(printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
	* lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
	second time.
	* m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
	gl_LONG_DOUBLE_VS_DOUBLE.
	* modules/printf-frexpl (Depends-on): Add printf-frexp. Update
	conditions.

2011-10-10  Bruno Haible  <bruno@clisp.org>

	frexpl: Simplify for platforms where 'long double' == 'double'.
	* lib/frexpl.c: Include <config.h>.
	(frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
	* lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
	time.
	* m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	(gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
	* modules/frexpl (Depends-on): Add frexp. Update conditions.
	* modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
	conditions.

2011-10-10  Jim Meyering  <meyering@redhat.com>

	test-renameat: don't leave behind a temporary file
	* tests/test-renameat.c (main): Don't forget to remove a temporary file.
	  ERROR: files left in build directory after distclean:
	  ./gltests/test-renameat.too
	  make[1]: *** [distcleancheck] Error 1
	Reported by Tom G. Christensen.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	rint: Determine RINT_LIBM correctly on AIX 7.
	* m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
	directly, not only through a function pointer. Also accept an optional
	4th argument with extra code.
	* m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
	rintf() call by gcc when optimizing.

	mathfunc.m4: Refactor.
	* m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
	m4 variable.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	rintl: Simplify for platforms where 'long double' == 'double'.
	* lib/rintl.c: Include <config.h>.
	(rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
	* lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
	time.
	* m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/rintl (Depends-on): Add rint. Update conditions.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	roundl: Simplify for platforms where 'long double' == 'double'.
	* lib/roundl.c: Include <config.h>.
	(roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
	* lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
	time.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/roundl (Depends-on): Add round. Update conditions.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	truncl: Simplify for platforms where 'long double' == 'double'.
	* lib/truncl.c: Include <config.h>.
	(truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
	* lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
	time.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/truncl (Depends-on): Add trunc. Update conditions.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	ceill: Simplify for platforms where 'long double' == 'double'.
	* lib/ceill.c: Include <config.h>.
	(ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
	* lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
	time.
	* m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/ceill (Depends-on): Add ceil. Update conditions.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	floorl: Simplify for platforms where 'long double' == 'double'.
	* lib/floorl.c: Include <config.h>.
	(floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
	* lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
	time.
	* m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/floorl (Depends-on): Add floor. Update conditions.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	rint: Fix ordering constraints.
	* m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
	* m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
	* m4/rintl.m4 (gl_FUNC_RINTL): Likewise.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	copysignl: Simplify for platforms where 'long double' == 'double'.
	* lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
	alternative.
	* m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
	* modules/copysignl (Depends-on): Add copysign. Update conditions.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	Tests for module 'rintl'.
	* modules/rintl-tests: New file.
	* tests/test-rintl.c: New file.

	New module 'rintl'.
	* lib/math.in.h (rintl): New declaration.
	* lib/rintl.c: New file.
	* m4/rintl.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
	* modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
	* modules/rintl: New file.
	* tests/test-math-c++.cc: Check the declaration of rintl.
	* modules/math-c++-tests (Makefile.am): Link test-math-c++ against
	$(RINTL_LIBM). Needed on IRIX 6.5 with cc.
	* doc/posix-functions/rintl.texi: Mention the new module.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	Tests for module 'rintf'.
	* modules/rintf-tests: New file.
	* tests/test-rintf.c: New file.

	New module 'rintf'.
	* lib/math.in.h (rintf): New declaration.
	* lib/rintf.c: New file.
	* m4/rintf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
	* modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
	* modules/rintf: New file.
	* tests/test-math-c++.cc: Check the declaration of rintf.
	* doc/posix-functions/rintf.texi: Mention the new module.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	rint: Support for MSVC.
	* lib/math.in.h (rint): New declaration.
	* lib/rint.c: New file.
	* m4/rint.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
	* modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
	* modules/rint (Description): Fix.
	(Files): Add lib/rint.c, m4/rint.m4.
	(Depends-on): Add math.
	(configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
	gl_MATH_MODULE_INDICATOR.
	* tests/test-math-c++.cc: Check the declaration of rint.
	* modules/math-c++-tests (Makefile.am): Link test-math-c++ against
	$(RINT_LIBM). Needed on IRIX 6.5 with cc.
	* doc/posix-functions/rint.texi: Mention the replacement provided by
	the module.

	rint tests: More tests.
	* tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
	minus-zero.h, infinity.h, nan.h.
	(main): Skip the test if the current rounding mode is not standard. Add
	tests for negative numbers, minus zero, infinity, NaN.
	* modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
	tests/nan.h.
	(Depends-on): Add isnand-nolibm.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	Tests for module 'copysignl'.
	* modules/copysignl-tests: New file.
	* tests/test-copysignl.c: New file.

	New module 'copysignl'.
	* lib/math.in.h (copysignl): New declaration.
	* lib/copysignl.c: New file.
	* m4/copysignl.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
	* modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
	HAVE_COPYSIGNL.
	* modules/copysignl: New file.
	* tests/test-math-c++.cc: Check the declaration of copysignl.
	* modules/math-c++-tests (Makefile.am): Link test-math-c++ against
	$(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
	* doc/posix-functions/copysignl.texi: Mention the new module.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	Tests for module 'copysignf'.
	* modules/copysignf-tests: New file.
	* tests/test-copysignf.c: New file.

	New module 'copysignf'.
	* lib/math.in.h (copysignf): New declaration.
	* lib/copysignf.c: New file.
	* m4/copysignf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
	* modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
	HAVE_COPYSIGNF.
	* modules/copysignf: New file.
	* tests/test-math-c++.cc: Check the declaration of copysignf.
	* doc/posix-functions/copysignf.texi: Mention the new module.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	Ensure that HAVE_* variables are set to 1 before they are set to 0.
	* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
	* m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
	* m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
	gl_SIGNAL_H_DEFAULTS.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	poll: Make macro safer.
	* m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
	ac_cv_header_poll_h is not set.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	copysign: Provide replacement.
	* lib/math.in.h (copysign): New declaration.
	* lib/copysign.c: New file.
	* m4/copysign.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
	* modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
	HAVE_COPYSIGN.
	* modules/copysign (Description): Clarify.
	(Files): Add lib/copysign.c, m4/copysign.m4.
	(Depends-on): Add math, signbit.
	(configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
	gl_MATH_MODULE_INDICATOR.
	* tests/test-math-c++.cc: Check the declaration of copysign.
	* doc/posix-functions/copysign.texi: Mention the effects of the module
	on Minix and MSVC.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	isinf: Ensure macro on AIX 5.1.
	* m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
	macro.
	* doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.

2011-10-09  Bruno Haible  <bruno@clisp.org>

	*printf-posix tests: Fix for platforms where 'long double' == 'double'.
	* modules/snprintf-posix-tests (configure.ac): Require
	gl_LONG_DOUBLE_VS_DOUBLE.
	* modules/sprintf-posix-tests (configure.ac): Likewise.
	* modules/vasnprintf-posix-tests (configure.ac): Likewise.
	* modules/vasprintf-posix-tests (configure.ac): Likewise.
	* modules/vsnprintf-posix-tests (configure.ac): Likewise.
	* modules/vsprintf-posix-tests (configure.ac): Likewise.
	* tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
	tests on platforms where 'long double' is the same as 'double'.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasnprintf-posix.c (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.

	*printf: Fix for platforms where 'long double' == 'double'.
	* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
	gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
	* modules/dprintf-posix (Files): Add m4/math_h.m4.
	* modules/fprintf-posix (Files): Likewise.
	* modules/obstack-printf-posix (Files): Likewise.
	* modules/snprintf-posix (Files): Likewise.
	* modules/sprintf-posix (Files): Likewise.
	* modules/vasnprintf (Files): Likewise.
	* modules/vasnprintf-posix (Files): Likewise.
	* modules/vasprintf-posix (Files): Likewise.
	* modules/vdprintf-posix (Files): Likewise.
	* modules/vfprintf-posix (Files): Likewise.
	* modules/vsnprintf-posix (Files): Likewise.
	* modules/vsprintf-posix (Files): Likewise.
	* modules/unistdio/u8-vasnprintf (Files): Likewise.
	* modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
	* modules/unistdio/u16-vasnprintf (Files): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
	* modules/unistdio/u32-vasnprintf (Files): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
	* modules/unistdio/ulc-vasnprintf (Files): Likewise.

	isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
	* lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
	* m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
	(gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
	'long double'.
	* modules/isnanl-nolibm (Files): Add m4/math_h.m4.

	isinf: Fix for platforms where 'long double' == 'double'.
	* m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Don't blindly assume 80-bit 'long double'.

	isfinite: Fix for platforms where 'long double' == 'double'.
	* m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
	Don't blindly assume 80-bit 'long double'.

	isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
	* m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
	* modules/isfinite-tests (configure.ac): Require
	gl_LONG_DOUBLE_VS_DOUBLE.
	* modules/isinf-tests (configure.ac): Likewise.
	* modules/isnan-tests (configure.ac): Likewise.
	* modules/isnanl-tests (configure.ac): Likewise.
	* modules/isnanl-nolibm-tests (configure.ac): Likewise.
	* tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
	tests on platforms where 'long double' is the same as 'double'.
	* tests/test-isinf.c (test_isinfl): Likewise.
	* tests/test-isnan.c (test_long_double): Likewise.
	* tests/test-isnanl.h (main): Likewise.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'tanhf'.
	* modules/tanhf-tests: New file.
	* tests/test-tanhf.c: New file.

	New module 'tanhf'.
	* lib/math.in.h (tanhf): New declaration.
	* lib/tanhf.c: New file.
	* m4/tanhf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
	* modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
	* modules/tanhf: New file.
	* tests/test-math-c++.cc: Check the declaration of tanhf.
	* doc/posix-functions/tanhf.texi: Mention the new module.

	tanh: Use a .m4 file.
	* m4/tanh.m4: New file.
	* modules/tanh (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_TANH.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'coshf'.
	* modules/coshf-tests: New file.
	* tests/test-coshf.c: New file.

	New module 'coshf'.
	* lib/math.in.h (coshf): New declaration.
	* lib/coshf.c: New file.
	* m4/coshf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
	* modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
	* modules/coshf: New file.
	* tests/test-math-c++.cc: Check the declaration of coshf.
	* doc/posix-functions/coshf.texi: Mention the new module.

	cosh: Use a .m4 file.
	* m4/cosh.m4: New file.
	* modules/cosh (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_COSH.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'sinhf'.
	* modules/sinhf-tests: New file.
	* tests/test-sinhf.c: New file.

	New module 'sinhf'.
	* lib/math.in.h (sinhf): New declaration.
	* lib/sinhf.c: New file.
	* m4/sinhf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
	* modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
	* modules/sinhf: New file.
	* tests/test-math-c++.cc: Check the declaration of sinhf.
	* doc/posix-functions/sinhf.texi: Mention the new module.

	sinh: Use a .m4 file.
	* m4/sinh.m4: New file.
	* modules/sinh (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_SINH.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'atan2f'.
	* modules/atan2f-tests: New file.
	* tests/test-atan2f.c: New file.

	New module 'atan2f'.
	* lib/math.in.h (atan2f): New declaration.
	* lib/atan2f.c: New file.
	* m4/atan2f.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
	* modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
	* modules/atan2f: New file.
	* tests/test-math-c++.cc: Check the declaration of atan2f.
	* doc/posix-functions/atan2f.texi: Mention the new module.

	atan2: Use a .m4 file.
	* m4/atan2.m4: New file.
	* modules/atan2 (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_ATAN2.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'atanf'.
	* modules/atanf-tests: New file.
	* tests/test-atanf.c: New file.

	New module 'atanf'.
	* lib/math.in.h (atanf): New declaration.
	* lib/atanf.c: New file.
	* m4/atanf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
	* modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
	* modules/atanf: New file.
	* tests/test-math-c++.cc: Check the declaration of atanf.
	* doc/posix-functions/atanf.texi: Mention the new module.

	atan: Use a .m4 file.
	* m4/atan.m4: New file.
	* modules/atan (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_ATAN.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'acosf'.
	* modules/acosf-tests: New file.
	* tests/test-acosf.c: New file.

	New module 'acosf'.
	* lib/math.in.h (acosf): New declaration.
	* lib/acosf.c: New file.
	* m4/acosf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
	* modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
	* modules/acosf: New file.
	* tests/test-math-c++.cc: Check the declaration of acosf.
	* doc/posix-functions/acosf.texi: Mention the new module.

	acos: Use a .m4 file.
	* m4/acos.m4: New file.
	* modules/acos (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_ACOS.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'asinf'.
	* modules/asinf-tests: New file.
	* tests/test-asinf.c: New file.

	New module 'asinf'.
	* lib/math.in.h (asinf): New declaration.
	* lib/asinf.c: New file.
	* m4/asinf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
	* modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
	* modules/asinf: New file.
	* tests/test-math-c++.cc: Check the declaration of asinf.
	* doc/posix-functions/asinf.texi: Mention the new module.

	asin: Use a .m4 file.
	* m4/asin.m4: New file.
	* modules/asin (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_ASIN.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'tanf'.
	* modules/tanf-tests: New file.
	* tests/test-tanf.c: New file.

	New module 'tanf'.
	* lib/math.in.h (tanf): New declaration.
	* lib/tanf.c: New file.
	* m4/tanf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
	* modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
	* modules/tanf: New file.
	* tests/test-math-c++.cc: Check the declaration of tanf.
	* doc/posix-functions/tanf.texi: Mention the new module.

	tan: Use a .m4 file.
	* m4/tan.m4: New file.
	* modules/tan (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_TAN.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'cosf'.
	* modules/cosf-tests: New file.
	* tests/test-cosf.c: New file.

	New module 'cosf'.
	* lib/math.in.h (cosf): New declaration.
	* lib/cosf.c: New file.
	* m4/cosf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
	* modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
	* modules/cosf: New file.
	* tests/test-math-c++.cc: Check the declaration of cosf.
	* doc/posix-functions/cosf.texi: Mention the new module.

	cos: Use a .m4 file.
	* m4/cos.m4: New file.
	* modules/cos (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_COS.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'sinf'.
	* modules/sinf-tests: New file.
	* tests/test-sinf.c: New file.

	New module 'sinf'.
	* lib/math.in.h (sinf): New declaration.
	* lib/sinf.c: New file.
	* m4/sinf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
	* modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
	* modules/sinf: New file.
	* tests/test-math-c++.cc: Check the declaration of sinf.
	* doc/posix-functions/sinf.texi: Mention the new module.

	sin: Use a .m4 file.
	* m4/sin.m4: New file.
	* modules/sin (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_SIN.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'powf'.
	* modules/powf-tests: New file.
	* tests/test-powf.c: New file.

	New module 'powf'.
	* lib/math.in.h (powf): New declaration.
	* lib/powf.c: New file.
	* m4/powf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
	* modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
	* modules/powf: New file.
	* tests/test-math-c++.cc: Check the declaration of powf.
	* doc/posix-functions/powf.texi: Mention the new module.

	pow: Use a .m4 file.
	* m4/pow.m4: New file.
	* modules/pow (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_POW.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'log10f'.
	* modules/log10f-tests: New file.
	* tests/test-log10f.c: New file.

	New module 'log10f'.
	* lib/math.in.h (log10f): New declaration.
	* lib/log10f.c: New file.
	* m4/log10f.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
	* modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
	* modules/log10f: New file.
	* tests/test-math-c++.cc: Check the declaration of log10f.
	* doc/posix-functions/log10f.texi: Mention the new module.

	log10: Use a .m4 file.
	* m4/log10.m4: New file.
	* modules/log10 (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_LOG10.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'logf'.
	* modules/logf-tests: New file.
	* tests/test-logf.c: New file.

	New module 'logf'.
	* lib/math.in.h (logf): New declaration.
	* lib/logf.c: New file.
	* m4/logf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
	* modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
	* modules/logf: New file.
	* tests/test-math-c++.cc: Check the declaration of logf.
	* doc/posix-functions/logf.texi: Mention the new module.

	log: Use a .m4 file.
	* m4/log.m4: New file.
	* modules/log (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_LOG.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'expf'.
	* modules/expf-tests: New file.
	* tests/test-expf.c: New file.

	New module 'expf'.
	* lib/math.in.h (expf): New declaration.
	* lib/expf.c: New file.
	* m4/expf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
	* modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
	* modules/expf: New file.
	* tests/test-math-c++.cc: Check the declaration of expf.
	* doc/posix-functions/expf.texi: Mention the new module.

	exp: Use a .m4 file.
	* m4/exp.m4: New file.
	* modules/exp (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_EXP.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'sqrtf'.
	* modules/sqrtf-tests: New file.
	* tests/test-sqrtf.c: New file.

	New module 'sqrtf'.
	* lib/math.in.h (sqrtf): New declaration.
	* lib/sqrtf.c: New file.
	* m4/sqrtf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
	* modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
	* modules/sqrtf: New file.
	* tests/test-math-c++.cc: Check the declaration of sqrtf.
	* doc/posix-functions/sqrtf.texi: Mention the new module.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	Tests: Avoid link failures w.r.t. libintl.
	* modules/faccessat-tests (Makefile.am): Link test-faccessat against
	$(LIBINTL).
	* modules/fchdir-tests (Makefile.am): Link test-fchdir against
	$(LIBINTL).
	* modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
	against $(LIBINTL).
	* modules/getcwd-tests (Makefile.am): Link test-getcwd against
	$(LIBINTL).
	* modules/openat-tests (Makefile.am): Link test-fchmodat against
	$(LIBINTL).
	* modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).

2011-10-08  Bruno Haible  <bruno@clisp.org>

	pow tests: Defeat compiler optimizations.
	* tests/test-pow.c (main): Assign arguments to x and y before use.

2011-10-08  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Improve last commit.
	* gnulib-tool (func_modules_transitive_closure): Simplify code.
	(func_emit_autoconf_snippets): Instead of invoking func_acceptable,
	ignore dependencies that are not among the modules list.

2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>

	gnulib-tool: don't follow dependencies to avoided modules
	This fixes a bug that is related to the previous one.
	* gnulib-tool (func_modules_transitive_closure)
	(func_emit_autoconf_snippets):
	Check whether a dependency is acceptable before using it.
	(--extract-dependencies): Report an error if --avoid is also used,
	since this combination of options is not yet supported.

	gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
	Problem reported by Peter Dyballa in
	<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
	* gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
	when echoing "$condition".

2011-10-07  Bruno Haible  <bruno@clisp.org>

	Fix documentation about math functions on MacOS X.
	* doc/posix-functions/exp2.texi: Don't say the function is missing on
	MacOS X 10.5.
	* doc/posix-functions/fdim.texi: Likewise.
	* doc/posix-functions/feclearexcept.texi: Likewise.
	* doc/posix-functions/fegetenv.texi: Likewise.
	* doc/posix-functions/fegetround.texi: Likewise.
	* doc/posix-functions/feholdexcept.texi: Likewise.
	* doc/posix-functions/feraiseexcept.texi: Likewise.
	* doc/posix-functions/fesetenv.texi: Likewise.
	* doc/posix-functions/fesetround.texi: Likewise.
	* doc/posix-functions/fetestexcept.texi: Likewise.
	* doc/posix-functions/feupdateenv.texi: Likewise.
	* doc/posix-functions/fmax.texi: Likewise.
	* doc/posix-functions/fmin.texi: Likewise.
	* doc/posix-functions/log2.texi: Likewise.
	* doc/posix-functions/modff.texi: Likewise.
	* doc/posix-functions/nan.texi: Likewise.
	* doc/posix-functions/nanf.texi: Likewise.
	* doc/posix-functions/nextafterf.texi: Likewise.
	* doc/posix-functions/remquo.texi: Likewise.

2011-10-07  Bruno Haible  <bruno@clisp.org>

	modff: Drop assumption about library that defines modff.
	* m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
	AC_CHECK_FUNCS.
	* modules/modff (Files): Add m4/mathfunc.m4.

2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>

	raise tests: Avoid a GCC warning.
	* tests/test-raise.c (handler): Use _Noreturn.

2011-10-07  Bruno Haible  <bruno@clisp.org>

	Tests for module 'ldexpf'.
	* modules/ldexpf-tests: New file.
	* tests/test-ldexpf.c: New file.

	New module 'ldexpf'.
	* lib/math.in.h (ldexpf): New declaration.
	* lib/ldexpf.c: New file.
	* m4/ldexpf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
	* modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
	* modules/ldexpf: New file.
	* tests/test-math-c++.cc: Check the declaration of ldexpf.
	* doc/posix-functions/ldexpf.texi: Mention the new module.

2011-10-06  Bruno Haible  <bruno@clisp.org>

	frexpf: Work around problems on IRIX and mingw.
	* lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
	* m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
	(gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
	* modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
	* modules/math (Makefile.am): Substitute REPLACE_FREXPF.
	* doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.

2011-10-06  Bruno Haible  <bruno@clisp.org>

	fabsf: Drop assumption about library that defines fabsf.
	* m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
	AC_CHECK_FUNCS.
	* modules/fabsf (Files): Add m4/mathfunc.m4.

2011-10-06  Bruno Haible  <bruno@clisp.org>

	frexpf: Drop assumption about library that defines frexpf.
	* m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
	'int *', 'float *', 'long double *', 'float', 'long double'.
	* m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
	AC_CHECK_FUNCS.
	* modules/frexpf (Files): Add m4/mathfunc.m4.

	Tests for module 'frexpf'.
	* modules/frexpf-tests: New file.
	* tests/test-frexpf.c: New file.

	New module 'frexpf'.
	* lib/math.in.h (frexpf): New declaration.
	* lib/frexpf.c: New file.
	* m4/frexpf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
	* modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
	* modules/frexpf: New file.
	* tests/test-math-c++.cc: Check the declaration of frexpf.
	* doc/posix-functions/frexpf.texi: Mention the new module.

2011-10-06  Bruno Haible  <bruno@clisp.org>

	math: Sort function declarations of math.in.h.
	* lib/math.in.h (frexp, logb): Move declarations.

2011-10-05  Bruno Haible  <bruno@clisp.org>

	Tests for module 'modff'.
	* modules/modff-tests: New file.
	* tests/test-modff.c: New file.

	New module 'modff'.
	* lib/math.in.h (modff): New declaration.
	* lib/modff.c: New file.
	* m4/modff.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
	* modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
	* modules/modff: New file.
	* tests/test-math-c++.cc: Check the declaration of modff.
	* doc/posix-functions/modff.texi: Mention the new module.

	modf tests: Make test sharper.
	* tests/test-modf.c (main): Strengthen upper bound.

	modf: Use a .m4 file.
	* m4/modf.m4: New file.
	* modules/modf (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_MODF.

2011-10-05  Bruno Haible  <bruno@clisp.org>

	Tests for module 'fmodf'.
	* modules/fmodf-tests: New file.
	* tests/test-fmodf.c: New file.

	New module 'fmodf'.
	* lib/math.in.h (fmodf): New declaration.
	* lib/fmodf.c: New file.
	* m4/fmodf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
	* modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
	* modules/fmodf: New file.
	* tests/test-math-c++.cc: Check the declaration of fmodf.
	* doc/posix-functions/fmodf.texi: Mention the new module.

	fmod: Use a .m4 file.
	* m4/fmod.m4: New file.
	* modules/fmod (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_FMOD.

2011-10-05  Bruno Haible  <bruno@clisp.org>

	Tests for module 'fabsf'.
	* modules/fabsf-tests: New file.
	* tests/test-fabsf.c: New file.

	New module 'fabsf'.
	* lib/math.in.h (fabsf): New declaration.
	* lib/fabsf.c: New file.
	* m4/fabsf.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
	* modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
	* modules/fabsf: New file.
	* tests/test-math-c++.cc: Check the declaration of fabsf.
	* doc/posix-functions/fabsf.texi: Mention the new module.

	fabs: Use a .m4 file.
	* m4/fabs.m4: New file.
	* modules/fabs (Files): Add it.
	(configure.ac): Just invoke gl_FUNC_FABS.

2011-10-05  Jim Meyering  <meyering@redhat.com>

	file-has-acl: revert both recent changes, 80af92af and 95f7c57f
	* lib/file-has-acl.c: While the 2011-10-03 change does fix the
	ls -lL regression introduced in coreutils-8.12, it does so at the
	cost of an additional stat call in the common case.  Besides, now
	that the kernel change that prompted commit 95f7c57f has been reverted
	(see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
	we have no use for commit 95f7c57f, "file-has-acl: use
	acl_extended_file_nofollow if available".

2011-10-03  Kamil Dudka  <kdudka@redhat.com>

	file-has-acl: revert unintended change in behavior of ls -L
	* lib/file-has-acl.c (acl_extended_file_wrap): New function,
	derived from...
	(file_has_acl): ...code here.  Call it.
	This problem was introduced with 2011-07-22 commit 95f7c57f,
	"file-has-acl: use acl_extended_file_nofollow if available".
	See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538

2011-10-03  Bruno Haible  <bruno@clisp.org>

	poll: Avoid link errors on MSVC.
	* m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
	* modules/poll (Depends-on): Add sockets.
	(Link): New section.
	* NEWS: Mention the change.
	* modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
	* modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
	$(LIB_POLL) instead of $(LIBSOCKET).

2011-10-03  Bruno Haible  <bruno@clisp.org>

	sys_select tests: Fix link error on MSVC 9.
	* modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
	with $(LIB_SELECT) instead of $(LIBSOCKET).

2011-10-03  Bruno Haible  <bruno@clisp.org>

	sys_select: Fix compilation error on mingw.
	* lib/sys_select.in.h: On native Windows, include <io.h>.

2011-10-03  Bruno Haible  <bruno@clisp.org>

	wmemset: Support for MSVC.
	* m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
	whether wmemset() exists.

2011-10-03  Bruno Haible  <bruno@clisp.org>

	wmemmove: Support for MSVC.
	* m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
	whether wmemmove() exists.

2011-10-03  Bruno Haible  <bruno@clisp.org>

	wmemcpy: Support for MSVC.
	* m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
	whether wmemcpy() exists.

2011-10-03  Bruno Haible  <bruno@clisp.org>

	wmemcmp: Support for MSVC.
	* m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
	whether wmemcmp() exists.

2011-10-03  Bruno Haible  <bruno@clisp.org>

	wmemchr: Support for MSVC.
	* m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
	whether wmemchr() exists.

2011-10-03  Bruno Haible  <bruno@clisp.org>

	glthread/*, strsignal: Support for MSVC.
	* lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
	including <winsock.h> on MSVC 9.
	* lib/glthread/lock.h: Likewise.
	* lib/glthread/thread.h: Likewise.
	* lib/glthread/tls.h: Likewise.
	* lib/glthread/yield.h: Likewise.
	* lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
	if HAVE_UNISTD_H is false.
	* m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.

2011-10-03  Bruno Haible  <bruno@clisp.org>

	nonblocking tests: Fix test failure on OpenBSD/SPARC64.
	* tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
	Set to 100000.

2011-10-03  Bruno Haible  <bruno@clisp.org>

	acl: Fix specification.
	* lib/file-has-acl.c (file_has_acl): Fix specification.

2011-10-03  Bruno Haible  <bruno@clisp.org>

	relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
	* lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
	(compute_curr_prefix, shared_library_fullname,
	find_shared_library_fullname, get_shared_library_fullname, relocate):
	Use it together with PIC && INSTALLDIR.
	Reported by <jojelino@gmail.com>
	via Charles Wilson <cygwin@cwilson.fastmail.fm>.

2011-10-01  Jim Meyering  <meyering@redhat.com>

	maint.mk: adjust a release-related rule not to require use of gzip
	* top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
	Instead, check each file in $(DIST_ARCHIVES).  This is better for
	projects that build only .tar.xz files.  Also fix an erroneous test.

	test-linkat: don't leave behind a temporary file
	* tests/test-linkat.c (main): Don't forget to remove a temporary file.
	Otherwise, coreutils' "make distcheck" would fail with this:
	  Only in /c/cu/tests/torture/coreutils/test/\
	    coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
	  make[2]: *** [my-distcheck] Error 1

	float, math: add omitted file
	* lib/itold.c: Add file, required for yesterday's float change.

2011-10-01  Bruno Haible  <bruno@clisp.org>

	isinf: Fix for OpenBSD/x86.
	* m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
	pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
	* doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.

2011-10-01  Bruno Haible  <bruno@clisp.org>

	isfinite: Fix syntax error in configure test.
	* m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.

	isfinite: Fix typo.
	* m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
	gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.

2011-10-01  Bruno Haible  <bruno@clisp.org>

	nonblocking tests: Fix test failure on Linux/IA-64.
	* tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
	Set to 270000.

2011-10-01  Bruno Haible  <bruno@clisp.org>

	mkfifoat tests: Fix a test failure on mingw.
	* tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
	with error ENOSYS.

2011-09-30  Bruno Haible  <bruno@clisp.org>

	float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
	* m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
	'long double'. Set REPLACE_ITOLD.
	* lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
	* lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
	* lib/itold.c: New file.
	* modules/float (Files): Add lib/itold.c.
	(configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
	(Makefile.am): Substitute REPLACE_ITOLD.
	* modules/math (Depends-on): Add float.
	(Makefile.am): Substitute REPLACE_ITOLD.
	* doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
	* doc/posix-headers/math.texi: Likewise.
	* doc/posix-functions/logl.texi: Likewise.

2011-09-30  Bruno Haible  <bruno@clisp.org>

	nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
	* tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
	Set to 140000.

2011-09-30  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
	* gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
	invocation, say "right after AC_PROG_CC_STDC", not "right after
	AC_PROG_CC".
	Reported by Gary V. Vaughan <gary@gnu.org>.

2011-09-30  Bruno Haible  <bruno@clisp.org>

	Centralize C99 requirement.
	* m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
	* modules/stdarg (configure.ac-early): Invoke it instead of
	AC_PROG_CC_STDC.
	Reported by Gary V. Vaughan and Paul Eggert.

2011-09-29  Bruno Haible  <bruno@clisp.org>

	float: Fix LDBL_MAX value on Linux/PowerPC.
	* m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
	on Linux/PowerPC.
	* lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
	* lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
	* doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
	platform.
	Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.

2011-09-29  Bruno Haible  <bruno@clisp.org>

	doc: Improve doc about gl_EARLY.
	* doc/gnulib-tool.texi (Initial import): Mention where to place an
	AC_PROG_CC_STDC invocation.
	Reported by Gary V. Vaughan <gary@gnu.org>.

2011-09-28  Bruno Haible  <bruno@clisp.org>

	fgetc, fputc, fread, fwrite tests: Fix link error.
	* tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
	on non-MSVC platforms.
	* tests/test-fputc.c (main): Likewise.
	* tests/test-fread.c (main): Likewise.
	* tests/test-fwrite.c (main): Likewise.
	Reported by Jim Meyering.

2011-09-27  Bruno Haible  <bruno@clisp.org>

	fputc, fwrite tests: Avoid test failure on MSVC.
	* tests/test-fgetc.c: Include msvc-inval.h.
	(main): Invoke gl_msvc_inval_ensure_handler.
	* tests/test-fputc.c: Include msvc-inval.h.
	(main): Invoke gl_msvc_inval_ensure_handler.
	* tests/test-fread.c: Include msvc-inval.h.
	(main): Invoke gl_msvc_inval_ensure_handler.
	* tests/test-fwrite.c: Include msvc-inval.h.
	(main): Invoke gl_msvc_inval_ensure_handler.
	* modules/fgetc-tests (Depends-on): Add msvc-inval.
	* modules/fputc-tests (Depends-on): Likewise.
	* modules/fread-tests (Depends-on): Likewise.
	* modules/fwrite-tests (Depends-on): Likewise.

2011-09-27  Bruno Haible  <bruno@clisp.org>

	raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
	* lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
	(raise): Remove older, duplicated declaration.
	(_gl_raise_SIGPIPE): New declaration.
	* lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
	(rpl_raise): Remove function.
	* lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
	a gnulib-defined SIGPIPE here.
	* m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
	'sigprocmask' has detected missing signal-blocking and the module
	'sigpipe' is enabled.
	Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.

2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>

	base64-tests: avoid memory leak
	* tests/test-base64.c (main): Plug memory leak.

	base32: new module
	* modules/base32: New module.
	* lib/base32.c: New file.
	* lib/base32.h: Likewise.
	* m4/base32.m4: Likewise.
	* modules/base32-tests: New test.
	* tests/test-base32.c: Likewise.
	* MODULES.html.sh (Misc): Mention it.

2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>

	gnulib: use more-standard license notice wording
	* gnulib-tool (func_emit_copyright_notice): When emitting a
	license notice into a file, use the standard wording as suggested
	by the current information for GNU maintainers, except say "file"
	rather than "program".  The new wording gives a license version
	number, which addresses an issue raised by Glenn Morris in
	<http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
	* m4/onceonly.m4: Use that same wording here, too.

	dup2: minor simplification
	* m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
	as lib/dup2.c no longer uses 'inline'.

2011-09-25  Bruno Haible  <bruno@clisp.org>

	strings: Fix compilation error on MSVC.
	* lib/strings.in.h: Include <stddef.h> for size_t.

2011-09-25  Bruno Haible  <bruno@clisp.org>

	fflush et al.: Document limitation on MSVC.
	* doc/posix-functions/fflush.texi: Document possible crash in handling
	mode other than DEFAULT_HANDLING.
	* doc/posix-functions/fgetc.texi: Likewise.
	* doc/posix-functions/fputc.texi: Likewise.
	* doc/posix-functions/fread.texi: Likewise.
	* doc/posix-functions/fwrite.texi: Likewise.

2011-09-25  Bruno Haible  <bruno@clisp.org>

	msvc-inval: Allow three invalid parameter handling modes.
	* lib/msvc-inval.h: Don't include <stdlib.h> here.
	(DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
	macros.
	(gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
	DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
	SANE_LIBRARY_HANDLING as a no-op.
	* lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
	<stdlib.h>.
	(gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.

2011-09-25  Bruno Haible  <bruno@clisp.org>

	msvc-inval: Make handler multithread-safe.
	* lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
	(gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
	declarations.
	(gl_msvc_inval_current): New declaration.
	(TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
	Operate on the structure returned by gl_msvc_inval_current().
	* lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
	Remove varaiables.
	(tls_index, tls_initialized): New variables.
	(not_per_thread): New variable.
	(gl_msvc_inval_current): New function.
	(gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
	returned by gl_msvc_inval_current().

2011-09-25  Bruno Haible  <bruno@clisp.org>

	msvc-inval: Install handler globally.
	* lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
	!_MSC_VER.
	(gl_msvc_invalid_parameter_handler): Remove declaration.
	(gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
	declarations.
	(TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
	Install the handler globally, don't uninstall it.
	* lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
	(gl_msvc_invalid_parameter_handler): Make static. If the restart is not
	currently valid, call RaiseException instead.
	(gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
	for !_MSC_VER.

2011-09-25  Bruno Haible  <bruno@clisp.org>

	strerror_r-posix: Fix for MSVC 9.
	* lib/strerror_r.c (local_snprintf): New function.
	(snprintf): Define to local_snprintf, not to _snprintf.

2011-09-25  Bruno Haible  <bruno@clisp.org>

	ftruncate: Support for MSVC 9.
	* lib/ftruncate.c: Include errno.h, msvc-inval.h.
	(chsize_nothrow): New function.
	(chsize): Redefine as a macro.
	* m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
	* modules/ftruncate (Depends-on): Add msvc-inval.

2011-09-25  Bruno Haible  <bruno@clisp.org>

	New module 'fstat'.
	* lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
	* lib/fstat.c: New file, based on a piece of lib/fchdir.c.
	* lib/fchdir.c (rpl_fstat): Remove function.
	* m4/fstat.m4: New file.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
	declared.
	(gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
	* modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
	* modules/fstat: New file.
	* modules/sys_stat-tests (Depends-on): Remove fstat-tests.
	* tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
	is set.
	* doc/posix-functions/fstat.texi: Mention the new module and the
	problem on MSVC.
	* NEWS: Mention the change.
	* modules/acl (Depends-on): Add fstat.
	* modules/chdir-safer (Depends-on): Likewise.
	* modules/chown (Depends-on): Likewise.
	* modules/copy-file (Depends-on): Likewise.
	* modules/fchdir (Depends-on): Likewise.
	* modules/fdopendir (Depends-on): Likewise.
	* modules/fopen (Depends-on): Likewise.
	* modules/fts (Depends-on): Likewise.
	* modules/getcwd (Depends-on): Likewise.
	* modules/isapipe (Depends-on): Likewise.
	* modules/linkat (Depends-on): Likewise.
	* modules/lseek (Depends-on): Likewise.
	* modules/mkdir-p (Depends-on): Likewise.
	* modules/open (Depends-on): Likewise.
	* modules/openat (Depends-on): Likewise.
	* modules/read-file (Depends-on): Likewise.
	* modules/renameat (Depends-on): Likewise.
	* modules/utimens (Depends-on): Likewise.

2011-09-25  Bruno Haible  <bruno@clisp.org>

	linkat: Fix compilation on MSVC 9.
	* lib/linkat.c: Don't include <stdint.h>.

2011-09-25  Bruno Haible  <bruno@clisp.org>

	fclose: Support for MSVC 9.
	* lib/fclose.c: Include msvc-inval.h.
	(fclose_nothrow): New function.
	(rpl_fclose): Use it.
	* modules/fclose (Depends-on): Add msvc-inval.
	* doc/posix-functions/fclose.texi: Mention the problem on MSVC.

2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>

	dup2: minor simplifications
	* lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
	that it's a performance win.
	(rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
	! defined __CYGWIN__)" to "ifdef F_GETFL".

2011-09-24  Jim Meyering  <meyering@redhat.com>

	test-futimens: avoid a warning from gcc -Wshadow
	* tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
	to avoid a shadowing warning.

2011-09-24  Bruno Haible  <bruno@clisp.org>

	fdopen: Support for MSVC 9.
	* m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
	HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
	* lib/fdopen.c: Include msvc-inval.h.
	(fdopen_nothrow): New function.
	(rpl_fdopen): Use it.
	* modules/fdopen (Depends-on): Add msvc-inval.
	* modules/fclose-tests (Depends-on): Add fdopen.
	* modules/fflush-tests (Depends-on): Likewise.
	* modules/fgetc-tests (Depends-on): Likewise.
	* modules/fputc-tests (Depends-on): Likewise.
	* modules/fread-tests (Depends-on): Likewise.
	* modules/freopen-tests (Depends-on): Likewise.
	* modules/fseeko-tests (Depends-on): Likewise.
	* modules/ftello-tests (Depends-on): Likewise.
	* modules/fwrite-tests  (Depends-on): Likewise.
	* doc/posix-functions/fdopen.texi: Mention the problem on MSVC.

2011-09-24  Bruno Haible  <bruno@clisp.org>

	fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
	* modules/fgetc-tests (Depends-on): Add unistd.
	* modules/fputc-tests (Depends-on): Likewise.
	* modules/fread-tests (Depends-on): Likewise.
	* modules/fwrite-tests (Depends-on): Likewise.

2011-09-24  Bruno Haible  <bruno@clisp.org>

	dup: Simplify autoconf test.
	* m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
	on gl_MSVC_INVAL's result.

2011-09-24  Bruno Haible  <bruno@clisp.org>

	Tests for function fwrite().
	* modules/fwrite-tests: New file.
	* tests/test-fwrite.c: New file.
	* modules/stdio-tests (Depends-on): Add fwrite-tests.

	Tests for function fread().
	* modules/fread-tests: New file.
	* tests/test-fread.c: New file.
	* modules/stdio-tests (Depends-on): Add fread-tests.

	Activate fputc tests.
	* modules/stdio-tests (Depends-on): Add fputc-tests.

	Enhance fgetc, fputc tests.
	* tests/test-fgetc.c (main): Also test the stream's error indicator.
	* tests/test-fputc.c (main): Likewise.

2011-09-24  Bruno Haible  <bruno@clisp.org>

	write: Support for MSVC 9.
	* lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
	is not 1.
	* lib/write.c (write_nothrow): New function.
	(rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
	not 1. Use write_nothrow.
	* m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
	invalid parameter handler.
	(gl_PREREQ_WRITE): New macro.
	* modules/write (Depends-on): Add msvc-inval.
	(configure.ac): Invoke gl_PREREQ_WRITE.
	* doc/posix-functions/write.texi: Mention the problem on MSVC.

2011-09-24  Bruno Haible  <bruno@clisp.org>

	read: Fix last commit.
	* lib/read.c (read_nothrow): Change return type to 'ssize_t'.

2011-09-24  Bruno Haible  <bruno@clisp.org>

	dup2: Fix last commit.
	* lib/dup2.c: Restore comments. Treat Cygwin like Unix.
	(rpl_dup2): Disable fcntl workaround on native Windows.

	sigprocmask: Make code safer.
	* lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
	section that changes macro definitions for this compilation unit.

2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>

	dup2: clarify by coalescing Windows-specific material
	* lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
	"msvc-nothrow.h"' to the Windows-specific section, so that the
	Emacs source need not contain these include files.
	(ms_windows_dup2): Rename from dup2_nothrow, and move all the
	Windows-specific fixes into this function rather than just the
	nothrow fix, as this shortens and clarifies the code.  Always