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

	regex: fix parse_bracket_exp double-free
	Problem reported by Anastasia Belova in:
	https://sourceware.org/pipermail/libc-alpha/2025-June/168231.html
	* lib/regcomp.c (parse_bracket_exp): Avoid double-free
	when storage allocation fails in create_token_tree.

2025-06-15  Bruno Haible  <bruno@clisp.org>

	fenv-environment tests: Fix compilation errors on Linux/sh4.
	Reported by Collin Funk in
	<https://lists.gnu.org/archive/html/bug-gnulib/2025-06/msg00124.html>.
	* tests/test-fenv-env-2.c (FE_UPWARD, FE_DOWNWARD): Define as aliases.
	* tests/test-fenv-env-3.c: Likewise.
	* tests/test-fenv-env-4.c: Likewise.
	* tests/test-fenv-env-5.c: Likewise.

2025-06-13  Bruno Haible  <bruno@clisp.org>

	stat: Support the file name "/dev/null" on native Windows.
	Reported by Collin Funk in
	<https://lists.gnu.org/archive/html/bug-gnulib/2025-06/msg00119.html>.
	* lib/stat.c (rpl_stat): On native Windows, map "/dev/null" to "NUL".
	* doc/posix-functions/stat.texi: Mention problem of null device name.
	* doc/posix-functions/lstat.texi: Likewise.

2025-06-12  Bruno Haible  <bruno@clisp.org>

	stat: Add support for mingw 13 in 32-bit mode.
	* lib/sys_stat.in.h (_stat32i64): Redirect to rpl_stat.

2025-06-11  Bruno Haible  <bruno@clisp.org>

	fenv*: Fix compilation error with mingw 13.
	It's caused by an ABI change in mingw:
	<https://sourceforge.net/p/mingw-w64/mingw-w64/ci/5c5973cf5f021db8fd75e9667e63881ccd169320/>.
	Reported by Collin Funk in
	<https://lists.gnu.org/archive/html/bug-gnulib/2025-04/msg00215.html>.
	* m4/fenv-environment.m4 (gl_FENV_ENVIRONMENT): Update comments for
	mingw 13.
	* lib/fenv-private.h (exceptions_to_x86hardware,
	x86hardware_to_exceptions): On mingw >= 13, define these like on MSVC.
	* lib/fenv-round.c (fegetround, fesetround): Do the safe mapping also on
	mingw >= 13.
	* lib/fenv-except-state-set.c (fesetexceptflag): Do the
	exceptions_to_x86hardware conversion also on other platforms than MSVC.
	* lib/fenv-except-tracking-clear.c (feclearexcept): Likewise.
	* lib/fenv-except-tracking-set.c (fesetexcept): Likewise.
	* lib/fenv-except-trapping.c (feenableexcept, fedisableexcept,
	fegetexcept): Do the exceptions_to_x86hardware and
	x86hardware_to_exceptions conversions also on other platforms than MSVC.
	* lib/fenv-env.c (fegetenv, fesetenv): Add new implementation for
	mingw >= 13.
	* doc/posix-functions/fesetenv.texi: Mention the new mingw bug.
	* doc/posix-functions/feupdateenv.texi: Mention the new mingw bug.

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

	fts: Update dependencies.
	* modules/fts (Depends-on): Add close, dirfd, fstatat, openat. Remove
	lstat, open, opendir.

2025-05-31  Bruno Haible  <bruno@clisp.org>

	stat-time: Fix syntax errors in C++ mode on MSVC (regr. 2023-05-14).
	Reported by Kirill Makurin <maiddaisuki@outlook.com> in
	<https://lists.gnu.org/archive/html/bug-gettext/2025-05/msg00071.html>.
	* lib/stat-time.h (_gl_make_timespec): New macro / function.
	(get_stat_atime, get_stat_ctime, get_stat_mtime, get_stat_birthtime):
	Use it instead of a compound literal expression.

2025-05-31  Bruno Haible  <bruno@clisp.org>

	Make gl_CHECK_FUNCS_MACOS work with current unreleased Autoconf.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-autoconf/2025-05/msg00024.html>.
	* m4/gnulib-common.m4 (gl_CHECK_FUNCS_CASE_FOR_MACOS): Temporarily set
	ac_c_future_darwin_options, ac_cxx_future_darwin_options to empty for
	the second AC_CHECK_DECL invocation.

2025-05-27  Bruno Haible  <bruno@clisp.org>

	strchrnul: Fix for users of the current macOS SDK.
	Reported in <https://savannah.gnu.org/bugs/?67141>.
	* m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Use gl_CHECK_FUNCS_ANDROID_MACOS
	instead of gl_CHECK_FUNCS_ANDROID.

2025-05-25  Bruno Haible  <bruno@clisp.org>

	selinux-h: Fix error with MSVC.
	* lib/se-selinux.in.h: Add comment.
	* modules/selinux-h (Depends-on): Add sys_types-h.

2025-05-25  Bruno Haible  <bruno@clisp.org>

	fcntl-h, unistd-h: Fix errors in C++ mode with MSVC.
	* lib/fcntl.in.h (open): Use _GL_CXXALIAS_MDA_CAST instead of
	_GL_CXXALIAS_MDA.
	* lib/unistd.in.h: Include <io.h>, <direct.h> before <fcntl.h>.

2025-05-25  Bruno Haible  <bruno@clisp.org>

	utime-h: Fix error in C++ mode with MSVC.
	* lib/utime.in.h (utime): Use _GL_CXXALIAS_MDA_CAST instead of
	_GL_CXXALIAS_MDA.

2025-05-18  Bruno Haible  <bruno@clisp.org>

	unigbrk/u*-grapheme-prev: Support Indic, Emojis, regional indicators.
	Reported by Kang-Che Sung <explorer09@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-libunistring/2025-03/msg00000.html>.
	* lib/unigbrk/u-grapheme-prev.h: New file, based on
	lib/unigbrk/u-grapheme-breaks.h.
	* lib/unigbrk/u8-grapheme-prev.c: Include unictype.h and
	u-grapheme-prev.h.
	(u8_grapheme_prev): Remove function.
	* lib/unigbrk/u16-grapheme-prev.c: Include unictype.h and
	u-grapheme-prev.h.
	(u16_grapheme_prev): Remove function.
	* lib/unigbrk/u32-grapheme-prev.c: Include unictype.h and
	u-grapheme-prev.h.
	(u32_grapheme_prev): Remove function.
	* modules/unigbrk/u8-grapheme-prev (Files): Add
	lib/unigbrk/u-grapheme-prev.h.
	(Depends-on): Remove unigbrk/uc-is-grapheme-break. Add unigbrk/base,
	unigbrk/uc-gbrk-prop, unictype/incb-of,
	unictype/property-extended-pictographic, bool.
	(configure.ac): Bump required libunistring version.
	* modules/unigbrk/u16-grapheme-prev (Files): Add
	lib/unigbrk/u-grapheme-prev.h.
	(Depends-on): Remove unigbrk/uc-is-grapheme-break. Add unigbrk/base,
	unigbrk/uc-gbrk-prop, unictype/incb-of,
	unictype/property-extended-pictographic, bool.
	(configure.ac): Bump required libunistring version.
	* modules/unigbrk/u32-grapheme-prev (Files): Add
	lib/unigbrk/u-grapheme-prev.h.
	(Depends-on): Remove unigbrk/uc-is-grapheme-break. Add unigbrk/base,
	unigbrk/uc-gbrk-prop, unictype/incb-of,
	unictype/property-extended-pictographic, bool.
	(configure.ac): Bump required libunistring version.
	* tests/unigbrk/test-u8-grapheme-prev.c (main): Add more test cases,
	from tests/unigbrk/test-u8-grapheme-breaks.c.
	* tests/unigbrk/test-u16-grapheme-prev.c (main): Add more test cases,
	from tests/unigbrk/test-u16-grapheme-breaks.c.
	* tests/unigbrk/test-u32-grapheme-prev.c (main): Add more test cases,
	from tests/unigbrk/test-u32-grapheme-breaks.c.

2025-05-18  Bruno Haible  <bruno@clisp.org>

	unigbrk/u*-grapheme-next: Support Indic, Emojis, regional indicators.
	Reported by Kang-Che Sung <explorer09@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-libunistring/2025-03/msg00000.html>
	and by Lich <author@lch361.net> in
	<https://lists.gnu.org/archive/html/bug-libunistring/2025-05/msg00000.html>.
	* lib/unigbrk/u-grapheme-next.h: New file, based on
	lib/unigbrk/u-grapheme-breaks.h.
	* lib/unigbrk/u8-grapheme-next.c: Include unictype.h and
	u-grapheme-next.h.
	(u8_grapheme_next): Remove function.
	* lib/unigbrk/u16-grapheme-next.c: Include unictype.h and
	u-grapheme-next.h.
	(u16_grapheme_next): Remove function.
	* lib/unigbrk/u32-grapheme-next.c: Include unictype.h and
	u-grapheme-next.h.
	(u32_grapheme_next): Remove function.
	* modules/unigbrk/u8-grapheme-next (Files): Add
	lib/unigbrk/u-grapheme-next.h.
	(Depends-on): Remove unigbrk/uc-is-grapheme-break. Add unigbrk/base,
	unigbrk/uc-gbrk-prop, unictype/incb-of,
	unictype/property-extended-pictographic, bool.
	(configure.ac): Bump required libunistring version.
	* modules/unigbrk/u16-grapheme-next (Files): Add
	lib/unigbrk/u-grapheme-next.h.
	(Depends-on): Remove unigbrk/uc-is-grapheme-break. Add unigbrk/base,
	unigbrk/uc-gbrk-prop, unictype/incb-of,
	unictype/property-extended-pictographic, bool.
	(configure.ac): Bump required libunistring version.
	* modules/unigbrk/u32-grapheme-next (Files): Add
	lib/unigbrk/u-grapheme-next.h.
	(Depends-on): Remove unigbrk/uc-is-grapheme-break. Add unigbrk/base,
	unigbrk/uc-gbrk-prop, unictype/incb-of,
	unictype/property-extended-pictographic, bool.
	(configure.ac): Bump required libunistring version.
	* tests/unigbrk/test-u8-grapheme-next.c (main): Add more test cases,
	from tests/unigbrk/test-u8-grapheme-breaks.c.
	* tests/unigbrk/test-u16-grapheme-next.c (main): Add more test cases,
	from tests/unigbrk/test-u16-grapheme-breaks.c.
	* tests/unigbrk/test-u32-grapheme-next.c (main): Add more test cases,
	from tests/unigbrk/test-u32-grapheme-breaks.c.

2025-05-16  Bruno Haible  <bruno@clisp.org>

	asyncsafe-spin: Fix race condition on native Windows.
	* lib/asyncsafe-spin.h (asyncsafe_spin_lock, asyncsafe_spin_unlock): Add
	from_signal_handler parameter.
	* lib/asyncsafe-spin.c (asyncsafe_spin_lock, asyncsafe_spin_unlock):
	Likewise.
	* tests/test-asyncsafe-spin1.c (main): Update.
	* tests/test-asyncsafe-spin2.c (lock_mutator_thread,
	lock_checker_thread): Update.
	* lib/clean-temp-simple.c (clean_temp_asyncsafe_close): Update.
	* lib/clean-temp.c (asyncsafe_fclose_variant): Update.

2025-05-16  Bruno Haible  <bruno@clisp.org>

	sigprocmask: Make multithread-safe on native Windows.
	* lib/sigprocmask.c: Include glthread/lock.h.
	(sig_lock): New variable.
	(blocked_set): Remove 'volatile'.
	(sigprocmask, _gl_raise_SIGPIPE): Use the sig_lock.
	* modules/sigprocmask (Depends-on): Add lock.
	* doc/posix-functions/sigprocmask.texi: Mention the async-safety issue.

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

	nstrftime: Fix a link error on Android API level ≥ 35.
	Reported by Po Lu <luangruo@yahoo.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2025-05/msg00069.html>.
	* lib/strftime.c (HAVE_ONLY_C_LOCALE): New macro.
	(REQUIRE_GNUISH_STRFTIME_AM_PM): Set to false if HAVE_ONLY_C_LOCALE
	is 1.
	(TOUPPER): Use c_toupper if HAVE_ONLY_C_LOCALE is 1.
	(c_locale_cache, c_locale): Don't define if HAVE_ONLY_C_LOCALE
	&& HAVE_STRUCT_TM_TM_ZONE.
	(utc_timezone_cache, utc_timezone): Don't define if
	(HAVE_ONLY_C_LOCALE || (USE_C_LOCALE && !HAVE_STRFTIME_L))
	&& HAVE_STRUCT_TM_TM_ZONE.
	(c_weekday_names, c_month_names): Define also if HAVE_ONLY_C_LOCALE
	is 1.
	(underlying_strftime): Don't define if
	HAVE_ONLY_C_LOCALE && HAVE_STRUCT_TM_TM_ZONE
	&& !(USE_C_LOCALE && !HAVE_STRFTIME_L).
	(get_tm_zone): On Android, don't return NULL.
	(__strftime_internal): If HAVE_ONLY_C_LOCALE is 1, don't invoke
	underlying_strftime.
	* modules/nstrftime (Depends-on): Add c-ctype.

2025-05-04  Collin Funk  <collin.funk1@gmail.com>

	crypto/gc-arcfour tests: Fix link error when using --with-libgcrypt.
	* modules/crypto/gc-arcfour-tests (Makefile.am): Link the test program
	to @LIB_CRYPTO@.

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

	havelib: Fix m4 underquoting bug in AC_LIB_FROMPACKAGE.
	Reported for GNU clisp by Adam Sampson <ats@offog.org> at
	<https://gitlab.com/gnu-clisp/clisp/-/issues/60>.
	* m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Protect the comma in the
	expansion of [acl_libsinpackage_]PACKUP by one more level of quotes.

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

	javacomp: Fix resource leak.
	* lib/javacomp.c (execute_and_read_line): Upon failure, close the stream
	and wait for the child process to terminate.

2025-04-28  Bruno Haible  <bruno@clisp.org>

	sigsegv: Fix compilation error on Mac OS X 10.4/powerpc.
	Patch by Evan Miller <emmiller@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-08/msg00153.html>.
	* lib/sigsegv.c (SIGSEGV_FAULT_STACKPOINTER) [macOS/powerpc: On Mac OS X
	<= 10.4, assume struct field names without underscores.

2025-04-25  Collin Funk  <collin.funk1@gmail.com>

	pselect: Disable signature check on AIX.
	* tests/test-pselect.c [_AIX]: Skip pselect signature check.

2025-04-24  Bruno Haible  <bruno@clisp.org>

	fbufmode: Don't require peeking into the FILE structure on recent Haiku.
	Suggested by Augustin Cavalier <waddlesplash@gmail.com>
	in <https://dev.haiku-os.org/ticket/19479#comment:15>.
	* lib/fbufmode.c (fbufmode): On Haiku >= hrev58760, use the same
	implementation as on musl libc.

2025-04-23  Collin Funk  <collin.funk1@gmail.com>

	tsearch tests: Disable tfind signature check on Cygwin.
	* tests/test-tsearch.c [__CYGWIN__]: Skip the tfind signature check.
	* doc/posix-functions/tfind.texi: Mention the Cygwin signature.

2025-04-22  Collin Funk  <collin.funk1@gmail.com>

	random_r tests: Disable signature check on Haiku.
	* tests/test-random_r.c [__HAIKU__]: Skip initstate_r and setstate_r
	signature check.
	* doc/glibc-functions/initstate_r.texi: Remove year.
	* doc/glibc-functions/setstate_r.texi: Likewise.

2025-04-21  Collin Funk  <collin.funk1@gmail.com>

	strsignal tests: Disable signature check on Haiku.
	* tests/test-strsignal.c [__HAIKU__]: Skip signature check.
	* doc/posix-functions/strsignal.texi: Document that strsignal returns
	'const char *' instead of 'char *' on Haiku.

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

	getloadavg: port to Android 3.1-
	Problem reported by Po Lu in:
	https://lists.gnu.org/r/bug-gnulib/2025-04/msg00172.html
	* lib/getloadavg.c (getloadavg): Do not try to use sysinfo on
	Android 3.1 Honeycomb (API 12, 2011) and earlier.

2025-04-16  Grisha Levit  <grishalevit@gmail.com>  (tiny change)

	Ensure that the configuration cleans up conftest.dSYM directories.
	* m4/gnulib-common.m4 (gl_CC_ALLOW_WARNINGS, gl_CXX_ALLOW_WARNINGS):
	Remove conftest* files and directories recursively.
	* m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX, gl_C_ASM): Likewise.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Likewise.
	* m4/warnings.m4 (gl_CC_INHIBIT_WARNINGS, gl_CXX_INHIBIT_WARNINGS):
	Likewise.

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

	gnulib-tool.py: Fix exception during --update with changed macro-prefix.
	* pygnulib/GLImport.py (GLImport.__init__): Support the case that the
	expected ${macro_prefix}_FILE_LIST definition was not found.

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

	trim tests: Avoid test failures on macOS 15.4.
	* tests/test-trim.c (main): On macOS, disable test cases that fail on
	macOS 15.4.

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

	c32is*, c32to* tests: Avoid test failures on macOS 15.4.
	* tests/test-c32isalnum.c (main): On macOS, disable test cases that fail
	on macOS 15.4.
	* tests/test-c32isalpha.c (main): Likewise.
	* tests/test-c32isgraph.c (main): Likewise.
	* tests/test-c32islower.c (main): Likewise.
	* tests/test-c32isprint.c (main): Likewise.
	* tests/test-c32ispunct.c (main): Likewise.
	* tests/test-c32isspace.c (main): Likewise.
	* tests/test-c32isupper.c (main): Likewise.
	* tests/test-c32tolower.c (main): Likewise.
	* tests/test-c32toupper.c (main): Likewise.

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

	c-stack tests: Remove left-over core dump file.
	Suggested by Eric Blake in
	<https://lists.gnu.org/archive/html/bug-gnulib/2025-04/msg00101.html>.
	* tests/test-c-stack2.sh: Remove 'core' and 'test-c-stack.core' when
	done.

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

	regex: Fix undefined behaviour.
	* lib/regex.h (_REGEX_NELTS): Define to empty; don't use ISO C99
	variable-length arrays.

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

	select tests: Work around a Cygwin bug.
	* tests/test-select-in.sh: Skip the /dev/null test on Cygwin 3.6.x.

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

	isnanl, isfinite, snan: Improve cross-compilation guess.
	* m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): When
	cross-compiling, invoke gl_LONG_DOUBLE_VS_DOUBLE and
	gl_DOUBLE_EXPONENT_LOCATION, and guess the result depending on the CPU.
	* modules/getpayloadl (Depends-on): Add exponentd.m4, math_h.m4.
	* modules/isfinite (Depends-on): Likewise.
	* modules/isnanl (Depends-on): Likewise.
	* modules/setpayloadl (Depends-on): Likewise.
	* modules/setpayloadsigl (Depends-on): Likewise.
	* modules/isnanl-nolibm (Depends-on): Add exponentd.m4.

2025-04-12  Collin Funk  <collin.funk1@gmail.com>

	stdlib: Avoid syntax errors in libstdc++ header files on AIX.
	* lib/stdlib.in.h: Include <string> before strtol, strtoll, strtoul, or
	strtoull gets defined as a macro.

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

	fnmatch tests: Avoid test failures on macOS 15.4.
	Reported by Daniel Collins <solemnwarning@solemnwarning.net>
	at <https://savannah.gnu.org/bugs/?67007>.
	* tests/test-fnmatch.c (main): On macOS, disable test cases that fail on
	macOS 15.4.

2025-04-11  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Fix memory size bound for %g with grouping and precision.
	* lib/vasnprintf.c (MAX_ROOM_NEEDED): For %g, consider also the size of
	the thousands separators.

2025-04-10  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Fix handling of # flag in %b, %B directives.
	* lib/vasnprintf.c (VASNPRINTF): In the prec_ourselves code, treat a 0b
	prefix like a 0x prefix.

2025-04-08  Bruno Haible  <bruno@clisp.org>

	stddef-h: Make a configure test work with upcoming GCC 15.
	* m4/stddef_h.m4 (gl_STDDEF_H): Replace test "for clean definition" with
	one that succeeds in GCC 15.

2025-04-07  Bruno Haible  <bruno@clisp.org>

	stdioext: Update comments regarding Haiku.
	* lib/fbufmode.c (fbufmode): Update comment.
	* lib/fpending.c: Likewise.
	* lib/freadable.c: Likewise.
	* lib/freadahead.c: Likewise.
	* lib/freadptr.c: Likewise.
	* lib/freadseek.c (freadptrinc): Likewise.
	* lib/fseterr.c: Likewise.
	* lib/fwritable.c: Likewise.
	* lib/fwriting.c: Likewise.

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

	file-has-acl: port symlink code to Cygwin
	Problem reported by Corinna Vinschen in:
	https://lists.gnu.org/r/bug-gnulib/2025-03/msg00112.html
	* lib/file-has-acl.c (acl_get_link_np): New static function,
	defined only if needed; include <fcntl.h> if needed for this.
	(HAVE_ACL_GET_LINK_NP): Define this if defining acl_get_link_np.

2025-04-07  Simon Josefsson  <simon@josefsson.org>

	maintainer-makefile: Avoid submodule-checks fail without submodules.
	* top/maint.mk (no-submodule-changes): Condition on .gitmodules.
	(public-submodule-commit): Likewise.

2025-04-06  Collin Funk  <collin.funk1@gmail.com>

	fseterr: Port to recent Haiku snapshots.
	* lib/fseterr.h (__fseterr): Provide missing declaration.

	fflush: Port to recent Haiku snapshots.
	* lib/stdio-impl.h (_IO_IN_BACKUP) [__HAIKU__]: Define macros.
	* lib/fflush.c (fp_) [!__HAIKU__]: Define to fp.
	(fflush): Use fp_ instead of fp.

	fbufmode: Port to recent Haiku snapshots.
	* lib/stdio-impl.h (_IO_UNBUFFERED, _IO_LINE_BUF) [__HAIKU__]: Define
	macros.
	* lib/fbufmode.c (fp_) [!__HAIKU__]: Define to fp.
	(fbufmode): Use fp_ instead of fp.

	fseeko: Port to recent Haiku snapshots.
	* lib/stdio-impl.h (fp_) [__HAIKU__]: Define to FILE which is an
	incomplete type on Haiku.
	(_IO_EOF_SEEN) [__HAIKU__]: Define macro.
	* lib/fseeko.c (fp_) [!__HAIKU__]: Define to fp.
	(fseeko): Use fp_ instead of fp.

2025-04-04  Simon Josefsson  <simon@josefsson.org>

	maintainer-makefile: Work with modern LCOV versions.
	* top/maint.mk (gen-coverage): Don't pass --highlight to genhtml.

2025-03-24  Paul Eggert  <eggert@cs.ucla.edu>

	same-inode: update now-wrong dependency
	* modules/same-inode (Depends-on): Depend on sys_stat-h,
	not sys_types.h.

2025-03-23  Collin Funk  <collin.funk1@gmail.com>

	utimens: Fix missing declarations on NetBSD (regr. 2024-09-16).
	* lib/utimens.h [HAVE_UTIMENS || HAVE_LUTIMENS]: Include <sys/stat.h>
	instead of <sys/time.h> for the declarations of these functions on
	NetBSD.

2025-03-21  Bruno Haible  <bruno@clisp.org>

	getloadavg: Improve Linux and Android support.
	* lib/getloadavg.c [__linux__, __ANDROID__]: Include <sys/param.h> and
	<sys/sysinfo.h>.
	(getloadavg) [__linux__, __ANDROID__]: Use sysinfo() instead of reading
	/proc/loadavg.
	(LINUX_LDAV_FILE): Remove macro.

2025-03-21  Bruno Haible  <bruno@clisp.org>

	setlocale-null: Fix autoconf warning.
	* m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Define through
	AC_DEFUN_ONCE.

2025-03-20  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors in C++ mode on Android.
	* lib/string.in.h (memset_explicit, strerrorname_np): Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.
	* lib/time.in.h (timespec_getres): Likewise.
	* lib/unistd.in.h (copy_file_range): Likewise.

2025-03-18  Collin Funk  <collin.funk1@gmail.com>

	futimens: Work around a GNU/Hurd bug.
	* m4/futimens.m4 (gl_FUNC_FUTIMENS): Check if futimens validates the
	tv_nsec values of the timespec argument. Set bits in a return value
	instead of exiting early.
	* doc/posix-functions/futimens.texi (futimens): Mention the GNU/Hurd
	bug. Mention the same bug occurs on NetBSD 10.

2025-03-17  Collin Funk  <collin.funk1@gmail.com>

	utimensat: Work around a GNU/Hurd bug.
	* lib/utimensat.c (rpl_utimensat) [__gnu_hurd__]: Check for out of range
	tv_nsec values.
	* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise. Guess that utimensat
	doesn't work on GNU/Hurd.
	* doc/posix-functions/utimensat.texi: Mention the bug.

2025-03-13  Collin Funk  <collin.funk1@gmail.com>

	vma-iter: Detect executable memory segments on Haiku (regr. 2011-01-25).
	* lib/vma-iter.c (vma_iterate) [__BEOS__ || __HAIKU__]: Use the
	B_EXECUTE_AREA flag.

2025-03-12  Collin Funk  <collin.funk1@gmail.com>

	dup3: Fix behavior for equal file descriptors on Haiku.
	* lib/dup3.c (dup3) [__HAIKU__]: Set errno to EINVAL and return -1 if
	both file descriptors are equal.
	* doc/posix-functions/dup3.texi: Document the Haiku bug.

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

	quotearg: Avoid undefined behaviour.
	Reported by Kirill Furman <kfurman@astralinux.ru> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2025-03/msg00037.html>.
	* lib/quotearg.c (set_char_quoting): Use 'unsigned int', not 'int', for
	doing bit mask operations.

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

	getlogin_r: Work around musl bug.
	* lib/getlogin_r.c (getlogin_r): Add implementation for Linux.
	* m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r has the
	musl bug.
	* tests/test-getlogin_r.c (main): Add another test.

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

	getlogin: Work around musl bug.
	* lib/unistd.in.h (getlogin): Consider REPLACE_GETLOGIN.
	* lib/getlogin.c: Change license header to GPL.
	(getlogin): Add implementation for Linux.
	* m4/getlogin.m4 (gl_FUNC_GETLOGIN): Test whether getlogin works.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN.
	* modules/unistd-h (Makefile.am): Substitute REPLACE_GETLOGIN.
	* modules/getlogin (Depends-on): Add readutmp.
	(configure.ac): Consider REPLACE_GETLOGIN.
	(License): Change to GPL.
	* tests/test-getlogin.c (main): Add another test.

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

	vasprintf-posix, vasprintf-gnu: Fix module description.
	Reported by Vivien Kraus <vivien@planete-kraus.eu> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2025-03/msg00009.html>.
	* modules/vasprintf-posix (Include): Change to <stdio.h>.
	* modules/vasprintf-gnu (Include): Likewise.

2025-02-21  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Improve support for loongarch32.
	Reported by <wuruilong@loongson.cn>
	in <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1098478>
	via Simon Josefsson.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Prepare template for
	__loongarch32__ in config.h.
	(gl_HOST_CPU_C_ABI_32BIT): Speed up the configure test on loongarch*.

2025-02-19  Bruno Haible  <bruno@clisp.org>

	readutmp: Let callers distinguish LOGINs from USERs.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2025-02/msg00123.html>.
	* lib/readutmp.h (LOGIN_PROCESS, UT_TYPE_LOGIN_PROCESS): New macros.
	* lib/readutmp.c (read_utmp_from_systemd): Possibly use LOGIN_PROCESS
	instead of USER_PROCESS, depending on the session's class.

2025-02-17  Bruno Haible  <bruno@clisp.org>

	readutmp, boot-time: Improve documentation.
	* DEPENDENCIES: Mention requirements of 'readutmp' and 'boot-time'.

2025-02-16  Bruno Haible  <bruno@clisp.org>

	realloc: Fix link error in C++ mode on CentOS 5 (regression 2024-11-04).
	* lib/stdlib.in.h (rpl_realloc): Ensure C linkage, not C++ linkage, in
	C++ mode.

2025-02-12  Bruno Haible  <bruno@clisp.org>

	setlocale: Update info about Galician and Tamil.
	* lib/setlocale.c (locales_with_principal_territory): Galician is
	mostly spoken in Spain, not Portugal. Tamil is mostly spoken in India,
	not Sri Lanka.

2025-02-12  Bruno Haible  <bruno@clisp.org>

	gettext-h: Fix compilation error on native Windows.
	* modules/gettext-h (Depends-on): Add locale-h.

2025-02-10  KO Myung-Hun  <komh78@gmail.com>

	popen: Set gl_cv_func_popen_works to "guessing no" on OS/2.
	* doc/posix-functions/popen.texi: List OS/2 kLIBC case.
	* m4/popen.m4 (gl_FUNC_POPEN): Set gl_cv_func_popen_works to
	"guessing no" on OS/2.

2025-02-03  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Apply libgnu.{,l}a specific CFLAGS to all its object files.
	* gnulib-tool.sh (func_emit_initmacro_end): Define
	${macro_prefix}_${libname}_{LIBOBJS,LTLIBOBJS,LIBOBJDEPS} macros, that
	include libname in the base name of the object files.
	(func_emit_lib_Makefile_am): Use ${macro_prefix}_${libname}_*LIBOBJS
	values instead of ${macro_prefix}_*LIBOBJS values.
	* pygnulib/GLEmiter.py (GLEmiter.initmacro_end): Define
	{macro_prefix_arg}_{libname}_{LIBOBJS,LTLIBOBJS,LIBOBJDEPS} macros, that
	include libname in the base name of the object files.
	(GLEmiter.lib_Makefile_am):Use {macro_prefix}_{libname}_*LIBOBJS
	values instead of {macro_prefix}_*LIBOBJS values.

2025-01-26  Bruno Haible  <bruno@clisp.org>

	file-has-acl: Fix --with-libsmack option handling.
	* m4/acl.m4 (gl_FUNC_ACL_ARG): Add missing comma between macro
	arguments.

2025-01-24  Collin Funk  <collin.funk1@gmail.com>

	ptsname_r: Work around ptsname_r bug on Solaris 11 OmniOS.
	* lib/ptsname_r.c (ptsname_r): Ensure the resulting buffer is not
	clobbered if it is too small on Solaris 11 OmniOS.
	* m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): On Solaris 11 OmniOS, arrange to
	override ptsname_r.
	* doc/posix-functions/ptsname_r.texi: Document the bug.

2025-01-24  Collin Funk  <collin.funk1@gmail.com>

	strerrorname_np: Work around a bug on Solaris 11 OmniOS.
	* m4/strerrorname_np.m4 (gl_CHECK_STRERRORNAME_NP): Test if
	strerrorname_np returns NULL when given ERESTART or ESTRPIPE.
	* doc/glibc-functions/strerrorname_np.texi: Document the bug.

2025-01-24  Bruno Haible  <bruno@clisp.org>

	tests: Fix a few compilation errors on Solaris 11 OmniOS with gcc 14.
	* tests/test-accept.c: Omit the signature check on Solaris.
	* tests/test-gethostname.c: Likewise.
	* tests/test-getpeername.c: Likewise.
	* tests/test-getsockname.c: Likewise.
	* tests/test-getsockopt.c: Likewise.
	* tests/test-recvfrom.c: Likewise.
	* doc/posix-functions/accept.texi: Mention the Solaris 11 OmniOS
	problem.
	* doc/posix-functions/gethostname.texi: Likewise.
	* doc/posix-functions/getpeername.texi: Likewise.
	* doc/posix-functions/getsockname.texi: Likewise.
	* doc/posix-functions/getsockopt.texi: Likewise.
	* doc/posix-functions/recvfrom.texi: Likewise.

2025-01-23  Collin Funk  <collin.funk1@gmail.com>

	uchar-h-c23: Fix compilation error on OmniOS.
	* lib/lc-charset-unicode.c (locale_encoding_to_unicode)
	(unicode_to_locale_encoding): Cast the argument to iconv with
	ICONV_CONST.

2025-01-18  Paul Eggert  <eggert@cs.ucla.edu>

	flexmember: port to IBM XL C 16.1
	* lib/flexmember.h (FLEXALIGNOF): Use the conservative definition
	if _Alignof is a macro, to avoid a C99 conformance issue exposed
	by IBM XL C 16.1 which otherwise complains "An aggregate
	containing a flexible array member cannot be used as a member of a
	structure or as an array element."

2025-01-18  Paul Eggert  <eggert@cs.ucla.edu>

	alignasof: port to IBM XL C 16.1
	* doc/gnulib.texi (alignof):
	Improve doc to match implementation better.
	* m4/stdalign.m4 (alignas): Do not define to _Alignas
	if __xlC__ claims to conform to C11, because _Alignas fails with
	weird diagnostics "Unexpected text %1$s encountered."
	* tests/test-alignasof.c (TEST_ALIGNMENT, alignas):
	Follow doc advice.

2025-01-18  Collin Funk  <collin.funk1@gmail.com>

	renameatu: Work around a GNU/Hurd bug.
	* m4/renameat.m4 (gl_FUNC_RENAMEAT): Check if renameat2 handles trailing
	slashes.
	* doc/glibc-functions/renameat2.texi: Mention the GNU/Hurd bug.

2025-01-17  Paul Eggert  <eggert@cs.ucla.edu>

	alignasof: port to IBM XL C V16.1
	* m4/stdalign.m4 (gl_ALIGNASOF):
	Work around similar bug in IBM XL C V16.1.0 cc (non-clang).
	Since this is the last version of this obsolescent compiler,
	assume the bug is in earlier versions.

2025-01-17  Pádraig Brady  <P@draigBrady.com>

	Avoid -Wformat=security failures with --disable-nls
	This was noticed with GCC 14.
	* lib/xmemcoll.c: Always use format arguments.
	* lib/xprintf.c: Likewise.

2025-01-16  Paul Eggert  <eggert@cs.ucla.edu>

	crc-x86_64: fix unaligned access
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2025-01/msg00142.html
	* lib/crc.c (crc32_update_no_xor): Don’t pass unaligned buffer to
	crc32_update_no_xor_pclmul.  No doubt there is a higher
	performance fix, perhaps involving advancing byte-by-byte along
	the buffer until we get to an aligned boundary, but at least this
	should fix the alignment bug.

2025-01-16  Bruno Haible  <bruno@clisp.org>

	getopt-posix: Fix compilation error in C++ mode (regression 2024-09-21).
	Reported by G. Branden Robinson <g.branden.robinson@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2025-01/msg00135.html>.
	* lib/getopt-pfx-core.h: On several platforms, include <unistd.h> first.
	* modules/getopt-posix (Files): Add m4/musl.m4.
	(configure.ac): Invoke gl_MUSL_LIBC.

2025-01-16  Bruno Haible  <bruno@clisp.org>

	wchar_h: Fix for glibc 2.5.
	* lib/wchar.in.h (__need_wint_t): Clean up after including glibc's
	<wchar.h>.

2025-01-15  Pádraig Brady  <P@draigBrady.com>

	file-has-acl: handle listxattr returning ENOTSUP
	listxattr() was seen to return ENOTSUP on virtiofs,
	which resulted in ls outputting "Not supported" errors.
	* lib/file-has-acl.c (aclinfo_may_indicate_xattr): Treat any
	non valid acl errno as being inconclusive as to whether there
	are xattrs available.

2025-01-14  Bruno Haible  <bruno@clisp.org>

	assert-h: Fix compilation error with gcc >= 13 on Solaris 11.
	Reported by Pádraig Brady <P@draigBrady.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2025-01/msg00120.html>.
	* m4/assert_h.m4 (gl_ASSERT_H): Don't assume that on Solaris with gcc or
	clang, static_assert works: /usr/include/assert.h is in the way.

2025-01-12  Collin Funk  <collin.funk1@gmail.com>

	crc: Respect Automake's silent-rules.
	* modules/crc (Makefile.am): Add the $(AM_V_GEN) prefix before the
	command.

2025-01-12  Pádraig Brady  <P@draigBrady.com>

	progname: also set program_invocation_short_name
	* lib/progname.c (set_program_name): Keep program_invocation_name
	and program_invocation_short_name consistent.

2025-01-11  Pádraig Brady  <P@draigBrady.com>

	file-has-acl: handle NFSv4 ACLs with listxattr returning EACCES
	* lib/file-has-acl.c (has_xattr): A new helper function to
	lookup aclinfo for the xattr or fallback to getxattr() if appropriate.
	(get_aclinfo): Use has_xattr() rather than aclinfo_has_xattr().
	Discussed at <https://bugs.gnu.org/74692>

2025-01-11  Bruno Haible  <bruno@clisp.org>

	eealloc, malloca: Fix module dependencies.
	Reported by Miro Palmu <email@miropalmu.cc> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2025-01/msg00077.html>.
	* modules/eealloc (Depends-on): Add stdlib-h.
	* modules/malloca (Depends-on): Likewise.

	canonicalize: Fix module dependencies.
	Reported by Miro Palmu <email@miropalmu.cc> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2025-01/msg00077.html>.
	* modules/canonicalize (Depends-on): Add stdlib-h.

2025-01-09  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl: port to Linux 6.12 + NFS listxattr
	* lib/file-has-acl.c (get_aclinfo): Try the getxattr-related calls
	even if [l]listxattr fails with EACCES.  Problem reported by
	Pádraig Brady <https://bugs.gnu.org/74692#25>.  Also, treat E2BIG
	like EACCES.

2025-01-08  Paul Eggert  <eggert@cs.ucla.edu>

	fcntl-h: port better to musl on GNU/Linux
	* lib/fcntl.in.h (O_SEARCH): Redefine to O_RDONLY on musl,
	which mistakenly defines it to be O_PATH on GNU/Linux.
	Problem reported by Lasse Collin in:
	https://bugs.gnu.org/75405

2025-01-06  Collin Funk  <collin.funk1@gmail.com>

	servent tests: Fix failure on 32-bit native Windows.
	* tests/test-servent.c (getservbyname, getservbyport)
	[_WIN32 && !_WIN64 && !__CYGWIN__]: Disable signature check.
	* doc/posix-functions/getservbyname.texi: Document the incompatible
	__stdcall function signature.
	* doc/posix-functions/getservbyport.texi: Likewise.

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

	sigsegv tests: Work around a longjmp bug on GNU/Hurd.
	* tests/test-sigsegv-catch-stackoverflow1.c (_FORTIFY_SOURCE,
	__USE_FORTIFY_LEVEL): Undefine, as a workaround to the Hurd longjmp bug.
	* tests/test-sigsegv-catch-stackoverflow2.c (_FORTIFY_SOURCE,
	__USE_FORTIFY_LEVEL): Likewise.
	* doc/posix-functions/longjmp.texi: Document the Hurd bug.

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

	xstrtol, xstrtoll tests: Avoid test failure after 2024-07-25 change.
	* tests/test-xstrtol.c (main): Update expected test results regarding
	Cygwin 2.9.0.

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

	tests: Don't use module 'getcwd' as dependency.
	* modules/getcwd (Comment): New section.
	* modules/xgetcwd (Comment): Likewise.
	* modules/xgetcwd-lgpl: New file, based on modules/xgetcwd.
	* modules/chown-tests (Depends-on): Add xgetcwd-lgpl. Remove xgetcwd.
	* modules/fchownat-tests (Depends-on): Likewise.
	* modules/fdutimensat-tests (Depends-on): Likewise.
	* modules/futimens-tests (Depends-on): Likewise.
	* modules/lchown-tests (Depends-on): Likewise.
	* modules/stat-time-tests (Depends-on): Likewise.
	* modules/utime-tests (Depends-on): Likewise.
	* modules/utimens-tests (Depends-on): Likewise.
	* modules/utimensat-tests (Depends-on): Likewise.

2024-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	maint: update update-copyright for Emacs
	* build-aux/update-copyright: Add support for Emacs, which
	uses file names like Changelog.1 that are not man pages,
	and file names like emacs.1.in that are man page templates.

2024-12-31  Collin Funk  <collin.funk1@gmail.com>

	servent tests: Fix failure due to missing htons declaration.
	* modules/servent-tests (Depends-on): Add htonl.
	(Makefile.am): Link program to $(HTONL_LIB).
	* tests/test-servent.c (main): Fix formatting and typo.

	servent: Make sure netdb.h is generated.
	* modules/servent (Depends-on): Add netdb-h.

2024-12-31  Bruno Haible  <bruno@clisp.org>

	getcwd: Return "/bin" instead of "//bin" on Adélie Linux.
	Reported by Zach van Rijn <me@zv.io> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-04/msg00072.html>
	and <https://git.adelielinux.org/adelie/packages/-/issues/987>.
	* lib/getcwd.c (__getcwd_generic): Remove a trailing slash from the
	result of readlink().

2024-12-30  Collin Funk  <collin.funk1@gmail.com>

	servent: Add tests.
	* tests/test-servent.c: New file.
	* modules/servent-tests: New file.

2024-12-30  Bruno Haible  <bruno@clisp.org>

	mbfile: Support pushback characters also right before EOF.
	* lib/mbfile.h (mbfile_multi_getc): Read pushed-back character before
	testing for sticky EOF.
	* tests/test-mbfile.c (main): Test pushback at EOF.

	mbfile: Allow 2 pushback characters.
	* lib/mbfile.h: Include <stdlib.h>.
	(MBFILE_MAX_PUSHBACK): New macro.
	(struct mbfile_multi): Replace field 'have_pushback' with
	'pushback_count'. Make field 'pushback' an array.
	(mbfile_multi_getc, mbfile_multi_ungetc): Handle multiple pushback
	characters.
	(mbf_init): Update.

2024-12-30  Bruno Haible  <bruno@clisp.org>

	bcp47: Handle language variants.
	Reported by Balló György <ballogyor@gmail.com> at
	<https://savannah.gnu.org/bugs/?66620>.
	* lib/bcp47.c (xpg_to_bcp47, bcp47_to_xpg): Handle variants.
	* tests/test-bcp47.c (main): Test a regional variant.

2024-12-30  Bruno Haible  <bruno@clisp.org>

	doc: Revisit some index entries.
	* doc/attribute.texi: Refer to the 'attribute' module.
	* doc/verify.texi: Refer to the 'verify' module.
	* doc/noreturn.texi: Remove duplicate index entries.

2024-12-30  Bruno Haible  <bruno@clisp.org>

	doc: Document the 'inline' module.
	* doc/static-inline.texi: Document the 'inline' module.
	* m4/inline.m4: Fix comment.

2024-12-30  Bruno Haible  <bruno@clisp.org>

	signal: Deprecate old stub module.
	* modules/signal: Mark as deprecated.

2024-12-29  Bruno Haible  <bruno@clisp.org>

	qsort_r: Update documentation.
	* modules/qsort_r (Description): Say "POSIX signature".
	* doc/posix-functions/qsort_r.texi: Mention the qsort_r module.

2024-12-29  Pádraig Brady  <P@draigBrady.com>

	git-version-gen: reinstate executable permission
	* build-aux/git-version-gen: chmod a+x

2024-12-29  Bruno Haible  <bruno@clisp.org>

	sig2str: Document a portability problem.
	* doc/posix-functions/sig2str.texi: Document IRIX problem.
	* doc/posix-functions/str2sig.texi: Likewise.

2024-12-29  Bruno Haible  <bruno@clisp.org>

	doc: Document the advanced FILE stream functions.
	* doc/stdioext.texi: New file.
	* doc/gnulib.texi (Particular Modules): Include it.

2024-12-29  Collin Funk  <collin.funk1@gmail.com>

	signal-h tests: Check that SIG2STR_MAX is properly defined.
	* modules/signal-h-tests (Depends-on): Add assert-h.
	* tests/test-signal-h.c: Check that SIG2STR_MAX is defined to a
	positive integer.

	sig2str tests: Add signature check.
	* modules/sig2str-tests (Files): Add tests/signature.h.
	* tests/test-sig2str.c: Include signal.h instead of sig2str.h. Check the
	function signature of sig2str and str2sig.

2024-12-29  Bruno Haible  <bruno@clisp.org>

	doc: Document the modules for containers.
	* doc/containers.texi: Document the modules for each container data
	type.

2024-12-29  Bruno Haible  <bruno@clisp.org>

	doc: Omit internal modules from the "Undocumented modules" index.
	* doc/internal-modules: New file.
	* doc/Makefile (undocumented-modules.texi): Filter out the internal
	modules.

2024-12-28  Collin Funk  <collin.funk1@gmail.com>

	doc: Add missing module index.
	Suggested by Bruno Haible in:
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-12/msg00240.html>.
	* doc/posix-functions/getservbyname.texi (getservbyname): Add module
	index.
	* doc/posix-functions/getservbyport.texi (getservbyport): Likewise.

	doc: Fix the previous commit.
	Suggested by Bruno Haible in:
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-12/msg00236.html>.
	* doc/posix-functions/getservbyname.texi: Mention the Windows
	declaration under "Portability problems fixed by Gnulib".
	* doc/posix-functions/getservbyport.texi: Likewise.

	doc: Mention the servent module.
	* doc/posix-functions/getservbyname.texi: Document that the servent
	module will provide the declarations in netdb.h.
	* doc/posix-functions/getservbyport.texi: Likewise.

2024-12-28  Simon Josefsson  <simon@josefsson.org>

	git-version-gen: avoid use of grep, suggested by Jim Meyering.
	* build-aux/git-version-gen: Use /bin/sh case instead.

2024-12-28  Simon Josefsson  <simon@josefsson.org>

	git-version-gen: fix preceding change
	* build-aux/git-version-gen: Do use *-git content only when
	keyword is not present.  Move post-processing later.  Doc fixes.

2024-12-28  Bruno Haible  <bruno@clisp.org>

	doc: Omit deprecated modules from the "Undocumented modules" index.
	* doc/Makefile (undocumented-modules.texi): Filter out the deprecated
	modules.

2024-12-28  Simon Josefsson  <simon@josefsson.org>

	maintainer-makefile: Improve gnulib-version derivation.
	* top/maint.mk (gnulib-version): Use git only when possible,
	falling back to GNULIB_REVISION or ChangeLog date otherwise.  Use
	consistent full identifier.

2024-12-28  Simon Josefsson  <simon@josefsson.org>

	announce-gen: Support VPATH builds better.
	* build-aux/announce-gen: Pass -C$srcdir to git.

2024-12-28  Bruno Haible  <bruno@clisp.org>

	endian: Fix link error on CentOS 5.
	* m4/endian_h.m4 (gl_ENDIAN_H): Use AC_LINK_IFELSE, not
	AC_COMPILE_IFELSE.

2024-12-28  Jim Meyering  <meyering@meta.com>

	git-version-gen: fix preceding change
	* build-aux/git-version-gen: Use the contents of the -git file
	when its first line has the proper form (fixing a reversed test).
	Also, reference the file only once, rather than three times.
	Also, double quote $tarball_version_file in preexisting code.

2024-12-28  Bruno Haible  <bruno@clisp.org>

	file-has-acl: Fix compilation error on CentOS 6 (regression 2024-09-29).
	* lib/file-has-acl.c (XATTR_NAME_SMACK, XATTR_NAME_SELINUX): Add
	fallback definitions.

2024-12-28  Bruno Haible  <bruno@clisp.org>

	assert-h, verify: Make static_assert work in C++ mode on FreeBSD 11.
	* lib/verify.h (static_assert): Override when using old versions of
	clang++.

2024-12-28  Bruno Haible  <bruno@clisp.org>

	endian: Fix compilation error on NetBSD 7.1.
	* m4/endian_h.m4 (gl_ENDIAN_H): Test for <sys/endian.h>. Set
	HAVE_SYS_ENDIAN_H.
	* lib/endian.in.h: Test HAVE_SYS_ENDIAN_H as an alternative to
	HAVE_ENDIAN_H.
	* modules/endian (Makefile.am): Substitute HAVE_SYS_ENDIAN_H.

2024-12-28  Bruno Haible  <bruno@clisp.org>

	wchar-h: Fix wcrtomb prototype conflict in C++ mode on OpenBSD 6.0.
	* lib/wchar.in.h (rpl_mbstate_t): Don't define on OpenBSD.

2024-12-28  Bruno Haible  <bruno@clisp.org>

	stack-trace: Fix compilation errors on older BSD systems.
	* m4/stack-trace.m4 (gl_STACK_TRACE_EARLY): Test whether we can link
	with libexecinfo before modifying LIBS.

2024-12-28  Bruno Haible  <bruno@clisp.org>

	Rename module stdbool-h to bool.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-12/msg00193.html>.
	* modules/bool: Renamed from modules/stdbool-h.
	* modules/bool-tests: Renamed from modules/stdbool-h-tests.
	* modules/bool-c++-tests: Renamed from modules/stdbool-h-c++-tests.
	* tests/test-bool.c: Renamed from tests/test-stdbool-h.c.
	* tests/test-bool-c++.cc: Renamed from tests/test-stdbool-h-c++.cc.
	* tests/test-bool-c++2.cc: Renamed from tests/test-stdbool-h-c++2.cc.
	* modules/stdbool-h-c99-tests: Update.
	* modules/stdbool-h-c99-c++-tests: Update.
	* tests/test-stdbool-h-c99.c: Update.
	* tests/test-stdbool-h-c99-c++.cc: Update.
	* doc/posix-headers/stdbool.texi: Update.
	* doc/gnulib-readme.texi: Update.
	* doc/gnulib.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/stdbool: Update.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module wchar to wchar-h.
	* modules/wchar-h: Renamed from modules/wchar.
	* modules/wchar-h-tests: Renamed from modules/wchar-tests.
	* modules/wchar-h-c++-tests: Renamed from modules/wchar-c++-tests.
	* tests/test-wchar-h.c: Renamed from tests/test-wchar.c.
	* tests/test-wchar-h-c++.cc: Renamed from tests/test-wchar-c++.cc.
	* tests/test-wchar-h-c++2.cc: Renamed from tests/test-wchar-c++2.cc.
	* tests/test-wchar-h-c++3.cc: Renamed from tests/test-wchar-c++3.cc.
	* doc/posix-headers/wchar.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/wchar: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module utmp to utmp-h.
	* modules/utmp-h: Renamed from modules/utmp.
	* modules/utmp-h-tests: Renamed from modules/utmp-tests.
	* modules/utmp-h-c++-tests: Renamed from modules/utmp-c++-tests.
	* tests/test-utmp-h.c: Renamed from tests/test-utmp.c.
	* tests/test-utmp-h-c++.cc: Renamed from tests/test-utmp-c++.cc.
	* doc/posix-headers/utmp.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/utmp: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module unitypes to unitypes-h.
	* modules/unitypes-h: Renamed from modules/unitypes.
	* doc/libunistring.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/unitypes: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module unistd to unistd-h.
	* modules/unistd-h: Renamed from modules/unistd.
	* modules/unistd-h-tests: Renamed from modules/unistd-tests.
	* modules/unistd-h-c++-tests: Renamed from modules/unistd-c++-tests.
	* tests/test-unistd-h.c: Renamed from tests/test-unistd.c.
	* tests/test-unistd-h-c++.cc: Renamed from tests/test-unistd-c++.cc.
	* doc/posix-headers/unistd.texi: Update.
	* doc/posix-functions/_exit.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/unistd: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module uchar-c23 to uchar-h-c23.
	* modules/uchar-h-c23: Renamed from modules/uchar-c23.
	* lib/uchar.in.h: Update.
	* doc/posix-headers/uchar.texi: Update.
	* doc/posix-functions/mbrtoc32.texi: Update.
	* doc/strings.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/uchar-c23: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module uchar to uchar-h.
	* modules/uchar-h: Renamed from modules/uchar.
	* modules/uchar-h-tests: Renamed from modules/uchar-tests.
	* modules/uchar-h-c++-tests: Renamed from modules/uchar-c++-tests.
	* tests/test-uchar-h.c: Renamed from tests/test-uchar.c.
	* tests/test-uchar-h-c++.cc: Renamed from tests/test-uchar-c++.cc.
	* tests/test-uchar-h-c++2.cc: Renamed from tests/test-uchar-c++2.cc.
	* doc/posix-headers/uchar.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/uchar: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module termios to termios-h.
	* modules/termios-h: Renamed from modules/termios.
	* modules/termios-h-tests: Renamed from modules/termios-tests.
	* modules/termios-h-c++-tests: Renamed from modules/termios-c++-tests.
	* tests/test-termios-h.c: Renamed from tests/test-termios.c.
	* tests/test-termios-h-c++.cc: Renamed from tests/test-termios-c++.cc.
	* doc/posix-headers/termios.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/termios: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_wait to sys_wait-h.
	* modules/sys_wait-h: Renamed from modules/sys_wait.
	* modules/sys_wait-h-tests: Renamed from modules/sys_wait-tests.
	* modules/sys_wait-h-c++-tests: Renamed from modules/sys_wait-c++-tests.
	* tests/test-sys_wait-h.h: Renamed from tests/test-sys_wait.h.
	* tests/test-sys_wait-h.c: Renamed from tests/test-sys_wait.c.
	* tests/test-stdlib-h.c: Update.
	* tests/test-sys_wait-h-c++.cc: Renamed from tests/test-sys_wait-c++.cc.
	* doc/posix-headers/sys_wait.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sys_wait: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_utsname to sys_utsname-h.
	* modules/sys_utsname-h: Renamed from modules/sys_utsname.
	* modules/sys_utsname-h-tests: Renamed from modules/sys_utsname-tests.
	* modules/sys_utsname-h-c++-tests: Renamed from
	modules/sys_utsname-c++-tests.
	* tests/test-sys_utsname-h.c: Renamed from tests/test-sys_utsname.c.
	* tests/test-sys_utsname-h-c++.cc: Renamed from
	tests/test-sys_utsname-c++.cc.
	* doc/posix-headers/sys_utsname.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sys_utsname: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_un to sys_un-h.
	* modules/sys_un-h: Renamed from modules/sys_un.
	* modules/sys_un-h-tests: Renamed from modules/sys_un-tests.
	* modules/sys_un-h-c++-tests: Renamed from modules/sys_un-c++-tests.
	* tests/test-sys_un-h.c: Renamed from tests/test-sys_un.c.
	* tests/test-sys_un-h-c++.cc: Renamed from tests/test-sys_un-c++.cc.
	* doc/posix-headers/sys_un.texi: Update.
	* modules/sys_un: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_uio to sys_uio-h.
	* modules/sys_uio-h: Renamed from modules/sys_uio.
	* modules/sys_uio-h-tests: Renamed from modules/sys_uio-tests.
	* modules/sys_uio-h-c++-tests: Renamed from modules/sys_uio-c++-tests.
	* tests/test-sys_uio-h.c: Renamed from tests/test-sys_uio.c.
	* tests/test-sys_uio-h-c++.cc: Renamed from tests/test-sys_uio-c++.cc.
	* doc/posix-headers/sys_uio.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sys_uio: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_types to sys_types-h.
	* modules/sys_types-h: Renamed from modules/sys_types.
	* modules/sys_types-h-tests: Renamed from modules/sys_types-tests.
	* modules/sys_types-h-c++-tests: Renamed from
	modules/sys_types-c++-tests.
	* tests/test-sys_types-h.c: Renamed from tests/test-sys_types.c.
	* tests/test-sys_types-h-c++.cc: Renamed from
	tests/test-sys_types-c++.cc.
	* doc/posix-headers/sys_types.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sys_types: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_times to sys_times-h.
	* modules/sys_times-h: Renamed from modules/sys_times.
	* modules/sys_times-h-tests: Renamed from modules/sys_times-tests.
	* modules/sys_times-h-c++-tests: Renamed from
	modules/sys_times-c++-tests.
	* tests/test-sys_times-h.c: Renamed from tests/test-sys_times.c.
	* tests/test-sys_times-h-c++.cc: Renamed from
	tests/test-sys_times-c++.cc.
	* doc/posix-headers/sys_times.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sys_times: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_time to sys_time-h.
	* modules/sys_time-h: Renamed from modules/sys_time.
	* modules/sys_time-h-tests: Renamed from modules/sys_time-tests.
	* modules/sys_time-h-c++-tests: Renamed from modules/sys_time-c++-tests.
	* tests/test-sys_time-h.c: Renamed from tests/test-sys_time.c.
	* tests/test-sys_time-h-c++.cc: Renamed from tests/test-sys_time-c++.cc.
	* doc/posix-headers/sys_time.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sys_time: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_stat to sys_stat-h.
	* modules/sys_stat-h: Renamed from modules/sys_stat.
	* modules/sys_stat-h-tests: Renamed from modules/sys_stat-tests.
	* modules/sys_stat-h-c++-tests: Renamed from modules/sys_stat-c++-tests.
	* tests/test-sys_stat-h.c: Renamed from tests/test-sys_stat.c.
	* tests/test-sys_stat-h-c++.cc: Renamed from tests/test-sys_stat-c++.cc.
	* doc/posix-headers/sys_stat.texi: Update.
	* doc/posix-functions/mkdir.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sys_stat: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_socket to sys_socket-h.
	* modules/sys_socket-h: Renamed from modules/sys_socket.
	* modules/sys_socket-h-tests: Renamed from modules/sys_socket-tests.
	* modules/sys_socket-h-c++-tests: Renamed from
	modules/sys_socket-c++-tests.
	* tests/test-sys_socket-h.c: Renamed from tests/test-sys_socket.c.
	* tests/test-sys_socket-h-c++.cc: Renamed from
	tests/test-sys_socket-c++.cc.
	* doc/posix-headers/sys_socket.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sys_socket: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_shm to sys_shm-h.
	* modules/sys_shm-h: Renamed from modules/sys_shm.
	* doc/posix-headers/sys_shm.texi: Update.
	* modules/sys_shm: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_sem to sys_sem-h.
	* modules/sys_sem-h: Renamed from modules/sys_sem.
	* doc/posix-headers/sys_sem.texi: Update.
	* modules/sys_sem: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_select to sys_select-h.
	* modules/sys_select-h: Renamed from modules/sys_select.
	* modules/sys_select-h-tests: Renamed from modules/sys_select-tests.
	* modules/sys_select-h-c++-tests: Renamed from
	modules/sys_select-c++-tests.
	* tests/test-sys_select-h.c: Renamed from tests/test-sys_select.c.
	* tests/test-sys_select-h-c++.cc: Renamed from
	tests/test-sys_select-c++.cc.
	* doc/posix-headers/sys_select.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sys_select: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_resource to sys_resource-h.
	* modules/sys_resource-h: Renamed from modules/sys_resource.
	* modules/sys_resource-h-tests: Renamed from modules/sys_resource-tests.
	* modules/sys_resource-h-c++-tests: Renamed from
	modules/sys_resource-c++-tests.
	* tests/test-sys_resource-h.c: Renamed from tests/test-sys_resource.c.
	* tests/test-sys_resource-h-c++.cc: Renamed from
	tests/test-sys_resource-c++.cc.
	* doc/posix-headers/sys_resource.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sys_resource: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_random to sys_random-h.
	* modules/sys_random-h: Renamed from modules/sys_random.
	* modules/sys_random-h-tests: Renamed from modules/sys_random-tests.
	* modules/sys_random-h-c++-tests: Renamed from
	modules/sys_random-c++-tests.
	* tests/test-sys_random-h.c: Renamed from tests/test-sys_random.c.
	* tests/test-sys_random-h-c++.cc: Renamed from
	tests/test-sys_random-c++.cc.
	* doc/glibc-headers/sys_random.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sys_random: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_msg to sys_msg-h.
	* modules/sys_msg-h: Renamed from modules/sys_msg.
	* doc/posix-headers/sys_msg.texi: Update.
	* modules/sys_msg: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_ioctl to sys_ioctl-h.
	* modules/sys_ioctl-h: Renamed from modules/sys_ioctl.
	* modules/sys_ioctl-h-tests: Renamed from modules/sys_ioctl-tests.
	* modules/sys_ioctl-h-c++-tests: Renamed from
	modules/sys_ioctl-c++-tests.
	* tests/test-sys_ioctl-h.c: Renamed from tests/test-sys_ioctl.c.
	* tests/test-sys_ioctl-h-c++.cc: Renamed from
	tests/test-sys_ioctl-c++.cc.
	* doc/glibc-headers/sys_ioctl.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sys_ioctl: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sys_file to sys_file-h.
	* modules/sys_file-h: Renamed from modules/sys_file.
	* modules/sys_file-h-tests: Renamed from modules/sys_file-tests.
	* modules/sys_file-h-c++-tests: Renamed from modules/sys_file-c++-tests.
	* tests/test-sys_file-h.c: Renamed from tests/test-sys_file.c.
	* tests/test-sys_file-h-c++.cc: Renamed from tests/test-sys_file-c++.cc.
	* doc/glibc-headers/sys_file.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sys_file: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sysexits to sysexits-h.
	* modules/sysexits-h: Renamed from modules/sysexits.
	* modules/sysexits-h-tests: Renamed from modules/sysexits-tests.
	* modules/sysexits-h-c++-tests: Renamed from modules/sysexits-c++-tests.
	* tests/test-sysexits-h.c: Renamed from tests/test-sysexits.c.
	* tests/test-sysexits-h-c++.cc: Renamed from tests/test-sysexits-c++.cc.
	* doc/glibc-headers/sysexits.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sysexits: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module strings to strings-h.
	* modules/strings-h: Renamed from modules/strings.
	* modules/strings-h-tests: Renamed from modules/strings-tests.
	* modules/strings-h-c++-tests: Renamed from modules/strings-c++-tests.
	* tests/test-strings-h.c: Renamed from tests/test-strings.c.
	* tests/test-strings-h-c++.cc: Renamed from tests/test-strings-c++.cc.
	* doc/posix-headers/strings.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/strings: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module string to string-h.
	* modules/string-h: Renamed from modules/string.
	* modules/string-h-tests: Renamed from modules/string-tests.
	* modules/string-h-c++-tests: Renamed from modules/string-c++-tests.
	* tests/test-string-h.c: Renamed from tests/test-string.c.
	* tests/test-string-h-c++.cc: Renamed from tests/test-string-c++.cc.
	* tests/test-string-h-c++2.cc: Renamed from tests/test-string-c++2.cc.
	* doc/posix-headers/string.texi: Update.
	* doc/posix-functions/strcat.texi: Update.
	* doc/posix-functions/strcpy.texi: Update.
	* doc/posix-functions/strncpy.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/string: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module stdnoreturn to stdnoreturn-h.
	* modules/stdnoreturn-h: Renamed from modules/stdnoreturn.
	* modules/stdnoreturn-h-tests: Renamed from modules/stdnoreturn-tests.
	* tests/test-stdnoreturn-h.c: Renamed from tests/test-stdnoreturn.c.
	* doc/posix-headers/stdnoreturn.texi: Update.
	* doc/noreturn.texi: Update.
	* modules/stdnoreturn: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module stdlib to stdlib-h.
	* modules/stdlib-h: Renamed from modules/stdlib.
	* modules/stdlib-h-tests: Renamed from modules/stdlib-tests.
	* modules/stdlib-h-c++-tests: Renamed from modules/stdlib-c++-tests.
	* tests/test-stdlib-h.c: Renamed from tests/test-stdlib.c.
	* tests/test-stdlib-h-c++.cc: Renamed from tests/test-stdlib-c++.cc.
	* tests/test-stdlib-h-c++2.cc: Renamed from tests/test-stdlib-c++2.cc.
	* doc/posix-headers/stdlib.texi: Update.
	* doc/posix-functions/exit.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/stdlib: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module stdio to stdio-h.
	* modules/stdio-h: Renamed from modules/stdio.
	* modules/stdio-h-tests: Renamed from modules/stdio-tests.
	* modules/stdio-h-c++-tests: Renamed from modules/stdio-c++-tests.
	* tests/test-stdio-h.c: Renamed from tests/test-stdio.c.
	* tests/test-stdio-h-c++.cc: Renamed from tests/test-stdio-c++.cc.
	* tests/test-stdio-h-c++2.cc: Renamed from tests/test-stdio-c++2.cc.
	* doc/posix-headers/stdio.texi: Update.
	* doc/posix-functions/fgetc.texi: Update.
	* doc/posix-functions/fgets.texi: Update.
	* doc/posix-functions/fprintf.texi: Update.
	* doc/posix-functions/fputc.texi: Update.
	* doc/posix-functions/fputs.texi: Update.
	* doc/posix-functions/fread.texi: Update.
	* doc/posix-functions/fscanf.texi: Update.
	* doc/posix-functions/fwrite.texi: Update.
	* doc/posix-functions/getc.texi: Update.
	* doc/posix-functions/getchar.texi: Update.
	* doc/posix-functions/printf.texi: Update.
	* doc/posix-functions/putc.texi: Update.
	* doc/posix-functions/putchar.texi: Update.
	* doc/posix-functions/puts.texi: Update.
	* doc/posix-functions/read.texi: Update.
	* doc/posix-functions/scanf.texi: Update.
	* doc/posix-functions/vfprintf.texi: Update.
	* doc/posix-functions/vprintf.texi: Update.
	* doc/posix-functions/write.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/stdio: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module stdint to stdint-h.
	* modules/stdint-h: Renamed from modules/stdint.
	* modules/stdint-h-tests: Renamed from modules/stdint-tests.
	* modules/stdint-h-c++-tests: Renamed from modules/stdint-c++-tests.
	* tests/test-stdint-h.c: Renamed from tests/test-stdint.c.
	* tests/test-stdint-h-c++.cc: Renamed from tests/test-stdint-c++.cc.
	* tests/test-stdint-h-c++2.cc: Renamed from tests/test-stdint-c++2.cc.
	* doc/posix-headers/stdint.texi: Update.
	* doc/gnulib-readme.texi: Update.
	* doc/gnulib.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/stdint: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module stddef to stddef-h.
	* modules/stddef-h: Renamed from modules/stddef.
	* modules/stddef-h-tests: Renamed from modules/stddef-tests.
	* modules/stddef-h-c++-tests: Renamed from modules/stddef-c++-tests.
	* tests/test-stddef-h.c: Renamed from tests/test-stddef.c.
	* tests/test-stddef-h-c++.cc: Renamed from tests/test-stddef-c++.cc.
	* tests/test-stddef-h-c++2.cc: Renamed from tests/test-stddef-c++2.cc.
	* doc/posix-headers/stddef.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/stddef: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module stdckdint to stdckdint-h.
	* modules/stdckdint-h: Renamed from modules/stdckdint.
	* modules/stdckdint-h-tests: Renamed from modules/stdckdint-tests.
	* modules/stdckdint-h-c++-tests: Renamed from
	modules/stdckdint-c++-tests.
	* tests/test-stdckdint-h.c: Renamed from tests/test-stdckdint.c.
	* tests/test-stdckdint-h-c++.cc: Renamed from
	tests/test-stdckdint-c++.cc.
	* doc/posix-headers/stdckdint.texi: Update.
	* doc/intprops.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/stdckdint: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module stdbool to stdbool-h.
	* modules/stdbool-h: Renamed from modules/stdbool.
	* modules/stdbool-h-tests: Renamed from modules/stdbool-tests.
	* modules/stdbool-h-c++-tests: Renamed from modules/stdbool-c++-tests.
	* tests/test-stdbool-h.c: Renamed from tests/test-stdbool.c.
	* tests/test-stdbool-h-c++.cc: Renamed from tests/test-stdbool-c++.cc.
	* tests/test-stdbool-h-c++2.cc: Renamed from tests/test-stdbool-c++2.cc.
	* tests/test-stdbool-h-c99.c: Update.
	* tests/test-stdbool-h-c99-c++.cc: Update.
	* doc/posix-headers/stdbool.texi: Update.
	* doc/gnulib-readme.texi: Update.
	* doc/gnulib.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/stdbool: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module stdbool-c99 to stdbool-h-c99.
	* modules/stdbool-h-c99: Renamed from modules/stdbool-c99.
	* modules/stdbool-h-c99-tests: Renamed from modules/stdbool-c99-tests.
	* modules/stdbool-h-c99-c++-tests: Renamed from
	modules/stdbool-c99-c++-tests.
	* tests/test-stdbool-h-c99.c: Renamed from tests/test-stdbool-c99.c.
	* tests/test-stdbool-h-c99-c++.cc: Renamed from
	tests/test-stdbool-c99-c++.cc.
	* doc/posix-headers/stdbool.texi: Update.
	* modules/stdbool-c99: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module stdarg to stdarg-h.
	* modules/stdarg-h: Renamed from modules/stdarg.
	* modules/stdarg-h-tests: Renamed from modules/stdarg-tests.
	* modules/stdarg-h-c++-tests: Renamed from modules/stdarg-c++-tests.
	* tests/test-stdarg-h-c++.cc: Renamed from tests/test-stdarg-c++.cc.
	* tests/test-stdarg-h-c++2.cc: Renamed from tests/test-stdarg-c++2.cc.
	* doc/posix-headers/stdarg.texi: Update.
	* doc/posix-functions/va_copy.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/stdarg: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module stdalign to stdalign-h.
	* modules/stdalign-h: Renamed from modules/stdalign.
	* modules/stdalign-h-tests: Renamed from modules/stdalign-tests.
	* modules/stdalign-h-c++-tests: Renamed from modules/stdalign-c++-tests.
	* tests/test-stdalign-h-c++.cc: Renamed from tests/test-stdalign-c++.cc.
	* doc/posix-headers/stdalign.texi: Update.
	* modules/stdalign: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module spawn to spawn-h.
	* modules/spawn-h: Renamed from modules/spawn.
	* modules/spawn-h-tests: Renamed from modules/spawn-tests.
	* modules/spawn-h-c++-tests: Renamed from modules/spawn-c++-tests.
	* tests/test-spawn-h.c: Renamed from tests/test-spawn.c.
	* tests/test-spawn-h-c++.cc: Renamed from tests/test-spawn-c++.cc.
	* doc/posix-headers/spawn.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/spawn: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module search to search-h.
	* modules/search-h: Renamed from modules/search.
	* modules/search-h-tests: Renamed from modules/search-tests.
	* modules/search-h-c++-tests: Renamed from modules/search-c++-tests.
	* tests/test-search-h.c: Renamed from tests/test-search.c.
	* tests/test-search-h-c++.cc: Renamed from tests/test-search-c++.cc.
	* doc/posix-headers/search.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/search: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module sched to sched-h.
	* modules/sched-h: Renamed from modules/sched.
	* modules/sched-h-tests: Renamed from modules/sched-tests.
	* modules/sched-h-c++-tests: Renamed from modules/sched-c++-tests.
	* tests/test-sched-h.c: Renamed from tests/test-sched.c.
	* tests/test-sched-h-c++.cc: Renamed from tests/test-sched-c++.cc.
	* doc/posix-headers/sched.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/sched: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module pty to pty-h.
	* modules/pty-h: Renamed from modules/pty.
	* modules/pty-h-tests: Renamed from modules/pty-tests.
	* modules/pty-h-c++-tests: Renamed from modules/pty-c++-tests.
	* tests/test-pty-h.c: Renamed from tests/test-pty.c.
	* tests/test-pty-h-c++.cc: Renamed from tests/test-pty-c++.cc.
	* doc/glibc-headers/pty.texi: Update.
	* doc/gnulib-intro.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/pty: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module netinet_in to netinet_in-h.
	* modules/netinet_in-h: Renamed from modules/netinet_in.
	* modules/netinet_in-h-tests: Renamed from modules/netinet_in-tests.
	* modules/netinet_in-h-c++-tests: Renamed from
	modules/netinet_in-c++-tests.
	* tests/test-netinet_in-h.c: Renamed from tests/test-netinet_in.c.
	* tests/test-netinet_in-h-c++.cc: Renamed from
	tests/test-netinet_in-c++.cc.
	* doc/posix-headers/netinet_in.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/netinet_in: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module net_if to net_if-h.
	* modules/net_if-h: Renamed from modules/net_if.
	* modules/net_if-h-tests: Renamed from modules/net_if-tests.
	* modules/net_if-h-c++-tests: Renamed from modules/net_if-c++-tests.
	* tests/test-net_if-h.c: Renamed from tests/test-net_if.c.
	* tests/test-net_if-h-c++.cc: Renamed from tests/test-net_if-c++.cc.
	* doc/posix-headers/net_if.texi: Update.
	* modules/net_if: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module netdb to netdb-h.
	* modules/netdb-h: Renamed from modules/netdb.
	* modules/netdb-h-tests: Renamed from modules/netdb-tests.
	* modules/netdb-h-c++-tests: Renamed from modules/netdb-c++-tests.
	* tests/test-netdb-h.c: Renamed from tests/test-netdb.c.
	* tests/test-netdb-h-c++.cc: Renamed from tests/test-netdb-c++.cc.
	* doc/posix-headers/netdb.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/netdb: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module monetary to monetary-h.
	* modules/monetary-h: Renamed from modules/monetary.
	* modules/monetary-h-tests: Renamed from modules/monetary-tests.
	* modules/monetary-h-c++-tests: Renamed from modules/monetary-c++-tests.
	* tests/test-monetary-h.c: Renamed from tests/test-monetary.c.
	* tests/test-monetary-h-c++.cc: Renamed from tests/test-monetary-c++.cc.
	* doc/posix-headers/monetary.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/monetary: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module mntent to mntent-h.
	* modules/mntent-h: Renamed from modules/mntent.
	* doc/glibc-headers/mntent.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/mntent: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module math to math-h.
	* modules/math-h: Renamed from modules/math.
	* modules/math-h-tests: Renamed from modules/math-tests.
	* modules/math-h-c++-tests: Renamed from modules/math-c++-tests.
	* tests/test-math-h.c: Renamed from tests/test-math.c.
	* tests/test-math-h-c++.cc: Renamed from tests/test-math-c++.cc.
	* tests/test-math-h-c++2.cc: Renamed from tests/test-math-c++2.cc.
	* doc/posix-headers/math.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/math: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module locale to locale-h.
	* modules/locale-h: Renamed from modules/locale.
	* modules/locale-h-tests: Renamed from modules/locale-tests.
	* modules/locale-h-c++-tests: Renamed from modules/locale-c++-tests.
	* tests/test-locale-h.c: Renamed from tests/test-locale.c.
	* tests/test-locale-h-c++.cc: Renamed from tests/test-locale-c++.cc.
	* tests/test-locale-h-c++2.cc: Renamed from tests/test-locale-c++2.cc.
	* doc/posix-headers/locale.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/locale: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module langinfo to langinfo-h.
	* modules/langinfo-h: Renamed from modules/langinfo.
	* modules/langinfo-h-tests: Renamed from modules/langinfo-tests.
	* modules/langinfo-h-c++-tests: Renamed from modules/langinfo-c++-tests.
	* tests/test-langinfo-h.c: Renamed from tests/test-langinfo.c.
	* tests/test-langinfo-h-c++.cc: Renamed from tests/test-langinfo-c++.cc.
	* doc/posix-headers/langinfo.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/langinfo: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module inttypes to inttypes-h.
	* modules/inttypes-h: Renamed from modules/inttypes.
	* modules/inttypes-h-tests: Renamed from modules/inttypes-tests.
	* modules/inttypes-h-c++-tests: Renamed from modules/inttypes-c++-tests.
	* tests/test-inttypes-h.c: Renamed from tests/test-inttypes.c.
	* tests/test-inttypes-h-c++.cc: Renamed from tests/test-inttypes-c++.cc.
	* tests/test-inttypes-h-c++2.cc: Renamed from tests/test-inttypes-c++2.cc.
	* doc/posix-headers/inttypes.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/inttypes: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module inttypes-incomplete to inttypes-h-incomplete.
	* modules/inttypes-h-incomplete: Renamed from
	modules/inttypes-incomplete.
	* modules/* (Depends-on): Update.
	* modules/inttypes-incomplete: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module float to float-h.
	* modules/float-h: Renamed from modules/float.
	* modules/float-h-tests: Renamed from modules/float-tests.
	* modules/float-h-c++-tests: Renamed from modules/float-c++-tests.
	* tests/test-float-h.c: Renamed from tests/test-float.c.
	* tests/test-float-h-c++.cc: Renamed from tests/test-float-c++.cc.
	* tests/test-float-h-c++2.cc: Renamed from tests/test-float-c++2.cc.
	* doc/posix-headers/float.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/float: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module fenv to fenv-h.
	* modules/fenv-h: Renamed from modules/fenv.
	* modules/fenv-h-tests: Renamed from modules/fenv-tests.
	* modules/fenv-h-c++-tests: Renamed from modules/fenv-c++-tests.
	* tests/test-fenv-h.c: Renamed from tests/test-fenv.c.
	* tests/test-fenv-h-c++.cc: Renamed from tests/test-fenv-c++.cc.
	* doc/posix-headers/fenv.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/fenv: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module errno to errno-h.
	* modules/errno-h: Renamed from modules/errno.
	* modules/errno-h-tests: Renamed from modules/errno-tests.
	* modules/errno-h-c++-tests: Renamed from modules/errno-c++-tests.
	* tests/test-errno-h.c: Renamed from tests/test-errno.c.
	* tests/test-errno-h-c++.cc: Renamed from tests/test-errno-c++.cc.
	* tests/test-errno-h-c++2.cc: Renamed from tests/test-errno-c++2.cc.
	* doc/posix-headers/errno.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/errno: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module dirent to dirent-h.
	* modules/dirent-h: Renamed from modules/dirent.
	* modules/dirent-h-tests: Renamed from modules/dirent-tests.
	* modules/dirent-h-c++-tests: Renamed from modules/dirent-c++-tests.
	* tests/test-dirent-h.c: Renamed from tests/test-dirent.c.
	* tests/test-dirent-h-c++.cc: Renamed from tests/test-dirent-c++.cc.
	* doc/posix-headers/dirent.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/dirent: New file.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Rename module arpa_inet to arpa_inet-h.
	* modules/arpa_inet-h: Renamed from modules/arpa_inet.
	* modules/arpa_inet-h-tests: Renamed from modules/arpa_inet-tests.
	* modules/arpa_inet-h-c++-tests: Renamed from
	modules/arpa_inet-c++-tests.
	* tests/test-arpa_inet-h.c: Renamed from tests/test-arpa_inet.c.
	* tests/test-arpa_inet-h-c++.cc: Renamed from
	tests/test-arpa_inet-c++.cc.
	* doc/posix-headers/arpa_inet.texi: Update.
	* modules/* (Depends-on): Update.
	* modules/arpa_inet: New file.

2024-12-27  Simon Josefsson  <simon@josefsson.org>

	git-version-gen: Support git-archive tarballs.
	* build-aux/git-version-gen: Use .tarball-version-git as final guess.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Document the ieee754-h module better.
	* doc/glibc-headers/ieee754.texi: Mention the module ieee754-h. Give an
	example of a platform without IEEE floating-point numbers.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	Document the libunistring modules.
	* doc/libunistring.texi: New file.
	* doc/gnulib.texi (Particular Modules): Include it.

2024-12-27  Bruno Haible  <bruno@clisp.org>

	doc: Improve an external reference.
	* doc/zprintf.texi: For an external reference, use @url when not
	producing an info file.

2024-12-26  Simon Josefsson  <simon@josefsson.org>

	gitlog-to-changelog: Handle srcdir!=builddir builds.
	* doc/gitlog-to-changelog.texi (dist-hook): Use --srcdir.

2024-12-26  Bruno Haible  <bruno@clisp.org>

	doc: Document the *-ieee modules.
	* doc/posix-functions/cbrt.texi: Mention the cbrt-ieee module.
	* doc/posix-functions/cbrtf.texi: Mention the cbrtf-ieee module.
	* doc/posix-functions/exp.texi: Mention the exp-ieee module.
	* doc/posix-functions/exp2.texi: Mention the exp2-ieee module.
	* doc/posix-functions/exp2f.texi: Mention the exp2f-ieee module.
	* doc/posix-functions/expf.texi: Mention the expf-ieee module.
	* doc/posix-functions/expl.texi: Mention the expl-ieee module.
	* doc/posix-functions/expm1l.texi: Mention the expm1l-ieee module.
	* doc/posix-functions/fabs.texi: Mention the fabs-ieee module.
	* doc/posix-functions/fabsf.texi: Mention the fabsf-ieee module.
	* doc/posix-functions/fabsl.texi: Mention the fabsl-ieee module.
	* doc/posix-functions/fma.texi: Mention the fma-ieee module.
	* doc/posix-functions/fmaf.texi: Mention the fmaf-ieee module.
	* doc/posix-functions/fmal.texi: Mention the fmal-ieee module.
	* doc/posix-functions/frexp.texi: Mention the frexp-ieee module.
	* doc/posix-functions/frexpf.texi: Mention the frexpf-ieee module.
	* doc/posix-functions/frexpl.texi: Mention the frexpl-ieee module.
	* doc/posix-functions/ldexp.texi: Mention the ldexp-ieee module.
	* doc/posix-functions/ldexpf.texi: Mention the ldexpf-ieee module.
	* doc/posix-functions/ldexpl.texi: Mention the ldexpl-ieee module.
	* doc/posix-functions/log10l.texi: Mention the log10l-ieee module.
	* doc/posix-functions/log2l.texi: Mention the log2l-ieee module.
	* doc/posix-functions/logb.texi: Mention the logb-ieee module.
	* doc/posix-functions/logbf.texi: Mention the logbf-ieee module.
	* doc/posix-functions/logbl.texi: Mention the logbl-ieee module.
	* doc/posix-functions/logl.texi: Mention the logl-ieee module.
	* doc/posix-functions/rint.texi: Mention the rint-ieee module.
	* doc/posix-functions/rintf.texi: Mention the rintf-ieee module.
	* doc/posix-functions/rintl.texi: Mention the rintl-ieee module.
	* doc/posix-functions/sqrt.texi: Mention the sqrt-ieee module.
	* doc/posix-functions/sqrtf.texi: Mention the sqrtf-ieee module.
	* doc/posix-functions/sqrtl.texi: Mention the sqrtl-ieee module.

2024-12-25  Bruno Haible  <bruno@clisp.org>

	Document the *zprintf functions.
	* doc/zprintf.texi: New file.
	* doc/gnulib.texi (Particular Modules): Include it.

2024-12-25  Bruno Haible  <bruno@clisp.org>

	xprintf, xprintf-posix, xprintf-gnu: Use *zprintf.
	* lib/xprintf.h (xprintf, xvprintf, xfprintf, xvfprintf): Change return
	type to off64_t. Move documentation from xprintf.c to here. Mention
	EOVERFLOW as another possible error unrelated to file I/O.
	* lib/xprintf.c (xprintf): Change return type to off64_t.
	(xvprintf): Likewise. Use vzprintf.
	(xfprintf): Change return type to off64_t.
	(xvfprintf): Likewise. Use vfzprintf.
	* modules/xprintf (Description): Mention also fprintf. Mention EOVERFLOW
	as another possible error unrelated to file I/O.
	(Depends-on): Add vzprintf, vfzprintf.
	* modules/xprintf-posix (Description): Mention also fprintf. Mention
	EOVERFLOW as another possible error unrelated to file I/O.
	(Depends-on): Add vzprintf-posix, vfzprintf-posix. Remove vprintf-posix,
	vfprintf-posix.
	* modules/xprintf-gnu (Description): Mention also fprintf. Mention
	EOVERFLOW as another possible error unrelated to file I/O.
	(Depends-on): Add vzprintf-gnu, vfzprintf-gnu. Remove vprintf-gnu,
	vfprintf-gnu.
	* tests/test-xprintf-posix.c (RETTYPE): Change to off64_t.
	* tests/test-xfprintf-posix.c (RETTYPE): Likewise.
	* NEWS: Document the change.

2024-12-25  Bruno Haible  <bruno@clisp.org>

	stdlib: Improve change from 2024-12-23.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Improve indentation.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	access, euidaccess tests: Avoid test failure in Cygwin 3.5.5.
	* tests/test-access.h [__CYGWIN__]: Include <grp.h>, <string.h>,
	<unistd.h>.
	(is_administrator): New function.
	(is_root): New macro.
	(test_access): Reenable F_OK test for non-administrators on Cygwin.
	Disable X_OK test for administrators on Cygwin.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	localename-unsafe: Improve the Windows UTF-8 environment support.
	Reported by Lasse Collin <lasse.collin@tukaani.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-12/msg00165.html>.
	* lib/localename-unsafe.c (gl_locale_name_from_win32_LANGID): In locale
	names with a modifier, insert the codeset part ".UTF-8" before the
	modifier.

2024-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	stdlib: support including stdlib.h from config.h
	Emacs <config.h> includes <stdlib.h> in some situations, causing
	problems on macOS as described by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2024-12/msg00923.html
	Although this usage is not recommended, it is easier to support
	it for POSIX-required headers, than to fix Emacs.
	* doc/extern-inline.texi (extern inline): Document the Emacs problem.
	* lib/endian.c, lib/math.c, lib/stdbit.c, lib/stdlib.c:
	* lib/sys_socket.c, lib/unistd.c, lib/wctype-h.c:
	Define #define _GL_..._INLINE to _GL_EXTERN_INLINE
	before including <config.h>, not merely before including
	the .h file that defines the inline function.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	setlocale: Fix a buffer overflow check (mistake in yesterday's commit).
	* lib/setlocale.c (setlocale_unixlike): Update buffer overflow check.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	doc: Document mingw with MSVCRT vs. mingw with UCRT.
	* doc/posix-functions/btowc.texi: Add more details regarding mingw.
	* doc/posix-functions/fopen.texi: Likewise.
	* doc/posix-functions/mbrtowc.texi: Likewise.
	* doc/posix-functions/mbsinit.texi: Likewise.
	* doc/posix-functions/modf.texi: Likewise.
	* doc/posix-functions/modff.texi: Likewise.
	* doc/posix-functions/round.texi: Likewise.
	* doc/posix-functions/roundf.texi: Likewise.
	* doc/posix-functions/swprintf.texi: Likewise.
	* doc/posix-functions/timespec_get.texi: Likewise.
	* doc/posix-functions/wcrtomb.texi: Likewise.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	wchar: Support several gnulib-tool invocations better.
	* lib/wchar.in.h (_GL_ALREADY_INCLUDING_WCHAR_H): Rename to a macro that
	depends on GUARD_PREFIX.
	(mbszero): Avoid duplicate definition.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	threads-h: Support several gnulib-tool invocations better.
	* lib/threads.in.h (_GL_ALREADY_INCLUDING_THREADS_H): Rename to a macro
	that depends on GUARD_PREFIX.
	(struct thrd_with_exitcode): Avoid duplicate definition.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	sys_socket: Support several gnulib-tool invocations better.
	* lib/sys_socket.in.h (_GL_ALREADY_INCLUDING_SYS_SOCKET_H): Rename to a
	macro that depends on GUARD_PREFIX.
	(struct msghdr): Avoid duplicate definition.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	string: Support several gnulib-tool invocations better.
	* lib/string.in.h (_GL_ALREADY_INCLUDING_STRING_H): Rename to a macro
	that depends on GUARD_PREFIX.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	stdio: Support several gnulib-tool invocations better.
	* lib/stdio.in.h: Test _GL_SKIP_GNULIB_STDIO_H.
	(_GL_ALREADY_INCLUDING_STDIO_H): Rename to a macro that depends on
	GUARD_PREFIX.
	* lib/fopen.c: Set _GL_SKIP_GNULIB_STDIO_H instead of
	_GL_ALREADY_INCLUDING_STDIO_H.
	* lib/freopen.c: Likewise.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	spawn: Support several gnulib-tool invocations better.
	* lib/spawn.in.h (_GL_ALREADY_INCLUDING_SPAWN_H): Rename to a macro that
	depends on GUARD_PREFIX.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	signal-h: Support several gnulib-tool invocations better.
	* lib/signal.in.h (_GL_ALREADY_INCLUDING_SIGNAL_H): Rename to a macro
	that depends on GUARD_PREFIX.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	pthread-h: Support several gnulib-tool invocations better.
	* lib/pthread.in.h (_GL_ALREADY_INCLUDING_PTHREAD_H): Rename to a macro
	that depends on GUARD_PREFIX.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	malloc-h: Support several gnulib-tool invocations better.
	* lib/malloc.in.h (_GL_ALREADY_INCLUDING_MALLOC_H): Rename to a macro
	that depends on GUARD_PREFIX.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	locale: Support several gnulib-tool invocations better.
	* lib/locale.in.h (_GL_ALREADY_INCLUDING_LOCALE_H): Rename to a macro
	that depends on GUARD_PREFIX.
	(struct lconv): Avoid duplicate definition.

2024-12-24  Bruno Haible  <bruno@clisp.org>

	limits-h: Support several gnulib-tool invocations better.
	* lib/limits.in.h (_GL_ALREADY_INCLUDING_LIMITS_H): Rename to a macro
	that depends on GUARD_PREFIX.

2024-12-23  Paul Eggert  <eggert@cs.ucla.edu>

	stdlib: fix MB_CUR_MAX on older Android
	Android NDK r16 MB_CUR_MAX doesn’t link when compiling C.
	Problem found in GNU Emacs, which worked around it this way:
	https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=39a7e6b79fdeafc539a36f6831d922a2622cb679
	... but this ran afoul of the recent Gnulib change that
	added lib/stdlib.c.
	* lib/stdlib.in.h (gl_MB_CUR_MAX): If @REPLACE_MB_CUR_MAX@
	is positive, use its value directly.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Set REPLACE_MB_CUR_MAX to (-1)
	if the Solaris bug, and to 4 if the Android bug.  Use AS_CASE
	so that Emacs can navigate this code better.
	* tests/test-stdlib.c (main): Check that MB_CUR_MAX compiles
	and is nonzero.

	stdlib: MB_CUR_MAX is type size_t
	* lib/stdlib.in.h (gl_MB_CUR_MAX): Return size_t, not int,
	to conform to POSIX.

2024-12-23  Bruno Haible  <bruno@clisp.org>

	mbrtowc tests: Test in the UTF-8 environment on native Windows.
	* tests/test-mbrtowc-w32utf8.sh: New file.
	* tests/test-mbrtowc-w32utf8.c: New file.
	* modules/mbrtowc-tests (Files): Add these files and
	m4/windows-rc.m4, tests/windows-utf8.rc, tests/windows-utf8.manifest.
	(Depends-on): Add test-xfail.
	(configure.ac): Invoke gl_WINDOWS_RC.
	(Makefile.am): Arrange to compile test-mbrtowc-w32utf8 and run
	test-mbrtowc-w32utf8.sh.

2024-12-23  Bruno Haible  <bruno@clisp.org>

	setlocale tests: Test in the UTF-8 environment on native Windows.
	* tests/test-setlocale-w32utf8.sh: New file.
	* tests/test-setlocale-w32utf8.c: New file.
	* modules/setlocale-tests (Files): Add these files and
	m4/windows-rc.m4, tests/windows-utf8.rc, tests/windows-utf8.manifest.
	(Depends-on): Add test-xfail.
	(configure.ac): Invoke gl_WINDOWS_RC.
	(Makefile.am): Arrange to compile test-setlocale-w32utf8 and run
	test-setlocale-w32utf8.sh.

	setlocale: Support the UTF-8 environment on native Windows.
	* lib/setlocale.c: Include <windows.h>.
	(setlocale_unixlike): In the UTF-8 environment, append a suffix ".65001"
	to the locale names passed to the native setlocale().

2024-12-23  Bruno Haible  <bruno@clisp.org>

	localename tests: Test in the UTF-8 environment on native Windows.
	* tests/test-localename-w32utf8.sh: New file.
	* tests/test-localename-w32utf8.c: New file.
	* modules/localename-tests (Files): Add these files and
	m4/windows-rc.m4, tests/windows-utf8.rc, tests/windows-utf8.manifest.
	(Depends-on): Add test-xfail.
	(configure.ac): Invoke gl_WINDOWS_RC.
	(Makefile.am): Arrange to compile test-localename-w32utf8 and run
	test-localename-w32utf8.sh.

	localename-unsafe: Support the UTF-8 environment on native Windows.
	* lib/localename-unsafe.c (gl_locale_name_from_win32_LANGID): Append a
	suffix ".UTF-8" to the result if GetACP() is UTF-8.

2024-12-23  Bruno Haible  <bruno@clisp.org>

	localcharset tests: Test in the UTF-8 environment on native Windows.
	* m4/windows-rc.m4: New file.
	* tests/test-localcharset-w32utf8.sh: New file.
	* tests/test-localcharset-w32utf8.c: New file.
	* tests/windows-utf8.rc: New file.
	* tests/windows-utf8.manifest: New file.
	* modules/localcharset-tests (Files): Add these files.
	(Depends-on): Add test-xfail.
	(configure.ac): Invoke gl_WINDOWS_RC.
	(Makefile.am): Arrange to compile test-localcharset-w32utf8 and run
	test-localcharset-w32utf8.sh.

	localcharset: Support the UTF-8 environment on native Windows.
	* lib/localcharset.c (locale_charset): Recognize also the special case
	of a setlocale() result that ends in ".UTF-8".

2024-12-23  Bruno Haible  <bruno@clisp.org>

	setlocale tests: Add unit test for LC_MESSAGES handling.
	* tests/test-setlocale-w32.c: New file.
	* modules/setlocale-tests (Files): Add it.
	(Makefile.am): Arrange to compile and run test-setlocale-w32.

	setlocale: Handle LC_MESSAGES correctly on native Windows.
	* lib/setlocale.c (setlocale_improved): Revamp the LC_ALL case if
	LC_MESSAGES is 1729.

2024-12-22  Bruno Haible  <bruno@clisp.org>

	c32isprint tests: Avoid test failure on mingw/ucrt.
	* tests/test-c32isprint.c (main): Disable test that fails on mingw/ucrt.

2024-12-22  Bruno Haible  <bruno@clisp.org>

	btowc: Fix declaration on mingw/ucrt.
	* m4/btowc.m4 (gl_FUNC_BTOWC): Require gt_TYPE_WINT_T. If gnulib
	overrides wint_t, set REPLACE_BTOWC to 1.

2024-12-22  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addchdir tests: Avoid test failure on MSYS2.
	* tests/test-posix_spawn-chdir.c (test): Recognize also the 'pwd' output
	for root on MSYS2.

2024-12-22  Bruno Haible  <bruno@clisp.org>

	test-framework-sh: Avoid test suite failures on MSYS2.
	* tests/init.sh (compare_) [MSys]: Use a temporary file on MSYS2.
	* tests/test-update-copyright.sh: Use the test framework.
	(compare): Remove function.
	* modules/update-copyright-tests (Depends-on): Add test-framework-sh.

2024-12-22  Bruno Haible  <bruno@clisp.org>

	test-framework-sh: Avoid test suite failures on MSYS2.
	* tests/init.sh (mkdir) [MSys]: New function.

2024-12-22  Bruno Haible  <bruno@clisp.org>

	execl, execle, execlp: Fix compilation error with gcc 14.
	* lib/execl.c (execl): Cast second argument of execv.
	* lib/execle.c (execle): Cast second argument of execve.
	* lib/execlp.c (execlp): Cast second argument of execvp.

2024-12-21  Bruno Haible  <bruno@clisp.org>

	crc-x86_64: Fix compilation error with clang in a simpler way.
	Suggested by Collin Funk.
	* modules/crc-x86_64 (Makefile.am): Revert last change.
	* lib/crc-x86_64-pclmul.c: Normalize includes.
	(crc32_update_no_xor_pclmul): Use __attribute__ ((__target (...))).
	* m4/crc-x86_64.m4 (gl_CRC_X86_64_PCLMUL): Use
	__attribute__ ((__target (...))) here as well. Don't use modified
	CFLAGS.

	crc-x86_64: Fix compilation error with clang.
	* modules/crc-x86_64 (Makefile.am): Declare a separate library
	libpclmul.{a,la}.
	* lib/crc-x86_64-pclmul.c: Remove the GCC pragmas.

	gnulib-tool: Recognize @LT@, @la@, @lo@ tokens in module descriptions.
	* gnulib-tool.sh (func_emit_lib_Makefile_am): Replace @LT@, @la@, @lo@
	tokens.
	(func_emit_tests_Makefile_am): Likewise.
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Likewise.
	(GLEmiter.tests_Makefile_am): Likewise.

2024-12-20  Bruno Haible  <bruno@clisp.org>

	stdint: Detect MSVC __typeof__ support.
	* m4/stdint.m4 (gl_STDINT_H): Copy condition from lib/stdbit.in.h.

2024-12-19  Collin Funk  <collin.funk1@gmail.com>

	intprops: Detect MSVC __typeof__ support.
	* lib/intprops-internal.h (_GL_HAVE___TYPEOF__): Copy condition from
	lib/stdbit.in.h.

	stdbit-h: Detect MSVC __typeof__ support.
	* lib/stdbit.in.h (_GL_STDBIT_TYPEOF_CAST): Use __typeof__ on Visual
	Studio 2022 version 17.9 and later.

2024-12-18  Pádraig Brady  <P@draigBrady.com>

	crc-x86_64: fix build failure due to indentation
	* modules/crc-x86_64: Remove indentation on lib_SOURCES,
	so that it's transformed correctly to lib_libcoreutils_a_SOURCES.

2024-12-17  Bruno Haible  <bruno@clisp.org>

	crc-x86_64: Tweaks.
	* modules/crc-x86_64 (Include): Fix the file name.
	* m4/crc-x86_64.m4 (gl_CRC_X86_64_PCLMUL): Improve indentation.

2024-12-17  Bruno Haible  <bruno@clisp.org>

	xstdopen: Improve error message.
	* lib/xstdopen.c (xstdopen): Improve error message. Ignore the errno
	value.

2024-12-16  Sam Russell  <sam.h.russell@gmail.com>

	crc: Add PCLMUL implementation
	* lib/crc-x86_64-pclmul.c: Implement CRC32 with PCLMUL intrinsics.
	* lib/crc-x86_64.h: Add header for CRC32 with PCLMUL instrinsics.
	* lib/crc.c: Use PCLMUL implementation if available.
	* m4/crc-x86_64.m4: Detect PCLMUL and build accordingly.
	* modules/crc-x86_64: New module for crc-x86_64.

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

	atexit: document z/OS bug
	* doc/posix-functions/atexit.texi: Mention z/OS issue
	raised by Sachin <https://bugs.gnu.org/74788>.

2024-12-12  Bruno Haible  <bruno@clisp.org>

	bcp47: Silence a gcc 14 -Wanalyzer-infinite-loop warning.
	* lib/bcp47.c: Include <stdlib.h>.
	(bcp47_to_xpg): Verify an invariant through an abort().

2024-12-11  Paul Eggert  <eggert@cs.ucla.edu>

	doc: isdigit and isxdigit are locale-independent
	* doc/posix-functions/isdigit.texi:
	* doc/posix-functions/isxdigit.texi:
	Document that mingw and MSVC do not conform to the C standard,
	which says that isdigit and isxdigit are independent of locale.
	Issue pointed out by Florian Weimer in:
	https://sourceware.org/pipermail/libc-alpha/2024-December/162362.html

	doc: document non-translation
	* doc/gnulib-tool.texi (Localization):
	Say what to do if you don’t want translations.

2024-12-10  Bruno Haible  <bruno@clisp.org>

	openat-die: Fix a gcc -Wformat -Wformat-security warning.
	* lib/openat-die.c (openat_save_fail, openat_restore_fail): Put the
	internationalized error message into non-format-string position.

2024-05-12  Simon Josefsson  <simon@josefsson.org>

	announce-gen: Mention git commit and tag in announcement.
	* build-aux/announce-gen (this_commit_hash): New variable.
	(main): Print git commit hash and tag.
	(main): Put git-log info near git and NEWS info.

2024-12-10  Simon Josefsson  <simon@josefsson.org>

	maintainer-makefile: Pass on $(announce_gen_args) to announce-gen.
	* top/maint.mk (announce_gen_args): New variable, for cfg.mk use.
	(announcement): Use it.

2024-12-09  Bruno Haible  <bruno@clisp.org>

	xstrtol-error: Use the translation domain "gnulib".
	* lib/xstrtol-error.c (_): New macro.
	(xstrtol_error): Use dgettext() instead of gettext().
	* modules/xstrtol-error (Depends-on): Add gnulib-i18n.

	xprintf: Use the translation domain "gnulib".
	* lib/xprintf.c (_): New macro.
	(xvprintf, xvfprintf): Use it instead of gettext().
	* modules/xprintf (Depends-on): Add gnulib-i18n.

	unicodeio: Use the translation domain "gnulib".
	* lib/unicodeio.h (unicode_to_mb): Clarify that the message passed to
	the failure callback may already be localized.
	* lib/unicodeio.c (unicode_to_mb): For the messages defined in this
	file, use the translation domain "gnulib".

	file-type: Use the translation domain "gnulib".
	* lib/file-type.c (file_type): Use the translation domain "gnulib".
	* modules/file-type (Depends-on): Add gnulib-i18n.

	argmatch: Use the translation domain "gnulib".
	* lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Use translation domain
	"gnulib" for the literal string here.

2024-12-09  Bruno Haible  <bruno@clisp.org>

	Localizations: Fix omissions from the POT file.
	Reported by Benno Schulenberg.
	* po/Makefile ($(DOMAIN).pot): Remove the file pre-filtering; just pass
	all source files to xgettext.
	* po/Makevars (XGETTEXT_OPTIONS): Recognize gettext_noop as a keyword.

2024-12-09  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix test failures (regression 2024-12-06).
	* gnulib-tool.sh (func_import): Try both remove-potcdate.sin and
	remove-potcdate.sed, whichever exists.
	* pygnulib/GLImport.py (GLImport.execute): Likewise.

2024-12-09  Paul Eggert  <eggert@cs.ucla.edu>

	gnupload: mention GPG_TTY
	* build-aux/gnupload (usage): Mention GPG_TTY and gpg-agent.

2024-12-09  Bruno Haible  <bruno@clisp.org>

	quotearg tests: Fix test failure (regression yesterday).
	* tests/testlocale/fr/LC_MESSAGES/gnulib.po: Renamed from
	tests/testlocale/fr/LC_MESSAGES/test-quotearg.po.
	* tests/testlocale/fr/LC_MESSAGES/gnulib.mo: Renamed from
	tests/testlocale/fr/LC_MESSAGES/test-quotearg.mo.
	* tests/test-quotearg.c (main): Use bindtextdomain for the domain
	"gnulib", not "test-quotearg".
	* tests/test-quotearg.sh: Fix typo in comments.
	* modules/quotearg-tests (Files): Update.

2024-12-08  Bruno Haible  <bruno@clisp.org>

	Document the new approach for gnulib localization.
	* doc/gnulib-tool.texi (Localization): Recommend to use the gnulib-l10n
	package. Deprecate the two previous approaches.
	* gnulib-tool.sh (func_usage): Deprecate the --po-base and --po-domain
	options.
	* pygnulib/GLInfo.py (GLInfo.usage): Likewise.

	Use the translation domain "gnulib".
	* lib/argmatch.c (_): Use translation domain "gnulib".
	* lib/bitset/stats.c (_): Likewise.
	* lib/c-stack.c (_): Likewise.
	* lib/clean-temp.c (_): Likewise.
	* lib/clean-temp-simple.c (_): Likewise.
	* lib/closein.c (_): Likewise.
	* lib/closeout.c (_): Likewise.
	* lib/copy-acl.c (_): Likewise.
	* lib/copy-file.c (_): Likewise.
	* lib/csharpcomp.c (_): Likewise.
	* lib/csharpexec.c (_): Likewise.
	* lib/cygpath.c (_): Likewise.
	* lib/dfa.c (_): Likewise.
	* lib/error.c (_): Likewise.
	* lib/execute.c (_): Likewise.
	* lib/gai_strerror.c (_): Likewise.
	* lib/getaddrinfo.c (_): Likewise.
	* lib/getopt.c (_): Likewise.
	* lib/javacomp.c (_): Likewise.
	* lib/javaexec.c (_): Likewise.
	* lib/javaversion.c (_): Likewise.
	* lib/mkdir-p.c (_): Likewise.
	* lib/obstack.c (_) [!_LIBC]: Likewise.
	* lib/openat-die.c (_): Likewise.
	* lib/os2-spawn.c (_): Likewise.
	* lib/pagealign_alloc.c (_): Likewise.
	* lib/parse-datetime.y (_): Likewise.
	* lib/pipe-filter-gi.c (_): Likewise.
	* lib/pipe-filter-ii.c (_): Likewise.
	* lib/quotearg.c (_): Likewise.
	* lib/regex_internal.h (gettext): Likewise.
	* lib/rpmatch.c (_): Likewise.
	* lib/set-acl.c (_): Likewise.
	* lib/sigpipe-die.c (_): Likewise.
	* lib/spawn-pipe.c (_): Likewise.
	* lib/strsignal.c (_) [!_LIBC]: Likewise.
	* lib/timevar.c (_): Likewise.
	* lib/unicodeio.c (_): Likewise.
	* lib/userspec.c (_): Likewise.
	* lib/version-etc.c (_): Likewise.
	* lib/wait-process.c (_): Likewise.
	* lib/xalloc-die.c (_): Likewise.
	* lib/xbinary-io.c (_): Likewise.
	* lib/xfreopen.c (_): Likewise.
	* lib/xmemcoll.c (_): Likewise.
	* lib/xsetenv.c (_): Likewise.
	* lib/xstdopen.c (_): Likewise.
	* lib/xstrerror.c (_): Likewise.
	* modules/acl (Depends-on): Add gnulib-i18n.
	* modules/argmatch (Depends-on): Likewise.
	* modules/bitset (Depends-on): Likewise.
	* modules/c-stack (Depends-on): Likewise.
	* modules/clean-temp (Depends-on): Likewise.
	* modules/clean-temp-simple (Depends-on): Likewise.
	* modules/closein (Depends-on): Likewise.
	* modules/closeout (Depends-on): Likewise.
	* modules/copy-file (Depends-on): Likewise.
	* modules/csharpcomp (Depends-on): Likewise.
	* modules/csharpexec (Depends-on): Likewise.
	* modules/cygpath (Depends-on): Likewise.
	* modules/dfa (Depends-on): Likewise.
	* modules/error (Depends-on): Likewise.
	* modules/execute (Depends-on): Likewise.
	* modules/getaddrinfo (Depends-on): Likewise.
	* modules/getopt-posix (Depends-on): Likewise.
	* modules/javacomp (Depends-on): Likewise.
	* modules/javaexec (Depends-on): Likewise.
	* modules/javaversion (Depends-on): Likewise.
	* modules/mkdir-p (Depends-on): Likewise.
	* modules/obstack (Depends-on): Likewise.
	* modules/openat-die (Depends-on): Likewise.
	* modules/pagealign_alloc (Depends-on): Likewise.
	* modules/parse-datetime (Depends-on): Likewise.
	* modules/pipe-filter-gi (Depends-on): Likewise.
	* modules/pipe-filter-ii (Depends-on): Likewise.
	* modules/quotearg (Depends-on): Likewise.
	* modules/regex (Depends-on): Likewise.
	* modules/rpmatch (Depends-on): Likewise.
	* modules/sigpipe-die (Depends-on): Likewise.
	* modules/spawn-pipe (Depends-on): Likewise.
	* modules/strsignal (Depends-on): Likewise.
	* modules/timevar (Depends-on): Likewise.
	* modules/unicodeio (Depends-on): Likewise.
	* modules/userspec (Depends-on): Likewise.
	* modules/version-etc (Depends-on): Likewise.
	* modules/wait-process (Depends-on): Likewise.
	* modules/xalloc-die (Depends-on): Likewise.
	* modules/xbinary-io (Depends-on): Likewise.
	* modules/xfreopen (Depends-on): Likewise.
	* modules/xmemcoll (Depends-on): Likewise.
	* modules/xsetenv (Depends-on): Likewise.
	* modules/xstdopen (Depends-on): Likewise.
	* modules/xstrerror (Depends-on): Likewise.

	gnulib-i18n: New module.
	* m4/gnulib-i18n.m4: New file, based on m4/bison-i18n.m4.
	* modules/gnulib-i18n: New file.

	Add infrastructure for handling gnulib localizations.
	* po/Makefile: New file.
	* po/Makevars: New file, based on the template from GNU gettext.
	* gnulib-l10n/README: New file.
	* gnulib-l10n/configure.ac: New file.
	* gnulib-l10n/Makefile.am: New file.
	* gnulib-l10n/m4/Makefile.am: New file.
	* gnulib-l10n/autogen.sh: New file.
	* gnulib-l10n/autoclean.sh: New file.
	* Makefile (gnulib.pot, gnulib-tp-snapshot, gnulib-l10n-release): New
	targets.

2024-12-08  Bruno Haible  <bruno@clisp.org>

	bison-i18n: Improve usability.
	* modules/bison-i18n (Depends-on): Remove 'gettext'.
	* m4/bison-i18n.m4 (BISON_I18N): Instead of bailing out if there is no
	AM_GNU_GETTEXT invocation, just warn. Define BISON_LOCALEDIR also in
	config.h, removing the need to do it in the Makefile.

2024-12-08  Bruno Haible  <bruno@clisp.org>

	Update dependencies of modules that include "gettext.h".
	* modules/closein (Depends-on): Add gettext-h.
	* modules/dfa (Depends-on): Likewise.
	* modules/error (Depends-on): Likewise.
	* modules/xfreopen (Depends-on): Likewise.
	* modules/xstrerror (Depends-on): Likewise.

2024-12-07  Bruno Haible  <bruno@clisp.org>

	Update COPYING file.
	* COPYING: Remove statements that are not true any more since
	2021-06-04.

2024-12-06  Bruno Haible  <bruno@clisp.org>

	signbit: Fix compilation error with g++ 5.5 on Solaris 10.
	Reported by G. Branden Robinson <g.branden.robinson@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00180.html>.
	* lib/math.in.h (signbit): In C++ 11 or newer, assume that <math.h> or
	<cmath> may define signbit through three inline functions.

2024-12-06  Bruno Haible  <bruno@clisp.org>

	Update build-aux/po/Makefile.in.in.
	Reported by Assaf Gordon in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>
	and by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00020.html>.
	* build-aux/po/Makefile.in.in: Sync from GNU gettext 0.23.
	Fixes:
	- Don't fail when 'make' is used with option -j.
	- Pass the option --quiet to 'msgmerge'.
	- Simplify by assuming that 'sed' groks comments.
	* build-aux/po/remove-potcdate.sed: Renamed from
	build-aux/po/remove-potcdate.sin.
	* doc/gnulib.texi (Developer tools): Update file list.
	* gnulib-tool.sh (func_import): Copy remove-potcdate.sed instead of
	remove-potcdate.sin.
	* pygnulib/GLImport.py (GLImport.execute): Likewise.

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

	gnulib-tool.py: Fix invalid use of cache.
	* pygnulib/GLModuleSystem.py (GLModule._getDependents): Make the modules
	argument mandatory. Don't store the result in self.cache.

	gnulib-tool.py: Refactor.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.getAllModules): Moved here
	from GLModule._getAllModules. No need to eliminate empty module names.
	(GLModule._getDependents, GLModule.getDependentsRecursively): Update.

	gnulib-tool.py: Remove dead code.
	* pygnulib/GLModuleSystem.py (GLModule.getDependents): Remove top_level
	parameter. Use the cached value if present.
	* pygnulib/main.py: Update accordingly.

2024-12-04  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Make --extract-dependents quick again.
	Suggested by Bruno Haible in:
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-12/msg00012.html>.
	* pygnulib/GLModuleSystem.py (GLModule.getDependents): Add an optional
	argument to use the implementation before yesterdays change.
	* pygnulib/main.py (mode == 'extract-dependents'): Add the optional
	argument to call of GLModule.getDependents.

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

	bison-i18n: Ensure BISON_LOCALEDIR_c expands to a C string.
	Reported by Holger Hoffstätte via Sam James <sam@gentoo.org>.
	* m4/bison-i18n.m4 (BISON_I18N): Define BISON_LOCALEDIR_c and
	BISON_LOCALEDIR_c_make in the usual way even when BISON_LOCALEDIR
	expands to empty.

2024-12-03  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Optimize --extract-recursive-dependents.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.list): Add optional
	argument to include test modules.
	(GLModule._getDependents) New function.
	(GLModule.getDependents): Use it.
	(GLModule.getDependentsRecursively): Likewise.
	(GLModule._getAllModules): New function.

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

	strerror_r-posix: Silence gcc 14 warning.
	* lib/strerror_r.c (strerror_r): Silence -Wformat-truncation warning.

2024-12-02  Bruno Haible  <bruno@clisp.org>

	gettext: Sync with gettext 0.23.
	* m4/gettext.m4: Update from current gettext git.
	* m4/po.m4: Likewise.

2024-12-02  Bruno Haible  <bruno@clisp.org>

	announce-gen: Add option --cksum-checksums.
	* build-aux/announce-gen: Accept option --cksum-checksums.
	(usage): Document option --cksum-checksums.
	(print_checksums): Add prefer_cksum parameter.

2024-12-01  Bruno Haible  <bruno@clisp.org>

	announce-gen: Show an SHA256 sum that can be verified more easily.
	* build-aux/announce-gen (print_checksums): Output SHA256 sum in hex,
	instead of base64 wrapped.

2024-12-01  Bruno Haible  <bruno@clisp.org>

	announce-gen: Fix bug when accessing symlinks.
	* build-aux/announce-gen (sizes): Pass the option -L to 'du'.

2024-11-26  Bruno Haible  <bruno@clisp.org>

	fpurge: Improve configure test.
	Reported by Eli Schwartz <eschwartz@gentoo.org>.
	* m4/fpurge.m4 (gl_FUNC_FPURGE): If fpurge is not declared, don't test
	whether it works. Remove now-redundant cross-compilation guess.

2024-11-25  Simon Josefsson  <simon@josefsson.org>

	bootstrap: avoid sc_prohibit_undesirable_word_seq failure
	* top/bootstrap-funclib.sh: s/can not/cannot/
	* build-aux/bootstrap: Regenerated.

2024-11-24  Collin Funk  <collin.funk1@gmail.com>

	doc: Add missing module index.
	Reported by Bruno Haible <bruno@clisp.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00193.html>.
	* doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p): Add module
	index.

2024-11-24  Bruno Haible  <bruno@clisp.org>

	gettext-h: Add tests.
	Suggested by Ben Pfaff <blp@cs.stanford.edu> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00186.html>.
	* tests/test-gettext-h.c: New file.
	* modules/gettext-h-tests: New file.

	gettext-h: Fix compilation error when pgettext is used.
	Reported by Friedrich Beckmann <friedrich.beckmann@posteo.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00189.html>.
	* lib/gettext.h: Include <locale.h>.

2024-11-23  Collin Funk  <collin.funk1@gmail.com>

	doc: Document that glob includes glob_pattern_p.
	* doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p): Document
	that the glob module includes the glob_pattern_p function.

2024-11-20  Paul Eggert  <eggert@cs.ucla.edu>

	openat: don’t close (-1)
	* lib/openat.c (openat_permissive): Don’t close (-1), as some
	debugging systems dislike that.  Clarify errno handling a bit.

	tests: omit MEMCHR etc as no longer needed
	* tests/test-memchr.c (MEMCHR):
	* tests/test-memchr2.c (MEMCHR2):
	* tests/test-memrchr.c (MEMRCHR):
	* tests/test-rawmemchr.c (RAWMEMCHR):
	Remove these macros, as the code never adds to their results.
	All uses replaced by original functions.

	tests: dissuade unwanted clang optimization
	Pacify Apple clang 14.0.0 (clang-1400.0.29.202) for
	arm64-apple-darwin21.6.0 on test-memset_explicit.c,
	which otherwise complains “warning: null passed to a callee that
	requires a non-null argument [-Wnonnull]” and presumably could
	do an unwanted optimization based on this analysis.
	Do other tests consistently.
	* tests/test-bsearch.c (lib_bsearch, volatile_bsearch, bsearch):
	* tests/test-memccpy.c (lib_memccpy, volatile_memccpy, memccpy):
	* tests/test-memchr.c (lib_memchr, volatile_memchr, memchr)

	* tests/test-memcmp.c (lib_memcmp, volatile_memcmp, memcmp):
	* tests/test-memcpy.c (lib_memcpy, volatile_memcpy, memcpy):
	* tests/test-memmove.c (lib_memmove, volatile_memmove, memmove):
	* tests/test-memset.c (lib_memset, volatile_memset, memset):
	* tests/test-memset_explicit.c (lib_memset_explicit)
	(volatile_memset_explicit, memset_explicit):
	* tests/test-qsort.c (lib_qsort, volatile_qsort, qsort):
	* tests/test-strncat.c (lib_strncat, volatile_strncat, strncat):
	* tests/test-strncmp.c (lib_strncmp, volatile_strncmp, strncmp):
	* tests/test-strncpy.c (lib_strncpy, volatile_strncpy, strncpy):
	* tests/test-strndup.c (lib_strndup, volatile_strndup, strndup):
	* tests/test-wcsncat.c (lib_wcsncat, volatile_wcsncat, wcsncat):
	* tests/test-wcsncmp.c (lib_wcsncmp, volatile_wcsncmp, wcsncmp):
	* tests/test-wcsncpy.c (lib_wcsncpy, volatile_wcsncpy, wcsncpy):
	* tests/test-wmemchr.c (lib_wmemchr, volatile_wmemchr, wmemchr):
	* tests/test-wmemcmp.c (lib_wmemcmp, volatile_wmemcmp, wmemcmp):
	* tests/test-wmemcpy.c (lib_wmemcpy, volatile_wmemcpy, wmemcpy):
	* tests/test-wmemmove.c (lib_wmemmove, volatile_wmemmove, wmemmove):
	* tests/test-wmemset.c (lib_wmemset, volatile_wmemset, wmemset)
	Convince the compiler to not optimize based on what it thinks
	about the function.  Callers changed to not use volatile locals,
	since they should no longer be needed.

	openat: omit unnecessary fd test
	* lib/openat.c (openat_permissive): Close fd regardless
	of whether it’s STDERR_FILENO.  This saves a bit of code space
	and there’s no point to making this unlikely path faster.
	Also change a couple of != 0 to < 0 for clarity
	when -1 is the only option.

	openat: use C99 decls after stmts
	* lib/openat.c (rpl_openat, openat_permissive):
	Refactor to put decls closer to where they’re used.

	openat: don’t lose track of save_cwd errno
	* lib/openat.c (openat_permissive): When ‘close’ is called
	after save_cwd failed, don’t lose track of save_cwd’s errno.
	This fixes a recently-introduced unlikely bug.

2024-11-20  Bruno Haible  <bruno@clisp.org>

	c-stack: Avoid a busy-looping test on macOS.
	* lib/c-stack.c: Undefine abort.

2024-11-20  Bruno Haible  <bruno@clisp.org>

	tests: Silence some more -Wdeprecated-declarations warnings.
	* tests/test-execute-child.c: Silence warning about sprintf.
	* tests/test-fstatat.c: Silence warnings about statat and lstatat.
	* tests/test-statat.c: Add comment.

2024-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	savewd: remove O_SEARCH optimization
	* lib/savewd.c (savewd_save): Remove recently-added optimization
	for platforms with O_SEARCH, as it does not work on macOS 12.6
	due to what seems to be a bug there.

	strerror, vasnprintf: pacify clang 14 on macOS
	* lib/strerror.c, lib/vasnprintf.c: Pacify clang 14 on macOS 12.6.

2024-11-19  Pádraig Brady  <P@draigBrady.com>

	unicodeio: avoid iconv issues for most ASCII characters
	* lib/unicodeio.c (print_unicode_char): Avoid unicode_to_mb()
	for mose ASCII characters, to avoid iconv() issues
	which were seen on macOS.
	Addresses https://bugs.gnu.org/74428

2024-11-19  Bruno Haible  <bruno@clisp.org>

	stdlib: Adjust warning about function 'free'.
	Reported by Simon Josefsson in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00158.html>.
	* lib/stdlib.in.h (free): Talk about POSIX:2024, not future POSIX.
	Recommend module 'free-posix'.

2024-11-18  Pádraig Brady  <P@draigBrady.com>

	maint: avoid sc_prohibit_undesirable_word_seq failure
	* build-aux/bootstrap: s/can not/cannot/

2024-11-17  Paul Eggert  <eggert@cs.ucla.edu>

	savewd: set errnum for FINAL_STATE too
	Problem reported by Grisha Levit in:
	https://lists.gnu.org/r/bug-gnulib/2024-11/msg00137.html
	* lib/savewd.c (savewd_finish):
	Set errnum to 0 unless we were in an error state.
	* lib/savewd.h (savewd_errno): Report final state errnum too.

2024-11-17  Collin Funk  <collin.funk1@gmail.com>

	doc: Prefer https urls where possible.
	* doc/gnulib.texi (POSIXURL): Use https url.
	* doc/multithread.texi: Use https instead of http where possible.
	* doc/glibc-functions/*.texi: Likewise.
	* doc/posix-functions/*.texi: Likewise.
	* lib/glthread/lock.c: Likewise.
	* lib/hamt.h: Likewise.
	* lib/localcharset.c: Likewise.
	* lib/pipe2.c: Likewise.
	* lib/pipe.c: Likewise.
	* lib/sigsegv.c: Likewise.
	* lib/sigsegv.in.h: Likewise.
	* lib/sm3.c: Likewise.
	* lib/sm3.h: Likewise.
	* lib/sm3-stream.c: Likewise.
	* lib/stackvma.c: Likewise.
	* lib/stdio-impl.h: Likewise.
	* lib/stdnoreturn.in.h: Likewise.
	* m4/getopt.m4: Likewise.
	* m4/largefile.m4: Likewise.
	* m4/stdalign.m4: Likewise.
	* STATUS-libposix: Likewise.
	* tests/test-float.c: Likewise.
	* tests/test-getopt.h: Likewise.
	* tests/test-setenv.c: Likewise.
	* tests/test-spawn-pipe-child.c: Likewise.
	* tests/test-strerror.c: Likewise.
	* tests/test-strerror_r.c: Likewise.
	* tests/test-unsetenv.c: Likewise.
	* users.txt: Likewise.

2024-11-17  Jan Palus  <jpalus@fastmail.com>  (tiny change)

	md5-stream, sha*-stream, sm3-stream: Avoid duplicate symbols.
	* lib/md5-stream.c (GL_OPENSSL_INLINE): Remove definition, that caused
	the symbols defined in md5.o to be defined in md5-stream.o as well.
	* lib/sha1-stream.c (GL_OPENSSL_INLINE): Likewise.
	* lib/sha256-stream.c (GL_OPENSSL_INLINE): Likewise.
	* lib/sha512-stream.c (GL_OPENSSL_INLINE): Likewise.
	* lib/sm3-stream.c (GL_OPENSSL_INLINE): Likewise.

2024-11-17  Paul Eggert  <eggert@cs.ucla.edu>

	std-gnu23: sync from Autoconf
	This fixes a problem reported from Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-11/msg00145.html
	* m4/std-gnu23.m4 (_AC_C_C23_TEST_MAIN): Use null_pointer.

2024-11-16  Collin Funk  <collin.funk1@gmail.com>

	Remove .cvsignore files.
	* .cvsignore: Remove file.
	* doc/.cvsignore: Likewise.
	* lib/.cvsignore: Likewise.
	* m4/.cvsignore: Likewise.

2024-11-16  Paul Eggert  <eggert@cs.ucla.edu>

	std-gnu23: don’t test stdbit.h
	Although freestanding C23 compilers must support <stdbit.h>,
	some current sort-of-C23 environments lack it.
	We still want to use options like -std=gnu23 on such platforms.
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-11/msg00141.html
	* m4/std-gnu23.m4 (_AC_C_C23_TEST_GLOBALS): Do not test stdbit.h.

2024-11-16  Paul Eggert  <eggert@cs.ucla.edu>

	std-gnu23: pacify GCC 15
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-11/msg00140.html
	* m4/std-gnu23.m4 (_AC_C_C23_TEST_GLOBALS): Add parens.
	While we’re at it, use sizeof so that the expression is a
	conforming integer constant expression.

2024-11-16  Bruno Haible  <bruno@clisp.org>

	calloc-gnu: Fix bug on 32-bit AIX (regression 2024-11-04).
	* lib/stdlib.in.h (calloc): Consider _GL_USE_STDLIB_ALLOC.
	* lib/calloc.c: Define _GL_USE_STDLIB_ALLOC. Don't undefine calloc.
	* lib/malloc.c: Add comment.
	* lib/realloc.c: Likewise.

2024-11-14  Paul Eggert  <eggert@cs.ucla.edu>

	mktime: don’t consult daylight
	* lib/mktime.c (__mktime_internal): Do not consult __daylight
	as it has unreliable contents - among other things, the user
	can set it.  It also wasn’t being configured properly for
	mingw-w64; this problem was reported by Markus Muetzel in
	<https://lists.gnu.org/r/bug-gnulib/2024-11/msg00126.html>.
	* m4/mktime.m4 (gl_PREREQ_MKTIME): Do not check for ‘daylight’;
	no longer needed.

2024-11-14  Bruno Haible  <bruno@clisp.org>

	Eliminate gcc -Wzero-as-null-pointer-constant warnings.
	* lib/argp-help.c: Use NULL, not 0, to denote a null pointer.
	* lib/argp-parse.c: Likewise.
	* lib/backup-find.c (get_version): Likewise.
	* lib/bitset/list.c: Likewise.
	* lib/bitset/stats.c (bitset_stats_init): Likewise.
	* lib/bitset/table.c: Likewise.
	* lib/bitsetv.c (bitsetv_alloc): Likewise.
	* lib/error.c (print_errno_message): Likewise.
	* lib/exclude.c (new_exclude_segment): Likewise.
	* lib/getopt.c (GETOPT_ENTRY): Likewise.
	* lib/human.c (block_size_args): Likewise.
	* lib/obstack.c (_obstack_begin_worker, _obstack_newchunk,
	_obstack_allocated_p, _obstack_free, _obstack_memory_used): Likewise.
	* lib/quotearg.c (quoting_style_args, quotearg_buffer_restyled,
	quotearg_alloc_mem): Likewise.
	* lib/readutmp.c (read_utmp_from_file): Likewise.
	* lib/savedir.c (comparison_function_table): Likewise.
	* lib/settime.c (settime): Likewise.
	* tests/nap.h (nap_works): Likewise.
	* tests/test-fts.c (argv, fts_dealloc, remove_tree, main): Likewise.
	* tests/test-getaddrinfo.c (simple): Likewise.
	* tests/test-nstrftime.h (posixtm_test, TZ, quarter_test, errno_test,
	locales_test): Likewise.
	* tests/test-parse-datetime.c (main): Likewise.
	* tests/test-regex.c (main): Likewise.

2024-11-14  Bruno Haible  <bruno@clisp.org>

	ftruncate, ftello: Make them work again for large files on MSVC.
	* lib/ftruncate.c: Test _GL_WINDOWS_64_BIT_OFF_T again.
	* lib/ftello.c: Likewise.

2024-11-14  Bruno Haible  <bruno@clisp.org>

	pthread-rwlock tests: Fix compilation error on AIX with xlc.
	* m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Cast the NULL pointer.
	* tests/test-pthread-rwlock-waitqueue.c (do_test): Likewise.

2024-11-14  Bruno Haible  <bruno@clisp.org>

	ftello: Add tests for large files.
	* tests/test-ftello-largefile.c: New file.
	* modules/ftello-extra-tests: New file.
	* modules/ftello-tests (Depends-on): Add ftello-extra-tests.

2024-11-14  Bruno Haible  <bruno@clisp.org>

	fseeko: Add tests for large files.
	* tests/test-fseeko-largefile.c: New file.
	* modules/fseeko-extra-tests: New file.
	* modules/fseeko-tests (Depends-on): Add fseeko-extra-tests.

2024-11-14  Bruno Haible  <bruno@clisp.org>

	ftello: Fix override on mingw.
	Reported by Markus Mützel <markus.muetzel@gmx.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00108.html>.
	* lib/ftello.c: Test whether module 'largefile' is in use, not
	whether it had to override 'off_t'.

2024-11-14  Bruno Haible  <bruno@clisp.org>

	fseeko: Fix potentially wrong override.
	* m4/fseeko.m4 (gl_PREREQ_FSEEKO): Define the C macro HAVE_FSEEKO.

2024-11-14  Bruno Haible  <bruno@clisp.org>

	ftello: Fix override on mingw and 32-bit Solaris OpenIndiana.
	Reported by Markus Mützel <markus.muetzel@gmx.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00108.html>.
	* m4/ftello.m4 (gl_PREREQ_FTELLO): Define the C macro HAVE_FTELLO.

2024-11-14  Bruno Haible  <bruno@clisp.org>

	ftruncate: Accept lengths > 2 GiB on 32-bit mingw.
	* lib/ftruncate.c: Test whether module 'largefile' is in use, not
	whether it had to override 'off_t'.

2024-11-12  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Fix logic of --remove-import option.
	Reported by Gavin Smith <gavinsmith0123@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00101.html>.
	* pygnulib/GLImport.py (GLImport.__init__): Compute the modules to keep
	correctly.

2024-11-12  Bruno Haible  <bruno@clisp.org>

	bootstrap: Tweak GNULIB_REFDIR related changes.
	* top/bootstrap-funclib.sh (prepare_GNULIB_SRCDIR): Improve if/else
	structure and comments. When cloning GNULIB_REFDIR and no submodule
	'gnulib' is configured, switch to the default branch.
	* top/bootstrap (usage):  Update documentation.
	* build-aux/bootstrap: Regenerated.

2024-11-12  Paul Eggert  <eggert@cs.ucla.edu>

	bootstrap: avoid "cd"
	* top/bootstrap-funclib.sh: Avoid "cd".  This saves a few
	subprocesses and is more likely to yield diagnostics that make
	sense to the user.
	* build-aux/bootstrap: Regenerate.

	bootstrap: go back to old non-submodule semantics
	* top/bootstrap-funclib.sh (prepare_GNULIB_SRCDIR):
	When cloning GNULIB_REFDIR and no submodule 'gnulib' is configured,
	set the origin’s URL to $gnulib_url and fetch from remote,
	so that GNULIB_REFDIR is merely an accelerant rather than
	having different semantics.
	(autopull_usage): Update documentation.
	* build-aux/bootstrap: Regenerate.

2024-11-12  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix comment.
	Reported by Gavin Smith <gavinsmith0123@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00101.html>.
	* gnulib-tool: Fix comment.

2024-11-12  Paul Eggert  <eggert@cs.ucla.edu>

	bootstrap: tune Octave bootstrap --gnulib-refdir
	* top/bootstrap-funclib.sh (prepare_GNULIB_SRCDIR):
	Use GNULIB_REFDIR also when a submodule 'gnulib' is not configured.
	This greatly speeds up bootstrapping Octave when using
	‘./bootstrap --gnulib-refdir=...’.
	* build-aux/bootstrap: Regenerate.

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

	openat: port lowest-fd to native MS-Windows
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-11/msg00081.html
	* lib/openat.c (openat_permissive): When save_cwd allocates an FD,
	allocate another one DFD and then close FD so that the later
	open returns FD (the lowest available fd), as POSIX requires.

2024-11-11  Bruno Haible  <bruno@clisp.org>

	fts: Fix dependencies (regression 2024-11-06).
	* modules/fts (Depends-on): Add fcntl-safer.

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

	malloca: pacify CHERI clang
	* lib/malloca.c (freea) [__CHERI_PURE_CAPABILITY__]:
	Add a cast as the code otherwise doesn’t conform to C.

	file-has-acl: another nofollow fix for FreeBSD
	* lib/file-has-acl.c (file_has_aclinfo): On FreeBSD, NetBSD >= 10,
	if we don’t follow symlinks the first time, also don’t follow
	them the second time, when it is typically a directory - so it
	doesn’t matter whether symlinks are followed - but it might not	be.

	file-has-acl: minor refactor of acl_get_link_np fix
	* lib/file-has-acl.c (file_has_aclinfo): Redo to avoid ‘else #endif’.

	file-has-acl: scontext even if --disable-acl
	Be able to get the security context even if configured with
	--disable-acl, as security contexts are not ACLs, and the
	main reason for --disable-acl was for efficiency with GNU ls -l,
	a concern that does not apply to security contexts (which are
	needed only with ls -Z).  Problem reported by Pádraig Brady
	<https://bugs.gnu.org/73418#52>.
	* lib/acl.h (ACL_GET_SCONTEXT): New constant.
	(aclinfo_free, aclinfo_scontext_free): Declare even if !USE_ACL.
	* lib/file-has-acl.c (USE_LINUX_XATTR): No longer false merely
	because !USE_ACL, because we need xattr to get scontext.
	(get_aclinfo): Support new ACL_GET_SCONTEXT flag.

2024-11-11  Bruno Haible  <bruno@clisp.org>

	nproc: Use affinity mask even in out-of-memory situations.
	* lib/nproc.c (num_processors_via_affinity_mask): Use a stack-allocated
	cpu_set_t as fallback. Add comments.

2024-11-11  Florian Weimer  <fweimer@redhat.com>

	nproc: Use affinity mask even on systems with more than 1024 CPUs.
	* lib/nproc.c (num_processors_via_affinity_mask): Retry
	with larger affinity masks if CPU_ALLOC_SIZE is available.

2024-11-11  Bruno Haible  <bruno@clisp.org>

	acl-permissions: Define the inline functions in this module.
	* lib/acl-internal.c (ACL_INTERNAL_INLINE): Define here.
	* lib/qset-acl.c (ACL_INTERNAL_INLINE): Don't define here.

2024-11-11  Bruno Haible  <bruno@clisp.org>

	getpagesize: Fix use of 'extern inline' (regression 2012-11-20).
	* lib/unistd.in.h (_GL_GETPAGESIZE_INLINE): New macro.
	(getpagesize): Use it.
	* lib/getpagesize.c (_GL_GETPAGESIZE_INLINE): Define.
	* modules/getpagesize (configure.ac): Compile getpagesize.c also when
	getpagesize is missing.

2024-11-11  Bruno Haible  <bruno@clisp.org>

	realloc-posix: Fix link error (regression 2024-11-04).
	* doc/extern-inline.texi (extern inline): Mention that one needs a
	*_INLINE macro per compilation unit.
	* lib/stdlib.in.h (_GL_REALLOC_INLINE): New macro.
	(rpl_realloc): Use it. Don't test IN_GNULIB_TESTS.
	* lib/realloc.c (_GL_REALLOC_INLINE): Define.

2024-11-11  Bruno Haible  <bruno@clisp.org>

	file-has-acl: Fix compilation errors on macOS et al. (regr. 2024-11-09).
	* m4/acl.m4 (gl_FUNC_ACL): Test whether acl_get_link_np exists.
	* lib/file-has-acl.c (file_has_aclinfo): Use ACL_SYMLINK_FOLLOW, not
	AC_SYMLINK_FOLLOW. Don't use acl_get_link_np if this function does not
	exist.

2024-11-10  Bruno Haible  <bruno@clisp.org>

	relocatable-prog-wrapper: Fix compilation error on NetBSD 7.
	Reported by Ionut Cosmin Mihai <ionut.cosmin.mihai@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnu-libiconv/2024-11/msg00000.html>.
	* lib/relocwrapper.c: Fix dependency tree.
	* modules/relocatable-prog-wrapper (Files): Add lib/stat-time.h,
	lib/stat-time.c.
	* build-aux/install-reloc (func_create_wrapper): Compile also
	stat-time.c.

2024-11-10  Pádraig Brady  <P@draigBrady.com>

	file-has-acl: avoid -Werror=unused-variable with --disable-acl
	* lib/file-has-acl.c (file_has_aclinfo): Mark D_TYPE as unused
	in certain configurations.

2024-11-09  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl: symlinks can have scontext
	Problem reported by Pádraig Brady <https://bugs.gnu.org/73418#35>.
	* lib/file-has-acl.c (file_has_aclinfo):
	With SELinux, symbolic links can have security contexts,
	so omit incorrect optimizations assuming that they lack them.
	When ! (flags & AC_SYMLINK_FOLLOW), prefer acl_get_link_np to
	acl_get_file on platforms that have both APIs,
	as this can avoid some races.

2024-11-07  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl: minor ENOMEM fixes
	* lib/file-has-acl.c: Include limits.h.
	(get_aclinfo): Use a saturating add rather than reporting
	overflow, in the very unlikely case that the size overflows.
	This is simpler and is good enough here.
	Also, defend against implausible system that fails with ERANGE
	even when the buffer size is SSIZE_MAX.
	* modules/file-has-acl (Depends-on): Add limits.h.
	Also add malloc-posix, since we rely on malloc errno.

	file-has-acl: remove __gl_acl_alloc member
	It may have been needed in earlier versions of this code,
	but it is no longer needed.
	* lib/acl.h (struct aclinfo): Remove __gl_acl_alloc.  All uses removed.
	* lib/file-has-acl.c (get_aclinfo):
	Use local, not the removed struct aclinfo slot.

2024-11-06  Paul Eggert  <eggert@cs.ucla.edu>

	opendirat: don’t depend on openat-safer
	* lib/opendirat.c: Include fcntl.h.
	[!GNULIB_OPENAT_SAFER]: Don’t include fcntl--.h.
	* modules/opendirat (Depends-on): Depend on openat, not openat-safer.

	getusershell: don’t depend on fopen-safer
	* lib/getusershell.c: Include stdio.h.
	[!GNULIB_FOPEN_SAFER]: Don’t include stdio--.h.
	* modules/getusershell (Depends-on): Depend on fopen, not fopen-safer.

	savewd: don’t depend on fcntl-safer
	* lib/savewd.c: Don’t include fcntl-safer.
	[GNULIB_FCNTL_SAFER]: Include fcntl--.h.
	(savewd_save): Use open, not open_safer.
	* modules/savewd (Depends-on): Remove fcntl-safer.

	savedir: don’t depend on dirent-safer
	* lib/savedir.c: Include dirent.h, not dirent--.h.
	* modules/savedir (Depends-on): Depend on dirent, not dirent-safer.

	save-cwd: don’t depend on fd-safer-flag, unistd-safer
	They aren’t needed in packages that use xstdopen
	* lib/save-cwd.c: Do not include unistd--.h.
	(GNULIB_FCNTL_SAFER): Do not define.
	(save_cwd): Do not use fd_safer_flag, as the package should use
	either fcntl-safer+unistd-safer or xstdopen if it cares about
	closed stdin.
	* modules/save-cwd (Depends-on): Remove fd-safer-flag, unistd-safer.

	error: tune a bit for xstdopen
	* lib/error.c (flush_stdout): Also optimize if GNULIB_XSTDOPEN.

	unistd-safer, xstdopen: indicate presence
	* modules/unistd-safer, modules/xstdopen (configure.ac):
	Add module indicator.

2024-11-06  Bruno Haible  <bruno@clisp.org>

	memset_explicit: Guarantee N3322 functionality.
	* m4/memset_explicit.m4 (gl_PREREQ_MEMSET_EXPLICIT): Require
	AC_CANONICAL_HOST. Test whether memset_s supports zero-length
	operations.
	* lib/memset_explicit.c (memset_explicit): Don't invoke memset_s with
	argument 0 if memset_s does not support this.

2024-11-06  Bruno Haible  <bruno@clisp.org>

	wcsncat: Fix configure test.
	* m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Fix wrong cache variable name.

2024-11-06  Bruno Haible  <bruno@clisp.org>

	strncat, wcsncat tests: Fix test.
	* tests/test-strncat.c (main): Change y to a valid string.
	* tests/test-wcsncat.c (main): Change y to a valid wide string.

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

	eealloc: deprecate
	Now that malloc-gnu and realloc-posix arrange for the
	various memory allocators to return non-null on success,
	should be no need for the eealloc module.
	* NEWS, modules/eealloc: Mention this.

	relocatable-prog-wrapper: remove eealloc.m4
	* modules/relocatable-prog-wrapper (Files): Remove m4/eealloc.m4.
	It wasn’t being used and evidently was listed only because
	a previous version needed it.

	regex: port better to AIX extensions
	Also, switch from eealloc.m4 to malloc.m4 to determine
	whether malloc (0) returns nonnull.
	* lib/regex_internal.c (re_node_set_alloc):
	Remove special case for malloc (0).
	* lib/regex_internal.h (MALLOC_0_IS_NONNULL): Remove.
	* m4/regex.m4 (gl_PREREQ_REGEX): Do not require gl_EEMALLOC.
	* modules/regex (Files): Remove m4/eealloc.m4, m4/malloc.m4.
	(Depends-on): Add malloc-gnu.

	malloca: port better to AIX extensions
	Also, switch from eealloc.m4 to malloc.m4 to determine
	whether malloc (0) returns nonnull.
	* lib/malloca.c (mmalloca): Use HAVE_MALLOC_0_NONNULL,
	not MALLOC_0_IS_NONNULL.
	* m4/malloca.m4 (gl_MALLOCA): Require gl_FUNC_MALLOC_GNU,
	not gl_EEMALLOC.
	* modules/malloca (Files): Remove m4/eemalloc.m4.
	(Depends-on): Add extensions-aix.
	* modules/relocatable-prog-wrapper:
	AC_REQUIRE gl_FUNC_MALLOC_POSIX to suppress Autoconf 2.71
	“warning: AC_REQUIRE: `gl_FUNC_MALLOC_POSIX' was expanded before
	it was required”.

	malloc: refactor to help replace eealloc
	* m4/malloc.m4 (gl_FUNC_MALLOC_0_NONNULL):
	New macro, split out from gl_FUNC_MALLOC_GNU.
	(gl_FUNC_MALLOC_GNU): Require it.

2024-11-06  Bruno Haible  <bruno@clisp.org>

	aligned_alloc tests: Fix compilation error on mingw (regr. 2024-11-04).
	* tests/test-aligned_alloc.c (aligned_alloc): Don't redefine if
	aligned_alloc does not exist.

2024-11-06  Bruno Haible  <bruno@clisp.org>

	reallocarray: Fix compilation error in C++ mode (regr. 2024-11-04).
	* m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't use
	REPLACE_REALLOC_FOR_REALLOC_POSIX here. Use gl_cv_malloc_ptrdiff
	instead.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	wmemset tests: Verify N3322 functionality.
	* tests/test-wmemset.c: New file.
	* modules/wmemset-tests: New file.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	wmemchr tests: Verify N3322 functionality.
	* tests/test-wmemchr.c: New file.
	* modules/wmemchr-tests: New file.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	wmemcmp tests: Verify N3322 functionality.
	* tests/test-wmemcmp.c (main): Add zero-size tests.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	wcsncmp tests: Verify N3322 functionality.
	* tests/test-wcsncmp.c (main): Add zero-size tests.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	wcsncat tests: Verify N3322 functionality.
	* tests/test-wcsncat.c: New file.
	* modules/wcsncat-tests: New file.

	wcsncat: Guarantee N3322 functionality.
	* lib/wchar.in.h (wcsncat): Consider REPLACE_WCSNCAT.
	* m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Test whether the zero-length bug is
	present.
	* m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNCAT.
	* modules/wchar (Makefile.am): Substitute REPLACE_WCSNCAT.
	* modules/wcsncat (Status, Notice): Remove.
	(configure.ac): Consider REPLACE_WCSNCAT.
	* doc/posix-functions/wcsncat.texi: Mention the zero-length bug.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	wmemmove tests: Verify N3322 functionality.
	* tests/test-wmemmove.c: New file.
	* modules/wmemmove-tests: New file.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	wmemcpy tests: Verify N3322 functionality.
	* tests/test-wmemcpy.c: New file.
	* modules/wmemcpy-tests: New file.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	wcsncpy tests: Verify N3322 functionality.
	* tests/test-wcsncpy.c: New file.
	* modules/wcsncpy-tests: New file.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	memset_explicit tests: Verify N3322 functionality.
	* tests/test-memset_explicit.c (main): Add a zero-size test.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	memset tests: Verify N3322 functionality.
	* tests/test-memset.c: New file.
	* modules/memset-tests: New file.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	memchr tests: Verify N3322 functionality.
	* tests/test-memchr.c (main): Add a zero-size test.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	strncmp tests: Verify N3322 functionality.
	* modules/strncmp: New file.
	* doc/posix-functions/strncmp.texi: Mention the new module.
	* tests/test-strncmp.c: New file.
	* modules/strncmp-tests: New file.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	memcmp tests: Verify N3322 functionality.
	* tests/test-memcmp.c (main): Add zero-size tests.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	strncat tests: Verify N3322 functionality.
	* tests/test-strncat.c (main): Add a zero-size test.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	strndup tests: Verify N3322 functionality.
	* tests/test-strndup.c: New file.
	* modules/strndup-tests: New file.

	strndup: Guarantee N3322 functionality.
	* m4/strndup.m4 (gl_FUNC_STRNDUP): Check against the AIX bug.
	* doc/posix-functions/strndup.texi: Mention the AIX bug.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	strncpy tests: Verify N3322 functionality.
	* modules/strncpy: New file.
	* doc/posix-functions/strncpy.texi: Mention the new module.
	* tests/test-strncpy.c: New file.
	* modules/strncpy-tests: New file.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	memmove tests: Verify N3322 functionality.
	* tests/test-memmove.c: New file.
	* modules/memmove-tests: New file.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	memccpy tests: Verify N3322 functionality.
	* modules/memccpy: New file.
	* doc/posix-functions/memccpy.texi: Mention the new module.
	* tests/test-memccpy.c: New file.
	* modules/memccpy-tests: New file.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	memcpy tests: Verify N3322 functionality.
	* tests/test-memcpy.c: New file.
	* modules/memcpy-tests: New file.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	qsort tests: Verify N3322 functionality.
	* modules/qsort: New file.
	* doc/posix-functions/qsort.texi: Mention the new module.
	* tests/test-qsort.c: New file.
	* modules/qsort-tests: New file.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	bsearch tests: Verify N3322 functionality.
	* modules/bsearch: New file.
	* doc/posix-functions/bsearch.texi: Mention the new module.
	* tests/test-bsearch.c: New file.
	* modules/bsearch-tests: New file.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	realloc-posix: Avoid use of AC_LIBOBJ.
	* modules/realloc-posix (configure.ac): Define
	GL_COND_OBJ_REALLOC_POSIX. Don't invoke AC_LIBOBJ.
	(Makefile.am): Add realloc.c to lib_SOURCES instead.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	realloc-posix: Fix link error (regression yesterday).
	* lib/stdlib.in.h (realloc): Don't inline rpl_realloc if IN_GNULIB_TESTS
	is defined.
	* modules/realloc-posix (Depends-on, configure.ac): Compile realloc.c
	also if REPLACE_REALLOC_FOR_REALLOC_POSIX is 2.

2024-11-05  Bruno Haible  <bruno@clisp.org>

	stdlib: Add a copyright header.
	* lib/stdlib.c: Add a copyright header.

	calloc, malloc: Fix a comment.
	* m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Mention that it sets
	HAVE_MALLOC_PTRDIFF.
	(gl_FUNC_MALLOC_PTRDIFF): Likewise.
	(gl_CHECK_MALLOC_PTRDIFF): Do not mention HAVE_MALLOC_PTRDIFF here.

	calloc: Fix configure test (regression yesterday).
	* m4/calloc.m4 (gl_FUNC_CALLOC_IF): Fix wrong cache variable name.
	Rename cache variable. Restore earlier comment.

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

	safe-alloc: simplify, given new reallocarray behavior
	* lib/safe-alloc.h [__CHERI_PURE_CAPABILITY__]:
	Remove special cases for this, as reallocarray
	now does it for us.
	(safe_alloc_realloc_n): Remove.  All uses replaced by reallocarray.

	argz: defend against realloc (0, 0)
	* modules/argz (Depends-on): Add realloc-posix so that
	argz_append doesn’t wrongly fail with ENOMEM on AIX.

	realloc-posix: update doc
	* doc/posix-functions/realloc.texi: Update to match recent Gnulib
	changes and OS discoveries, and to clarify and simplify by
	coalescing behaviors (4) and (5).

	realloc-posix: tune for glibc-like
	For glibc, implementing realloc (p, s) as realloc (p, s?s:1) suffices,
	and it’s probably better to do it inline to aid static checking.
	* lib/realloc.c (rpl_realloc) [_GL_INLINE_RPL_REALLOC]:
	Remove, replacing with inline function in stdlib.h.
	* lib/stdlib.in.h (_GL_INLINE_RPL_REALLOC): New macro.
	(rpl_realloc): Define as inline if _GL_INLINE_RPL_REALLOC.
	* m4/realloc.m4 (gl_FUNC_REALLOC_0_NONNULL):
	Set REPLACE_REALLOC_FOR_REALLOC_POSIX=2 instead of 1,
	if it’s close enough to glibc that the inline optimization is valid.

	realloc-posix: use _GL_USE_STDLIB_ALLOC
	* lib/realloc.c (_GL_USE_STDLIB_ALLOC):
	New macro, which we can use now that we don’t use malloc.
	(realloc): Do not undef; no longer needed.

	stdlib: make MB_CUR_MAX usable from extern inline
	* lib/stdlib.c: New file.
	* modules/stdlib (Files, lib_SOURCES): Add it.
	(Depends-on): Add extern-inline.
	* lib/stdlib.in.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
	(_GL_STDLIB_INLINE): New macro.
	(gl_MB_CUR_MAX): Make it _GL_STDLIB_INLINE not static inline,
	so that it can be called from extern inline functions.
	Redo implementation to help GCC better optimize common expressions
	like (MB_CUR_MAX == 1).

	realloc-posix: set CHERI bounds
	* lib/ialloc.h, lib/xmalloc.c [__CHERI_PURE_CAPABILITY__]:
	Do nothing special, as realloc and reallocarray
	should do this for us now.
	* lib/realloc.c [__CHERI_PURE_CAPABILITY__]:
	Include cheri.h, and arrange for rpl_realloc to set bounds.

	realloc-posix: realloc (..., 0) now returns nonnull
	* lib/realloc.c (rpl_realloc): Simplify and tune by using
	HAVE_REALLOC_0_NONNULL and HAVE_MALLOC_PTRDIFF, and
	by having just one call to realloc instead of two.
	* lib/reallocarray.c (reallocarray): Simplify and tune
	by delegating the zero case to the revised realloc.
	* m4/eealloc.m4 (_AC_FUNC_REALLOC_IF): Since only eealloc uses
	this macro now, move its definition here ...
	* m4/realloc.m4: ... from here.
	(gl_FUNC_REALLOC_0_NONNULL): Also check that realloc (p, 0)
	returns nonnull.  Require gl_FUNC_REALLOC_POSIX.
	Define HAVE_REALLOC_0_NONNULL.
	* m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY):
	Also replace reallocarray if it returns a null pointer for size zero.
	* modules/eealloc (Files): Remove m4/realloc.m4.
	* modules/realloc-posix (Depends-on): Add extensions-aix.
	* modules/reallocarray (Files): Add m4/realloc.m4.

	stdlib: simplify preprocessor conditionals
	* lib/stdlib.in.h: Omit some redundant tests in conditionals.

	realloc: don’t require success for nongrowth
	* lib/realloc.c (rpl_realloc): Do not require realloc (p, 0) to
	succeed, as apparently glibc realloc (p, n) can sometimes fail
	even when the region would not grow.

	calloc, malloc: tune a bit
	This applies mostly to non-glibc platforms, or to 32-bit
	glibc before glibc 2.30 (2019).
	* lib/calloc.c (rpl_calloc):
	* lib/malloc.c (rpl_malloc):
	Optimize away some of the code if !HAVE_MALLOC_0_NONNULL or if
	!HAVE_MALLOC_PTRDIFF.
	* m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_0_NONNULL.
	(gl_FUNC_MALLOC_PTRDIFF): Define HAVE_MALLOC_PTRDIFF.

	calloc: configure more like malloc
	* m4/calloc.m4 (gl_FUNC_CALLOC_IF): Rename from _AC_FUNC_CALLOC_IF
	since this is not derived from Autoconf.  All uses changed.
	Redo implementation so that it is more like _AC_FUNC_MALLOC_IF;
	this fixes some problems with "volatile" and modernizes the known
	platforms.

	malloc-gnu: depend on stdckdint not xalloc-oversized
	* lib/malloc.c: Include stdckdint.h, xalloc-oversized.h.
	(rpl_malloc): Use ckd_mul instead of xalloc_oversized.
	* modules/malloc-gnu, modules/malloc-posix:
	(Depends-on): Depend on stdckdint, not xalloc-oversized.

	calloc: depend on stdckdint not xalloc-oversized
	* lib/calloc.c: Include stdckdint.h, xalloc-oversized.h.
	(rpl_calloc): Use ckd_mul instead of xalloc_oversized.
	* modules/calloc-gnu, modules/calloc-posix:
	(Depends-on): Depend on stdckdint, not xalloc-oversized.

	malloc etc. tests: use volatile more consistently
	Typically it’s ineffective to use ‘void *volatile p’
	when testing malloc and similar functions, as the compiler
	can optimize the call to malloc before assigning the result
	to the volatile pointer variable.  Instead, be more systematic
	about calling malloc through a volatile function pointer
	so that the compiler cannot infer that it is a malloc call.
	This fix can’t be done for alloca-like functions which may not
	have a function address, so continue to trust to luck there.
	* tests/test-aligned-malloc.c (aligned4_malloc, aligned4_free)
	(aligned8_malloc, aligned8_free, aligned16_malloc)
	(aligned16_free, aligned32_malloc, aligned32_free):
	* tests/test-aligned_alloc.c (aligned_alloc):
	* tests/test-calloc-gnu.c (calloc):
	* tests/test-free.c (free):
	* tests/test-malloc-gnu.c (malloc):
	* tests/test-reallocarray.c (reallocarray):
	Test indirectly, by calling through a volatile pointer.
	* tests/test-aligned-malloc.c, tests/test-aligned_alloc.c:
	* tests/test-calloc-gnu.c, tests/test-calloc-posix.c:
	* tests/test-free.c, tests/test-malloc-gnu.c:
	* tests/test-malloc-posix.c, tests/test-realloc-posix.c:
	* tests/test-reallocarray.c:
	(main) Don’t bother making data pointers olatile, as it’s ineffective.
	* tests/test-calloc-gnu.c (identity):
	* tests/test-free.c (get_errno, get_errno_func):
	Remove; all uses removed.

2024-11-04  Bruno Haible  <bruno@clisp.org>

	aligned_alloc: Fix test failures on macOS, Solaris (regr. 2024-10-30).
	* m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Check for the Solaris
	bug. Let the test program return a bit mask. Update cross-compilation
	guesses.
	* lib/aligned_alloc.c: Include <errno.h>.
	(aligned_alloc): Fail if the alignment is not a power of 2. Work around
	the Solaris bug.
	* modules/aligned_alloc (Depends-on): Add malloc-posix.
	* doc/posix-functions/aligned_alloc.texi: Mention the Solaris bug.

2024-11-04  Bruno Haible  <bruno@clisp.org>

	tests: Add comments.
	* tests/test-aligned_alloc.c (main): Clarify that we test a zero size.
	* tests/test-posix_memalign.c (main): Likewise.

2024-11-04  Bruno Haible  <bruno@clisp.org>

	malloc, calloc, realloc tests: Work around clang optimization bug.
	* tests/test-malloc-posix.c (my_malloc): New variable.
	* tests/test-calloc-posix.c (my_calloc): New variable.
	* tests/test-realloc-posix.c (my_realloc): New variable.

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

	crc: Fix build rules with Automake's option 'subdir-objects'.
	Reported by Pádraig Brady in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-11/msg00011.html>.
	* build-aux/prefix-gnulib-mk: Add comments.
	(usage): Mark this usage as deprecated.
	* modules/crc (Makefile.am): Use %reldir%. Write $(srcdir)/. instead of
	$(srcdir).

2024-11-01  Bruno Haible  <bruno@clisp.org>

	select: Document a Haiku bug.
	* doc/posix-functions/select.texi: Mention a Haiku bug.

2024-11-01  Bruno Haible  <bruno@clisp.org>

	eealloc: Revert last change.
	* m4/eealloc.m4 (gl_EEMALLOC): Invoke _AC_FUNC_MALLOC_IF, not
	gl_CHECK_MALLOC_POSIX.

2024-11-01  Bruno Haible  <bruno@clisp.org>

	realloc-posix: Fix test failure on AIX (regression 2024-10-27).
	* m4/realloc.m4 (gl_FUNC_REALLOC_0_NONNULL): New macro.
	* modules/realloc-posix (configure.ac): Invoke it.

2024-11-01  Bruno Haible  <bruno@clisp.org>

	eealloc: Use the same cross-compilation guess as malloc-posix.
	* m4/eealloc.m4 (gl_EEMALLOC): Invoke gl_CHECK_MALLOC_POSIX, not
	_AC_FUNC_MALLOC_IF.
	* modules/malloca (Files): Add m4/malloc.m4.
	* modules/regex (Files): Likewise.

2024-11-01  Bruno Haible  <bruno@clisp.org>

	Improve log output of an Autoconf test.
	* m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): On native Windows, report
	"guessing yes/no".
	(gl_FUNC_MALLOC_POSIX): Update.
	* m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): Likewise.

2024-10-31  Paul Eggert  <eggert@cs.ucla.edu>

	malloc, realloc: fix $3 bug
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-10/msg00284.html
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
	Sync from bleeding-edge Autoconf again.

2024-10-31  Bruno Haible  <bruno@clisp.org>

	crc: Support generating the tables also when cross-compiling.
	* m4/build-cc.m4: New file.
	* modules/crc (Files): Add it.
	(configure.ac): Invoke gl_BUILD_CC. Don't set GL_CROSS_COMPILING.
	(Makefile.am): Use $(BUILD_CC) etc. instead of $(CC) etc.

2024-10-31  Bruno Haible  <bruno@clisp.org>

	malloc-posix, realloc-posix: Fix incorrect expansion of AC_FUNC_MALLOC.
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Handle the case of a missing third
	argument.
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.

2024-10-31  Bruno Haible  <bruno@clisp.org>

	malloc-gnu, eealloc: Make code more future-proof.
	* m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Protect evaluation of
	$gl_cross_guess_normal.
	* m4/eealloc.m4 (gl_EEMALLOC, gl_EEREALLOC): Likewise.

2024-10-31  Bruno Haible  <bruno@clisp.org>

	malloc-posix, calloc-posix, realloc-posix: Optimize on MSVC.
	* m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Assume that malloc sets errno
	upon failure if UCRT is in use.

2024-10-31  Bruno Haible  <bruno@clisp.org>

	realloc-posix tests: Enhance tests.
	* tests/test-realloc-posix.c (main): Check errno also after normal
	failing realloc calls.

2024-10-31  Bruno Haible  <bruno@clisp.org>

	realloc-posix tests: Fix memory leak.
	* tests/test-realloc-posix.c (main): Don't clobber variable 'p' in
	failing call.

2024-10-31  Bruno Haible  <bruno@clisp.org>

	calloc-posix: Add tests.
	* tests/test-calloc-posix.c: New file.
	* modules/calloc-posix-tests: New file.

2024-10-31  Bruno Haible  <bruno@clisp.org>

	malloc-posix: Add tests.
	* tests/test-malloc-posix.c: New file.
	* modules/malloc-posix-tests: New file.

2024-10-31  Bruno Haible  <bruno@clisp.org>

	realloc-posix: Set errno when failing (regression 2029-10-29).
	* lib/realloc.c (rpl_realloc): When failing, with HAVE_MALLOC_POSIX not
	defined, set errno.

2024-10-31  Bruno Haible  <bruno@clisp.org>

	crc: Avoid potential conflict with other configure.ac files.
	Suggested by Simon Josefsson.
	* modules/crc (configure.ac, Makefile.am): Rename CROSS_COMPILING to
	GL_CROSS_COMPILING.

2024-10-31 Sam Russell  <sam.h.russell@gmail.com>

	crc: Fix compile warnings
	* lib/crc-generate-table.c: Mark non-exported functions as static
	* lib/crc.c: Mark non-exported functions as static

2024-10-31  Bruno Haible  <bruno@clisp.org>

	crc: Don't attempt to run a compiled C program when cross-compiling.
	* lib/crc-generate-table.c: Don't include config.h.
	* modules/crc (configure.ac): Define CROSS_COMPILING variable. Invoke
	AC_PROG_MKDIR_P.
	(Makefile.am): When cross-compiling, don't regenerate crc-sliceby8.h.
	Don't use Gnulib modules while compiling the generator.

2024-10-31  Bruno Haible  <bruno@clisp.org>

	crc: Tweak generator.
	* lib/crc-generate-table.c (print_header): Don't emit a blank line at
	the end.
	(print_copyright_notice): Prepend a "DO NOT EDIT" line.
	(main): Fail if disk is full after we wrote part of the file.

2024-10-31  Simon Josefsson  <simon@josefsson.org>

	crc: make it a maintainer setting rather than a user setting.
	* m4/crc.m4 (gl_CRC_SLICE_BY_8): Drop AC_ARG_ENABLE.

2024-10-31  Sam Russell  <sam.h.russell@gmail.com>

	crc: New optimised slice-by-8 implementation
	* lib/crc.c: Implementation of slice-by-8 algorithm
	* lib/crc-generate-table.c: Generation code for CRC32 lookup tables
	* m4/crc.m4: Autoconf enable slice-by-8, flag to disable
	* modules/crc (Depends-on): Add endian.
	(Makefile.am): Build slice-by-8 tables from crc-generate-table.c.

2024-10-31  Bruno Haible  <bruno@clisp.org>

	posix_memalign: Fix configure test (regression yesterday).
	* m4/posix_memalign.m4 (gl_FUNC_POSIX_MEMALIGN): Fix typo in comment.
	Fix variable name.

2024-10-31  Bruno Haible  <bruno@clisp.org>

	aligned_alloc: Fix comment.
	* m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Fix typo in comment.

2024-10-31  Bruno Haible  <bruno@clisp.org>

	assert-h: Allow mixed use of gcc/g++ also on Haiku 2022.
	* m4/assert_h.m4 (gl_ASSERT_H): Don't assume that in C mode, <assert.h>
	defines static_assert.

2024-10-30  Bruno Haible  <bruno@clisp.org>

	futimes, utimensat, utimes, utime: Document Haiku malfunction.
	* doc/posix-functions/futimens.texi: Mention Haiku's brokenness.
	* doc/posix-functions/utimensat.texi: Likewise.
	* doc/posix-functions/utimes.texi: Likewise.
	* doc/pastposix-functions/utime.texi: Likewise.

2024-10-30  Paul Eggert  <eggert@cs.ucla.edu>

	posix_memalign: check for GNU behavior with size 0
	* lib/posix_memalign.c: Include stdckdint.h.
	(posix_memalign): Test for overflow more straightforwardly,
	and more portably to unlikely platforms where SIZE_MAX <= INT_MAX.
	Treat a zero size as if it were alignment.
	* m4/posix_memalign.m4 (gl_FUNC_POSIX_MEMALIGN):
	* tests/test-posix_memalign.c (main):
	Test zero size too.  Use volatile to avoid compiler optimizations.
	* modules/posix_memalign (Depends-on): Add stdckdint.

	aligned_alloc: check for GNU behavior with size 0
	If someone ever needs to distinguish between GNU and merely POSIX
	behavior we can split this into two modules, but for now just
	make this module act like GNU.
	* lib/aligned_alloc.c (aligned_alloc): Treat zero size like GNU.
	* m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC):
	* tests/test-aligned_alloc.c (main):
	Test zero size too.

2024-10-30  Bruno Haible  <bruno@clisp.org>

	assert-h, stdbool: Fix compilation error with MSVC 14 (regr. yesterday).
	* m4/assert_h.m4 (gl_ASSERT_H): Add parentheses to the preprocessor
	expression.
	* m4/c-bool.m4 (gl_C_BOOL): Likewise.

2024-10-29  Paul Eggert  <eggert@cs.ucla.edu>

	malloc, realloc: sync from Autoconf master
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
	Sync from bleeding-edge Autoconf.  All uses changed.

	malloc: fix recent doc bug for AIX 7.3
	* doc/posix-functions/malloc.texi: Undo previous change,
	as _LINUX_SOURCE_COMPAT no longer affects malloc on AIX 7.3.
	It did affect it in AIX 7.1 but 7.1 is no longer supported.

	realloc-posix: realloc (p, 0) yields nonnull
	* lib/realloc.c: Include <stdckdint.h>, not "xalloc-oversized.h".
	Use of xalloc_oversized replaced by ckd_add.
	(rpl_realloc) [!NEED_SANITIZED_REALLOC]:
	Treat realloc (p, 0) as if it were a realloc (p, 1) that never fails.
	That’s easier, reduces module dependencies,
	and better supports the future alloc-0-nonnull module.
	* modules/realloc-posix (Depends-on): Remove free-posix,
	malloc-posix, xalloc-oversized.  Add stdckdint.

2024-10-29  Collin Funk  <collin.funk1@gmail.com>

	backupfile: Remove non-existent module dependency.
	* modules/backupfile (Depends-on): Remove irealloc dependency since the
	function is a part of the ialloc module.

2024-10-29  Bruno Haible  <bruno@clisp.org>

	Fix indentation in config.h (regression 2024-09-25).
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a '#else' indentation.

2024-10-29  Bruno Haible  <bruno@clisp.org>

	assert-h, stdbool: Allow mixed use of gcc/g++ and clang/clang++ again.
	* m4/assert_h.m4 (gl_ASSERT_H): Improve indentation. With GCC and clang,
	don't use the value of HAVE_C_STATIC_ASSERT.
	* m4/c-bool.m4 (gl_C_BOOL): With GCC and clang, don't use the value of
	HAVE_C_BOOL.

2024-10-29  Bruno Haible  <bruno@clisp.org>

	doc: Don't mention Java dependency.
	* doc/build-automation.texi (Building gnulib): Remove Java from the
	needed tools.

2024-10-28  Collin Funk  <collin.funk1@gmail.com>

	doc: Mention Python dependency.
	* doc/build-automation.texi (Building gnulib): Document that Python is
	needed for gnulib-tool.

2024-10-28  Bruno Haible  <bruno@clisp.org>

	doc: Improve usability of generated PDF.
	* doc/gnulib.texi: Use a brown colour for interactive links.

2024-10-27  Collin Funk  <collin.funk1@gmail.com>

	realloc-gnu: Fix typo in deprecation notice.
	* modules/realloc-gnu (Notice): Recommend 'realloc-posix' in the
	deprecation notice.

2024-10-27  Bruno Haible  <bruno@clisp.org>

	realloc-gnu: Replace module with an alias to realloc-posix.
	* tests/test-realloc-posix.c: Renamed from tests/test-realloc-gnu.c. Add
	more tests, not yet activated.
	* modules/realloc-posix-tests: Renamed from modules/realloc-gnu-tests.
	Test test-realloc-posix instead of test-realloc-gnu.
	* modules/realloc-gnu: Mark as a deprecated alias of 'realloc-posix'.
	* lib/stdlib.in.h (realloc): Ignore GNULIB_REALLOC_GNU.
	* modules/stdlib (Makefile.am): Don't substitute GNULIB_REALLOC_GNU,
	REPLACE_REALLOC_FOR_REALLOC_GNU.
	* m4/stdlib_h.m4 (gl_STDLIB_H_REQUIRE_DEFAULTS): Don't initialize
	GNULIB_REALLOC_GNU.
	(gl_STDLIB_H_DEFAULTS): Don't initialize
	REPLACE_REALLOC_FOR_REALLOC_GNU.
	* m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Remove macro.
	* m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Update comment.
	* doc/posix-functions/realloc.texi: Remove description of module
	'realloc-gnu'.
	* MODULES.html.sh (Memory management functions <stdlib.h>): Remove
	realloc-gnu. Add realloc-posix.

2024-10-27  Bruno Haible  <bruno@clisp.org>

	doc: Add a module index.
	* doc/Makefile (undocumented-modules.texi): New rule.
	(%.info, %.html, %.dvi, %.pdf): Depend on undocumented-modules.texi.
	(mostlyclean): Remove also *.m and *.tmp.
	(force): New rule.
	* doc/*.texi: Add module index entries.
	* doc/*/*.texi: Likewise.

2024-10-26  Paul Eggert  <eggert@cs.ucla.edu>

	posix_memalign: port better to OpenBSD 6.2+ cross
	* m4/posix_memalign.m4 (gl_FUNC_POSIX_MEMALIGN):
	Don’t assume sizeof (void *) <= 32 (!).
	The bug is fixed in OpenBSD 6.2+.

	posix_memalign-tests: fix message typo
	* tests/test-posix_memalign.c (main): Fix diagnostic typo.

	aligned_alloc: document glibc bug 32301
	* doc/posix-functions/aligned_alloc.texi:
	* doc/posix-functions/posix_memalign.texi: Mention glibc bug
	32301, which it is not worth our time to work around.

	eealloc: update commentary
	Even if we remove eealloc we might as well add commentary
	explaining some of its confusion, before we remove it.
	* lib/eealloc.h: Update comment.
	* modules/eealloc (Description):
	Update, since eealloc is not glibc compatible.

2024-10-26  Bruno Haible  <bruno@clisp.org>

	regex: Avoid dialog while running configure test on Haiku/x86_64.
	Reported by Alexandru Popa <alpopa@gmail.com> in
	<https://sourceforge.net/p/clisp/mailman/message/58831511/>.
	* m4/regex.m4 (gl_REGEX): Disable dialog upon abort on Haiku.

2024-10-26  Bruno Haible  <bruno@clisp.org>

	regex: Make configure test more maintainable.
	* m4/regex.m4 (gl_REGEX): Include <malloc.h> before testing for
	M_CHECK_ACTION.

2024-10-26  Bruno Haible  <bruno@clisp.org>

	execute, spawn-pipe: Fix compilation error on Cygwin (regr. 2024-10-22).
	* lib/windows-path.h: Include <stdlib.h>.

2024-10-26  Bruno Haible  <bruno@clisp.org>

	pipe-filter-gi: Correct documentation.
	Reported by Miro Palmu <email@miropalmu.cc> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-10/msg00199.html>.
	* lib/pipe-filter.h (pipe_filter_gi_create): Don't say that this
	function may return NULL.

2024-10-25  Bruno Haible  <bruno@clisp.org>

	eealloc: Relicense under LGPLv2+.
	Jim Meyering's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-10/msg00192.html>.
	* modules/eealloc (License): Change to LGPLv2+.
	* lib/eealloc.h: Update license notice.
	* lib/eealloc.c: Likewise.

2024-10-25  Bruno Haible  <bruno@clisp.org>

	xalloc: Adjust dependencies after last change.
	* modules/xalloc (Depends-on): Remove realloc-gnu. Add realloc-posix.

2024-10-25  Bruno Haible  <bruno@clisp.org>

	ialloc: Fix dependencies.
	* modules/ialloc (Depends-on): Add realloc-posix.

2024-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	realloc: minor style coalescing
	* lib/alignalloc.h (alignalloc):
	* lib/eealloc.h (eerealloc):
	* lib/ialloc.h (irealloc, ireallocarray):
	* lib/safe-alloc.h (safe_alloc_realloc_n):
	Adjust commentary and code to better match what’s used elsewhere.
	This doesn’t change behavior.

	xalloc: port to Cheri, strict C23, realloc null
	* lib/xmalloc.c [__CHERI_PURE_CAPABILITY__]: Include <cheri.h>.
	(xrealloc, xreallocarray): Support Cheri.  Avoid undefined
	behavior in strict C23.  Work better on platforms where
	realloc (p, 0) returns a null pointer

	reallocarray: simplify
	* lib/reallocarray.c (reallocarray): Use simpler workaround
	for realloc glitch, which does not involve malloc.
	* modules/reallocarray (Depends-on): Remove malloc-posix.

2024-10-23  Paul Eggert  <eggert@cs.ucla.edu>

	ialloc: fix realloc-gnu dependency
	* modules/ialloc (Depends-on): Remove realloc-gnu,
	as ialloc.c does not depend on GNU semantics for realloc.

	backupfile: fix irealloc dependency
	* modules/backupfile (Depends-on): Depend on irealloc,
	not realloc-gnu, as the code now uses irealloc not realloc
	and does not depend on GNU semantics anyway.

	group-member: fix malloc-gnu dependency
	* modules/group-member (Depends-on): Depend on malloc-gnu,
	not realloc-gnu, since the code uses malloc not realloc.

	realloc: still more improvements for realloc (p, 0)
	* doc/posix-functions/malloc.texi: AIX is sans _LINUX_SOURCE_COMPAT.
	* doc/posix-functions/realloc.texi:
	Give more details about what recent POSIX versions say,
	and fix some misperceptions about C89 through C11.
	Document that the GNU behavior does not conform to POSIX,
	and that AIX's behavior with _LINUX_SOURCE_COMPAT
	matches glibc's circa 1999 behavior, not its current behavior.
	Be a little less confident about realloc-gnu, since it doesn't
	fully implement current glibc behavior.
	Give more details about when memory leaks or false positives can occur.
	* doc/posix-functions/reallocarray.texi:
	Say that it shares realloc’s woes with zero sizes.

2024-10-22  Sam Russell  <sam.h.russell@gmail.com>

	crc: New tests for non-byte-aligned data.
	* tests/test-crc.c: New tests.
	* modules/crc-tests (Files): Add dependency on randomb.c

2024-10-22  Bruno Haible  <bruno@clisp.org>

	execute, spawn-pipe: Support DLL dependencies of Windows executables.
	Reported by Michele Locati <michele@locati.it>.
	* lib/windows-path.h: New file.
	* lib/windows-path.c: New file.
	* lib/windows-spawn.h (compose_envblock): Add new_PATH parameter.
	(spawnpvech): Add dll_dirs parameter. Call extended_PATH.
	* lib/windows-spawn.c: Include windows-path.h.
	(compose_envblock): Add new_PATH parameter.
	* modules/windows-spawn (Description): Now applies to Cygwin as well.
	(Files): Add lib/windows-path.h, lib/windows-path.c.
	(configure.ac): Define GL_COND_OBJ_WINDOWS_PATH.
	(Makefile.am): Conditionally compile windows-path.c.
	(Include): Add windows-path.h.
	* lib/spawni.c (__spawni): Update compose_envblock call.
	* lib/execute.h (execute): Add dll_dirs parameter.
	* lib/execute.c: Include windows-path.h.
	(execute): Add dll_dirs parameter. Pass it down to spawnpvech. Call
	extended_environ.
	* lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
	Add dll_dirs parameter.
	* lib/spawn-pipe.c: Include windows-path.h.
	(create_pipe): Add dll_dirs parameter. Pass it down to spawnpvech. Call
	extended_environ.
	(create_pipe_bidi, create_pipe_in, create_pipe_out): Add dll_dirs
	parameter.
	* lib/javaexec.c (execute_java_class): Update execute invocations.
	* lib/cygpath.c (execute_and_read_line): Update create_pipe_in
	invocation.
	* lib/javaversion.c (execute_and_read_line): Likewise.
	* lib/csharpcomp.c (compile_csharp_using_mono,
	compile_csharp_using_dotnet, compile_csharp_using_sscli): Update
	execute, create_pipe_in invocations.
	* lib/csharpexec.c (execute_csharp_using_mono,
	execute_csharp_using_dotnet, execute_csharp_using_sscli): Likewise.
	* lib/javacomp.c (compile_using_envjavac, compile_using_javac,
	execute_and_read_line, is_javac_present): Likewise.
	* lib/pipe-filter-gi.c (pipe_filter_gi_create): Update create_pipe_bidi
	invocation.
	* lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
	* tests/test-execute-main.c (main): Update execute invocations.
	* tests/test-execute-script.c (main): Likewise.
	* tests/test-spawn-pipe-main.c (main): Update create_pipe_bidi
	invocation.
	* tests/test-spawn-pipe-script.c (main): Update create_pipe_in
	invocations.
	* NEWS: Mention the changes.

2024-10-21  Bruno Haible  <bruno@clisp.org>

	reallocarray: Don't assume unportable behaviour of realloc.
	* lib/reallocarray.c (reallocarray): Handle the nbytes==0 case
	explicitly.
	* modules/reallocarray (Depends-on): Remove realloc-gnu. Add
	malloc-posix, realloc-posix.

	realloc: Optionally check for undefined behaviour.
	* m4/realloc.m4 (gl_FUNC_REALLOC_SANITIZED): New macro.
	(gl_FUNC_REALLOC_POSIX): Require it. If a sanitized realloc is
	requested, define NEED_SANITIZED_REALLOC and compile realloc.c.
	(gl_FUNC_REALLOC_GNU): Require it. If a sanitized realloc is requested,
	don't compile realloc.c a second time.
	* lib/realloc.c (rpl_realloc): If NEED_SANITIZED_REALLOC is defined,
	abort in the case of undefined behaviour.

2024-10-19  Paul Eggert  <eggert@cs.ucla.edu>

	realloc: more improvements for realloc (p, 0)
	* doc/posix-functions/realloc.texi (realloc):
	Document more realloc (p, 0) gotchas: evolution of C standards,
	errno values, which glibc versions do what, how programs might
	misbehave, what happens when not growing.

2024-10-19  Bruno Haible  <bruno@clisp.org>

	realloc: Improve documentation.
	* doc/posix-functions/realloc.texi: Regarding realloc(p,0), document
	what the platforms actually do, not merely theoretical possibilities.

2024-10-17  Collin Funk  <collin.funk1@gmail.com>

	Use a warranty disclaimer in all-permissive license notices, part 2.
	* doc/gnulib-intro.texi (Copyright): Add a short warranty disclaimer
	sentence.
	* users.txt: Likewise.
	* modules/COPYING: Likewise.

2024-10-17  Bruno Haible  <bruno@clisp.org>

	Use a warranty disclaimer in all-permissive license notices.
	* etc/license-notices/unlimited: Add a short warranty disclaimer
	sentence.
	* m4/*.m4: Update.
	* build-aux/prefix-gnulib-mk: Likewise.
	* HACKING: Likewise.

2024-10-17  Bruno Haible  <bruno@clisp.org>

	gettext: Un-obsolete.
	Reported by Assaf Gordon <assafgordon@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00047.html>.
	* modules/gettext (Description): Add a third purpose.
	(Status, Notice): Remove sections.

2024-10-16  Bruno Haible  <bruno@clisp.org>

	crc tests: Add a benchmark program.
	* tests/macros.h (randomb): New declaration.
	* tests/randomb.c: New file.
	* tests/bench-crc.c: New file.
	* modules/crc-tests (Files): Add them. Add tests/macros.h,
	tests/bench.h.
	(Depends-on): Add getrusage, gettimeofday.
	(Makefile.am): Arrange to compile bench-crc.

2024-10-16  Bruno Haible  <bruno@clisp.org>

	pthread-h tests: Fix a compilation error on MacOS X 10.4.
	Reported by Sevan Janiyan <venture37@geeklan.co.uk> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-11/msg00183.html>.
	* tests/test-pthread.c: Omit the PTHREAD_RWLOCK_INITIALIZER test if
	module 'pthread-rwlock' is not in use.

2024-10-13  Bruno Haible  <bruno@clisp.org>

	string-desc: New function string_desc_c_casecmp.
	* lib/string-desc.h: New declaration.
	* lib/string-desc.c: Include <limits.h>, c-ctype.h.
	(string_desc_c_casecmp): New function.
	* modules/string-desc (Depends-on): Add c-ctype.
	* tests/test-string-desc.c (main): Add tests of string_desc_c_casecmp.

2024-10-13  Bruno Haible  <bruno@clisp.org>

	string-desc: Fix categorization string_desc_new_addr.
	* lib/string-desc.h (string_desc_new_addr): Move to section
	"Side-effect-free operations".
	* lib/string-desc.c (string_desc_new_addr): Move accordingly.

2024-10-12  Bruno Haible  <bruno@clisp.org>

	doc: Recommend string descriptors for application area like parsers.
	* doc/string-desc.texi (Handling strings with NUL characters): Mention
	the ease of taking a substring.

2024-10-11  Bruno Haible  <bruno@clisp.org>

	bison-i18n: Add support for mingw builds on Cygwin hosts.
	* m4/bison-i18n.m4 (BISON_I18N): Define also BISON_LOCALEDIR_c and
	BISON_LOCALEDIR_c_make.
	* modules/bison-i18n (Files): Add m4/build-to-host.m4.

2024-10-11  Bruno Haible  <bruno@clisp.org>

	build-to-host.m4: Add one more convenience macro.
	* m4/build-to-host.m4 (gl_BUILD_TO_HOST_DATADIR): New macro.

2024-10-10  Bruno Haible  <bruno@clisp.org>

	csharpcomp-script: Handle directories with spaces correctly.
	Reported by Michele Locati <michele@locati.it>.
	* build-aux/csharpcomp.sh.in (command_for_print, command_for_eval,
	options_csc_for_print, options_csc_for_eval, sources_csc_for_print,
	sources_csc_for_eval): New variables.
	(sed_protect_1, sed_protect_2a, sed_protect_2b, sed_protect_2c,
	sed_protect_3a, sed_protect_3b): New variables, copied from
	build-aux/x-to-1.in.
	(func_add_word_to_command): New function, copied from
	build-aux/x-to-1.in.
	(func_add_word_to_options_csc, func_add_word_to_sources_csc): New
	functions.
	(options_csc, sources_csc): Remove variables. Use
	func_add_word_to_options_csc, func_add_word_to_sources_csc instead of
	augmenting them.
	Use options_csc_for_print, options_csc_for_eval, sources_csc_for_print,
	sources_csc_for_eval when invoking csc.
	* build-aux/csharpexec.sh.in (sed_quote_subst): Remove unused variable.

2024-10-10  Bruno Haible  <bruno@clisp.org>

	java{comp,exec}-script, csharp{comp,exec}-script: Improve debugging.
	* build-aux/javaexec.sh.in: Send debugging output to stderr, not stdout.
	* build-aux/javacomp.sh.in: Likewise.
	* build-aux/csharpexec.sh.in: Likewise.
	* build-aux/csharpcomp.sh.in: Likewise.

2024-10-09  Bruno Haible  <bruno@clisp.org>

	csharpcomp: Avoid error on Windows.
	Reported by Michele Locati <michele@locati.it>.
	* build-aux/csharpcomp.sh.in: Don't produce -reference options for DLLs
	whose name starts with a lowercase letter or contains '.Native.'.
	* lib/csharpcomp.c (name_is_dll): Filter our file names that start with
	a lowercase letter or contain '.Native.'.

2024-10-09  Bruno Haible  <bruno@clisp.org>

	csharpcomp-script: Recognize dotnet even without --enable-csharp=dotnet.
	* m4/csharpcomp.m4 (gt_CSHARPCOMP): Try 'dotnet' also when
	--enable-csharp=dotnet is not specified.

2024-10-08  Bruno Haible  <bruno@clisp.org>

	csharpcomp: Add support for dotnet.
	* lib/csharpcomp.c: Include <dirent.h>, concat-filename.h, xvasprintf.h.
	(name_is_dll): New function, from lib/csharpexec.c.
	(compile_csharp_using_dotnet): New function.
	(compile_csharp_class): Invoke compile_csharp_using_dotnet.
	* modules/csharpcomp (Depends-on): Add xconcat-filename, scandir,
	alphasort, xvasprintf.

	csharpcomp-script: Add support for dotnet.
	* m4/csharpcomp.m4 (gt_CSHARPCOMP): Support 'dotnet' as implementation.
	Set HAVE_DOTNET_SDK, HAVE_DOTNET_CSC.
	* build-aux/csharpcomp.sh.in: Add implementations for the cases
	$HAVE_DOTNET_SDK = 1 and $HAVE_DOTNET_CSC = 1.

2024-10-08  Bruno Haible  <bruno@clisp.org>

	csharpexec: Add support for dotnet.
	* lib/csharpexec.c: Include <dirent.h>, <errno.h>, <sys/stat.h>,
	dirname.h, concat-filename.h, canonicalize.h, spawn-pipe.h,
	wait-process.h, xalloc.h, copy-file.h, clean-temp-simple.h,
	clean-temp.h.
	(name_is_dll, execute_csharp_using_dotnet): New functions.
	(execute_csharp_program): Invoke execute_csharp_using_dotnet.
	* modules/csharpexec (Depends-on): Add stat, dirname, xconcat-filename,
	canonicalize, spawn-pipe, wait-process, scandir, alphasort, copy-file,
	clean-temp-simple, clean-temp.

	csharpexec-script: Add support for dotnet.
	* m4/csharpexec.m4 (gt_CSHARPEXEC): Support 'dotnet' as implementation.
	Set HAVE_DOTNET.
	* build-aux/csharpexec.sh.in (func_tmpdir): New function, copied from
	build-aux/csharpcomp.sh.in.
	Add implementation for the case $HAVE_DOTNET = 1.

2024-10-08  Bruno Haible  <bruno@clisp.org>

	csharpexec-script, csharpcomp-script: Prepare support for dotnet.
	* m4/csharp.m4 (gt_CSHARP_CHOICE): Recognize 'dotnet' as value of
	--enable-csharp.

2024-10-08  Bruno Haible  <bruno@clisp.org>

	csharpcomp: Behave like csharpcomp-script.
	* lib/csharpcomp.c (compile_csharp_using_sscli): Pass the option
	'-nologo' to csc.

2024-10-08  Bruno Haible  <bruno@clisp.org>

	csharpcomp: Fix memory management bug (regression yesterday).
	* lib/csharpcomp.c (compile_csharp_using_sscli): Allocate the source
	options with malloc() always, not sometimes with malloca() and sometimes
	with malloc().

2024-10-07  Bruno Haible  <bruno@clisp.org>

	csharpcomp: Improve Cygwin support.
	* lib/csharpcomp.c: Include cygpath.h.
	(compile_csharp_using_sscli): Convert the file names passed to 'csc' to
	native Windows syntax.
	* modules/csharpcomp (Depends-on): Add cygpath.

	csharpcomp-script: Improve Cygwin support.
	* build-aux/csharpcomp.sh.in: Convert the file names passed to 'csc' to
	native Windows syntax.

2024-10-07  Bruno Haible  <bruno@clisp.org>

	csharpexec: Improve Cygwin support.
	* lib/csharpexec.c: Include cygpath.h.
	(execute_csharp_using_sscli): Convert the first 'clix' argument to
	native Windows syntax.
	* modules/csharpexec (Depends-on): Add cygpath.

	csharpexec-script: Improve Cygwin support.
	* build-aux/csharpexec.sh.in: Convert the first 'clix' argument to
	native Windows syntax.

2024-10-07  Bruno Haible  <bruno@clisp.org>

	cygpath: New module.
	* lib/cygpath.h: New file.
	* lib/cygpath.c: New file, based on lib/javaversion.c.
	* modules/cygpath: New file.

2024-10-07  Bruno Haible  <bruno@clisp.org>

	mntent: Fix syntax error when module 'hasmntopt' is not in use.
	Reported by Bernhard Voelker <mail@bernhard-voelker.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-10/msg00039.html>.
	* modules/mntent (configure.ac): Invoke gl_MNTENT_H_REQUIRE_DEFAULTS.

2024-10-07  Bruno Haible  <bruno@clisp.org>

	file-has-acl: Fix test failure on Cygwin.
	* lib/file-has-acl.c (file_has_aclinfo): On Cygwin, don't fail if
	acl_get_file (name, ACL_TYPE_DEFAULT) returns NULL on a file of unknown
	type.

2024-10-07  Bruno Haible  <bruno@clisp.org>

	file-has-acl: Fix performance regression on FreeBSD, Cygwin.
	* lib/dirent.in.h (_GL_DT_NOTDIR): New macro.
	* lib/acl.h (ACL_SYMLINK_FOLLOW): Increase value.
	* lib/file-has-acl.c (file_has_aclinfo): Don't call
	acl_get_file (name, ACL_TYPE_DEFAULT) if we know that name does not
	denote a directory.
	(file_has_acl): Extract from *SB the information that NAME is not a
	directory.

2024-10-07  Bruno Haible  <bruno@clisp.org>

	file-has-acl: Fix comments.
	* lib/file-has-acl.c (file_has_aclinfo): Fix typo in comment.

2024-10-06  Bruno Haible  <bruno@clisp.org>

	javacomp, javaversion: Fix resource leak.
	* lib/javacomp.c (execute_and_read_line): When fdopen fails, terminate
	the program.
	* lib/javaversion.c (execute_and_read_line): Likewise. When we can't
	read a single line, call fclose and wait_subprocess, to free resources.

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

	mktime: fix daylight default
	Problem for FreeBSD 14 reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-10/msg00026.html
	* m4/mktime.m4 (gl_PREREQ_MKTIME): Default daylight to 1, not 0.

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

	mktime: improve thread-safety
	* lib/mktime.c (__mktime_internal) [!_LIBC]: Double the number of
	probes.  Although this isn’t guaranteed to suffice, it should be
	good enough for practical applications, and fixing the problem
	in general would require access to the underlying tz state lock
	which would be hard to do.

	mktime: fix timegm bug that set tmp->tm_isdst
	* lib/timegm.c (__timegm64): Omit now-unnecessary initialization
	of tm_isdst.  Anyway, the initialization was always wrong, since
	timegm should not modify *TMP when it fails.

	mktime: refactor to get closer to glibc
	* lib/mktime.c (convert_time): Reorder args.
	(__tz_convert): New macro.  All convert_time callers changed to use it.

2024-10-04  Bruno Haible  <bruno@clisp.org>

	iconv_open: Fix undefined behaviour.
	Reported by Tim Sweet <tsweet64@protonmail.com>
	at <https://savannah.gnu.org/bugs/?66289>.
	* lib/iconv.c (utf32be_mbtowc, utf32le_mbtowc): Cast 'unsigned char'
	values to ucs4_t before shifting them to the left.

2024-10-04  Bruno Haible  <bruno@clisp.org>

	bcp47: Refactor.
	* lib/bcp47.c (SCRIPT_*): New macros.
	(default_script_in_territory, default_script_for_language2,
	default_script_for_language3): New functions.
	(xpg_to_bcp47, bcp47_to_xpg): Use them.

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

	timegm: ignore incoming tm_isdst
	Problem reported by Florian Weimer via a proposed glibc patch in:
	https://sourceware.org/pipermail/libc-alpha/2024-October/160310.html
	* lib/mktime.c (__mktime_internal): Ignore any tm_isdst request
	if the timezone never observes DST, as is the case for timegm.
	* m4/mktime.m4 (gl_PREREQ_MKTIME): Define new C macro __daylight
	if needed.

	timegm: desync from glibc for now
	* config/srclist.txt: Omit time/timegm.c and time/mktime-internal.h
	for now, until we can sync glibc from Gnulib.
	* lib/mktime-internal.h, lib/timegm.c: Revert autoupdate, going
	back to the recent Gnulib-specific version.

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

	mktime: prefer static_assert to verify
	This should work better with glibc.
	* lib/mktime.c: Do not include verify.h.
	Use static_assert instead of verify.
	* modules/mktime (Depends-on): Depend on assert-h, not verify.

	mktime: refactor convert_time
	This is to better merge with a future version of glibc.
	This merges a glibc patch by Florian Weimer in:
	https://sourceware.org/pipermail/libc-alpha/2024-October/160308.html
	* lib/mktime.c (convert_time): Accept a boolean flag instead
	of a function pointer.  All callers changed.

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

	bcp47: Add tests.
	* tests/test-bcp47.c: New file.
	* modules/bcp47-tests: New file.

	bcp47: New module.
	* lib/bcp47.h: New file.
	* lib/bcp47.c: New file.
	* modules/bcp47: New file.

2024-10-02  Collin Funk  <collin.funk1@gmail.com>

	error, verror: Don't call va_end twice.
	* lib/error.c (error_tail): Remove va_end call.

2024-10-02  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl: no need for struct stat
	Change the API of the new file_has_aclinfo function so that it no
	longer needs a struct stat *.  In some cases this can help GNU ls
	avoid an unnecessary ‘stat’ call for each file it lists, which
	can be a significant win.
	* lib/acl.h (ACL_SYMLINK_NOFOLLOW): Change from 1 to UCHAR_MAX+1
	so that it can be ORed with any d_type value.
	* lib/file-has-acl.c: Include dirent.h, for the DT_* macros.
	Check that ACL_SYMLINK_NOFOLLOW is outside unsigned char range.
	(file_has_aclinfo): Change API so that struct stat is no longer
	needed.  Instead, the file type (if known) is passed as part of
	the flags.  All callers changed.  Simplify NFSv4 code.
	* modules/file-has-acl (Depends-on): Add assert-h for static_assert,
	and dirent for DT_* macros.
	* tests/test-file-has-acl.c: Include dirent.h.
	(main): Adjust to file_has_aclinfo API change.
	Briefly test ACL_SYMLINK_FOLLOW.

	dirent: define DT_* macros on all platforms
	* lib/dirent.in.h (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK)
	(DT_REG, DT_LNK, DT_SOCK, DT_WHT): Define these on all platforms,
	if the system does not already define them.  Check that they
	have distinct values.
	(_GL_DIRENT_S_ISWHT, _GL_DIRENT_S_IFWHT) [!(IFTODT && DTTOIF)]:
	New macros.
	(IFTODT, DTTOIF): Define if not already defined.
	* modules/dirent (Depends-on): Add assert-h, extensions.

2024-10-02  Bruno Haible  <bruno@clisp.org>

	Silence -Wunused-const-variable warnings in Gnulib code.
	Reported by Yuri Kanivetsky <yuri.kanivetsky@gmail.com>
	via Pádraig Brady in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-10/msg00007.html>.
	* m4/gnulib-common.m4 (gl_CC_GNULIB_WARNINGS): Add
	-Wno-unused-const-variable whenever it is supported.

2024-10-01  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl-tests: omit string.h include
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-10/msg00001.html
	* tests/test-file-has-acl.c: Don’t include string.h.

	file-has-acl.c: port back to macOS
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-10/msg00000.html
	* lib/file-has-acl.c (file_has_aclinfo): Don’t attempt to link to
	acl_extended_file if !HAVE_ACL_EXTENDED_FILE.  Most of this patch
	consists of indenting changes; the real change is to use ‘#if’
	rather than ‘if’.

2024-10-01  Bruno Haible  <bruno@clisp.org>

	localename-unsafe: Modernize locale name mapping.
	* lib/localename-unsafe.c (gl_locale_name_from_win32_LANGID): Return
	"az" instead of "az@latin", "az_AZ" instead of "az_AZ@latin",
	"ber_MA" instead of "ber_MA@arabic", "ber_DZ" instead of "ber_DZ@latin".

2024-09-30  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl: improve performance on Linux symlinks
	* lib/file-has-acl.c (USE_LINUX_XATTR): Now can be used outside #if.
	(file_has_aclinfo): As an optimization on Linux, do not attempt to
	get extended attributes on symlinks, as this will always fail.
	Also, use lgetxattr (not getxattr) and acl_extended_file_nofollow
	(not acl_extended_file) when not following symlinks, to avoid some
	races.

2024-09-30  Bruno Haible  <bruno@clisp.org>

	selinux-h: Fix two syntax errors.
	* m4/selinux-selinux-h.m4 (gl_CHECK_HEADER_SELINUX_SELINUX_H):
	Terminate each 'case' clause with ';;'. Remove extraneous closing brace.

2024-09-30  Bruno Haible  <bruno@clisp.org>

	file-has-acl: Fix compilation error (regression yesterday).
	* m4/acl.m4 (gl_FILE_HAS_ACL): Require, not invoke,
	gl_CHECK_HEADER_SELINUX_SELINUX_H.

2024-09-29  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl: new function file_has_aclinfo
	This is for GNU coreutils, whose ‘ls’ can be made faster with the
	new function because it means (for example) that ‘ls’ needn’t call
	both listxattr and lgetxattr in the common case where the file has
	no extended attributes.
	* lib/acl.h (ACL_SYMLINK_FOLLOW): New constant.
	(struct aclinfo): New type.
	* lib/file-has-acl.c (UNKNOWN_SECURITY_CONTEXT): New constant.
	(USE_LINUX_XATTR): New macro.  When set:
	Include stdint.h (for uint32_t).  If also USE_SELINUX_SELINUX_H,
	include selinux/selinux.h (for getfilecon).
	If HAVE_SMACK, include <sys/smack.h>, otherwise provide substitutes
	for smack_smackfs_path and smack_new_label_from_path.
	(is_smack_enabled): New function.
	(aclinfo_has_xattr): Rename from have_xattr and make it extern.
	Use struct aclinfo const * arg instead of char const * and ssize_t.
	Work even if ai->size < 0.  Supply a no-op macro on platforms
	lacking xattr.
	(get_aclinfo): New static function, much of it taken from
	coreutils/src/ls.c.
	(file_has_aclinfo): New function, which generalizes file_has_acl
	to provide more info.  Its body is taken from the old file_has_acl
	with new stuff from ls.c.
	(file_has_acl): Use it.
	(aclinfo_scontext_free, aclinfo_free): Nwew functions, if not
	already no-op macros.
	* m4/acl.m4 (gl_FUNC_ACL_ARG): Add --without-libsmack option.
	(gl_FILE_HAS_ACL): Check for libsmack, selinux.
	* m4/selinux-selinux-h.m4 (gl_CHECK_HEADER_SELINUX_SELINUX_H):
	New macro, for use by file-has-acl.  Rename HAVE_SELINUX_SELINUX_H
	to USE_SELINUX_SELINUX_H to avoid confusion as to whether we have
	<selinux/selinux.h>; all uses changed.
	(gl_HEADERS_SELINUX_SELINUX_H): Use the new macro.
	* modules/file-has-acl (Files): Add m4/selinux-selinux-h.m4.
	(Depends-on): Add errno, ssize_t.
	* tests/test-file-has-acl.c (main): Add a little test for
	file_has_aclinfo.

2024-09-26  Bruno Haible  <bruno@clisp.org>

	string-buffer tests: Avoid test failure on native Windows.
	Reported by Michele Locati <mlocati@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-09/msg00135.html>.
	* tests/test-string-buffer.c (main): Skip a wchar_t test on native
	Windows.

2024-09-25  Bruno Haible  <bruno@clisp.org>

	manywarnings: Enable -Wthread-safety for clang.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Enable -Wthread-safety
	if supported.

2024-09-25  Bruno Haible  <bruno@clisp.org>

	build-to-host.m4: Add one more convenience macro.
	* m4/build-to-host.m4 (gl_BUILD_TO_HOST_PKGLIBEXECDIR): New macro.

2024-09-25  Bruno Haible  <bruno@clisp.org>

	relocatable-lib-lgpl: Add support for mingw builds on Cygwin hosts.
	Reported by Michele Locati <michele@locati.it> in
	<https://lists.gnu.org/archive/html/bug-gettext/2024-09/msg00033.html>.
	* m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Use
	gl_BUILD_TO_HOST on the value of INSTALLPREFIX.
	* modules/relocatable-lib (Files): Add m4/build-to-host.m4.
	* modules/relocatable-lib-lgpl (Files): Likewise.
	* modules/relocatable-prog-wrapper (Files): Likewise.

2024-09-25  Bruno Haible  <bruno@clisp.org>

	build-to-host.m4: Add some convenience macros.
	Reported by Michele Locati <michele@locati.it> in
	<https://lists.gnu.org/archive/html/bug-gettext/2024-09/msg00033.html>.
	* m4/build-to-host.m4 (gl_BUILD_TO_HOST_BINDIR, gl_BUILD_TO_HOST_LIBDIR,
	gl_BUILD_TO_HOST_LIBEXECDIR, gl_BUILD_TO_HOST_LOCALEDIR,
	gl_BUILD_TO_HOST_PKGDATADIR, gl_BUILD_TO_HOST_PKGLIBDIR): New macros.
	* m4/gettext.m4 (AM_GNU_GETTEXT): Invoke gl_BUILD_TO_HOST_LOCALEDIR.
	* doc/relocatable-maint.texi (Supporting Relocation): Suggest to use the
	*dir_c_make variables and explain how to get them.

2024-09-25  Bruno Haible  <bruno@clisp.org>

	xstring-buffer: New module.
	* lib/string-buffer.h (sb_xappend1, sb_xappend_desc, sb_xappend_c,
	sb_xappendvf, sb_xappendf, sb_xcontents_c, sb_xdupfree, sb_xdupfree_c):
	New declarations.
	* lib/xstring-buffer.c: New file.
	* lib/xstring-buffer-printf.c: New file.
	* modules/xstring-buffer: New file.

2024-09-25  Bruno Haible  <bruno@clisp.org>

	string-buffer: Add more API.
	* lib/string-buffer.h: Include string-desc.h.
	(sb_append1, sb_append_desc): New declarations.
	(sb_append_c): Renamed from sb_append.
	(sb_contents, sb_contents_c, sb_dupfree): New declarations.
	(sb_dupfree_c): Renamed from sb_dupfree.
	* lib/string-buffer.c (sb_append1, sb_append_desc): New functions.
	(sb_append_c): Renamed from sb_append.
	(sb_contents, sb_contents_c, sb_dupfree): New functions.
	(sb_dupfree_c): Renamed from sb_dupfree. Optimize.
	* modules/string-buffer (Depends-on): Add string-desc.
	* tests/test-string-buffer.c (main): Use sb_append_c instead of
	sb_append. Use sb_dupfree_c instead of sb_dupfree. Test also sb_append1,
	sb_append_desc, sb_contents.
	* NEWS: Mention the changes.

2024-09-25  Bruno Haible  <bruno@clisp.org>

	string-buffer: Enable resource leak warnings from clang.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Define the macros
	_GL_ATTRIBUTE_CAPABILITY_TYPE, _GL_ATTRIBUTE_ACQUIRE_CAPABILITY,
	_GL_ATTRIBUTE_RELEASE_CAPABILITY.
	* lib/string-buffer.h (sb_heap_allocated_pointer_t): New type.
	(struct string_buffer): Use it.
	(sb_init): Mark with _GL_ATTRIBUTE_ACQUIRE_CAPABILITY.
	(sb_free, sb_dupfree): Mark with _GL_ATTRIBUTE_RELEASE_CAPABILITY.
	* lib/string-buffer.c: Silence the -Wthread-safety warnings in this
	compilation unit.

2024-09-24  Bruno Haible  <bruno@clisp.org>

	string-buffer: Remove INT_MAX limitation.
	* lib/string-buffer.h (sb_appendvf, sb_appendf): Document that errno is
	set upon failure.
	* lib/string-buffer-printf.c: Include <errno.h>.
	(sb_appendvf): Call vsnzprintf instead of vsnprintf. Ensure errno is
	set upon failure.
	(sb_appendf): Likewise.
	* modules/string-buffer (Depends-on): Add vsnzprintf-posix. Remove
	vsnprintf-posix.
	* tests/test-string-buffer.c (main): Test error code from sb_appendf.

2024-09-24  Bruno Haible  <bruno@clisp.org>

	string-buffer: Link to vasnprintf implementation only when needed.
	* lib/string-buffer-printf.c: New file, extracted from
	lib/string-buffer.c.
	* lib/string-buffer.c: Don't include <stdarg.h>.
	(sb_ensure_more_bytes): Declare. Make non-static.
	(sb_appendvf, sb_appendf): Moved to lib/string-buffer-printf.c.
	* modules/string-buffer (Files): Add lib/string-buffer-printf.c.
	(Makefile.am): Arrange to compile string-buffer-printf.c.

2024-09-24  Bruno Haible  <bruno@clisp.org>

	sfl-istream: Add tests.
	* tests/test-sfl-istream.c: New file, based on tests/test-sf-istream.c.
	* modules/sfl-istream-tests: New file.

	sfl-istream: New module.
	* lib/sfl-istream.h: New file.
	* lib/sfl-istream.c: New file.
	* modules/sfl-istream: New file.

2024-09-24  Bruno Haible  <bruno@clisp.org>

	sf-istream: Add tests.
	* tests/test-sf-istream.c: New file.
	* modules/sf-istream-tests: New file.

	sf-istream: New module.
	* lib/sf-istream.h: New file.
	* lib/sf-istream.c: New file.
	* modules/sf-istream: New file.
	* doc/posix-functions/fmemopen.texi: Mention the new module.

2024-09-23  Bruno Haible  <bruno@clisp.org>

	getopt-posix: Fix compilation error in C++ mode (regression 2024-09-21).
	* lib/getopt-pfx-core.h: On AIX, HP-UX, Solaris, QNX, include <stdio.h>
	first.

2024-09-23  Bruno Haible  <bruno@clisp.org>

	jit/cache tests: Fix link error (regression 2024-09-20).
	* m4/libdl.m4: New file.
	* modules/jit/cache-tests (Files): Add it.
	(configure.ac): Invoke gl_LIBDL.
	(Makefile.am): Link test-cache with $(LIBDL).

2024-09-23  Bruno Haible  <bruno@clisp.org>

	utimens: Fix test failure on NetBSD 10 (regression 2024-09-16).
	* lib/utimens.h (utimens): Declare as an override if utimens exists in
	libc.
	(lutimens): Declare as an override if lutimens exists in libc.
	* lib/utimens.c (is_valid_timespec, is_valid_timespecs): New functions,
	extracted from validate_timespec.
	(validate_timespec): Call is_valid_timespecs.
	(utimens, lutimens): On NetBSD, validate the argument before calling
	NetBSD's libc function.
	* tests/test-utimens-common.h (check_ctime): Set to -1 on NetBSD.

2024-09-21  Bruno Haible  <bruno@clisp.org>

	getopt-posix, crypto/md5-buffer: Fix __GNUC_PREREQ re clang.
	* lib/getopt-cdefs.in.h (__GNUC_PREREQ): Copy definition from
	lib/libc-config.h.
	* lib/md5.h (__GNUC_PREREQ): Likewise.

2024-09-21  Henrik Lindström  <henrik@lxm.se>

	getopt-posix: Improve definition of __GNUC_PREREQ.
	* lib/getopt-cdefs.in.h (__GNUC_PREREQ): Test __GNUC_MINOR__, not
	__GNUC_VERSION__.

2024-09-20  Paul Eggert  <eggert@cs.ucla.edu>

	sigsegv-tests: port to GCC 14
	GCC 14 on x86-64 with -O2 apparently outsmarts our test for null
	pointer dereference, and this is something the C standard allows.
	Fix the test by putting ‘volatile’ at the right place.
	* tests/test-sigsegv-catch-stackoverflow2.c (null_pointer):
	Make it a volatile pointer, not a pointer to volatile.
	Also, rename from null_pointer_to_volatile_int; use changed.

2024-09-20  Bruno Haible  <bruno@clisp.org>

	jit/cache tests: Fix crash with clang's UBSAN + ASAN.
	* tests/jit/test-cache.c (clang_ubsan_workaround): New variable.
	(CODE, SET_CODE): Use it.
	(main): Initialize it.

2024-09-20  Bruno Haible  <bruno@clisp.org>

	unictype/scripts: Fix integer overflow in generated table.
	Reported by clang through a -Wconstant-conversion warning.
	* lib/gen-uni-tables.c (output_scripts): Generate a level2 array of
	'unsigned short', not 'short', values.
	* lib/unictype/scripts.h: Regenerated.
	* lib/unictype/scripts.c (uc_script): Update accordingly.

2024-09-20  KO Myung-Hun  <komh78@gmail.com>

	wait-process: Use waitpid() of LIBCx on OS/2 kLIBC if available.
	* lib/wait-process.c (klibc_waitpid) [kLIBC]: New function.
	(waitpid) [kLIBC]: Define it to klibc_waitpid.

2024-09-19  Bruno Haible  <bruno@clisp.org>

	spawn-pipe: Simplify.
	* m4/spawn-pipe.m4 (gl_SPAWN_PIPE): Don't define HAVE_LIBCX_SPAWN2_H as
	an AC_SUBSTed variable. Don't test for it on platforms other than OS/2.

2024-09-19  KO Myung-Hun  <komh78@gmail.com>

	spawn-pipe: Support a directory argument of create_pipe() on OS/2 kLIBC.
	* lib/os2-spawn.h (spawnpvech): New declaration.
	* lib/os2-spawn.c (spawnpvech): New function.
	* lib/spawn-pipe.c (create_pipe) [kLIBC]: Reimplement with spawnpvech().
	* m4/spawn-pipe.m4 (gl_SPAWN_PIPE) [HAVE_LIBCX_SPAWN2_H]: Check if
	libcx/spawn2.h is available.

2024-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	utimens: port to NetBSD-10.99.12/amd64
	On this platform, <sys/time.h> declares utimens and lutimens and the
	C library defines them, so we needn’t (and shouldn’t).
	Problem reported privately by Thomas Klausner.
	* lib/utimens.c (utimens) [HAVE_UTIMENS]: Don’t define.
	(lutimens) [HAVE_LUTIMENS]: Don’t define.
	* lib/utimens.h [HAVE_UTIMENS || HAVE_LUTIMENS]:
	Include <sys/time.h>, for NetBSD’s declaration of utimens and lutimens.
	(utimens) [HAVE_UTIMENS]: Don’t declare.
	(lutimens) [HAVE_LUTIMENS]: Don’t declare.
	* m4/utimens.m4 (gl_UTIMENS): Check for utimens, lutimens.

2024-09-16  Bruno Haible  <bruno@clisp.org>

	stdlib: Fix compilation error with Sun C++.
	* lib/stdlib.in.h: Don't obey the special invocation convention when
	Sun C++ is used.

2024-09-16  Bruno Haible  <bruno@clisp.org>

	stdc_count_ones: Fix compilation error with g++ < 4.4.
	* lib/stdbit.in.h (__gl_stdbit_popcount_wide): Suffix 64-bit integer
	constant with LL.

2024-09-16  Bruno Haible  <bruno@clisp.org>

	faccessat: Correct errno value on AIX.
	* lib/faccessat.c (rpl_faccessat): Do the trailing-slash workaround also
	if the original faccessat invocation failed.

2024-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	fflush: NetBSD, OpenBSD can’t fflush input
	* m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Guess no on NetBSD and
	OpenBSD; they document fflush to fail unless the stream is open
	for writing.

2024-09-16  Bruno Haible  <bruno@clisp.org>

	unictype/category-of: Fix integer overflow in generated table.
	Reported by clang through -Wconstant-conversion warnings.
	* lib/gen-uni-tables.c (output_category): Generate a level2 array of
	'unsigned short', not 'short', values.
	* lib/unictype/categ_of.h: Regenerated.
	* lib/unictype/categ_of.c (lookup_withtable): Update accordingly.

2024-09-16  Bruno Haible  <bruno@clisp.org>

	unilbrk tests: Avoid two gcc -Wparentheses warnings.
	* tests/unilbrk/test-uc-possible-linebreaks.c (main): Add redundant
	parentheses.

2024-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime no longer depends on nstrftime
	I discovered this unnecessary dependency when debugging
	GNU Patch.
	* lib/parse-datetime.y:
	(populate_local_time_zone_table) [!HAVE_STRUCT_TM_TM_ZONE]:
	(debug_strfdatetime): Use strftime not nstrftime,
	as we don’t need nstrftime’s extensions or bug fixes.
	* modules/parse-datetime (Depends-on): Remove nstrftime.
	Also remove setenv, unsetenv, timegm, as this module
	no longer depends on them directly.

	Don’t port July [[...]] changes to C89
	Yesterday’s changes to port to C17 and earlier were intrusive,
	since they twice replaced one macro with two.  Revert the macro
	definitions to what they were before yesterday, and instead change
	callers so that they always have four arguments even if the last
	one is empty.  Although this change requires C99 or later, that’s
	safe nowadays.  Suggested by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-09/msg00079.html
	* doc/gnulib-readme.texi (C99 features assumed):
	Document that we assume this C99 feature.
	* lib/c++defs.h (_GL_FUNCDECL_RPL, _GL_FUNCDECL_SYS):
	Revert yesterday’s changes.  All callers changed.
	Add comments explaining the required comma before missing attrs.

2024-09-16  Bruno Haible  <bruno@clisp.org>

	wchar: Fix compilation error (regression yesterday).
	* lib/wchar.in.h (wctob): Use _GL_FUNCATTR_RPL, _GL_FUNCATTR_SYS here
	as well.

	wchar: Fix compilation error (regression yesterday).
	* lib/wchar.in.h (btowc): Use _GL_FUNCATTR_RPL, _GL_FUNCATTR_SYS here
	as well.

2024-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	Port July changes for [[...]] to C17

	The July 30 changes to _GL_FUNCDECL_RPL etc. to support use of
	attributes in bracket syntax used a C23 preprocessor feature that is
	a common extension to C17 and earlier, but which doesn’t work when
	compiled with stricter C17-and-earlier compilers.  The feature is
	using ‘#define f(a, ...) b’ and calling ‘f’ with only one arg.
	Port back to C17 and earlier.  Problem discovered with
	IBM XL C/C++ for AIX, V12.1 (5765-J02, 5725-C72) on cfarm111.
	* lib/c++defs.h (_GL_FUNCDECL_RPL): Turn this into two macros
	_GL_FUNCDECL_RPL and _GL_FUNCATTR_RPL.  The first macro is for
	functions without attributes, the second one for functions with
	attributes.  All uses changed.
	(_GL_FUNCDECL_SYS): Likewise, turn this into _GL_FUNCDECL_SYS
	and _GL_FUNCATTR_SYS.

2024-09-15  Bruno Haible  <bruno@clisp.org>

	unilbrk: Some more tweaks.
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks_loop):
	Assign to preceding_prop at each loop round. Assign to prev2_ea,
	prev_ea, prev_nus also when a line break was seen.
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks_loop):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks_loop):
	Likewise.

2024-09-15  Bruno Haible  <bruno@clisp.org>

	unilbrk: Strengthen tests.
	* lib/gen-uni-tables.c: Add shell commands for creating
	tests/unilbrk/LineBreakTest.txt.
	* tests/unilbrk/LineBreakTest.txt: New file, from unicode.org.
	* tests/unilbrk/test-uc-possible-linebreaks.c: New file, based on
	tests/uniwbrk/test-uc-wordbreaks.c.
	* tests/unilbrk/test-uc-possible-linebreaks.sh: New file, based on
	tests/uniwbrk/test-uc-wordbreaks.sh.
	* modules/unilbrk/u32-possible-linebreaks-tests (Files): Add them.
	(Makefile.am): Arrange to compile test-uc-possible-linebreaks.c and test
	test-uc-possible-linebreaks.sh.

2024-09-15  Bruno Haible  <bruno@clisp.org>

	uniwbrk tests: Modernize code.
	* tests/uniwbrk/test-uc-wordbreaks.c (main): Reduce the scope of local
	variables. Remove memset() calls. Align expected and actial output
	lines. Add comments.

2024-09-15  Bruno Haible  <bruno@clisp.org>

	unigbrk tests: Modernize code.
	* tests/unigbrk/test-uc-grapheme-breaks.c (main): Reduce the scope of
	local variables. Add comments.
	* tests/unigbrk/test-uc-is-grapheme-break.c (main): Likewise.

2024-09-15  Bruno Haible  <bruno@clisp.org>

	unilbrk: Fix conflicts between rules.
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks_loop):
	Avoid side effect of (LB18) on (LB14) and (LB15a). Avoid side effect
	of (LB19a) on (LB18).
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks_loop):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks_loop):
	Likewise.

2024-09-15  Bruno Haible  <bruno@clisp.org>

	unilbrk: Enable most cases of Unicode rule (LB29).
	* lib/gen-uni-tables.c (output_lbrk_rules_as_tables): Enable rule LB29.
	* lib/unilbrk/lbrktables.c: Regenerated.
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks_loop):
	Allow a break between a character with property IS and '<'.
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks_loop):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks_loop):
	Likewise.

2024-09-15  Bruno Haible  <bruno@clisp.org>

	unilbrk: Fully implement Unicode rule (LB9).
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks_loop):
	New variable preceding_prop. Don't copy prop to prev_prop and ea to
	prev_ea if the conditions of rule (LB9) apply.
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks_loop):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks_loop):
	Likewise.

2024-09-15  Bruno Haible  <bruno@clisp.org>

	unilbrk: Fix bugs in implementation of Unicode rules (LB15a), (LB15b).
	* lib/gen-uni-tables.c (output_lbrk_rules_as_tables): Fix typo in
	comment.
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks_loop):
	Do the LBP_QU2 to LBP_QU1 mapping for (LB15a) after the table lookup but
	before the assignment to last_prop. Do the LBP_QU3 to LBP_QU1 mapping
	for (LB15b) in a way that does not influence prev_prop or last_prop.
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks_loop):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks_loop):
	Likewise.

2024-09-14  Bruno Haible  <bruno@clisp.org>

	unilbrk: Fix bug in implementation of Unicode rule (LB16).
	* lib/gen-uni-tables.c (output_lbrk_rules_as_tables): Fix typo.
	* lib/unilbrk/lbrktables.c: Regenerated.

2024-09-14  Bruno Haible  <bruno@clisp.org>

	unilbrk: Fix handling of unassigned code points (regression yesterday).
	* lib/unilbrk/lbrktables.h (unilbrkprop_lookup): Correct the default
	return value.

2024-09-14  Bruno Haible  <bruno@clisp.org>

	unilbrk/tables: Fix table (regression yesterday).
	Reported by Collin Funk <collin.funk1@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-09/msg00061.html>.
	* lib/gen-uni-tables.c (output_lbrk_rules_as_tables): Use LBP_AL1 as
	array index instead of LBP_AL. Update comments.
	* lib/unilbrk/lbrktables.c: Regenerated.

2024-09-13  Bruno Haible  <bruno@clisp.org>

	Implement a new property, added by Unicode 16.0.0.
	* lib/gen-uni-tables.c (is_property_modifier_combining_mark): New
	function.
	(output_properties): Output also the property modifier_combining_mark.
	* lib/unictype.in.h (UC_PROPERTY_MODIFIER_COMBINING_MARK,
	uc_is_property_modifier_combining_mark): New declarations.
	* m4/unictype_h.m4 (gl_UNICTYPE_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK.
	* modules/unictype/base (Makefile.am): Substitute
	GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK.
	* lib/unictype/pr_modifier_combining_mark.c: New file.
	* lib/unictype/pr_modifier_combining_mark.h: New generated file.
	* modules/unictype/property-modifier-combining-mark: New file.
	* tests/unictype/test-pr_modifier_combining_mark.c: New generated file.
	* modules/unictype/property-modifier-combining-mark-tests: New file.
	* lib/unictype/pr_byname.gperf: Add modifier_combining_mark.
	* lib/unictype/pr_byname.c
	(UC_PROPERTY_INDEX_MODIFIER_COMBINING_MARK): New enum item.
	(uc_property_byname): Handle it.
	* modules/unictype/property-byname (Depends-on): Add
	unictype/property-modifier-combining-mark.
	* modules/unictype/property-all (Depends-on): Likewise.
	* MODULES.html.sh (func_all_modules): Add
	unictype/property-modifier-combining-mark.

2024-09-13  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 16.0.0.

	* lib/gen-uni-tables.c (PROP_MODIFIER_COMBINING_MARK): New enum item.
	(fill_properties): Recognize property Modifier_Combining_Mark.
	(UC_JOINING_GROUP_KASHMIRI_YEH): New enum item.
	(fill_arabicshaping, joining_group_as_c_identifier): Handle
	UC_JOINING_GROUP_KASHMIRI_YEH.
	(LBP_*): Split LBP_AL into LBP_AL1 and LBP_AL2.
	(LBP_AL): New enum item.
	(get_lbea): New function.
	(get_lbp): Use it. Update such that unilbrk/lbrkprop.txt comes out as
	expected. Map U+25CC to LBP_AL2.
	(PROP_EA, PROP, EA): New macros.
	(debug_output_lbp): Print either LBP_AL1, LBP_AL2 as LBP_AL.
	(lbp_value_to_string): Handle LBP_AL1, LBP_AL2 instead of LBP_AL.
	(struct lbpea_table): Renamed from struct lbp_table.
	(output_lbpea): Renamed from output_lbp. Store both the line break
	property and the line break EastAsian bit in the same table entry.
	(output_lbrk_tables): Update.
	(output_lbrk_rules_as_tables): Update for LBP_AL change. Implement rules
	LB28a, LB25, LB19, LB15d, LB13 as specified by
	https://www.unicode.org/reports/tr14/tr14-53.html.
	(get_wbp): Update such that uniwbrk/wbrkprop.txt comes out as expected.

	* lib/unictype.in.h (UC_JOINING_GROUP_KASHMIRI_YEH): New enum item.
	* lib/unictype/joininggroup_byname.gperf: Handle it.
	* lib/unictype/joininggroup_name.h: Likewise.

	* lib/unilbrk/lbrktables.h: Split LBP_AL into LBP_AL1 and LBP_AL2.
	(LBP_AKLS_VI): New enum item, for rule LB28a.
	(PROP, EA, PROP_EA): New macros.
	(unilbrk_table): Update bounds.
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks_loop):
	Use LBP_AL1 instead of LBP_AL. Use 2 characters of lookahead, for rules
	LB15c, LB19a, LB25, LB28a. New variables prev_ea, prev2_ea, for rule
	LB19a. New variable prev_initial_hyphen, for rule LB20a. New variable
	prev_nus, for rule LB25. Implement rules LB15c, LB19a, LB20a, LB21a,
	LB25, LB28a,  as specified by
	https://www.unicode.org/reports/tr14/tr14-53.html.
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks_loop):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks_loop):
	Likewise.
	* modules/unilbrk/base (Depends-on): Add stdbool.

	* tests/uninorm/test-u32-normalize-big.h
	(struct normalization_test_file): Now 6 parts.
	* tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
	Fill in 6 parts.
	(test_specific, free_normalization_test_file): Now handle 6 parts.

	* tests/uniwidth/test-uc_width2.sh: Update expected test result.

	* All generated files under lib/uni* and tests/uni*: Regenerate.
	* tests/uniname/NameAliases.txt: Update.
	* tests/uniname/UnicodeData.txt: Update.
	* tests/uninorm/NormalizationTest.txt: Update.
	* tests/unigbrk/GraphemeBreakTest.txt: Update.
	* tests/uniwbrk/WordBreakTest.txt: Update.

	* All the affected modules: Bump required libunistring version.

2024-09-13  Bruno Haible  <bruno@clisp.org>

	uninorm/composition: Fix mistake in last commit (regression yesterday).
	* modules/uninorm/composition (Files): Add
	lib/uninorm/composition-table-bounds.h.

2024-09-12  Bruno Haible  <bruno@clisp.org>

	uninorm/composition: Make more maintainable.
	* lib/gen-uni-tables.c (output_composition_tables): Add a filename2
	parameter. Emit definitions of UNINORM_COMPOSE_MAX_ARG1 and
	UNINORM_COMPOSE_MAX_ARG2 to this file.
	(main): Invoke it with additional file name
	uninorm/composition-table-bounds.h.
	* uninorm/composition-table-bounds.h: New generated file.
	* lib/uninorm/composition.c: Include it.
	(uc_composition): Use UNINORM_COMPOSE_MAX_ARG1 and
	UNINORM_COMPOSE_MAX_ARG2 instead of hardcoded bounds.

2024-09-10  Bruno Haible  <bruno@clisp.org>

	mbrtoc16: Fix undefined behaviour.
	* lib/mbrtoc16.c (SET_EXTRA_STATE): Cast to 'unsigned int' before
	shifting the bits to the positions 31..16.

2024-09-09  Bruno Haible  <bruno@clisp.org>

	string-desc: Fix undefined behaviour.
	* lib/string-desc-contains.c (string_desc_contains): Handle the case of
	an empty haystack before invoking 'memmem'.

2024-09-09  Bruno Haible  <bruno@clisp.org>

	striconv, striconveh, unicodeio: Drop workaround for glibc 2.1.
	* lib/striconv.c (mem_cd_iconv, str_iconv): Remove glibc-2.1 and
	Solaris 9 bug workarounds.
	* lib/striconveh.c (mem_cd_iconveh_internal): Likewise.
	* lib/unicodeio.c (unicode_to_mb): Likewise.

	striconv, striconveh: Drop workaround for glibc 2.1.
	* lib/striconv.c (str_iconv): Remove glibc-2.1 bug workaround.
	* lib/striconveh.c (iconveh_open): Likewise.

2024-09-08  Jim Meyering  <meyering@meta.com>

	crc.h: declare each function with _GL_ATTRIBUTE_PURE
	* lib/crc.h (crc32, crc32_update, crc32_no_xor)
	(crc32_update_no_xor): Declare with _GL_ATTRIBUTE_PURE.

2024-09-05  Paul Eggert  <eggert@cs.ucla.edu>

	Fix COPYING.EXCEPTION license notices
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-08/msg00227.html
	* m4/std-gnu11.m4: Fix license notice to use COPYING.EXCEPTION
	correctly.
	* m4/std-gnu23.m4: Likewise.  Also document the commit ID,
	since Autoconf was updated likewise and we’re copying from there.

2024-09-04  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 35.

	Reported by Po Lu <luangruo@yahoo.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-09/msg00024.html>.
	* lib/time.in.h (timezone_t, tzalloc, tzfree): Don't require _GNU_SOURCE
	to be defined. Define depending on HAVE_TZALLOC, not HAVE_TIMEZONE_T.
	(localtime_rz, mktime_z): Likewise. Override if REPLACE_LOCALTIME_RZ or
	REPLACE_MKTIME_Z is 1, respectively.
	* lib/time_rz.c: If NEED_TIMEZONE_NULL_SUPPORT, define only localtime_rz
	and mktime_z and only as wrappers around the system function.
	* m4/time_h.m4 (gl_TIME_H_DEFAULTS): Initialize HAVE_TZALLOC,
	REPLACE_LOCALTIME_RZ, REPLACE_MKTIME_Z.
	* m4/time_rz.m4 (gl_TIME_RZ): Conditionally set HAVE_TZALLOC,
	REPLACE_LOCALTIME_RZ, REPLACE_MKTIME_Z. Conditionally define
	NEED_TIMEZONE_NULL_SUPPORT.
	* modules/time-h (Makefile.am): Substitute HAVE_TZALLOC,
	REPLACE_LOCALTIME_RZ, REPLACE_MKTIME_Z.
	* modules/time_rz (Depends-on, configure.ac): Consider HAVE_TZALLOC,
	REPLACE_LOCALTIME_RZ, REPLACE_MKTIME_Z. Ignore HAVE_TIMEZONE_T.

	* m4/strerrorname_np.m4 (gl_FUNC_COPY_FILE_RANGE): Conditionally set
	REPLACE_STRERRORNAME_NP.
	(gl_CHECK_STRERRORNAME_NP): Test for strerrorname_np using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.

2024-09-04  Bruno Haible  <bruno@clisp.org>

	Doc regarding functions introduced in Android API level 35.
	* doc/posix-functions/_Fork.texi: Mention the Android API levels.
	* doc/glibc-functions/epoll_pwait2.texi: Likewise.
	* doc/glibc-functions/strerrorname_np.texi: Likewise.

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

	tests: Strenghten tests with invalid file descriptor.
	* tests/test-close.c: Include <fcntl.h>.
	(main): Check that AT_FDCWD is recognized as an invalid file descriptor.
	* tests/test-dup.c: Include <fcntl.h>.
	(main): Check that AT_FDCWD is recognized as an invalid file descriptor.
	* tests/test-unlockpt.c: Include <fcntl.h>.
	(main): Check that AT_FDCWD is recognized as an invalid file descriptor.
	* tests/test-fchdir.c (main): Likewise.
	* tests/test-fdatasync.c (main): Likewise.
	* tests/test-fdopendir.c (main): Likewise.
	* tests/test-fsync.c (main): Likewise.
	* tests/test-isatty.c (main): Likewise.

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

	doc: More details about pthread_setname_np.
	Reported by Eric Gallager <egall@gwmail.gwu.edu> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-09/msg00017.html>.
	* doc/glibc-functions/pthread_setname_np.texi: Mention the different
	signature on macOS.

2024-09-03  Simon Josefsson  <simon@josefsson.org>

	syntax-check: Catch all FSF postal addresses.
	* top/maint.mk (sc_franklin_street): Rename to sc_fsf_postal,
	improve regexp.

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

	unlockpt tests: Avoid test failure on Haiku.
	* tests/test-unlockpt.c (main): Skip the test on Haiku.
	* doc/posix-functions/unlockpt.texi: Update platforms list.

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

	doc: Mention a gmtime_r problem.
	* doc/posix-functions/gmtime_r.texi: Mention "UTC" vs. "GMT".

2024-09-02  Bruno Haible  <bruno@clisp.org>

	vma-prot tests: Strengthen test.
	Found by Coverity.
	* tests/test-vma-prot.c (main): Fix typo.

2024-09-02  Simon Josefsson  <simon@josefsson.org>

	syntax-check: Catch obsolete Franklin Street usages.
	* top/maint.mk (sc_franklin_street): New function.

2024-09-02  Bruno Haible  <bruno@clisp.org>

	error, getprogname: Stricter dependency conditions.
	* modules/error (Depends-on): Add dependency condition.
	* modules/getprogname (Depends-on): Make dependency condition stricter.
	(configure.ac): Require AC_CANONICAL_HOST.

2024-09-02  Bruno Haible  <bruno@clisp.org>

	utime, futimens tests: Avoid test failure on Haiku.
	* tests/test-utimens-common.h (checkable_atime): On Haiku, return false.

2024-09-01  Bruno Haible  <bruno@clisp.org>

	strtold: Work around a Haiku bug.
	* lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 for 'long double'
	parsing on Haiku.
	* doc/posix-functions/strtold.texi: Mention the bug.

2024-09-01  Bruno Haible  <bruno@clisp.org>

	math: Remove workaround for an older Haiku bug.
	* lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Don't override on Haiku.
	* doc/posix-headers/math.texi: Update.

2024-09-01  Simon Josefsson  <simon@josefsson.org>

	Avoid using postal address in license
	* lib/dfa.h, lib/dfa.c: Update license header.
	* lib/localeinfo.h, lib/localeinfo.c: Likewise.
	* tests/test-dfa-match-aux.c: Likewise.

2024-09-01  Bruno Haible  <bruno@clisp.org>

	Fix mbscasestr test failure on native Windows with MSVC.
	* lib/c32to-impl.h (FUNC): On native Windows, ignore the system's
	towlower/towupper function entirely.
	* tests/test-c32tolower.c (main): On native Windows, reenable test that
	previously failed.
	* tests/test-c32toupper.c (main): Likewise. Disable two other tests on
	native Windows.
	* doc/posix-functions/towlower.texi: Mention bug in the native Windows
	UTF-8 locale.
	* doc/posix-functions/towupper.texi: Likewise.

2024-09-01  Bruno Haible  <bruno@clisp.org>

	Fix quoting of $LOCALE_EN_UTF8 (regression yesterday).
	* m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Properly quote $LOCALE_EN_UTF8.
	* m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
	* m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
	* m4/mbrtoc16.m4 (gl_MBRTOC16_NULL_DESTINATION): Likewise.
	* m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_NULL_ARG1,
	gl_MBRTOWC_NULL_ARG2, gl_MBRTOWC_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE):
	Likewise.
	* m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.

2024-09-01  Bruno Haible  <bruno@clisp.org>

	doc: Mention how to obtain UTF-8 locales.
	* doc/posix-functions/setlocale.texi: Mention the names of UTF-8 locales
	and the needed compiler flags.

2024-08-31  Collin Funk  <collin.funk1@gmail.com>

	doc: Fix typo.
	* doc/pastposix-functions/siginterrupt.texi (siginterrupt): Fix typo.

2024-08-31  Bruno Haible  <bruno@clisp.org>

	Strengthen LC_CTYPE configure tests on OpenBSD, Android, Haiku.
	* m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Require gt_LOCALE_EN_UTF8 instead of
	gt_LOCALE_FR_UTF8. Use LOCALE_EN_UTF8 instead of LOCALE_FR_UTF8.
	* m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_NULL_ARG1,
	gl_MBRTOWC_NULL_ARG2, gl_MBRTOWC_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE):
	Likewise.
	* m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
	* m4/mbrtoc16.m4 (gl_MBRTOC16_NULL_DESTINATION): Require
	gt_LOCALE_EN_UTF8 instead of gt_LOCALE_FR_UTF8. Use LOCALE_EN_UTF8
	instead of LOCALE_FR_UTF8. Update cross-compilation guess.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
	* modules/btowc (Files): Add m4/locale-en.m4.
	* modules/c32isalnum (Files): Likewise.
	* modules/c32isalpha (Files): Likewise.
	* modules/c32isblank (Files): Likewise.
	* modules/c32iscntrl (Files): Likewise.
	* modules/c32isdigit (Files): Likewise.
	* modules/c32isgraph (Files): Likewise.
	* modules/c32islower (Files): Likewise.
	* modules/c32isprint (Files): Likewise.
	* modules/c32ispunct (Files): Likewise.
	* modules/c32isspace (Files): Likewise.
	* modules/c32isupper (Files): Likewise.
	* modules/c32isxdigit (Files): Likewise.
	* modules/c32rtomb (Files): Likewise.
	* modules/c32tob (Files): Likewise.
	* modules/c32tolower (Files): Likewise.
	* modules/c32toupper (Files): Likewise.
	* modules/c32width (Files): Likewise.
	* modules/iswdigit (Files): Likewise.
	* modules/mbrtoc16 (Files): Likewise.
	* modules/mbrtoc32 (Files): Likewise.
	* modules/mbsnrtowcs (Files): Likewise.
	* modules/mbsrtowcs (Files): Likewise.
	* modules/wcrtomb (Files): Likewise.
	* modules/wcsnrtombs (Files): Likewise.
	* modules/wcsrtombs (Files): Likewise.
	* modules/wctob (Files): Likewise.
	* modules/mbrlen (Files): Add m4/locale-en.m4. Remove m4/locale-fr.m4.
	* modules/mbrtowc (Files): Likewise.
	* modules/stdlib (Files): Likewise.

2024-08-31  Colin Watson  <cjwatson@debian.org>

	Update users.txt.
	* users.txt: Add libpipeline.

2024-08-31  Bruno Haible  <bruno@clisp.org>

	tests: Avoid some test failures on Android.
	* tests/test-c32isalpha.c (main): Disable tests that fail on Android.
	* tests/test-c32iscntrl.c (main): Likewise.
	* tests/test-c32isgraph.c (main): Likewise.
	* tests/test-c32islower.c (main): Likewise.
	* tests/test-c32isprint.c (main): Likewise.
	* tests/test-c32ispunct.c (main): Likewise.
	* tests/test-c32toupper.c (main): Likewise.

2024-08-31  Bruno Haible  <bruno@clisp.org>

	tests: Avoid some test failures on OpenBSD 7.5.
	* tests/test-c32isalpha.c (main): Disable tests that fail on
	OpenBSD 7.5.
	* tests/test-c32iscntrl.c (main): Likewise.
	* tests/test-c32isgraph.c (main): Likewise.
	* tests/test-c32islower.c (main): Likewise.
	* tests/test-c32isprint.c (main): Likewise.
	* tests/test-c32ispunct.c (main): Likewise.
	* tests/test-c32toupper.c (main): Likewise.

2024-08-31  Bruno Haible  <bruno@clisp.org>

	iswxdigit: Work around OpenBSD, Android, Haiku bug.
	* m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Require gt_LOCALE_EN_UTF8 instead
	of gt_LOCALE_FR_UTF8. Use LOCALE_EN_UTF8 instead of LOCALE_FR_UTF8.
	Update cross-compilation guess.
	* modules/iswxdigit (Files): Add m4/locale-en.m4. Remove m4/locale-fr.m4.
	* doc/posix-functions/iswxdigit.texi: Update list of platforms.

2024-08-31  Bruno Haible  <bruno@clisp.org>

	iswdigit: Work around OpenBSD, Android, Haiku bug.
	* m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Require gt_LOCALE_EN_UTF8 instead
	of gt_LOCALE_FR_UTF8. Use LOCALE_EN_UTF8 instead of LOCALE_FR_UTF8.
	Update cross-compilation guess.
	* modules/iswdigit (Files): Add m4/locale-en.m4.
	* doc/posix-functions/iswdigit.texi: Update list of platforms.

2024-08-31  Bruno Haible  <bruno@clisp.org>

	tests: Strengthen LC_CTYPE tests on OpenBSD, Android, Haiku.
	* m4/locale-en.m4: New file, based on m4/locale-fr.m4.
	* m4/locale-ar.m4 (gt_LOCALE_AR): Update comments.
	* m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
	* m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
	* m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
	* modules/btoc32-tests (Files): Add m4/locale-en.m4.
	(configure.ac): Invoke gt_LOCALE_EN_UTF8.
	(Makefile.am): Set LOCALE_EN_UTF8 in TESTS_ENVIRONMENT.
	* modules/btowc-tests: Likewise.
	* modules/c32isalnum-tests: Likewise.
	* modules/c32isalpha-tests: Likewise.
	* modules/c32isblank-tests: Likewise.
	* modules/c32iscntrl-tests: Likewise.
	* modules/c32isdigit-tests: Likewise.
	* modules/c32isgraph-tests: Likewise.
	* modules/c32islower-tests: Likewise.
	* modules/c32isprint-tests: Likewise.
	* modules/c32ispunct-tests: Likewise.
	* modules/c32isspace-tests: Likewise.
	* modules/c32isupper-tests: Likewise.
	* modules/c32isxdigit-tests: Likewise.
	* modules/c32rtomb-tests: Likewise.
	* modules/c32snrtombs-tests: Likewise.
	* modules/c32srtombs-tests: Likewise.
	* modules/c32stombs-tests: Likewise.
	* modules/c32tolower-tests: Likewise.
	* modules/c32toupper-tests: Likewise.
	* modules/fnmatch-tests: Likewise.
	* modules/iswdigit-tests: Likewise.
	* modules/iswxdigit-tests: Likewise.
	* modules/mbmemcasecmp-tests: Likewise.
	* modules/mbmemcasecoll-tests: Likewise.
	* modules/mbrlen-tests: Likewise.
	* modules/mbrtoc16-tests: Likewise.
	* modules/mbrtoc32-tests: Likewise.
	* modules/mbrtowc-tests: Likewise.
	* modules/mbscasestr-tests: Likewise.
	* modules/mbscspn-tests: Likewise.
	* modules/mbsinit-tests: Likewise.
	* modules/mbslen-tests: Likewise.
	* modules/mbsnlen-tests: Likewise.
	* modules/mbsnrtoc32s-tests: Likewise.
	* modules/mbsnrtowcs-tests: Likewise.
	* modules/mbspbrk-tests: Likewise.
	* modules/mbsrtoc32s-tests: Likewise.
	* modules/mbsrtowcs-tests: Likewise.
	* modules/mbsspn-tests: Likewise.
	* modules/mbsstr-tests: Likewise.
	* modules/mbstoc32s-tests: Likewise.
	* modules/mbstowcs-tests: Likewise.
	* modules/mcel-tests: Likewise.
	* modules/trim-tests: Likewise.
	* modules/unicodeio-tests: Likewise.
	* modules/wcrtomb-tests: Likewise.
	* modules/wcsnrtombs-tests: Likewise.
	* modules/wcsrtombs-tests: Likewise.
	* tests/test-btoc32-3.sh: If LOCALE_FR_UTF8 is 'none', try
	LOCALE_EN_UTF8 instead.
	* tests/test-btowc-3.sh: Likewise.
	* tests/test-c32isalnum.sh: Likewise.
	* tests/test-c32isalpha.sh: Likewise.
	* tests/test-c32isblank.sh: Likewise.
	* tests/test-c32iscntrl.sh: Likewise.
	* tests/test-c32isdigit.sh: Likewise.
	* tests/test-c32isgraph.sh: Likewise.
	* tests/test-c32islower.sh: Likewise.
	* tests/test-c32isprint.sh: Likewise.
	* tests/test-c32ispunct.sh: Likewise.
	* tests/test-c32isspace.sh: Likewise.
	* tests/test-c32isupper.sh: Likewise.
	* tests/test-c32isxdigit.sh: Likewise.
	* tests/test-c32rtomb.sh: Likewise.
	* tests/test-c32snrtombs-3.sh: Likewise.
	* tests/test-c32srtombs-3.sh: Likewise.
	* tests/test-c32stombs-3.sh: Likewise.
	* tests/test-c32tolower.sh: Likewise.
	* tests/test-c32toupper.sh: Likewise.
	* tests/test-fnmatch-3.sh: Likewise.
	* tests/test-iswdigit.sh: Likewise.
	* tests/test-iswxdigit.sh: Likewise.
	* tests/test-mbmemcasecmp-3.sh: Likewise.
	* tests/test-mbmemcasecoll-3.sh: Likewise.
	* tests/test-mbrlen-3.sh: Likewise.
	* tests/test-mbrtoc16-3.sh: Likewise.
	* tests/test-mbrtoc32-3.sh: Likewise.
	* tests/test-mbrtowc-3.sh: Likewise.
	* tests/test-mbscasestr2.sh: Likewise.
	* tests/test-mbscspn.sh: Likewise.
	* tests/test-mbsinit.sh: Likewise.
	* tests/test-mbslen.sh: Likewise.
	* tests/test-mbsnlen.sh: Likewise.
	* tests/test-mbsnrtoc32s-3.sh: Likewise.
	* tests/test-mbsnrtowcs-3.sh: Likewise.
	* tests/test-mbspbrk.sh: Likewise.
	* tests/test-mbsrtoc32s-3.sh: Likewise.
	* tests/test-mbsrtowcs-3.sh: Likewise.
	* tests/test-mbsspn.sh: Likewise.
	* tests/test-mbsstr2.sh: Likewise.
	* tests/test-mbstoc32s-3.sh: Likewise.
	* tests/test-mbstowcs-3.sh: Likewise.
	* tests/test-mcel-3.sh: Likewise.
	* tests/test-trim2.sh: Likewise.
	* tests/test-unicodeio2.sh: Likewise.
	* tests/test-wcrtomb.sh: Likewise.
	* tests/test-wcsnrtombs-3.sh: Likewise.
	* tests/test-wcsrtombs-3.sh: Likewise.

2024-08-31  Bruno Haible  <bruno@clisp.org>

	trim, unicodeio tests: Fix module description.
	* modules/trim-tests (configure.ac): Invoke the respective gt_LOCALE_*
	macros.
	* modules/unicodeio-tests (Makefile.am): Augment TESTS_ENVIRONMENT.

2024-08-31  Bruno Haible  <bruno@clisp.org>

	mbrtoc32: Fix a cross-compilation guess.
	* m4/mbrtoc32.m4 (gl_MBRTOC32_UTF8_LOCALE): Guess no on Cygwin.

2024-08-30  Bruno Haible  <bruno@clisp.org>

	mkfifoat: Work around a Haiku bug.
	* lib/mknodat.c (rpl_mknodat): On Haiku, handle S_IFIFO explicitly.
	* doc/posix-functions/mknodat.texi: Mention the S_IFIFO flag bug.

2024-08-30  Bruno Haible  <bruno@clisp.org>

	doc: Mention an mknod bug.
	* doc/posix-functions/mknod.texi: Mention the S_IFIFO flag bug.

2024-08-30  Bruno Haible  <bruno@clisp.org>

	posix_openpt tests: Fix test failure on Haiku.
	* tests/test-posix_openpt.c (main): On Haiku, create a child process and
	call setsid().

2024-08-30  Bruno Haible  <bruno@clisp.org>

	Trivial relicensing of macro-only modules, part 3.
	* modules/config-h (License): Change to unlimited.
	* modules/host-os (License): Likewise.
	* modules/no-c++ (License): Likewise.
	* modules/openmp (License): Likewise.
	* modules/longlong (License): Change to LGPLv2+.
	* modules/va-args (License): Likewise.

	Trivial relicensing of macro-only modules, part 2.
	* modules/bison (License): Change to unlimited.
	* modules/perl (License): Likewise.

	Trivial relicensing of macro-only modules, part 1.
	* modules/link-follow (License): Change to unlimited.
	* modules/rmdir-errno (License): Likewise.
	* modules/unlink-busy (License): Likewise.
	* modules/uptime (License): Likewise.
	* modules/winsz-termios (License): Likewise.

2024-08-30  Bruno Haible  <bruno@clisp.org>

	doc: Correct statement about license of m4/*.m4 files.
	* doc/gnulib-intro.texi (Copyright): For m4/*.m4 files, list also the
	"GPL with Autoconf exception" as a possible license notice.

2024-08-30  Bruno Haible  <bruno@clisp.org>

	sigsegv: Clarify license of the *.m4 files.
	* m4/sigaltstack.m4: In the license notice, clarify which version of the
	GPL is meant.
	* m4/stack-direction.m4: Likewise.

2024-08-30  Bruno Haible  <bruno@clisp.org>

	libsigsegv: Relicense under GPLv2+.
	* modules/libsigsegv (License): Change to GPLv2+.

2024-08-29  Bruno Haible  <bruno@clisp.org>

	vma-prot: Add tests.
	* tests/test-vma-prot.c: New file.
	* modules/vma-prot-tests: New file.

	vma-prot: New module.
	* lib/vma-prot.h: New file.
	* lib/vma-prot.c: New file.
	* modules/vma-prot: New file.

2024-08-29  Bruno Haible  <bruno@clisp.org>

	vma-iter: Relicense under GPLv2+.
	* modules/vma-iter (License): Change to GPLv2+.
	* lib/vma-iter.h: Update license notice.
	* lib/vma-iter.c: Likewise.

2024-08-29  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Allow verifying license compatibility with GPLv2+.
	* pygnulib/GLInfo.py (GLInfo.usage): Document the --gpl option.
	* pygnulib/main.py (main): Accept a --gpl option. Pass it to the
	GLConfig.
	* pygnulib/GLConfig.py (GLConfig): Add 'gpl' field and constructor
	argument. Add getGPL, setGPL, resetGPL methods.
	* m4/gnulib-tool.m4 (gl_GPL): New macro.
	* doc/gnulib-tool.texi (Modified imports): Document the gl_GPL macro.
	* pygnulib/GLImport.py (GLImport.__init__): Look for gl_GPL invocations
	in gnulib-cache.m4.
	(GLImport.actioncmd): Output --gpl option when option --gpl was given.
	(GLImport.gnulib_cache): Emit a gl_GPL invocation when option --gpl was
	given.
	(GLImport.prepare): Do license compatibility checking when option --gpl
	was given.
	* pygnulib/GLModuleSystem.py: Update a comment.

2024-08-29  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix description of --lgpl option (missed on 2021-06-04).
	* gnulib-tool.sh (func_usage): Remove "Also modify license template"
	sentence.
	* pygnulib/GLInfo.py (GLInfo.usage): Likewise.

2024-08-29  Bruno Haible  <bruno@clisp.org>

	obstack-printf-gnu: Fix mistake (reported by check-AC_LIBOBJ).
	* modules/obstack-printf-gnu (Files): Add lib/obstack_printf.c.

2024-08-29  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	libgmp-mpq: Add tests.
	* modules/libgmp-mpq-tests: New file.
	* tests/test-libgmp-mpq.c: New file.

	libgmp-mpq: New module.
	* MODULES.html.sh: Mention libgmp-mpz and
	libgmp-mpq.
	* config/srclist.txt: Mention mini-mpq.c and mini-mpq.h.
	* lib/mini-mpq-gnulib.c: New file.
	* lib/mini-mpq.c: New upstream source file from
	https://gmplib.org/repo/gmp/raw-file/tip/mini-gmp/mini-mpq.c.
	* lib/mini-mpq.h: New upstream source file from
	https://gmplib.org/repo/gmp/raw-file/tip/mini-gmp/mini-mpq.h.
	* modules/libgmp-mpq: New module.
	* modules/libgmp-mpz: Conditionally include mini-mpq.h in gmp.h.
	* modules/libgmp: Add libgmp-mpq dependency.

2024-08-28  Pádraig Brady  <P@draigBrady.com>

	avoid GCC -Wmaybe-uninitialized false positives with LTO
	Avoids false warnings with GCC 14.2.1 with -flto

	* lib/canonicalize.c: Initialize END_IDX.
	* lib/getndelim2.c: Initialize C.

2024-08-28  Bruno Haible  <bruno@clisp.org>

	threads-h: Don't override the C++ keyword 'thread_local'.
	* lib/threads.in.h (thread_local): Don't define as a macro in C++ 11
	or newer.

2024-08-28  Bruno Haible  <bruno@clisp.org>

	libgmp-mpz: New module, renamed from libgmp.
	* modules/libgmp-mpz: Renamed from modules/libgmp.
	* modules/libgmp: New file.
	* modules/libgmp-mpz-tests: Renamed from modules/libgmp-tests.
	* tests/test-libgmp-mpz.c: Renamed from tests/test-libgmp.c.

2024-08-28  Bruno Haible  <bruno@clisp.org>

	doc: Add more details about O_EXEC and O_SEARCH.
	* doc/posix-headers/fcntl.texi: Add platforms list and revisit note
	about O_EXEC and O_SEARCH.

2024-08-27  Bruno Haible  <bruno@clisp.org>

	mcel: Fix compilation error with MSVC.
	* modules/builtin-expect (Description): Improve.
	* m4/builtin-expect.m4: Improve comment.
	* modules/mcel (Depends-on): Add builtin-expect.

2024-08-27  Paul Eggert  <eggert@cs.ucla.edu>

	savewd: port to native MS-Windows
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-08/msg00187.html
	* lib/savewd.c (fork) [_WIN32 && !__CYGWIN]: New macro.
	(savewd_save): Don’t fork on MS-Windows, or if O_SEARCH != O_RDONLY.

2024-08-27  Bruno Haible  <bruno@clisp.org>

	bcopy: Deprecate module.
	* modules/bcopy (Status, Notice): Mark as deprecated.
	* doc/pastposix-functions/bcopy.texi: Mention that this module does not
	declare bcopy().

2024-08-27  Bruno Haible  <bruno@clisp.org>

	simple-atomic: Fix a clang warning on native Windows.
	* lib/simple-atomic.c (atomic_compare_and_swap_ptr): Add a cast.

2024-08-27  Bruno Haible  <bruno@clisp.org>

	write-any-file: Don't reference an undefined function on native Windows.
	* m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove test for <priv.h>,
	obsolete since 2009-05-03. Test for geteuid.
	* lib/write-any-file.c (geteuid): Define a fallback.

2024-08-27  Bruno Haible  <bruno@clisp.org>

	mkdir-p: Don't reference an undefined function on native Windows.
	* m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Test whether fchown exists.
	* lib/dirchownmod.c (fchown): Define to a fallback if the system does
	not have fchown.
	(dirchownmod): Test HAVE_FCHOWN.

2024-08-27  Bruno Haible  <bruno@clisp.org>

	getusershell: Don't completely ignore lines that contain a comment.
	* lib/getusershell.c (getusershell): Truncate the line where a comment
	starts, instead of ignoring the line entirely.

2024-08-27  Bruno Haible  <bruno@clisp.org>

	fts: Don't assume that a pointer is as wide as a 'long'.
	* lib/fts.c (fts_sort): Cast pointers to 'uintptr_t', not to 'long'.

2024-08-27  Bruno Haible  <bruno@clisp.org>

	mkdir: Fix for use of posixcheck module on native Windows.
	* lib/sys_stat.in.h (mkdir): Give priority to the native Windows
	definition over the GNULIB_POSIXCHECK redefinition.

2024-08-27  Bruno Haible  <bruno@clisp.org>

	windows-spawn: Fix clang warning.
	* lib/windows-spawn.c (convert_CreateProcess_error): Remove unreachable
	'break;' statements.

2024-08-27  Bruno Haible  <bruno@clisp.org>

	Improve support for clang on Windows.
	* lib/c++defs.h (_GL_CXXALIASWARN_2): Treat clang like gcc 4.2.
	* lib/stdio.in.h (fwrite, fwrite_unlocked): Likewise.
	* lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
	* lib/libc-config.h (__GNUC_PREREQ): Override glibc's definition to
	handle clang in disguise.

2024-08-27  Bruno Haible  <bruno@clisp.org>

	Explicitly exclude clang when we test for a GCC version >= 4.3.
	Rationale: clang can disguise as any possible GCC version.
	* m4/gnulib-common.m4 (gl_CC_GNULIB_WARNINGS): When testing __GNUC__,
	exclude clang.
	* lib/_Noreturn.h (_Noreturn): Likewise.
	* lib/aligned-malloc.h (aligned_free, aligned_malloc): Likewise.
	* lib/base32.h: Likewise.
	* lib/base64.h: Likewise.
	* lib/dfa.c (FALLTHROUGH): Likewise.
	* lib/dirent.in.h (_GL_ATTRIBUTE_DEALLOC, opendir, fdopendir): Likewise.
	* lib/intprops-internal.h: Likewise.
	* lib/jit/cache.h (clear_cache): Likewise.
	* lib/malloc.in.h (memalign): Likewise.
	* lib/mcel.h: Likewise.
	* lib/regex.h: Likewise.
	* lib/stddef.in.h (_GL_HAS_BUILTIN_UNREACHABLE): Likewise.
	* lib/stdio.in.h (_GL_ATTRIBUTE_DEALLOC, fdopen, fopen, popen, tmpfile):
	Likewise.
	* lib/stdlib.in.h (_GL_ATTRIBUTE_DEALLOC, aligned_alloc, calloc,
	canonicalize_file_name, malloc, realloc): Likewise.
	* lib/string.in.h (_GL_ATTRIBUTE_DEALLOC, strdup, strndup): Likewise.
	* lib/verify.h: Likewise.
	* lib/wchar.in.h (_GL_ATTRIBUTE_DEALLOC, wcsdup): Likewise.
	* lib/xalloc-oversized.h (xalloc_oversized): Likewise.
	* lib/fenv-private.h (_FPU_GETCW, _FPU_SETCW, _FPU_GETFPSR,
	_FPU_SETFPSR): When testing __GNUC__, exclude clang. Use different
	builtins for clang.
	* lib/hamt.h (GL_HAMT_THREAD_SAFE): When testing __GNUC__, exclude
	clang. Enable for clang >= 4.
	* lib/astrxfrm.c: Use _GL_GNUC_PREREQ.
	* lib/readutmp.c: Likewise.
	* lib/strftime.c: Likewise.
	* tests/test-asyncsafe-linked_list-strong.c: Likewise.
	* tests/test-asyncsafe-linked_list-weak.c: Likewise.
	* tests/test-c-strtod-mt.c: Likewise.
	* tests/test-c-strtof-mt.c: Likewise.
	* tests/test-c-strtold-mt.c: Likewise.
	* tests/test-gmtime_r-mt.c: Likewise.
	* tests/test-intprops.c: Likewise.
	* tests/test-limits-h.c: Likewise.
	* tests/test-localtime_r-mt.c: Likewise.
	* tests/test-memrchr.c: Likewise.
	* tests/test-nl_langinfo-mt.c: Likewise.
	* tests/test-setlocale_null-mt-all.c: Likewise.
	* tests/test-setlocale_null-mt-one.c: Likewise.
	* tests/test-statat.c: Likewise.
	* tests/test-xvasprintf.c: Likewise.

2024-08-27  Bruno Haible  <bruno@clisp.org>

	doc: Update about psignal.
	Reported by Eric Gallager <egall@gwmail.gwu.edu> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00177.html>.
	* doc/posix-functions/psignal.texi: Mention the Solaris problem and the
	first parameter type.

2024-08-27  Bruno Haible  <bruno@clisp.org>

	readutmp: In systemd mode, show sessions of type "web".
	Reported by Allison Karlitskaya <allison.karlitskaya@redhat.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00160.html>.
	* lib/readutmp.c (read_utmp_from_systemd): For a systemd session of type
	"web", add a single USER_PROCESS entry.

2024-08-26  Bruno Haible  <bruno@clisp.org>

	Fix a test failure from a clang that masquerades as gcc 13.
	* tests/test-fenv-except-trapping-2.c (main): Skip the '4' test on
	clang, since clang 17 still generates buggy comparisons, like gcc
	versions < 8.

2024-08-26  Bruno Haible  <bruno@clisp.org>

	Fix some of the warnings from a clang that masquerades as gcc 13.
	* lib/c-stack.c: Use _GL_GNUC_PREREQ to test for the gcc version.
	* lib/canonicalize.c: Likewise.
	* lib/diffseq.h: Likewise.
	* lib/file-has-acl.c: Likewise.
	* lib/freopen-safer.c: Likewise.
	* lib/getndelim2.c: Likewise.
	* lib/mini-gmp-gnulib.c: Likewise.
	* lib/propername.c: Likewise.
	* lib/quotearg.c: Likewise.
	* lib/savedir.c: Likewise.
	* lib/vasnprintf.c: Likewise.
	* tests/test-argmatch.c: Likewise.
	* tests/test-dup2.c: Likewise.
	* tests/test-explicit_bzero.c: Likewise.
	* tests/test-fcntl.c: Likewise.
	* tests/test-fopen.h: Likewise.
	* tests/test-getdtablesize.c: Likewise.
	* tests/test-getgroups.c: Likewise.
	* tests/test-listen.c: Likewise.
	* tests/test-localename.c: Likewise.
	* tests/test-memset_explicit.c: Likewise.
	* tests/test-open.h: Likewise.
	* tests/test-perror2.c: Likewise.
	* tests/test-select.h: Likewise.
	* lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD): Don't use
	gnu_printf with clang.
	* lib/string-buffer.h: Likewise.
	* lib/textstyle.in.h: Likewise.

2024-08-26  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Fix config.libpath failure (regression 2024-08-24).
	* build-aux/config.libpath: Expect 2 arguments, not 1.

2024-08-26  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors with clang that masquerades as gcc 13.
	Reported by Sam James and Paul Eggert.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): For _GL_GNUC_PREREQ, ignore the
	values of __GNUC__ and __GNUC_MINOR__ defined by clang.
	* lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Don't treat
	clang like GCC.
	* lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Disable
	the _GL_CXXALIASWARN1 and _GL_CXXALIASWARN invocations for masquerading
	clang++.

2024-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	diffseq: don’t worry about clang
	* lib/diffseq.h: Stop worrying about __clang__ for pragmas.
	This basically reverts the previous change to this file.
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-08/msg00145.html

2024-08-24  Bruno Haible  <bruno@clisp.org>

	copy-file: Add functions for copying non-confidential files.
	Reported by Patrice Dumas <pertusus@free.fr> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00142.html>.
	* lib/copy-file.h (copy_file_to, xcopy_file_to): New declarations.
	* lib/copy-file.c (copy_file_internal): New function, extracted from
	qcopy_file_preserving.
	(qcopy_file_preserving): Invoke it.
	(copy_file_to): New function.
	(handle_error_code): New function, extracted from xcopy_file_preserving.
	(xcopy_file_preserving): Invoke it.
	(xcopy_file_to): New function.

2024-08-24  Bruno Haible  <bruno@clisp.org>

	copy-file: First step towards more consistent function names.
	* lib/copy-file.h (xcopy_file_preserving): New declaration.
	(copy_file_preserving): Mark deprecated.
	* lib/copy-file.c (xcopy_file_preserving): Renamed from
	copy_file_preserving.
	(copy_file_preserving): New function.
	* tests/test-copy-file.c (main): Test xcopy_file_preserving instead of
	copy_file_preserving.

	acl: First step towards more consistent function names.
	* lib/acl.h (xset_acl): New declaration.
	(set_acl): Mark deprecated.
	(xcopy_acl): New declaration.
	(copy_acl): Mark deprecated.
	* lib/set-acl.c (xset_acl): Renamed from set_acl.
	(set_acl): New function.
	* lib/copy-acl.c (xcopy_acl): Renamed from copy_acl.
	(copy_acl): New function.
	* tests/test-set-mode-acl.c (main): Test xset_acl instead of set_acl.
	* tests/test-copy-acl.c (main): Test xcopy_acl instead of copy_acl.

2024-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	diffseq: port to clang 18.1.6 in ‘patch’
	* lib/diffseq.h: Omit the pragmas if __clang__.

2024-08-24  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Add support for 32-bit build on FreeBSD/powerpc64.
	Reference: <https://savannah.gnu.org/patch/?10469>.
	* build-aux/config.libpath: Accept a second argument. Use it on
	FreeBSD/powerpc64.
	(func_usage): Document it.
	* m4/relocatable.m4 (AC_LIB_LIBPATH): Require gl_HOST_CPU_C_ABI_32BIT.
	Pass HOST_CPU_C_ABI_32BIT to the config.libpath script.
	* modules/relocatable-prog (Files): Add m4/host-cpu-c-abi.m4.

2024-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	diffseq: port to GCC 14.2.1 in ‘patch’
	* lib/diffseq.h: Also suppress -Wanalyzer-use-of-uninitialized-value.
	This fixes an unwanted diagnostic when compiling GNU ‘patch’
	with gcc (GCC) 14.2.1 20240801 (Red Hat 14.2.1-1) x86-64.

2024-08-23  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Update comment, working around FreeBSD breakage.
	* m4/host-cpu-c-abi.m4: For powerpc64, recommend to test
	__BIG_ENDIAN__ or __LITTLE_ENDIAN__, not _BIG_ENDIAN or _LITTLE_ENDIAN,
	as FreeBSD 14 breaks the latter.

2024-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	mcel: port to uClibc-ng
	Problem reported by Waldemar Brodkorb in:
	https://lists.gnu.org/r/bug-gnulib/2024-08/msg00130.html
	* lib/mcel.h (mcel_scan): Don’t treat uClibc-ng like glibc.

2024-08-21  Bruno Haible  <bruno@clisp.org>

	stdio: Fix compilation error in C++ mode on Linux/riscv64 with musl.
	* lib/stdio.in.h (fpurge): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

2024-08-19  Bruno Haible  <bruno@clisp.org>

	hasmntopt: Add tests.
	* tests/test-hasmntopt.c: New file.
	* modules/hasmntopt-tests: New file.

	hasmntopt: New module.
	* lib/mntent.in.h: Add config.h check.
	(hasmntopt): New declaration.
	* lib/hasmntopt.c: New file, based on glibc/misc/mntent_r.c.
	* m4/hasmntopt.m4: New file.
	* m4/mntent_h.m4 (gl_MNTENT_H): Test whether hasmntopt is declared.
	(gl_MNTENT_H_REQUIRE_DEFAULTS): Initialize GNULIB_HASMNTOPT.
	(gl_MNTENT_H_DEFAULTS): Initialize HAVE_HASMNTOPT, HAVE_SETMNTENT,
	REPLACE_HASMNTOPT.
	* modules/mntent (Depends-on): Add snippet/arg-nonnull, snippet/c++defs,
	snippet/warn-on-use.
	(Makefile.am): Insert c++defs.h, arg-nonnull.h, warn-on-use.h into
	mntent.h. Substitute GNULIB_HASMNTOPT, HAVE_HASMNTOPT, HAVE_SETMNTENT,
	REPLACE_HASMNTOPT.
	* modules/hasmntopt: New file.
	* doc/glibc-functions/hasmntopt.texi: Mention the new module and the
	musl bug.
	* doc/glibc-functions/setmntent.texi: Update info about Android.
	* doc/glibc-functions/getmntent_r.texi: Likewise.
	* doc/glibc-functions/endmntent.texi: Likewise.

2024-08-19  Bruno Haible  <bruno@clisp.org>

	mntent: New module.
	* lib/mntent.in.h: New file.
	* m4/mntent_h.m4: New file.
	* modules/mntent: New file.
	* doc/glibc-headers/mntent.texi: Mention the new module.
	* top/maint.mk (gl_prefer_angle_bracket_headers_): Add mntent.h.
	* doc/gnulib-tool.texi (Style of #include statements): Add mntent.h to
	the list.

2024-08-17  Bruno Haible  <bruno@clisp.org>

	once: Fix pthread-rwlock crashes with clang (regr. 2024-08-07).
	* lib/glthread/once.h: Don't mark pthread_rwlock_init,
	pthread_rwlockattr_init as weak if we are overriding them.

2024-08-16  Collin Funk  <collin.funk1@gmail.com>

	pty tests: Add C tests.
	* modules/pty-tests (Files): Add tests/test-pty.c.
	(Makefile.am): Add the new program.
	* tests/test-pty.c: New file.

	pty: Define 'struct winsize' on all platforms.
	* modules/pty (Depends-on): Add termios.
	* lib/pty.in.h: Make comments more accurate.
	(struct winsize): Remove forward declaration.

2024-08-16  Bruno Haible  <bruno@clisp.org>

	gitsub.sh: For a submodule, merge from the right remote branch.
	Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> at
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00101.html>.
	* top/gitsub.sh (func_upgrade): For a submodule, use 'git branch' to
	determine the branch to merge from, instead of assuming that it is
	always the 'master' branch.

2024-08-16  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Correct the result of --extract-dependents.
	* pygnulib/GLModuleSystem.py (GLModule.getDependents): Add the current
	module's test module, if that exists.

2024-08-16  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Don't treat 'valgrind-tests' as a tests module.
	Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00093.html>.
	* pygnulib/GLModuleSystem.py (_isTestsModuleName): New function.
	(GLModuleSystem.list, GLModule.isNonTests, GLModule.getApplicability,
	GLModule.getDependencies, GLModule.getAutomakeSnippet_Unconditional,
	GLModule.getLicense): Use it.

2024-08-15  Bruno Haible  <bruno@clisp.org>

	termios: Tweak doc.
	* doc/posix-headers/termios.texi: Update list of platforms.

2024-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	verror: allow library name-spacing of verror
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-08/msg00085.html
	* lib/error.c (verror, verror_at_line) [!_LIBC]: #undef only if
	the corresponding GNULIB_defined_... macros are defined.
	* lib/error.in.h (verror, verror_with_line):
	Don't define as macros if they are already defined, or if
	_GL_NO_INLINE_ERROR is defined.  This may lose some niceties with GCC
	warnings, but the code’s valid.

	error: merge from glibc and with verror
	* lib/error.c: Merge changes since 2018 from glibc.
	----- The following changes are taken from glibc:
	(__error_internal, __error_at_line_internal): New functions,
	with most of the old error and error_at_line_internal but
	with va_list and with a new trailing mode_args,
	for wide character mode.
	(error_tail): Add trailing arg.
	(error_tail, __error_internal, __error_at_line_internal):
	Redo _LIBC implementation with respect to cancelation.
	[_LIBC]: Include <libc-lock.h>, not <bits/libc-lock.h>.
	----- The following changes are specific to Gnulib:
	(__error_internal, __error_at_line_internal, error_tail) [!_LIBC]:
	Use macros to define away the new trailing arg, and to name
	the internal functions to verror and verror_at_line.
	(verror, verror_at_line) [!_LIBC]: Undef so that we omit
	the __gl_error_call business when defining these functions.
	* lib/error.in.h: Include stdarg.h.
	(verror, verror_at_line): New decls and macros.
	* m4/error_h.m4 ([gl_ERROR_H]): Always compile error.c if
	the verror module is also present.
	* modules/verror (Files, lib_SOURCES):
	Remove lib/verror.h, lib/verror.c.
	(Depends-on): Remove stdio, xvasprintf.
	(configure.ac-early): Define gl_HAVE_MODULE_VERROR so that
	the error module compiles error.c.  Not sure if this is the
	standard way to do this, but it seems to work.
	* modules/verror (Include), tests/test-verror.c:
	Include error.h, not verror.h.

	error: it’s cold
	This mimics what glibc is doing nowadays.
	* lib/error.in.h (error, error_at_line):
	* lib/verror.h (verror, verror_at_line):
	Declare with _GL_ATTRIBUTE_COLD.

2024-08-14  Bruno Haible  <bruno@clisp.org>

	pthread-rwlock-extra-tests: Exclude this test from packages by default.
	* tests/test-pthread-rwlock-waitqueue.c (STEP_INTERVAL): Add comment.
	* modules/pthread-rwlock-extra-tests (Status): Mark as longrunning-test.

2024-08-14  Bruno Haible  <bruno@clisp.org>

	tests: Fix link errors (regression 2024-08-12).
	* modules/chown-tests (Makefile.am): Link test-chown with LIBINTL.
	* modules/lchown-tests (Makefile.am): Link test-lchown with LIBINTL.
	* modules/stat-time-tests (Makefile.am): Link test-stat-time with
	LIBINTL.

2024-08-13  Bruno Haible  <bruno@clisp.org>

	mbrtoc16: Fix compilation error on Haiku.
	* lib/uchar.in.h (mbrtoc16): Fix typo.

2024-08-12  Collin Funk  <collin.funk1@gmail.com>

	termios tests: Check for struct winsize.
	* tests/test-termios.c (t2): Make sure inclusion of termios.h allows use
	of struct winsize.

	termios: Define struct winsize on all platforms.
	* doc/posix-headers/termios.texi (termios.h): Mention struct winsize is
	defined in <sys/ioctl.h> on glibc.
	* lib/termios.in.h (struct winsize): Define or include.
	* m4/termios_h.m4 (gl_TERMIOS_H): Check for a definition of struct
	winsize.
	* modules/termios (Makefile.am): Replace AC_SUBST variables.

2024-08-12  Bruno Haible  <bruno@clisp.org>

	errno tests: Avoid test failure on Haiku.
	* doc/posix-headers/errno.texi: Mention the Haiku problem.
	* tests/test-errno.c: On Haiku, don't check that the error numbers are
	positive.

2024-08-12  Bruno Haible  <bruno@clisp.org>

	errno: Ensure ESOCKTNOSUPPORT gets defined.
	* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ESOCKTNOSUPPORT
	is defined.
	* lib/errno.in.h (ESOCKTNOSUPPORT, GNULIB_defined_ESOCKTNOSUPPORT): New
	macros.
	* lib/strerror-override.h (strerror_override): Declare also if
	GNULIB_defined_ESOCKTNOSUPPORT is defined.
	* lib/strerror-override.c (strerror_override): Handle ESOCKTNOSUPPORT.
	* lib/strerrorname_np.c (strerrorname_np): Move ESOCKTNOSUPPORT code to
	the POSIX section.
	* doc/posix-headers/errno.texi: Document the Haiku problem.

2024-08-12  Bruno Haible  <bruno@clisp.org>

	fdutimensat, utimensat tests: Fix test failures on Cygwin.
	* tests/nap.h: Include concat-filename.h, xgetcwd.h.
	(nap_file): New variable.
	(nap_get_stat, clear_temp_file): Use nap_file, not TEMPFILE.
	(nap): Initialize nap_file.
	* modules/chown-tests (Depends-on): Add xconcat-filename, xgetcwd.
	* modules/fchownat-tests (Depends-on): Likewise.
	* modules/fdutimensat-tests (Depends-on): Likewise.
	* modules/futimens-tests (Depends-on): Likewise.
	* modules/lchown-tests (Depends-on): Likewise.
	* modules/stat-time-tests (Depends-on): Likewise.
	* modules/utime-tests (Depends-on): Likewise.
	* modules/utimens-tests (Depends-on): Likewise.
	* modules/utimensat-tests (Depends-on): Likewise.

2024-08-12  Bruno Haible  <bruno@clisp.org>

	pthread-rwlock: Attempt harder to avoid test failure on macOS.
	* tests/test-pthread-rwlock-waitqueue.c (STEP_INTERVAL): Bump the
	minimum interval to 200 ms on macOS.

	pthread-rwlock: Attempt harder to avoid test failure on macOS.
	* tests/test-pthread-rwlock-waitqueue.c (STEP_INTERVAL): Bump the
	minimum interval to 100 ms on macOS.

	pthread-rwlock: Attempt harder to avoid test failure on macOS.
	* tests/test-pthread-rwlock-waitqueue.c (STEP_INTERVAL): Bump the
	minimum interval to 50 ms on macOS.

2024-08-12  Bruno Haible  <bruno@clisp.org>

	pthread-rwlock tests: Move the waitqueue test into a separate module.
	* modules/pthread-rwlock-extra-tests: New file.
	* modules/pthread-rwlock-tests: Revert 2024-08-07 changes.
	(Depends-on): Add pthread-rwlock-extra-tests.

2024-08-12  Bruno Haible  <bruno@clisp.org>

	pthread-rwlock: Attempt to avoid test failure on some more machines.
	* tests/test-pthread-rwlock-waitqueue.c (STEP_INTERVAL): Bump the
	minimum interval to 20 ms on macOS.

2024-08-11  Collin Funk  <collin.funk1@gmail.com>

	htonl: Fix link errors on Windows.
	Reported by Bruno Haible in:
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00066.html>.
	* lib/arpa_inet.in.h (htons, htonl, ntohs, ntohl): Only define when not
	declared by the system.
	* m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set default behavior for
	htonl functions.
	* m4/htonl.m4 (gl_FUNC_HTONL): Check if -lws2_32 is required. Only check
	for declarations on POSIX systems.
	* modules/arpa_inet (Makefile.am): Substitute new Makefile variables.
	* modules/htonl (Files): Add m4/sys_socket_h.m4.
	(Depends-on): Remove endian condition.
	(Link): Add $(HOTNL_LIB).
	* modules/htonl-tests: Link to @HTONL_LIB@.

2024-08-11  Bruno Haible  <bruno@clisp.org>

	doc: Update regarding Windows <winsock2.h> functions.
	* doc/posix-functions/accept.texi: Mention that it's declared elsewhere
	on native Windows.
	* doc/posix-functions/bind.texi: Likewise.
	* doc/posix-functions/connect.texi: Likewise.
	* doc/posix-functions/getpeername.texi: Likewise.
	* doc/posix-functions/getsockname.texi: Likewise.
	* doc/posix-functions/getsockopt.texi: Likewise.
	* doc/posix-functions/listen.texi: Likewise.
	* doc/posix-functions/recv.texi: Likewise.
	* doc/posix-functions/recvfrom.texi: Likewise.
	* doc/posix-functions/select.texi: Likewise.
	* doc/posix-functions/send.texi: Likewise.
	* doc/posix-functions/sendto.texi: Likewise.
	* doc/posix-functions/setsockopt.texi: Likewise.
	* doc/posix-functions/shutdown.texi: Likewise.
	* doc/posix-functions/socket.texi: Likewise.
	* doc/pastposix-functions/gethostbyaddr.texi: Don't say that the
	function is missing on native Windows.
	* doc/pastposix-functions/gethostbyname.texi: Likewise.
	* doc/posix-functions/getprotobyname.texi: Likewise.
	* doc/posix-functions/getprotobynumber.texi: Likewise.
	* doc/posix-functions/getservbyname.texi: Likewise.
	* doc/posix-functions/getservbyport.texi: Likewise.
	* doc/posix-functions/htonl.texi: Likewise.
	* doc/posix-functions/htons.texi: Likewise.
	* doc/posix-functions/inet_addr.texi: Likewise.
	* doc/posix-functions/inet_ntoa.texi: Likewise.
	* doc/posix-functions/ntohl.texi: Likewise.
	* doc/posix-functions/ntohs.texi: Likewise.
	* doc/posix-functions/gethostname.texi: Update.

2024-08-10  Paul Eggert  <eggert@cs.ucla.edu>

	test-fdutimensat: fix newly-added test
	Problem reported by Bruno Haible and Collin Funk in:
	https://lists.gnu.org/r/bug-gnulib/2024-08/msg00061.html
	https://lists.gnu.org/r/bug-gnulib/2024-08/msg00064.html
	* tests/test-utimens.h (test_utimens): Fix typo in new test,
	which causes the test to break on file systems that are not noatime.

2024-08-10  Collin Funk  <collin.funk1@gmail.com>

	htonl: Add tests.
	* modules/htonl-tests: New file.
	* tests/test-htonl.c: New file.

	htonl: New module.
	* modules/htonl: New file.
	* lib/arpa_inet.c: New file.
	* m4/htonl.m4: New file.
	* modules/arpa_inet (Files): Add lib/arpa_inet.c.
	(Depends-on): Add extern-inline.
	* lib/arpa_inet.in.h (htons, htonl, ntohs, ntohl): New declarations.
	* m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Define REPLACE_HTONL.
	* doc/posix-functions/htons.texi (htons): Mention the module.
	* doc/posix-functions/htonl.texi (htonl): Likewise.
	* doc/posix-functions/ntohs.texi (ntohs): Likewise.
	* doc/posix-functions/ntohl.texi (ntohl): Likewise.

2024-08-10  Bruno Haible  <bruno@clisp.org>

	Make sure gperf-generated files are the same in VPATH builds.
	Reported by Patrice Dumas <pertusus@free.fr> in
	<https://lists.gnu.org/archive/html/bug-texinfo/2024-08/msg00030.html>.
	* modules/iconv_open (Makefile.am): Eliminate directory names from the
	generated iconv_open-aix.h, iconv_open-hpux.h, iconv_open-irix.h,
	iconv_open-osf.h, iconv_open-solaris.h, iconv_open-zos.h.
	* modules/unicase/locale-language (Makefile.am): Eliminate directory
	names from the generated unicase/locale-languages.h.
	* modules/unicase/special-casing (Makefile.am): Eliminate directory
	names from the generated unicase/special-casing-table.h.
	* modules/unictype/bidiclass-byname (Makefile.am): Eliminate directory
	names from the generated unictype/bidi_byname.h.
	* modules/unictype/category-byname (Makefile.am): Eliminate directory
	names from the generated unictype/categ_byname.h.
	* modules/unictype/combining-class-byname (Makefile.am): Eliminate
	directory names from the generated unictype/combiningclass_byname.h.
	* modules/unictype/incb-byname (Makefile.am): Eliminate directory names
	from the generated unictype/incb_byname.h.
	* modules/unictype/joininggroup-byname (Makefile.am): Eliminate
	directory names from the generated unictype/joininggroup_byname.h.
	* modules/unictype/joiningtype-byname (Makefile.am): Eliminate directory
	names from the generated unictype/joiningtype_byname.h.
	* modules/unictype/property-byname (Makefile.am): Eliminate directory
	names from the generated unictype/pr_byname.h.
	* modules/unictype/scripts (Makefile.am): Eliminate directory names from
	the generated unictype/scripts_byname.h.
	* modules/uninorm/composition (Makefile.am): Eliminate directory names
	from the generated uninorm/composition-table.h.

2024-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	full-read, etc.: prefer signed types
	* lib/full-read.h, lib/full-write.h, lib/safe-read.h, lib/safe-write.h:
	Include idx.h.
	* lib/full-write.c (full_read, full_write):
	Now accept and returns idx_t.
	* lib/safe-read.c (bufptr): New type, since apps are not
	supposed to #define keywords like ‘const’.
	(safe_read, safe_write): Now accept idx_t and return ptrdiff_t.
	* lib/safe-read.h (SAFE_READ_ERROR):
	* lib/safe-write.h (SAFE_WRITE_ERROR):
	Now ptrdiff_t, not size_t.
	* modules/full-read, modules/full-write, modules/safe-read:
	* modules/safe-write (Depends-on): Add idx.

2024-08-09  Bruno Haible  <bruno@clisp.org>

	sig2str: Align with POSIX:2024.
	* lib/signal.in.h (SIG2STR_MAX): New macro.
	(sig2str, str2sig): New declarations.
	* lib/sig2str.h: Don't include intprops.h.
	(SIG2STR_MAX): Remove macro.
	(sig2str, str2sig): Remove declarations.
	* lib/sig2str.c: Include <signal.h> as the specification header.
	* m4/signal_h.m4 (gl_SIGNAL_H): Test whether sig2str, str2sig are
	declared.
	(gl_SIGNAL_H_REQUIRE_DEFAULTS): Initialize GNULIB_SIG2STR.
	(gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIG2STR, HAVE_STR2SIG.
	* m4/sig2str.m4 (gl_FUNC_SIG2STR): Require gl_SIGNAL_H_DEFAULTS. Check
	also for str2sig. Set HAVE_SIG2STR, HAVE_STR2SIG.
	* modules/signal-h (Makefile.am): Substitute GNULIB_SIG2STR,
	HAVE_SIG2STR, HAVE_STR2SIG.
	* modules/sig2str (Depends-on): Add signal-h. Remove intprops.
	(configure.ac): Test HAVE_SIG2STR, HAVE_STR2SIG. Invoke
	gl_SIGNAL_MODULE_INDICATOR.
	(Include): Add <signal.h>.
	* doc/posix-functions/sig2str.texi: Mention as implemented through the
	sig2str module.
	* doc/posix-functions/str2sig.texi: Likewise.

2024-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	test-utime: port to noatime file systems
	Problem encountered on Ubuntu 24.04 zfs mounted noatime.
	* tests/test-fdutimensat.c (main):
	* tests/test-futimens.h (test_futimens):
	* tests/test-lutimens.h (test_lutimens):
	* tests/test-utime.c (test_utime):
	* tests/test-utimens-common.h (checkable_atime): New function.
	* tests/test-utimens.h (test_utimens):
	* tests/test-utimensat.c (main):
	Do not check atime on file systems mounted noatime.

2024-08-09  Bruno Haible  <bruno@clisp.org>

	pthread-rwlock: Attempt to avoid test failure on some machines.
	Reported by Pádraig Brady <P@draigBrady.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-08/msg00050.html>.
	* tests/test-pthread-rwlock-waitqueue.c (STEP_INTERVAL): Bump the
	minimum interval to 10 ms.
	* m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.

2024-08-08  Bruno Haible  <bruno@clisp.org>

	doc: Update for other functions added in POSIX:2024.
	* doc/posix-functions/be16toh.texi: New file.
	* doc/posix-functions/be32toh.texi: New file.
	* doc/posix-functions/be64toh.texi: New file.
	* doc/posix-functions/dcgettext_l.texi: New file.
	* doc/posix-functions/dcngettext_l.texi: New file.
	* doc/posix-functions/dgettext_l.texi: New file.
	* doc/posix-functions/dngettext_l.texi: New file.
	* doc/posix-functions/getlocalename_l.texi: New file.
	* doc/posix-functions/gettext_l.texi: New file.
	* doc/posix-functions/htobe16.texi: New file.
	* doc/posix-functions/htobe32.texi: New file.
	* doc/posix-functions/htobe64.texi: New file.
	* doc/posix-functions/htole16.texi: New file.
	* doc/posix-functions/htole32.texi: New file.
	* doc/posix-functions/htole64.texi: New file.
	* doc/posix-functions/le16toh.texi: New file.
	* doc/posix-functions/le32toh.texi: New file.
	* doc/posix-functions/le64toh.texi: New file.
	* doc/posix-functions/ngettext_l.texi: New file.
	* doc/posix-functions/posix_close.texi: New file.
	* doc/posix-functions/posix_devctl.texi: New file.
	* doc/posix-functions/posix_getdents.texi: New file.
	* doc/posix-functions/posix_spawn_file_actions_addchdir.texi: New file.
	* doc/posix-functions/posix_spawn_file_actions_addfchdir.texi: New file.
	* doc/posix-functions/sig2str.texi: New file.
	* doc/posix-functions/str2sig.texi: New file.
	* doc/posix-functions/tcgetwinsize.texi: New file.
	* doc/posix-functions/tcsetwinsize.texi: New file.
	* doc/posix-functions/wcslcat.texi: New file.
	* doc/posix-functions/wcslcpy.texi: New file.
	* doc/gnulib.texi (Functions in <devctl.h>, Functions in <endian.h>):
	New sections.
	(Functions in <dirent.h>, Functions in <libintl.h>,
	Functions in <locale.h>, Functions in <signal.h>,
	Functions in <spawn.h>, Functions in <termios.h>,
	Functions in <unistd.h>, Functions in <wchar.h>): Include the other new
	files.
	* doc/posix-functions/strlcat.texi: Update.
	* doc/posix-functions/strlcpy.texi: Update.

2024-08-08  Bruno Haible  <bruno@clisp.org>

	doc: Update for ISO C functions added in POSIX:2024.
	* doc/posix-functions/CMPLX*.texi: New files.
	* doc/posix-functions/at_quick_exit.texi: New file.
	* doc/posix-functions/atomic_*.texi: New files.
	* doc/posix-functions/kill_dependency.texi: New file.
	* doc/posix-functions/*.texi: Update.
	* doc/gnulib.texi (Functions in <stdatomic.h>): New section.
	(Functions in <complex.h>, Functions in <stdlib.h>): Include the other
	new files.

2024-08-08  Bruno Haible  <bruno@clisp.org>

	doc: Update for ISO C header files added in POSIX:2024.
	* doc/posix-headers/*.texi: Update.

2024-08-08  Bruno Haible  <bruno@clisp.org>

	doc: Update for header files added in POSIX:2024.
	* doc/posix-headers/devctl.texi: New file.
	* doc/posix-headers/endian.texi: Renamed from
	doc/glibc-headers/endian.texi. Update.
	* doc/posix-headers/libintl.texi: Renamed from
	doc/glibc-headers/libintl.texi. Update.
	* doc/gnulib.texi (Header File Substitutes,
	Glibc Header File Substitutes): Update.

2024-08-08  Bruno Haible  <bruno@clisp.org>

	doc: Update for Cygwin 3.5.3.
	* doc/posix-headers/*.texi: Update.
	* doc/posix-functions/*.texi: Likewise.
	* doc/glibc-functions/*.texi: Likewise.

2024-08-07  Bruno Haible  <bruno@clisp.org>

	math: Fix INFINITY and NAN on mingw.
	* doc/posix-headers/math.texi: Mention this mingw bug.
	* lib/math.in.h (INFINITY, NAN): Replace also on mingw.

2024-08-07  Bruno Haible  <bruno@clisp.org>

	doc: Update for OpenBSD 7.5.
	* doc/posix-headers/*.texi: Update.
	* doc/glibc-headers/*.texi: Likewise.
	* doc/posix-functions/*.texi: Likewise.
	* doc/pastposix-functions/*.texi: Likewise.
	* doc/glibc-functions/*.texi: Likewise.

2024-08-07  Bruno Haible  <bruno@clisp.org>

	Avoid compiler warnings in some configure tests.
	* m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Allocate more room for local
	array 'name'.
	* m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK): Don't
	pass a NULL pointer to pthread_mutex_timedlock.

2024-08-07  Bruno Haible  <bruno@clisp.org>

	pthread-rwlock tests: Strengthen tests.
	* tests/test-pthread-rwlock-waitqueue.c: New file.
	* modules/pthread-rwlock-tests (Files): Add it.
	(Depends-on): Add extensions, nanosleep, stdbool.
	(Makefile.am): Arrange to test test-pthread-rwlock-waitqueue.

2024-08-07  Bruno Haible  <bruno@clisp.org>

	pthread-rwlock: Fix default wait queue behaviour on glibc/Linux.
	* lib/pthread.in.h: If REPLACE_PTHREAD_RWLOCK_INIT is 1 but
	REPLACE_PTHREAD_RWLOCK_DESTROY is 0, override
	PTHREAD_RWLOCK_INITIALIZER.
	* lib/pthread-rwlock.c
	(pthread_rwlockattr_init) [PTHREAD_RWLOCK_BAD_WAITQUEUE]: New function.
	(pthread_rwlock_init) [PTHREAD_RWLOCK_BAD_WAITQUEUE]: New function.
	* m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Check for reasonable
	pthread_rwlock wait queue handling. Set REPLACE_PTHREAD_RWLOCK_INIT and
	REPLACE_PTHREAD_RWLOCKATTR_INIT and define PTHREAD_RWLOCK_BAD_WAITQUEUE
	if not.
	* modules/pthread-rwlock (configure.ac): Update
	GL_COND_OBJ_PTHREAD_RWLOCK condition.
	* doc/posix-functions/pthread_rwlock_rdlock.texi: Mark the glibc problem
	as fixed.
	* doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
	* doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.

2024-08-07  Paul Eggert  <eggert@cs.ucla.edu>

	errno-tests: port to GNU/Hurd
	Test for errno distinctness dynamically rather than statically,
	since the static test blows up the compiler on Hurd.
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-08/msg00039.html
	Also, test that errno values can all be used in #if,
	and improve diagnostics.
	* tests/test-errno.c: Include stdio.h, stdlib.h, string.h.
	(USABLE_IN_IF): New macro.  Use it to check errno values in #if.
	(ERRTAB): New macro.
	(struct nameval): New type.
	(errtab): New global variable.
	(errtab_cmp): New function.
	(main): Test for errno distinctness dynamically not statically.
	Diagnose lack of distinctness better.

2024-08-07  Bruno Haible  <bruno@clisp.org>

	fchmodat: Fix cross-compilation guess.
	* m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Tolerate Linux version number
	in $host_os.

2024-08-06  Bruno Haible  <bruno@clisp.org>

	windows-mutex, windows-timedmutex: Fix mistake in last commit.
	* lib/windows-mutex.c (glwthread_mutex_init): Initialize the 'owner'
	field.
	* lib/windows-timedmutex.c (glwthread_timedmutex_init): Likewise.

2024-08-06  Bruno Haible  <bruno@clisp.org>

	doc: Mention a macOS bug.
	* doc/posix-functions/pthread_rwlock_trywrlock.texi: Mention a macOS
	bug.

2024-08-06  Bruno Haible  <bruno@clisp.org>

	mtx tests: Strengthen tests.
	* tests/test-mtx-type.c: New file.
	* modules/mtx-tests (Files): Add it.
	(Makefile.am): Arrange to test test-mtx-type.

2024-08-06  Bruno Haible  <bruno@clisp.org>

	pthread-mutex tests: Strengthen tests.
	* tests/test-pthread-mutex-type.c: New file.
	* modules/pthread-mutex-tests (Files): Add it.
	(Makefile.am): Arrange to test test-pthread-mutex-type.
	* doc/posix-functions/pthread_mutex_lock.texi: Mention FreeBSD and
	NetBSD problem.
	* doc/posix-functions/pthread_mutex_trylock.texi: Likewise.

2024-08-06  Bruno Haible  <bruno@clisp.org>

	windows-timedrecmutex: Add tests.
	* tests/test-windows-timedrecmutex-type.c: New file.
	* modules/windows-timedrecmutex-tests: New file.

	windows-recmutex: Add tests.
	* tests/test-windows-recmutex-type.c: New file.
	* modules/windows-recmutex-tests: New file.

	windows-timedmutex: Add tests.
	* tests/test-windows-timedmutex-type.c: New file.
	* modules/windows-timedmutex-tests: New file.

	windows-mutex: Add tests.
	* tests/test-windows-mutex-type.c: New file.
	* modules/windows-mutex-tests: New file.

2024-08-06  Bruno Haible  <bruno@clisp.org>

	windows-mutex, windows-timedmutex: Follow pthread_mutex_trylock spec.
	* lib/windows-mutex.h (glwthread_mutex_t): Add 'owner' field.
	* lib/windows-mutex.c: Include <stdlib.h>.
	(glwthread_mutex_lock): Set the 'owner' field after entering the
	critical section.
	(glwthread_mutex_trylock): Detect whether the lock was previously locked
	by this thread. Set the 'owner' field after entering the critical
	section.
	(glwthread_mutex_unlock): Clear the 'owner' field before leaving the
	critical section.
	* lib/windows-timedmutex.h (glwthread_timedmutex_t): Add 'owner' field.
	* lib/windows-timedmutex.c: (glwthread_timedmutex_lock): Set the 'owner'
	field after entering the critical section.
	(glwthread_timedmutex_trylock): Detect whether the lock was previously
	locked by this thread. Set the 'owner' field after entering the critical
	section.
	(glwthread_timedmutex_unlock): Clear the 'owner' field before leaving
	the critical section.

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

	Improve a comment.
	With info from Sam James <sam@gentoo.org>.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Reference the gcc bug that is
	the reason for _GL_BRACKET_BEFORE_ATTRIBUTE.

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

	math: Fix HUGE_VAL and HUGE_VALL on AIX.
	* lib/math.in.h (HUGE_VAL, HUGE_VALL): Override on AIX.
	* doc/posix-headers/math.texi: Mention this AIX problem.

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

	xstrtol, xstrtoll tests: Fix test failures.
	* tests/test-xstrtol.c (is_GNULIB_strtol): New macro.
	(main): Use it in the expected test results.
	* tests/test-xstrtoll.c (is_GNULIB_strtol): New macro.

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

	gnulib-tool.py: Fix testdirs created with --without-tests.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Don't assume that 'gltests'
	is the last subdirectory with a configure.ac.

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

	Fix compilation error in C++ mode with clang >= 16 (regr. 2024-07-29).
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Define
	_GL_BRACKET_BEFORE_ATTRIBUTE with clang++ 16 or newer.

2024-08-05  Bernhard Voelker  <mail@bernhard-voelker.de>

	dfa-tests: Detect test-dfa-match-aux error.
	* tests/test-dfa-invalid-merge.sh: Set fail=1 if test-dfa-match-aux fails.
	Remove redundant 'returns_ 0'.

2024-08-05  Bernhard Voelker  <mail@bernhard-voelker.de>

	test-framework-sh: Improve returns_ example.
	In the shell test framework, an error is either flagged by setting
	the shell variable fail=1, or by invoking the fail_ function with an
	error diagnostic.
	* tests/init.sh (returns_): Change example code in the comment to
	use '|| fail=1' properly.

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

	once: Add missing .m4 file.
	Reported by Collin Funk.
	* m4/once.m4: New file.

2024-08-04  Bruno Haible  <bruno@clisp.org>

	mtx-tests: Reduce dependencies.
	* tests/test-mtx.c: Don't include glthread/lock.h.
	* modules/mtx-tests (Depends-on): Remove lock.

2024-08-04  Bruno Haible  <bruno@clisp.org>

	thread: Reduce dependencies.
	* lib/glthread/thread.c: Don't include glthread/lock.h.
	* modules/thread (Depends-on): Remove lock.

2024-08-04  Bruno Haible  <bruno@clisp.org>

	uchar-c23: Reduce dependencies.
	* lib/lc-charset-unicode.c: Include glthread/once.h instead of
	glthread/lock.h.
	* modules/uchar-c23 (Depends-on): Add once. Remove lock.

2024-08-04  Bruno Haible  <bruno@clisp.org>

	strsignal: Reduce dependencies.
	* lib/strsignal.c: Include glthread/once.h instead of glthread/lock.h.
	* modules/strsignal (Depends-on): Add once. Remove lock.

2024-08-04  Bruno Haible  <bruno@clisp.org>

	immutable: Clarify dependencies.
	* lib/immutable.c: Include glthread/once.h instead of glthread/lock.h.
	* modules/immutable (Depends-on): Add once.

2024-08-04  Bruno Haible  <bruno@clisp.org>

	fstrcmp: Reduce dependencies.
	* lib/fstrcmp.c: Include glthread/once.h instead of glthread/lock.h.
	* modules/fstrcmp (Depends-on): Add once. Remove lock.

2024-08-04  Bruno Haible  <bruno@clisp.org>

	lock-tests: Clarify dependencies.
	* tests/test-lock.c: Include glthread/once.h.
	* modules/lock-tests (Depends-on): Add once.

2024-08-04  Bruno Haible  <bruno@clisp.org>

	fatal-signal: Clarify dependencies.
	* lib/fatal-signal.c: Include glthread/once.h.
	* modules/fatal-signal (Depends-on): Add once.

2024-08-04  Bruno Haible  <bruno@clisp.org>

	clean-temp-simple: Clarify dependencies.
	* lib/clean-temp-simple.c: Include glthread/once.h.
	* modules/clean-temp-simple (Depends-on): Add once.

2024-08-04  Bruno Haible  <bruno@clisp.org>

	once-tests: New module, extracted from lock-tests.
	* modules/once-tests: New file.
	* modules/lock-tests (Files): Remove tests/test-once.c.
	(Makefile.am): Don't build and test test-once1 and test-once2.

	once: New module, extracted from lock.
	* lib/glthread/once.h: New file, extracted from lib/glthread/lock.h.
	* lib/glthread/once.c: New file, extracted from lib/glthread/lock.c.
	* lib/glthread/lock.h: Include glthread/once.h. Don't include
	windows-once.h.
	(c11_threads_in_use, glthread_in_use, gl_once_t, gl_once_define,
	glthread_once): Remove.
	(glthread_once_singlethreaded, glthread_once_multithreaded): Remove
	declarations.
	* lib/glthread/lock.c (fresh_once, glthread_once_singlethreaded,
	glthread_once_multithreaded): Remove.
	* modules/once: New file.
	* modules/lock (Depends-on): Add once. Remove pthread-once,
	windows-once.
	* tests/test-once.c: Include glthread/once.h instead of glthread/lock.h.
	* doc/multithread.texi (Gnulib multithreading): Mention the module
	'once'.

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

	gnulib-tool.py: Small refactoring.
	Suggested by Collin Funk.
	* pygnulib/GLModuleSystem.py (GLModule.getDependenciesRecursively):
	Return a set of GLModule.
	* pygnulib/main.py (main): Convert the result to a string here.

2024-08-02  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Correct type hint and doc string.
	* pygnulib/GLModuleSystem.py (GLModule.getDependentsRecursively): Adjust
	type hint and doc string to correctly state a set of GLModule's is
	returned.

2024-08-02  Bruno Haible  <bruno@clisp.org>

	Allow use of --avoid=extensions-aix.
	* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Don't require gl_USE_AIX_EXTENSIONS
	explicitly.
	* m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Likewise.
	* m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Likewise.
	* m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Likewise.
	* m4/scandir.m4 (gl_FUNC_SCANDIR): Likewise.

2024-08-01  Bruno Haible  <bruno@clisp.org>

	math: Fix INFINITY and NAN on FreeBSD and AIX.
	* doc/posix-headers/math.texi: Mention some FreeBSD and AIX bugs.
	* lib/math.in.h (INFINITY): New macro.
	(NAN): Replace also on FreeBSD < 8 and AIX. Use __builtin_nanf where
	available.
	(HUGE_VALF): Replace also on FreeBSD < 6. Use __builtin_inff where
	available.
	(HUGE_VAL): Replace also on FreeBSD < 6. Use __builtin_inf where
	available.
	(HUGE_VALL): Replace also on FreeBSD < 6. Use __builtin_infl where
	available.
	* tests/test-math.c: Check that INFINITY, NAN, HUGE_VALF, HUGE_VAL,
	HUGE_VALL are constant expressions.
	(main): Check the type of INFINITY and NAN.

2024-08-01  Bruno Haible  <bruno@clisp.org>

	Ensure consistent effects of _LINUX_SOURCE_COMPAT.
	* modules/extensions (configure.ac-early): New section.
	* m4/extensions-aix.m4: New file.
	* modules/extensions-aix: New file.
	* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Require gl_USE_AIX_EXTENSIONS,
	instead of defining _LINUX_SOURCE_COMPAT at this stage.
	* m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Likewise.
	* m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Likewise.
	* m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Likewise.
	* m4/scandir.m4 (gl_FUNC_SCANDIR): Likewise.
	* modules/errno (Depends-on): Add extensions-aix.
	* modules/malloc-gnu (Depends-on): Likewise.
	* modules/calloc-gnu (Depends-on): Likewise.
	* modules/realloc-gnu (Depends-on): Likewise.
	* modules/scandir (Depends-on): Likewise.

2024-08-01  Bruno Haible  <bruno@clisp.org>

	strerror_r: Fix for AIX (regression yesterday).
	* lib/strerror_r.c: Ignore the value of STRERROR_R_CHAR_P on AIX.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
	_LINUX_SOURCE_COMPAT, since it provides no advantage for strerror_r.

2024-07-31  Paul Eggert  <eggert@cs.ucla.edu>

	errno: make EEXIST != ENOTEMPTY on AIX
	Also, improve errno tests.
	* m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
	* m4/malloc.m4 (gl_FUNC_MALLOC_GNU):
	* m4/realloc.m4 (gl_FUNC_REALLOC_GNU):
	* m4/scandir.m4 (gl_FUNC_SCANDIR):
	Define _LINUX_SOURCE_COMPAT, as this can sometimes help on AIX.
	* m4/errno_h.m4 (gl_HEADER_ERRNO_H):
	Define _LINUX_SOURCE_COMPAT, to make EEXIST != ENOTEMPTY.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R):
	Define _LINUX_SOURCE_COMPAT, in case someone else does.
	* modules/errno-tests (Depends-on): Add assert-h, c99.
	* tests/test-errno.c (e1, ..., e131): Remove, replacing with ...
	(CHECK_POSIX_ERRNOS, POSITIVE_INTEGER_CONSTANT_EXPRESSION)
	(INDEXED_BY_ERRNO, ERRNO_COUNT): These new macros.
	Check that all errno values are positive integer constant expressions.
	Check that they are all distinct, except perhaps for
	EWOULDBLOCK == EAGAIN and ENOTSUP == EOPNOTSUPP.
	Also check ESOCKTNOSUPPORT, added in POSIX.1-2024.
	Also, check that errno values are distinct except when POSIX says
	they needn’t be distinct, since POSIX.1-2024 gives license to
	GNU/Linux’s non-distinct values.

2024-07-31  Bruno Haible  <bruno@clisp.org>

	float: Update to mostly guarantee ISO C 23 compliance.
	* doc/posix-headers/float.texi: Mention the various portability
	problems.
	* lib/float.in.h (FLT_HAS_SUBNORM, FLT_DECIMAL_DIG, FLT_TRUE_MIN,
	DBL_HAS_SUBNORM, DBL_DECIMAL_DIG, DBL_TRUE_MIN, LDBL_HAS_SUBNORM,
	LDBL_DECIMAL_DIG, LDBL_TRUE_MIN): New macros.
	(gl_LDBL_TRUE_MIN): New declaration.
	(FLT_IS_IEC_60559, FLT_NORM_MAX, FLT_SNAN, GNULIB_defined_FLT_SNAN,
	DBL_IS_IEC_60559, DBL_NORM_MAX, DBL_SNAN, GNULIB_defined_DBL_SNAN,
	LDBL_IS_IEC_60559, LDBL_NORM_MAX, LDBL_SNAN, GNULIB_defined_LDBL_SNAN):
	New macros.
	(gl_FLT_SNAN_t, gl_DBL_SNAN_t, gl_LDBL_SNAN_t): New types.
	(gl_FLT_SNAN, gl_DBL_SNAN, gl_LDBL_SNAN): New declarations.
	* lib/float.c (gl_LDBL_TRUE_MIN): New variable.
	(gl_FLT_SNAN, gl_DBL_SNAN, gl_LDBL_SNAN): New variables.
	* m4/float_h.m4 (gl_FLOAT_H): Add check whether float.h conforms to
	ISO C23. Set REPLACE_FLOAT_SNAN.
	* modules/float (configure.ac): Test also REPLACE_FLOAT_SNAN. Require
	gl_BIGENDIAN.
	* tests/test-float.c: Also check FLT_EVAL_METHOD, FLT_HAS_SUBNORM,
	FLT_DECIMAL_DIG, FLT_IS_IEC_60559, FLT_TRUE_MIN, FLT_NORM_MAX,
	DBL_HAS_SUBNORM, DBL_DECIMAL_DIG, DBL_IS_IEC_60559, DBL_TRUE_MIN,
	DBL_NORM_MAX, LDBL_HAS_SUBNORM, LDBL_DECIMAL_DIG, LDBL_IS_IEC_60559.
	Conditionally check LDBL_TRUE_MIN, LDBL_NORM_MAX.
	Include isnanf-nolibm.h, isnand-nolibm.h, isnanl-nolibm.h.
	(test_float): Check the values of FLT_HAS_SUBNORM, FLT_DECIMAL_DIG,
	FLT_TRUE_MIN, FLT_IS_IEC_60559, FLT_NORM_MAX, FLT_SNAN.
	(test_double): Check the values of DBL_HAS_SUBNORM, DBL_DECIMAL_DIG,
	DBL_TRUE_MIN, DBL_IS_IEC_60559, DBL_NORM_MAX, DBL_SNAN.
	(test_long_double): Check the values of LDBL_HAS_SUBNORM,
	LDBL_DECIMAL_DIG, LDBL_TRUE_MIN, LDBL_IS_IEC_60559, LDBL_NORM_MAX,
	LDBL_SNAN.
	* modules/float-tests (Depends-on): Add isnanf-nolibm, isnand-nolibm,
	isnanl-nolibm.

2024-07-30  Bruno Haible  <bruno@clisp.org>

	attribute: Improve documentation.
	* lib/attribute.h: Clarify where to place the various attributes.

2024-07-30  Bruno Haible  <bruno@clisp.org>

	Reenable use of attributes in bracket syntax [[...]] (regr. yesterday).
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Add more comments. Don't define
	_GL_BRACKET_USABLE.
	* lib/c++defs.h (_GL_EXTERN_C_FUNC): New macro.
	(_GL_FUNCDECL_RPL, _GL_FUNCDECL_RPL_1, _GL_FUNCDECL_SYS): Expect the
	attributes in an optional 4th argument. Expand them before the return
	type.
	* lib/arpa_inet.in.h: Update all _GL_FUNCDECL_RPL and _GL_FUNCDECL_SYS
	invocations.
	* lib/dirent.in.h: Likewise.
	* lib/error.in.h: Likewise.
	* lib/fcntl.in.h: Likewise.
	* lib/fnmatch.in.h: Likewise.
	* lib/glob.in.h: Likewise.
	* lib/iconv.in.h: Likewise.
	* lib/inttypes.in.h: Likewise.
	* lib/locale.in.h: Likewise.
	* lib/malloc.in.h: Likewise.
	* lib/math.in.h: Likewise.
	* lib/monetary.in.h: Likewise.
	* lib/netdb.in.h: Likewise.
	* lib/pthread.in.h: Likewise.
	* lib/search.in.h: Likewise.
	* lib/signal.in.h: Likewise.
	* lib/spawn.in.h: Likewise.
	* lib/stdio.in.h: Likewise.
	* lib/stdlib.in.h: Likewise.
	* lib/string.in.h: Likewise.
	* lib/sys_random.in.h: Likewise.
	* lib/sys_resource.in.h: Likewise.
	* lib/sys_socket.in.h: Likewise.
	* lib/sys_stat.in.h: Likewise.
	* lib/sys_time.in.h: Likewise.
	* lib/threads.in.h: Likewise.
	* lib/time.in.h: Likewise.
	* lib/uchar.in.h: Likewise.
	* lib/unistd.in.h: Likewise.
	* lib/utime.in.h: Likewise.
	* lib/wchar.in.h: Likewise.
	* lib/wctype.in.h: Likewise.
	* lib/c-vasprintf.h (c_aszprintf, c_vaszprintf, c_asprintf,
	c_vasprintf): Move _GL_ATTRIBUTE_NODISCARD back to the beginning of the
	declaration.

2024-07-29  Bruno Haible  <bruno@clisp.org>

	vaszprintf-posix tests: Fix a gcc warning.
	* tests/test-vaszprintf-posix.c (test_function): Remove an unused
	variable.

2024-07-29  Bruno Haible  <bruno@clisp.org>

	Use attribute [[nodiscard]] wherever glibc uses __wur.
	* lib/malloc.in.h (memalign): Mark with _GL_ATTRIBUTE_NODISCARD.
	* lib/stdio.in.h (fdopen, fgets, fopen, fread, freopen, fscanf, ftell,
	ftello, getdelim, getline, popen, scanf, tmpfile, vfscanf, vscanf):
	Likewise.
	* lib/stdlib.in.h (aligned_alloc, atoll, calloc, canonicalize_file_name,
	getsubopt, malloc, mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps,
	posix_memalign, posix_openpt, ptsname, realloc, reallocarray, realpath,
	rpmatch, secure_getenv): Likewise.
	* lib/sys_random.in.h (getrandom): Likewise.
	* lib/sys_stat.in.h (fchmodat): Likewise.
	* lib/unistd.in.h (chown, dup, faccessat, fchdir, fchownat, ftruncate,
	getcwd, getdomainname, getentropy, getgroups, lchown, link, linkat,
	pipe, pipe2, pread, pwrite, read, readlink, readlinkat, sethostname,
	symlink, symlinkat, truncate, ttyname_r, write): Likewise.

2024-07-29  Bruno Haible  <bruno@clisp.org>

	Avoid g++ "warning: attributes are not permitted in this position".
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Add more comments. Define
	_GL_BRACKET_USABLE. Use it for _GL_ATTRIBUTE_DEPRECATED,
	_GL_ATTRIBUTE_MAYBE_UNUSED, _GL_ATTRIBUTE_NODISCARD,
	_GL_ATTRIBUTE_REPRODUCIBLE, _GL_ATTRIBUTE_UNSEQUENCED.
	* lib/stdio.in.h (aszprintf, vaszprintf, asprintf, vasprintf): Move
	_GL_ATTRIBUTE_NODISCARD to the same position as the other attributes.
	* lib/c-vasprintf.h (c_aszprintf, c_vaszprintf, c_asprintf,
	c_vasprintf): Likewise.

2024-07-29  Bruno Haible  <bruno@clisp.org>

	An update for clang >= 16.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Don't define
	_GL_BRACKET_BEFORE_ATTRIBUTE with clang++ 16 or newer.

2024-07-29  Bruno Haible  <bruno@clisp.org>

	Fix misspelling of __clang_major__.
	* lib/cdefs.h (__THROW, __THROWNL, __NTH, __NTHNL): Fix misspelled macro
	name.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
	* lib/malloc.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.
	* lib/stddef.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.
	* lib/stdio.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.
	* lib/stdlib.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.
	* lib/string.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.
	* lib/sys_stat.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.
	* lib/wchar.in.h (_GL_ATTRIBUTE_NOTHROW): Likewise.

2024-07-29  Bruno Haible  <bruno@clisp.org>

	chdir: Fix mistake in GNULIB_POSIXCHECK.
	* lib/unistd.in.h: Don't attach the chdir warning to the 'chown'
	function.

2024-07-29  Bruno Haible  <bruno@clisp.org>

	atoll: Fix module dependencies.
	* modules/atoll (Depends-on): Add stdlib.

2024-07-29  Bruno Haible  <bruno@clisp.org>

	vasprintf, c-vasprintf: Remind users to consider the return value.
	* lib/stdio.in.h (aszprintf, vaszprintf, asprintf, vasprintf): Mark with
	_GL_ATTRIBUTE_NODISCARD.
	* lib/c-vasprintf.h (c_aszprintf, c_vaszprintf, c_asprintf,
	c_vasprintf): Likewise.

2024-07-29  Bruno Haible  <bruno@clisp.org>

	xstrtol, xstrtoll tests: Avoid test failure after 2024-07-25 change.
	* tests/test-xstrtol.c (main): Update expected test results.

2024-07-29  Bruno Haible  <bruno@clisp.org>

	logp1l: Add tests.
	* tests/test-logp1l.c: New file, based on tests/test-log1pl.c.
	* modules/logp1l-tests: New file.

	logp1l: New module.
	* lib/math.in.h (logp1l): New declaration.
	* lib/logp1l.c: New file.
	* m4/logp1l.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether logp1l is declared.
	(gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_LOGP1L.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_LOGP1L.
	* modules/math (Makefile.am): Substitute GNULIB_LOGP1L, HAVE_LOGP1L.
	* modules/logp1l: New file.
	* doc/posix-functions/logp1l.texi: Mention the new module.

2024-07-29  Bruno Haible  <bruno@clisp.org>

	logp1f: Add tests.
	* tests/test-logp1f.c: New file, based on tests/test-log1pf.c.
	* modules/logp1f-tests: New file.

	logp1f: New module.
	* lib/math.in.h (logp1f): New declaration.
	* lib/logp1f.c: New file.
	* m4/logp1f.m4: New file.
	* m4/log1p.m4 (gl_FUNC_LOG1P): Define through AC_DEFUN_ONCE.
	* m4/isnand.m4 (gl_FUNC_ISNAND): Define through AC_DEFUN_ONCE.
	* m4/math_h.m4 (gl_MATH_H): Test whether logp1f is declared.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_LOGP1F.
	* modules/math (Makefile.am): Substitute GNULIB_LOGP1F, HAVE_LOGP1F.
	* modules/logp1f: New file.
	* doc/posix-functions/logp1f.texi: Mention the new module.

2024-07-29  Bruno Haible  <bruno@clisp.org>

	logp1: Add tests.
	* tests/test-logp1.c: New file, based on tests/test-log1p.c.
	* modules/logp1-tests: New file.

	logp1: New module.
	* lib/math.in.h (logp1): New declaration.
	* lib/logp1.c: New file.
	* m4/logp1.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether logp1 is declared.
	(gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_LOGP1.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_LOGP1.
	* modules/math (Makefile.am): Substitute GNULIB_LOGP1, HAVE_LOGP1.
	* modules/logp1: New file.
	* doc/posix-functions/logp1.texi: Mention the new module.

2024-07-28  Bruno Haible  <bruno@clisp.org>

	More updates regarding the 'Useable-in-testdir' sections.
	* gnulib-tool.sh (sed_extract_prog, sed_extract_field_header): Recognize
	the 'Useable-in-testdir' sections.
	* modules/TEMPLATE-EXTENDED: Add a 'Useable-in-testdir' section.
	* doc/gnulib.texi (Module description): Move new text.

2024-07-28  Collin Funk  <collin.funk1@gmail.com>

	doc: Document the 'Useable-in-testdir' field in module descriptions.
	* doc/gnulib.texi (Module description): Add the 'Usable-in-testdir'
	field.

2024-07-28  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: New options --extract-[recursive-]dependents.
	* pygnulib/GLInfo.py (GLInfo.usage): Document --extract-dependents and
	--extract-recursive-dependents options.
	* pygnulib/GLModuleSystem.py (GLModule.getDependenciesRecursively): Move
	method.
	(getDependents, getDependentsRecursively): New methods.
	* pygnulib/main.py (main): Add support for --extract-dependents and
	--extract-recursive-dependents.

2024-07-28  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Avoid adding specific modules to a testdir.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-07/msg00292.html>.
	* pygnulib/GLInfo.py (GLInfo.usage): Document
	--extract-usability-in-testdir option.
	* pygnulib/GLModuleSystem.py (GLModule.section_label_pattern): Recognize
	Usable-in-testdir section.
	(GLModule.getUsabilityInTestdir): New function.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Invoke it to filter out
	modules to avoid. Warn if such a module was specified.
	* pygnulib/main.py (main): Add support for
	--extract-usability-in-testdir. Provide an error message for error 24.
	* pygnulib/GLError.py: Likewise.
	* modules/config-h (Usable-in-testdir): New section.
	* modules/lib-ignore (Usable-in-testdir): New section.
	* modules/mountlist (Usable-in-testdir): New section.
	* modules/non-recursive-gnulib-prefix-hack (Usable-in-testdir): New
	section.
	* modules/timevar (Usable-in-testdir): New section.
	(Files): Remove lib/timevar.def.

2024-07-28  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Fix an exception message.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.find): Raise error 23,
	not 3.
	* pygnulib/GLError.py: Provide an error message for error 23.
	* pygnulib/main.py: Likewise.

2024-07-28  Paul Eggert  <eggert@cs.ucla.edu>

	maint: remove ‘coding: utf-8’ on ASCII
	These days, ‘coding: utf-8’ tags aren’t needed in general,
	as Emacs typically defaults to UTF-8, and Emacs itself now
	has many untagged source files in UTF-8.  However, for now let’s
	just remove the tags when they are on ASCII files.
	* lib/md5-stream.c, lib/sha1-stream.c, lib/sha256-stream.c:
	* lib/sm3-stream.c: Remove unnecessary coding: lines.

	maint: remove coding: that did not work
	* m4/fnmatch.m4, m4/fpieee.m4, m4/mbrlen.m4, m4/mbrtowc.m4:
	Remove ineffective coding: strings.

	std-gnu23: new module
	The plan is to update the c99 module to depend on std-gnu23
	instead of on std-gnu11, and to make std-gnu11 obsolete.
	A benefit of this will be that c99 will no longer affect C++.
	For now, though, std-gnu23 is simply a new, optional module.
	* MODULES.html.sh (func_all_modules): Add it.
	* modules/std-gnu23, m4/std-gnu23.m4: New files.
	* m4/std-gnu11.m4: Do nothing if _AC_C_C23_OPTIONS is defined.
	(AC_PROG_CC): Use AC_DEFUN, not AC_DEFUN_ONCE, so that
	we can be superseded.

	timevar: add missing timevar.def
	* modules/timevar (Files): Add timevar.def.

2024-07-27  Collin Funk  <collin.funk1@gmail.com>

	doc: Remove HTML code tags from Texinfo files.
	* doc/posix-functions/alarm.texi (alarm): Use @code{} instead of
	<code></code>.
	* doc/posix-headers/sys_un.texi (sys/un.h): Likewise.

	maintainer-makefile: Fix yesterdays #include <...> change.
	* top/maint.mk (gl_prefer_angle_bracket_headers_): Remove files that
	don't include #include_next. Sort using the C locale.

	doc: Fix yesterdays #include <...> change.
	* doc/gnulib-tool.texi (Style of #include statements): Remove files that
	don't include #include_next. Sort using the C locale.

2024-07-26  Collin Funk  <collin.funk1@gmail.com>

	maintainer-makefile: Update list of headers to use #include <...>.
	* top/maint.mk (gl_prefer_angle_bracket_headers_):  Add missing headers
	from lib/*.in.h. Re-sort list.

	doc: Update list of headers to use #include <...>.
	* doc/gnulib-tool.texi (Style of #include statements): Add missing
	headers from lib/*.in.h. Re-sort list.

	sys_time, sys_types: Remove sys directory at 'make mostlyclean'.
	* modules/sys_time (Makefile.am): Add sys to MOSTLYCLEANDIRS.
	* modules/sys_types (Makefile.am): Likewise.

2024-07-26  Bruno Haible  <bruno@clisp.org>

	sys_un: Avoid compilation error in C++ <string.h> on glibc systems.
	* m4/sys_un_h.m4 (gl_SYS_UN_H): Require AC_CANONICAL_HOST. Set
	GL_GENERATE_SYS_UN_H to true on glibc systems. Invoke
	gl_CHECK_NEXT_HEADERS. Initialize HAVE_SYS_UN_H.
	* lib/sys_un.in.h: Use include_next and a split double-inclusion guard.
	In C++ mode, include <stddef.h> and <string.h> first.
	* modules/sys_un (Depends-on): Add include_next.
	(Makefile.am): Substitute INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER,
	PRAGMA_COLUMNS, NEXT_SYS_UN_H, HAVE_SYS_UN_H. Arrange to remove 'sys'
	directory at "make mostlyclean".

2024-07-26  Bruno Haible  <bruno@clisp.org>

	xstrtol, xstrtoll tests: Improve comment.
	* tests/test-xstrtol.c (main): Clarify that the new test exercises
	undefined behaviour.

2024-07-25  Paul Eggert  <eggert@cs.ucla.edu>

	xstrtol: remove the base-checking changes
	* lib/xstrtol.c (__xstrtol): Stop worrying about hypothetical
	implementations that are causing more confusion than the code is
	worth.  Instead, go back more to old way of doing things.
	None of this matters for practical applications.
	* lib/xstrtol.h: Document that behavior is undefined
	if the base is negative, 1, or greater than 36.
	* modules/xstrtol (Depends-on): Remove nullptr; no longer needed.

2024-07-25  Bruno Haible  <bruno@clisp.org>

	xstrtol, xstrtoll tests: Avoid test failure on FreeBSD.
	* tests/test-xstrtol.c (main): Adjust expected results for FreeBSD.

	xstrtol, xstrtoll tests: Test behaviour for an invalid base.
	Reported by Alejandro Colomar <alx@kernel.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-07/msg00249.html>.
	* modules/xstrtol-tests (Files): Add tests/macros.h.
	* modules/xstrtoll-tests (Files): Likewise.
	* tests/test-xstrtol.c: Include macros.h.
	(main): If no arguments are given on the command line, perform
	miscellaneous tests.
	* tests/test-xstrtol.sh: Also invoke test-xstrtol without arguments.
	* tests/test-xstrtoll.sh: Also invoke test-xstrtoll without arguments.

2024-07-24  Collin Funk  <collin.funk1@gmail.com>

	sys_un: Add C++ tests.
	* modules/sys_un-c++-tests: New file.
	* tests/test-sys_un-c++.cc: New file.
	* modules/sys_un-tests (Depends-on): Add sys_un-c++-tests.

	sys_un: Add tests.
	* modules/sys_un-tests: New file.
	* tests/test-sys_un.c: New file.

	sys_un: New module.
	* doc/posix-headers/sys_un.texi (sys/un.h): Mention it.
	* lib/sys_un.in.h: New file.
	* m4/sys_un_h.m4: New file.
	* modules/sys_un: New file.

2024-07-24  Bruno Haible  <bruno@clisp.org>

	Avoid false select_used_without_requesting_gnulib_module_select.
	* modules/select (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_select.in.h (select): Don't define to
	select_used_without_requesting_gnulib_module_select if the gnulib module
	'select' is in use under the same configure.ac.

	Avoid false shutdown_used_without_requesting_gnulib_module_shutdown.
	* modules/shutdown (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_socket.in.h (shutdown): Don't define to
	shutdown_used_without_requesting_gnulib_module_shutdown if the gnulib
	module 'shutdown' is in use under the same configure.ac.

	Avoid false setsockopt_used_without_requesting_gnulib_module_setsockopt.
	* modules/setsockopt (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_socket.in.h (setsockopt): Don't define to
	setsockopt_used_without_requesting_gnulib_module_setsockopt if the
	gnulib module 'setsockopt' is in use under the same configure.ac.

	Avoid false sendto_used_without_requesting_gnulib_module_sendto.
	* modules/sendto (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_socket.in.h (sendto): Don't define to
	sendto_used_without_requesting_gnulib_module_sendto if the gnulib module
	'sendto' is in use under the same configure.ac.

	Avoid false recvfrom_used_without_requesting_gnulib_module_recvfrom.
	* modules/recvfrom (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_socket.in.h (recvfrom): Don't define to
	recvfrom_used_without_requesting_gnulib_module_recvfrom if the gnulib
	module 'recvfrom' is in use under the same configure.ac.

	Avoid false send_used_without_requesting_gnulib_module_send.
	* modules/send (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_socket.in.h (send): Don't define to
	send_used_without_requesting_gnulib_module_send if the gnulib module
	'send' is in use under the same configure.ac.

	Avoid false recv_used_without_requesting_gnulib_module_recv.
	* modules/recv (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_socket.in.h (recv): Don't define to
	recv_used_without_requesting_gnulib_module_recv if the gnulib module
	'recv' is in use under the same configure.ac.

	Avoid false listen_used_without_requesting_gnulib_module_listen.
	* modules/listen (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_socket.in.h (listen): Don't define to
	listen_used_without_requesting_gnulib_module_listen if the gnulib module
	'listen' is in use under the same configure.ac.

	Avoid false getsockopt_used_without_requesting_gnulib_module_getsockopt.
	* modules/getsockopt (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_socket.in.h (getsockopt): Don't define to
	getsockopt_used_without_requesting_gnulib_module_getsockopt if the
	gnulib module 'getsockopt' is in use under the same configure.ac.

	Avoid false getsockname_used_without_requesting_gnulib_module_getsockname.
	* modules/getsockname (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_socket.in.h (getsockname): Don't define to
	getsockname_used_without_requesting_gnulib_module_getsockname if the
	gnulib module 'getsockname' is in use under the same configure.ac.

	Avoid false getpeername_used_without_requesting_gnulib_module_getpeername.
	* modules/getpeername (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_socket.in.h (getpeername): Don't define to
	getpeername_used_without_requesting_gnulib_module_getpeername if the
	gnulib module 'getpeername' is in use under the same configure.ac.

	Avoid false bind_used_without_requesting_gnulib_module_bind.
	* modules/bind (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_socket.in.h (bind): Don't define to
	bind_used_without_requesting_gnulib_module_bind if the gnulib module
	'bind' is in use under the same configure.ac.

	Avoid false accept_used_without_requesting_gnulib_module_accept.
	* modules/accept (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_socket.in.h (accept): Don't define to
	accept_used_without_requesting_gnulib_module_accept if the gnulib module
	'accept' is in use under the same configure.ac.

	Avoid false socket_used_without_requesting_gnulib_module_connect.
	* modules/connect (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_socket.in.h (connect): Don't define to
	socket_used_without_requesting_gnulib_module_connect if the gnulib
	module 'connect' is in use under the same configure.ac. Fix typo.

	Avoid false socket_used_without_requesting_gnulib_module_socket.
	* modules/socket (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_socket.in.h (socket): Don't define to
	socket_used_without_requesting_gnulib_module_socket if the gnulib module
	'socket' is in use under the same configure.ac.

	Avoid false lstat_used_without_requesting_gnulib_module_lstat.
	* modules/lstat (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_stat.in.h (lstat): Don't define to
	lstat_used_without_requesting_gnulib_module_lstat if the gnulib module
	'lstat' is in use under the same configure.ac.

	Avoid false fstatat_used_without_requesting_gnulib_module_fstatat.
	* modules/fstatat (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_stat.in.h (fstatat): Don't define to
	fstatat_used_without_requesting_gnulib_module_fstatat if the gnulib
	module 'fstatat' is in use under the same configure.ac.

	Avoid false fstat_used_without_requesting_gnulib_module_fstat.
	* modules/fstat (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_stat.in.h (fstat): Don't define to
	fstat_used_without_requesting_gnulib_module_fstat if the gnulib module
	'fstat' is in use under the same configure.ac.

	Avoid false stat_used_without_requesting_gnulib_module_stat.
	* modules/stat (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_stat.in.h (stat): Don't define to
	stat_used_without_requesting_gnulib_module_stat if the gnulib module
	'stat' is in use under the same configure.ac.

	Avoid false ioctl_used_without_requesting_gnulib_module_ioctl.
	* modules/ioctl (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/sys_ioctl.in.h (ioctl): Don't define to
	ioctl_used_without_requesting_gnulib_module_ioctl if the gnulib module
	'ioctl' is in use under the same configure.ac.

	Avoid false localeconv_used_without_requesting_gnulib_module_localeconv.
	* modules/localeconv (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/locale.in.h (localeconv): Don't define to
	localeconv_used_without_requesting_gnulib_module_localeconv if the
	gnulib module 'localeconv' is in use under the same configure.ac.

	Avoid false gethostname_used_without_requesting_gnulib_module_gethostname.
	* modules/gethostname (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/unistd.in.h (gethostname): Don't define to
	gethostname_used_without_requesting_gnulib_module_gethostname if the
	gnulib module 'gethostname' is in use under the same configure.ac.

	Avoid false error close_used_without_requesting_gnulib_module_close.
	Reported by Frédéric at <https://savannah.gnu.org/bugs/?65958>.
	* modules/close (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/unistd.in.h (close): Don't define to
	close_used_without_requesting_gnulib_module_close if the gnulib module
	'close' is in use under the same configure.ac.

2024-07-24  Bruno Haible  <bruno@clisp.org>

	xstrtod, xstrtold: Don't treat gradual underflow as an error.
	* lib/xstrtod.c (XSTRTOD): Upon gradual underflow, return true with
	errno = 0.
	* lib/xstrtod.h (xstrtod, xstrtold): Update specification.
	* tests/test-xstrtod.c (main): For gradual underflow, expect ok &&
	errno == 0.
	* tests/test-xstrtold.c (main): Likewise.

2024-07-23  Collin Funk  <collin.funk1@gmail.com>

	Detect UNIX domain sockets supported by recent Windows versions.
	* m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): Check for afunix.h if
	winsock2.h is found. Include it in the compile check.

	sys_socket tests: Fix mistake in previous commit.
	* modules/sys_socket-tests (configure.ac): Invoke gl_SOCKET_FAMILY_UNIX.

	sys_socket tests: Define macros necessary for tests (regr. 2024-07-22).
	* modules/sys_socket-tests (configure.ac): Invoke gl_SOCKET_FAMILIES.

	sys_socket tests: Improve checks for socklen_t and sa_family_t.
	* modules/sys_socket-tests (Depends-on): Add intprops.
	* tests/test-sys_socket.c: Check that socklen_t is at least 32 bits
	wide. Check that sa_family_t is unsigned.

2024-07-23  Bruno Haible  <bruno@clisp.org>

	getopt-posix, getopt-gnu tests: Avoid test failure on mingw.
	* tests/test-getopt.h (test_getopt): Don't special-case mingw.

2024-07-23  Bruno Haible  <bruno@clisp.org>

	xstrtod, xstrtold: Add documentation.
	* lib/xstrtod.h (xstrtod, xstrtold): Add comments.
	* lib/xstrtod.c (XSTRTOD): Improve comments.

2024-07-23  Bruno Haible  <bruno@clisp.org>

	xstrtold: Add tests.
	* tests/test-xstrtold.c: New file, based on tests/test-strtold.h.
	* modules/xstrtold-tests: New file.

2024-07-23  Bruno Haible  <bruno@clisp.org>

	xstrtod: Add tests.
	* tests/test-xstrtod.c: New file, based on tests/test-strtod.h.
	* modules/xstrtod-tests: New file.

2024-07-23  Bruno Haible  <bruno@clisp.org>

	strtof, strtod, strtold tests: Strengthen tests.
	* tests/test-strtof.h (test_function): Strengthen the flush-to-zero
	underflow tests.
	* tests/test-strtod.h (test_function): Likewise.
	* tests/test-strtold.h (test_function): Likewise.

2024-07-23  Bruno Haible  <bruno@clisp.org>

	doc: Update for glibc 2.40.
	* doc/posix-headers/utmpx.texi: Update.
	* doc/posix-functions/*.texi: Likewise.

2024-07-23  Bruno Haible  <bruno@clisp.org>

	strtof, strtod, strtold tests: Strengthen tests.
	* tests/test-strtof.h (test_function): Add another overflow test.
	* tests/test-strtod.h (test_function): Likewise.
	* tests/test-strtold.h (test_function): Likewise.

2024-07-23  Bruno Haible  <bruno@clisp.org>

	strtold: Revisit underflow behaviour.
	* doc/posix-functions/strtold.texi: Mention broken mingw 5.0. Mention
	that gradual underflow does not count as an error on MSVC.
	* tests/test-strtold.h (test_function): Add a gradual underflow test.
	Check the sign in case of flush-to-zero underflow.

	strtod: Revisit underflow behaviour.
	* doc/posix-functions/strtod.texi: Mention the macOS bug. Mention that
	gradual underflow does not count as an error on Cygwin 2.9 and MSVC.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Update comment.
	* tests/test-strtod.h (test_function): Add a gradual underflow test.
	Check the sign in case of flush-to-zero underflow.

	strtof: Revisit underflow behaviour.
	* doc/posix-functions/strtof.texi: Mention the macOS bug. Mention the
	mingw overflow bug. Mention the underflow bugs on Cygwin 2.9 and mingw.
	Mention that gradual underflow does not count as an error on Cygwin 2.9,
	mingw, MSVC.
	* m4/strtof.m4 (gl_FUNC_STRTOF): Test against the mingw overflow bug.
	* tests/test-strtof.h (test_function): Add a gradual underflow test.
	Check the sign in case of flush-to-zero underflow.

2024-07-23  Bruno Haible  <bruno@clisp.org>

	strtof, strtod, strtold: Fix underflow behaviour of system function.
	* m4/strtof.m4 (gl_FUNC_STRTOF): Test for strtof's behaviour upon
	underflow. Conditionally define STRTOF_HAS_UNDERFLOW_BUG,
	STRTOF_HAS_GRADUAL_UNDERFLOW_PROBLEM.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Test for strtod's behaviour upon
	underflow. Conditionally define STRTOD_HAS_UNDERFLOW_BUG,
	STRTOD_HAS_GRADUAL_UNDERFLOW_PROBLEM.
	* m4/strtold.m4 (gl_FUNC_STRTOLD): Test for strtold's behaviour upon
	gradual underflow. Conditionally define
	STRTOLD_HAS_GRADUAL_UNDERFLOW_PROBLEM.
	* lib/strtod.c (HAVE_UNDERLYING_STRTOD): Test STRTOF_HAS_UNDERFLOW_BUG,
	STRTOD_HAS_UNDERFLOW_BUG.
	(HAS_GRADUAL_UNDERFLOW_PROBLEM): New macro.
	(SET_ERRNO_UPON_GRADUAL_UNDERFLOW): New macro.
	(STRTOD): Use it.

2024-07-23  Bruno Haible  <bruno@clisp.org>

	strtof: Use the system's strtof() if available.
	* m4/strtof.m4 (gl_FUNC_STRTOF): Define HAVE_STRTOF if strtof exists.

2024-07-23  Bruno Haible  <bruno@clisp.org>

	strtof, strtod, strtold: Set errno upon gradual underflow.
	* lib/strtod.c (scale_radix_exp): If the result is a denormalized
	number, set errno to ERANGE.

2024-07-22  Collin Funk  <collin.funk1@gmail.com>

	sys_socket tests: Improve tests for macro definitions.
	* modules/sys_socket-tests (Depends-on): Add assert-h.
	* tests/test-sys_socket.c (a): Remove variable.
	(main): Test that each supported address family is defined to a distinct
	value. Test that each constant passed as the second argument of
	'shutdown' is defined to a distinct value.

2024-07-22  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Omit the logs of skipped tests from test-suite.log.
	* gnulib-tool.sh (func_emit_tests_Makefile_am): Emit an assignment to
	IGNORE_SKIPPED_LOGS.
	* pygnulib/GLEmiter.py (GLEmiter.tests_Makefile_am): Likewise.

2024-07-21  Bruno Haible  <bruno@clisp.org>

	bootstrap: Avoid failure when gnulib-tool removed gettext.m4.
	* top/bootstrap-funclib.sh (autogen): When gnulib-tool has removed
	gettext.m4 but the package needs gettext.m4, repeat the autopoint and
	gnulib-tool invocations.
	* build-aux/bootstrap: Regenerated.

2024-07-20  Bruno Haible  <bruno@clisp.org>

	stack-trace: Don't use libasan by default.
	* m4/stack-trace.m4 (gl_STACK_TRACE_EARLY): Remove libasan as second
	choice.

2024-07-20  Bruno Haible  <bruno@clisp.org>

	doc: Sort the ISO C and POSIX Function Substitutes by header file.
	* doc/gnulib.texi (Function Substitutes): Add one section per header
	file.
	* doc/posix-functions/*.texi: Each of these files is now a subsection.

2024-07-20  Bruno Haible  <bruno@clisp.org>

	getpayload*: Do use glibc's implementation when it works.
	Reported by Andreas K. Huettel <dilfridge@gentoo.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-07/msg00206.html>.
	* m4/getpayload.m4 (gl_FUNC_GETPAYLOADF, gl_FUNC_GETPAYLOAD,
	gl_FUNC_GETPAYLOADL): Link the test program with -lm if needed.

2024-07-20  Bruno Haible  <bruno@clisp.org>

	doc: Reference POSIX for functions that are added in POSIX:2024.
	* doc/posix-functions/_Fork.texi etc: Reference POSIX:2024, not the LSB
	and not the Austin Group tracker.

	doc: Update status of functions that are added in POSIX:2024.
	* doc/posix-functions/_Fork.texi: Moved here from doc/glibc-functions/.
	* doc/posix-functions/accept4.texi: Likewise.
	* doc/posix-functions/asprintf.texi: Likewise.
	* doc/posix-functions/bind_textdomain_codeset.texi: Likewise.
	* doc/posix-functions/bindtextdomain.texi: Likewise.
	* doc/posix-functions/dcgettext.texi: Likewise.
	* doc/posix-functions/dcngettext.texi: Likewise.
	* doc/posix-functions/dgettext.texi: Likewise.
	* doc/posix-functions/dladdr.texi: Likewise.
	* doc/posix-functions/dngettext.texi: Likewise.
	* doc/posix-functions/dup3.texi: Likewise.
	* doc/posix-functions/ffsl.texi: Likewise.
	* doc/posix-functions/ffsll.texi: Likewise.
	* doc/posix-functions/getentropy.texi: Likewise.
	* doc/posix-functions/getresgid.texi: Likewise.
	* doc/posix-functions/getresuid.texi: Likewise.
	* doc/posix-functions/gettext.texi: Likewise.
	* doc/posix-functions/in6addr_any.texi: Likewise.
	* doc/posix-functions/in6addr_loopback.texi: Likewise.
	* doc/posix-functions/memmem.texi: Likewise.
	* doc/posix-functions/mkostemp.texi: Likewise.
	* doc/posix-functions/ngettext.texi: Likewise.
	* doc/posix-functions/pipe2.texi: Likewise.
	* doc/posix-functions/ppoll.texi: Likewise.
	* doc/posix-functions/pthread_cond_clockwait.texi: Likewise.
	* doc/posix-functions/pthread_mutex_clocklock.texi: Likewise.
	* doc/posix-functions/pthread_rwlock_clockrdlock.texi: Likewise.
	* doc/posix-functions/pthread_rwlock_clockwrlock.texi: Likewise.
	* doc/posix-functions/ptsname_r.texi: Likewise.
	* doc/posix-functions/qsort_r.texi: Likewise.
	* doc/posix-functions/secure_getenv.texi: Likewise.
	* doc/posix-functions/sem_clockwait.texi: Likewise.
	* doc/posix-functions/setresgid.texi: Likewise.
	* doc/posix-functions/setresuid.texi: Likewise.
	* doc/posix-functions/textdomain.texi: Likewise.
	* doc/posix-functions/timespec_get.texi: Likewise.
	* doc/posix-functions/vasprintf.texi: Likewise.
	* doc/posix-functions/reallocarray.texi: Likewise. Improve text.
	* doc/gnulib.texi (Function Substitutes): Include them here.
	(Glibc Function Substitutes): Don't include them here.
	(Glibc libintl.h): Remove section.
	(Glibc poll.h): Remove section.
	(Glibc semaphore.h): Remove section.

2024-07-20  Bruno Haible  <bruno@clisp.org>

	doc: Reference POSIX:2024 instead of POSIX:2018.
	* doc/*.texi: Change URL to POSIX.
	* doc/posix-headers/*.texi: Likewise.
	* doc/posix-functions/*.texi: Likewise.

2024-07-20  Bruno Haible  <bruno@clisp.org>

	doc: Update status of functions that are removed from POSIX:2024.
	* doc/pastposix-functions/_longjmp.texi: Moved here
	from doc/posix-functions/.
	* doc/pastposix-functions/_setjmp.texi: Likewise.
	* doc/pastposix-functions/_tolower.texi: Likewise.
	* doc/pastposix-functions/_toupper.texi: Likewise.
	* doc/pastposix-functions/fattach.texi: Likewise.
	* doc/pastposix-functions/fdetach.texi: Likewise.
	* doc/pastposix-functions/ftw.texi: Likewise.
	* doc/pastposix-functions/getitimer.texi: Likewise.
	* doc/pastposix-functions/getmsg.texi: Likewise.
	* doc/pastposix-functions/getpmsg.texi: Likewise.
	* doc/pastposix-functions/gets.texi: Likewise.
	* doc/pastposix-functions/gettimeofday.texi: Likewise.
	* doc/pastposix-functions/ioctl.texi: Likewise.
	* doc/pastposix-functions/isascii.texi: Likewise.
	* doc/pastposix-functions/isastream.texi: Likewise.
	* doc/pastposix-functions/posix_trace_*.texi: Likewise.
	* doc/pastposix-functions/pthread_getconcurrency.texi: Likewise.
	* doc/pastposix-functions/pthread_setconcurrency.texi: Likewise.
	* doc/pastposix-functions/putmsg.texi: Likewise.
	* doc/pastposix-functions/putpmsg.texi: Likewise.
	* doc/pastposix-functions/setitimer.texi: Likewise.
	* doc/pastposix-functions/setpgrp.texi: Likewise.
	* doc/pastposix-functions/sighold.texi: Likewise.
	* doc/pastposix-functions/sigignore.texi: Likewise.
	* doc/pastposix-functions/siginterrupt.texi: Likewise.
	* doc/pastposix-functions/sigpause.texi: Likewise.
	* doc/pastposix-functions/sigrelse.texi: Likewise.
	* doc/pastposix-functions/sigset.texi: Likewise.
	* doc/pastposix-functions/tempnam.texi: Likewise.
	* doc/pastposix-functions/toascii.texi: Likewise.
	* doc/pastposix-functions/ulimit.texi: Likewise.
	* doc/pastposix-functions/utime.texi: Likewise.
	* doc/gnulib.texi (Function Substitutes): Don't include them here.
	(Legacy Function Substitutes): Include them here.

2024-07-19  Collin Funk  <collin.funk1@gmail.com>

	gitlog-to-changelog: Improve output of pdf documentation.
	* doc/gitlog-to-changelog.texi (gitlog-to-changelog): Reformat code to
	use shorter lines and avoid overfull hboxes.

2024-07-19  Bruno Haible  <bruno@clisp.org>

	doc: Reference a newer ISO C23 draft.
	Suggested by Alejandro Colomar <alx@kernel.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-07/msg00191.html>.
	* doc/*/*.texi: Refer to n3220.pdf (February 2024) instead of
	n3096.pdf (April 2023).

2024-07-19  Bruno Haible  <bruno@clisp.org>

	doc: Add documentation about math_errhandling.
	* doc/posix-functions/math_errhandling.texi: New file.
	* doc/gnulib.texi (Function Substitutes): Include it.

2024-07-19  Paul Eggert  <eggert@cs.ucla.edu>

	xstrtol: be more robust against odd failures
	* lib/xstrtol.c (__xstrtol): Don’t update *endptr if strtol doesn’t.
	Also, if the underlying strtol gives an unusual error number and
	sets *endpnr = nptr, assume that’s an error not a missing number.
	Problems reported by Alejandro Colomar in:
	https://lists.gnu.org/r/bug-gnulib/2024-07/msg00175.html
	https://lists.gnu.org/r/bug-gnulib/2024-07/msg00176.html
	* modules/xstrtol (Depends-on): Add nullptr.

2024-07-19  Bruno Haible  <bruno@clisp.org>

	doc: Mention <math.h> functions that were added in ISO C23.
	* doc/posix-functions/acospi.texi: New file.
	* doc/posix-functions/acospif.texi: New file.
	* doc/posix-functions/acospil.texi: New file.
	* doc/posix-functions/asinpi.texi: New file.
	* doc/posix-functions/asinpif.texi: New file.
	* doc/posix-functions/asinpil.texi: New file.
	* doc/posix-functions/atanpi.texi: New file.
	* doc/posix-functions/atanpif.texi: New file.
	* doc/posix-functions/atanpil.texi: New file.
	* doc/posix-functions/atan2pi.texi: New file.
	* doc/posix-functions/atan2pif.texi: New file.
	* doc/posix-functions/atan2pil.texi: New file.
	* doc/posix-functions/compoundn.texi: New file.
	* doc/posix-functions/compoundnf.texi: New file.
	* doc/posix-functions/compoundnl.texi: New file.
	* doc/posix-functions/cospi.texi: New file.
	* doc/posix-functions/cospif.texi: New file.
	* doc/posix-functions/cospil.texi: New file.
	* doc/posix-functions/exp10.texi: Moved here from doc/glibc-functions/.
	* doc/posix-functions/exp10f.texi: Moved here from doc/glibc-functions/.
	* doc/posix-functions/exp10l.texi: Moved here from doc/glibc-functions/.
	* doc/posix-functions/exp10m1.texi: New file.
	* doc/posix-functions/exp10m1f.texi: New file.
	* doc/posix-functions/exp10m1l.texi: New file.
	* doc/posix-functions/exp2m1.texi: New file.
	* doc/posix-functions/exp2m1f.texi: New file.
	* doc/posix-functions/exp2m1l.texi: New file.
	* doc/posix-functions/log10p1.texi: New file.
	* doc/posix-functions/log10p1f.texi: New file.
	* doc/posix-functions/log10p1l.texi: New file.
	* doc/posix-functions/log2p1.texi: New file.
	* doc/posix-functions/log2p1f.texi: New file.
	* doc/posix-functions/log2p1l.texi: New file.
	* doc/posix-functions/logp1.texi: New file.
	* doc/posix-functions/logp1f.texi: New file.
	* doc/posix-functions/logp1l.texi: New file.
	* doc/posix-functions/pown.texi: New file.
	* doc/posix-functions/pownf.texi: New file.
	* doc/posix-functions/pownl.texi: New file.
	* doc/posix-functions/powr.texi: New file.
	* doc/posix-functions/powrf.texi: New file.
	* doc/posix-functions/powrl.texi: New file.
	* doc/posix-functions/rootn.texi: New file.
	* doc/posix-functions/rootnf.texi: New file.
	* doc/posix-functions/rootnl.texi: New file.
	* doc/posix-functions/rsqrt.texi: New file.
	* doc/posix-functions/rsqrtf.texi: New file.
	* doc/posix-functions/rsqrtl.texi: New file.
	* doc/posix-functions/sinpi.texi: New file.
	* doc/posix-functions/sinpif.texi: New file.
	* doc/posix-functions/sinpil.texi: New file.
	* doc/posix-functions/tanpi.texi: New file.
	* doc/posix-functions/tanpif.texi: New file.
	* doc/posix-functions/tanpil.texi: New file.
	* doc/gnulib.texi (Function Substitutes): Include them.
	(Glibc math.h): Don't include glibc-functions/exp10*.texi.

2024-07-19  Bruno Haible  <bruno@clisp.org>

	doc: Add references to ISO C23.
	* doc/posix-functions/totalorder*.texi: Reference ISO C23.
	* doc/posix-functions/getpayload*.texi: Likewise.
	* doc/posix-functions/setpayload*.texi: Likewise.

2024-07-19  Bruno Haible  <bruno@clisp.org>

	doc: Mention a bug in NetBSD's *gettext functions.
	* doc/glibc-functions/gettext.texi: Mention buggy handling of empty
	LANGUAGE environment variable.
	* doc/glibc-functions/dgettext.texi: Likewise.
	* doc/glibc-functions/dcgettext.texi: Likewise.
	* doc/glibc-functions/ngettext.texi: Likewise.
	* doc/glibc-functions/dngettext.texi: Likewise.
	* doc/glibc-functions/dcngettext.texi: Likewise.

2024-07-19  Bruno Haible  <bruno@clisp.org>

	xstrtol: Improve documentation.
	* lib/xstrtol.h: Don't test _STRTOL_ERROR, left-over from 2007-08-08.
	(_DECLARE_XSTRTOL): Add the parameter names, referenced by the comments.

2024-07-18  Paul Eggert  <eggert@cs.ucla.edu>

	xstrtol: document and stray less from strtol
	This patch alters xstrtol behavior slightly, in areas are not
	likely to affect any real callers, by making xstrtol behave more
	like the system strtol.  In particular, it lets xstrtol support
	bases other than those required by POSIX, if the underlying
	implementation does; this removes the need for an ‘assert’.
	It also uses ‘restrict’ like the underlying strtol does.
	The patch also documents xstrtol in xstrtol.h.
	Problems reported by Alejandro Colomar in:
	https://lists.gnu.org/r/bug-gnulib/2024-07/msg00159.html
	* lib/xstrtol.c: Do not include stdio.h or assure.h.
	(__xstrtol): Use same parameter names as POSIX, to make it
	easier for outsiders to follow.  Assume C99 decls after statement.
	Do not require the base to be 0, or 2-36, as the underlying
	implementation is allowed to support other bases.
	Do not assume isspace preserves errno.
	* lib/xstrtol.h (_DECLARE_XSTRTOL): Declare pointers to be
	‘restrict’, for compatibility with C.
	* m4/xstrtol.m4 (gl_XSTRTOL): Require AC_C_RESTRICT.
	* modules/xstrtol (Depends-on): Remove ‘assure’.

2024-07-18  Bruno Haible  <bruno@clisp.org>

	abort-debug: Don't assume that signal SIGABRT is unmasked and unhandled.
	* lib/abort-debug.c (rpl_abort): At the end, call the original abort
	function.

2024-07-18  Bruno Haible  <bruno@clisp.org>

	abort-debug: Document better.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-07/msg00154.html>.
	* lib/stdlib.in.h (abort): Add comment.
	* doc/stack-trace.texi: Document what to do in signal handlers.

2024-07-18  Alejandro Colomar  <alx@kernel.org>

	xstrtol: Strengthen sanity check.
	* lib/xstrtol.c (__xstrtol): Don't allow strtol_base to be 1.

2024-07-18  Bruno Haible  <bruno@clisp.org>

	doc: Document the stack-trace and abort-debug modules.
	* doc/stack-trace.texi: New file.
	* doc/gnulib.texi (Particular Modules): Include it.

2024-07-18  Bruno Haible  <bruno@clisp.org>

	stdlib: Don't define print_stack_trace unconditionally.
	* modules/stack-trace (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/stdlib.in.h (print_stack_trace): Don't define if module
	'stack-trace' is not present.
	* tests/macros.h (print_stack_trace): Define as a fallback if module
	'stack-trace' is not present.

2024-07-18  Bruno Haible  <bruno@clisp.org>

	stack-trace: Don't use NetBSD's broken libasan.
	* m4/stack-trace.m4 (gl_STACK_TRACE_EARLY): Test whether a program
	linked with libasan even minimally works.

2024-07-17  Bruno Haible  <bruno@clisp.org>

	stack-trace: Use libasan as an alternative to libbacktrace.
	* m4/stack-trace.m4 (gl_STACK_TRACE_EARLY): As a second choice, use
	libasan.
	* lib/stack-trace-impl.h (print_stack_trace_to) [HAVE_LIBASAN]:
	Implement using libasan.
	* lib/stack-trace.c (print_stack_trace): Test also HAVE_LIBASAN.
	* lib/abort-debug.c (rpl_abort): Likewise.

2024-07-17  Bruno Haible  <bruno@clisp.org>

	stack-trace: Add tests.
	* tests/test-stack-trace.c: New file.
	* modules/stack-trace-tests: New file.

	stack-trace: New module.
	* lib/stdlib.in.h (print_stack_trace): Make part of the stack-trace
	module.
	* lib/stack-trace-impl.h: New file, based on lib/abort-debug.c.
	* lib/stack-trace.c: New file, based on lib/abort-debug.c.
	* lib/abort-debug.c: Include stack-trace-impl.h. Remove definitions
	moved to stack-trace-impl.h.
	(print_stack_trace): Remove function.
	* m4/stdlib_h.m4 (gl_STDLIB_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_STACK_TRACE.
	(gl_STDLIB_H_DEFAULTS): Initialize CAN_PRINT_STACK_TRACE.
	* m4/stack-trace.m4: New file, based on m4/abort-debug.m4.
	* m4/abort-debug.m4 (gl_ABORT_DEBUG_EARLY): Remove macro.
	(gl_ABORT_DEBUG): Require gl_STDLIB_H_DEFAULTS, gl_STACK_TRACE_EARLY.
	Set REPLACE_ABORT here.
	* modules/stdlib (Makefile.am): Substitute GNULIB_STACK_TRACE,
	CAN_PRINT_STACK_TRACE.
	* modules/stack-trace: New file.
	* modules/abort-debug (Depends-on): Add stack-trace. Remove execinfo.
	(configure.ac-early): Remove section.
	* DEPENDENCIES: Update.

2024-07-17  Bruno Haible  <bruno@clisp.org>

	abort-debug: Export the print_stack_trace function.
	* lib/stdlib.in.h (print_stack_trace): Renamed from _gl_pre_abort.
	* lib/abort-debug.c (print_stack_trace_to): Renamed from
	print_stack_trace.
	(print_stack_trace): Renamed from _gl_pre_abort.
	(rpl_abort): Update.
	* tests/macros.h (ASSERT, ASSERT_NO_STDIO): Update.

2024-07-17  Bruno Haible  <bruno@clisp.org>

	doc: List library dependencies.
	* DEPENDENCIES: List the library dependencies.

2024-07-16  Collin Funk  <collin.funk1@gmail.com>

	gitlog-to-changelog: Improve --version and --help output.
	* build-aux/gitlog-to-changelog (usage): Add bug reporting address.
	(print_version): New function.

	announce-gen: Add bug reporting address to --help.
	* build-aux/announce-gen (usage): Add bug reporting address.

	useless-if-before-free: Add bug reporting address to --help.
	* build-aux/useless-if-before-free (usage): Add bug reporting address.

2024-07-15  Paul Eggert  <eggert@cs.ucla.edu>

	strnlen: port to Android 5.0 (API 21)
	This is needed for GNU Emacs, which attempts to port to these
	old Android versions.
	* m4/strnlen.m4 (AC_FUNC_STRNLEN): Replace if Autoconf 2.72 or
	earlier, with code that detects the Android problem with strnlen.
	This version works around some further bugs in the test, notably,
	misplaced 'volatile' and need for volatile in the AIX 4.3 bug
	check too.

2024-07-15  Bruno Haible  <bruno@clisp.org>

	manywarnings: Don't enable -Wsystem-headers.
	* build-aux/gcc-warning.spec: Add -Wsystem-headers.
	* build-aux/g++-warning.spec: Likewise.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Don't enable
	-Wsystem-headers.
	* m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL): Likewise.

2024-07-15  Bruno Haible  <bruno@clisp.org>

	qcopy-acl: Fix copying of ACLs on CentOS 7 (regression 2023-01-12).
	* lib/qcopy-acl.c: Include <string.h>, <linux/xattr.h>.
	(XATTR_NAME_NFSV4_ACL, XATTR_NAME_POSIX_ACL_ACCESS,
	XATTR_NAME_POSIX_ACL_DEFAULT): New macros, from file-has-acl.c.
	(is_attr_permissions): Test for these names explicitly.
	* m4/acl.m4 (gl_QCOPY_ACL): New macro.
	* modules/qcopy-acl (Files): Add m4/acl.m4.
	(configure.ac): Invoke gl_QCOPY_ACL.

2024-07-14  Bruno Haible  <bruno@clisp.org>

	stdlib: Fix last commit on macOS, OpenBSD, mingw.
	* lib/stdlib.in.h: Don't include <string> with clang, and don't include
	it on platforms other than Solaris.

	stdlib: Avoid syntax errors in libstdc++ header files.
	* lib/stdlib.in.h: Include <string> before strtol, strtoll, strtoul, or
	strtoull gets defined as a macro.

2024-07-14  Bruno Haible  <bruno@clisp.org>

	Activate strtold workarounds.
	* modules/c-strtold-tests (Depends-on): Add strtold.
	* modules/ldtoastr (Depends-on): Add strtold.

2024-07-14  Bruno Haible  <bruno@clisp.org>

	strtold: Work around major mingw bugs.
	* lib/strtod.c (HAVE_UNDERLYING_STRTOD) [USE_LONG_DOUBLE]: Set to 0 on
	mingw versions before 10.0.
	* doc/posix-functions/strtold.texi: Mention the mingw bugs.

2024-07-13  Collin Funk  <collin.funk1@gmail.com>

	useless-if-before-free: Fix copyright year in --version output.
	* build-aux/useless-if-before-free (copyright_year): Derive from
	time-stamp.

	announce-gen: Fix copyright year in --version output.
	* build-aux/announce-gen (copyright_year): Derive from time-stamp.

2024-07-13  Bruno Haible  <bruno@clisp.org>

	stdlib: Support use of clang++ on Ubuntu.
	* lib/stdlib.in.h: Ignore __need_system_stdlib_h when GCC's
	c++/11/stdlib.h is being included or has been included.

2024-07-13  Bruno Haible  <bruno@clisp.org>

	doc: Revamp list of dependencies.
	* DEPENDENCIES: Clarify that GNU make is only needed on OpenBSD and
	Solaris. Mark GNU tar as optional, not recommended. Add note about
	Solaris 10. Add a second section "Dependencies for building the imported
	code". Document the needed locales.

2024-07-13  Bruno Haible  <bruno@clisp.org>

	tests: Don't depend on the exact locale name.
	* tests/test-c-ctype.c: Include <stdlib.h>.
	(main): Test the return value of setlocale(). Try not only de_DE, but
	also de_DE.ISO-8859-1.
	* tests/test-vasnprintf-posix3.c (main): Try not only fa_IR.UTF-8, but
	also fa_IR.
	* tests/test-vasnwprintf-posix3.c (main): Likewise.

2024-07-10  Pip Cet  <pipcet@protonmail.com>

	timespec-sub: Fix compilation error on clang.
	Reported by Gerd Möllmann <gerd.moellmann@gmail.com> at
	<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72036>.
	* lib/timespec-sub.c (timespec_sub): Use 'int' as type of variable.
	Copyright-paperwork-exempt: Yes

2024-07-06  Bruno Haible  <bruno@clisp.org>

	pthread-cond: Fix compilation error on native Windows.
	* lib/pthread-cond.c: Include windows-cond.h, not windows-thread.h.

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

	gnulib-tool: simplify/speed startup
	* gnulib-tool, gnulib-tool.py (prog): New var.  Use it to simplify
	and speed up startup in common cases.

2024-07-04  Bruno Haible  <bruno@clisp.org>

	gitlog-to-changelog: Tweak documentation.
	* doc/gitlog-to-changelog.texi (gitlog-to-changelog): Omit irrelevant
	detail.

2024-07-04  Collin Funk  <collin.funk1@gmail.com>

	Make time-stamp after-save-hooks buffer-local.
	* build-aux/announce-gen: Pass optional arguments to 'add-hook'.
	* build-aux/bootstrap: Likewise.
	* build-aux/do-release-commit-and-tag: Likewise.
	* build-aux/gendocs.sh: Likewise.
	* build-aux/git-version-gen: Likewise.
	* build-aux/gitlog-to-changelog: Likewise.
	* build-aux/gnu-web-doc-update: Likewise.
	* build-aux/gnupload: Likewise.
	* build-aux/move-if-change: Likewise.
	* build-aux/prefix-gnulib-mk: Likewise.
	* build-aux/update-copyright: Likewise.
	* build-aux/useless-if-before-free: Likewise.
	* build-aux/vc-list-files: Likewise.
	* top/bootstrap: Likewise.
	* top/bootstrap-funclib.sh: Likewise.

2024-07-03  Collin Funk  <collin.funk1@gmail.com>

	gitlog-to-changelog: Add a new --commit-timezone option.
	* build-aux/gitlog-to-changelog: Use the date given in the commit time
	zone if --commit-timezone is used.
	(usage): Mention the new option.
	* doc/gitlog-to-changelog.texi (gitlog-to-changelog): Mention the
	--commit-timezone and add an invocation example. Add example of date
	ordering that may be undesired.

2024-07-03  Jim Meyering  <meyering@meta.com>

	maintainer-makefile: derive VERSION from RELEASE only from command line
	* top/maint.mk (VERSION, RELEASE_TYPE): Do not let an environment-
	specified RELEASE influence the VERSION and RELEASE_TYPE variables.
	Reported by Simon Josefsson in
	https://lists.gnu.org/archive/html/bug-gnulib/2024-07/msg00021.html

2024-07-02  Bruno Haible  <bruno@clisp.org>

	git-merge-changelog: Simplify installation instructions.
	Reported by Samuel Bronson <naesten@gmail.com> via Simon Josefsson in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-07/msg00014.html>.
	* lib/git-merge-changelog.c: Suggest creating a .gitattributes file only
	at the top-level.

2024-07-02  Bruno Haible  <bruno@clisp.org>

	uniname/uniname: Modernize gen-uninames.lisp.
	Reported by Simon Josefsson in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-07/msg00011.html>.
	* lib/uniname/gen-uninames.lisp: Swap second and third parameter. Look
	up clisp in $PATH.
	* lib/gen-uni-tables.c: Update invocation.

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

	Avoid some possibly wrong configure test results.
	Reported by Arsen Arsenović <arsen@gentoo.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-07/msg00000.html>.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): Include necessary header file
	for _exit().
	(gl_SNPRINTF_DIRECTIVE_N): Likewise.
	* m4/memmem.m4 (gl_FUNC_MEMMEM): Update comment.
	* m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
	* m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
	* m4/wcsstr.m4 (gl_FUNC_WCSSTR): Likewise.

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

	doc: Update regarding stable branches.
	* doc/gnulib-readme.texi (Stable Branches): Mention new branch
	stable-202407. Mention that stable-202307 is no longer updated.

2024-06-30  Collin Funk  <collin.funk1@gmail.com>

	doc: Remove references to POSIX 202x.
	* doc/posix-functions/encrypt.texi: Document as obsolete in
	POSIX.1-2024.
	* doc/posix-functions/inet_addr.texi: Likewise.
	* doc/posix-functions/inet_ntoa.texi: Likewise.
	* doc/posix-functions/setkey.texi: Likewise.
	* doc/posix-functions/ftw.texi: Document as removed in POSIX.1-2024.
	Link the POSIX.1-2017 specification.
	* doc/posix-functions/getitimer.texi: Likewise.
	* doc/posix-functions/setitimer.texi: Likewise.
	* doc/posix-functions/toascii.texi: Likewise.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	*printf* tests: Remove unused includes.
	* tests/test-fprintf-gnu.c: Don't include <stdarg.h>.
	* tests/test-fprintf-posix.c: Likewise.
	* tests/test-szprintf-gnu.c: Likewise.
	* tests/test-szprintf-posix.c: Likewise.
	* tests/test-xfprintf-posix.c: Likewise.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	vprintf-posix tests: Fix test title.
	* tests/test-vprintf-posix.c: Fix title.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	zprintf-gnu: Add tests.
	* tests/test-zprintf-gnu.c: New file, based on tests/test-printf-gnu.c.
	* tests/test-zprintf-gnu.sh: New file, based on
	tests/test-printf-gnu.sh.
	* modules/zprintf-gnu-tests: New file.

	zprintf-gnu: New module.
	* modules/zprintf-gnu: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	vzprintf-gnu: Add tests.
	* tests/test-printf-gnu.h (test_function): Use RETTYPE instead of 'int'.
	* tests/test-printf-gnu.c (RETTYPE): New macro.
	* tests/test-vprintf-gnu.c (RETTYPE): New macro.
	* tests/test-vzprintf-gnu.c: New file, based on
	tests/test-vprintf-gnu.c.
	* tests/test-vzprintf-gnu.sh: New file, based on
	tests/test-vprintf-gnu.sh.
	* modules/vzprintf-gnu-tests: New file.

	vzprintf-gnu: New module.
	* modules/vzprintf-gnu: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	fzprintf-gnu: Add tests.
	* tests/test-fzprintf-gnu.c: New file, based on
	tests/test-fprintf-gnu.c.
	* tests/test-fzprintf-gnu.sh: New file, based on
	tests/test-fprintf-gnu.sh.
	* modules/fzprintf-gnu-tests: New file.

	fzprintf-gnu: New module.
	* modules/fzprintf-gnu: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	vfzprintf-gnu: Add tests.
	* tests/test-vfzprintf-gnu.c: New file, based on
	tests/test-vfprintf-gnu.c.
	* tests/test-vfzprintf-gnu.sh: New file, based on
	tests/test-vfprintf-gnu.sh.
	* tests/test-fprintf-gnu.h: Update title.
	* modules/vfzprintf-gnu-tests: New file.

	vfzprintf-gnu: New module.
	* modules/vfzprintf-gnu: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	zprintf-posix: Add tests.
	* tests/test-zprintf-posix.c: New file, based on
	tests/test-printf-posix.c.
	* tests/test-zprintf-posix.sh: New file, based on
	tests/test-printf-posix.sh.
	* modules/zprintf-posix-tests: New file.

	zprintf-posix: New module.
	* modules/zprintf-posix: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	vzprintf-posix: Add tests.
	* tests/test-printf-posix.h (test_function): Use RETTYPE instead of
	'int'.
	* tests/test-printf-posix.c (RETTYPE): New macro.
	* tests/test-vprintf-posix.c (RETTYPE): New macro.
	* tests/test-xprintf-posix.c (RETTYPE): New macro.
	* tests/test-vzprintf-posix.c: New file, based on
	tests/test-vprintf-posix.c.
	* tests/test-vzprintf-posix.sh: New file, based on
	tests/test-vprintf-posix.sh.
	* modules/vzprintf-posix-tests: New file.

	vzprintf-posix: New module.
	* modules/vzprintf-posix: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	fzprintf-posix: Add tests.
	* tests/test-fzprintf-posix.c: New file, based on
	tests/test-fprintf-posix.c.
	* tests/test-fzprintf-posix.sh: New file, based on
	tests/test-fprintf-posix.sh.
	* modules/fzprintf-posix-tests: New file.

	fzprintf-posix: New module.
	* modules/fzprintf-posix: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	vfzprintf-posix: Add tests.
	* tests/test-vfzprintf-posix.c: New file, based on
	tests/test-vfprintf-posix.c.
	* tests/test-vfzprintf-posix.sh: New file, based on
	tests/test-vfprintf-posix.sh.
	* tests/test-fprintf-posix.h: Update title.
	* modules/vfzprintf-posix-tests: New file.

	vfzprintf-posix: New module.
	* modules/vfzprintf-posix: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	printf-posix: Document properly.
	* lib/stdio.in.h (printf): Add specification.
	* lib/vprintf.c (printf): Remove specification.

	zprintf: New module.
	* lib/stdio.in.h (zprintf): New declaration.
	* lib/zprintf.c: New file, based on lib/vzprintf.c.
	* m4/stdio_h.m4 (gl_STDIO_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_ZPRINTF.
	* modules/stdio (Makefile.am): Substitute GNULIB_ZPRINTF.
	* modules/zprintf: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	vprintf-posix: Document properly.
	* lib/stdio.in.h (vprintf): Add specification.
	* lib/vprintf.c (vprintf): Remove specification.

	vzprintf: New module.
	* lib/stdio.in.h (vzprintf): New declaration.
	* lib/vzprintf.c: New file, based on lib/vprintf.c.
	* m4/stdio_h.m4 (gl_STDIO_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_VZPRINTF.
	* modules/stdio (Makefile.am): Substitute GNULIB_VZPRINTF.
	* modules/vzprintf: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	fprintf-posix: Use vfzprintf.
	* lib/stdio.in.h (fprintf): Add specification.
	* lib/fprintf.c: Don't include <stdlib.h>, vasnprintf.h.
	Include intprops.h.
	(fprintf): Implement based on vfzprintf.
	* modules/fprintf-posix (Depends-on): Add vfzprintf, intprops. Remove
	vasnprintf, free-posix.

	fzprintf: New module.
	* lib/stdio.in.h (fzprintf): New declaration.
	* lib/fzprintf.c: New file, based on lib/vfzprintf.c.
	* m4/stdio_h.m4 (gl_STDIO_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_FZPRINTF.
	* modules/stdio (Makefile.am): Substitute GNULIB_FZPRINTF.
	* modules/fzprintf: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	vfprintf-posix: Use vfzprintf.
	* lib/stdio.in.h (vfprintf): Add specification.
	* lib/vfprintf.c: Don't include <stdlib.h>, vasnprintf.h.
	Include intprops.h.
	(vfprintf): Implement based on vfzprintf.
	* modules/vfprintf-posix (Depends-on): Add vfzprintf, intprops. Remove
	vasnprintf, free-posix.

	vfzprintf: New module.
	* lib/stdio.in.h (vfzprintf): New declaration.
	* lib/vfzprintf.c: New file, based on lib/vfprintf.c and
	lib/vdzprintf.c.
	* m4/stdio_h.m4 (gl_STDIO_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_VFZPRINTF.
	* modules/stdio (Makefile.am): Substitute GNULIB_VFZPRINTF.
	* modules/vfzprintf: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	dzprintf-gnu: Add tests.
	* tests/test-dprintf-gnu.h: New file, extracted from
	tests/test-dprintf-gnu.c.
	* tests/test-dprintf-gnu.c: Include it.
	(test_function): Remove function.
	* modules/dprintf-gnu-tests (Files): Add it.
	* tests/test-dzprintf-gnu.c: New file, based on
	tests/test-dprintf-gnu.c.
	* tests/test-dzprintf-gnu.sh: New file, based on
	tests/test-dprintf-gnu.sh.
	* modules/dzprintf-gnu-tests: New file.

	dzprintf-gnu: New module.
	* modules/dzprintf-gnu: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	vdzprintf-gnu: Add tests.
	* tests/test-fprintf-gnu.h (test_function): Use RETTYPE instead of
	'int'.
	* tests/test-fprintf-gnu.c (RETTYPE): New macro.
	* tests/test-vdprintf-gnu.c (RETTYPE): New macro.
	* tests/test-vfprintf-gnu.c (RETTYPE): New macro.
	* tests/test-vdzprintf-gnu.c: New file, based on
	tests/test-vdzprintf-posix.c.
	* tests/test-vdzprintf-gnu.sh: New file, based on
	tests/test-vdzprintf-posix.sh.
	* modules/vdzprintf-gnu-tests: New file.

	vdzprintf-gnu: New module.
	* modules/vdzprintf-gnu: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	dzprintf-posix: Add tests.
	* tests/test-dprintf-posix.h: New file, extracted from
	tests/test-dprintf-posix.c.
	* tests/test-dprintf-posix.c: Include it. Don't include infinity.h.
	(test_function): Remove function.
	* modules/dprintf-posix-tests (Files): Add it.
	* tests/test-dzprintf-posix.c: New file, based on
	tests/test-dprintf-posix.c.
	* tests/test-dzprintf-posix.sh: New file, based on
	tests/test-dprintf-posix.sh.
	* modules/dzprintf-posix-tests: New file.

	dzprintf-posix: New module.
	* modules/dzprintf-posix: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	vdzprintf-posix: Add tests.
	* tests/test-fprintf-posix.h (test_function): Use RETTYPE instead of
	'int'.
	* tests/test-fprintf-posix.c (RETTYPE): New macro.
	* tests/test-vdprintf-posix.c (RETTYPE): New macro.
	* tests/test-vfprintf-posix.c (RETTYPE): New macro.
	* tests/test-xfprintf-posix.c (RETTYPE): New macro.
	* tests/test-vdzprintf-posix.c: New file, based on
	tests/test-vdprintf-posix.c.
	* tests/test-vdzprintf-posix.sh: New file, based on
	tests/test-vdprintf-posix.sh.
	* modules/vdzprintf-posix-tests: New file.

	vdzprintf-posix: New module.
	* modules/vdzprintf-posix: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	dprintf: Use vdzprintf.
	* lib/stdio.in.h (dprintf): Add specification.
	* lib/dprintf.c: Don't include <stdlib.h>, full-write.h, vasnprintf.h.
	Include intprops.h.
	(dprintf): Implement based on vdzprintf.
	* modules/dprintf (Depends-on): Add vdzprintf, intprops. Remove
	vasnprintf, free-posix, full-write.

	dzprintf: New module.
	* lib/stdio.in.h (dzprintf): New declaration.
	* lib/dzprintf.c: New file, based on lib/vdzprintf.c.
	* m4/stdio_h.m4 (gl_STDIO_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_DZPRINTF.
	* modules/stdio (Makefile.am): Substitute GNULIB_DZPRINTF.
	* modules/dzprintf: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	vdprintf: Use vdzprintf.
	* lib/stdio.in.h (vdprintf): Add specification.
	* lib/vdprintf.c: Don't include <stdlib.h>, full-write.h, vasnprintf.h.
	Include intprops.h.
	(vdprintf): Implement based on vdzprintf.
	* modules/vdprintf (Depends-on): Add vdzprintf, intprops. Remove
	vasnprintf, free-posix, full-write.

	vdzprintf: New module.
	* lib/stdio.in.h (vdzprintf): New declaration.
	* lib/vdzprintf.c: New file, based on lib/vdprintf.c.
	* m4/stdio_h.m4 (gl_STDIO_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_VDZPRINTF.
	* modules/stdio (Makefile.am): Substitute GNULIB_VDZPRINTF.
	* modules/vdzprintf: New file.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	*printf-tests: Correct test file descriptions.
	* tests/test-fprintf-gnu.h: Fix title line.
	* tests/test-fprintf-posix.h: Likewise.
	* tests/test-printf-gnu.h: Likewise.
	* tests/test-printf-posix.h: Likewise.
	* tests/test-snzprintf-gnu.h: Likewise.
	* tests/test-vaszprintf-gnu.h: Likewise.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	*printf-posix-tests: Strengthen tests.
	* tests/test-fprintf-posix.h (test_function): Test %b directive.
	* tests/test-printf-posix.h (test_function): Likewise.
	* tests/test-dprintf-posix.c (test_function): Likewise.
	* tests/test-printf-posix.output: Update expected test result.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	*printf-{posix,gnu}: Tweak module descriptions.
	* modules/c-snzprintf-gnu (Description): Say "POSIX compatible", not
	"POSIX compliant", since these modules don't implement the %n directive
	by default any more.
	* modules/c-vaszprintf-gnu (Description): Likewise.
	* modules/c-vsnzprintf-gnu (Description): Likewise.
	* modules/obstack-printf-posix (Description): Likewise.
	* modules/obstack-zprintf-gnu (Description): Likewise.
	* modules/obstack-zprintf-posix (Description): Likewise.
	* modules/snzprintf-gnu (Description): Likewise.
	* modules/snzprintf-posix (Description): Likewise.
	* modules/szprintf-gnu (Description): Likewise.
	* modules/szprintf-posix (Description): Likewise.
	* modules/vaszprintf-gnu (Description): Likewise.
	* modules/vaszprintf-posix (Description): Likewise.
	* modules/vsnzprintf-gnu (Description): Likewise.
	* modules/vsnzprintf-posix (Description): Likewise.
	* modules/vszprintf-gnu (Description): Likewise.
	* modules/vszprintf-posix (Description): Likewise.

2024-06-30  Paul Eggert  <eggert@cs.ucla.edu>

	strnlen: avoid undefined memcmp behavior
	Problem reported by Po Lu in:
	https://lists.gnu.org/r/bug-gnulib/2024-06/msg00288.html
	* config/srclist.txt: Don’t mention strnlen.c even in a comment,
	as the Gnulib and glibc implementations have diverged for
	portability reasons, and they’re never likely to merge.
	* lib/strnlen.c (strnlen): Avoid undefined behavior if
	the array S points to has fewer than MAXLEN bytes.

2024-06-30  Bruno Haible  <bruno@clisp.org>

	tests: Avoid warning "is_running_under_virtualbox defined but not used".
	* tests/virtualbox.h (is_running_under_virtualbox): Mark as possibly
	unused.

2024-06-29  Bruno Haible  <bruno@clisp.org>

	bootstrap-funclib.sh: Restore readability.
	* top/bootstrap-funclib.sh (prepare_GNULIB_SRCDIR): Add a line break
	instead of removing spaces.
	* build-aux/bootstrap: Regenerated.

2024-06-29  Bruno Haible  <bruno@clisp.org>

	Global rename *zs[n]printf -> *s[n]zprintf.
	* lib/aszprintf.c: Renamed from lib/azsprintf.c.
	* lib/c-aszprintf.c: Renamed from lib/c-azsprintf.c.
	* lib/c-vaszprintf.c: Renamed from lib/c-vazsprintf.c.
	* lib/c-vsnzprintf.c: Renamed from lib/c-vzsnprintf.c.
	* lib/c-snzprintf.c: Renamed from lib/c-zsnprintf.c.
	* lib/vaszprintf.c: Renamed from lib/vazsprintf.c.
	* lib/vsnzprintf.c: Renamed from lib/vzsnprintf.c.
	* lib/vszprintf.c: Renamed from lib/vzsprintf.c.
	* lib/snzprintf.c: Renamed from lib/zsnprintf.c.
	* lib/szprintf.c: Renamed from lib/zsprintf.c.
	* tests/test-c-vaszprintf-gnu.c: Renamed from
	tests/test-c-vazsprintf-gnu.c.
	* tests/test-c-vaszprintf-gnu.sh: Renamed from
	tests/test-c-vazsprintf-gnu.sh.
	* tests/test-c-vsnzprintf-gnu.c: Renamed from
	tests/test-c-vzsnprintf-gnu.c.
	* tests/test-c-vsnzprintf-gnu.sh: Renamed from
	tests/test-c-vzsnprintf-gnu.sh.
	* tests/test-c-snzprintf-gnu.c: Renamed from
	tests/test-c-zsnprintf-gnu.c.
	* tests/test-c-snzprintf-gnu.sh: Renamed from
	tests/test-c-zsnprintf-gnu.sh.
	* tests/test-vaszprintf-gnu.c: Renamed from tests/test-vazsprintf-gnu.c.
	* tests/test-vaszprintf-gnu.h: Renamed from tests/test-vazsprintf-gnu.h.
	* tests/test-vaszprintf-posix.c: Renamed from
	tests/test-vazsprintf-posix.c.
	* tests/test-vsnzprintf-gnu.c: Renamed from tests/test-vzsnprintf-gnu.c.
	* tests/test-vsnzprintf-posix.c: Renamed from
	tests/test-vzsnprintf-posix.c.
	* tests/test-vszprintf-gnu.c: Renamed from tests/test-vzsprintf-gnu.c.
	* tests/test-vszprintf-posix.c: Renamed from
	tests/test-vzsprintf-posix.c.
	* tests/test-snzprintf-gnu.c: Renamed from tests/test-zsnprintf-gnu.c.
	* tests/test-snzprintf-gnu.h: Renamed from tests/test-zsnprintf-gnu.h.
	* tests/test-snzprintf-posix.c: Renamed from
	tests/test-zsnprintf-posix.c.
	* tests/test-snzprintf-posix.h: Renamed from
	tests/test-zsnprintf-posix.h.
	* tests/test-szprintf-gnu.c: Renamed from tests/test-zsprintf-gnu.c.
	* tests/test-szprintf-gnu.h: Renamed from tests/test-zsprintf-gnu.h.
	* tests/test-szprintf-posix.c: Renamed from tests/test-zsprintf-posix.c.
	* tests/test-szprintf-posix.h: Renamed from tests/test-zsprintf-posix.h.
	* modules/c-vaszprintf: Renamed from modules/c-vazsprintf.
	* modules/c-vaszprintf-gnu: Renamed from modules/c-vazsprintf-gnu.
	* modules/c-vaszprintf-gnu-tests: Renamed from
	modules/c-vazsprintf-gnu-tests.
	* modules/c-vsnzprintf: Renamed from modules/c-vzsnprintf.
	* modules/c-vsnzprintf-gnu: Renamed from modules/c-vzsnprintf-gnu.
	* modules/c-vsnzprintf-gnu-tests: Renamed from
	modules/c-vzsnprintf-gnu-tests.
	* modules/c-snzprintf: Renamed from modules/c-zsnprintf.
	* modules/c-snzprintf-gnu: Renamed from modules/c-zsnprintf-gnu.
	* modules/c-snzprintf-gnu-tests: Renamed from
	modules/c-zsnprintf-gnu-tests.
	* modules/vaszprintf: Renamed from modules/vazsprintf.
	* modules/vaszprintf-gnu: Renamed from modules/vazsprintf-gnu.
	* modules/vaszprintf-gnu-tests: Renamed from
	modules/vazsprintf-gnu-tests.
	* modules/vaszprintf-posix: Renamed from modules/vazsprintf-posix.
	* modules/vaszprintf-posix-tests: Renamed from
	modules/vazsprintf-posix-tests.
	* modules/vsnzprintf: Renamed from modules/vzsnprintf.
	* modules/vsnzprintf-gnu: Renamed from modules/vzsnprintf-gnu.
	* modules/vsnzprintf-gnu-tests: Renamed from
	modules/vzsnprintf-gnu-tests.
	* modules/vsnzprintf-posix: Renamed from modules/vzsnprintf-posix.
	* modules/vsnzprintf-posix-tests: Renamed from
	modules/vzsnprintf-posix-tests.
	* modules/vszprintf: Renamed from modules/vzsprintf.
	* modules/vszprintf-gnu: Renamed from modules/vzsprintf-gnu.
	* modules/vszprintf-gnu-tests: Renamed from modules/vzsprintf-gnu-tests.
	* modules/vszprintf-posix: Renamed from modules/vzsprintf-posix.
	* modules/vszprintf-posix-tests: Renamed from
	modules/vzsprintf-posix-tests.
	* modules/snzprintf: Renamed from modules/zsnprintf.
	* modules/snzprintf-gnu: Renamed from modules/zsnprintf-gnu.
	* modules/snzprintf-gnu-tests: Renamed from modules/zsnprintf-gnu-tests.
	* modules/snzprintf-posix: Renamed from modules/zsnprintf-posix.
	* modules/snzprintf-posix-tests: Renamed from
	modules/zsnprintf-posix-tests.
	* modules/szprintf: Renamed from modules/zsprintf.
	* modules/szprintf-gnu: Renamed from modules/zsprintf-gnu.
	* modules/szprintf-gnu-tests: Renamed from modules/zsprintf-gnu-tests.
	* modules/szprintf-posix: Renamed from modules/zsprintf-posix.
	* modules/szprintf-posix-tests: Renamed from
	modules/zsprintf-posix-tests.
	All function names updated.
	* lib/stdio.in.h, m4/stdio_h.m4, modules/stdio: Update module indicator
	names.

2024-06-29  Jim Meyering  <meyering@meta.com>

	bootstrap-funclib.sh: shrink or split too-long lines
	* top/bootstrap-funclib.sh: The generated bootstrap file had lines
	lines that triggered a syntax-check failure.  Sure, I could have
	exempted this file, but it was easy to comply.  Besides, this also
	fixed a quoting bug in the event that ${GNULIB_URL:-$default_gnulib_url}
	had a value requiring double quotes.
	* build-aux/bootstrap: Regenerate.

2024-06-29  Bruno Haible  <bruno@clisp.org>

	tests: Avoid test failures due to VirtualBox specific bug.
	* tests/virtualbox.h: New file.
	* tests/test-pthread-cond.c: Include virtualbox.h.
	(main): Skip the test under VirtualBox with KVM paravirtualization and
	more than 1 CPU.
	* tests/test-cnd.c: Include virtualbox.h.
	(main): Skip the test under VirtualBox with KVM paravirtualization and
	more than 1 CPU.
	* tests/test-cond.c: Include virtualbox.h.
	(main): Skip the test under VirtualBox with KVM paravirtualization and
	more than 1 CPU.
	* tests/test-pthread_sigmask1.c: Include virtualbox.h.
	(main): Skip the test under VirtualBox with KVM paravirtualization and
	more than 1 CPU.
	* tests/test-pthread_sigmask2.c: Include virtualbox.h.
	(main): Skip the test under VirtualBox with KVM paravirtualization and
	more than 1 CPU.
	* tests/test-sigprocmask.c: Include virtualbox.h.
	(main): Skip the test under VirtualBox with KVM paravirtualization and
	more than 1 CPU.
	* modules/pthread-cond-tests (Files): Add tests/virtualbox.h.
	* modules/cnd-tests (Files): Likewise.
	* modules/cond-tests (Files): Likewise.
	* modules/pthread_sigmask-tests (Files): Likewise.
	* modules/sigprocmask-tests (Files): Likewise.

2024-06-28  Collin Funk  <collin.funk1@gmail.com>

	doc: Mention the byteswap module in function documentation.
	* doc/glibc-functions/bswap_16.texi (bswap_16): Mention the byteswap
	module.
	* doc/glibc-functions/bswap_32.texi (bswap_32): Likewise.
	* doc/glibc-functions/bswap_64.texi (bswap_64): Likewise.

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

	doc: Mention pthread_cond_timedwait bug caused by hypervisor.
	* doc/posix-functions/pthread_cond_timedwait.texi: Mention VirtualBox
	specific bug.
	* doc/posix-functions/cnd_timedwait.texi: Likewise.

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

	cond tests: Avoid theoretically possible failure.
	* tests/test-cnd.c (cnd_wait_routine, cnd_timedwait_routine): Report to
	the main thread if this thread comes too late.
	(test_cnd_wait, test_cnd_timedwait): Return a 'skipped' value.
	(main): Print SKIP instead of OK if the essence of the test was skipped.
	* tests/test-cond.c (cond_routine, timedcond_routine): Report to the
	main thread if this thread comes too late.
	(test_cond, test_timedcond): Return a 'skipped' value.
	(main): Print SKIP instead of OK if the essence of the test was skipped.
	* tests/test-pthread-cond.c (pthread_cond_wait_routine,
	pthread_cond_timedwait_routine): Report to the main thread if this
	thread comes too late.
	(test_pthread_cond_wait, test_pthread_cond_timedwait): Return a
	'skipped' value.
	(main): Print SKIP instead of OK if the essence of the test was skipped.

	cond tests: Improve multithread-safety.
	* tests/test-cnd.c (cond_value, cond_timed_out): Mark as volatile.
	* tests/test-cond.c (cond_value, cond_timed_out): Likewise.
	* tests/test-pthread-cond.c (cond_value, cond_timed_out): Likewise.

	cond tests: Improve comments.
	* tests/test-cnd.c: Improve comments.
	(cond_value): Remove initializer.
	(cond_timed_out): Renamed from cond_timeout.
	* tests/test-cond.c: Improve comments.
	(cond_value): Remove initializer.
	(cond_timed_out): Renamed from cond_timeout.
	* tests/test-pthread-cond.c: Improve comments.
	(cond_value): Remove initializer.
	(cond_timed_out): Renamed from cond_timeout.

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

	time: Fix test failure on FreeBSD.
	* m4/time.m4 (gl_FUNC_TIME): Guess no for FreeBSD in general.
	* doc/posix-functions/time.texi: Mention FreeBSD in general.

2024-06-27  Collin Funk  <collin.funk1@gmail.com>

	doc: Improve documentation of previous POSIX functions.
	* doc/pastposix-functions/bsd_signal.texi: Document revision that
	removed function. Mention the link is the previous version.
	* doc/pastposix-functions/getcontext.texi: Likewise.
	* doc/pastposix-functions/gethostbyaddr.texi: Likewise.
	* doc/pastposix-functions/gethostbyname.texi: Likewise.
	* doc/pastposix-functions/h_errno.texi: Likewise.
	* doc/pastposix-functions/makecontext.texi: Likewise.
	* doc/pastposix-functions/pthread_attr_getstackaddr.texi: Likewise.
	* doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
	* doc/pastposix-functions/scalb.texi: Likewise.
	* doc/pastposix-functions/setcontext.texi: Likewise.
	* doc/pastposix-functions/swapcontext.texi: Likewise.
	* doc/pastposix-functions/ualarm.texi: Likewise.
	* doc/pastposix-functions/usleep.texi: Likewise.
	* doc/pastposix-functions/vfork.texi: Likewise.

2024-06-27  Paul Eggert  <eggert@cs.ucla.edu>

	nstrftime: always include locale.h
	* lib/strftime.c: Include locale.h unconditionally, simplifying
	the code.  Emacs is now open for this change, which we had wanted
	to do earlier.

2024-06-27  Collin Funk  <collin.funk1@gmail.com>

	netdb: Simplify NI_MAXHOST and NI_MAXSERV definitions.
	* lib/netdb.in.h (NI_MAXHOST, NI_MAXSERV): Fix typos in comments.
	Undefine and then redefine to the correct value.

	doc: Fix error in previous commits.
	* doc/posix-headers/netdb.texi (netdb.h): Move @end itemize to the end
	of the list.

	netdb tests: Check for NI_MAXHOST and NI_MAXSERV.
	* modules/netdb-tests (Depends-on): Add assert-h.
	* tests/test-netdb.c: Check that NI_MAXHOST and NI_MAXSERV are defined
	correctly.

	netdb: Define NI_MAXHOST and NI_MAXSERV.
	* doc/posix-headers/netdb.texi (netdb.h): Document definitions that
	differ from RFC 2553.
	* lib/netdb.in.h (NI_MAXHOST, NI_MAXSERV): Define NI_MAXHOST and
	NI_MAXSERV.

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

	strnlen: document Android bug
	* doc/posix-functions/strnlen.texi (strnlen):
	Mention Android 5.0 bug reported by Po Lu in this thread:
	https://lists.gnu.org/r/bug-gnulib/2024-06/msg00271.html

2024-06-25  Collin Funk  <collin.funk1@gmail.com>

	idpriv-droptemp: Handle large user and group ids.
	* lib/idpriv-droptemp.c (saved_uid): Use uid_t instead of int.
	(saved_gid): Use gid_t instead of int.
	(idpriv_temp_drop): Use uid_t and gid_t instead of int.
	(idpriv_temp_restore): Likewise.

	idpriv-drop: Handle large user and group ids.
	* lib/idpriv-drop.c (idpriv_drop): Use uid_t and gid_t instead of int.

2024-06-25  Bruno Haible  <bruno@clisp.org>

	c-vazsprintf-gnu: Add tests.
	* tests/test-vazsprintf-gnu.h: New file, extracted from
	tests/test-vazsprintf-gnu.c.
	* tests/test-vazsprintf-gnu.c: Include test-vazsprintf-gnu.h.
	(test_function): Moved out to tests/test-vazsprintf-gnu.h.
	* modules/vazsprintf-gnu-tests (Files): Add tests/test-vazsprintf-gnu.h.
	* tests/test-c-vazsprintf-gnu.c: New file.
	* tests/test-c-vazsprintf-gnu.sh: New file, based on
	tests/test-c-snprintf.sh.
	* modules/c-vazsprintf-gnu-tests: New file.

	c-vazsprintf-gnu: New module.
	* modules/c-vazsprintf-gnu: New file.

2024-06-25  Bruno Haible  <bruno@clisp.org>

	c-zsnprintf-gnu: Add tests.
	* tests/test-c-zsnprintf-gnu.c: New file.
	* tests/test-c-zsnprintf-gnu.sh: New file, based on
	tests/test-c-snprintf.sh.
	* modules/c-zsnprintf-gnu-tests: New file.

	c-zsnprintf-gnu: New module.
	* modules/c-zsnprintf-gnu: New file.

2024-06-25  Bruno Haible  <bruno@clisp.org>

	c-vzsnprintf-gnu: Add tests.
	* tests/test-c-vzsnprintf-gnu.c: New file, based on
	tests/test-vzsnprintf-gnu.c.
	* tests/test-c-vzsnprintf-gnu.sh: New file, based on
	tests/test-c-snprintf.sh.
	* modules/c-vzsnprintf-gnu-tests: New file.

	c-vzsnprintf-gnu: New module.
	* modules/c-vzsnprintf-gnu: New file.

2024-06-25  Bruno Haible  <bruno@clisp.org>

	c-vasnprintf: Add tests.
	* tests/test-c-vasnprintf.c: New file, based on tests/test-c-snprintf.c.
	* tests/test-c-vasnprintf.sh: New file, based on
	tests/test-c-snprintf.sh.
	* modules/c-vasnprintf-tests: New file.

2024-06-25  Bruno Haible  <bruno@clisp.org>

	c-vasnprintf: Fix link errors.
	* modules/c-vasnprintf (configure.ac): Ensure printf-args.c and
	printf-parse.c get compiled. Invoke gl_PREREQ_PRINTF_ARGS,
	gl_PREREQ_PRINTF_PARSE.

2024-06-25  Bruno Haible  <bruno@clisp.org>

	obstack-zprintf-gnu: Add tests.
	* tests/test-obstack-zprintf-gnu.c: New file, based on
	tests/test-vazsprintf-gnu.c.
	* modules/obstack-zprintf-gnu-tests: New file.

	obstack-zprintf-gnu: New module.
	* modules/obstack-zprintf-gnu: New file.

2024-06-25  Bruno Haible  <bruno@clisp.org>

	vazsprintf-gnu: Add tests.
	* tests/test-vazsprintf-gnu.c: New file, based on
	tests/test-zsnprintf-gnu.h.
	* modules/vazsprintf-gnu-tests: New file.

	vazsprintf-gnu: New module.
	* modules/vazsprintf-gnu: New file.

2024-06-25  Bruno Haible  <bruno@clisp.org>

	zsprintf-gnu: Add tests.
	* tests/test-zsprintf-gnu.c: New file.
	* modules/zsprintf-gnu-tests: New file.

	zsprintf-gnu: New module.
	* modules/zsprintf-gnu: New file.

2024-06-25  Bruno Haible  <bruno@clisp.org>

	vzsprintf-gnu: Add tests.
	* tests/test-vzsprintf-gnu.c: New file.
	* tests/test-zsprintf-gnu.h: New file, based on
	tests/test-zsnprintf-gnu.h.
	* modules/vzsprintf-gnu-tests: New file.

	vzsprintf-gnu: New module.
	* modules/vzsprintf-gnu: New file.

2024-06-25  Bruno Haible  <bruno@clisp.org>

	zsnprintf-gnu: Add tests.
	* tests/test-zsnprintf-gnu.c: New file.
	* modules/zsnprintf-gnu-tests: New file.

	zsnprintf-gnu: New module.
	* modules/zsnprintf-gnu: New file.

2024-06-25  Bruno Haible  <bruno@clisp.org>

	vzsnprintf-gnu: Add tests.
	* tests/test-vzsnprintf-gnu.c: New file.
	* tests/test-zsnprintf-gnu.h: New file, based on
	tests/test-snprintf-gnu.h.
	* modules/vzsnprintf-gnu-tests: New file.

	vzsnprintf-gnu: New module.
	* modules/vzsnprintf-gnu: New file.

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

	obstack-zprintf-posix: Add tests.
	* tests/test-obstack-zprintf-posix.c: New file, based on
	tests/test-vazsprintf-posix.c.
	* modules/obstack-zprintf-posix-tests: New file.

	obstack-zprintf-posix: New module.
	* modules/obstack-zprintf-posix: New file.

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

	vazsprintf-posix: Add tests.
	* tests/test-vazsprintf-posix.c: New file, based on
	tests/test-zsnprintf-posix.h.
	* modules/vazsprintf-posix-tests: New file.

	vazsprintf-posix: New module.
	* modules/vazsprintf-posix: New file.

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

	zsprintf-posix: Add tests.
	* tests/test-zsprintf-posix.c: New file.
	* modules/zsprintf-posix-tests: New file.

	zsprintf-posix: New module.
	* modules/zsprintf-posix: New file.

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

	vzsprintf-posix: Add tests.
	* tests/test-vzsprintf-posix.c: New file.
	* tests/test-zsprintf-posix.h: New file, based on
	tests/test-zsnprintf-posix.h.
	* modules/vzsprintf-posix-tests: New file.

	vzsprintf-posix: New module.
	* modules/vzsprintf-posix: New file.

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

	zsnprintf-posix: Add tests.
	* tests/test-zsnprintf-posix.c: New file.
	* modules/zsnprintf-posix-tests: New file.

	zsnprintf-posix: New module.
	* modules/zsnprintf-posix: New file.

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

	vzsnprintf-posix: Add tests.
	* tests/test-vzsnprintf-posix.c: New file.
	* tests/test-zsnprintf-posix.h: New file, based on
	tests/test-snprintf-posix.h.
	* modules/vzsnprintf-posix-tests: New file.

	vzsnprintf-posix: New module.
	* modules/vzsnprintf-posix: New file.

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

	Ease maintainability of *printf-gnu modules.
	* modules/mixin/printf-gnu: New file.
	* modules/dprintf-gnu (Depends-on): Add it.
	* modules/fprintf-gnu (Depends-on): Likewise.
	* modules/obstack-printf-gnu (Depends-on): Likewise.
	* modules/printf-gnu (Depends-on): Likewise.
	* modules/snprintf-gnu (Depends-on): Likewise.
	* modules/sprintf-gnu (Depends-on): Likewise.
	* modules/vasnprintf-gnu (Depends-on): Likewise.
	* modules/vasnwprintf-gnu (Depends-on): Likewise.
	* modules/vasprintf-gnu (Depends-on): Likewise.
	* modules/vdprintf-gnu (Depends-on): Likewise.
	* modules/vfprintf-gnu (Depends-on): Likewise.
	* modules/vprintf-gnu (Depends-on): Likewise.
	* modules/vsnprintf-gnu (Depends-on): Likewise.
	* modules/vsprintf-gnu (Depends-on): Likewise.

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

	Reduce duplication among *printf-posix modules.
	* modules/mixin/printf-posix: New file.
	* modules/c-vasnprintf (Depends-on): Add it. Remove isnan*-nolibm,
	frexp*-nolibm, printf-frexp*, signbit, fpucw.
	* modules/dprintf-posix (Depends-on): Likewise.
	* modules/fprintf-posix (Depends-on): Likewise.
	* modules/snprintf-posix (Depends-on): Likewise.
	* modules/sprintf-posix (Depends-on): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
	* modules/vasnprintf-posix (Depends-on): Likewise.
	* modules/vasnwprintf-posix (Depends-on): Likewise.
	* modules/vasprintf-posix (Depends-on): Likewise.
	* modules/vdprintf-posix (Depends-on): Likewise.
	* modules/vfprintf-posix (Depends-on): Likewise.
	* modules/vsnprintf-posix (Depends-on): Likewise.
	* modules/vsprintf-posix (Depends-on): Likewise.

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

	c-vasnprintf: Relicense under LGPLv2+.
	* lib/c-vasnprintf.h: Rebase on lib/vasnprintf.h.
	* lib/c-vasnprintf.c: Rebase on lib/unistdio/ulc-vasnprintf.c.
	* modules/c-vasnprintf (License): Change to LGPLv2+.

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

	doc: Update info about *printf.
	* doc/*-functions/*printf.texi: Update info regarding size specifiers
	w8, wf8, etc.

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

	doc: Update info about *printf.
	* doc/*-functions/*printf.texi: Update info regarding %B directive.

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

	doc: Update info about *printf.
	* doc/*-functions/*printf.texi: Update info regarding %b directive.

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

	doc: Update info about *printf.
	* doc/*-functions/*printf.texi: Update info regarding %f, %e, %g
	directives.

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

	doc: Update info about *printf.
	* doc/*-functions/*printf.texi: Update info regarding %a directive.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise. Improve bits
	assignment in return value.

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

	doc: Update info about obstack_*printf.
	* doc/glibc-functions/obstack_*printf.texi: Update info.

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

	git-merge-changelog: Improve last commit.
	* lib/git-merge-changelog.c (conflict_write): Add comments.

2024-06-24  Andreas Schwab  <schwab@suse.de>

	git-merge-changelog: Improve conflict markers.
	* lib/git-merge-changelog.c (conflict_write): Add a space after <<<<<<<
	and >>>>>>>.

2024-06-23  Collin Funk  <collin.funk1@gmail.com>

	test-framework-sh: Fix typo in function invocation (regression 2024-06-11).
	* tests/init.sh (mktempd_): Invoke fail_ properly.

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

	obstack-zprintf: Add more tests.
	* tests/test-obstack-zprintf-big.c: New file, based on
	tests/test-vasnprintf-big.c.
	* modules/obstack-zprintf-extra-tests: New file.
	* modules/obstack-zprintf-tests (Depends-on): Add it.

	obstack-zprintf: Add tests.
	* tests/test-obstack-printf.h: New file, based on
	tests/test-obstack-printf.c.
	* tests/test-obstack-printf.c: Include test-obstack-printf.h.
	(obstack_chunk_alloc, obstack_chunk_free, test_function): Moved to
	tests/test-obstack-printf.h.
	(test_obstack_vprintf, test_obstack_printf): Remove functions.
	(main): Inline them here.
	* tests/test-obstack-zprintf.c: New file, based on
	tests/test-obstack-printf.c.
	* modules/obstack-printf-tests (Files): Add tests/test-obstack-printf.h.
	* modules/obstack-zprintf-tests: New file.

	obstack-zprintf: New module.
	* lib/stdio.in.h (obstack_zprintf, obstack_vzprintf): New declarations.
	(obstack_printf, obstack_vprintf): Tweak comment.
	* lib/obstack_printf.c: Parameterize.
	(RESULT_TYPE, OBSTACK_PRINTF, OBSTACK_VPRINTF): New macros.
	* lib/obstack_zprintf.c: New file.
	* m4/stdio_h.m4 (gl_STDIO_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_OBSTACK_ZPRINTF.
	* modules/stdio (Makefile.am): Substitute GNULIB_OBSTACK_ZPRINTF.
	* modules/obstack-zprintf: New file.

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

	physmem: Fix typo.
	* lib/physmem.h (physmem_claimable): Fix typo in comment.

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

	c-xvasprintf: Guarantee a non-NULL result.
	* lib/c-xvasprintf.h: Clarify the programmer's responsibilities.
	(c_xasprintf, c_xvasprintf): Declare as returning non-NULL.
	* lib/c-xvasprintf.c: Include <stdlib.h>, <string.h>.
	(c_xvasprintf): Call c_vazsprintf instead of c_vasprintf. When some
	other error occurs, emit an error message and abort.
	* modules/c-xvasprintf (Files): Add m4/strerrorname_np.m4.
	(Depends-on): Add extensions, c-vazsprintf. Remove c-vasprintf.
	(configure.ac): Invoke gl_OPTIONAL_STRERRORNAME_NP.
	* NEWS: Mention the change.

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

	c-vasprintf: Make return convention consistent with other modules.
	* lib/c-vasprintf.h (c_asprintf, c_vasprintf): Add specification.
	* lib/c-asprintf.c: Replaced with code based on lib/asprintf.c.
	* lib/c-vasprintf.c: Replaced with code based on lib/vasprintf.c.
	* modules/c-vasprintf (Depends-on): Add stdint.
	(License): Change to LGPLv2+.

	c-vazsprintf: New module.
	* lib/c-vasprintf.h: Change license to LGPLv2+.
	Include <stddef.h>.
	(c_azsprintf, c_vazsprintf): New declarations.
	* lib/c-azsprintf.c: New file, based on lib/azsprintf.c.
	* lib/c-vazsprintf.c: New file, based on lib/vazsprintf.c.
	* modules/c-vazsprintf: New file.

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

	c-snprintf: Use c-vzsnprintf.
	* lib/c-snprintf.h (c_snprintf): Move specification to here.
	* lib/c-snprintf.c: Change license to LGPLv2+.
	Don't include <stdlib.h>, <string.h>, c-vasnprintf.h. Include
	<stdint.h>, c-vsnprintf.h.
	(c_snprintf): Implement based on c_vzsnprintf.
	* modules/c-snprintf (Depends-on): Add stdint, c-vzsnprintf. Remove
	c-vasnprintf.

	c-zsnprintf: New module.
	* lib/c-snprintf.h: Change license to LGPLv2+.
	(c_zsnprintf): New declaration.
	* lib/c-zsnprintf.c: New file, based on lib/zsnprintf.c.
	* modules/c-zsnprintf: New file.

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

	c-vsnprintf: Use c-vzsnprintf.
	* lib/c-vsnprintf.h (c_vsnprintf): Move specification to here.
	* lib/c-vsnprintf.c: Change license to LGPLv2+.
	Don't include <stdlib.h>, <string.h>, c-vasnprintf.h. Include
	<stdint.h>.
	(c_vsnprintf): Implement based on c_vzsnprintf.
	* modules/c-vsnprintf (Depends-on): Add stdint, c-vzsnprintf. Remove
	c-vasnprintf.
	(License): Change to LGPLv2+.

	c-vzsnprintf: New module.
	* lib/c-vsnprintf.h: Change license to LGPLv2+.
	(c_vzsnprintf): New declaration.
	* lib/c-vzsnprintf.c: New file, based on lib/vzsnprintf.c.
	* modules/c-vzsnprintf: New file.

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

	xvasprintf: Guarantee a non-NULL result.
	* lib/xvasprintf.h: Clarify the programmer's responsibilities.
	(xasprintf, xvasprintf): Declare as returning non-NULL.
	* lib/xvasprintf.c: Include <stdlib.h>.
	(xstrcat): Allow results longer than INT_MAX characters. Upon size
	overflow, invoke xalloc_die.
	(xvasprintf): Call vazsprintf instead of vasprintf. When some other
	error occurs, emit an error message and abort.
	* m4/strerrorname_np.m4 (gl_CHECK_STRERRORNAME_NP): New macro, extracted
	from gl_FUNC_STRERRORNAME_NP.
	(gl_FUNC_STRERRORNAME_NP): Invoke it.
	(gl_OPTIONAL_STRERRORNAME_NP): New macro.
	* m4/xvasprintf.m4 (gl_XVASPRINTF): Invoke gl_OPTIONAL_STRERRORNAME_NP.
	* modules/xvasprintf (Files): Add m4/strerrorname_np.m4.
	(Depends-on): Add extensions, vazsprintf. Remove vasprintf.
	* NEWS: Mention the change.

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

	vasprintf: Make return convention consistent with other modules.
	* lib/vasprintf.c: Include <stdint.h>.
	(vasprintf): If the length is > PTRDIFF_MAX, fail with ENOMEM, not
	EOVERFLOW.
	* modules/vasprintf (Depends-on): Add stdint.

	vazsprintf: New module.
	* lib/stdio.in.h (azsprintf, vazsprintf): New declarations.
	* lib/vazsprintf.c: New file, based on lib/vasprintf.c.
	* lib/azsprintf.c: New file, based on lib/asprintf.c.
	* m4/stdio_h.m4 (gl_STDIO_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_VAZSPRINTF.
	* modules/stdio (Makefile.am): Substitute GNULIB_VAZSPRINTF.
	* modules/vazsprintf: New file.

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

	sprintf-posix: Use vzsprintf.
	* lib/stdio.in.h (sprintf): Move specification to here.
	* lib/sprintf.c: Don't include <stdlib.h>, vasnprintf.h. Include
	<stdint.h>.
	(sprintf): Implement based on vzsprintf.
	* modules/sprintf-posix (Depends-on): Add vzsprintf. Remove vasnprintf.

	zsprintf: New module.
	* lib/stdio.in.h (zsprintf): New declaration, based on
	lib/sprintf.c.
	* lib/zsprintf.c: New file, based on lib/sprintf.c.
	* m4/stdio_h.m4 (gl_STDIO_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_ZSPRINTF.
	* modules/stdio (Makefile.am): Substitute GNULIB_ZSPRINTF.
	* modules/zsprintf: New file.

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

	vsprintf-posix: Use vzsprintf.
	* lib/stdio.in.h (vsprintf): Move specification to here.
	* lib/vsprintf.c: Don't include <stdlib.h>, vasnprintf.h.
	(SIZE_MAX): Remove macro.
	(vsprintf): Implement based on vzsprintf.
	* modules/vsprintf-posix (Depends-on): Add vzsprintf. Remove vasnprintf.

	vzsprintf: New module.
	* lib/stdio.in.h (vzsprintf): New declaration, based on
	lib/vsprintf.c.
	* lib/vzsprintf.c: New file, based on lib/vsprintf.c.
	* m4/stdio_h.m4 (gl_STDIO_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_VZSPRINTF.
	* modules/stdio (Makefile.am): Substitute GNULIB_VZSPRINTF.
	* modules/vzsprintf: New file.

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

	snprintf: Use vzsnprintf.
	* lib/stdio.in.h (snprintf): Move specification to here.
	* lib/snprintf.c: Don't include <stdlib.h>, <string.h>, vasnprintf.h.
	Include <stdint.h>.
	(snprintf): Implement based on vzsnprintf.
	* modules/snprintf (Depends-on): Add stdint, vzsnprintf. Remove
	vasnprintf.

	zsnprintf: New module.
	* lib/stdio.in.h (zsnprintf): New declaration, based on
	lib/snprintf.c.
	* lib/zsnprintf.c: New file, based on lib/snprintf.c.
	* m4/stdio_h.m4 (gl_STDIO_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_ZSNPRINTF.
	* modules/stdio (Makefile.am): Substitute GNULIB_ZSNPRINTF.
	* modules/zsnprintf: New file.

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

	vsnprintf: Use vzsnprintf.
	* lib/stdio.in.h (vsnprintf): Move specification to here.
	* lib/vsnprintf.c: Don't include <stdlib.h>, <string.h>, vasnprintf.h.
	Include <stdint.h>.
	(vsnprintf): Implement based on vzsnprintf.
	* modules/vsnprintf (Depends-on): Add stdint, vzsnprintf. Remove
	vasnprintf.

	vzsnprintf: New module.
	* lib/stdio.in.h (vzsnprintf): New declaration, based on
	lib/vsnprintf.c.
	* lib/vzsnprintf.c: New file, based on lib/vsnprintf.c.
	* m4/stdio_h.m4 (gl_STDIO_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_VZSNPRINTF.
	* modules/stdio (Makefile.am): Substitute GNULIB_VZSNPRINTF.
	* modules/vzsnprintf: New file.

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

	test-framework-sh: Fix side effect on dfa tests (regression 2024-06-11).
	* tests/init.sh (returns_): Silence the 'local is_tracing' assignment
	for real.

	test-framework-sh: Fix side effect on dfa tests (regression 2024-06-11).
	* tests/init.sh (returns_): Silence the 'local is_tracing' assignment.

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

	vasnwprintf tests: Add test of huge %ls arguments.
	* tests/test-vasnwprintf-big.c (main): Add tests for wide string
	arguments with > 2^31 wide characters.

	vasnwprintf: Support huge wide string arguments.
	* lib/vasnprintf.c: (VASNPRINTF): In 64-bit builds, handle the %ls
	directive ourselves.
	(local_wcslen): Adjust #if condition.

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

	sigsegv: avoid unlikely undefined behavior
	Problem found by Coverity for diffutils and reported by Wasser Mai in:
	https://bugs.gnu.org/71535
	* lib/stackvma.c (rof_open) [__linux__ || __FreeBSD__ || etc]:
	Don’t assume result of ‘read’ fits in int.
	Avoid undefined behavior if ‘n + MIN_LEFTOVER’ would overflow.
	Also, move a test to be after an (n == 0) test, to help the compiler.

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

	vasnprintf, u*-asnprintf tests: Add test of huge %ls arguments.
	* tests/test-vasnprintf-big.c: Include <wchar.h>.
	(main): Add tests for wide string arguments with > 2^31 wide characters.
	* tests/unistdio/test-u8-asnprintf-big.c: Include <wchar.h>.
	(main): Add tests for wide string arguments with > 2^31 wide characters.
	* tests/unistdio/test-ulc-asnprintf-big.c: Include <wchar.h>.
	(main): Add tests for wide string arguments with > 2^31 wide characters.

	vasnprintf, u*-vasnprintf: Support huge wide string arguments.
	* lib/vasnprintf.c: (VASNPRINTF): In 64-bit builds, handle the %ls
	directive ourselves.
	(local_wcslen, local_wcrtomb): Adjust #if condition.

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

	vasnwprintf tests: Add test of %s directive with large arguments.
	* tests/test-vasnwprintf-big.c: New file, based on
	tests/test-vasnprintf-big.c.
	* modules/vasnwprintf-extra-tests: New file.
	* modules/vasnwprintf-tests (Depends-on): Depend on it.

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

	vasnprintf, u*-asnprintf tests: Adjust memory need.
	* tests/test-vasnprintf-big.c (main): Require 10, not 12, GiB of RAM.
	* tests/unistdio/test-u8-asnprintf-big.c (main): Require 15 GiB of RAM.
	* tests/unistdio/test-ulc-asnprintf-big.c (main): Likewise.

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

	u8-asnprintf tests: Fix mistake.
	* tests/unistdio/test-u8-asnprintf-big.c: Include <unistr.h>.
	(main): Use u8_strlen instead of strlen.
	* modules/unistdio/u8-asnprintf-extra-tests (Depends-on): Add
	unistr/u8-strlen.

2024-06-19  Collin Funk  <collin.funk1@gmail.com>

	filemode tests: Fix comment.
	* tests/test-filemode.c: Make the file description accurate.

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

	ulc-asnprintf tests: Add test of %U, %s directives with large arguments.
	* tests/unistdio/test-ulc-asnprintf-big.c: New file, based on
	tests/test-vasnprintf-big.c.
	* modules/unistdio/ulc-asnprintf-extra-tests: New file.
	* modules/unistdio/ulc-asnprintf-tests (Depends-on): Depend on it.

	u8-asnprintf tests: Add test of %U, %s directives with large arguments.
	* tests/unistdio/test-u8-asnprintf-big.c: New file, based on
	tests/test-vasnprintf-big.c.
	* modules/unistdio/u8-asnprintf-extra-tests: New file.
	* modules/unistdio/u8-asnprintf-tests (Depends-on): Depend on it.

	vasnprintf tests: Add test of %s directive with large arguments.
	* tests/test-vasnprintf-big.c: New file.
	* modules/vasnprintf-extra-tests: New file.
	* modules/vasnprintf-tests (Depends-on): Depend on it.

	vasnprintf, u*-vasnprintf: Support string arguments longer than 2 GiB.
	* lib/vasnprintf.c: Include <stdint.h>.
	(VASNPRINTF): In 64-bit builds, handle the %s directive ourselves.
	(local_strnlen): Adjust #if condition.
	* modules/unistdio/u8-vasnprintf (Depends-on): Add stdint.
	* modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.

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

	vasnwprintf: Optimize handling of %c directive.
	* lib/vasnprintf.c (VASNPRINTF): Use a single ENSURE_ALLOCATION instead
	of two.

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

	u*-vasnprintf: Fix a rare memory leak.
	* lib/vasnprintf.c (VASNPRINTF): Use ENSURE_ALLOCATION_ELSE instead of
	ENSURE_ALLOCATION, to free temporary allocations before failing due to
	out-of-memory.

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

	u*-vasnprintf: Improve comments.
	* lib/vasnprintf.c (VASNPRINTF): Improve comments.

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

	u*-vasnprintf tests: Add more tests of %U, %lU, %llU directives.
	* tests/unistdio/test-u8-printf1.h (test_xfunction): Add more tests of
	%U, %lU, %llU directives with width and non-ASCII argument.
	* tests/unistdio/test-u16-printf1.h (test_xfunction): Likewise.
	* tests/unistdio/test-u32-printf1.h (test_xfunction): Likewise.
	* tests/unistdio/test-ulc-vasnprintf2.c (test_function): Likewise.
	* tests/unistdio/test-ulc-vasnprintf3.c (test_function): Likewise.

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

	filemode tests: Tweak.
	* tests/test-filemode.c: Update comment.
	* modules/filemode-tests (Depends-on): Add unistd.

2024-06-18  Collin Funk  <collin.funk1@gmail.com>

	filemode: Add tests.
	* modules/filemode-tests: New file.
	* tests/test-filemode.c: New file.

2024-06-18  Bruno Haible  <bruno@clisp.org>

	copysignl tests: Avoid failure on Solaris 11.4.
	* tests/test-copysignl.c: Include <float.h>.
	(LDBL_BYTES): New macro.
	(main): Use it instead of sizeof (long double).
	* modules/copysignl-tests (Depends-on): Add float.

2024-06-18  Bruno Haible  <bruno@clisp.org>

	mbsnlen: Add tests.
	* tests/test-mbsnlen.c: New file.
	* tests/test-mbsnlen.sh: New file, based on tests/test-mbsspn.sh.
	* modules/mbsnlen-tests: New file.

	mbsnlen: Fix bug (regression 2023-09-26).
	* lib/mbsnlen.c (mbsnlen): Fix bug in GNULIB_MCEL_PREFER implementation.

2024-06-18  Bruno Haible  <bruno@clisp.org>

	mbslen: Add tests.
	* tests/test-mbslen.c: New file.
	* tests/test-mbslen.sh: New file, based on tests/test-mbsspn.sh.
	* modules/mbslen-tests: New file.

2024-06-18  Bruno Haible  <bruno@clisp.org>

	u*-vasnprintf tests: Add tests of %ls directive.
	* tests/unistdio/test-u8-vasnprintf2.c (test_function): Add tests of
	the %ls directive with non-ASCII argument.
	* tests/unistdio/test-u8-vasnprintf3.c (test_function): Likewise.
	* tests/unistdio/test-u16-vasnprintf2.c (test_function): Likewise.
	* tests/unistdio/test-u16-vasnprintf3.c (test_function): Likewise.
	* tests/unistdio/test-u32-vasnprintf2.c (test_function): Likewise.
	* tests/unistdio/test-u32-vasnprintf3.c (test_function): Likewise.
	* tests/unistdio/test-ulc-vasnprintf2.c (test_function): Likewise.
	* tests/unistdio/test-ulc-vasnprintf3.c (test_function): Likewise.

	u*-vasnprintf: Fix handling of %ls, %lc directives on Solaris, MSVC.
	* lib/vasnprintf.c (VASNPRINTF): When implementing the %ls, %lc
	directives ourselves: Rename variable 'characters' to 'bytes'. Also
	count characters, if necessary for the width handling. Fix
	DCHAR_MBSNLEN invocation.

2024-06-18  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Refactor.
	* lib/vasnprintf.c (VASNPRINTF) [!DCHAR_IS_TCHAR]: Reduce the scope of
	the tmpsrc variables.

2024-06-18  Paul Eggert  <eggert@cs.ucla.edu>

	nstrftime: tweak volatile access
	* lib/strftime.c (utc_timezone): Avoid unnecessary access to volatile.

2024-06-18  Bruno Haible  <bruno@clisp.org>

	nstrftime: Fix crash on NetBSD 10.0.
	* lib/strftime.c (utc_timezone_cache): New variable.
	(utc_timezone): New function.
	(underlying_strftime): Use it when tz is NULL.

2024-06-18  Bruno Haible  <bruno@clisp.org>

	c-nstrftime: Fix warning on platforms without strftime_l.
	* lib/strftime.c: Add comment regarding HAVE_STRFTIME_L.
	(underlying_strftime): Don't define if this function is not used.
	Correct indentation. Simplify #if condition.
	(__strftime_internal): Disable code that is not used on platforms
	without strftime_l.

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

	Improve wording for Y2038 and largefile probes
	This change syncs from Autoconf master.
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-06/msg00181.html
	* m4/largefile.m4 (_AC_SYS_YEAR2038_PROBE)
	(_AC_SYS_LARGEFILE_PROBE): Improve wording of chatter.

	nstrftime: fix bug with -0000 on Solaris 11
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-06/msg00201.html
	* lib/strftime.c (strftime) [!_LIBC]: Move #undef up.
	(underlying_strftime) [!_LIBC]: New function, containing most of
	what __strftime_internal used to do at the underlying_strftime label.
	(get_tm_zone): New function, containing much of what
	__strftime_internal used to do for %Z.
	Be consistent about using "UTC" rather than "GMT";
	this changes behavior only on platforms lacking tm_zone.
	(__strftime_internal): Use them to compute time zone abbreviation
	when needed.  Make ‘zone’ more local, and compute it only if
	needed.  Simplify by removing set_and_revert_tz local var and its
	uses; no longer needed now that we have get_tm_zone.  Do not
	assume %EZ and %OZ are equivalent to %Z.

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

	nstrftime: Correct indentation.
	* lib/strftime.c (__strftime_internal): Correct indentation of
	preprocessor directives.

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

	nstrftime: improve fix for NetBSD link errors
	This makes the NetBSD code thread-safe and presumably faster.
	* lib/strftime.c (HAVE_NATIVE_TIME_Z): New macro.
	(__strftime_internal): If HAVE_NATIVE_TIME_Z, use strftime_lz
	or strftime_z instead of setting and reverting TZ.
	* lib/time-internal.c: Remove, reverting recent change.
	* lib/time_rz.c, modules/time_rz: Also revert recent changes,
	since the relevant functions can now remain private to time_rz.c.
	* m4/c-nstrftime.m4 (gl_C_GNU_STRFTIME): Check for strftime_lz.
	* m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Check for strftime_z.

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

	vasnprintf: Fix test failure on Cygwin.
	* m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require AC_CANONICAL_HOST. Test
	whether vasnprintf works reliably; invoke gl_REPLACE_VASNPRINTF if not.

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

	nstrftime, c-nstrftime: Fix crash on Solaris 11.4.
	* lib/strftime.c (__strftime_internal): Restore protection against zone
	being NULL.

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

	time_rz: Fix link errors on NetBSD (regression yesterday).
	* lib/time-internal.c: New file, extracted from lib/time_rz.c.
	(tzgetname): New function.
	* lib/time_rz.c (getenv_TZ, setenv_TZ, change_env, set_tz, revert_tz):
	Moved to lib/time-internal.c.
	* modules/time_rz (Files): Add lib/time-internal.c.
	(Depends-on): Update.
	(Makefile.am): Arrange to compile time-internal.c on all platforms.

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

	doc: Update for macOS 12, 13, 14.
	* doc/posix-headers/*.texi: Update.
	* doc/glibc-headers/*.texi: Update.
	* doc/posix-functions/*.texi: Likewise.
	* doc/pastposix-functions/*.texi: Likewise.
	* doc/glibc-functions/*.texi: Likewise.
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Update cross-compilation
	guess.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Update comments.
	* m4/readlinkat.m4 (gl_FUNC_READLINKAT): Likewise.

2024-06-16  Collin Funk  <collin.funk1@gmail.com>

	useless-if-before-free: Check for nullptr.
	* build-aux/useless-if-before-free (is_NULL): Add nullptr to the
	condition.
	(foo): Add nullptr to the regular expressions.

2024-06-16  Paul Eggert  <eggert@cs.ucla.edu>

	nstrftime: omit never-used code
	* lib/strftime.c (__strftime_internal): Remove code protected by
	‘#ifndef my_strftime’.  my_strftime is always defined.  This
	code isn’t needed for POSIX conformance as it’s never used in glibc.

	nstrftime,time_rz: don’t depend on tzname
	* lib/strftime.c (HAVE_TZNAME_ARRAY) [_LIBC]: Remove.
	All uses removed.
	(__strftime_internal): Simplify calculation of zone to be closer
	to what glibc does.  However, in Gnulib do not look at tzname as
	this is problematic for all the usual reasons; instead, use the
	underlying strftime with %Z, making sure that call to the
	underlying strftime is now always compiled in the non-glibc case.
	Set and revert TZ as needed around the underlying call.

	* lib/time-internal.h (struct tm_zone)
	[HAVE_TZNAME_ARRAY && !HAVE_STRUCT_TM_TM_ZONE]: Remove tzname_copy.
	All uses removed.
	(set_tz, revert_tz): Declare, as they’re now extern.
	(local_tz): Move here from time_rz.c, and now a macro.
	* lib/time_rz.c (save_abbr): Do not worry about tzname_copy,
	since strftime.c no longer needs it.  Instead, save abbrs
	only from tm_zone.
	* modules/c-nstrftime, modules/nstrftime, modules/time_rz:
	(Depends-on): Remove tzname.

	parse-datetime: don’t depend on tzname
	* lib/parse-datetime.y (TIME_ZONE_BUFSIZE): Move earlier.
	(parser_control) [!HAVE_STRUCT_TM_TM_ZONE]:
	New member tz_abbr, to save abbrs calculated by strftime %Z.
	(populate_local_time_zone_table): New function, which
	optimizes the HAVE_STRUCT_TM_TM_ZONE case as before,
	and falls back on strftime with %Z otherwise.
	Although strftime %Z can be more accurate than the old tzname
	based method, the new heuristic is still wrong so often that it
	probably doesn’t help all that much.
	(parse_datetime_body): Use it.
	* modules/parse-datetime (Depends-on): Remove tzname.

	time_r: refactor tm_zone tests
	* m4/tm_gmtoff.m4 (gl_TM_GMTOFF): Also check for tm_zone
	and define HAVE_STRUCT_TM_TM_ZONE accordingly.
	* modules/time_r-tests (Files): Add m4/tm_gmtoff.m4.
	(configure.ac): Simplify by using gl_TM_GMTOFF.

	time_r-tests: avoid tzname test
	* modules/time_r-tests (configure.ac):
	Do not check for tzname, as the tests don’t use it.
	Simply check for struct tm.tm_zone.

	nstrftime: rename HAVE_TM_GMTOFF
	* m4/tm_gmtoff.m4 (gl_TM_GMTOFF): Rename HAVE_TM_GMTOFF
	to HAVE_STRUCT_TM_TM_GMTOFF, for consistency with
	HAVE_STRUCT_TM_TM_ZONE.  All uses changed.

2024-06-15  Bruno Haible  <bruno@clisp.org>

	Drop outdated cppi configuration.
	* lib/.cppi-disable: Remove file.

2024-06-15  Bruno Haible  <bruno@clisp.org>

	doc: Update for glibc 2.39.
	* doc/glibc-functions/pidfd_getpid.texi: New file.
	* doc/glibc-functions/pidfd_spawn.texi: New file.
	* doc/glibc-functions/pidfd_spawnp.texi: New file.
	* doc/glibc-functions/posix_spawnattr_getcgroup_np.texi: New file.
	* doc/glibc-functions/posix_spawnattr_setcgroup_np.texi: New file.
	* doc/gnulib.texi: Include them.
	* doc/posix-functions/*scanf.texi: Update.

2024-06-15  Bruno Haible  <bruno@clisp.org>

	doc: Update for glibc 2.38.
	* doc/posix-functions/strlcat.texi: New file.
	* doc/posix-functions/strlcpy.texi: New file.
	* doc/gnulib.texi: Include them.
	* doc/posix-headers/inttypes.texi: Update.
	* doc/posix-functions/*printf.texi: Update.

2024-06-15  Bruno Haible  <bruno@clisp.org>

	doc: Update for glibc 2.36.
	* doc/posix-functions/c8rtomb.texi: Update.
	* doc/posix-functions/mbrtoc8.texi: Update.
	* doc/glibc-functions/arc4random.texi: New file.
	* doc/glibc-functions/arc4random_buf.texi: New file.
	* doc/glibc-functions/arc4random_uniform.texi: New file.
	* doc/glibc-functions/fsconfig.texi: New file.
	* doc/glibc-functions/fsmount.texi: New file.
	* doc/glibc-functions/fsopen.texi: New file.
	* doc/glibc-functions/fspick.texi: New file.
	* doc/glibc-functions/mount_setattr.texi: New file.
	* doc/glibc-functions/move_mount.texi: New file.
	* doc/glibc-functions/open_tree.texi: New file.
	* doc/glibc-functions/pidfd_getfd.texi: New file.
	* doc/glibc-functions/pidfd_open.texi: New file.
	* doc/glibc-functions/pidfd_send_signal.texi: New file.
	* doc/glibc-functions/process_madvise.texi: New file.
	* doc/glibc-functions/process_mrelease.texi: New file.
	* doc/gnulib.texi: Include them.
	(Glibc sys/pidfd.h): New section.

2024-06-15  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Revert previous change.
	* pygnulib/constants.py (joinpath): Restore function and remove unused
	local variable.
	(relativize, symlink_relative, as_link_value_at_dest, hardlink): Use it.
	* pygnulib/GLConfig.py (resetAutoconfFile): Likewise.
	* pygnulib/GLEmiter.py (lib_Makefile_am, tests_Makefile_am): Likewise.
	* pygnulib/GLFileSystem.py (lookup, shouldLink, tmpfilename, add)
	(update, add_or_update, super_update): Likewise.
	* pygnulib/GLImport.py (__init__, relative_to_currdir)
	(_done_dir_, _update_ignorelist_, prepare, execute): Likewise.
	* pygnulib/GLInfo.py (version): Likewise.
	* pygnulib/GLMakefileTable.py (parent): Likewise.
	* pygnulib/GLModuleSystem.py (exists, find, getFiles)
	(getAutomakeSnippet_Unconditional): Likewise.
	* pygnulib/GLTestDir.py (_patch_test_driver, execute): Likewise.
	* pygnulib/main.py (main): Likewise.

2024-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	timespec-add,timespec-sub: tune
	* lib/timespec-add.c (timespec_add):
	* lib/timespec-sub.c (timespec_sub):
	Simplify by detecting overflow when the two overflow bits of the
	underlying operation differ.  This avoids some gotos and labels
	and conditional branches; GCC 14 x86-64 now generates just one
	conditional branch for the resulting code.  Idea stolen from
	my recent changes to the glibc manual’s time chapter.
	* modules/timespec-add (Depends-on):
	* modules/timespec-sub (Depends-on): Add stdbool.

2024-06-14  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Simplify joining paths.
	* pygnulib/constants.py (joinpath): Remove function. It is equivalent to
	os.path.normpath(os.path.join(...)) where the os.path.normpath is
	typically not needed.
	(relativize, symlink_relative, as_link_value_at_dest, hardlink): Use
	os.path.join instead of joinpath.
	* pygnulib/GLConfig.py (resetAutoconfFile): Likewise.
	* pygnulib/GLEmiter.py (lib_Makefile_am, tests_Makefile_am): Likewise.
	* pygnulib/GLFileSystem.py (lookup, shouldLink, tmpfilename, add)
	(update, add_or_update, super_update): Likewise.
	* pygnulib/GLInfo.py (version): Likewise.
	* pygnulib/GLMakefileTable.py (parent): Likewise.
	* pygnulib/GLTestDir.py (_patch_test_driver, execute): Likewise.
	* pygnulib/main.py (main): Likewise.
	* pygnulib/GLModuleSystem.py (exists, find, getFiles): Likewise.
	* pygnulib/GLImport.py (__init__, relative_to_currdir)
	(_done_dir_, _update_ignorelist_, prepare, execute): Likewise.
	(getAutomakeSnippet_Unconditional): Likewise. Add a comment about not
	using os.path.normpath() to protect a Make variable.

2024-06-14  Bruno Haible  <bruno@clisp.org>

	doc: Update for glibc 2.35.
	* doc/glibc-functions/_dl_find_object.texi: New file.
	* doc/glibc-functions/epoll_pwait2.texi: New file.
	* doc/glibc-functions/posix_spawn_file_actions_addtcsetpgrp_np.texi: New
	file.
	* doc/posix-functions/dfmal.texi: New file.
	* doc/posix-functions/dsqrtl.texi: New file.
	* doc/posix-functions/ffma.texi: New file.
	* doc/posix-functions/ffmal.texi: New file.
	* doc/posix-functions/fmaximum.texi: New file.
	* doc/posix-functions/fmaximum_mag.texi: New file.
	* doc/posix-functions/fmaximum_mag_num.texi: New file.
	* doc/posix-functions/fmaximum_mag_numf.texi: New file.
	* doc/posix-functions/fmaximum_mag_numl.texi: New file.
	* doc/posix-functions/fmaximum_magf.texi: New file.
	* doc/posix-functions/fmaximum_magl.texi: New file.
	* doc/posix-functions/fmaximum_num.texi: New file.
	* doc/posix-functions/fmaximum_numf.texi: New file.
	* doc/posix-functions/fmaximum_numl.texi: New file.
	* doc/posix-functions/fmaximumf.texi: New file.
	* doc/posix-functions/fmaximuml.texi: New file.
	* doc/posix-functions/fminimum.texi: New file.
	* doc/posix-functions/fminimum_mag.texi: New file.
	* doc/posix-functions/fminimum_mag_num.texi: New file.
	* doc/posix-functions/fminimum_mag_numf.texi: New file.
	* doc/posix-functions/fminimum_mag_numl.texi: New file.
	* doc/posix-functions/fminimum_magf.texi: New file.
	* doc/posix-functions/fminimum_magl.texi: New file.
	* doc/posix-functions/fminimum_num.texi: New file.
	* doc/posix-functions/fminimum_numf.texi: New file.
	* doc/posix-functions/fminimum_numl.texi: New file.
	* doc/posix-functions/fminimumf.texi: New file.
	* doc/posix-functions/fminimuml.texi: New file.
	* doc/posix-functions/fsqrt.texi: New file.
	* doc/posix-functions/fsqrtl.texi: New file.
	* doc/gnulib.texi: Include them.

2024-06-14  Bruno Haible  <bruno@clisp.org>

	doc: More updates for glibc 2.34.
	* doc/glibc-functions/ns_name_compress.texi: New file.
	* doc/glibc-functions/ns_name_ntop.texi: New file.
	* doc/glibc-functions/ns_name_pack.texi: New file.
	* doc/glibc-functions/ns_name_pton.texi: New file.
	* doc/glibc-functions/ns_name_skip.texi: New file.
	* doc/glibc-functions/ns_name_uncompress.texi: New file.
	* doc/glibc-functions/ns_name_unpack.texi: New file.
	* doc/gnulib.texi (Glibc arpa/nameser.h): New section.

	doc: More updates for glibc 2.34.
	* doc/glibc-functions/close_range.texi: New file.
	* doc/gnulib.texi: Include it.

2024-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	xsize: port to SIZE_MAX <= INT_MAX
	* lib/xsize.h (xsum): Port to oddball platforms where SIZE_MAX <=
	INT_MAX.  Although no such platform is a current Gnulib porting
	target, it’s easy enough to port to them.

	ssfmalloc-tests: simplify by using sysconf
	* tests/test-ssfmalloc.c (getpagesize) [__hpux]: Remove decl.
	(init_pagesize): Use sysconf instead of getpagesize.

	free-posix-tests, sigsegv-tests: port to plain POSIX
	* tests/test-free.c (main):
	* tests/test-sigsegv-catch-segv1.c, tests/test-sigsegv-catch-segv2.c:
	(SIGSEGV_FAULT_ADDRESS_ROUNDOFF_BITS):
	Use sysconf (_SC_PAGESIZE) instead of getpagesize, as this code is
	compiled only on platforms that have _SC_PAGESIZE and POSIX
	prefers the latter.

	maint: avoid some test getpagesize dependencies
	* modules/memcasecmp-tests, modules/memchr-tests:
	* modules/memchr2-tests, modules/memcmp-tests:
	* modules/memmem-tests, modules/memrchr-tests:
	* modules/rawmemchr-tests, modules/strncat-tests:
	* modules/strnlen-tests, modules/strstr-tests:
	* modules/unistr/u16-chr-tests, modules/unistr/u16-cmp-tests:
	* modules/unistr/u16-stpncpy-tests:
	* modules/unistr/u16-strchr-tests:
	* modules/unistr/u16-strncat-tests:
	* modules/unistr/u16-strncpy-tests:
	* modules/unistr/u16-strnlen-tests, modules/unistr/u32-chr-tests:
	* modules/unistr/u32-cmp-tests, modules/unistr/u32-stpncpy-tests:
	* modules/unistr/u32-strchr-tests:
	* modules/unistr/u32-strncat-tests:
	* modules/unistr/u32-strncpy-tests:
	* modules/unistr/u32-strnlen-tests, modules/unistr/u8-chr-tests:
	* modules/unistr/u8-cmp-tests, modules/unistr/u8-stpncpy-tests:
	* modules/unistr/u8-strchr-tests, modules/unistr/u8-strncat-tests:
	* modules/unistr/u8-strncpy-tests:
	* modules/unistr/u8-strnlen-tests, modules/wcsstr-tests:
	Do not depend on getpagesize.
	* tests/zerosize-ptr.h (zerosize_ptr): Use sysconf (_SC_PAGESIZE)
	instead of getpagesize, as this code is compiled only on
	platforms that have _SC_PAGESIZE.

	mprotect: don’t assume pointers fit in long
	* m4/mprotect.m4 (gl_FUNC_MPROTECT_WORKS): Don’t assume pointers
	fit into unsigned long, as this is not true on CheriBSD.  Prefer
	sysconf (_SC_PAGESIZE) to getpagesize.

	memchr,strncat: prefer sysconf (_SC_PAGESIZE)
	* m4/memchr.m4 (gl_FUNC_MEMCHR):
	* m4/strncat.m4 (gl_FUNC_STRNCAT):
	Use sysconf (_SC_PAGESIZE) instead of getpagesize, as it’s
	in POSIX and there’s no point to worrying about getpagesize
	performance advantages here.

	getcwd: simplify abort bug checking
	* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don’t invoke
	gl_CHECK_FUNC_GETPAGESIZE or #define or use HAVE_GETPAGESIZE.
	Protect ‘bug_possible’ with ‘defined _SC_PAGESIZE’ instead.
	That’s good enough as the buggy platforms all define _SC_PAGESIZE.
	* modules/getcwd (Files): Remove m4/getpagesize.m4.
	* tests/test-getcwd.c (getpagsize): Remove replacement macro.
	(test_abort_bug): Similar fix for ‘bug_possible’.

	getpagesize: remove outdated ref
	* lib/.cppi-disable: Remove getpagesize.h.

	getpagesize: improve doc
	* doc/glibc-functions/getpagesize.texi:
	Mention portability problems not fixed by Gnulib.

2024-06-14  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Reject a width > INT_MAX.
	* lib/vasnprintf.c (VASNPRINTF): If a width is > INT_MAX, fail with
	EOVERFLOW.
	* tests/test-vasnprintf.c: Include <errno.h>.
	(test_function): Test huge widths.
	* tests/test-vasnwprintf.c: Include <errno.h>.
	(test_function): Test huge widths.
	* tests/unistdio/test-u8-asnprintf1.h (test_function): Test huge widths.
	* tests/unistdio/test-u16-asnprintf1.h (test_function): Likewise.
	* tests/unistdio/test-u32-asnprintf1.h (test_function): Likewise.
	* tests/unistdio/test-ulc-asnprintf1.h (test_function): Likewise.
	* tests/unistdio/test-ulc-asnprintf1.c: Include <errno.h>.
	* tests/unistdio/test-ulc-vasnprintf1.c: Likewise.

2024-06-14  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Implement --help and --version for all programs.
	* build-aux/config.libpath (func_usage, func_version, func_fatal_error):
	New functions.
	Add command-line option processing.
	* build-aux/libtool-reloc (func_usage, func_version, func_fatal_error):
	New functions.
	Add command-line option processing.
	* build-aux/reloc-ldflags (func_usage, func_version, func_fatal_error):
	New functions.
	Add command-line option processing.

2024-06-14  Bruno Haible  <bruno@clisp.org>

	relocatable-prog-wrapper: Implement --help, --version for all programs.
	* build-aux/install-reloc (func_usage, func_version, func_fatal_error):
	New functions.
	(progname): Remove variable.
	Add command-line option processing.

2024-06-14  Bruno Haible  <bruno@clisp.org>

	havelib: Implement --help and --version for all programs.
	* build-aux/config.rpath (func_usage, func_version, func_fatal_error):
	New functions.
	Add command-line option processing.

2024-06-14  Bruno Haible  <bruno@clisp.org>

	Improve bug reporting address for some programs.
	* build-aux/declared.sh (func_usage): Change bug reporting address to
	bug-gnulib.
	(func_version): Bump year.
	* build-aux/libtool-next-version (func_usage): Change bug reporting
	address to bug-gnulib.
	* build-aux/run-test (func_usage): Change bug reporting address to
	bug-gnulib.
	(func_version): Bump year.

2024-06-13  Bruno Haible  <bruno@clisp.org>

	Assume wchar_t.
	* lib/stddef.in.h (wchar_t): Remove fallback definition.
	* m4/stddef_h.m4 (gl_STDDEF_H): Don't require gt_TYPE_WCHAR_T. Assume
	gt_cv_c_wchar_t is 'yes'.
	(gl_STDDEF_H_DEFAULTS): Don't initialize HAVE_WCHAR_T.
	* modules/stddef (Files): Remove m4/wchar_t.m4.
	(Makefile.am): Don't substitute HAVE_WCHAR_T.
	* doc/posix-headers/stddef.texi: Don't mention the problem of a missing
	wchar_t.
	--
	* lib/printf-args.h (arg_type): Assume HAVE_WCHAR_T is 1.
	* lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
	* lib/printf-parse.c (PRINTF_PARSE): Likewise.
	* lib/vasnprintf.c: Likewise.
	* m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
	gl_PREREQ_VASNXPRINTF): Don't require gt_TYPE_WCHAR_T.
	* modules/c-vasnprintf (Files): Remove m4/wchar_t.m4.
	* modules/vasnprintf (Files): Likewise.
	* modules/vasnwprintf (Files): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
	* modules/unistdio/u16-vasnprintf (Files): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
	* modules/unistdio/u32-vasnprintf (Files): Likewise.
	* modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
	* modules/unistdio/u8-vasnprintf (Files): Likewise.
	* modules/unistdio/ulc-vasnprintf (Files): Likewise.
	* tests/test-sprintf-posix.h (test_function): Assume HAVE_WCHAR_T is 1.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-vasnprintf-posix.c (test_function): Likewise.
	* tests/test-vasnwprintf-posix.c (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	--
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't require gt_TYPE_WCHAR_T.
	* modules/wcwidth (Files): Remove m4/wchar_t.m4.
	--
	* tests/test-stdint.c: Assume HAVE_WCHAR_T is 1.
	* modules/stdint-tests (Files): Remove m4/wchar_t.m4.
	(configure.ac): Don't require gt_TYPE_WCHAR_T.
	--
	* m4/wchar_t.m4: Remove file.

2024-06-13  Yves Orton  <demerphq@gmail.com>

	gitlog-to-changelog: Ensure that use of keys() is deterministic.
	Reported at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25629>
	via Karl Berry.
	* build-aux/gitlog-to-changelog: Iterate over hash table in a
	predictable order.

2024-06-13  Yves Orton  <demerphq@gmail.com>

	gendocs: Ensure that use of keys() is deterministic.
	Reported at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25629>
	via Karl Berry.
	* build-aux/gendocs.sh (copy_images): Iterate over hash table in a
	predictable order.

2024-06-11  Bruno Haible  <bruno@clisp.org>

	parse-datetime: Revert last commit.
	* modules/parse-datetime (Makefile.am): Remove the '$(srcdir)/' prefix
	from the target. Add a comment.

2024-06-11  Paul Eggert  <eggert@cs.ucla.edu>

	mktempd: use GNU-style -t if available
	This better satisfies Jim Meyering’s point in:
	https://lists.gnu.org/archive/html/bug-gnulib/2016-03/msg00074.html
	that it’s more useful when each temporary test directory name
	includes the corresponding test’s name.
	* build-aux/mktempd: Try mktemp -t only with GNU syntax, so that
	NetBSD mktemp fails.  Also, reject templates beginning with "-" so
	that they are not treated as options.
	* tests/init.sh (mktempd_): Likewise.

2024-06-11  Bruno Haible  <bruno@clisp.org>

	parse-datetime: Add support for VPATH builds with OpenBSD 'make'.
	* modules/parse-datetime (Makefile.am): Prefix the target file name
	with '$(srcdir)/'.

2024-06-11  Collin Funk  <collin.funk1@gmail.com>

	mktempd: Invoke mktemp portably.
	* build-aux/mktempd (mktempd): Don't use -t when invoking mktemp since
	some implementations expect an argument while others do not.

2024-06-11  Bruno Haible  <bruno@clisp.org>

	test-framework-sh: Fix 'returns_' to not turn off tracing permanently.
	* tests/init.sh (returns_): Restore tracing if it was enabled before.

2024-06-11  Paul Eggert  <eggert@cs.ucla.edu>

	maint: avoid duplicate tight-scope work
	* top/maint.mk (_gl_tight_scope): Sort $(SOURCES), to remove
	duplicates and thereby avoid unnecessary work.  Found when testing
	this on GNU diffutils.

2024-06-09  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Handle absolute path checks consistently.
	* pygnulib/GLImport.py (GLImport.relative_to_destdir)
	(GLImport.relative_to_currdir): Use os.path.isabs() instead of checking
	for a slash.
	* pygnulib/constants.py (symlink_relative, as_link_value_at_dest)
	(hardlink): Use os.path.isabs() instead of checking for a slash or drive
	prefix.

2024-06-09  Bruno Haible  <bruno@clisp.org>

	c32width tests: Avoid a test failure on Solaris 11 OpenIndiana, OmniOS.
	* tests/test-c32width.c (main): On Solaris, disable two tests that fail
	on Solaris 11 OpenIndiana and Solaris 11 OmniOS.

2024-06-09  Bruno Haible  <bruno@clisp.org>

	c32ispunct tests: Avoid a test failure on Solaris 11 OmniOS.
	* tests/test-c32ispunct.c (main): On Solaris, disable two tests that
	fail in the zh_CN.GB18030 locale on Solaris 11 OmniOS.

2024-06-09  Bruno Haible  <bruno@clisp.org>

	c32rtomb: Add a sanity check, working around Solaris 11 OmniOS.
	* m4/c32rtomb.m4 (gl_CHECK_FUNC_C32RTOMB): New macro, extracted from
	gl_FUNC_C32RTOMB.
	(gl_C32RTOMB_SANITYCHECK): New macro.
	(gl_FUNC_C32RTOMB): Require gl_CHECK_FUNC_C32RTOMB and
	gl_C32RTOMB_SANITYCHECK. If HAVE_WORKING_C32RTOMB is 0, set
	REPLACE_C32RTOMB.
	* lib/c32rtomb.c (c32rtomb): Together with HAVE_WORKING_MBRTOC32, test
	also HAVE_WORKING_C32RTOMB.
	--
	* m4/mbrtoc32.m4 (gl_PREREQ_MBRTOC32): Require gl_C32RTOMB_SANITYCHECK.
	* lib/mbrtoc32.c (mbrtoc32): Together with HAVE_WORKING_MBRTOC32, test
	also HAVE_WORKING_C32RTOMB.
	* modules/mbrtoc32 (Files): Add m4/c32rtomb.m4.
	--
	* lib/btoc32.c (btoc32): Together with HAVE_WORKING_MBRTOC32, test also
	HAVE_WORKING_C32RTOMB.
	--
	* lib/mbsrtoc32s.c: Together with HAVE_WORKING_MBRTOC32, test also
	HAVE_WORKING_C32RTOMB.
	--
	* lib/mbsnrtoc32s.c: Together with HAVE_WORKING_MBRTOC32, test also
	HAVE_WORKING_C32RTOMB.
	--
	* lib/c32tob.c (c32tob): Together with HAVE_WORKING_MBRTOC32, test also
	HAVE_WORKING_C32RTOMB.
	* modules/c32tob (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	--
	* lib/c32srtombs.c: Together with HAVE_WORKING_MBRTOC32, test also
	HAVE_WORKING_C32RTOMB.
	--
	* lib/c32snrtombs.c: Together with HAVE_WORKING_MBRTOC32, test also
	HAVE_WORKING_C32RTOMB.
	--
	* lib/c32is-impl.h (FUNC): Together with HAVE_WORKING_MBRTOC32, test
	also HAVE_WORKING_C32RTOMB.
	* modules/c32isalnum (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	* modules/c32isalpha (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	* modules/c32isblank (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	* modules/c32iscntrl (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	* modules/c32isdigit (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	* modules/c32isgraph (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	* modules/c32islower (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	* modules/c32isprint (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	* modules/c32ispunct (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	* modules/c32isspace (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	* modules/c32isupper (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	* modules/c32isxdigit (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	--
	* lib/c32to-impl.h (FUNC): Together with HAVE_WORKING_MBRTOC32, test
	also HAVE_WORKING_C32RTOMB.
	* modules/c32tolower (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	* modules/c32toupper (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.
	--
	* lib/c32width.c (c32width): Together with HAVE_WORKING_MBRTOC32, test
	also HAVE_WORKING_C32RTOMB.
	* modules/c32width (Files): Add m4/c32rtomb.m4.
	(configure.ac): Require gl_C32RTOMB_SANITYCHECK.

2024-06-08  Bruno Haible  <bruno@clisp.org>

	c32isblank tests: Avoid test failure on NetBSD 10.0.
	* tests/test-c32isblank.c (main): Disable test of '\f', that fails in
	the fr_FR.UTF-8 locale.

2024-06-08  Bruno Haible  <bruno@clisp.org>

	usleep tests: Avoid failure due to known Cygwin 3.5.3 bug.
	* modules/usleep-tests (Depends-on): Add test-xfail.
	(Makefile.am): Don't test test-usleep on Cygwin.

2024-06-08  Collin Funk  <collin.funk1@gmail.com>

	test-framework-sh: Don't leave temporary directories on NetBSD.
	Reported by Taylor R Campbell <riastradh@NetBSD.org> in
	<https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=58319>
	* tests/init.sh (mktempd_): Don't use mktemp with the -t option as it
	leads to uncleaned temporary directories on NetBSD.

2024-06-07  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask tests: Avoid failure due to known NetBSD 10.0 bug.
	* modules/pthread_sigmask-tests (Depends-on): Add test-xfail.
	(Makefile.am): Don't test test-pthread_sigmask1 on NetBSD.

2024-06-07  Bruno Haible  <bruno@clisp.org>

	sigprocmask tests: Avoid failure due to known NetBSD 10.0 bug.
	* modules/sigprocmask-tests (Depends-on): Add test-xfail.
	(Makefile.am): Don't test test-sigprocmask on NetBSD.

2024-06-07  Bruno Haible  <bruno@clisp.org>

	Update HACKING.
	* HACKING: Mention the new many-platforms continuous integration.

2024-06-07  Bruno Haible  <bruno@clisp.org>

	usleep: Document Cygwin bug.
	* doc/pastposix-functions/usleep.texi: Mention Cygwin 3.5.3 bug.

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

	tzname: document some limitations
	Unfortunately tzname is a vestigial interface that doesn't work
	<https://data.iana.org/time-zones/theory.html#vestigial>.
	It's relatively useless in portable code and is planned	to be removed
	from POSIX <https://austingroupbugs.net/view.php?id=1816>.
	Document this better here.

2024-06-06  Bruno Haible  <bruno@clisp.org>

	nstrftime, c-nstrftime: Support time zone names on MSVC.
	* lib/strftime.c: Use HAVE_TZNAME_ARRAY instead of HAVE_TZNAME.
	(tzname): Remove declaration.
	* modules/nstrftime (Depends-on): Add tzname.
	* modules/c-nstrftime (Depends-on): Likewise.
	* m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't require
	AC_STRUCT_TIMEZONE.
	* m4/c-nstrftime.m4 (gl_C_GNU_STRFTIME): Likewise.

2024-06-06  Bruno Haible  <bruno@clisp.org>

	parse-datetime: Support time zone names on MSVC.
	* lib/parse-datetime.y (parse_datetime_body): Use HAVE_TZNAME_ARRAY
	instead of HAVE_TZNAME. Don't declare tzname.
	* modules/parse-datetime (Depends-on): Add tzname.
	* m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don't invoke
	AC_STRUCT_TIMEZONE.

2024-06-06  Bruno Haible  <bruno@clisp.org>

	time_rz: Support time zone names on MSVC.
	* lib/time-internal.h: Use HAVE_TZNAME_ARRAY instead of HAVE_TZNAME.
	* lib/time_rz.c (tzalloc, save_abbr, mktime_z): Likewise.
	* modules/time_rz (Depends-on): Add tzname.
	* m4/time_rz.m4 (gl_TIME_RZ): Don't require AC_STRUCT_TIMEZONE.

2024-06-06  Bruno Haible  <bruno@clisp.org>

	tzname: Add tests.
	* tests/test-tzname.c: New file.
	* modules/tzname-tests: New file.

	tzname: New module.
	* lib/time.in.h (tzname): New declaration.
	* m4/tzname.m4: New file.
	* m4/time_h.m4 (gl_TIME_H_REQUIRE_DEFAULTS): Initialize GNULIB_TZNAME.
	* modules/time-h (Makefile.am): Substitute GNULIB_TZNAME.
	* modules/tzname: New file.
	* doc/posix-functions/tzname.texi: Mention the new module.

2024-06-06  Bruno Haible  <bruno@clisp.org>

	tzname, daylight, timezone: Update documentation.
	* doc/posix-functions/tzname.texi: Update info about native Windows.
	* doc/posix-functions/daylight.texi: Update info about OpenBSD, Cygwin,
	native Windows.
	* doc/posix-functions/timezone.texi: Update info about FreeBSD, OpenBSD,
	native Windows.

2024-06-06  Bruno Haible  <bruno@clisp.org>

	acl-permissions: Fix test-file-has-acl-2.sh failure on Cygwin.
	* lib/acl-internal.c (acl_access_nontrivial): On Cygwin, ignore also
	group:Users:* entries.

2024-06-05  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't perform unnecessary configure.ac scanning.
	* pygnulib/GLImport.py (GLImport.execute): Use re.search() instead of
	re.findall() since we only care about finding one match. Remove
	unnecessary bool() calls.

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

	setenv: On native Windows, don't modify _environ directly.
	* m4/setenv.m4 (gl_PREREQ_SETENV): Check for _putenv.
	* lib/setenv.c: On native Windows, include <windows.h> and define
	SetEnvironmentVariable.
	(setenv) [HAVE_DECL__PUTENV]: New implementation for platforms with
	_putenv.
	* modules/setenv (Depends-on): Add malloc-posix.

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

	unsetenv: On native Windows, don't modify _environ directly.
	* m4/setenv.m4 (gl_PREREQ_UNSETENV): Check for _putenv.
	* lib/unsetenv.c (unsetenv): Add native Windows handling, from
	lib/putenv.c.
	* modules/unsetenv (Depends-on): Add free-posix, malloc-posix.
	* m4/putenv.m4 (gl_FUNC_PUTENV): Use AC_CHECK_DECLS_ONCE.
	* lib/putenv.c (_unsetenv): Moved to lib/unsetenv.c.
	(putenv): Invoke unsetenv instead of _unsetenv.
	* modules/putenv-gnu (Depends-on): Add unsetenv.

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

	putenv: Don't crash upon out-of-memory.
	* lib/putenv.c (_unsetenv): Handle malloc failure.

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

	putenv: Improve comments.
	* lib/putenv.c (_unsetenv, putenv): Improve comments regarding native
	Windows.

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

	setenv: Modernize.
	* lib/setenv.c (__add_to_environ): Remove unnecessary casts.

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

	nstrftime: Make %c work on native Windows again, part 2.
	* lib/strftime.c (__strftime_internal): Fix typo in my previous commit.

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

	nstrftime: don’t assume <locale.h>
	* lib/strftime.c: Include <locale.h> only if needed, since Emacs
	attempts to be portable to platforms lacking <locale.h> so it
	avoids localename-unsafe-limited and defines
	REQUIRE_GNUISH_STRFTIME_AM_PM to false.

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

	nstrftime: Make %c work on native Windows again.
	* lib/strftime.c: Include <locale.h> always. Include <wchar.h> on native
	Windows.
	(__strftime_internal): On native Windows, inspect the locale name like
	hard_locale would do.
	* modules/nstrftime (Link): Remove section.
	* tests/test-nstrftime.h (locales_test): Disallow alternative that is
	not culturally acceptable for French.

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

	endian: port better to Android NDK r26
	* lib/endian.in.h (be16toh, be32toh, be64toh, htobe16, htobe32)
	(htobe64, le16toh, le32toh, le64toh, htole16, htole32, htole64):
	When @HAVE_ENDIAN_H@, define each NAME to rpl_NAME so that they
	don’t interact incorrectly with system-defined implementations.
	Problem reported by Po Lu for Android NDK r26 in:
	https://lists.gnu.org/r/bug-gnulib/2024-06/msg00040.html
	and this patch is an updated version of Collin Funk’s patch in:
	https://lists.gnu.org/r/bug-gnulib/2024-06/msg00041.html

2024-06-04  Collin Funk  <collin.funk1@gmail.com>

	boot-time, readutmp: Fix missing MinGW include (regr. 2024-05-24).
	Reported by Eli Zaretskii in:
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-06/msg00044.html>.
	* lib/boot-time.c [_WIN32 && !__CYGWIN__]: Remove unnecessary
	<sysinfoapi.h> include. Some systems do not have this header and
	<windows.h> should have the correct declarations.
	* lib/readutmp.c [_WIN32 && !__CYGWIN__]: Likewise.

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

	nstrftime: remove dependency on hard-locale
	GNU Emacs would rather keep dependencies to a minimum,
	and hard-locale brings in some other stuff.
	* lib/strftime.c: Include locale.h only if (USE_C_LOCALE &&
	HAVE_STRFTIME_L) || ((defined __NetBSD__ || defined __sun) &&
	REQUIRE_GNUISH_STRFTIME_AM_PM). Do not include hard-locale.h.
	(__strftime_internal): On native MS-Windows, use the C locale %c
	format regardless of language.  I hope that’s good enough.
	If not, let’s try to think of a way of solving the problem
	that doesn’t require using hard_locale.
	* modules/nstrftime (Depends-on): Remove hard-locale.
	* modules/nstrftime-tests (test_nstrftime_LDADD):
	Remove $(HARD_LOCALE_LIB).
	* tests/test-nstrftime.h (locales_test):
	Add a test that I hope works on French MS-Windows.

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

	ieee754-h: port to Android NDK r26
	Problem reported by Po Lu in:
	https://lists.gnu.org/r/bug-gnulib/2024-06/msg00015.html
	* lib/ieee754.in.h (_IEEE754_BYTE_ORDER, _IEEE754_BIG_ENDIAN)
	(_IEEE754_LITTLE_ENDIAN, _IEEE754_FLOAT_WORD_ORDER): New macros.
	All uses of __BYTE_ORDER, __BIG_ENDIAN, __LITTLE_ENDIAN,
	__FLOAT_WORD_ORDER changed to use these new macros.
	[!_GL_GNULIB_HEADER]: Include bits/endian.h, not endian.h,
	as that’s what glibc does now.
	[_GL_GNULIB_HEADER]: Include endian.h instead of rolling our own.
	(__BEGIN_DECLS, __END_DECLS): Remove.  All uses replaced
	by definiens.
	* modules/ieee754-h (Depends-on): Add endian.

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

	readlinkat: Work around a Cygwin 3.3.6 bug.
	* m4/readlinkat.m4 (gl_FUNC_READLINKAT): Set REPLACE_READLINKAT to 1 on
	Cygwin.
	* lib/readlinkat.c (rpl_readlinkat): On Cygwin, for /dev/* files, don't
	return results that start with a backslash.
	* doc/posix-functions/readlinkat.texi: Mention the Cygwin bug.

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

	readlink: Work around a Cygwin 3.3.6 bug.
	* m4/readlink.m4 (gl_FUNC_READLINK): Set REPLACE_READLINK to 1 on Cygwin.
	* lib/readlink.c (rpl_readlink): On Cygwin, for /dev/* files, don't
	return results that start with a backslash.
	* tests/test-readlink.h (test_readlink): Add a test of /dev/null.
	* tests/test-canonicalize-lgpl.c (main): Likewise.
	* tests/test-canonicalize.c (main): Likewise.
	* doc/posix-functions/readlink.texi: Mention the Cygwin bug.

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

	flock tests: Don't expect a failure on native Windows.
	* modules/flock-tests (Depends-on): Add test-xfail.
	(Makefile.am): Don't augment XFAIL_TESTS on native Windows.

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

	nstrftime, c-nstrftime tests: Avoid some failures on native Windows.
	* tests/test-nstrftime.h (TZ): Use time zone names that are supported by
	native Windows.
	(LT): Disable two more tests on native Windows.

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

	attribute: improve comments
	* lib/attribute.h: Update comments to better reflect what
	GCC actually does with pure and const functions.

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

	acl-permissions: Fix test-file-has-acl-2.sh failure on Cygwin.
	* lib/acl-internal.c: Include <sys/types.h>, <grp.h>, <string.h>.
	(acl_access_nontrivial): On Cygwin, ignore group:SYSTEM:*,
	group:Administrators:*, mask::* entries.
	* doc/acl-resources.txt: Add one more reference.

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

	dprintf-posix tests: Skip the memory leak test on macOS.
	* tests/test-dprintf-posix2.c: Skip the test on macOS.
	(main): Return a different exit code at each point. Allow 100 KB extra
	memory consumption.
	* tests/test-dprintf-posix2.sh: Update.

2024-06-03  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Use a set to optimize.
	* pygnulib/GLModuleSystem.py
	(GLModule.getAutomakeSnippet_Unconditional): Call set() on the result of
	_extract_lib_SOURCES() to ensure computing the difference between
	another set is O(n).

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

	pthread-* tests, regex tests: Prepare for use of 'alarm'.
	* modules/pthread-cond-tests (configure.ac): Test whether 'alarm' is
	declared.
	* modules/pthread-mutex-tests (configure.ac): Likewise.
	* modules/pthread-once-tests (configure.ac): Likewise.
	* modules/pthread-rwlock-tests (configure.ac): Likewise.
	* modules/pthread-tss-tests (configure.ac): Likewise.
	* modules/regex-tests (configure.ac): Likewise.

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

	mtx tests: Fix a possible link error.
	* modules/mtx-tests (Files): Add m4/semaphore.m4.
	(configure.ac): Require gl_SEMAPHORE.
	(Makefile.am): Link test-mtx with @LIB_SEMAPHORE@.

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

	pthread-mutex, pthread-rwlock: Fix a compilation error.
	* modules/pthread-mutex-tests (Files): Add m4/semaphore.m4.
	(configure.ac): Check for semaphore.h. Require gl_SEMAPHORE.
	* modules/pthread-rwlock-tests (Files): Add m4/semaphore.m4.
	(configure.ac): Check for semaphore.h. Require gl_SEMAPHORE.

2024-06-02  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Refactor duplicated regular expressions.
	* pygnulib/GLModuleSystem.py (_LIB_SOURCES_PATTERN): New variable.
	(_extract_lib_SOURCES): New function.
	(GLModule.getAutomakeSnippet_Unconditional): Use the new function.
	(GLModuleTable.add_dummy): Likewise. Add a second break statement to
	stop unnecessary looping.

2024-06-02  Bruno Haible  <bruno@clisp.org>

	c-strtod, c-strtof, c-strtold: Fix link error on AIX.
	* lib/c-strtod.c (newlocale): Undefine before use.

2024-06-02  Bruno Haible  <bruno@clisp.org>

	totalorder*: Avoid compilation error by IBM XL C compiler.
	* tests/test-totalorder.h (main) [__IBMC__]: Skip the test.
	* tests/test-totalordermag.h (main) [__IBMC__]: Likewise.

2024-06-02  Bruno Haible  <bruno@clisp.org>

	isnanf, isnand, isnanl: Fix link errors on AIX 7.1 with xlc.
	* lib/isnanf-nolibm.h (HAVE_ISNANF_NOLIBM): New macro.
	* lib/isnand-nolibm.h (HAVE_ISNAND_NOLIBM): New macro.
	* lib/isnanl-nolibm.h (HAVE_ISNANL_NOLIBM): New macro.
	* lib/math.h (isnanf): Don't define via isnan if HAVE_ISNANF_NOLIBM is
	defined.
	(isnand): Don't define via isnan if HAVE_ISNAND_NOLIBM is defined.
	(isnanl): Don't define via isnan if HAVE_ISNANL_NOLIBM is defined.

2024-06-02  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix regular expression (regr. today).
	* pygnulib/main.py (main) [import]: Match all characters until '#' or
	end of line, whichever comes first.

	gnulib-tool.py: Fix crash when no ACLOCAL_AMFLAGS is found.
	* pygnulib/main.py (main) [import]: Use a regular expression to match
	the ACLOCAL_AMFLAGS Makefile.am variable. Properly handle the case where
	none is found.

2024-05-31  Bruno Haible  <bruno@clisp.org>

	windows-once: Improve comments.
	* lib/windows-once.c (glwthread_once): Mention the 'started' field in
	the comments.

	windows-once: Fix race (regression yesterday).
	* lib/windows-once.h (glwthread_once_t): Change type of inited to LONG.
	* lib/windows-once.c (glwthread_once): Increment inited from 1 to 2, to
	ensure that DeleteCriticalSection gets invoked only once.

	windows-once: Simplify.
	* lib/windows-once.c (glwthread_once): Use InterlockedCompareExchange
	instead of InterlockedIncrement.

2024-05-31  Bruno Haible  <bruno@clisp.org>

	pthread-once: Fix race in Cygwin workaround implementation.
	* lib/pthread-once.c (pthread_once): Test the 'done' word after
	incrementing num_threads. Make sure to invoke pthread_mutex_destroy
	only once.

	pthread-once: Simplify Cygwin workaround implementation.
	* lib/pthread-once.c (pthread_once): Use separate 16-bit words to store
	the parts of the state.

	pthread-once: Simplify Cygwin workaround implementation.
	* lib/pthread-once.c (pthread_once): Use _Atomic instead of __sync_*
	gcc primitives.

2024-05-30  Bruno Haible  <bruno@clisp.org>

	assert-h, verify: Fix compilation error with g++ (4.8.5) -std=gnu++11.
	Reported by Harmen <harmen@stoppels.ch> at
	<https://savannah.gnu.org/bugs/index.php?65811>.
	* lib/verify.h (static_assert): In C++ mode with g++ < 6 and
	-std=gnu++11, define in a way that supports also the 1-argument
	invocations and the invocations inside C++ struct and class.

2024-05-30  Collin Funk  <collin.funk1@gmail.com>

	endian: Unquote variables that are always defined.
	* m4/endian.m4 (gl_ENDIAN_H): Unquote $ac_cv_header_endian_h and
	$GL_GENERATE_ENDIAN_H.

2024-05-30  Bruno Haible  <bruno@clisp.org>

	attribute: Try harder to avoid syntax errors.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Define
	_GL_ATTRIBUTE_REPRODUCIBLE and _GL_ATTRIBUTE_UNSEQUENCED to empty if
	_GL_BRACKET_BEFORE_ATTRIBUTE is defined.

2024-05-30  Bruno Haible  <bruno@clisp.org>

	attribute: Improve comments.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Mention each macro name at the
	beginning of its commentary.

2024-05-30  Collin Funk  <collin.funk1@gmail.com>

	endian: Quote variables that may be undefined (regr. 2024-05-18).
	* m4/endian_h.m4 (gl_ENDIAN_H): Quote variables that are undefined on
	some systems or may be defined by the user.

2024-05-30  Bruno Haible  <bruno@clisp.org>

	call_once: Work around Cygwin 3.5.3 bug.
	* m4/call_once.m4 (gl_FUNC_CALL_ONCE): Require AC_CANONICAL_HOST.
	On Cygwin, set REPLACE_CALL_ONCE to 1.
	* lib/call_once.c (call_once): On Cygwin, use a cast, to avoid a
	compiler warning.
	* modules/call_once (Depends-on): Add pthread-once.
	* doc/posix-functions/call_once.texi: Mention the Cygwin bug.

2024-05-30  Bruno Haible  <bruno@clisp.org>

	windows-once: Free allocated resources when done.
	Based on an observation regarding Cygwin's pthread_once implementation
	by Takashi Yano <takashi.yano@nifty.ne.jp> at
	<https://cygwin.com/pipermail/cygwin/2024-January/255182.html> and
	<https://cygwin.com/pipermail/cygwin-patches/2024q1/012600.html>
	* lib/windows-once.h (glwthread_once_t): Add field 'num_threads'.
	(GLWTHREAD_ONCE_INIT): Initialize it to zero.
	* lib/windows-once.c (glwthread_once): Increment num_threads while the
	thread uses the lock. Let the last thread that uses the lock destroy it.

2024-05-29  Bruno Haible  <bruno@clisp.org>

	call_once tests: Fix link error on mingw.
	* modules/call_once-tests (Depends-on): Add mtx.

2024-05-29  Bruno Haible  <bruno@clisp.org>

	mbfile tests: Avoid test failure on mingw.
	* tests/test-mbfile.c: Include <string.h>, localcharset.h.
	(main): Verify that setlocale() has installed an UTF-8 locale.
	* modules/mbfile-tests (Depends-on): Add localcharset.

2024-05-29  Bruno Haible  <bruno@clisp.org>

	pthread-once tests: Fix crash on mingw.
	* modules/pthread-once-tests (Depends-on): Add pthread-rwlock.

2024-05-29  Bruno Haible  <bruno@clisp.org>

	lock: Work around Cygwin 3.5.3 bug.
	* modules/lock (Depends-on): Add pthread-once.

2024-05-29  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't emit non-ASCII shell output (regr. yesterday).
	Reported by Bruno Haible in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00441.html>.
	* pygnulib/GLModuleSystem.py (GLModule.shell_id_chars): Use the re.ASCII
	flag for the regular expression.

2024-05-28  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Add missing docstring.
	* pygnulib/GLModuleSystem.py (GLModule.getShellId): Add docstring
	forgotten in the previous commit.

	gnulib-tool.py: Simplify creation of module shell ids.
	* pygnulib/GLModuleSystem.py (GLModule.shell_id_chars): Remove class
	variable.
	(GLModule.shell_id_pattern): New class variable.
	(GLModule.getShellId): New function.
	(GLModule.getShellFunc, GLModule.getShellVar)
	(GLModule.getConditionalName): Use it.

2024-05-28  Bruno Haible  <bruno@clisp.org>

	pthread-once: Work around Cygwin 3.5.3 bug.
	* m4/pthread-once.m4 (gl_PTHREAD_ONCE): On Cygwin, set
	REPLACE_PTHREAD_ONCE to 1.
	* lib/pthread-once.c (pthread_once): Add an implementation for Cygwin.
	* doc/posix-functions/pthread_once.texi: Mention the Cygwin bug.

2024-05-28  Paul Eggert  <eggert@cs.ucla.edu>

	attribute: const/pure defaults to unsequenced/reproducible
	Also, update the commentary to reflect the fact that unsequenced
	and reproducible functions can inspect and update storage
	addressed by their arguments, and clarify the business about
	returning once, and about REPRODUCIBLE and UNSEQUENCED applying to
	pointers to functions and to function types.  It’s not clear that
	we should encourage the use of REPRODUCIBLE and UNSEQUENCED yet,
	as the support is not there and the likely benefits are small.
	* m4/gnulib-common.m4 (_GL_ATTRIBUTE_CONST): Default to
	_GL_ATTRIBUTE_UNSEQUENCED if the const attribute is lacking,
	as every const function is also unsequenced.
	(_GL_ATTRIBUTE_PURE): Similarly, default to _GL_ATTRIBUTE_REPRODUCIBLE
	as every pure function is reproducible.

2024-05-27  Collin Funk  <collin.funk1@gmail.com>

	maint.mk: Update system header list for #include syntax checks.
	* top/maint.mk (gl_prefer_angle_bracket_headers_): Add byteswap.h,
	endian.h, and stdbit.h.

	doc: Mention byteswap.h as a system header.
	* doc/gnulib-tool.texi (Style of #include statements): Add byteswap.h.

2024-05-27  Bruno Haible  <bruno@clisp.org>

	nstrftime, c-nstrftime tests: Avoid test failures on native Windows.
	* doc/posix-functions/tzset.texi: Add a reference.
	* tests/test-nstrftime.h (TZ): Use time zone names that are supported by
	native Windows.
	(LT): Disable a test of New Zealand DST.

2024-05-27  Bruno Haible  <bruno@clisp.org>

	nstrftime, c-nstrftime tests: Avoid some failures on native Windows.
	* tests/test-nstrftime.h (tzalloc_test): On native Windows, ignore
	differences in the way the time zone is printed.

2024-05-27  Bruno Haible  <bruno@clisp.org>

	nstrftime, c-nstrftime: Make %r work on native Windows.
	* doc/posix-functions/strftime.texi: Mention the %r problem.
	* lib/strftime.c (__strftime_internal): On native Windows, for %r, use
	the English AM/PM format.

2024-05-27  Bruno Haible  <bruno@clisp.org>

	nstrftime, c-nstrftime: Make %h work on native Windows.
	* doc/posix-functions/strftime.texi: Mention the %h problem.
	* lib/strftime.c (__strftime_internal): On native Windows, for %h, do a
	%b directive.

2024-05-27  Bruno Haible  <bruno@clisp.org>

	nstrftime, c-nstrftime: Make %c work on native Windows.
	* doc/posix-functions/strftime.texi: Mention the %c problem.
	* lib/strftime.c: Include <locale.h> always. Include hard-locale.h.
	(__strftime_internal): For %c, use a subformat that contains the weekday
	name (or abbrev.) and the month name (or abbrev.).
	* modules/nstrftime (Depends-on): Add hard-locale.
	(Link): New section.
	* modules/nstrftime-tests (Makefile.am): Link test-nstrftime with
	$(HARD_LOCALE_LIB).

2024-05-27  Bruno Haible  <bruno@clisp.org>

	tests: Fix internationalization problems on native Windows.
	* doc/posix-functions/setlocale.texi: Clarify the deficiency of
	setlocale() on native Windows.
	* modules/c-nstrftime-tests (Depends-on): Add setlocale.
	* modules/dfa-tests (Depends-on): Likewise.
	* modules/hard-locale-tests (Depends-on): Likewise.
	* modules/localcharset-tests (Depends-on): Likewise.
	* modules/nstrftime-tests (Depends-on): Likewise.

2024-05-27  Bruno Haible  <bruno@clisp.org>

	nstrftime, c-nstrftime tests: Improve debuggability.
	* tests/test-nstrftime.h (posixtm_test, tzalloc_test, quarter_test,
	errno_test, locales_test): Flush output after every printf invocation.

2024-05-27  Bruno Haible  <bruno@clisp.org>

	parse-datetime tests: Avoid failure on native Windows.
	* tests/test-parse-datetime.c (SOME_TIMEPOINT): New macro.
	(main): Use it. On native Windows, use Windows time zone names.
	Invoke tzset() after setting TZ.
	* doc/posix-functions/gmtime.texi: Mention the native Windows problem.
	* doc/posix-functions/localtime.texi: Likewise.

2024-05-27  Bruno Haible  <bruno@clisp.org>

	tests: Don't test on the broken NetBSD 10.0 zh_CN.GB18030 locale.
	* tests/test-mbrtowc.c (main): Add tests for one-by-one input in the
	UTF-8 and GB18030 encodings.
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Add a sanity check with mbrtowc.

2024-05-27  Bruno Haible  <bruno@clisp.org>

	attribute: Support ISO C 23 [[reproducible]] and [[unsequenced]].
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_ATTR_reproducible,
	_GL_ATTR_unsequenced, _GL_ATTRIBUTE_REPRODUCIBLE,
	_GL_ATTRIBUTE_UNSEQUENCED.
	* lib/attribute.h (UNSEQUENCED, REPRODUCIBLE): New macros.

2024-05-25  Bruno Haible  <bruno@clisp.org>

	euidaccess: Fix test failure on native Windows.
	* lib/euidaccess.c: Don't include <io.h>.
	(euidaccess): On native Windows, invoke access, not _access.

2024-05-25  Bruno Haible  <bruno@clisp.org>

	mcel tests: Avoid test failures due to broken GB18030 converter.
	* tests/test-mcel.c (main): Skip most GB18030 tests on platforms where
	the GB18030 converter is known to be broken.

2024-05-25  Bruno Haible  <bruno@clisp.org>

	mcel tests: Fix typo.
	* tests/test-mcel.c (main): Increment j instead of i.

2024-05-25  Bruno Haible  <bruno@clisp.org>

	uchar-c23: Speed up mbrtoc32 on Solaris 11.4.
	* lib/lc-charset-unicode.c (get_converters): Cache the return value.

2024-05-25  Bruno Haible  <bruno@clisp.org>

	tests: Refactor.
	* tests/test-inttostr.c (main): Report SKIP in the 'if' branch.
	* tests/test-quotearg.c (main): Likewise.

2024-05-25  Bruno Haible  <bruno@clisp.org>

	tests: Before declaring a SKIP, test if there were ASSERT failures.
	* HACKING: Document idiom to use with test_exit_status.
	* tests/test-c32isalnum.c (main): If there were ASSERT failures, report
	them instead of declaring SKIP.
	* tests/test-c32isalpha.c (main): Likewise.
	* tests/test-c32isblank.c (main): Likewise.
	* tests/test-c32iscntrl.c (main): Likewise.
	* tests/test-c32isdigit.c (main): Likewise.
	* tests/test-c32isgraph.c (main): Likewise.
	* tests/test-c32islower.c (main): Likewise.
	* tests/test-c32isprint.c (main): Likewise.
	* tests/test-c32ispunct.c (main): Likewise.
	* tests/test-c32isspace.c (main): Likewise.
	* tests/test-c32isupper.c (main): Likewise.
	* tests/test-c32isxdigit.c (main): Likewise.
	* tests/test-c32rtomb.c (main): Likewise.
	* tests/test-c32rtomb-w32.c (main): Likewise.
	* tests/test-c32snrtombs.c (main): Likewise.
	* tests/test-c32srtombs.c (main): Likewise.
	* tests/test-c32stombs.c (main): Likewise.
	* tests/test-c32tolower.c (main): Likewise.
	* tests/test-c32toupper.c (main): Likewise.
	* tests/test-canonicalize.c (main): Likewise.
	* tests/test-canonicalize-lgpl.c (main): Likewise.
	* tests/test-duplocale.c (main): Likewise.
	* tests/test-fbufmode.c (main): Likewise.
	* tests/test-fenv-except-state-3.c (main): Likewise.
	* tests/test-fenv-except-trapping-1.c (main): Likewise.
	* tests/test-fenv-except-trapping-2.c (main): Likewise.
	* tests/test-fnmatch.c (main): Likewise.
	* tests/test-fnmatch-w32.c (main): Likewise.
	* tests/test-fpurge.c (main): Likewise.
	* tests/test-freadable.c (main): Likewise.
	* tests/test-fseek.c (main): Likewise.
	* tests/test-fseeko.c (main): Likewise.
	* tests/test-ftell.c (main): Likewise.
	* tests/test-ftell3.c (main): Likewise.
	* tests/test-ftello.c (main): Likewise.
	* tests/test-ftello3.c (main): Likewise.
	* tests/test-fwritable.c (main): Likewise.
	* tests/test-fwriting.c (main): Likewise.
	* tests/test-getrandom.c (main): Likewise.
	* tests/test-mbrlen-w32.c (main): Likewise.
	* tests/test-mbrtoc16.c (main): Likewise.
	* tests/test-mbrtoc16-w32.c (main): Likewise.
	* tests/test-mbrtoc32.c (main): Likewise.
	* tests/test-mbrtoc32-w32.c (main): Likewise.
	* tests/test-mbrtowc-w32.c (main): Likewise.
	* tests/test-mbsnrtoc32s.c (main): Likewise.
	* tests/test-mbsrtoc32s.c (main): Likewise.
	* tests/test-mbstoc32s.c (main): Likewise.
	* tests/test-nl_langinfo2.c (main): Likewise.
	* tests/test-nstrftime.c (main): Likewise.
	* tests/test-passfd.c (main): Likewise.
	* tests/test-posix_spawn-script.c (main): Likewise.
	* tests/test-posix_spawnp-script.c (main): Likewise.
	* tests/test-ptsname.c (main): Likewise.
	* tests/test-ptsname_r.c (main): Likewise.
	* tests/test-remove.c (main): Likewise.
	* tests/test-strfmon_l.c (main): Likewise.
	* tests/test-utime.c (main): Likewise.
	* tests/test-wcrtomb-w32.c (main): Likewise.
	* tests/test-execute-script.c (main): Obey CONTINUE_AFTER_ASSERT better.
	* tests/test-spawn-pipe-script.c (main): Likewise.
	* tests/test-linkat.c (main): Use the common idiom.

2024-05-25  Collin Funk  <collin.funk1@gmail.com>

	byteswap tests: Verify header can be used from C++.
	* modules/byteswap-c++-tests: New file.
	* tests/test-byteswap-c++.cc: New file.
	* modules/byteswap-tests (Depends-on): Add byteswap-c++-tests.

2024-05-24  Collin Funk  <collin.funk1@gmail.com>

	readutmp: Fix dependencies.
	* modules/readutmp (Depends-on): Add gettimeofday.

	boot-time, readutmp: Add a Native Windows boot time fallback.
	* lib/boot-time-aux.h (initialize, get_windows_boot_time_fallback): New
	functions.
	* lib/boot-time.c [_WIN32 && !__CYGWIN__]: Include Windows headers and
	<sys/time.h>.
	(get_boot_time_uncached): Use the fallback.
	* lib/readutmp.c [_WIN32 && !__CYGWIN__]: Include Windows headers and
	<sys/time.h>.
	(read_utmp_from_file): Use the fallback.
	* modules/boot-time (Depends-on): Add gettimeofday.

2024-05-24  Bruno Haible  <bruno@clisp.org>

	putenv tests: Put the putenv() argument strings into writable memory.
	* tests/test-putenv.c (main): Declare static variables of type 'char[]',
	not 'char *'.

2024-05-24  Bruno Haible  <bruno@clisp.org>

	mbrtoc32 tests: Avoid failure on Solaris 11.4 (regression yesterday).
	* tests/test-mbrtoc32.c (main): Conditionalize an assertion with
	GL_CHAR32_T_IS_UNICODE.

2024-05-23  Collin Funk  <collin.funk1@gmail.com>

	putenv tests: Silence -Wanalyzer-putenv-of-auto-var.
	* tests/test-putenv.c (main): Declare static variables to pass to
	putenv.

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

	POSIX.1-2024 has been approved
	It hasn’t been published yet, so just fix documentation talking
	about “draft” POSIX, about particular POSIX versions, etc.
	More work will need to be done once it’s published on the web,
	to update URLs, and better document new and changed interfaces.

2024-05-23  Bruno Haible  <bruno@clisp.org>

	mbrtoc32: Strengthen tests.
	* tests/test-mbrtoc32.c (main): Add tests for one-by-one input in the
	UTF-8 and GB18030 encodings.

	mbrtoc32: Work around bug in Cygwin 3.5.3.
	* m4/mbrtoc32.m4 (gl_MBRTOC32_UTF8_LOCALE): New macro.
	(gl_FUNC_MBRTOC32): Invoke it. If mbrtoc32 has this bug, define
	MBRTOC32_MULTIBYTE_LOCALE_BUG and reset LOCALE_ZH_CN to 'none'.
	* lib/mbrtoc32.c (mbrtoc32): Test MBRTOC32_MULTIBYTE_LOCALE_BUG.
	* doc/posix-functions/mbrtoc32.texi: Mention the Cygwin bug.

2024-05-23  Bruno Haible  <bruno@clisp.org>

	sethostname tests: Avoid test failure on Cygwin.
	* tests/test-sethostname2.c (main): On Cygwin, skip the "too long
	hostname" test.
	* doc/glibc-functions/sethostname.texi: Mention the Cygwin problem.

2024-05-23  Bruno Haible  <bruno@clisp.org>

	access, euidaccess tests: Avoid test failures on Cygwin.
	* tests/test-access.h (test_access): On Cygwin, don't test for the
	absence of the W_OK permission.

2024-05-23  Bruno Haible  <bruno@clisp.org>

	c32is*, c32toupper tests: Avoid test failures on Cygwin.
	* tests/test-c32isalpha.c (main): Disable tests that fail on
	Cygwin 3.5.3.
	* tests/test-c32iscntrl.c (main): Likewise.
	* tests/test-c32isgraph.c (main): Likewise.
	* tests/test-c32islower.c (main): Likewise.
	* tests/test-c32isprint.c (main): Likewise.
	* tests/test-c32ispunct.c (main): Likewise.
	* tests/test-c32toupper.c (main): Likewise.

2024-05-23  Bruno Haible  <bruno@clisp.org>

	poll tests: Avoid test failure on Cygwin.
	* tests/test-poll.c (test_pipe): Disable the POLLHUP check also on
	Cygwin.
	* doc/posix-functions/poll.texi: Mention also Cygwin w.r.t. POLLHUP.

2024-05-23  Bruno Haible  <bruno@clisp.org>

	passfd tests: Mark as expected failure on Cygwin.
	* tests/test-passfd.c (main): Always fail on Cygwin.
	* modules/passfd-tests (Depends-on): Add test-xfail.
	(Makefile.am): Expect that test-passfd fails on Cygwin.

2024-05-23  Bruno Haible  <bruno@clisp.org>

	renameatu: Work around Cygwin 3.4.6 bug.
	* m4/renameat.m4 (gl_FUNC_RENAMEAT): Test whether renameat2 works, and
	define HAVE_WORKING_RENAMEAT2 if so.
	* lib/renameatu.c (renameatu): Test HAVE_WORKING_RENAMEAT2 instead of
	HAVE_RENAMEAT2.
	* doc/glibc-functions/renameat2.texi: Mention the Cygwin bug.

2024-05-23  Bruno Haible  <bruno@clisp.org>

	readlinkat, areadlinkat: Avoid test failures on Cygwin 3.4.6.
	* tests/test-readlink.h (test_readlink): For an empty file name, allow
	errno == EBADF.
	* tests/test-areadlink.h (test_areadlink): Likewise.

2024-05-23  Bruno Haible  <bruno@clisp.org>

	doc: Small updates regarding Cygwin.
	* doc/glibc-functions/fallocate.texi: Update for Cygwin 3.5.x.
	* doc/posix-functions/c8rtomb.texi: Likewise.
	* doc/posix-functions/c16rtomb.texi: Likewise.
	* doc/posix-functions/c32rtomb.texi: Likewise.
	* doc/posix-functions/lseek.texi: Likewise.
	* doc/posix-functions/mbrtoc8.texi: Likewise.
	* doc/posix-functions/mbrtoc16.texi: Likewise.
	* doc/posix-functions/mbrtoc32.texi: Likewise.
	* doc/posix-functions/posix_spawnp.texi: Likewise.

2024-05-22  Bruno Haible  <bruno@clisp.org>

	iconv: Reject the broken macOS 14.4 iconv implementation.
	Reported by Daniel Collins <solemnwarning@solemnwarning.net> at
	<https://savannah.gnu.org/bugs/?65686>.
	* m4/iconv.m4 (AM_ICONV_LINK): In the test "for working iconv", test
	against the macOS 14.4 iconv bug.
	* doc/posix-functions/iconv.texi: Document the bug.

2024-05-22  Bruno Haible  <bruno@clisp.org>

	stdlib: Handle glibc special invocation conventions correctly.
	* lib/stdlib.in.h: Undefine __need_malloc_and_calloc after doing the
	#include_next <stdlib.h>.

2024-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	c-strtod: include <stdio.h>
	* lib/c-strtod.c: Include <stdio.h>, since we call sprintf.
	Problem found by Oracle Developer Studio 12.6 on Solaris 10.

2024-05-21  Collin Funk  <collin.funk1@gmail.com>

	getusershell: Split file by lines instead of spaces.
	* lib/getusershell.c: Include string.h and filename.h
	(GNULIB_GETUSERSHELL_SINGLE_THREAD): Remove conditional to include
	unlocked stdio functions that are no longer used.
	(readname): Remove function.
	(getusershell): Use getline and process the string instead of using
	readname. Return the first absolute file name.
	* modules/getusershell (Depends-on): Remove unlocked-io-internal.
	Add getline and filename.
	* doc/multithread.texi (Multithreading Optimizations): Don't mention
	GNULIB_GETUSERSHELL_SINGLE_THREAD.

2024-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	boot-time: port to Alpine 3.20.0_rc2
	* lib/boot-time-aux.h (get_openbsd_boot_time):
	Port to Alpine Linux, which had bogus timestamps on /var/run/utmp.

2024-05-21  Bruno Haible  <bruno@clisp.org>

	trim tests: Avoid test failure on Solaris 11 OmniOS.
	* tests/test-trim.c (main): Skip the failing test on Illumos.

2024-05-21  Bruno Haible  <bruno@clisp.org>

	mcel tests: Run the test in several locales.
	* tests/test-mcel-1.sh: New file, based on tests/test-mbrtowc-1.sh.
	* tests/test-mcel-2.sh: New file, based on tests/test-mbrtowc-2.sh.
	* tests/test-mcel-3.sh: New file, based on tests/test-mbrtowc-3.sh.
	* tests/test-mcel-4.sh: New file, based on tests/test-mbrtowc-4.sh.
	* tests/test-mcel-5.sh: New file, based on tests/test-mbrtowc-5.sh.
	* modules/mcel-tests (Files): Add them. Add tests/macros.h,
	m4/locale-fr.m4, m4/locale-ja.m4, m4/locale-zh.m4, m4/codeset.m4.
	(Depends-on): Remove assert-h.
	(configure.ac, Makefile.am): Essentially copy from
	modules/mbrtowc-tests.

2024-05-21  Bruno Haible  <bruno@clisp.org>

	flock tests: Mark as expected failure on Solaris 11.
	* modules/flock-tests (Makefile.am): Expect that test-flock fails with
	the Gnulib fallback.

2024-05-21  Bruno Haible  <bruno@clisp.org>

	Fix "'gl_CHECK_HEADER_SYS_CDEFS_H' was expanded before it was required".
	* m4/sys_cdefs_h.m4 (gl_CHECK_HEADER_SYS_CDEFS_H): Define through
	AC_DEFUN_ONCE.

2024-05-21  Bruno Haible  <bruno@clisp.org>

	access, euidaccess tests: Avoid test failure for root user on Solaris.
	* tests/test-access.h (test_access): On Solaris, for the root user,
	don't expect X_OK permissions to be absent.
	* doc/posix-functions/access.texi: Mention the Solaris problem.
	* doc/glibc-functions/euidaccess.texi: Likewise.

2024-05-21  Collin Funk  <collin.funk1@gmail.com>

	fnmatch tests: Avoid test failure on OmniOS.
	Using the GB18030 locale OmniOS doesn't match U+00D7 MULTIPLICATION SIGN
	as a punctuation character.
	* tests/test-fnmatch.c (main): Skip the test. Discovered by CI test
	using OmniOS r151048 and reproduced on OmniOS r151050.

2024-05-20  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Don't abort for pseudo-denormal arguments on macOS 12.
	Reported by Gaëtan Herfray <g.herfray@gahfy.io> via Erik Blake in
	<https://lists.gnu.org/archive/html/bug-m4/2022-03/msg00002.html>
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-03/msg00066.html>.
	* lib/vasnprintf.c (safe_frexpl): New function.
	(decode_long_double, floorlog10l): Invoke it instead of frexpl.

2024-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	getopt-posix: port better to Alpine 3.20.0_rc1
	Alpine’s <sys/cdefs.h> is a stub that issues a deprecation #warning.
	* m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER):
	* m4/sched_h.m4 (gl_SCHED_H): Use the new macro
	gl_CHECK_HEADER_SYS_CDEFS_H instead of checking independently.
	* m4/sys_cdefs_h.m4: New file.
	* modules/getopt-posix, modules/sched (Files): Add m4/sys_cdefs_h.m4.

2024-05-20  Collin Funk  <collin.funk1@gmail.com>

	tests: Update expected tests results on NetBSD.
	These tests were fixed by the previous commit.
	* modules/fdutimensat-tests (Depends-on): Remove test-xfail.
	(Makefile.am): Expect that test-fdutimensat succeeds on NetBSD.
	* modules/futimens-tests (Depends-on): Remove test-xfail.
	(Makefile.am): Expect that test-futimens succeeds on NetBSD.
	* modules/utimens-tests (Depends-on): Remove test-xfail.
	(Makefile.am): Expect that test-utimens succeeds on NetBSD.
	* modules/utimensat-tests (Depends-on): Remove test-xfail.
	(Makefile.am): Expect that test-utimensat succeeds on NetBSD.

	utimensat, utimens: Work around NetBSD 10.0 bugs.
	* lib/utimens.c (fdutimens): Work around a NetBSD 10.0 UTIME_OMIT bug in
	the same way as Linux kernel 2.6.32 and Solaris 11.1.
	(lutimens): Likewise.
	* lib/utimensat.c (rpl_utimensat): Likewise. Workaround a NetBSD 10.0
	bug where invalid tv_nsec values are not rejected in the same way as
	Linux kernel 2.6.22.19 on hppa.
	* doc/posix-functions/utimensat.texi: Document the invalid tv_nsec bug.

2024-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	byteswap: fix problem on macOS
	* m4/byteswap.m4 (gl_BYTESWAP): Quote a variable that might not
	be defined (or the user may have defined it to something with spaces!).
	Problem reported by Mattias Engdegård for Emacs on macOS.

	linkat-tests: fix up assertion-failure changes
	* tests/test-linkat.c (main): Don’t lose the failure results of
	earlier tests.  Problem found by Coverity.

	dfa: attempt to pacify Coverity
	* lib/dfa.c (lex): Use ‘assume’ rather than ‘abort’,
	to try to pacify Coverity.
	(maybe_disable_superset_dfa): Use ‘assume’ here too, for consistency.
	Using ‘assume’ should make the code a tiny bit faster, though
	at the cost of having undefined behavior instead of nicely aborting.

2024-05-20  Bruno Haible  <bruno@clisp.org>

	Make it easy to generate debug info for libbacktrace on macOS.
	* build-aux/macos-compile: New file.

2024-05-20  Bruno Haible  <bruno@clisp.org>

	stdint: Verify the width of 'long long' before using it as int64_t.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00315.html>.
	* lib/stdint.in.h (gl_int64_t): Verify that the number of bits of
	'long long' is 64 before using it.
	(gl_uint64_t): Verify that the number of bits of 'unsigned long long'
	is 64 before using it.

2024-05-19  Collin Funk  <collin.funk1@gmail.com>

	getusershell: Work around musl bugs.
	Reported by Bruno Haible in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00261.html>.
	* doc/glibc-functions/getusershell.texi: Mention the musl bug.
	* lib/unistd.in.h (getusershell, setusershell, endusershell): Allow the
	functions to be declared with the rpl_ prefix.
	* m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Prepare functions to be
	replaced on musl systems.
	(gl_PREREQ_GETUSERSHELL): New macro.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
	REPLACE_GETUSERSHELL.
	* modules/getusershell (Depends-on): Update module conditions to account
	for the function being available but replaced by Gnulib.
	(configure.ac): Likewise. Invoke gl_PREREQ_GETUSERSHELL.

2024-05-18  Bruno Haible  <bruno@clisp.org>

	abort-debug: Prefer libbacktrace to execinfo.
	* lib/abort-debug.c: Include <backtrace.h>.
	(state): New variable.
	(print_stack_trace): Add another implementation.
	(_gl_pre_abort, rpl_abort): Also test HAVE_LIBBACKTRACE.
	* m4/abort-debug.m4 (gl_ABORT_DEBUG_EARLY): Check for libbacktrace.
	Set LIBS, not LDFLAGS.

2024-05-18  Bruno Haible  <bruno@clisp.org>

	mkfifoat: Work around a macOS 14 bug.
	* m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Also test the case of a dangling
	symlink.
	* doc/posix-functions/mkfifoat.texi: Mention the macOS bug.

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

	sha512-buffer: port back to 32-bit-only hosts
	Port to platforms lacking 64-bit integers (something that Emacs
	still attempts to do, in theory) by adding an u64bswap primitive
	to u64.h and using that, instead of using bswap_64.  This fixes a
	bug I made in commit 0d45ec7c033c165ad73a6509c7fa84aa67edf4ea
	dated Sun Jun 17 14:35:37 2018 -0700.
	* lib/sha512.c (SWAP): Use u64bswap, not bswap_64, to port
	to older platforms lacking 64-bit integers.
	* lib/u64.h: Include stddef.h, for size_t.
	Include byteswap.h, for bswap_64 (on platforms with 64-bit int),
	bswap_32.
	(u64rol): Now a function, not a macro, so that it evaluates
	its args only once.
	(u64uint32): New typedef.
	(u64, u64hilo, u64lo): Use it.
	(_GL_U64_MASK32): New macro.
	(u64size, u64plus, u64shl, u64shr, u64plus): Use it as needed for
	odd platforms where unsigned int is wider than 32 bits.
	(u64lt): Return bool, not int.
	* modules/u64 (Depends-on): Add byteswap, stdbool.
	* tests/test-u64.c (main): Test u64bswap.

2024-05-18  Collin Funk  <collin.funk1@gmail.com>

	dup3: Update documentation and expected test results.
	* doc/glibc-functions/dup3.texi: Mention NetBSD bug fixed by the Gnulib
	implementation after the previous commit.
	* modules/dup3-tests (Depends-on): Remove test-xfail.
	(Makefile.am): Don't expect test-dup3 to fail on NetBSD.

	dup3: Fix behavior for equal file descriptors on NetBSD.
	* lib/dup3.c (dup3) [__NetBSD__]: Check for equal file descriptors upon
	a successful call to dup3. If they are equal fail with errno == EINVAL.

2024-05-18  Collin Funk  <collin.funk1@gmail.com>

	endian: Make sure system headers can be included.
	Reported by Bruno Haible in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00290.html>.
	* lib/endian.in.h (be16toh, be32toh, be64toh, htobe16, htobe32, htobe64)
	(le16toh, le32toh, le64toh, htole16, htole32, htole64): Don't define
	functions if the system has working versions.
	* m4/endian_h.m4 (gl_ENDIAN_H): Separate checks for stdint types and
	proper macro/function definitions.
	* modules/endian (Depends-on): Add include_next. Update module
	dependency conditions.
	(Makefile.am): Perform sed replacements on the header substitute.

2024-05-18  Bruno Haible  <bruno@clisp.org>

	abort-debug: Integrate with CONTINUE_AFTER_ASSERT.
	* lib/stdlib.in.h (_gl_pre_abort): New declaration.
	* lib/abort-debug.c (_gl_pre_abort): New function.
	* tests/macros.h (ASSERT, ASSERT_NO_STDIO): If CONTINUE_AFTER_ASSERT
	is 1 and the assertion fails, invoke _gl_pre_abort.

2024-05-18  Bruno Haible  <bruno@clisp.org>

	tests: Support showing all assertion failures, not just the first one.
	* tests/macros.h (CONTINUE_AFTER_ASSERT): New macro.
	(test_exit_status): New variable.
	(ASSERT, ASSERT_NO_STDIO): If CONTINUE_AFTER_ASSERT is 1, set
	test_exit_status instead of aborting.
	* tests/**/test-*.{c,h,cc} (main): Instead of exiting with exit code 0,
	exit with exit code test_exit_status.
	* tests/test-spawn-pipe-child.c: Undefine CONTINUE_AFTER_ASSERT.
	* tests/uninorm/test-nf*.c: Include macros.h.
	* tests/uninorm/test-u32-nf*-big.c: Likewise.
	* tests/random*.c: Define NO_MAIN_HERE.

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

	byteswap: pacify GCC 4.4.7 and older
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2024-05/msg00277.html
	* lib/byteswap.in.h (bswap_16, bswap_32, bswap_64):
	Compute the mask rather than using long constants like
	0xff00000000000000 that may generate bogus warnings.

2024-05-18  Bruno Haible  <bruno@clisp.org>

	endian tests: Verify that it can be used from C++.
	* tests/test-endian-c++.cc: New file.
	* modules/endian-c++-tests: New file.
	* modules/endian-tests (Depends-on): Add endian-c++-tests.

2024-05-18  Bruno Haible  <bruno@clisp.org>

	endian: Update doc and strengthen tests.
	* doc/glibc-headers/endian.texi: Reference LSB and future POSIX
	specifications. Update platforms list.
	* tests/test-endian.c: Verify that BYTE_ORDER, LITTLE_ENDIAN, BIG_ENDIAN
	can be used in #if.

2024-05-18  Collin Funk  <collin.funk1@gmail.com>

	endian: Add tests.
	* tests/test-endian.c: New file.
	* modules/endian-tests: New file.

	endian: New module.
	* doc/glibc-headers/endian.texi, doc/gnulib-tool.texi: Mention it.
	* lib/endian.c: New file.
	* lib/endian.in.h: New file.
	* m4/endian_h.m4: New file.
	* modules/endian: New file.

2024-05-17  Bruno Haible  <bruno@clisp.org>

	tests: Fix link errors (regression today).
	* tests/test-execute-child.c (abort): Undefine.
	* tests/test-spawn-pipe-child.c (abort): Likewise.

2024-05-17  Collin Funk  <collin.funk1@gmail.com>

	getusershell tests: Fail if empty lines are returned.
	* tests/test-getusershell.c (first_pass): Check the result of malloc.
	Make sure '\0' isn't returned from getusershell when there is an empty
	line in /etc/shells.

2024-05-17  Bruno Haible  <bruno@clisp.org>

	unistd: Fix compilation error with MSVC in C++ mode.
	* lib/unistd.in.h (read, write): Use _GL_CXXALIAS_MDA_CAST instead of
	_GL_CXXALIAS_MDA.

2024-05-17  Bruno Haible  <bruno@clisp.org>

	stdbit-h: Fix compilation error with MSVC in C++ mode.
	* lib/stdbit.in.h (_BitScanReverse, _BitScanReverse64, _BitScanForward,
	_BitScanForward64, __cpuid, __popcnt, __popcnt64): Declare with a
	prototype.
	* lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
	Likewise.
	* lib/count-trailing-zeros.h (_BitScanForward, _BitScanForward64):
	Likewise.
	* lib/count-one-bits.h (__cpuid, __popcnt, __popcnt64): Likewise.

2024-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	byteswap: port better to limited platforms
	POSIX does not require uint64_t, and the C standard
	does not require uint16_t or uint32_t either, so port
	to platforms that lack these types.  The POSIX limitation
	is the only significant one in practice.  I ran into this
	issue when updating Emacs, which still ports to platforms
	lacking 64-bit types.
	* lib/byteswap.in.h (bswap_16, bswap_32, bswap_64):
	Accept and return uint_leastN_t instead of uintN_t,
	for portability to non-POSIX hosts that lack uintN_t.
	Almost no platforms these days lack the types, but
	it’s easy to port so let’s do that.  Also, redo to avoid
	unnecssary parentheses, as these are now functions not macros.
	(bswap_64): Define only if UINT_LEAST64_MAX, for benefit
	of not-quite-C99 platforms.  This is similar to what
	bitrotate.h does.
	* tests/test-byteswap.c (test_bswap_constant)
	(test_bswap_eval_once, test_bswap_double) [!UINT_LEAST64_MAX]:
	Do not test 64-bit swaps.

2024-05-17  Bruno Haible  <bruno@clisp.org>

	stdbit-h: Fix leading-zeros/ones functions on 64-bit MSVC.
	* lib/stdbit.in.h (__gl_stdbit_clzll) [_MSC_VER]: On x86_64, use
	_BitScanReverse64.

2024-05-17  Bruno Haible  <bruno@clisp.org>

	getusershell tests: Fix link error on MSVC.
	* modules/getusershell-tests (Makefile.am): Link test-getusershell with
	$(LIBINTL).

2024-05-17  Bruno Haible  <bruno@clisp.org>

	tests: Mark tests that fail on NetBSD as expected failures.
	* modules/dup3-tests (Depends-on): Add test-xfail.
	(Makefile.am): Expect that test-dup3 fails on NetBSD.
	* modules/fdutimensat-tests (Depends-on): Add test-xfail.
	(Makefile.am): Expect that test-fdutimensat fails on NetBSD.
	* modules/futimens-tests (Depends-on): Add test-xfail.
	(Makefile.am): Expect that test-futimens fails on NetBSD.
	* modules/utimens-tests (Depends-on): Add test-xfail.
	(Makefile.am): Expect that test-utimens fails on NetBSD.
	* modules/utimensat-tests (Depends-on): Add test-xfail.
	(Makefile.am): Expect that test-utimensat fails on NetBSD.

2024-05-17  Bruno Haible  <bruno@clisp.org>

	New module 'test-xfail'.
	* modules/test-xfail: New file.

2024-05-17  Bruno Haible  <bruno@clisp.org>

	New module 'abort-debug'.
	* lib/stdlib.in.h (abort): New declaration.
	* lib/abort-debug.c: New file.
	* m4/abort-debug.m4: New file.
	* modules/abort-debug: New file.
	* m4/stdlib_h.m4 (gl_STDLIB_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_ABORT_DEBUG.
	(gl_STDLIB_H_DEFAULTS): Initialize REPLACE_ABORT.
	* modules/stdlib (Makefile.am): Substitute GNULIB_ABORT_DEBUG,
	REPLACE_ABORT.

2024-05-17  Bruno Haible  <bruno@clisp.org>

	execinfo: Update doc.
	* doc/glibc-headers/execinfo.texi: Mention musl libc.
	* doc/glibc-functions/backtrace.texi: Likewise.
	* doc/glibc-functions/backtrace_symbols.texi: Likewise.
	* doc/glibc-functions/backtrace_symbols_fd.texi: Likewise.

2024-05-17  Bruno Haible  <bruno@clisp.org>

	tests: Fix dependencies to test-framework-sh.
	* modules/argp-tests (Depends-on): Add test-framework-sh.
	* modules/argp-version-etc-tests (Depends-on): Likewise.
	* modules/dfa-tests (Depends-on): Likewise.
	* modules/error-tests (Depends-on): Likewise.
	* modules/readtokens-tests (Depends-on): Likewise.
	* modules/string-desc-tests (Depends-on): Likewise.
	* modules/verror-tests (Depends-on): Likewise.
	* modules/xstdopen-tests (Depends-on): Remove test-framework-sh.

2024-05-17  Bruno Haible  <bruno@clisp.org>

	stdbit-h: Fix syntax error.
	* lib/stdbit.in.h (__gl_stdbit_ctzll) [_MSC_VER]: Fix syntax error.

2024-05-17  Bruno Haible  <bruno@clisp.org>

	sys_select: Fix compilation error in C++ mode on macOS 13, 14.
	* lib/sys_select.in.h (select): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

2024-05-17  Bruno Haible  <bruno@clisp.org>

	putenv-gnu: Update documentation.
	* doc/posix-functions/putenv.texi: Refer also to the glibc
	documentation. Use the usual doc structure.

2024-05-17  Collin Funk  <collin.funk1@gmail.com>

	doc: Update outdated module name.
	* doc/ld-version-script.texi (LD Version Scripts): Refer to
	'lib-symbol-visibility' instead of 'visibility'.

2024-05-16  Collin Funk  <collin.funk1@gmail.com>

	byteswap: Use __has_builtin portably.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00249.html>.
	* lib/byteswap.in.h (_GL_BYTESWAP_HAS_BUILTIN_BSWAP16)
	(_GL_BYTESWAP_HAS_BUILTIN_BSWAP32)
	(_GL_BYTESWAP_HAS_BUILTIN_BSWAP64): Define using the GCC version or
	__has_builtin after checking that it is defined.
	(bswap_16, bswap_32, bswap_64): Use the macros.
	* modules/byteswap (Depends-on): Add stdbool as a conditional
	dependency.

2024-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	putenv-tests: pacify gcc -Wdiscarded-qualifiers
	* tests/test-putenv.c (main): Don’t pass a string literal
	to a function expecting ‘char *’.

	alloca-opt-tests: add a ‘volatile’
	* tests/test-alloca-opt.c (func) [HAVE_ALLOCA]:
	Now volatile, to foil whole-program optimization.

2024-05-16  Collin Funk  <collin.funk1@gmail.com>

	byteswap tests: Strengthen tests.
	* modules/byteswap-tests (Depends-on): Add stdint.
	* tests/test-byteswap.c (test_bswap_constant, test_bswap_eval_once)
	(test_bswap_double): New functions.
	(main): Use them.

2024-05-16  Collin Funk  <collin.funk1@gmail.com>

	byteswap: Use inline functions instead of macros.
	* lib/byteswap.c: New file.
	* lib/byteswap.in.h (bswap_16, bswap_32, bswap_64): Use inline functions
	instead of macros.
	* m4/byteswap.m4 (gl_BYTESWAP): Check that bswap functions can be used
	on double values.
	* modules/byteswap (Files): Add lib/byteswap.c.
	(Depends-on): Add extern-inline and stdint as conditional dependencies.
	(Makefile.am): Add lib/byteswap.c to lib_SOURCES.

2024-05-16  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix return value when exiting with Ctrl-C.
	* pygnulib/main.py (main_with_exception_handling): Catch
	KeyboardInterrupts and exit with a return code of 1.

2024-05-16  Collin Funk  <collin.funk1@gmail.com>

	unsetenv tests: Update module dependencies.
	* modules/unsetenv-tests (Depends-on): Depend on 'putenv-gnu' instead of
	the deprecated 'putenv'.

2024-05-16  Collin Funk  <collin.funk1@gmail.com>

	Rename module 'putenv' to 'putenv-gnu'.
	* modules/putenv-gnu: Renamed from modules/putenv.
	(Description): Mention the removal of environment variables.
	* modules/putenv-gnu-tests: Renamed from modules/putenv-tests.
	* modules/putenv: New file, an indirection to the new module.
	* doc/posix-functions/putenv.texi: Mention the new module name.
	* NEWS: Mention the change.

2024-05-16  Collin Funk  <collin.funk1@gmail.com>

	putenv: Add tests.
	* tests/test-putenv.c: New file.
	* modules/putenv-tests: New file.

2024-05-15  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't print tracebacks when Ctrl-C is pressed.
	Suggested by Pádraig Brady in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00200.html>.
	* pygnulib/main.py (cli_exception): New function.
	(main_with_exception_handling): Use it.

2024-05-15  Bruno Haible  <bruno@clisp.org>

	stdbit-h: Add tests.
	* tests/test-stdbit-h.c: New file.
	* tests/test-stdbit-h-c++.cc: New file.
	* modules/stdbit-h-tests: New file.
	* modules/stdbit-h-c++-tests: New file.

2024-05-15  Bruno Haible  <bruno@clisp.org>

	stdbit-h: Make it work in C++ mode.
	* lib/stdbit.in.h: Remove extraneous 'extern "C" {' marker.

2024-05-15  Bruno Haible  <bruno@clisp.org>

	stdbit-h, stdc_*: New modules, part of the stdbit module.
	* lib/stdbit.in.h (_GL_STDC_*_INLINE): New macros.
	Enclose function definitions in #if @GL_STDC_*@ conditionals.
	* lib/stdc_leading_zeros.c: New file.
	* lib/stdc_leading_ones.c: New file.
	* lib/stdc_trailing_zeros.c: New file.
	* lib/stdc_trailing_ones.c: New file.
	* lib/stdc_first_leading_zero.c: New file.
	* lib/stdc_first_leading_one.c: New file.
	* lib/stdc_first_trailing_zero.c: New file.
	* lib/stdc_first_trailing_one.c: New file.
	* lib/stdc_count_zeros.c: New file.
	* lib/stdc_count_ones.c: New file, based on lib/stdbit.c.
	* lib/stdc_has_single_bit.c: New file.
	* lib/stdc_bit_width.c: New file.
	* lib/stdc_bit_floor.c: New file.
	* lib/stdc_bit_ceil.c: New file.
	* lib/stdbit.c (__gl_stdbit_popcount_support): Remove variable.
	* m4/stdbit_h.m4 (gl_STDBIT_H): Initialize GL_STDC_* variables.
	* modules/stdbit-h: New file, based on modules/stdbit.
	(Depends-on): Add gen-header.
	(Makefile.am): Substitute GL_STDC_* variables.
	* modules/stdc_leading_zeros: New file.
	* modules/stdc_leading_ones: New file.
	* modules/stdc_trailing_zeros: New file.
	* modules/stdc_trailing_ones: New file.
	* modules/stdc_first_leading_zero: New file.
	* modules/stdc_first_leading_one: New file.
	* modules/stdc_first_trailing_zero: New file.
	* modules/stdc_first_trailing_one: New file.
	* modules/stdc_count_zeros: New file.
	* modules/stdc_count_ones: New file.
	* modules/stdc_has_single_bit: New file.
	* modules/stdc_bit_width: New file.
	* modules/stdc_bit_floor: New file.
	* modules/stdc_bit_ceil: New file.
	* modules/stdbit: Change to a pure composition module.
	* modules/stdc_leading_zeros-tests: New file, based on
	modules/stdbit-tests.
	* modules/stdc_leading_ones-tests: New file, based on
	modules/stdbit-tests.
	* modules/stdc_trailing_zeros-tests: New file, based on
	modules/stdbit-tests.
	* modules/stdc_trailing_ones-tests: New file, based on
	modules/stdbit-tests.
	* modules/stdc_first_leading_zero-tests: New file, based on
	modules/stdbit-tests.
	* modules/stdc_first_leading_one-tests: New file, based on
	modules/stdbit-tests.
	* modules/stdc_first_trailing_zero-tests: New file, based on
	modules/stdbit-tests.
	* modules/stdc_first_trailing_one-tests: New file, based on
	modules/stdbit-tests.
	* modules/stdc_count_zeros-tests: New file, based on
	modules/stdbit-tests.
	* modules/stdc_count_ones-tests: New file, based on
	modules/stdbit-tests.
	* modules/stdc_has_single_bit-tests: New file, based on
	modules/stdbit-tests.
	* modules/stdc_bit_width-tests: New file, based on modules/stdbit-tests.
	* modules/stdc_bit_floor-tests: New file, based on modules/stdbit-tests.
	* modules/stdc_bit_ceil-tests: New file, based on modules/stdbit-tests.
	* modules/stdbit-tests: Remove file.
	* doc/posix-functions/stdc_leading_zeros.texi: Update.
	* doc/posix-functions/stdc_leading_ones.texi: Likewise.
	* doc/posix-functions/stdc_trailing_zeros.texi: Likewise.
	* doc/posix-functions/stdc_trailing_ones.texi: Likewise.
	* doc/posix-functions/stdc_first_leading_zero.texi: Likewise.
	* doc/posix-functions/stdc_first_leading_one.texi: Likewise.
	* doc/posix-functions/stdc_first_trailing_zero.texi: Likewise.
	* doc/posix-functions/stdc_first_trailing_one.texi: Likewise.
	* doc/posix-functions/stdc_count_zeros.texi: Likewise.
	* doc/posix-functions/stdc_count_ones.texi: Likewise.
	* doc/posix-functions/stdc_has_single_bit.texi: Likewise.
	* doc/posix-functions/stdc_bit_width.texi: Likewise.
	* doc/posix-functions/stdc_bit_floor.texi: Likewise.
	* doc/posix-functions/stdc_bit_ceil.texi: Likewise.

2024-05-15  Paul Eggert  <eggert@cs.ucla.edu>

	stdbit: tweak first_leading for GCC
	* lib/stdbit.in.h (stdc_first_leading_zero)
	(stdc_first_leading_one, stdc_first_trailing_zero_uc)
	(stdc_first_trailing_one_uc): Redo to avoid the need for a
	conditional branch, at least on x86-64 with GCC 14.

	* lib/stdbit.in.h (__gl_stdbit_clz, __gl_stdbit_clzl)
	(__gl_stdbit_clzll, __gl_stdbit_ctz, __gl_stdbit_ctzl)
	(__gl_stdbit_ctzll): Work even if the argument is zero.
	All callers changed.  This should help avoid branches
	on non-GCC-like platforms.

2024-05-15  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Avoid a dummy memory allocation.
	* lib/vasnprintf.c (NOMEM_PTR): New macro.
	(multiply, divide): Return it instead of NULL in case of memory
	allocation failure.
	(scale10_round_decimal_decoded): Update.

2024-05-15  Bruno Haible  <bruno@clisp.org>

	getusershell tests: Verify the function declarations.
	* tests/test-getusershell.c: Include signature.h.
	(getusershell, setusershell, endusershell): Check the signatures.
	* modules/getusershell-tests (Files): Add tests/signature.h.

2024-05-15  Collin Funk  <collin.funk1@gmail.com>

	getusershell: Add tests.
	* modules/getusershell-tests: New file.
	* tests/test-getusershell.c: New file.

2024-05-14  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.sh: Don't continue creating testdirs when destdir exists.
	* gnulib-tool.sh (create-testdir, create-megatestdir): Fail if the
	destination directory exists instead of creating files and failing to
	patch test driver.

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

	stdbit: fix dependency
	* modules/stdbit (Depends-on): Add extern-inline.

2024-05-14  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Fix formatting of error message in last commit.
	* pygnulib/main.py (main_with_exception_handling): Use the usual
	formatting of error messages.

2024-05-13  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't continue creating testdirs when destdir exists.
	* pygnulib/GLError.py (GLError.__init__, GLError.__repr__): Add a new
	error number for destination directories that already exist.
	* pygnulib/main.py (main_with_exception_handling): Print the message.
	* pygnulib/GLTestDir.py (GLTestDir.__init__, GLMegaTestdir.__init__):
	Fail if the destination directory exists instead of creating files and
	failing to patch test driver.

2024-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	stdbit: redo clzll without lookup table
	* lib/stdbit.c (__gl_stdbit_clztab):
	* lib/stdbit.in.h (__gl_stdbit_clzll):
	[!_GL_STDBIT_HAS_BUILTIN_CLZ && !_MSC_VER]: Rewrite to avoid the
	need for a lookup table in memory, and remove the lookup table.
	Do this by shrinking the table to 64 bits and putting it in a 64-bit
	constant.  Although this needs another round of shifts, it avoids
	the need for a multiplication and memory access a la de Bruijn,
	and is probably a win.

2024-05-13  Bruno Haible  <bruno@clisp.org>

	stdbit tests: Adhere better to Gnulib naming conventions.
	* tests/from-glibc/tst-stdc_bit_ceil.c: Renamed from
	tests/tst-stdc_bit_ceil.c.
	* tests/from-glibc/tst-stdc_bit_floor.c: Renamed from
	tests/tst-stdc_bit_floor.c.
	* tests/from-glibc/tst-stdc_bit_width.c: Renamed from
	tests/tst-stdc_bit_width.c.
	* tests/from-glibc/tst-stdc_count_ones.c: Renamed from
	tests/tst-stdc_count_ones.c.
	* tests/from-glibc/tst-stdc_count_zeros.c: Renamed from
	tests/tst-stdc_count_zeros.c.
	* tests/from-glibc/tst-stdc_first_leading_one.c: Renamed from
	tests/tst-stdc_first_leading_one.c.
	* tests/from-glibc/tst-stdc_first_leading_zero.c: Renamed from
	tests/tst-stdc_first_leading_zero.c.
	* tests/from-glibc/tst-stdc_first_trailing_one.c: Renamed from
	tests/tst-stdc_first_trailing_one.c.
	* tests/from-glibc/tst-stdc_first_trailing_zero.c: Renamed from
	tests/tst-stdc_first_trailing_zero.c.
	* tests/from-glibc/tst-stdc_has_single_bit.c: Renamed from
	tests/tst-stdc_has_single_bit.c.
	* tests/from-glibc/tst-stdc_leading_ones.c: Renamed from
	tests/tst-stdc_leading_ones.c.
	* tests/from-glibc/tst-stdc_leading_zeros.c: Renamed from
	tests/tst-stdc_leading_zeros.c.
	* tests/from-glibc/tst-stdc_trailing_ones.c: Renamed from
	tests/tst-stdc_trailing_ones.c.
	* tests/from-glibc/tst-stdc_trailing_zeros.c: Renamed from
	tests/tst-stdc_trailing_zeros.c.
	* tests/from-glibc/tst-stdbit.h: Renamed from tests/tst-stdbit.h.
	* tests/from-glibc/support/test-driver.c: Renamed from
	tests/support/test-driver.c.
	* modules/stdbit-tests (Files, Makefile.am): Update.
	* config/srclist.txt: Update.

2024-05-13  Bruno Haible  <bruno@clisp.org>

	config: Clarify which destination files have a different basename.
	* config/srclist.txt: Specify the gnulib-side basename in the third
	column of a few entries.

	config: Document the update script better.
	* config/srclist-update: Improve comments.

2024-05-13  Bruno Haible  <bruno@clisp.org>

	doc: Document our conventions for *.m4 files.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00156.html>.
	* doc/gnulib.texi (Autoconf macros): Document the structure of our *.m4
	files.

2024-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	stdbit: fix typo in MS-Windows port
	Problem reported by Mattias Engdegård <https://bugs.gnu.org/70898#8>.
	* lib/stdbit.in.h (__gl_stdbit_popcount_support) [_MSC_VER]:
	Fix misspelling in decl.

2024-05-13  Bruno Haible  <bruno@clisp.org>

	doc: Document <stdbit.h> function-like macros.
	* doc/posix-headers/stdbit.texi: Reference ISO C 23 as the
	documentation. Update platforms list.
	* doc/posix-functions/stdc_leading_zeros.texi: New file.
	* doc/posix-functions/stdc_leading_ones.texi: New file.
	* doc/posix-functions/stdc_trailing_zeros.texi: New file.
	* doc/posix-functions/stdc_trailing_ones.texi: New file.
	* doc/posix-functions/stdc_first_leading_zero.texi: New file.
	* doc/posix-functions/stdc_first_leading_one.texi: New file.
	* doc/posix-functions/stdc_first_trailing_zero.texi: New file.
	* doc/posix-functions/stdc_first_trailing_one.texi: New file.
	* doc/posix-functions/stdc_count_zeros.texi: New file.
	* doc/posix-functions/stdc_count_ones.texi: New file.
	* doc/posix-functions/stdc_has_single_bit.texi: New file.
	* doc/posix-functions/stdc_bit_width.texi: New file.
	* doc/posix-functions/stdc_bit_floor.texi: New file.
	* doc/posix-functions/stdc_bit_ceil.texi: New file.
	* doc/gnulib.texi (Function Substitutes): Include them all.

2024-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	stdbit: port to theoretical platforms
	Port to theoretical platforms that C and POSIX allow but are not
	likely to ever exist.  This is mostly just to document the existing
	source code: when optimizing, the machine code should be largely
	unchanged even on platforms lacking __builtin_clz etc.
	* lib/stdbit.in.h: Omit static_assert that checks for 8-bit bits.
	stdbit-tests checks for this, and omitting the static_assert here
	removes a module dependency.
	(__gl_stdbit_clzll): Do not limit word size to 128 bits.
	(__gl_stdbit_popcount255): Rename from __gl_stdbit_popcount255.
	All uses changed.  Do not limit word size to 255 bits.  Correct
	bugs on odd theoretical platforms where the word size is not a
	power of 2.
	* modules/stdbit (Depends-on): Remove assert-h.

2024-05-12  Paul Eggert  <eggert@cs.ucla.edu>

	stdbit-tests: make GNULIB_TEST_STDBIT work standalone
	* modules/stdbit-tests (GNULIB_TEST_STDBIT):
	Do not define in config.h, since config.h is conditionally
	included depending on this macro.
	Instead, specify -DGNULIB_TEST_STDBIT in the CPPFLAGS
	of each test.

2024-05-12  Simon Josefsson  <simon@josefsson.org>

	maintainer-makefile: Silence announce-gen error with GNULIB_REVISION.
	* top/maint.mk (gnulib-version): Silence git describe on failure.

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

	execinfo: Document known bugs.
	* doc/glibc-functions/backtrace.texi: Mention the various bugs on
	FreeBSD, NetBSD, OpenBSD.
	* doc/glibc-functions/backtrace_symbols_fd.texi: Mention the glibc bug.

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

	execinfo tests: Strengthen tests.
	* tests/test-execinfo.c (test_backtrace): Add an argument. Check the
	return value of backtrace(). Check that backtrace_symbols_fd is defined.
	Check the return value of backtrace_symbols().
	(main): Test also the case of a short buffer.
	* modules/execinfo-tests (Makefile.am): Verify that LIB_EXECINFO is
	defined.

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

	stdbit: don’t assume -DHAVE_CONFIG_H
	This is needed for diffutils, which doesn’t define HAVE_CONFIG_H.
	There needs to be some way for a test shared with glibc to discover
	whether it should use the Gnulib or the glibc testing framework,
	and I guess this is it.
	* modules/stdbit-tests (GNULIB_TEST_STDBIT): Define.
	* tests/tst-stdbit.h: Use GNULIB_TEST_STDBIT, not HAVE_CONFIG_H.

2024-05-11  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Filter out dependencies that cannot be found.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00136.html>.
	* pygnulib/GLModuleSystem.py (GLModule.getDependenciesWithConditions):
	Reorder conditionals to avoid duplicate checks. Filter out None from the
	gathered dependencies when gathering module dependencies. Let
	GLModuleSystem.find() warn instead of crashing.

2024-05-11  Collin Funk  <collin.funk1@gmail.com>

	execinfo: Add tests.
	* modules/execinfo-tests: New file.
	* tests/test-execinfo.c (test_backtrace): New function. Simply test that
	the symbols defined in execinfo.h can be used.
	(main): Use it.

2024-05-11  Bruno Haible  <bruno@clisp.org>

	Continue to use spaces for indentation, not tabs.
	* lib/strftime.c: Untabify. Correct indentation.
	* tests/test-posix_memalign.c: Untabify.

2024-05-11  Bruno Haible  <bruno@clisp.org>

	error-h: Avoid namespace pollution on mingw.
	* lib/error.in.h: Don't include mingw's <error.h>.

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

	stdbit: clean up namespace and simplify
	Fix namespace pollution in substitute stdbit.h.
	Clean up and simplify some of the non-GCC code, by preferring
	inline functions to macros and substituting something
	more straightforward than a de Bruijn hash (possibly faster?).
	The non-GCC non-C23 substitutes should all compile to
	branch-free code, if the compiler is good.
	* lib/stdbit.c (COUNT_LEADING_ZEROS_INLINE)
	(COUNT_TRAILING_ZEROS_INLINE, COUNT_ONE_BITS_INLINE): Remove.
	(__gl_stdbit_clztab) [!_GL_STDBIT_HAS_BUILTIN_CLZ && !_MSC_VER]:
	New constant array.
	(__gl_stdbit_popcount_support): Adjust to stdbit.in.h changes.
	* lib/stdbit.in.h: Do not include <limits.h> or <stdlib.h>.
	Check that bytes are 8 bits.
	(COUNT_LEADING_ZEROS_INLINE, COUNT_TRAILING_ZEROS_INLINE)
	(COUNT_ONE_BITS_INLINE, COUNT_LEADING_ZEROS)
	(count_leading_zeros_32, count_leading_zeros)
	(count_leading_zeros_l, count_leading_zeros_ll)
	(COUNT_TRAILING_ZEROS, count_trailing_zeros_32)
	(count_trailing_zeros, count_trailing_zeros_l)
	(count_trailing_zeros_ll, COUNT_ONE_BITS, count_one_bits_32)
	(COUNT_ONE_BITS_GENERIC, count_one_bits, count_one_bits_l)
	(count_one_bits_ll): Remove, replacing all uses with ...
	(_GL_STDBIT_HAS_BUILTIN_CLZ)
	(_GL_STDBIT_HAS_BUILTIN_CTZ, _GL_STDBIT_HAS_BUILTIN_POPCOUNT)
	(__gl_stdbit_clz, __gl_stdbit_clzl, __gl_stdbit_clzll)
	(__gl_stdbit_ctz, __gl_stdbit_ctzl, __gl_stdbit_ctzll)
	(__gl_stdbit_popcount, __gl_stdbit_popcountl, __gl_stdbit_popcountll)
	(__gl_stdbit_popcount255): ... these new functions and macros.
	(__popcnt64): Omit unnecessary casts.
	(__gl_stdbit_popcount_support): Rename from popcount_support
	and make it a signed char since that’s all we need.
	(__gl_stdbit_popcount_supported): Rename from popcount_supported.
	All uses changed.
	* modules/stdbit (Depends-on): Add assert-h, for static_assert.

	stdbit: remove most module dependence
	Remove dependence of stdbit on the modules count-leading-zeros,
	count-trailing-zeros, and count-one-bits.  stdbit is part of C23
	and in the long run is more likely to be more portable, so code
	should start preferring it.
	* lib/stdbit.c (popcount_support): New var, if needed.
	* lib/stdbit.in.h: Contain contents of count-leading-zeros.h,
	count-trailing-zeros.h, and count-one-bits.h instead of including
	those files.  In the long run those files should be stubs that are
	implemented via stdbit.
	* modules/stdbit (Depends-on): Do not depend on count-leading-zeros,
	count-trailing-zeros, count-one-bits.

	stdbit-tests: new module
	* config/srclist.txt: Add files containing stdbit test cases
	shared with glibc.
	* modules/stdbit-tests: New file.
	* tests/support/test-driver.c, tests/tst-stdbit.h:
	New files, copied from glibc with changes.
	* tests/tst-stdc_bit_ceil.c:
	* tests/tst-stdc_bit_floor.c, tests/tst-stdc_bit_width.c:
	* tests/tst-stdc_count_ones.c, tests/tst-stdc_count_zeros.c:
	* tests/tst-stdc_first_leading_one.c:
	* tests/tst-stdc_first_leading_zero.c:
	* tests/tst-stdc_first_trailing_one.c:
	* tests/tst-stdc_first_trailing_zero.c:
	* tests/tst-stdc_has_single_bit.c, tests/tst-stdc_leading_ones.c:
	* tests/tst-stdc_leading_zeros.c, tests/tst-stdc_trailing_ones.c:
	* tests/tst-stdc_trailing_zeros.c:
	New files, copied verbatim from glibc.

	stdbit: new module
	* doc/gnulib-tool.texi, doc/gnulib.texi: Mention it.
	* doc/posix-headers/stdbit.texi, lib/stdbit.c, lib/stdbit.in.h:
	* m4/stdbit_h.m4, modules/stdbit:
	New files.

2024-05-11  Bruno Haible  <bruno@clisp.org>

	doc: Mention module execinfo.
	* doc/glibc-headers/execinfo.texi: Mention module execinfo.
	* doc/glibc-functions/backtrace.texi: Likewise.
	* doc/glibc-functions/backtrace_symbols.texi: Likewise.
	* doc/glibc-functions/backtrace_symbols_fd.texi: LIkewise.

2024-05-11  Bruno Haible  <bruno@clisp.org>

	doc: Update regarding backtrace functions on *BSD.
	* doc/glibc-functions/backtrace.texi: Mention in which *BSD releases
	this function was missing.
	* doc/glibc-functions/backtrace_symbols.texi: Likewise.
	* doc/glibc-functions/backtrace_symbols_fd.texi: LIkewise.
	* doc/glibc-headers/execinfo.texi: Update *BSD versions.

2024-05-11  Collin Funk  <collin.funk1@gmail.com>

	doc: Mention backtrace functions supported on BSD.
	* doc/glibc-functions/backtrace.texi (backtrace): Mention that FreeBSD
	supports this function from 10.0 onwards. Mention that NetBSD and
	OpenBSD support this function from 7.0 onwards.
	* doc/glibc-functions/backtrace_symbols.texi (backtrace_symbols):
	Likewise.
	* doc/glibc-functions/backtrace_symbols_fd.texi (backtrace_symbols_fd):
	Likewise.

2024-05-09  Bruno Haible  <bruno@clisp.org>

	unistr/u8-strstr tests: Avoid test failure with ASAN.
	* tests/unistr/test-u8-strstr.c (main): Increase timeout to 50 sec.
	* tests/unistr/test-u16-strstr.c (main): Likewise.
	* tests/unistr/test-u32-strstr.c (main): Likewise.

2024-05-09  Bruno Haible  <bruno@clisp.org>

	free tests: Avoid test failure with ASAN.
	* tests/test-free.c (main): Skip mmap/munmap based test if ASAN is
	enabled.

2024-05-09  Bruno Haible  <bruno@clisp.org>

	explicit_bzero, memset_explicit tests: Avoid test failures with ASAN.
	* tests/test-explicit_bzero.c (test_heap, test_stack): Define to empty
	if ASAN is enabled.
	* tests/test-memset_explicit.c (test_heap, test_stack): Likewise.

2024-05-09  Bruno Haible  <bruno@clisp.org>

	dprintf-posix, fprintf-posix tests: Avoid test failures with ASAN.
	* tests/test-dprintf-posix2.c (main): Skip the test if ASAN is enabled.
	* tests/test-fprintf-posix3.c (main): Likewise.
	* tests/test-dprintf-posix2.sh: Update.
	* tests/test-fprintf-posix3.sh: Likewise.

2024-05-09  Bruno Haible  <bruno@clisp.org>

	unistdio/*printf: Fix %n handling with module 'printf-with-n-directive'.
	* m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Optimize the
	case of VERSION = 999.9.
	* modules/unistdio/u8-asnprintf (configure.ac): If module
	'printf-with-n-directive' is in use, don't use an installed libunistring
	for this module.
	* modules/unistdio/u8-asprintf (configure.ac): Likewise.
	* modules/unistdio/u8-snprintf (configure.ac): Likewise.
	* modules/unistdio/u8-sprintf (configure.ac): Likewise.
	* modules/unistdio/u8-vasnprintf (configure.ac): Likewise.
	* modules/unistdio/u8-vasprintf (configure.ac): Likewise.
	* modules/unistdio/u8-vsnprintf (configure.ac): Likewise.
	* modules/unistdio/u8-vsprintf (configure.ac): Likewise.
	* modules/unistdio/u8-u8-asnprintf (configure.ac): Likewise.
	* modules/unistdio/u8-u8-asprintf (configure.ac): Likewise.
	* modules/unistdio/u8-u8-snprintf (configure.ac): Likewise.
	* modules/unistdio/u8-u8-sprintf (configure.ac): Likewise.
	* modules/unistdio/u8-u8-vasnprintf (configure.ac): Likewise.
	* modules/unistdio/u8-u8-vasprintf (configure.ac): Likewise.
	* modules/unistdio/u8-u8-vsnprintf (configure.ac): Likewise.
	* modules/unistdio/u8-u8-vsprintf (configure.ac): Likewise.
	* modules/unistdio/u16-asnprintf (configure.ac): Likewise.
	* modules/unistdio/u16-asprintf (configure.ac): Likewise.
	* modules/unistdio/u16-snprintf (configure.ac): Likewise.
	* modules/unistdio/u16-sprintf (configure.ac): Likewise.
	* modules/unistdio/u16-vasnprintf (configure.ac): Likewise.
	* modules/unistdio/u16-vasprintf (configure.ac): Likewise.
	* modules/unistdio/u16-vsnprintf (configure.ac): Likewise.
	* modules/unistdio/u16-vsprintf (configure.ac): Likewise.
	* modules/unistdio/u16-u16-asnprintf (configure.ac): Likewise.
	* modules/unistdio/u16-u16-asprintf (configure.ac): Likewise.
	* modules/unistdio/u16-u16-snprintf (configure.ac): Likewise.
	* modules/unistdio/u16-u16-sprintf (configure.ac): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (configure.ac): Likewise.
	* modules/unistdio/u16-u16-vasprintf (configure.ac): Likewise.
	* modules/unistdio/u16-u16-vsnprintf (configure.ac): Likewise.
	* modules/unistdio/u16-u16-vsprintf (configure.ac): Likewise.
	* modules/unistdio/u32-asnprintf (configure.ac): Likewise.
	* modules/unistdio/u32-asprintf (configure.ac): Likewise.
	* modules/unistdio/u32-snprintf (configure.ac): Likewise.
	* modules/unistdio/u32-sprintf (configure.ac): Likewise.
	* modules/unistdio/u32-vasnprintf (configure.ac): Likewise.
	* modules/unistdio/u32-vasprintf (configure.ac): Likewise.
	* modules/unistdio/u32-vsnprintf (configure.ac): Likewise.
	* modules/unistdio/u32-vsprintf (configure.ac): Likewise.
	* modules/unistdio/u32-u32-asnprintf (configure.ac): Likewise.
	* modules/unistdio/u32-u32-asprintf (configure.ac): Likewise.
	* modules/unistdio/u32-u32-snprintf (configure.ac): Likewise.
	* modules/unistdio/u32-u32-sprintf (configure.ac): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (configure.ac): Likewise.
	* modules/unistdio/u32-u32-vasprintf (configure.ac): Likewise.
	* modules/unistdio/u32-u32-vsnprintf (configure.ac): Likewise.
	* modules/unistdio/u32-u32-vsprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-asnprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-asprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-fprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-snprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-sprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-vasnprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-vasprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-vfprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-vsnprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-vsprintf (configure.ac): Likewise.

2024-05-08  Collin Funk  <collin.funk1@gmail.com>

	ftello: Prefer stdckdint to intprops.
	* lib/ftello.c (ftello): Include stdckdint.h instead of intprops.h.
	Prefer ckd_add to INT_ADD_OK.
	* modules/ftello (Depends-on): Depend on stdckdint instead of intprops.

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

	sigsegv, c-stack tests: Avoid test failures with ASAN.
	* tests/test-sigsegv-catch-stackoverflow1.c
	(HAVE_STACK_OVERFLOW_RECOVERY): Undefine if ASAN is enabled.
	* tests/test-sigsegv-catch-stackoverflow2.c
	(HAVE_STACK_OVERFLOW_RECOVERY): Likewise.
	* tests/test-c-stack.c (main): Skip the test if ASAN is enabled.

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

	argp: Fix test failure with clang's ASAN.
	Reported in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-12/msg00035.html>.
	* m4/argp.m4 (gl_ARGP): Rename argp_parse to rpl_argp_parse.

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

	gnulib-tool.py: Make --megatest behaviour more similar to shell impl.
	* pygnulib/main.py (main) [megatest]: Remove space from the testdir
	name.

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

	gnulib-tool: In --megatestdir mode, stop when there is an error.
	* gnulib-tool.sh (megatest): Fail when one of the 'configure' or 'make'
	steps fails.
	* pygnulib/main.py (main): Likewise.

2024-05-08  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix behavior of --test when a subprocess fails.
	Reported by Bruno Haible in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00101.html>.
	* pygnulib/main.py (main): Use sp.run with check=True so that an
	exception is thrown when a process fails. Simply exit if an exception
	occurs.

2024-05-07  Collin Funk  <collin.funk1@gmail.com>

	base32, base64: Prefer stdckdint to intprops.
	* lib/base32.c (base32_encode_alloc): Include stdckdint.h. Prefer
	ckd_mul to INT_MULTIPLY_OK.
	* lib/base64.c (base64_encode_alloc): Likewise.
	* modules/base32 (Depends-on): Add stdckdint.
	* modules/base64 (Depends-on): Likewise.

2024-05-07  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Handle module dependencies that cannot be found.
	* pygnulib/GLModuleSystem.py
	(GLModule.getDependenciesWithoutConditions): Filter out None from the
	module dependencies. An appropriate warning will already be printed by
	GLModuleSystem.find().

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

	nstrftime: use clearer code for padding
	This also works around GCC bug 114965
	<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114965>.
	* lib/strftime.c (enum pad_style): New type.
	(width_add, my_strftime, __strftime_internal):
	Use it instead of checking the raw chars.
	* tests/test-nstrftime.h (T): Test for the GCC bug.

2024-05-06  Simon Josefsson  <simon@josefsson.org>

	maintainer-makefile: Prohibit BSD4.3/SysV u_char etc types.
	* top/maint.mk (sc_unsigned_char, sc_unsigned_short)
	(sc_unsigned_int, sc_unsigned_long): Add.

2024-05-06  Simon Josefsson  <simon@josefsson.org>

	inet-ntop, inet-pton: Avoid obsolete u_char type.
	* lib/inet_pton.c (inet_pton6): Use unsigned char instead of u_char.
	* lib/inet_ntop.c: Doc fix.

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

	gnulib-tool.py: Regenerate aclocal.m4 before using 'autoconf -t ...'.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00065.html>.
	* pygnulib/GLImport.py (GLImport): New field m4dirs.
	(GLImport.__init__): Accept an additional m4dirs argument.
	(GLImport.execute): Regenerate aclocal.m4 before creating the library
	Makefile.
	* pygnulib/main.py (main): Pass the guessed_m4dirs to GLImport.

2024-05-04  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool: Ignore autom4te.cache when using GNULIB_TOOL_IMPL=sh+py.
	Reported by Paul Eggert in:
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00061.html>.
	* gnulib-tool: Don't compare the autom4te.cache directory since requests
	are not sorted in Autoconf version 2.71 and below.

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

	readutmp, boot-time: Work around a Cygwin 3.5.3 bug.
	Reported by Ken Brown <kbrown@cornell.edu> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00035.html>.
	* lib/boot-time-aux.h (get_windows_boot_time): On Cygwin, ignore
	pagefile.sys if it appears to be a directory, and use another file as
	a fallback.

2024-05-03  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix an undefined function name (regression 2024-05-02).
	* pygnulib/main.py (main_with_exception_handling): Use the tempfile
	module prefix when calling mkdtemp(). Use the 'glpy' prefix for the
	temporary directory that exists for the entirety of the program.

2024-05-03  Simon Josefsson  <simon@josefsson.org>

	maint.mk: Don't fail on ~/.indent.pro, reported by Collin Funk.
	* top/maint.mk (indent_args): Use --ignore-profile.

2024-05-02  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.sh: Fix program name in error message.
	* gnulib-tool.sh: Use 'gnulib-tool' instead of 'gnulib' as the program
	name in the error message.

2024-05-02  Collin Funk  <collin.funk1@gmail.com>

	DEPENDENCIES: Add Cygwin as supported platform.
	* DEPENDENCIES: Mention Cygwin as a supported platform for building
	Windows binaries.

2024-05-02  Bruno Haible  <bruno@clisp.org>

	doc: Add appendix about Gnulib history.
	* doc/gnulib-history.texi: New file.
	* doc/gnulib.texi: Include it.

2024-05-02  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't leave temporary directories on exit.
	* pygnulib/main.py (main_with_exception_handling): Use
	tempfile.TemporaryDirectory as a context manager so it is removed before
	the program exits.
	(main): Expect a temporary directory to be passed as an argument.
	* pygnulib/GLConfig.py (GLConfig.__init__): Accept an optional temporary
	directory parameter instead of creating one.
	* pygnulib/GLImport.py (GLImport.__init__): Don't remove the cache's
	temporary directory since it doesn't create one anymore.
	(GLImport.execute): Don't remove the temporary directory explicitly. It
	is handled by the usage of a context manager.
	* pygnulib/GLTestDir.py (GLTestDir.execute, GLMegaTestDir.execute):
	Likewise.

2024-05-01  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Quote file names passed to 'patch'.
	* pygnulib/GLTestDir.py (_patch_test_driver): Import shlex and cleanup
	unused imports. Use shlex.quote() on the file names passed to 'patch'.
	* pygnulib/GLFileSystem.py (GLFileSystem.lookup): Likewise. Perform
	redirection using sp.call() arguments instead of using the shell.

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

	readutmp, boot-time: Improve for some Cygwin installations.
	Reported by Ken Brown <kbrown@cornell.edu> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00008.html>.
	* lib/boot-time-aux.h (get_windows_boot_time): Use /proc/cygdrive/
	instead of /cygdrive/.

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

	stddef: A better workaround against GCC bug 114870.
	* lib/stddef.in.h: If STDDEF_NOT_IDEMPOTENT is 1, disable the special
	invocation convention.
	* m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_NOT_IDEMPOTENT.
	(gl_STDDEF_H_DEFAULTS): Initialize STDDEF_NOT_IDEMPOTENT.
	* modules/stddef (Makefile.am): Substitute STDDEF_NOT_IDEMPOTENT.

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

	stddef: Fix <stddef.h> behaviour on Cygwin (regression 2024-04-27).
	Reported by Markus Mützel <markus.muetzel@gmx.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00522.html>.
	* lib/stddef.in.h: Don't test _@GUARD_PREFIX@_STDDEF_H. Fix comments.

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

	doc: Reference a gcc bug.
	* doc/posix-headers/stddef.texi: Reference a gcc bug.

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

	sprintf-posix, snprintf-posix tests: Add comment.
	Suggested by Collin Funk in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00546.html>.
	* tests/test-sprintf-posix.h (test_function): Add comment about known
	failures.

2024-05-01  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix mistake in previous commit.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.exists)
	(GLModuleSystem.find): Rename 'module' argument to 'module_name' so it
	is clear they are not a GLModule object. Treat them as such.

2024-05-01  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Use the GLModule's name variable directly.
	* pygnulib/GLModuleSystem.py (GLModule.getName): Remove function.
	(GLModule.__str__, GLModule.__repr__, GLModule.isNonTests)
	(GLModule.repeatModuleInTests, GLModule.getDependenciesRecursively)
	(GLModule.getShellFunc, GLModule.getShellVar)
	(GLModule.getConditionalName, GLModule.getApplicability)
	(GLModule.getDependencies, GLModule.getAutomakeSnippet_Unconditional)
	(GLModule.getLicense, GLModuleSystem.find)
	(GLModuleTable.transitive_closure): Use the GLModule's name instance
	variable instead of using str() or removed getName() function.
	* pygnulib/GLEmiter.py (GLEmiter.autoconfSnippet)
	(GLEmiter.preEarlyMacros, GLEmiter.lib_Makefile_am)
	(GLEmiter.tests_Makefile_am): Likewise.
	* pygnulib/GLImport.py (GLImport.gnulib_comp, GLImport.prepare):
	Likewise.
	* pygnulib/GLTestDir.py (GLTestDir.execute, GLMegaTestDir.execute):
	Likewise.

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

	intprops: document fix for GCC bug 68193
	* lib/intprops-internal.h (_GL__GENERIC_BOGUS):
	GCC bug 68193 is fixed in GCC 14.  This is just for documentation,
	as _GL__GENERIC_BOGUS is not consulted in GCC 14.

2024-04-30  Bruno Haible  <bruno@clisp.org>

	*printf: Don't invoke gl_PRINTF_DIRECTIVE_N when it's not needed.
	* m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_IS_POSIX): Don't require
	gl_PRINTF_DIRECTIVE_N if gl_PRINTF_SUPPORT_N_DIRECTIVE is not defined.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_IS_POSIX): Likewise.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_IS_POSIX): Likewise.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_IS_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_IS_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_IS_POSIX): Likewise.
	* m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_IS_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_IS_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_IS_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_IS_POSIX): Likewise.
	* m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_IS_POSIX): Likewise.

2024-04-30  Bruno Haible  <bruno@clisp.org>

	*printf: Avoid a dialog during 'configure' with MSVC in debug mode.
	Suggested by Paul Harris <harris.pc@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gettext/2024-04/msg00005.html>.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): In the test program, include
	<crtdbg.h> and disable the MSVC reporting for assertion failures.

2024-04-30  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Remove remaining unused instance variables.
	* pygnulib/GLModuleSystem.py (GLModule.__init__)
	(GLModuleTable.__init__): Remove the unused GLFileSystem variable. These
	classes perform lookups with a GLModuleSystem.
	* pygnulib/GLTestDir.py (GLTestDir.__init__): Remove the unused
	GLFileAssistant variable. The transformations it performs are not needed
	in testdirs.

2024-04-29  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Add type hints to classes.
	* pygnulib/*.py: Add type hints for all instance and class variables.
	* pygnulib/GLMakefileTable.py (GLMakefileTable.__getitem__): Fix return
	type hint since the dictionary has str values.

2024-04-29  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Emit libtests in testdirs generated Makefile.am.
	Reported by Bruno Haible in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00463.html>.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Modify the GLEmiter's
	config variable instead of the GLTestDir's so that it can be accessed
	when emitting the Makefile.am.

2024-04-28  Collin Funk  <collin.funk1@gmail.com>

	doc: Update macro list in gnulib-cache.m4 documentation.
	* doc/gnulib-tool.texi (Modified imports): Add missing macros from the
	sed invocation in func_import of gnulib-tool.sh.

2024-04-28  Collin Funk  <collin.funk1@gmail.com>

	doc: Mention AC_CONFIG_MACRO_DIRS in configure.ac.
	Document the following gnulib-tool change:
	2021-12-19  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Don't insist on ACLOCAL_AMFLAGS.
	* doc/gnulib-tool.texi (Initial import): Update the example gnulib-tool
	invocation. Document the use of AC_CONFIG_MACRO_DIRS as an alternative
	to ACLOCAL_AMFLAGS.

2024-04-28  Bruno Haible  <bruno@clisp.org>

	bootstrap: Support checking out a recent GNULIB_REVISION, part 2.
	Reported by Markus Mützel <markus.muetzel@gmx.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00507.html>.
	* top/bootstrap-funclib.sh (prepare_GNULIB_SRCDIR): If using a submodule
	and the 'git checkout' command fails, fetch the newer commits and then
	retry it.
	* build-aux/bootstrap: Regenerated.

2024-04-27  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Preserve module ordering in --create-megatestdir.
	* pygnulib/GLTestDir.py (GLMegaTestDir.execute): Use a separate set to
	remove duplicates from the original list without sorting.

2024-04-27  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Simplify the Python version test.
	Suggested by Pádraig Brady in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00469.html>.
	* gnulib-tool: Use Python's sys.version_info, not --version.
	* gnulib-tool.py: Use the same version test here. Use --version only to
	produce a specific error message.

2024-04-27  Bruno Haible  <bruno@clisp.org>

	fcntl-h, stdio, unistd: Ensure off64_t is defined on all platforms.
	* lib/fcntl.in.h: Update comment regarding off64_t.
	* lib/stdio.in.h: Likewise.
	* lib/unistd.in.h: Likewise.
	* tests/test-fcntl-h.c: Verify that off64_t is defined.
	* tests/test-stdio.c: Likewise.
	* tests/test-unistd.c: Likewise.
	* doc/posix-headers/fcntl.texi: Mention the off64_t workaround.
	* doc/posix-headers/stdio.texi: Likewise.
	* doc/posix-headers/unistd.texi: Likewise.
	* doc/posix-headers/aio.texi: Mention the problem with off64_t.

	sys_types: Ensure off64_t is defined on all platforms.
	* m4/off64_t.m4: New file.
	* m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require gl_TYPE_OFF64_T.
	* lib/sys_types.in.h (off64_t): New type.
	(GNULIB_defined_off64_t): New macro.
	* modules/sys_types (Files): Add m4/off64_t.m4.
	(configure.ac-early): Require AC_USE_SYSTEM_EXTENSIONS.
	(Makefile.am): Substitute HAVE_OFF64_T.
	* tests/test-sys_types.c: Verify that off64_t is defined.
	* doc/posix-headers/sys_types.texi: Mention the off64_t workaround.

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

	nullptr: work around GCC nullptr sentinel bug
	* m4/nullptr.m4 (gl_NULLPTR): Work around GCC bug 114780.

	stddef: work around GCC stddef.h bugs
	* lib/stddef.in.h: Do nothing if _@GUARD_PREFIX@_STDDEF_H is
	defined, as stddef.h has already been included.  This works
	around GCC bug 114870.
	(_GCC_NULLPTR_T): Define if needed to work around GCC bug 114869.
	* m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
	* modules/stddef (stddef.h):
	Detect the two bugs.
	* doc/posix-headers/stddef.texi: Mention one of the two bugs.

2024-04-27  Bruno Haible  <bruno@clisp.org>

	bootstrap: Support checking out a recent GNULIB_REVISION.
	Reported by Markus Mützel <markus.muetzel@gmx.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00462.html>.
	* top/bootstrap-funclib.sh (prepare_GNULIB_SRCDIR): If the
	'git checkout' command fails, fetch the newer commits and then retry it.
	* build-aux/bootstrap: Regenerated.

2024-04-27  Bruno Haible  <bruno@clisp.org>

	ctime, localtime, tzset, wcsftime: Fix env access (regr. 2024-02-09).
	Reported by Markus Mützel <markus.muetzel@gmx.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00457.html>.
	* lib/ctime.c (rpl_ctime): Fix logic of environment traversal.
	* lib/localtime.c (rpl_localtime): Likewise.
	* lib/tzset.c (rpl_tzset): Likewise.
	* lib/wcsftime.c (rpl_wcsftime): Likewise.

2024-04-26  Bruno Haible  <bruno@clisp.org>

	login_tty tests: Avoid gcc warnings.
	* tests/test-login_tty.c: Include ignore-value.h.
	(main): Ignore the results of the freopen calls.
	* modules/login_tty-tests (Depends-on): Add ignore-value.

2024-04-26  Bruno Haible  <bruno@clisp.org>

	Document prerequisite for gnulib-tool.
	Suggested by Collin Funk in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00450.html>.
	* DEPENDENCIES: Add Python 3.7 as "recommended".

2024-04-26  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Use the Python implementation by default.
	* gnulib-tool: If GNULIB_TOOL_IMPL is not set: Use the Python
	implementation if a suitable 'python3' program is found in $PATH;
	otherwise print a warning and use the shell implementation.

2024-04-26  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Remove some unused instance variables.
	* pygnulib/GLTestDir.py (GLMegaTestDir.__init__): Don't define instance
	variables that are never used.

2024-04-25  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Reduce code duplication in file name transformations.
	* pygnulib/functions.py: New file for shared functions between modules.
	Add a function based on functions removed from GLImport and GLTestDir.
	Accepts a single file name instead of a list.
	* pygnulib/GLImport.py (GLImport.prepare): Use the new function.
	(GLImport.rewrite_new_files, GLImport.rewrite_old_files): Remove
	functions.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Use the new function.
	(GLTestDir.rewrite_files): Remove functions.
	* pygnulib/main.py (main): Remove unused function import. Use the new
	function.

2024-04-25  Bruno Haible  <bruno@clisp.org>

	doc: Remove documentation of IRIX as supported platform.
	* doc/posix-headers/netdb.texi: Don't mention IRIX specific workarounds.
	* doc/posix-headers/pthread.texi: Likewise.
	* doc/posix-headers/sys_socket.texi: Likewise.
	* doc/posix-headers/wctype.texi: Likewise.
	* doc/posix-functions/btowc.texi: Likewise.
	* doc/posix-functions/cbrtf.texi: Likewise.
	* doc/posix-functions/cbrtl.texi: Likewise.
	* doc/posix-functions/copysignf.texi: Likewise.
	* doc/posix-functions/exp2.texi: Likewise.
	* doc/posix-functions/exp2f.texi: Likewise.
	* doc/posix-functions/exp2l.texi: Likewise.
	* doc/posix-functions/expm1f.texi: Likewise.
	* doc/posix-functions/expm1l.texi: Likewise.
	* doc/posix-functions/fabsl.texi: Likewise.
	* doc/posix-functions/isnan.texi: Likewise.
	* doc/posix-functions/iswblank.texi: Likewise.
	* doc/posix-functions/link.texi: Likewise.
	* doc/posix-functions/log10l.texi: Likewise.
	* doc/posix-functions/log1pf.texi: Likewise.
	* doc/posix-functions/log2.texi: Likewise.
	* doc/posix-functions/log2f.texi: Likewise.
	* doc/posix-functions/log2l.texi: Likewise.
	* doc/posix-functions/lseek.texi: Likewise.
	* doc/posix-functions/nl_langinfo.texi: Likewise.
	* doc/posix-functions/pthread_sigmask.texi: Likewise.
	* doc/posix-functions/remainderf.texi: Likewise.
	* doc/posix-functions/remainderl.texi: Likewise.
	* doc/posix-functions/rintf.texi: Likewise.
	* doc/posix-functions/sigaltstack.texi: Likewise.
	* doc/posix-functions/strtod.texi: Likewise.
	* doc/posix-functions/strtold.texi: Likewise.
	* doc/posix-functions/vscanf.texi: Likewise.
	* doc/posix-functions/wctob.texi: Likewise.
	* doc/**/*.texi: Update.

2024-04-25  Collin Funk  <collin.funk1@gmail.com>

	HACKING: Fix a typo.
	* HACKING: Add missing 't' to platforms.

2024-04-25  Bruno Haible  <bruno@clisp.org>

	relocatable-lib-lgpl: Allow unconditional use of set_relocation_prefix.
	Reported by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00384.html>.
	* lib/relocatable.h (set_relocation_prefix): Define in a dummy way if
	ENABLE_RELOCATABLE is not defined.

2024-04-25  Bruno Haible  <bruno@clisp.org>

	doc: Update target platforms list.
	* doc/gnulib-intro.texi (Supported Platforms): Mention FreeBSD 14
	instead of 13. Mention AIX 7.3 instead of 7.2. Mention Cygwin 3.4.
	Don't mention IRIX.
	(Formerly Supported Platforms): Add IRIX.

2024-04-25  Bruno Haible  <bruno@clisp.org>

	largefile: Update documentation.
	* doc/largefile.texi: Remove mention of IRIX.

2024-04-24  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Add a new GLFileTable class.
	* pygnulib/GLFileTable.py: New file. Define the GLFileTable class with
	five attributes which can be individually typed.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Use the GLFileTable class.
	* pygnulib/GLImport.py (GLImport.gnulib_comp, GLImport.prepare)
	(GLImport.execute): Likewise. Update type hints and doc strings.

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

	largefile: port to C++
	This patch is mostly taken from Autoconf master.
	* m4/largefile.m4 (AC_SYS_YEAR2038_RECOMMENDED):
	Undefine if unpatched Autoconf 2.72 or earlier, so that
	later code will redefine it.
	The remaining part of this patch is from Autoconf master.
	(_AC_SYS_YEAR2038_PROBE, _AC_SYS_LARGEFILE_PROBE):
	Put "$CCFLAGS" in diagnostics, not "$CC".
	(_AC_SYS_LARGEFILE_OPTIONS): Omit -n32.
	(AC_SYS_LARGEFILE_PROBE): Fiddle with CPPFLAGS, not CC.
	Do not worry about -n32.

	c32srtombs,mbsrtoc32s,mbsrtowcs,wcsrtombs: pacify GCC 14
	* lib/c32srtombs-state.c (_gl_c32srtombs_state):
	* lib/mbsrtoc32s-state.c (_gl_mbsrtoc32s_state):
	* lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state):
	* lib/wcsrtombs-state.c (_gl_wcsrtombs_state):
	Add an extern decl for a “private” extern symbol, to pacify GCC
	14’s -Wmissing-variable-declarations option.

2024-04-24  Bruno Haible  <bruno@clisp.org>

	physmem: Port better to Linux.
	* lib/physmem.h (physmem_total, physmem_available): Add documentation.
	(physmem_claimable): New declaration.
	* lib/physmem.c: Include <fcntl.h>, <stdio.h>, full-read.h.
	(get_meminfo): New function.
	(physmem_claimable): Renamed from physmem_available. Add logic for
	aggressivity > 0.
	(physmem_available): New function.
	* modules/physmem (Depends-on): Add full-read.

2024-04-24  Bruno Haible  <bruno@clisp.org>

	Fix warnings triggered by including <config.h> twice (regr. 2024-04-19).
	Reported by Collin Funk in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00398.html>.
	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use AH_VERBATIM instead
	of AC_DEFINE.

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

	manywarnings: update C warnings for GCC 14
	Adjust for C programs compiled by GCC 14.
	(A C++ expert still needs to look at manywarnings-c++.m4.)
	* build-aux/gcc-warning.spec: Add warnings introduced in GCC 14.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
	Add -Wflex-array-member-not-at-end, -Wmissing-variable-declarations.

2024-04-23  Bruno Haible  <bruno@clisp.org>

	Update HACKING.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00388.html>.
	* HACKING: Mention an alternative to gitk.

2024-04-23  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Make better use of imports.
	* pygnulib/*.py: Import functions from constants.py directly instead of
	assigning them to module-specific variable. Keep the module prefix for
	standard library functions.

2024-04-23  Bruno Haible  <bruno@clisp.org>

	Update HACKING.
	* HACKING: Mention the linear git history, how to work with ChangeLog,
	how to run a testdir, where to find the gnulib-tool tests, and where are
	the continuous integrations.

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

	gnulib-tool: Fix trouble caused by Python's bytecode cache.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00367.html>.
	* gnulib-tool: In sh+py mode, ignore the __pycache__ directory during
	comparison.

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

	gnulib-tool.py: Fix trouble caused by Python's bytecode cache.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00367.html>.
	* gnulib-tool.py: Set PYTHONPYCACHEPREFIX, so as to avoid creating a
	__pycache__ directory in the developer's gnulib checkout (only effective
	with Python ≥ 3.8).

2024-04-21  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Make temporary directories recognizable.
	* pygnulib/GLConfig.py (GLConfig.__init__): Pass the 'glpy' prefix to
	mkdtemp.

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

	gnulib-tool.sh: In --create-testdir, just warn about a bad module name.
	* gnulib-tool.sh (func_create_testdir): Validate the modules list.

2024-04-21  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't fail when given a bad module name.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Don't include None in the
	list of GLModule objects.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.find): Document the meaning
	of the None return.

2024-04-21  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Update type hints and docstring.
	* pygnulib/GLImport.py (GLImport.execute): Update transformer type hint
	to reflect change from sed expressions to re.sub() arguments.
	(GLImport.prepare): Likewise. Don't reference sed or license
	replacements in docstring.

2024-04-20  Bruno Haible  <bruno@clisp.org>

	signed-snan: Relicense under LGPLv2+.
	* modules/signed-snan (License): Change to LGPLv2+.
	* lib/signed-snan.h: Update license notice.

	snan: Relicense under LGPLv2+.
	* modules/snan (License): Change to LGPLv2+.
	* lib/snan.h: Update license notice.

	signed-nan: Relicense under LGPLv2+.
	* modules/signed-nan (License): Change to LGPLv2+.
	* lib/signed-nan.h: Update license notice.

	nan: Relicense under LGPLv2+.
	Eric Blake's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00290.html>.
	Paul Eggert's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00324.html>.
	Daniel Richard G.'s approval was given in private email.
	* modules/nan (License): Change to LGPLv2+.
	* lib/nan.h: Update license notice.

2024-04-20  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: In sh+py mode, don't fail because of dangling symlinks.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00318.html>
	and Pádraig Brady in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00321.html>.
	* gnulib-tool: In sh+py mode, use diff option '--no-dereference' if
	available.

2024-04-20  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Remove duplicate per-module definitions.
	* pygnulib/constants.py: Remove duplicate __authors__, __license__, and
	__copyright__ definitions.
	* pygnulib/GLInfo.py: Use the value of __authors__ and __copyright__
	from __init__.py for output.
	* pygnulib/*.py: Remove unused references to the constant.py
	definitions.

2024-04-20  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Fix a bug in removed / added files handling.
	* pygnulib/GLImport.py (GLImport.execute): When looking for files that
	are in both filetable['old'] and filetable['new'], consider only the
	first element of each tuple, not the entire tuple.

2024-04-20  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Sort file lists case-sensitively.
	* pygnulib/GLImport.py (GLImport.prepare, GLImport.execute): Omit
	.lower() call in sort key computation.

2024-04-20  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Fix output of --create-megatestdir.
	* pygnulib/GLTestDir.py (GLMegaTestDir.execute): Remove stray backslash
	from output.

2024-04-19  Bruno Haible  <bruno@clisp.org>

	wcsstr: Update doc.
	* doc/posix-functions/wcsstr.texi: Update glibc version.

2024-04-19  Bruno Haible  <bruno@clisp.org>

	getlogin_r tests: Fix compilation error on some OpenSolaris derivatives.
	* tests/test-getlogin_r.c (getlogin_r): Don't check the signature on
	Solaris.

2024-04-19  Bruno Haible  <bruno@clisp.org>

	memset_explicit: Fix compilation error on some OpenSolaris derivatives.
	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Arrange to define
	__STDC_WANT_LIB_EXT1__ to 1.
	* modules/memset_explicit (Depends-on): Add extensions.
	* m4/memset_explicit.m4 (gl_FUNC_MEMSET_EXPLICIT): Require
	gl_USE_SYSTEM_EXTENSIONS.
	* lib/memset_explicit.c (__STDC_WANT_LIB_EXT1__): Remove definition.

2024-04-19  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Make use of GLModule's __hash__ method.
	* pygnulib/GLModuleSystem.py (GLModuleTable.addUnconditional)
	(GLModuleTable.isConditional): Use the GLModule object instead of the
	module name directly.
	(GLModuleTable.addConditional, GLModuleTable.getCondition): Likewise.
	Use a tuple of two GLModule objects as a key for the conditionals
	dictionary.

2024-04-19  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Simplify data structures for dependencies.
	* pygnulib/GLModuleSystem.py (GLModuleTable.__init__): Use a defaultdict
	for dependers to remove the base initialization case.
	(GLModuleTable.addConditional): Use a set to disallow duplicates instead
	of performing list lookups.

2024-04-19  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Simplify running some commands in a given directory.
	* pygnulib/GLImport.py (GLImport.execute): Use sp.call with a cwd
	argument, instead of calling chdir twice.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.list): Likewise.
	* pygnulib/main.py (mode=='find'): Likewise.

2024-04-19  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Update authors list.
	* pygnulib/constants.py (__author__): Add Collin Funk.
	* pygnulib/__init__.py (__copyright__, __author__): Include years and
	authors of the gnulib-tool shell script.

2024-04-19  Bruno Haible  <bruno@clisp.org>

	getpayload* tests: Don't assume that '-' works as expected on NaN.
	* tests/test-getpayload.c: Include signed-nan.h.
	(main): Use minus_NaNd.
	* tests/test-getpayloadf.c: Include signed-nan.h.
	(main): Use minus_NaNf.
	* tests/test-getpayloadl.c: Include signed-nan.h.
	(main): Use minus_NaNl.
	* modules/getpayload-tests (Depends-on): Add signed-nan.
	* modules/getpayloadf-tests (Depends-on): Likewise.
	* modules/getpayloadl-tests (Depends-on): Likewise.

	signed-nan: Don't assume that '-' works as expected on NaN values.
	* lib/signed-nan.h (minus_NaNf): New function.
	(positive_NaNf, negative_NaNf): Use it.
	(minus_NaNd): New function.
	(positive_NaNd, negative_NaNd): Use it.
	(minus_NaNl): New function.
	(positive_NaNl, negative_NaNl): Use it.
	* tests/test-totalorder.c (TOTALORDER_MINUS): New macro.
	* tests/test-totalorderf.c (TOTALORDER_MINUS): New macro.
	* tests/test-totalorderl.c (TOTALORDER_MINUS): New macro.
	* tests/test-totalorder.h (negative_NaN_with_payload): Use it.
	* tests/test-totalordermag.c (TOTALORDER_MINUS): New macro.
	* tests/test-totalordermagf.c (TOTALORDER_MINUS): New macro.
	* tests/test-totalordermagl.c (TOTALORDER_MINUS): New macro.
	* tests/test-totalordermag.h (negative_NaN_with_payload): Use it.

2024-04-19  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Add a comment about coding style.
	* pygnulib/main.py: Add a note about the common convention of using an
	underscore prefix to mark a function/variable as private.

2024-04-19  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Remove some unused instance variables.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.__init__)
	(GLModule.__init__): Remove unused 'args' instance variable.

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

	fstatat, stat: document macOS st_ino pipe bug
	* doc/posix-functions/fstatat.texi (fstatat):
	* doc/posix-functions/stat.texi (stat):
	Document macOS bug (see <https://bugs.gnu.org/70411>).

2024-04-18  Bruno Haible  <bruno@clisp.org>

	totalordermagl: Add tests.
	* tests/test-totalordermagl.c: New file, based on
	tests/test-totalorderl.c.
	* modules/totalordermagl-tests: New file, based on
	modules/totalorderl-tests.

	totalordermagl: New module.
	* lib/math.in.h (totalordermagl): New declaration.
	* lib/totalordermagl.c: New file, based on lib/totalorderl.c.
	* m4/math_h.m4 (gl_MATH_H): Test whether totalordermagl is declared.
	(gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_TOTALORDERMAGL.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_TOTALORDERMAGL,
	REPLACE_TOTALORDERMAGL.
	* modules/math (Makefile.am): Substitute GNULIB_TOTALORDERMAGL,
	HAVE_TOTALORDERMAGL, REPLACE_TOTALORDERMAGL.
	* modules/totalordermagl: New file, based on modules/totalorderl.
	* doc/posix-functions/totalordermagl.texi: Mention the new module.

2024-04-18  Bruno Haible  <bruno@clisp.org>

	totalordermagf: Add tests.
	* tests/test-totalordermagf.c: New file, based on
	tests/test-totalorderf.c.
	* modules/totalordermagf-tests: New file, based on
	modules/totalorderf-tests.

	totalordermagf: New module.
	* lib/math.in.h (totalordermagf): New declaration.
	* lib/totalordermagf.c: New file, based on lib/totalorderf.c.
	* m4/math_h.m4 (gl_MATH_H): Test whether totalordermagf is declared.
	(gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_TOTALORDERMAGF.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_TOTALORDERMAGF,
	REPLACE_TOTALORDERMAGF.
	* modules/math (Makefile.am): Substitute GNULIB_TOTALORDERMAGF,
	HAVE_TOTALORDERMAGF, REPLACE_TOTALORDERMAGF.
	* modules/totalordermagf: New file, based on modules/totalorderf.
	* doc/posix-functions/totalordermagf.texi: Mention the new module.

2024-04-18  Bruno Haible  <bruno@clisp.org>

	totalordermag: Add tests.
	* tests/test-totalordermag.c: New file, based on
	tests/test-totalorder.c.
	* tests/test-totalordermag.h: New file, based on
	tests/test-totalorder.h.
	* modules/totalordermag-tests: New file, based on
	modules/totalorder-tests.

	totalordermag: New module.
	* lib/math.in.h (totalordermag): New declaration.
	* lib/totalordermag.c: New file, based on lib/totalorder.c.
	* m4/totalordermag.m4: New file, based on m4/totalorder.m4.
	* m4/math_h.m4 (gl_MATH_H): Test whether totalordermag is declared.
	(gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_TOTALORDERMAG.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_TOTALORDERMAG,
	REPLACE_TOTALORDERMAG.
	* modules/math (Makefile.am): Substitute GNULIB_TOTALORDERMAG,
	HAVE_TOTALORDERMAG, REPLACE_TOTALORDERMAG.
	* modules/totalordermag: New file, based on modules/totalorder.
	* doc/posix-functions/totalordermag.texi: Mention the new module.

2024-04-18  Bruno Haible  <bruno@clisp.org>

	setpayloadsig*: Support newer MIPS CPUs.
	* lib/setpayloadsig.c (setpayloadsig): On MIPS CPUs with MIPS_NAN2008_DOUBLE,
	reject a zero payload.
	* lib/setpayloadsigf.c (setpayloadsigf): On MIPS CPUs with MIPS_NAN2008_FLOAT,
	reject a zero payload.
	* lib/setpayloadsigl.c (setpayloadsigl): On MIPS CPUs with
	MIPS_NAN2008_LONG_DOUBLE, reject a zero payload.

2024-04-18  Bruno Haible  <bruno@clisp.org>

	setpayload*: Support newer MIPS CPUs.
	* lib/setpayload.c (setpayload): On MIPS CPUs with MIPS_NAN2008_DOUBLE,
	accept a zero payload.
	* lib/setpayloadf.c (setpayloadf): On MIPS CPUs with MIPS_NAN2008_FLOAT,
	accept a zero payload.
	* lib/setpayloadl.c (setpayloadl): On MIPS CPUs with
	MIPS_NAN2008_LONG_DOUBLE, accept a zero payload.
	* m4/setpayload.m4 (gl_FUNC_SETPAYLOADF, gl_FUNC_SETPAYLOAD,
	gl_FUNC_SETPAYLOADL): Invoke gl_NAN_MIPS.
	* modules/setpayload (Files): Add m4/nan-mips.m4.
	* modules/setpayloadf (Files): Likewise.
	* modules/setpayloadl (Files): Likewise.

2024-04-18  Bruno Haible  <bruno@clisp.org>

	totalorder*: Support newer MIPS CPUs.
	* lib/totalorder.c (totalorder): On MIPS CPUs with MIPS_NAN2008_DOUBLE,
	don't invert the most significant bit of the mantissa field.
	* lib/totalorderf.c (totalorderf): On MIPS CPUs with MIPS_NAN2008_FLOAT,
	don't invert the most significant bit of the mantissa field.
	* lib/totalorderl.c (totalorderl): On MIPS CPUs with
	MIPS_NAN2008_LONG_DOUBLE, don't invert the most significant bit of the
	mantissa field.
	* m4/totalorder.m4 (gl_FUNC_TOTALORDERF, gl_FUNC_TOTALORDER,
	gl_FUNC_TOTALORDERL): Invoke gl_NAN_MIPS.
	* modules/totalorder (Files): Add m4/nan-mips.m4.
	* modules/totalorderf (Files): Likewise.
	* modules/totalorderl (Files): Likewise.

2024-04-18  Bruno Haible  <bruno@clisp.org>

	snan: Add support for m68k.
	* lib/snan.h (construct_memory_SNaNl): Handle m68k specially.

2024-04-18  Bruno Haible  <bruno@clisp.org>

	totalorderl: Simplify on MSVC.
	* lib/totalorderl.c (totalorderl): If 'long double' is the same as
	'double', just invoke totalorder. Otherwise, drop the optimized code
	for small 'long double' since it does not occur on any platform.
	* m4/totalorder.m4 (gl_FUNC_TOTALORDERL): Require
	gl_LONG_DOUBLE_VS_DOUBLE. If 'long double' is the same as 'double', use
	TOTALORDER_LIBM.
	* modules/totalorderl (Depends-on): Add totalorder.

2024-04-18  Bruno Haible  <bruno@clisp.org>

	signbit: Fix typos.
	* lib/signbitd.c: Fix typo in comment.
	* lib/signbitf.c: Likewise.

2024-04-18  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Ignore 'attribute-defined-outside-init' warnings.
	* pygnulib/.pylintrc: Add W0201 to the disabled warnings.
	See discussion here:
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00275.html>

2024-04-17  Bruno Haible  <bruno@clisp.org>

	totalorder* tests: Strengthen tests.
	* tests/test-totalorder.h: Include <math.h>.
	(positive_NaN_with_payload, negative_NaN_with_payload): New functions.
	(main): Test quiet NaNs of each sign with different payload.
	* tests/test-totalorder.c (TOTALORDER_POSITIVE_NAN,
	TOTALORDER_NEGATIVE_NAN): Remove macros.
	(TOTALORDER_SETPAYLOAD): New macro.
	* tests/test-totalorderf.c (TOTALORDER_POSITIVE_NAN,
	TOTALORDER_NEGATIVE_NAN): Remove macros.
	(TOTALORDER_SETPAYLOAD): New macro.
	* tests/test-totalorderl.c (TOTALORDER_POSITIVE_NAN,
	TOTALORDER_NEGATIVE_NAN): Remove macros.
	(TOTALORDER_SETPAYLOAD): New macro.
	* modules/totalorder-tests (Depends-on): Add setpayload.
	(Makefile.am): Link test-totalorder with $(SETPAYLOAD_LIBM).
	* modules/totalorderf-tests (Depends-on): Add setpayloadf.
	(Makefile.am): Link test-totalorderf with $(SETPAYLOADF_LIBM).
	* modules/totalorderl-tests (Depends-on): Add setpayloadl.
	(Makefile.am): Link test-totalorderl with $(SETPAYLOADL_LIBM).

2024-04-17  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Use same warning style as gnulib-tool.sh.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Prefix the
	"incompatible license" message with "gnulib-tool: warning: ".

2024-04-17  Bruno Haible  <bruno@clisp.org>

	stdio, utime-h: Fix more linkage errors when using C++.
	* lib/stdio.in.h (rpl_fwrite, rpl_fwrite_unlocked): Use _GL_EXTERN_C
	instead of extern.
	* lib/utime.in.h (_gl_utimens_windows): Likewise.

2024-04-17  Bruno Haible  <bruno@clisp.org>

	Fix linkage errors when using C++.
	Reported by Miro Palmu <email@miropalmu.cc> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00274.html>.
	* lib/acl.h: Add 'extern "C" {' / '}' boilerplate.
	* lib/alignalloc.h: Likewise.
	* lib/aligned-malloc.h: Likewise.
	* lib/allocator.h: Likewise.
	* lib/arcfour.h: Likewise.
	* lib/arctwo.h: Likewise.
	* lib/areadlink.h: Likewise.
	* lib/argv-iter.h: Likewise.
	* lib/argz.in.h: Likewise.
	* lib/binary-io.h: Likewise.
	* lib/bitrotate.h: Likewise.
	* lib/bitset.h: Likewise.
	* lib/bitsetv.h: Likewise.
	* lib/c-strcaseeq.h: Likewise.
	* lib/canon-host.h: Likewise.
	* lib/careadlinkat.h: Likewise.
	* lib/chdir-long.h: Likewise.
	* lib/check-version.h: Likewise.
	* lib/classpath.h: Likewise.
	* lib/cloexec.h: Likewise.
	* lib/close-stream.h: Likewise.
	* lib/crc.h: Likewise.
	* lib/csharpcomp.h: Likewise.
	* lib/csharpexec.h: Likewise.
	* lib/cycle-check.h: Likewise.
	* lib/des.h: Likewise.
	* lib/dev-ino.h: Likewise.
	* lib/di-set.h: Likewise.
	* lib/eealloc.h: Likewise.
	* lib/exclude.h: Likewise.
	* lib/execinfo.in.h: Likewise.
	* lib/execute.h: Likewise.
	* lib/exitfail.h: Likewise.
	* lib/fcntl-safer.h: Likewise.
	* lib/file-set.h: Likewise.
	* lib/file-type.h: Likewise.
	* lib/filenamecat.h: Likewise.
	* lib/filevercmp.h: Likewise.
	* lib/fpending.h: Likewise.
	* lib/fprintftime.h: Likewise.
	* lib/fpucw.h: Likewise.
	* lib/fsusage.h: Likewise.
	* lib/ftoastr.h: Likewise.
	* lib/full-read.h: Likewise.
	* lib/gc.h: Likewise.
	* lib/getndelim2.h: Likewise.
	* lib/getnline.h: Likewise.
	* lib/getugroups.h: Likewise.
	* lib/glthread/tls.h: Likewise.
	* lib/hamt.h: Likewise.
	* lib/hard-locale.h: Likewise.
	* lib/hash-pjw-bare.h: Likewise.
	* lib/hash-pjw.h: Likewise.
	* lib/hash-triple.h: Likewise.
	* lib/hmac.h: Likewise.
	* lib/human.h: Likewise.
	* lib/i-ring.h: Likewise.
	* lib/idcache.h: Likewise.
	* lib/idx.h: Likewise.
	* lib/ino-map.h: Likewise.
	* lib/inttostr.h: Likewise.
	* lib/isapipe.h: Likewise.
	* lib/javacomp.h: Likewise.
	* lib/javaexec.h: Likewise.
	* lib/jit/cache.h: Likewise.
	* lib/linebuffer.h: Likewise.
	* lib/localeinfo.h: Likewise.
	* lib/long-options.h: Likewise.
	* lib/mbchar.h: Likewise.
	* lib/mbfile.h: Likewise.
	* lib/mbiter.h: Likewise.
	* lib/mbiterf.h: Likewise.
	* lib/mbuiter.h: Likewise.
	* lib/mbuiterf.h: Likewise.
	* lib/mcel.h: Likewise.
	* lib/memcasecmp.h: Likewise.
	* lib/memcoll.h: Likewise.
	* lib/memxor.h: Likewise.
	* lib/mgetgroups.h: Likewise.
	* lib/mkdir-p.h: Likewise.
	* lib/modechange.h: Likewise.
	* lib/mountlist.h: Likewise.
	* lib/mpsort.h: Likewise.
	* lib/msvc-nothrow.h: Likewise.
	* lib/nan.h: Likewise.
	* lib/openat-priv.h: Likewise.
	* lib/openat.h: Likewise.
	* lib/opendirat.h: Likewise.
	* lib/pagealign_alloc.h: Likewise.
	* lib/parse-datetime.h: Likewise.
	* lib/parse-duration.h: Likewise.
	* lib/physmem.h: Likewise.
	* lib/posixtm.h: Likewise.
	* lib/posixver.h: Likewise.
	* lib/printf-frexp.h: Likewise.
	* lib/printf-frexpl.h: Likewise.
	* lib/priv-set.h: Likewise.
	* lib/quote.h: Likewise.
	* lib/quotearg.h: Likewise.
	* lib/read-file.h: Likewise.
	* lib/readline.h: Likewise.
	* lib/readtokens.h: Likewise.
	* lib/readtokens0.h: Likewise.
	* lib/regex-quote.h: Likewise.
	* lib/renameatu.h: Likewise.
	* lib/rijndael-alg-fst.h: Likewise.
	* lib/rijndael-api-fst.h: Likewise.
	* lib/safe-alloc.h: Likewise.
	* lib/safe-write.h: Likewise.
	* lib/same-inode.h: Likewise.
	* lib/same.h: Likewise.
	* lib/save-cwd.h: Likewise.
	* lib/savedir.h: Likewise.
	* lib/savewd.h: Likewise.
	* lib/selinux-at.h: Likewise.
	* lib/signed-nan.h: Likewise.
	* lib/signed-snan.h: Likewise.
	* lib/snan.h: Likewise.
	* lib/sockets.h: Likewise.
	* lib/stdio-safer.h: Likewise.
	* lib/stdlib-safer.h: Likewise.
	* lib/streq.h: Likewise.
	* lib/strerror-override.h: Likewise.
	* lib/tmpdir.h: Likewise.
	* lib/trim.h: Likewise.
	* lib/u64.h: Likewise.
	* lib/unicase/casefold.h: Likewise.
	* lib/unicase/caseprop.h: Likewise.
	* lib/unicase/invariant.h: Likewise.
	* lib/unicase/special-casing.in.h: Likewise.
	* lib/unicase/unicasemap.h: Likewise.
	* lib/unicodeio.h: Likewise.
	* lib/unilbrk/lbrktables.h: Likewise.
	* lib/unilbrk/ulc-common.h: Likewise.
	* lib/uninorm/decompose-internal.h: Likewise.
	* lib/unistd-safer.h: Likewise.
	* lib/unitypes.in.h: Likewise.
	* lib/uniwbrk/wbrktable.h: Likewise.
	* lib/unlinkdir.h: Likewise.
	* lib/userspec.h: Likewise.
	* lib/utimecmp.h: Likewise.
	* lib/utimens.h: Likewise.
	* lib/windows-spawn.h: Likewise.
	* lib/write-any-file.h: Likewise.
	* lib/xbinary-io.h: Likewise.
	* lib/xgetcwd.h: Likewise.
	* lib/xgetdomainname.h: Likewise.
	* lib/xgethostname.h: Likewise.
	* lib/xmemcoll.h: Likewise.
	* lib/xprintf.h: Likewise.
	* lib/xreadlink.h: Likewise.
	* lib/xsize.h: Likewise.
	* lib/xstrndup.h: Likewise.
	* lib/xstrtod.h: Likewise.
	* lib/xstrtol.h: Likewise.
	* lib/yesno.h: Likewise.
	* lib/isnand-nolibm.h (isnand): Declare with C linkage.
	* lib/isnanf-nolibm.h (isnanf): Likewise.
	* lib/isnanl-nolibm.h (isnanl): Likewise.

2024-04-17  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Make an instance variable local to a function.
	* pygnulib/GLImport.py (GLImport.execute): Define the GLFileAssistant as
	local to this function because it is unused elsewhere.

2024-04-17  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Remove an unused instance attribute.
	* pygnulib/GLImport.py (GLImport.__init__): Remove the unused
	GLFileSystem object.

2024-04-17  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix a pylint 'attribute-defined-outside-init' warning.
	* pygnulib/GLModuleSystem.py (GLModuleTable.transitive_closure): Don't
	define a 'modules' attribute since it is never used.

2024-04-17  Bruno Haible  <bruno@clisp.org>

	getpayloadl: Add tests.
	* tests/test-getpayloadl.c: New file.
	* modules/getpayloadl-tests: New file.

	getpayloadl: New module.
	* lib/math.in.h (getpayloadl): New declaration.
	* lib/getpayloadl.c: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether getpayloadl is declared.
	(gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_GETPAYLOADL.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_GETPAYLOADL, REPLACE_GETPAYLOADL.
	* modules/math (Makefile.am): Substitute GNULIB_GETPAYLOADL,
	HAVE_GETPAYLOADL, REPLACE_GETPAYLOADL.
	* modules/getpayloadl: New file.
	* doc/posix-functions/getpayloadl.texi: Mention the new module and the
	glibc bug.

2024-04-17  Bruno Haible  <bruno@clisp.org>

	getpayloadf: Add tests.
	* tests/test-getpayloadf.c: New file.
	* modules/getpayloadf-tests: New file.

	getpayloadf: New module.
	* lib/math.in.h (getpayloadf): New declaration.
	* lib/getpayloadf.c: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether getpayloadf is declared.
	(gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_GETPAYLOADF.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_GETPAYLOADF, REPLACE_GETPAYLOADF.
	* modules/math (Makefile.am): Substitute GNULIB_GETPAYLOADF,
	HAVE_GETPAYLOADF, REPLACE_GETPAYLOADF.
	* modules/getpayloadf: New file.
	* doc/posix-functions/getpayloadf.texi: Mention the new module and the
	glibc bug.

2024-04-17  Bruno Haible  <bruno@clisp.org>

	getpayload: Add tests.
	* tests/test-getpayload.c: New file.
	* modules/getpayload-tests: New file.

	getpayload: New module.
	* lib/math.in.h (getpayload): New declaration.
	* lib/getpayload.c: New file.
	* m4/getpayload.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether getpayload is declared.
	(gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_GETPAYLOAD.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_GETPAYLOAD, REPLACE_GETPAYLOAD.
	* modules/math (Makefile.am): Substitute GNULIB_GETPAYLOAD,
	HAVE_GETPAYLOAD, REPLACE_GETPAYLOAD.
	* modules/getpayload: New file.
	* doc/posix-functions/getpayload.texi: Mention the new module and the
	glibc bug.

2024-04-16  Sam James  <sam@gentoo.org>

	wchar: Fix serial number.
	* m4/wchar_h.m4: Remove duplicate serial number specification and
	increment serial.

2024-04-16  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Make GLModule's __eq__ and __hash__ method agree.
	* pygnulib/GLModuleSystem.py (GLModuleTable.__hash__): Only use the
	module name in hash computations.

2024-04-16  Bruno Haible  <bruno@clisp.org>

	setpayloadsigl: Add tests.
	* tests/test-setpayloadsigl.c: New file, based on
	tests/test-setpayloadl.c.
	* modules/setpayloadsigl-tests: New file.

	setpayloadsigl: New module.
	* lib/math.in.h (setpayloadsigl): New declaration.
	* lib/setpayloadsigl.c: New file, based on lib/setpayloadl.c.
	* m4/math_h.m4 (gl_MATH_H): Test whether setpayloadsigl is declared.
	(gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_SETPAYLOADSIGL.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_SETPAYLOADSIGL.
	* modules/math (Makefile.am): Substitute GNULIB_SETPAYLOADSIGL,
	HAVE_SETPAYLOADSIGL.
	* modules/setpayloadsigl: New file.
	* doc/posix-functions/setpayloadsigl.texi: Mention the new module.

2024-04-16  Bruno Haible  <bruno@clisp.org>

	setpayloadsigf: Add tests.
	* tests/test-setpayloadf.c (PAYLOAD_BITS): New macro.
	(main): Use it.
	* tests/test-setpayloadsigf.c: New file, based on
	tests/test-setpayloadf.c.
	* modules/setpayloadsigf-tests: New file.

	setpayloadsigf: New module.
	* lib/math.in.h (setpayloadsigf): New declaration.
	* lib/setpayloadsigf.c: New file, based on lib/setpayloadf.c.
	* m4/math_h.m4 (gl_MATH_H): Test whether setpayloadsigf is declared.
	(gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_SETPAYLOADSIGF.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_SETPAYLOADSIGF.
	* modules/math (Makefile.am): Substitute GNULIB_SETPAYLOADSIGF,
	HAVE_SETPAYLOADSIGF.
	* modules/setpayloadsigf: New file.
	* doc/posix-functions/setpayloadsigf.texi: Mention the new module.

2024-04-16  Bruno Haible  <bruno@clisp.org>

	setpayloadsig: Add tests.
	* tests/test-setpayload.c (PAYLOAD_BITS): New macro.
	(main): Use it.
	* tests/test-setpayloadsig.c: New file, based on
	tests/test-setpayload.c.
	* modules/setpayloadsig-tests: New file.

	setpayloadsig: New module.
	* lib/math.in.h (setpayloadsig): New declaration.
	* lib/setpayloadsig.c: New file, based on lib/setpayload.c.
	* m4/setpayloadsig.m4: New file, based on m4/setpayload.m4.
	* m4/math_h.m4 (gl_MATH_H): Test whether setpayloadsig is declared.
	(gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_SETPAYLOADSIG.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_SETPAYLOADSIG.
	* modules/math (Makefile.am): Substitute GNULIB_SETPAYLOADSIG,
	HAVE_SETPAYLOADSIG.
	* modules/setpayloadsig: New file.
	* doc/posix-functions/setpayloadsig.texi: Mention the new module.

2024-04-16  Bruno Haible  <bruno@clisp.org>

	setpayloadl: Fix platform-specific bugs.
	* lib/setpayloadl.c (setpayloadl): On m68k, consider the actual memory
	layout of a 'long double'. On platforms with quadruple-precision
	'long double', store 111 bits of payload, not only 110 bits.

2024-04-16  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Prefer 'not in' over 'not ... in'.
	* pygnulib/GLEmiter.py (GLEmiter.autoconfSnippet): Change conditional.
	* pygnulib/GLModuleSystem.py (GLModuleTable.addConditional): Likewise.

2024-04-16  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Make data structures more clear.
	* pygnulib/GLModuleSystem.py (GLModuleTable.__init__): Use a set to
	represent the unconditional modules instead of a dictionary. Remove
	redundant comments.
	(GLModuleTable.addUnconditional): Add the module to a set instead of
	using it as a key to the dictionary.

2024-04-16  Bruno Haible  <bruno@clisp.org>

	setpayloadl: Add tests.
	* tests/test-setpayloadl.c: New file.
	* modules/setpayloadl-tests: New file.

	setpayloadl: New module.
	* lib/math.in.h (setpayloadl): New declaration.
	* lib/setpayloadl.c: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether setpayloadl is declared.
	(gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_SETPAYLOADL.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_SETPAYLOADL.
	* modules/math (Makefile.am): Substitute GNULIB_SETPAYLOADL,
	HAVE_SETPAYLOADL.
	* modules/setpayloadl: New file.
	* doc/posix-functions/setpayloadl.texi: Mention the new module.

2024-04-16  Bruno Haible  <bruno@clisp.org>

	setpayloadf: Add tests.
	* tests/test-setpayloadf.c: New file.
	* modules/setpayloadf-tests: New file.

	setpayloadf: New module.
	* lib/math.in.h (setpayloadf): New declaration.
	* lib/setpayloadf.c: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether setpayloadf is declared.
	(gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_SETPAYLOADF.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_SETPAYLOADF.
	* modules/math (Makefile.am): Substitute GNULIB_SETPAYLOADF,
	HAVE_SETPAYLOADF.
	* modules/setpayloadf: New file.
	* doc/posix-functions/setpayloadf.texi: Mention the new module.

2024-04-16  Bruno Haible  <bruno@clisp.org>

	setpayload: Add tests.
	* tests/test-setpayload.c: New file.
	* modules/setpayload-tests: New file.

	setpayload: New module.
	* lib/math.in.h (setpayload): New declaration.
	* lib/setpayload.c: New file.
	* m4/setpayload.m4: New file.
	* m4/math_h.m4 (gl_MATH_H): Test whether setpayload is declared.
	(gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_SETPAYLOAD.
	(gl_MATH_H_DEFAULTS): Initialize HAVE_SETPAYLOAD.
	* modules/math (Makefile.am): Substitute GNULIB_SETPAYLOAD,
	HAVE_SETPAYLOAD.
	* modules/setpayload: New file.
	* doc/posix-functions/setpayload.texi: Mention the new module.

2024-04-15  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Optimize directory creation.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Use a list of possible
	subdirectories and create them upfront instead of checking every file.

2024-04-15  Simon Josefsson  <simon@josefsson.org>

	gitlog-to-changelog: Revert 2024-04-12 fix and add documentation.
	* build-aux/gitlog-to-changelog: Use localtime.
	* doc/gitlog-to-changelog.texi: Add.
	* doc/gnulib.texi (Build Infrastructure Modules): Add.

2024-04-14  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix incorrect type hint.
	* pygnulib/constants.py (filter_filelist): Correct the type hint on the
	'filelist' argument. It is a list of strings, not a string.

2024-04-14  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Write newlines consistently.
	* pygnulib/constants.py (NL): Remove variable.
	* pygnulib/GLImport.py (GLImport.gnulib_comp): Use '\n' instead of
	constants.NL.
	* pygnulib/GLModuleSystem.py
	(GLModule.getAutomakeSnippet_Unconditional): Likewise.
	* pygnulib/main.py (main_with_exception_handling): Likewise.

2024-04-14  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't perform newline conversions.
	* pygnulib/constants.py (nlconvert): Remove function. Remove unused
	platform import.
	* pygnulib/GLImport.py (GLImport.gnulib_cache): Remove calls to
	nlconvert().
	* pygnulib/GLModuleSystem.py
	(GLModule.getAutomakeSnippet_Unconditional): Likewise.
	* pygnulib/GLTestDir.py (GLTestDir.execute, GLMegaTestDir.execute):
	Likewise.

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

	users.txt: Update some more entries.
	* users.txt: Remove cvsps, gpg, gtkreindeer, libvirt, mailfromd, msmtp,
	OPeNDAP. Update some existing entries.

2024-04-14  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Remove some unused variable assignments.
	* pygnulib/GLEmiter.py (GLEmiter.autoconfSnippets): Remove unused
	variable.
	* pygnulib/GLInfo.py (GLInfo.date, GLInfo.version): Remove assignments
	to variables unconditionally set in try, except blocks.
	* pygnulib/GLModuleSystem.py (GLModule.getConditionalName)
	(GLModule.getShellFunc, GLModule.getShellVar): Likewise.

2024-04-14  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't use mutable default arguments.
	* pygnulib/GLFileSystem.py (GLFileAssistant.__init__): Set the default
	argument for 'transformers' to None. If it is None then set it to an
	empty dictionary in the body.

2024-04-13  Bruno Haible  <bruno@clisp.org>

	bootstrap: Implement phase 1 as documented in the --help output.
	Reported by Simon Josefsson as bug #1 in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00152.html>.
	* top/bootstrap: Correct indentation.
	* top/bootstrap-funclib.sh (prepare_GNULIB_SRCDIR): Implement as
	documented:
	If GNULIB_SRCDIR and GNULIB_REVISION are set and there is a 'gnulib'
	submodule, checkout the revision GNULIB_REVISION.
	If GNULIB_SRCDIR and GNULIB_REVISION are set and --no-git is specified,
	don't checkout the revision GNULIB_REVISION.

2024-04-13  Bruno Haible  <bruno@clisp.org>

	bootstrap: Simplify git submodule initialization.
	* top/bootstrap-funclib.sh (prepare_GNULIB_SRCDIR): Err out if git is
	older than version 1.6.4. Remove fallback code for older versions.
	* build-aux/bootstrap: Regenerated.

2024-04-13  Collin Funk  <collin.funk1@gmail.com>

	Improve 'git diff' of Python files.
	* .gitattributes: Add a rule for *.py files.

2024-04-13  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix extra arguments to function call.
	* pygnulib/GLImport.py (GLImport.execute): Add the missing joinpath call
	on two file name components before calling isfile().

2024-04-13  Bruno Haible  <bruno@clisp.org>

	bootstrap: Fix --help messages.
	Reported by Simon Josefsson in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00162.html>.
	* top/bootstrap (usage): Fix the description of GNULIB_SRCDIR. Document
	GNULIB_REFDIR. Use full-sentences style. Tweak wording.
	* top/bootstrap-funclib.sh (autopull_usage): Clarify the phase. Don't
	mention nonexistent options --gnulib-srcdir and --gnulib-refdir. Use
	full-sentences style.
	(autogen_usage): Clarify the phase. Use full-sentences style.
	* build-aux/bootstrap: Regenerated.

2024-04-13  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Code tweak.
	* pygnulib/main.py (main): Move file contents analysis out of a 'with'
	statement.

2024-04-13  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Stop using codecs.open.
	* pygnulib/*.py: To open a file, consistently use
	open(..., mode='[rwa]', newline='\n', encoding='utf-8').

2024-04-13  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Refactor directory tree removals.
	* pygnulib/constants.py (rmtree): New function.
	* pygnulib/GLImport.py (GLImport.execute): Use it instead of calling
	'rm -rf' directly or shutil.rmtree.
	* pygnulib/GLTestDir.py (GLTestDir.execute, GLMegaTestDir.execute):
	Likewise.
	* pygnulib/main.py (main): Likewise.

2024-04-12  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix --copy-file directory creation.
	Reported by Bruno Haible in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00140.html>
	* pygnulib/main.py (main): Make sure that destdir is set in the GLConfig
	object before copying files.

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

	gnulib-tool.py: Implement --add-import --with-*-tests correctly.
	* pygnulib/GLConfig.py (GLConfig.update): Use list-merging for the test
	categories.
	* pygnulib/GLImport.py (GLImport.__init__): Don't merge back those
	values which were already considered by taking the union.

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

	gnulib-tool.py: Implement --add-import --avoid correctly.
	* pygnulib/GLConfig.py (GLConfig.update): Don't test for the unused key
	'tests'.
	(GLConfig.default): Likewise.
	* pygnulib/GLImport.py (GLImport.__init__): Don't merge back those
	values which were already considered by taking the union.

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

	gnulib-tool.py: Refactor.
	* pygnulib/GLConfig.py (GLConfig.update, GLConfig.update_key): Improve
	variable names and comments.
	* pygnulib/GLImport.py (GLImport.__init__): Improve comments.

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

	gnulib-tool.py: Optimize.
	* pygnulib/GLConfig.py (GLConfig.update, GLConfig.update_key): Avoid
	useless cloning of dictionaries.

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

	gnulib-tool.py: Implement --no-conditional-dependencies correctly.
	* pygnulib/GLConfig.py (GLConfig.default): For 'conddeps', return None,
	not False.
	(GLConfig.checkCondDeps): Update result type.
	(resetCondDeps): Reset to return None, not False.
	* pygnulib/GLImport.py (GLImport.actioncmd): Update.

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

	gnulib-tool.py: Implement --no-libtool option correctly.
	* pygnulib/GLConfig.py (GLConfig.default): For 'libtool', return None,
	not False.
	(GLConfig.checkLibtool): Update result type.
	(resetLibtool): Reset to return None, not False.
	* pygnulib/GLImport.py (GLImport.actioncmd): Update.

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

	gnulib-tool.py: Accept conditional dependencies with tests.
	* pygnulib/GLImport.py (GLImport.__init__): Don't reject the combination
	of gl_CONDITIONAL_DEPENDENCIES and gl_WITH_TESTS.
	* pygnulib/GLError.py (GLError.__repr__): Remove error 10.
	* pygnulib/main.py (main_with_exception_handling): Likewise.

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

	gnulib-tool.py: Fix handling of --with-obsolete.
	* pygnulib/constants.py (TESTS): Remove 'obsolete' category.
	* pygnulib/GLConfig.py (GLConfig.__init__): Add optional incobsolete
	parameter.
	(GLConfig.default): Handle 'incobsolete'.
	(GLConfig.checkIncObsolete, GLConfig.setIncObsolete,
	GLConfig.resetIncObsolete): New methods.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.transitive_closure): For
	incobsolete, use new GLConfig methods.
	* pygnulib/GLImport.py (GLImport.__init__, GLImport.actioncmd,
	GLImport.gnulib_cache): Likewise.
	* pygnulib/main.py (main): Pass the incobsolete value to the GLConfig
	constructor.

2024-04-12  Simon Josefsson  <simon@josefsson.org>

	gitlog-to-changelog: Make output reproducible.
	* build-aux/gitlog-to-changelog: Use gmtime instead of localtime.

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

	gnulib-tool.py: Fix parsing of gl_LGPL in gnulib-cache.m4.
	* pygnulib/GLImport.py (GLImport.__init__): Search for gl_LGPL in
	gnulib-cache.m4 more carefully.

	gnulib-tool.py: Fix parsing of gnulib-cache.m4.
	* pygnulib/GLImport.py (GLImport.__init__): While parsing
	gnulib-cache.m4, stop parsing the identifier starting with 'gl_' when
	encountering a character that is not a uppercase letter, digit, or
	underscore.

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

	gnulib-tool.py: Fix misspelled option in output.
	* pygnulib/GLImport.py (GLImport.actioncmd): Fix typo.

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

	gnulib-tool.py: Persist the --with-longrunning-tests option.
	* pygnulib/GLImport.py (GLImport.gnulib_cache): Conditionally add
	gl_WITH_LONGRUNNING_TESTS to gnulib-cache.m4.

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

	gnulib-tool.py: Print warnings just like gnulib-tool.sh.
	* pygnulib/main.py (main): When printing a warning, print just
	"gnulib-tool" instead of the absolute file name.

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

	gnulib-tool.sh: Accept conditional dependencies with tests.
	* gnulib-tool.sh (func_import): Don't reject the combination of
	gl_CONDITIONAL_DEPENDENCIES and gl_WITH_TESTS.

2024-04-11  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Optimize module set lookups.
	* gnulib-tool.py (profiler_args): New variable.
	* pygnulib/GLModuleSystem.py (GLModuleTable.transitive_closure): Turn
	handledmodules into a set.
	(GLModuleTable.transitive_closure_separately): For the 'in' test, use
	a set variable main_modules_set.

2024-04-11  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Remove redundant backslashes from regexps.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Don't backslash ']' when it
	is outside of a set.
	* pygnulib/GLImport.py (GLImport.__init__): Don't use a backslash when
	']' is at the start of a '[...]' set. Don't backslash special characters
	in a '[...]' set since they have their meaning dropped.
	* pygnulib/main.py (main): Likewise.

2024-04-11  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Simplify regular expressions.
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am)
	(GLEmiter.tests_Makefile_am): Change occurrences of '[A-Z][A-Z]*' to
	'[A-Z]+'.

2024-04-11  Bruno Haible  <bruno@clisp.org>

	users.txt: Correct some entries.
	* users.txt: Update some existing entries.

2024-04-11  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.sh: Improve sort order of directories.
	* gnulib-tool.sh (func_import): In file fileset-changes, store directory
	names without a trailing slash.

2024-04-11  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.sh: Remove './' prefix from file names to update or remove.
	* gnulib-tool.sh (func_import): Don't let rewritten file names start
	with './'.

2024-04-11  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix sorting of the LINGUAS file.
	* pygnulib/GLImport.py (GLImport.execute): Sort the list of locales
	before writing them into the LINGUAS file.

2024-04-10  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.sh: Handle .gitignore files that do not end in a newline.
	* gnulib-tool.sh (func_import): If the .gitignore file ends with a
	character other than a newline, add a newline before adding more lines.

2024-04-10  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Skip nonexistent modules instead of failing.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.find): Use the same warning
	wording as gnulib-tool.sh.
	* pygnulib/GLImport.py (GLImport.gnulib_cache): Print the specified
	modules, not the base modules.
	(GLImport.prepare): Don't put None elements into base_modules.

2024-04-10  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Use function arguments instead of magic numbers.
	* pygnulib/GLEmiter.py (GLEmiter.autoconfSnippets): Remove the
	'verifier' integer flag argument. Add the 'module_filter' function
	argument. Use it to determine if Autoconf snippets should be printed for
	each module.
	* pygnulib/GLImport.py (GLImport.gnulib_comp): Update call to use a
	lambda function.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.

2024-04-10  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool: Fix a typo.
	* gnulib-tool.sh: Fix a typo in comment.
	* pygnulib/main.py (main): Likewise.

2024-04-09  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Change the avoid list to a set for lookups.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.__init__): Store the
	avoided modules in a set instead of a list. This is used only for
	membership checks when computing the transitive closure of the given
	modules, therefore prefer the O(1) average case over O(n).

2024-04-09  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Remove unused setter and getter functions.
	* pygnulib/GLModuleSystem.py (GLModuleTable.getAvoids)
	(GLModuleTable.setAvoids): Remove these unused functions.

2024-04-09  Bruno Haible  <bruno@clisp.org>

	totalorder, totalorderf: Avoid miscompilation by gcc on NetBSD/i386.
	* lib/totalorder.c (totalorder): Use the a compiler optimization barrier
	also for GCC.
	* lib/totalorderf.c (totalorderf): Likewise.

2024-04-09  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Simplify use of GLModuleTable accessors.
	* pygnulib/GLModuleSystem.py (GLModuleTable.__getitem__): Remove
	function.
	* pygnulib/GLImport.py (GLImport.gnulib_cache, GLImport.gnulib_comp)
	(GLImport.execute): Use function calls on the GLModuleTable to access
	module lists instead of using keys to emulate a dictionary.

2024-04-09  Bruno Haible  <bruno@clisp.org>

	totalorder, totalorderf: Avoid miscompilation by clang on OpenBSD/i386.
	* lib/totalorder.c (totalorder): Insert a compiler optimization barrier.
	* lib/totalorderf.c (totalorderf): Likewise.

2024-04-09  Bruno Haible  <bruno@clisp.org>

	totalorder, totalorderf: Fix handling of SNaN on i386 and x86_64 CPUs.
	* lib/totalorder.c: Include <string.h>.
	(totalorder): Use memcpy to copy the 'double' values into the union.
	Drop 'volatile'.
	* lib/totalorderf.c: Include <string.h>.
	(totalorderf): Use memcpy to copy the 'float' values into the union.
	Drop 'volatile'.

2024-04-09  Bruno Haible  <bruno@clisp.org>

	totalorder tests: Fix signature test.
	* tests/test-totalorder.c: Test the signature of totalorder, not
	totalorderf.

2024-04-08  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Use single-quotes for strings, part 2.
	* pygnulib/GLEmiter.py (GLEmiter.po_Makevars): Change a double-quoted
	string to single-quotes missed by the previous commit.

2024-04-08  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Use single-quotes for strings.
	* pygnulib/*.py: Change double-quoted strings to use single-quotes
	unless doing so would require adding backslashes.

2024-04-08  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Prefer 'list.append(item)' over 'list += [item]'.
	* pygnulib/*.py: Change occurrences '+= [item]' to use '.append(item)'
	where item is a single element added to the list.
	See discussion here:
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00091.html>

2024-04-08  Bruno Haible  <bruno@clisp.org>

	ptsname_r: Work around ptsname_r bug on NetBSD 10.0.
	* m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): On NetBSD, arrange to override
	ptsname_r.
	* lib/ptsname_r.c (ptsname_r): Add workaround for NetBSD bug.
	* doc/glibc-functions/ptsname_r.texi: Mention the NetBSD bug.

2024-04-08  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix incomplete type hint.
	* pygnulib/GLModuleSystem.py (GLModuleTable.getCondition): Add None to
	the return type hint. This is the return value when the module is not a
	conditional dependency.

2024-04-08  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Remove unnecessary conditional.
	* pygnulib/GLModuleSystem.py (GLModuleTable.__getitem__): Don't check if
	the key is valid twice.

2024-04-08  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Remove an unused and incorrect function.
	* pygnulib/GLFileSystem.py (GLFileAssistant.removeFile): Remove this
	unused function. The correct method of removing an element from a list
	is to use the remove() function, not pop() which takes an index.

2024-04-08  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Omit some unnecessary list() calls around sorted().
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Remove the list()
	call in the argument to sorted. The sorted() function works on any
	iterable and always returns a list.
	* pygnulib/GLImport.py (GLImport.rewrite_old_files)
	(GLImport.rewrite_new_files): Likewise.
	* pygnulib/GLModuleSystem.py (GLModuleTable.transitive_closure)
	(GLModuleTable.transitive_closure_separately): Likewise.
	* pygnulib/GLTestDir.py (GLTestDir.rewrite_files): Likewise.

2024-04-08  Bruno Haible  <bruno@clisp.org>

	pthread-h: Fix configuration (regression 2024-03-28).
	Reported by Collin Funk in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00036.html>.
	* m4/pthread_h.m4 (gl_PTHREAD_H_PART1): New macro, extracted from
	gl_PTHREAD_H.
	(gl_PTHREAD_H): Require it. Define using AC_DEFUN.
	* m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Require gl_PTHREAD_H_PART1,
	not only gl_PTHREAD_H_DEFAULTS.

2024-04-07  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't remove duplicate avoided modules.
	* pygnulib/GLConfig.py (GLConfig.addAvoid): Don't remove duplicates from
	the modules passed with --avoid.

2024-04-07  Bruno Haible  <bruno@clisp.org>

	sigsegv tests: Avoid a crash on NetBSD 10.0/i386.
	* tests/test-sigsegv-catch-stackoverflow1.c
	(stackoverflow_handler_continuation): On NetBSD/i386, align the stack
	pointer before calling longjmp.

2024-04-07  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Add comment.
	* pygnulib/constants.py (joinpath): Document a limitation.

2024-04-07  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't allow path normalization to delete a variable.
	* pygnulib/GLModuleSystem.py
	(GLModule.getAutomakeSnippet_Unconditional): Use os.path.join() on the
	Makefile variable so it isn't deleted by a following '..' from
	os.path.norm().

2024-04-07  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Use auxdir as given by AC_CONFIG_AUX_DIR.
	* pygnulib/GLImport.py (GLImport.__init__): Don't modify the path given
	by AC_CONFIG_AUX_DIR by prefixing it with destdir. Use a more strict
	regular expression instead of cleaner().

2024-04-07  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Locate configure.ac correctly when --dir is given.
	* pygnulib/GLConfig.py (GLConfig.setAutoconfFile): Don't combine the
	given file name argument with destdir.
	* pygnulib/main.py (main): Use os.path.join() instead of joinpath() when
	constructing the path to the configure.ac file. The latter normalizes
	paths which causes the test suite to fail when printed in files.

2024-04-06  Bruno Haible  <bruno@clisp.org>

	expm1l: Work around a NetBSD 10.0/i386 bug.
	* m4/expm1l.m4 (gl_FUNC_EXPM1L): Test the value of
	expm1l(2^LDBL_MIN_EXP).
	* doc/posix-functions/expm1l.texi: Mention the NetBSD 10.0/i386 bug.
	* tests/test-expm1.h (test_function): Allow more deviation on
	NetBSD/i386.

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

	exp2l: Work around a NetBSD 10.0/i386 bug.
	* m4/exp2l.m4 (gl_FUNC_EXP2L): Test the value of exp2l(LDBL_MAX_EXP-1).
	* doc/posix-functions/exp2l.texi: Mention the NetBSD 10.0/i386 bug.

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

	roundl: Fix a link error on Linux/powerpc64le.
	* m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an additional TYPE
	argument.
	* m4/isfinite.m4 (gl_ISFINITE): Use the type 'double'.
	* m4/isinf.m4 (gl_ISINF): Likewise.
	* m4/round.m4 (gl_FUNC_ROUND): Likewise.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Use the type 'float'.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Use the type 'long double'.

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

	exp2l tests: Enable a test for glibc versions >= 2.16.
	* tests/test-exp2.h (test_function): Disable a glibc bug workaround for
	glibc versions >= 2.16.

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

	expl tests: Avoid test failure on NetBSD 10.0/i386.
	* tests/test-exp.h (test_function): Allow more deviation on NetBSD/i386.

2024-04-05  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Use 'Any' instead of type unions in GLConfig.
	* pygnulib/GLConfig.py (GLConfig.__getitem__, GLConfig.dictionary)
	(GLConfig.default, GLConfig.isdefault, GLConfig.values): Use 'Any' from
	the typing module instead of large type unions. This silences unhelpful
	warnings from type checkers.

2024-04-05  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix 'consider-using-set-comprehension' warnings.
	* pygnulib/GLImport.py (GLImport.prepare): Create a set directly instead
	of creating a list and passing it to a call of set().
	(GLImport.__init__): Likewise. Use max() instead of getting the last
	element of a sorted list.

2024-04-05  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix 'consider-using-with' pylint warnings.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.list): Use run() instead of
	Popen() from the subprocess module. This function handles cleanup
	internally instead of as a context manager via the 'with' statement.

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

	Update for NetBSD 9.3 and 10.0.
	* doc/*/*.texi: Update for NetBSD 9.3 and 10.0.
	* m4/expm1l.m4 (gl_FUNC_EXPM1L): Update comments and cross-compilation
	guess.
	* m4/log1pl.m4 (gl_FUNC_LOG1PL_WORKS): Likewise.
	* m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
	* m4/printf.m4 (gl_SWPRINTF_DIRECTIVE_LA): Likewise.
	* m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): Likewise.
	* m4/fcntl.m4: Update comments.
	* m4/fenv-environment.m4: Likewise.
	* m4/fenv-exceptions-trapping.m4: Likewise.
	* m4/fnmatch.m4: Likewise.
	* m4/getcwd-abort-bug.m4: Likewise.
	* m4/iswdigit.m4: Likewise.
	* m4/iswxdigit.m4: Likewise.
	* m4/modfl.m4: Likewise.
	* m4/wcscmp.m4: Likewise.
	* m4/wcsncmp.m4: Likewise.
	* m4/wctrans.m4: Likewise.
	* m4/wcwidth.m4: Likewise.

2024-04-04  Collin Funk  <collin.funk1@gmail.com>

	posix-modules, all-modules: Fix --version output using git options.
	* all-modules (func_version): Pass --format and --date options to git
	so the output does not depend on the user's configuration. Pass
	'-n 1' to speed up the operation, since we only need the first entry.
	* posix-modules (func_version): Likewise.

2024-04-04  Bruno Haible  <bruno@clisp.org>

	all-modules: Fix errors during './all-modules --version' execution.
	Reported by Collin Funk in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00050.html>.
	* all-modules (func_exit, func_fatal_error, func_readlink,
	func_gnulib_dir): Include auxiliary functions from gnulib-tool.sh.

2024-04-04  Bruno Haible  <bruno@clisp.org>

	posix-modules: Sync auxiliary functions from gnulib-tool.sh.
	* posix-modules (func_exit, func_fatal_error, func_readlink,
	func_gnulib_dir): Move before func_usage and func_version. Incorporate
	improvements from gnulib-tool.sh.

2024-04-04  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Ignore 'use-dict-literal' warnings.
	* pygnulib/.pylintrc: Don't emit warning messages suggesting that
	'dict()' be converted to '{}'. This literal can be mistaken for sets,
	see discussion here:
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00054.html>
	* pygnulib/main.py: Document this convention in coding style section.
	* pygnulib/GLFileSystem.py (GLFileAssistant.__init__): Convert an
	occurrence of '{}' to 'dict()'.

2024-04-04  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix pylint 'raise-missing-from' warnings.
	* pygnulib/*.py: Use explicit exception chaining so that stack trace
	messages do not seem like bugs. See examples in:
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00056.html>

2024-04-04  Bruno Haible  <bruno@clisp.org>

	Add serial numbers to *.m4 files that did not have them.
	* m4/*.m4: Ensure the usual file header with file name and serial
	number.

	Make the file header of *.m4 files consistent:
	1. The file name.
	2. The serial number.
	3. The copyright and license header.
	* m4/*.m4: Adjust file headers.

	Make the serial numbers in *.m4 files effective.
	Reported by Sam James in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00051.html>.
	* m4/*.m4: Apply sed -e '1s|^# \(.*[.]m4\) serial |# \1\n# serial |'.

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

	gnulib-tool.sh: Reduce code duplication in last commit.
	* gnulib-tool.sh (func_get_automake_snippet_unconditional): Refactor
	computation of sed_prepend_auxdir.

2024-04-03  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.sh: Don't emit an unnecessary './' path component.
	* gnulib-tool.sh (func_get_automake_snippet_unconditional): Only prefix
	build-aux files with '$(top_srcdir)/' when $auxdir is the top level
	directory.

2024-04-03  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Modernize class declarations to Python 3.
	* pygnulib/GLConfig.py: Remove the explicit object inheritance from
	class declarations. This is previously required in Python 2.
	* pygnulib/GLEmiter.py: Likewise.
	* pygnulib/GLFileSystem.py: Likewise.
	* pygnulib/GLImport.py: Likewise.
	* pygnulib/GLInfo.py: Likewise.
	* pygnulib/GLMakefileTable.py: Likewise.
	* pygnulib/GLModuleSystem.py: Likewise.
	* pygnulib/GLTestDir.py: Likewise.

2024-04-03  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Ignore pylint 'unidiomatic-typecheck' warnings.
	* pygnulib/.pylintrc: Disable warning C0123 since we don't mind using
	'type() is' instead of 'isinstance'.

2024-04-03  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't ignore the argument to --doc-base.
	* pygnulib/main.py (main): Check for the argument to --doc-base before
	creating the GLConfig object.

2024-04-03  Pádraig Brady  <P@draigBrady.com>

	quotearg: fix shell-escape quoting with single quotes
	With shell-escape quoting, we misquoted strings
	where the first and last characters required escaping,
	while the string also contained single quotes.

	* lib/quotearg.c (quotearg_buffer_restyled): Ensure that
	pending_shell_escape_end is reset to the initial state
	when reprocessing input due to single quotes.
	* tests/test-quotearg-simple.c: Add a minimal test case.
	* tests/test-quotearg.c: Likewise.
	* tests/test-quotearg.h: Likewise.
	Reported by Grisha Levit

2024-04-02  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Use [] instead of list() to initialize empty lists.
	* pygnulib/*.py: Change occurrences of list() to [].

2024-04-02  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix determination whether to add the dummy module.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.add_dummy): Only match the
	'lib_SOURCES' variable; stop at end-of-line.

2024-04-02  Pádraig Brady  <P@draigBrady.com>

	renameatu: handle ENOSYS from renameatx_np
	* lib/renameatu.c(): Fall back to renameat() without RENAME_EXCL
	if "Function not implemented" is returned.  This was seen with macFUSE.
	Reported at https://github.com/coreutils/coreutils/issues/79

2024-04-02  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Accept valid make syntax for escaped newlines.
	* pygnulib/GLModuleSystem.py (GLModuleTable.add_dummy): Use
	combine_lines instead of remove remove_backslash_newline so spaces are
	added between each combined line.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.
	* pygnulib/constants.py (remove_backslash_newline): Remove unused
	function.

2024-04-02  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't default to 'build-aux' for --auxdir.
	* pygnulib/GLConfig.py (GLConfig.__getitem__): Don't map '' to
	'build-aux' for the 'auxdir' key.
	* pygnulib/GLImport.py (GLImport.__init__): Change conditional to use an
	empty string instead of None since this is returned when --auxdir is not
	used.

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

	gnulib-tool: Remove unused variables.
	* pygnulib/GLConfig.py: Remove unused variables.
	* pygnulib/GLEmiter.py: Likewise.
	* pygnulib/GLFileSystem.py: Likewise.
	* pygnulib/GLImport.py: Likewise.
	* pygnulib/GLInfo.py: Likewise.
	* pygnulib/GLModuleSystem.py: Likewise.
	* pygnulib/GLTestDir.py: Likewise.
	* pygnulib/main.py: Likewise.
	* gnulib-tool.sh (func_emit_tests_Makefile_am): Remove unused variable
	perhapsLT.

	gnulib-tool.py: Remove no-op statements.
	* pygnulib/GLConfig.py (GLConfig.update): Remove no-op statement.

	gnulib-tool.py: Remove unused imports.
	* pygnulib/GLFileSystem.py: Remove unused imports.
	* pygnulib/GLEmiter.py: Likewise.
	(GLEmiter.autoconfSnippets): Fix type assertion message.

	gnulib-tool.py: Fix some IDE warnings.
	* HACKING: Update configuration of warnings.

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

	gnulib-tool.py: Add developer documentation.
	* HACKING: New section "Debugging the Python implementation of
	gnulib-tool".

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

	gnulib-tool.py: Use a standard Python program directory structure.
	* pygnulib/main.py (main_with_exception_handling): New function for
	existing code.
	* .gnulib-tool.py: New file.
	* pygnulib/constants.py: Update the computation of APP['root'].
	* gnulib-tool.py: Don't set PYTHONPATH.

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

	gnulib-tool.py: Simplify imports.
	* pygnulib/enums.py: New file, extracted from pygnulib/GLFileSystem.py.
	* pygnulib/classes.py: Remove file.
	* pygnulib/GLFileSystem.py: Remove class CopyAction. Update imports.
	* pygnulib/GLTestDir.py: Update imports.
	* pygnulib/GLConfig.py: Update imports and remove 'classes.' prefix.
	* pygnulib/main.py: Likewise.

2024-04-01  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Only check existence for --extract-tests-module.
	* pygnulib/main.py (main): Check that the test module exists instead of
	looking it up and patching it if diff's are found.

2024-04-01  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix --extract-tests-module with a test module.
	* pygnulib/GLModuleSystem.py (GLModule.getTestsName): Return the module
	name with '-tests' appended to it unconditionally.

2024-04-01  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Use case-sensitive sorting for file names.
	* pygnulib/GLImport.py (GLImport.prepare): Remove the str.lower key from
	the call to sorted().

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

	getcwd: port better to buggy file systems
	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
	Time out after 5 seconds.

2024-03-31  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Add missing quotation mark to reminder.
	* pygnulib/GLImport.py (GLImport.execute): Add missing end quote around
	file name in AC_CONFIG_FILES reminder.

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

	quotearg: Improve documentation.
	* lib/quotearg.h: Refer to specification of $'...' syntax. Document a
	limitation of QA_ELIDE_OUTER_QUOTES.

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

	canonicalize[-lgpl] tests: Fix test failure on musl libc.
	Reported by Adept's Lab <adeptslab@gmail.com> via Pádraig Brady at
	<https://lists.gnu.org/archive/html/bug-coreutils/2024-03/msg00086.html>.
	* tests/test-canonicalize-lgpl.c (main): Don't special-case "//"
	handling for musl libc.
	* tests/test-canonicalize.c (main): Likewise.
	* modules/canonicalize-lgpl-tests (Files): Remove m4/musl.m4.
	(configure.ac): Don't invoke gl_MUSL_LIBC.

2024-03-31  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix output of 'po/LINGUAS'.
	* pygnulib/GLImport.py (GLImport.execute): Only use PO files when
	determining the output for po/LINGUAS.

2024-03-31  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix sorting of modules when --local-dir is used.
	* pygnulib/GLModuleSystem.py (GLModule.__eq__, GLModule.__ne__)
	(GLModule.__ge__, GLModule.__gt__, GLModule.__hash__, GLModule.__le__)
	(GLModule.__lt__): Use module names as identifiers instead of paths.

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

	gnulib-tool.py: Make a module's name immediately accessible.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.find): Pass the module name
	to the GLModule constructor.
	(GLModule.__init__): Accept the module's name as argument and store it.
	(GLModule.getName): Simplify.

2024-03-30  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't discard the 'dummy' module.
	* pygnulib/GLImport.py (GLImport.prepare): Don't set modules stored in
	the GLModuleTable until after the 'dummy' module is added.
	* pygnulib/GLModuleSystem.py (GLImport.setBaseModules)
	(GLImport.setFinalModules, GLImport.setMainModules)
	(GLImport.setTestsModules): Don't sort modules since the 'dummy' module
	should be placed last in the Makefiles.

2024-03-30  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix reading of 'gl_VC_FILES' in gnulib-cache.m4.
	* pygnulib/GLImport.py (GLImport.__init__): Check for an empty string
	explicitly in conditional so False is not ignored.

2024-03-30  Bruno Haible  <bruno@clisp.org>

	time_r tests: Avoid misleading skip message on native Windows.
	* tests/test-localtime_r.c (main): Use the macro FRENCH_TZ.
	* tests/test-localtime_r-mt.c (main): Likewise.

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

	time_r-tests: skip French tests if no Europe/Paris
	* tests/test-localtime_r.c (main):
	* tests/test-localtime_r-mt.c (main):
	If TZ='Europe/Paris' does not work, skip these tests.

2024-03-29  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: pacify GCC < 10 -Wsign-compare
	Problem reported by Martin Dorey in:
	https://savannah.gnu.org/bugs/index.php?65537
	* lib/intprops-internal.h (_GL_INT_MULTIPLY_WRAPV):
	When working around GCC bug 91450, pacify -Wsign-compare by
	casting 0 to the result type.

2024-03-29  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Use bold output on Linux, NetBSD, OpenBSD, OmniOS consoles.
	Reported by Pádraig Brady in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00399.html>.
	* gnulib-tool.sh (func_show_module_list): Use 'tput' to determine the
	"bold" capability of terminal types other than xterm*.
	* pygnulib/constants.py (get_terminfo_string, bold_escapes): New
	functions.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Invoke
	constants.bold_escapes.
	* pygnulib/GLImport.py (GLImport.prepare): Likewise.

2024-03-29  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Display specified modules in bold.
	* pygnulib/GLImport.py (GLImport.prepare): Detect terminals starting
	with 'xterm'. Change hexadecimal numbers to octal, matching
	gnulib-tool.sh.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.

2024-03-29  Bruno Haible  <bruno@clisp.org>

	attribute: Work around compiler bug of Oracle cc 12.6.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Expand _GL_ATTRIBUTE_PACKED to
	empty on SunPRO C.

2024-03-29  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Don't print Makefile.am edits that are already done.
	* pygnulib/GLMakefileTable.py (GLMakefileTable): Improve comments.
	(GLMakefileTable.__getitem__): Do not clone the result.
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am, tests_Makefile_am):
	Avoid a KeyError when testing for 'var'.
	Use 'del' to remove a dictionary entry.
	* pygnulib/GLImport.py (GLImport.execute): Avoid a KeyError when
	testing for 'var'. Simplify loop over makefiletable.

2024-03-28  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-state-c99: Fix test failures with Oracle cc 12.6.
	* lib/fenv-except-state-set.c (mask387cw): New function.
	(fesetexceptflag): Use it on glibc.

2024-03-28  Bruno Haible  <bruno@clisp.org>

	mcel tests: Fix test failure with Oracle cc 12.6.
	* tests/test-mcel.c (main): Explicitly return 0 at the end.

2024-03-28  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Drop workarounds for Automake < 1.14.
	Reported by Collin Funk in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00384.html>.
	* gnulib-tool.sh (func_emit_lib_Makefile_am): Emit pkgdata_DATA
	initialization always.
	(func_emit_tests_Makefile_am): Likewise.
	(func_import): Don't emit 'AC_REQUIRE([AM_PROG_CC_C_O])' into
	gnulib-comp.m4.
	(func_create_testdir): Don't emit AM_PROG_CC_C_O into configure.ac.
	Bump required Automake version to 1.14.
	(func_create_megatestdir): Bump required Automake version to 1.14.
	* pygnulib/constants.py: Update comments.
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Emit pkgdata_DATA
	initialization always. Don't return uses_subdirs.
	(GLEmiter.tests_Makefile_am): Likewise.
	* pygnulib/GLImport.py (GLImport.gnulib_comp): Don't emit
	'AC_REQUIRE([AM_PROG_CC_C_O])'.
	(GLImport.execute): Update.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Don't emit AM_PROG_CC_C_O
	into configure.ac. Bump required Automake version to 1.14.
	(GLMegaTestDir.execute): Bump required Automake version to 1.14.

2024-03-28  Bruno Haible  <bruno@clisp.org>

	pthread-h: Fix override of pthread_spinlock_t with non-GNU compilers.
	* m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Define through AC_DEFUN_ONCE.
	Require gl_PTHREAD_H_DEFAULTS, not gl_PTHREAD_H.
	* m4/pthread_h.m4 (gl_PTHREAD_H): Invoke gl_PTHREAD_SPIN.
	* lib/pthread.in.h (pthread_spinlock_t,
	GNULIB_defined_pthread_spin_types): Don't define if
	HAVE_PTHREAD_SPIN_INIT && !REPLACE_PTHREAD_SPIN_INIT.
	* modules/pthread-h (Files): Add m4/pthread-spin.m4.

2024-03-28  Bruno Haible  <bruno@clisp.org>

	havelib: Recognize ELF platform despite SunPRO C on Linux.
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Recognize Linux as an ELF
	platform, even with the SunPRO C compiler that does not define __ELF__.

2024-03-28  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix missing 'gnulib-cache.m4' in EXTRA_DIST.
	* pygnulib/GLMakefileTable.py (GLMakefileTable.parent): Fix the loop
	condition so that it matches gnulib-tool.sh.

2024-03-28  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix whitespace in gnulib-comp.m4.
	* pygnulib/GLEmiter.py (GLEmiter.autoconfSnippet): Prefix each line with
	the indentation string instead of using regular expressions.

2024-03-27  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Inline 'sed' invocations used on library files.
	* pygnulib/GLFileSystem.py (GLFileAssistant.__init__): Update type hints
	and docstrings to reflect changes necessary for using re.sub() instead
	of 'sed'.
	(GLFileAssistant.add_or_update): Use re.sub() instead of invoking 'sed'.
	* pygnulib/GLImport.py (GLImport.prepare): Update transformation
	variables to reflect changes to GLFileAssistant.

2024-03-27  Bruno Haible  <bruno@clisp.org>

	obstack: Work around ICE with Oracle cc 12.6 (regr. 2023-12-01).
	* lib/obstack.in.h (__PTR_ALIGN): Use SMALL_PTRDIFF_T, instead of
	testing sizeof (ptrdiff_t) < sizeof (void *) at compile time.
	* m4/obstack.m4 (gl_FUNC_OBSTACK): Set SMALL_PTRDIFF_T.
	* modules/obstack (Makefile.am): Substitute SMALL_PTRDIFF_T.

2024-03-27  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Add type hints to all functions.
	* pygnulib/*.py: Add type hints and remove duplicate function signatures
	from docstrings.

2024-03-26  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Allow the use of both configure.ac and configure.in.
	* pygnulib/GLImport.py (GLImport.__init__): Remove redundant checks for
	configure.ac and configure.in.
	* pygnulib/main.py (main): Check for configure.ac and configure.in
	before reading it. Pass it to GLImport using the GLConfig object.

2024-03-26  Bruno Haible  <bruno@clisp.org>

	gettime-res: Fix test failure on Solaris 11.4/SPARC.
	* lib/gettime-res.c (gettime_res): On Solaris/SPARC, just return 1 ns.

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

	jit/cache: Fix a compilation error on Solaris 11.4/SPARC.
	* lib/jit/cache.h: On Solaris, include <stddef.h>.

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

	gnulib-tool.py: Print "executing mkdir ..." messages.
	* pygnulib/GLTestDir.py (GLTestDir.execute, GLMegaTestDir.execute):
	Print a message before creating a 'build-aux' directory.

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

	gnulib-tool.py: Tweak last change.
	* pygnulib/GLImport.py (GLImport.execute): Recognize #if also at the
	beginning of an Include snippet.

2024-03-25  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix output of #include directive advice.
	* pygnulib/GLImport.py (GLImport.execute): Copy comment from
	gnulib-tool.sh with modified variable names. Search the 'Include:' as a
	whole instead of each individual line.

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

	gnulib-tool.py: Simplify last change.
	* pygnulib/GLImport.py (GLImport.execute): Remove unnecessary list to
	set and set to list conversion.

2024-03-25  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix "Creating directory" output.
	* pygnulib/GLImport.py (GLImport.execute): Reorder directories. Use
	os.path.join instead of joinpath to avoid path normalization.

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

	gnulib-tool.py: Tweak last change.
	* pygnulib/GLImport.py (GLImport._update_ignorelist_): Rename some local
	variables. Use rstrip built-in function.

2024-03-25  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Handle removed files in the vc ignore files.
	* pygnulib/GLImport.py (GLImport._update_ignorelist_): Handle removed
	files. Check whether the original lines should be removed too.

2024-03-24  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix filetable construction for ignorelist.
	* pygnulib/GLImport.py (GLImport.execute): Fix typo in dictionary key
	that overwrites removed files. Sort ignorelist by directory.

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

	gnulib-tool.py: Use Python raw strings for regular expressions.
	* pygnulib/*.py: Use raw string syntax for regular expression pattern
	strings and repl strings.

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

	gnulib-tool.py: Bring the output into the right order.
	* pygnulib/constants.py (force_output): New function.
	(execute): Flush stdout after printing the "executing ..." line.
	* pygnulib/GLTestDir.py (GLTestDir.execute, GLMegaTestDir.execute):
	Invoke force_output.
	* pygnulib/main.py (test, megatest): Likewise.

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

	nstrtime, c-nstrftime: Fix %c directive's result on glibc ≤ 2.30.
	* lib/strftime.c (__strftime_internal): On glibc ≤ 2.30, like on NetBSD
	and Solaris, remove the last word of the %c directive's result if it
	looks like a time zone.
	* doc/posix-functions/strftime.texi: Update platforms list.

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

	gnulib-tool.py: Fix output of notices.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Don't print notices if the
	verbosity is < -1. Strip newlines from each notice.
	* pygnulib/GLImport.py (GLImport.prepare): Don't print notices if the
	verbosity is < -1. Strip only newlines, not spaces.

2024-03-23  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Fix the modules indentation in --create-testdir' output.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Use specified_modules
	instead of self.config.getModules(), since the latter may be empty.

2024-03-23  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.sh: Use a default auxdir in --extract-automake-snippet.
	* gnulib-tool.sh (extract-automake-snippet): Set auxdir to 'build-aux'
	if it is not set.

2024-03-23  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Don't unnecessarily sort an EXTRA_DIST augmentation.
	* pygnulib/GLModuleSystem.py
	(GLModule.getAutomakeSnippet_Unconditional): Don't remove duplicates or
	sort the filenames in the EXTRA_lib_SOURCES augmentation or the
	EXTRA_DIST augmentation for build-aux.

2024-03-23  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't print Python bools in gnulib-cache.m4.
	* pygnulib/GLImport.py (GLImport.gnulib_cache): Convert Python bools to
	lowercase before printing.

2024-03-23  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Don't unnecessarily run configure && make in testdirs.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Correct the value of
	tests_distributed_built_sources.

2024-03-23  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Fix autoconf snippets inclusion if --single-configure.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Correct the arguments
	passed to autoconfSnippets.

2024-03-23  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Produce same diagnostics regardless of Automake version.
	* pygnulib/GLTestDir.py (_patch_test_driver): Suppress the diagnostics
	from 'patch', and instead provide our own diagnostics.

2024-03-23  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Print "executing touch config.h.in".
	* pygnulib/GLTestDir.py (GLTestDir.execute): Print
	"executing touch config.h.in", like gnulib-tool.sh does.

2024-03-23  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Refactor.
	* pygnulib/GLImport.py (GLImport._done_dir_,
	GLImport._update_ignorelist_, GLImport.execute): Rename some variables.
	(GLImport._update_ignorelist_): Use constants.substart.

2024-03-23  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 69.
	Follow gnulib-tool change
	2012-08-19  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Remove old file names from .cvsignore, .gitignore.
	* pygnulib/GLImport.py (GLImport._update_ignorelist_): Add
	gnulib-comp.m4 to the added file list.
	(GLImport.execute): Remove unused variables. Use sets to match the
	'join' invocations in gnulib-tool.sh.

2024-03-22  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't remove newlines in testdir's Automake snippets.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Don't strip newlines from
	Automake snippets.

2024-03-22  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix empty newline output in test directories.
	* pygnulib/GLTestDir.py (GLTestDir.execute, GLMegaTestDir.execute):
	Match newlines printed by gnulib-tool.sh.

2024-03-22  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix unconditional Automake snippets for non-tests.
	* pygnulib/GLModuleSystem.py
	(GLModule.getAutomakeSnippet_Unconditional): Fix the file lookups used
	to determine the EXTRA_DIST and EXTRA_lib_SOURCES Automake variables.
	Update comment to match gnulib-tool.sh.
	* pygnulib/constants.py (filter_filelist): Fix misleading return type in
	docstring. Return an empty string if no files were found.

2024-03-22  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.sh: Produce same diagnostics regardless of Automake version.
	* gnulib-tool.sh (func_create_testdir, func_create_megatestdir):
	Suppress the diagnostics from 'patch', and instead provide our own
	diagnostics.

2024-03-22  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Remove test-driver.{orig,rej} if patching succeeded.
	* gnulib-tool.sh (func_create_testdir, func_create_megatestdir): After
	a 'patch' command failed, remove the leftover files test-driver.orig and
	test-driver.rej.
	* pygnulib/GLTestDir.py (_patch_test_driver): Likewise.

2024-03-22  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Fix an error in --create-testdir.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Fix chdir calls at the end.

2024-03-21  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.sh: Avoid a redundant space in gl_AVOID in gnulib-cache.m4.
	* gnulib-tool.sh (avoidlist): Don't add a space before the first module
	name.

2024-03-21  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix --extract-recursive-link-directive.
	* pygnulib/GLModuleSystem.py (GLModule.getLinkDirectiveRecursively):
	Check the 'Link:' section of each individual module. Use sets instead of
	lists to remove duplicates.

2024-03-21  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Make --extract-filelist match gnulib-tool.sh.
	* pygnulib/GLModuleSystem.py (GLModule.getFiles_Raw): New function which
	returns the 'Files:' section from a module unchanged.
	(GLModule.getFiles): Use it.
	* pygnulib/main.py (main): Use it and match the output of gnulib-tool.sh
	for --extract-filelist.

2024-03-21  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Make the .gitignore files handling more consistent.
	* gnulib-tool.sh (func_done_dir): Ignore the presence or absence of a
	.git directory if there is a .gitignore file in the same place.
	* pygnulib/GLImport.py (GLImport._done_dir_): Likewise.

2024-03-20  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.sh: Undocument the --[no-]cache-modules options.
	Reported by Collin Funk in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00234.html>.
	Rationale:
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00243.html>.
	* gnulib-tool.sh (func_usage): Don't mention --cache-modules,
	--no-cache-modules.

2024-03-20  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't print empty Automake snippets.
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am)
	(GLEmiter.tests_Makefile_am): Handle empty strings when checking if the
	snippet should be printed.

2024-03-19  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 68.
	Follow gnulib-tool change
	2022-07-31  Akim Demaille  <akim@lrde.epita.fr>
	gnulib-tool: add support for --automake-subdir-tests
	* pygnulib/main.py (main): Add support for --automake-subdir-tests.
	* pygnulib/GLInfo.py (GLInfo.usage): Add --automake-subdir-tests to the
	help message.
	* pygnulib/GLConfig.py (GLConfig.__init__): Add 'automake_subdir_tests'
	to the parameter list. Initialize it.
	(GLConfig.default): Default --automake-subdir-tests to False.
	(GLConfig.resetAutomakeSubdir): Fix misleading docstring.
	(GLConfig.getAutomakeSubdirTests, GLConfig.setAutomakeSubdirTests)
	(GLConfig.resetAutomakeSubdirTests): New functions to manipulate and
	access whether --automake-subdir-tests is in use.
	* pygnulib/GLEmiter.py (GLEmiter.shellvars_init)
	(GLEmiter.initmacro_end): Use sourcebase when handling tests and
	--automake-subdir-tests is given.
	* pygnulib/GLError.py (GLError.__repr__): Update error message to
	include --automake-subdir-tests.
	* pygnulib/GLImport.py (GLImport.__init__): Check for the
	'subdir-objects' Automake option when --automake-subdir-tests is in use.
	(GLImport.actioncmd): Add --automake-subdir-tests to the actioncmd
	printed in generated files.

2024-03-19  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix incorrect assignment operator.
	* pygnulib/GLImport.py (GLImport.actioncmd): Use '+=' instead of '=' to
	append the string to the actioncmd instead of overwriting it.

2024-03-19  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Make it work in the test suite.
	* gnulib-tool.sh (gnulib_dir): Make absolute.
	(func_create_megatestdir): If .git/refs/heads/master does not exist, use
	ChangeLog instead.
	* pygnulib/main.py (main): Make gnulib_dir absolute.
	* pygnulib/GLTestDir.py (GLMegaTestDir.execute): If
	.git/refs/heads/master does not exist, use ChangeLog instead.

2024-03-19  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Make sure temporary files are removed.
	* pygnulib/GLImport.py (GLImport.execute): Fix nesting of statement so
	that both temporary files are removed.

2024-03-19  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 67.
	Follow gnulib-tool change
	2022-03-01  Paul Eggert  <eggert@cs.ucla.edu>
	Create lib/Makefile.am after gnulib-comp.m4
	* pygnulib/GLImport.py (GLImport.execute): Create library makefile after
	creating gnulib-comp.m4.

2024-03-19  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 66.
	Follow gnulib-tool change
	2021-12-25  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Fix handling of module libtextstyle-optional.
	* pygnulib/GLModuleSystem.py (GLModule.repeatModuleInTests): New function.
	* pygnulib/GLEmiter.py (GLEmiter.tests_Makefile_am): Use it for creating
	the tests/Makefile.am.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Use it when creating the
	file list.

2024-03-19  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 65.
	Follow gnulib-tool change
	2021-12-19  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Don't insist on ACLOCAL_AMFLAGS.
	* pygnulib/GLImport.py (GLImport.execute): Don't add extra '-I' before
	m4 directory in ACLOCAL_AMFLAGS. Prefer '0' instead of 'int()'. Mention
	the use of AC_CONFIG_MACRO_DIRS in configure.ac as an alternative to
	augmenting ACLOCAL_AMFLAGS.
	* pygnulib/main.py (main): To find the m4 directories, look also for
	AC_CONFIG_MACRO_DIR and AC_CONFIG_MACRO_DIRS invocations in
	configure.ac. Remove unnecessary call to 'joinpath' since it accepts a
	variable length of arguments.

2024-03-18  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Tweak last change.
	* pygnulib/GLModuleSystem.py (GLModule.isTests, GLModule.isNonTests):
	Update comments.

2024-03-18  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 64.
	Follow gnulib-tool change
	2021-12-25  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Respect applicability 'all' without --single-configure.
	* pygnulib/GLModuleSystem.py (GLModule.isTests): Treat modules with
	applicability 'all' like 'tests' modules, not like 'main' modules.
	(GLModule.isNonTests): Treat all modules not ending in '-tests' as
	non-test modules.
	(GLModule.getApplicability): Don't use GLModule.isTests(). Because it
	depends on the result of this function, using it would cause a
	RecursionError exception.
	(GLModule.getDependencies): Respect the difference between
	module.isTests(), module.isNonTests(), and
	module.getName().endswith('-tests').
	(GLModule.getAutomakeSnippet_Unconditional, GLModule.getLicense)
	(GLModuleTable.add_dummy): Likewise.
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Likewise.

2024-03-17  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Handle empty lists of lines consistently.
	* pygnulib/constants.py (lines_to_multiline): New function.
	(nlremove): Remove unused function.
	* pygnulib/GLEmiter.py (_eliminate_NMD): Use lines_to_multiline instead
	of the '\n'.join idiom.
	(GLEmiter.autoconfSnippet, GLEmiter.autoconfSnippets,
	GLEmiter.lib_Makefile_am): Likewise.
	* pygnulib/GLImport.py (GLImport._update_ignorelist_, GLImport.execute):
	Likewise.
	* pygnulib/GLModuleSystem.py (GLModule.getDependenciesRecursively,
	GLModule.getLinkDirectiveRecursively, GLModuleTable.remove_if_blocks):
	Likewise.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.
	* pygnulib/main.py (main): Likewise.

2024-03-17  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 63.
	Follow gnulib-tool change
	2020-12-28  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Fix logic whether to add a dummy.c.
	* pygnulib/GLModuleSystem.py (GLModuleTable.remove_if_blocks): New
	function.
	(GLModuleTable.add_dummy): Use it to eliminate all conditional
	statements from the automake snippet.

2024-03-17  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't print extra newlines.
	* pygnulib/GLEmiter.py (GLEmiter.initmacro_end): Don't print extra
	newline that are not printed by gnulib-tool.sh.

2024-03-17  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 62.
	Follow gnulib-tool change
	2020-02-22  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Ensure copied files are writable.
	* pygnulib/constants.py (ensure_writable): New function. Make sure files
	are writable.
	(symlink_relative, hardlink): Use it.
	* pygnulib/GLFileSystem.py (GLFileSystem.lookup)
	(GLFileAssistant.add_or_update): Likewise.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.
	* pygnulib/main.py (main): Likewise.

2024-03-17  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Add undocumented option --gnulib-dir.
	* gnulib-tool.sh: Accept --gnulib-dir=... option.
	* pygnulib/constants.py (init_DIRS): New function.
	* pygnulib/main.py (main): Accept --gnulib-dir=... option. Invoke
	init_DIRS. Expect .git directory to be present in DIRS['root'], not
	APP['root'].
	* pygnulib/GLImport.py (GLImport.execute): Use DIRS['root'], not
	APP['root'].

2024-03-17  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 61.
	Follow gnulib-tool change
	2022-01-09  Bruno Haible  <bruno@clisp.org>
	Remove influence of Automake conditionals on conditional dependencies.
	* pygnulib/GLModuleSystem.py (GLModuleTable.transitive_closure): Don't
	inhibit conditional dependencies processing on a module that uses an
	Automake conditional.

2024-03-17  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 60.
	Follow gnulib-tool change
	2019-11-18  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Fix build error on macOS with --conditional-dependencies.
	* pygnulib/GLModuleSystem.py (GLModuleTable.add_dummy): Ignore modules
	that are conditionally enabled.

2024-03-17  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Don't try to remove files that don't exist.
	* pygnulib/GLFileSystem.py (GLFileSystem.add_or_update): Check if the
	temporary file exists before trying to remove it.

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

	renameatu: support RENAME_EXCHANGE on macOS
	* lib/renameatu.c (renameat2ish, renameatu) [RENAME_SWAP]:
	Use macOS RENAME_SWAP to implement GNU/Linux RENAME_EXCHANGE.
	* tests/test-renameatu.c (main): Add a test for RENAME_EXCHANGE.

2024-03-16  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 59.
	Follow gnulib-tool change
	2017-10-29  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Touch the 'config.h.in'
	file after executing 'autoheader' to update it's timestamps.

2024-03-16  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix 'git update-index' call when using hard links.
	* pygnulib/main.py: Fix conditional used to check whether 'git
	update-index' should be called. Only catch FileNotFoundError exceptions
	thrown when no 'git' program exists.

2024-03-16  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Coding style: Avoid not().
	* pygnulib/GLModuleSystem.py (isNonTests): Avoid not(). Write
	'not condition' instead of 'not(condition)'.

2024-03-16  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Coding style: Avoid bool().
	* pygnulib/GLModuleSystem.py (GLModule): Write False instead of bool().

2024-03-16  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 58.
	Follow gnulib-tool change
	2017-05-21  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Add options to create hard links.
	* pygnulib/GLConfig.py (GLConfig.__init__): Add 'copymode' and
	'lcopymode' to the parameter list. Initialize them.
	(GLConfig.default): Don't use symbolic or hard links by default.
	(GLConfig.checkCopyMode, GLConfig.setCopyMode, GLConfig.resetCopyMode):
	New functions to modify and check the method for copying non --local-dir
	files.
	(GLConfig.checkLCopyMode, GLConfig.setLCopyMode)
	(GLConfig.resetLCopyMode): New functions to modify and check the method
	for copying --local-dir files.
	(GLConfig.checkSymbolic, GLConfig.resetSymbolic, GLConfig.setSymbolic)
	(GLConfig.checkLSymbolic, GLConfig.resetLSymbolic)
	(GLConfig.setLSymbolic): Remove unused functions. The functionality of
	these are now implemented in the *CopyMode() and *LCopyMode() variants.
	* pygnulib/GLFileSystem.py (CopyAction.Hardlink): New Enum value to
	describe hard links.
	(GLFileSystem.shouldLink): Check if hard links should be used.
	(GLFileAssistant.add, GLFileAssistant.update): Try to hard link if
	enabled. Copy the file if linking fails.
	(GLFileAssistant.add_or_update): Remove temporary files unconditionally.
	* pygnulib/GLInfo.py (GLInfo.usage): Document new options in the usage
	message.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Try to hard link if
	enabled. Copy the file if linking fails.
	* pygnulib/classes.py: Importy the CopyAction Enum.
	* pygnulib/constants.py (hardlink): New function based on
	symlink_relative.
	* pygnulib/main.py (main): Add new options --hardlink and
	--local-hardlink. Invoke 'git update-index --refresh' to mitigate the
	effects of the hard links on git.

2024-03-16  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.sh: Make --local-dir options in gnulib-cache.m4 look nicer.
	* gnulib-tool.sh (func_import): Append the --local-dir=... options
	through func_append_actionarg.

2024-03-16  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Don't lose the gl_LGPL value from gnulib-cache.m4.
	Reported by Simon Josefsson in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00152.html>.
	* pygnulib/GLConfig.py (GLConfig.default): For the 'lgpl' property,
	return None, not False.

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

	gnulib-tool.py: Don't lose the gl_LOCAL_DIR value from gnulib-cache.m4.
	Reported by Simon Josefsson in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00152.html>.
	* pygnulib/GLConfig.py (GLConfig.default): For the 'localpath' property,
	return [], not ''.

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

	gnulib-tool: Enhance last patch.
	* gnulib-tool: If gnulib-tool.sh failed but gnulib-tool.py succeeded,
	report that and don't erase the outputs and log files.

2024-03-14  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 57.
	Follow gnulib-tool change
	2019-01-04  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: New option --extract-recursive-link-directive.
	* pygnulib/GLModuleSystem.py (GLModule.getDependenciesRecursively): New
	function. Implements the --extract-recursive-dependencies option.
	(GLModule.getLinkDirectiveRecursively): New function. Implements the
	--extract-recursive-link-directive.
	* pygnulib/main.py (main): Add the --extract-recursive-dependencies and
	--extract-recursive-link-directive options.
	* pygnulib/GLInfo.py (GLInfo.usage): Add new options to help message.

2024-03-14  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Obey environment variable GNULIB_TOOL_IMPL.
	* gnulib-tool.sh: Renamed from gnulib-tool.
	* gnulib-tool: New file, based on gnulib-tool.sh.
	* gnulib-tool.py: Check the Python version.

2024-03-14  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix write failure due to bad sourcebase.
	* pygnulib/constants.py (cleaner): Only call strip() on string objects.
	* pygnulib/main.py (main): Fix parsing of AMLOCAL_AMFLAGS from
	Makefile.am. Add some comments from gnulib-tool.

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

	sig2str tests: Refactor.
	* tests/test-sig2str.c (test_sig2str, test_str2sig): New functions,
	extracted from main.
	(main): Invoke them.

2024-03-13  Collin Funk  <collin.funk1@gmail.com>

	sig2str: Add tests.
	* tests/test-sig2str.c: New file.
	* modules/sig2str-tests: New file.

2024-03-12  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 56.
	Follow gnulib-tool change
	2021-04-26  Paul Eggert  <eggert@cs.ucla.edu>
	gnulib-tool: port better to current Autoconf
	* pygnulib/GLImport.py (GLImport.execute): Remove exit() call before
	printing reminders. Suggest replacing AC_PROG_CC_STDC and
	AC_PROG_CC_C99, as per current Autoconf.

2024-03-12  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix last commit.
	* pygnulib/GLEmiter.py (GLEmiter.initmacro_end): Silence Python
	warnings about invalid escape. Make sure to escape the backslash
	character we want to print.

2024-03-12  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 55.
	Follow gnulib-tool changes
	2022-01-05  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Avoid known warnings that reflect Gnulib's coding style.
	2022-01-08  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Remove all *.Po files upon distclean (regr. 2022-01-05).
	* pygnulib/GLEmiter.py (GLEmiter.initmacro_end): Collect the *.Po or
	*.Plo files to remove into an AC_SUBSTed variable gl_LIBOBJDEPS. Use
	Python f-strings instead of string replacements.
	(GLEmiter.lib_Makefile_am): Add the GL_CFLAG_GNULIB_WARNINGS to the
	CFLAGS of all the compilation units of the library. Extend the distclean
	and maintainer-clean rules.
	(GLEmiter.tests_Makefile_am): Add the GL_CFLAG_GNULIB_WARNINGS to the
	CFLAGS.
	* pygnulib/GLImport.py (GLImport.gnulib_comp): Emit an invocation of
	gl_CC_GNULIB_WARNINGS.

2024-03-11  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 54.
	Follow gnulib-tool change
	2021-12-24  Paul Eggert  <eggert@cs.ucla.edu>
	maint: avoid empty lines in recipes
	* pygnulib/GLEmiter.py (_eliminate_NMD_from_line): Eliminate occurrences
	of @!NMD@ too. Document parameters in docstring.
	(_eliminate_NMD): Update docstring to reflect changes. Document
	parameters.

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

	gnulib-tool.py: Tweak last commit.
	* pygnulib/GLEmiter.py (_eliminate_NMD): Don't add an extra newline when
	the result should be empty.

2024-03-11  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 53.
	Follow gnulib-tool change
	2021-12-21  Bruno Haible  <bruno@clisp.org>
	Optimize redundant 'mkdir -p .' invocations.
	* pygnulib/GLEmiter.py (_eliminate_NMD_from_line): New private function
	to remove @NMD@ occurrences from the line of an Automake snippet.
	(_eliminate_NMD): New private function which uses
	_eliminate_NMD_from_line on each line of the Automake snippet.
	(GLEmiter.lib_Makefile_am, GLEmiter.tests_Makefile_am): Use
	_eliminate_NMD on the Automake snippet.

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

	gnulib-tool.py: Make some code more straightforward.
	* pygnulib/GLImport.py (GLImport.__init__): Reorder assignments and
	conditions slightly.

2024-03-11  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 52.
	Follow gnulib-tool change
	2021-12-15  Bruno Haible  <bruno@clisp.org>
	automake-subdir support: Look for 'subdir-objects' also in configure.ac.
	* pygnulib/GLImport.py (GLImport.__init__): Check for 'subdir-objects'
	in the AM_INIT_AUTOMAKE macro of configure.ac.

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

	gnulib-tool.py: Tweak last commit.
	* pygnulib/GLEmiter.py (GLEmiter.initmacro_end): Avoid an implicit str
	to bool conversion.
	* pygnulib/GLImport.py (GLImport.__init__): Add a comment. Don't allow
	a '|' in place of whitespace. Don't emit redundant gl_source_base
	assignments.

2024-03-10  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 51.
	Follow gnulib-tool change
	2021-12-15  Bruno Haible  <bruno@clisp.org>
	Accommodate non-recursive Automake in a less hacky way.
	* pygnulib/GLConfig.py (GLConfig.__init__): Add 'automake_subdir' to the
	parameter list.
	(GLConfig.default): Set the default value of automake_subdir to a
	boolean False.
	(GLConfig.getAutomakeSubdir, GLConfig.setAutomakeSubdir)
	(GLConfig.resetAutomakeSubdir): New functions to access and manipulate
	the automake_subdir option.
	* pygnulib/GLEmiter.py (GLEmiter.shellvars_init): New function.
	(GLEmiter.initmacro_end): Add second parameter 'gentests'. Use it to prefix each
	object file name in *_LIBOBJS and *_LTLIBOBJS.
	* pygnulib/GLError.py (GLError.__init__, GLError.__repr__): Add new
	error for if --automake-subdir is used without the 'subdir-objects'
	Automake option.
	* pygnulib/GLImport.py (GLImport.__init__): Check for 'subdir-objects'
	in Makefile.am.
	(GLImport.actioncmd): Emit --automake-subdir in actioncmd.
	(GLImport.gnulib_cache): Add gl_AUTOMAKE_SUBDIR to gnulib-cache.m4 if
	--automake-subdir is used.
	(GLImport.gnulib_comp): Update calls to GLEmiter.initmacro_end. Call
	GLEmiter.shellvars_init.
	(GLImport.execute): Likewise. Use the build-aux/prefix-gnulib-mk script.
	* pygnulib/GLInfo.py (GLInfo.usage): Add --automake-subdir to the usage
	message.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Update calls to
	GLEmiter.initmacro_end. Call GLEmiter.shellvars_init.
	* pygnulib/main.py (main): Add support for --automake-subdir.

2024-03-10  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool: Don't remove comments referencing @NMD@, part 2.
	* gnulib-tool (func_emit_tests_Makefile_am): Replace lines that start
	with @NMD@ or @!NMD@ instead of lines that contain them.

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

	gnulib-tool.py: One more comment regarding coding style.
	* pygnulib/main.py: Add comment regarding conditional expressions.

2024-03-09  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 50.
	Follow gnulib-tool changes
	2021-12-12  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Try to support non-recursive-gnulib-prefix-hack with tests.
	2021-12-13  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Fix mistake in last commit.
	* pygnulib/GLImport.py (GLImport.gnulib_comp): Expect the filetable as a
	parameter instead of a list of all files. Add type checks. Invoke
	AC_CONFIG_LIBOBJ_DIR based on the location of alloca.c.
	(GLImport.execute): Adjust call to GLImport.gnulib_comp to reflect
	parameter changes.

2024-03-09  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 49.
	Follow gnulib-tool change
	2021-08-07  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Add support for Automake 1.16.4.
	* pygnulib/GLTestDir.py (_patch_test_driver): If patching
	build-aux/test-driver fails with build-aux/test-driver.diff try again
	with build-aux/test-driver-1.16.3.diff.

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

	unistr/u16-to-u32: Relicense under LGPLv2+.
	* modules/unistr/u16-to-u32 (License): Change to LGPLv2+.
	* lib/unistr/u16-to-u32.c: Update license notice.

	unistr/u16-mbtoucr: Relicense under LGPLv2+.
	* modules/unistr/u16-mbtoucr (License): Change to LGPLv2+.
	* lib/unistr/u16-mbtoucr.c: Update license notice.

	unistr/u16-strlen: Relicense under LGPLv2+.
	* modules/unistr/u16-strlen (License): Change to LGPLv2+.
	* lib/unistr/u16-strlen.c: Update license notice.

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

	parse-datetime: Simplify.
	* modules/parse-datetime (Makefile.am): Don't generate
	parse-datetime-gen.h.

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

	parse-datetime: Simplify.
	* lib/parse-datetime.y (yyerror): Change return type to 'void'.

2024-03-09  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 48.
	Follow gnulib-tool change
	2019-01-23  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Support running testdirs on Android.
	* pygnulib/GLError.py (GLError.__init__, GLError.__repr__): Add errno 20
	to print an error if patching build-aux/test-driver fails.
	* pygnulib/main.py (main): Likewise.
	* pygnulib/GLTestDir.py (_patch_test_driver): New private function which
	runs patch on build-aux/test-driver with build-aux/test-driver.diff.
	(GLTestDir.execute, GLMegaTestDir.execute): Check for
	build-aux/test-driver in each testdir and patch it after running
	automake.

2024-03-08  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool: Don't remove comments referencing @NMD@.
	* gnulib-tool (func_emit_lib_Makefile_am): Replace lines that start with
	@NMD@ or @!NMD@ instead of lines that contain them.

2024-03-08  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 47.
	Follow gnulib-tool changes
	2021-12-15  Bruno Haible  <bruno@clisp.org>
	Fix creation of build directories with non-recursive-gnulib-prefix-hack.
	2021-12-18  Bruno Haible  <bruno@clisp.org>
	Fix support for --gnu-make in tests (regression 2021-12-15).
	* pygnulib/GLEmiter.py (_CONVERT_TO_GNU_MAKE): New variable which is a
	list of tuples which are used with re.sub.
	(_convert_to_gnu_make): New function which converts an input snippet
	from Automake to GNU Make syntax using the regular expressions stored in
	_CONVERT_TO_GNU_MAKE.
	(GLEmiter.lib_Makefile_am): Use _convert_to_gnu_make. Replace '%reldir%'
	tokens.
	(GLEmiter.tests_Makefile_am): Likewise.

2024-03-07  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix errors when executing --create-megatestdir.
	* pygnulib/GLTestDir.py (GLMegaTestDir.execute): Create a testdir for
	each module in its own subdirectory. Create a testdir with all modules
	in 'ALL'. Add missing join call on str object. Don't emit 'configure.ac'
	into 'Makefile.am'. Make sure commands are executed in the proper
	directory.

2024-03-07  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 46.
	Follow gnulib-tool change
	2022-02-22  Simon Josefsson  <simon@josefsson.org>
	gnulib-tool: Bump automake dependency.
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am)
	(GLEmiter.tests_Makefile_am): Require Automake >= 1.14, for %reldir%
	support.

2024-03-07  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 45.
	Follow gnulib-tool changes
	2021-12-12  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Support different basenames for the lib/,tests/ Makefiles.
	2022-01-08  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Fix "Don't forget" messages (regression 2021-12-12).
	* pygnulib/GLConfig.py (GLConfig.__init__): Add 'tests_makefile_name'
	argument.
	(GLConfig.getMakefileName, GLConfig.setMakefileName)
	(GLConfig.resetMakefileName): Remove references to tests Makefile.am in
	doc strings.
	(GLConfig.getTestsMakefileNamem, GLConfig.setTestsMakefileName)
	(GLConfig.resetTestsMakefileName): New methods used to access value
	passed with the '--tests-makefile-name' option.
	* pygnulib/GLImport.py (GLImport.__init__): Check for
	'gl_TESTS_MAKEFILE_NAME' in cache.
	(GLImport.actioncmd): Output --tests-makefile-name when describing
	gnulib-tool invocation.
	(GLImport.gnulib_cache): Output 'gl_TESTS_MAKEFILE_NAME' to cache.
	(GLImport.execute): Use two local variables, source_makefile_am and
	tests_makefile_am, which are passed to gnulib-tool.py or given default
	values.
	* pygnulib/GLInfo.py (GLInfo.usage): Add '--tests-makefile-name' to
	usage message.
	* pygnulib/GLMakefileTable.py (GLMakefileTable.parent): Reduce code
	duplication by expecting Makefile names passed as arguments.
	* pygnulib/main.py (main): Add support for '--tests-makefile-name'.

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

	gnulib-tool: Search for a working 'join' program.
	Reported by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00044.html>.
	* gnulib-tool (JOIN): New variable. Use it everywhere instead of 'join'.

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

	c-strtof, c-strtod, c-strtold: Comment.
	* lib/c-strtod.c: Mention me as co-author.

2024-03-06  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix value of LDADD for libtests.
	* pygnulib/GLEmiter.py (GLEmiter.tests_Makefile_am): Fix value of LDADD
	to match gnulib-tool.

2024-03-06  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 44.
	Follow gnulib-tool changes
	2021-06-10  Bruno Haible  <bruno@clisp.org>
	Clarify where to report test failures from Gnulib tests.
	2021-06-11  Bruno Haible  <bruno@clisp.org>
	Make message in last commit more precise.
	* pygnulib/GLEmiter.py (GLEmiter.tests_Makefile_am): Emit a dependency
	of 'check-am' on 'check-notice' that prints a notice describing where to
	report test failures.

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

	gnulib-tool.py: Tweak comment location.
	* pygnulib/GLEmiter.py (GLEmiter.tests_Makefile_am): Move a comment.

2024-03-06  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 43.
	Follow gnulib-tool change
	2021-06-10  Bruno Haible  <bruno@clisp.org>
	Clarify that compiler warnings in the Gnulib tests can be ignored.
	* pygnulib/GLEmiter.py (GLEmiter.initmacro_start): Add boolean argument
	to control whether gl_CC_ALLOW_WARNINGS and gl_CXX_ALLOW_WARNINGS should
	be required.
	(GLEmiter.tests_Makefile_am): Emit overrides for CFLAGS and CXXFLAGS.
	Emit a dependency of 'all' on 'all-notice' that prints a warning that
	compiler warnings can be ignored for tests.
	* pygnulib/GLImport.py (GLImport.gnulib_comp): Add boolean argument to
	tell whether a tests Makefile.am is being emitted. Update calls to
	GLEmiter.initmacro_start.
	(GLImport.execute): Update calls to GLEmiter.initmacro_start.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.

2024-03-06  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix gnulib-cache.m4 output.
	* pygnulib/GLImport.py (GLImport.gnulib_cache): Don't emit an extra '#'
	to start the actioncmd comment.

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

	gnulib-tool.py: Tweak comment.
	* pygnulib/GLMakefileTable.py (GLMakefileTable.parent): Tweak 'gentests'
	description.

2024-03-06  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 42.
	Follow gnulib-tool change
	2019-02-15  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Support --import with just a few tests, not --with-tests.
	* pygnulib/GLImport.py (GLImport.execute): Use 'gentests' instead of
	'inctests' when generating files.
	* pygnulib/GLMakefileTable.py (GLMakefileTable.parent): Add 'gentests'
	argument and use it instead of 'inctests'.

2024-03-05  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 41.
	Follow gnulib-tool change
	2018-09-03  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Consider the dotfirst
	flag.
	(GLEmiter.tests_Makefile_am): Don't consider the dotfirst flag.
	* pygnulib/GLImport.py (GLImport.execute): Set the dotfirst for tests.
	* pygnulib/GLMakefileTable.py (GLMakefileTable.editor): Add optional
	dotfirst flag to fix build order when $testsbase is a subdir of
	$sourcebase.

2024-03-05  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 40.
	Follow gnulib-tool change
	2021-12-18  Bruno Haible  <bruno@clisp.org>
	stdint: Fix handling of limits.h (regression 2021-12-16).
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am)
	(GLEmiter.tests_Makefile_am): If --gnu-make is used, assume that
	AC_SUBSTed variables for conditionals are constructed by appending the
	suffix '_CONDITION'.

2024-03-05  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix incorrect tests Makefile.am generation.
	* pygnulib/GLImport.py: Call GLEmiter.tests_Makefile_am instead of
	GLEmiter.lib_Makefile_am when creating the tests Makefile. Replace
	incorrect actioncmd argument with witness_macro.

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

	doc: Update info about fopencookie.
	Reported by Michael Ford <fanquake@gmail.com>.
	* doc/glibc-functions/fopencookie.texi: Update platforms list.

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

	doc: Fix a typo.
	Reported by Tim Rice in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00023.html>.
	* doc/build-automation.texi (Building gnulib): Fix typo.

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

	c-strtof, c-strtod, c-strtold: Make multithread-safe.
	* lib/c-strtod.c: Include <langinfo.h>, c-ctype.h.
	(decimal_point_char): New function, copied from lib/vasnprintf.c.
	(C_STRTOD): On platforms that don't have STRTOD_L nor a working
	uselocale(), pre-parse the number and call STRTOD after having replaced
	the '.' with the locale-dependent decimal point character.
	* m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOF, gl_C_STRTOLD): Test for
	nl_langinfo().
	* modules/c-strtof (Depends-on): Add c-ctype. Remove strdup-posix.
	* modules/c-strtod (Depends-on): Likewise.
	* modules/c-strtold (Depends-on): Likewise.

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

	c-strtold: Add multithread-safety test.
	* tests/test-c-strtold-mt.c: New file.
	* tests/test-c-strtold-mt.sh: New file, based on
	tests/test-c-strtold1.sh.
	* modules/c-strtold-tests (Files): Add them.
	(Depends-on): Add thread, nanosleep.
	(Makefile.am): Arrange to build test-c-strtold-mt and run
	test-c-strtold-mt.sh.

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

	c-strtod: Add multithread-safety test.
	* tests/test-c-strtod-mt.c: New file.
	* tests/test-c-strtod-mt.sh: New file, based on tests/test-c-strtod1.sh.
	* modules/c-strtod-tests (Files): Add them.
	(Depends-on): Add thread, nanosleep.
	(Makefile.am): Arrange to build test-c-strtod-mt and run
	test-c-strtod-mt.sh.

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

	c-strtof: Add multithread-safety test.
	* tests/test-c-strtof-mt.c: New file.
	* tests/test-c-strtof-mt.sh: New file, based on tests/test-c-strtof1.sh.
	* modules/c-strtof-tests (Files): Add them.
	(Depends-on): Add thread, nanosleep.
	(Makefile.am): Arrange to build test-c-strtof-mt and run
	test-c-strtof-mt.sh.

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

	locale-*.m4: Update comments.
	* m4/locale-ar.m4: Update comments for Solaris 10.
	* m4/locale-fr.m4: Likewise.
	* m4/locale-ja.m4: Likewise.
	* m4/locale-tr.m4: Likewise.

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

	c-strtold: Add tests.
	* tests/test-strtold.h: New file, extracted from tests/test-strtold.c.
	* tests/test-strtold.c: Include test-strtold.h.
	(FABSL): Remove unused macro.
	(main): Just invoke test_function.
	* tests/test-strtold1.c: Add comment.
	* modules/strtold-tests (Files): Add tests/test-strtold.h.
	* tests/test-c-strtold.c: New file, based on tests/test-strtold.c.
	* tests/test-c-strtold1.c: New file, based on tests/test-strtold1.c.
	* tests/test-c-strtold1.sh: New file, based on tests/test-strtold1.sh.
	* modules/c-strtold-tests: New file, based on modules/strtold-tests.

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

	c-strtod: Add tests.
	* tests/test-strtod.h: New file, extracted from tests/test-strtod.c.
	* tests/test-strtod.c: Include test-strtod.h.
	(FABS): Remove unused macro.
	(main): Just invoke test_function.
	* tests/test-strtod1.c: Add comment.
	* modules/strtod-tests (Files): Add tests/test-strtod.h.
	* tests/test-c-strtod.c: New file, based on tests/test-strtod.c.
	* tests/test-c-strtod1.c: New file, based on tests/test-strtod1.c.
	* tests/test-c-strtod1.sh: New file, based on tests/test-strtod1.sh.
	* modules/c-strtod-tests: New file, based on modules/strtod-tests.

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

	c-strtof: Add tests.
	* tests/test-strtof.h: New file, extracted from tests/test-strtof.c.
	* tests/test-strtof.c: Include test-strtof.h.
	(FABS): Remove unused macro.
	(main): Just invoke test_function.
	* tests/test-strtof1.c: Add comment.
	* modules/strtof-tests (Files): Add tests/test-strtof.h.
	* tests/test-c-strtof.c: New file, based on tests/test-strtof.c.
	* tests/test-c-strtof1.c: New file, based on tests/test-strtof1.c.
	* tests/test-c-strtof1.sh: New file, based on tests/test-strtof1.sh.
	* modules/c-strtof-tests: New file, based on modules/strtof-tests.

2024-03-04  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 39.
	Follow gnulib-tool change
	2017-12-28  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Make --conditional-dependencies work better.
	* pygnulib/GLEmiter.py (GLEmiter.autoconfSnippets): Add argument
	referenceable_modules. Use referencable_modules for dependencies.
	* pygnulib/GLImport.py (GLImport.__init__): Don't reject the combination
	of --conditional-dependencies with --with-tests when mode is 'import'.
	(GLImport.gnulib_comp): Pass it.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Pass it.

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

	doc: Tweak last commit.
	* doc/gnulib-tool.texi (Style of #include statements): Use
	@itemize @asis{}. Recommended by Patrice Dumas.

2024-03-04  Collin Funk  <collin.funk1@gmail.com>

	doc: Fix build errors.
	* doc/gnulib-tool.texi (Style of #include statements): Use @itemize w{}
	instead of the incorrect @itemize @asis.

2024-03-04  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Adjust construction of configure.ac path.
	* pygnulib/GLConfig.py (GLConfig.setAutoconfFile): Join destdir and
	configure.ac instead of using relativize.

2024-03-03  Collin Funk  <collin.funk1@gmail.com>
            Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Fix output of gnulib-comp.m4.
	* pygnulib/GLEmiter.py (GLEmiter.autoconfSnippets): Fix indentation.
	Don't print nonstring values into gnulib-comp.m4.

2024-03-03  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Make output of test Makefile.am match gnulib-tool.
	* pygnulib/GLModuleSystem.py
	(GLModule.getAutomakeSnippet_Unconditional): Don't sort EXTRA_DIST file
	names for test modules.

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

	gnulib-tool.py: Fix last commit.
	* pygnulib/GLEmiter.py (GLEmiter.tests_Makefile_am): Ignore libname and
	libext here.

2024-03-03  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 38.
	Follow gnulib-tool change
	2020-12-26  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Make --conditional-dependencies work with --with-tests.
	* pygnulib/GLEmiter.py (GLEmiter.tests_Makefile_am): Add missing
	moduletable argument. Handle conditional dependencies like
	GLEmiter.lib_Makefile_am.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Adjust arguments.

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

	doc: Update regarding --create-megatestdir.
	Reported by Alexei Sholomitskiy <asholomitskiy84@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-07/msg00071.html>
	and by Collin Funk <collin.funk1@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00007.html>.
	* doc/build-automation.texi (Building gnulib): Discourage the use of
	--create-megatestdir with all modules.

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

	gnulib-tool.py: Clarify minimum supported Python version.
	* pygnulib/main.py: Add comment regarding the Python version.

2024-03-01  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 37.
	Follow gnulib-tool change
	2018-10-22  Bruno Haible  <bruno@clisp.org>
	Assume Automake >= 1.11.
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am)
	(GLEmiter.tests_Makefile_am): Emit a Makefile.am that requires Automake
	>= 1.11.
	* pygnulib/GLTestDir.py (GLTestDir.execute, GLMegaTestDir.execute):
	Likewise.
	* pygnulib/constants.py: Update comment.

2024-03-01  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix GNU Make conversion regular expressions.
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Reduce code
	duplication. Use re.MULTILINE so '^' matches the start of each line
	instead of only the start of a string.

2024-02-29  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 36.
	Follow gnulib-tool change
	2017-03-14  Mathieu Lirzin  <mthl@gnu.org>
	gnulib-tool: don't automatically distribute files from top/
	* pygnulib/GLModuleSystem.py
	(GLModule.getAutomakeSnippet_Unconditional): Don't distribute files from
	top/ automatically.

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

	xalloc: Don't use identifier 'nonnull'.
	* lib/xmalloc.c (check_nonnull): Renamed from nonnull.

2024-02-29  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 35.
	Follow gnulib-tool change
	2023-05-28  Bruno Haible  <bruno@clisp.org>
	warnings, manywarnings: Assume autoconf >= 2.64.
	* pygnulib/GLConfig.py (GLConfig.default, GLConfig.getAutoconfVersion)
	(GLConfig.setAutoconfVersion, resetAutoconfVersion): Set required
	Autoconf version to 2.64.
	* pygnulib/GLError.py (GLError.__init__, GLError.__repr__): Likewise.
	* pygnulib/GLImport.py (GLImport.__init__): Likewise.
	* pygnulib/constants.py (DEFAULT_AUTOCONF_MINVERSION): Likewise.
	* pygnulib/main.py: Likewise.

2024-02-29  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 34.
	Follow gnulib-tool change
	2017-05-15  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Fix generated code when libtests contains module 'alloca'.
	* pygnulib/GLEmiter.py (GLEmiter.tests_Makefile_am): Use @ALLOCA@ for
	libtests.a instead of @LTALLOCA@.

2024-02-29  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 33.
	Follow gnulib-tool change
	2017-03-14  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Don't produce a tests directory with only snippet .h files.
	* pygnulib/GLModuleSystem.py
	(GLModuleTable.transitive_closure_separately): Don't create a test
	directory if all test related modules have applicability 'all'.

2024-02-28  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 32.
	Follow gnulib-tool change
	2018-10-22  Bruno Haible  <bruno@clisp.org>
	Fix failure of 'gnulib-tool --create-testdir' with all modules.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Exclude the 'timevar'
	module from --create-testdir with all modules. Update comment.

2024-02-28  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Emit year range on file copyright notices.
	* pygnulib/GLInfo.py (GLInfo.copyright_range): New function. Return a
	copyright string with a year range.
	* pygnulib/GLEmiter.py (GLEmiter.copyright_notice): Use the new function
	for file copyright headers.

2024-02-28  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Make module sorting more similar to gnulib-tool.
	* pygnulib/GLImport.py (GLImport.__init__): Sort modules when mode is
	'import'.
	(GLImport.actioncmd): Don't sort modules while creating actioncmd. Use
	preferred quoting style.

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

	gnulib-tool: Make --version output independent of git's configuration.
	Reported by Collin Funk <collin.funk1@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-02/msg00268.html>.
	* pygnulib/GLInfo.py (GLInfo.date): Pass --format and --date options, to
	override the user's git configuration.
	* gnulib-tool (func_version): Likewise. Also pass options '-n 1', to
	speed up the operation.

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

	gnulib-tool.py: Avoid exception when 'git log' output is unexpected.
	* pygnulib/GLInfo.py (GLInfo.date): When the 'git log' output does not
	contain a line with the expected 'Date:' pattern, pass the empty string
	to GNU date.

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

	gnulib-tool: Avoid references to functions that get defined later.
	* gnulib-tool (func_fatal_error, func_warning, func_readlink): Move
	before func_gnulib_dir.

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

	isnan: Fix compilation error in C++ mode on OpenBSD 7.5-beta.
	Reported by Christian Weisgerber <naddy@mips.inka.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-02/msg00261.html>.
	* lib/math.in.h (GNULIB_NAMESPACE_LACKS_ISNAN): Define on all platforms
	with clang ≥ 14.

2024-02-27  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix configure.ac output.
	* pygnulib/GLEmiter.py (GLEmiter.initmacro_end): Fix backslash escapes
	in raw string.

2024-02-27  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 31.
	Follow gnulib-tool change
	2021-06-04  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Stop doing license notice replacements.
	* pygnulib/GLConfig.py (GLConfig.default): Remove 'copyrights' key.
	(checkCopyrights): Remove function.
	(setSymbolic, resetSymbolic): Remove 'copyrights' key.
	* pygnulib/GLImport.py (GLImport.prepare): Remove copyrights variable.
	Don't modify license notice on source files.
	(GLImport.execute): Remove copyrights variable.

2024-02-27  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Small fix of part 27.
	* pygnulib/GLConfig.py (GLConfig.default): Add 'gnu_make' key which
	returns False.

2024-02-27  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 30.
	Follow gnulib-tool change
	2021-05-30  Bruno Haible  <bruno@clisp.org>
	Write 'LGPLv3+ or GPLv2+' instead of 'LGPLv3+ or GPLv2'.
	* pygnulib/GLImport.py (GLImport.prepare): Change.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.

2024-02-27  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 29.
	Follow gnulib-tool change
	2021-03-06  Paul Eggert  <eggert@cs.ucla.edu>
	parse-datetime2: fix licensing
	* pygnulib/GLModuleSystem.py (GLModule.getLicense): Handle the special
	licensing case for parse-datetime2 or any other module starting with
	"parse-datetime". Update comment.

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

	gnulib-tool.py: Add more comments.
	* pygnulib/main.py: Add comments regarding code style. Mention the
	pycodestyle and pylint configurations.

2024-02-26  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Add configuration files for Python tools.
	* pygnulib/.pylintrc: New file, used by pylintrc.
	* pygnulib/setup.cfg: New file, currently only used for pycodestyle
	options.

2024-02-26  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix undefined variable access.
	* pygnulib/main.py (main): Don't use gnu_make before it is defined.

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

	gnulib-tool.py: Reorganize code.
	* pygnulib/main.py: New file, moved here from gnulib-tool.py.
	* pygnulib/constants.py: Change the way APP['name'] and DIRS['root'] are
	computed.
	* gnulib-tool.py: New file, based on gnulib-tool.

2024-02-25  Bruno Haible  <bruno@clisp.org>

	bitset: Don't access errno when it's not set.
	* lib/bitset/stats.c (bitset_stats_read): Don't use errno after neither
	fread() nor ferror() has set it. On native Windows, don't use errno
	after fclose().

2024-02-25  Bruno Haible  <bruno@clisp.org>

	bitset: Avoid newlines at the end of translatable strings.
	* lib/bitset/stats.c (bitset_percent_histogram_print,
	bitset_log_histogram_print): Print a newline after msg.
	(bitset_stats_print_1): Don't include a newline in the argument of
	bitset_percent_histogram_print or bitset_log_histogram_print.
	(bitset_stats_print): Move newlines outside of translatable strings.

2024-02-24  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 28.
	Follow gnulib-tool change
	2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>
	gnulib-tool: limit line length for git send-email
	* pygnulib/GLImport.py (GLImport.actioncmd): Break actioncmd into
	multiple lines. Reorder emitting of arguments to match gnulib-tool. Emit
	"--witness-c-macro" instead of "--witness_c_macro". Emit "--po-domain"
	instead of "--podomain". Document ordering of unimplemented options. Add
	updated comments documenting line length limitations of git send-email
	and some implementations of AWK.
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Remove comment which
	was moved to pygnulib/GLImport.py. Remove length limitation on actioncmd
	since it now spans multiple lines.

2024-02-24  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Further fix last commit.
	* gnulib-tool.py (main): Make the mode test match for 'create-testdir',
	'create-megatestdir', 'test', 'megatest'.

2024-02-24  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix conditional checking the incorrect variable.
	Reported by Bruno Haible <bruno@clisp.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-02/msg00207.html>.
	* gnulib-tool.py (main): Fix incorrect conditional. Check that mode, not
	modules, is not None before treating it as a string.

2024-02-24  Bruno Haible  <bruno@clisp.org>

	striconveha tests: Avoid test failure on macOS 12.5.
	* tests/test-striconveha.c (main): Skip transliteration tests when using
	Apple's modified GNU libiconv or the bastard Apple iconv.

2024-02-23  Bruno Haible  <bruno@clisp.org>

	DEPENDENCIES: Update entry about gperf.
	Reported by Gavin Smith <gavinsmith0123@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-02/msg00201.html>.
	* DEPENDENCIES (gperf): Mention some more modules which require 'gperf'.

2024-02-23  Bruno Haible  <bruno@clisp.org>

	unictype/mirror: Update to Unicode 15.1.0.
	Reported by Daurnimator <quae@daurnimator.com> in
	<https://lists.gnu.org/archive/html/bug-libunistring/2016-11/msg00010.html>.
	* lib/gen-uni-tables.c (struct mirror_pair): New type.
	(mirror_pairs): Don't initialize statically.
	(mirror_pairs_count): New variable.
	(fill_mirror): New function.
	(get_mirror_value): Update.
	(main): Expect the file name of BidiMirroring.txt as command-line
	argument. Invoke fill_mirror.
	* lib/unictype/mirror.h: Regenerated.
	* modules/unictype/mirror (configure.ac): Bump required libunistring
	version.

2024-02-23  Bruno Haible  <bruno@clisp.org>

	gen-uni-tables: Keep line number better up-to-date.
	* lib/gen-uni-tables.c (fill_width, fill_org_lbp): Increase lineno by 1
	when reading a blank line.

2024-02-23  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 27.
	Follow gnulib-tool changes
	2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
	gnulib-tool: new option --gnu-make
	2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
	gnulib-tool: minor --gnu-make fixups
	2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
	gnulib-tool: fix typo in comment output
	2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
	gnulib-tool: improve GNU Make debugging
	2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>
	gnulib-tool: minor tweaks for --gnu-make
	* gnulib-tool.py (main): Add --gnu-make option. Do not allow --gnu-make
	in test modes, since they all require Automake.
	* pygnulib/GLConfig.py: Add gnu_make argument to constructor.
	(getGnuMake, setGnuMake, resetGnuMake): New methods for accessing the
	gnu_make instance variable.
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Use the "+=" operator
	with GNU Make and Automake. Transform conditionals to GNU Make syntax if
	--gnu-make is in use. Use a Autoconf subprocess to define values and
	check the return code for errors.
	(GLEmiter.tests_Makefile_am): Likewise.
	* pygnulib/GLImport.py (GLImport.actioncmd): Add "--gnu-make" to the
	output comment if it is in use.
	(GLImport.gnulib_comp): Don't require "AM_PROG_CC_C_O" when using GNU
	Make.
	* pygnulib/GLInfo.py (GLInfo.usage): Update help message to reflect
	addition of --gnu-make.
	* pygnulib/GLModuleSystem.py (GLModuleTable.transitive_closure): Don't
	add Automake snippets as unconditional dependencies when using
	--gnu-make.

2024-02-23  Bruno Haible  <bruno@clisp.org>

	unistdio/*printf tests: Update expected test results regarding %n.
	* tests/unistdio/test-u8-printf1.h (test_xfunction): If
	NEED_PRINTF_WITH_N_DIRECTIVE is not defined, expect a NULL result in the
	%n test.
	* tests/unistdio/test-u16-printf1.h (test_xfunction): Likewise.
	* tests/unistdio/test-u32-printf1.h (test_xfunction): Likewise.
	* tests/unistdio/test-ulc-printf1.h (test_xfunction): Likewise.

2024-02-22  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 26.
	Follow gnulib-tool change
	2017-04-20  Bruno Haible  <bruno@clisp.org>
	verify tests: Fix spurious failure with parallel make.
	* pygnulib/GLEmiter.py (GLEmiter.tests_Makefile_am): Emit initialization
	of EXTRA_PROGRAMS so that the verify-tests module does not cause
	Automake to warn about the use of "+=" instead of "=".

2024-02-22  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Follow gnulib-tool changes, part 25.
	Follow gnulib-tool change
	2017-06-11  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Clean up after autotools.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Remove
	unnessecary autom4te.cache directory generated by Autotools.
	(GLMegaTestDir.execute): Likewise.

2024-02-21  Bruno Haible  <bruno@clisp.org>

	c-strtof: New module.
	* lib/c-strtod.h (c_strtof): New declaration.
	* lib/c-strtod.c: Support FLOAT.
	* lib/c-strtof.c: New file.
	* m4/c-strtod.m4 (gl_C_STRTOF): New macro.
	* modules/c-strtof: New file.

2024-02-21  Bruno Haible  <bruno@clisp.org>

	c-strtold: Use strtold_l when available (regr. 2019-01-31).
	* lib/c-strtod.c: Fix typo: HAVE_GOOD_STRTOLD_L was never defined.

2024-02-21  Bruno Haible  <bruno@clisp.org>

	strtof: Add tests.
	* tests/test-strtof.c: New file, based on tests/test-strtod.c.
	* tests/test-strtof1.sh: New file, based on tests/test-strtod1.sh.
	* tests/test-strtof1.c: New file, based on tests/test-strtod1.c.
	* modules/strtof-tests: New file, based on modules/strtod-tests.

	strtof: New module.
	* lib/stdlib.in.h (strtof): New declaration.
	* lib/strtod.c: Support USE_FLOAT.
	* lib/strtof.c: New file.
	* m4/strtof.m4: New file, based on m4/strtod.m4.
	* m4/ldexpf.m4 (gl_CHECK_LDEXPF_NO_LIBM): New macro, based on
	m4/ldexp.m4.
	* m4/stdlib_h.m4 (gl_STDLIB_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_STRTOF.
	* modules/stdlib (Makefile.am): Substitute GNULIB_STRTOF, HAVE_STRTOF,
	REPLACE_STRTOF.
	* modules/strtof: New file.
	* tests/test-stdlib-c++.cc (strtof): Check signature.
	* doc/posix-functions/strtof.texi: Mention the new module and the bugs
	that it fixes.
	(gl_STDLIB_H_DEFAULTS): Initialize HAVE_STRTOF, REPLACE_STRTOF.

2024-02-21  Bruno Haible  <bruno@clisp.org>

	strtod, strtold tests: Avoid a test failure on native Windows.
	* modules/strtod-tests (Depends-on): Add setlocale.
	* modules/strtold-tests (Depends-on): Likewise.

2024-02-21  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix undefined variable while emitting testdir.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Fix undefined
	variable refrence caused by commit
	01cd78f9d682ff75cc5ab1c2d21b911bdd9215b8.
	Restore the previous auxdir when finished writing the
	configure.ac file in the test directory.

2024-02-21  Bruno Haible  <bruno@clisp.org>

	*printf-posix: Disable support for the 'n' directive by default.
	* m4/printf-with-n-directive.m4: New file.
	* modules/printf-with-n-directive: New file.
	* m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_IS_POSIX): If
	gl_PRINTF_SUPPORT_N_DIRECTIVE is not defined, ignore the value of the
	gl_cv_func_printf_directive_n variable.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_IS_POSIX): Likewise.
	* m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_IS_POSIX): Likewise.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_IS_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_IS_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_IS_POSIX): Likewise.
	* m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_IS_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_IS_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_IS_POSIX): Likewise.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_IS_POSIX): If
	gl_PRINTF_SUPPORT_N_DIRECTIVE is not defined, ignore the values of the
	gl_cv_func_printf_directive_n and gl_cv_func_snprintf_directive_n
	variables.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_IS_POSIX): Likewise.
	* lib/printf-parse.c (PRINTF_PARSE): If NEED_PRINTF_WITH_N_DIRECTIVE is
	not defined, treat the 'n' directive like an unknown directive.
	* lib/vasnprintf.c (VASNPRINTF): If NEED_PRINTF_WITH_N_DIRECTIVE is not
	defined, disable the processing of the 'n' directive.
	* tests/test-snprintf-posix.h (test_function): If
	NEED_PRINTF_WITH_N_DIRECTIVE is not defined, skip the %n test.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasnprintf-posix.c (test_function): Likewise.
	* tests/test-vasnwprintf-posix.c (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* doc/posix-functions/dprintf.texi: Mention that support for the 'n'
	directive is only enabled together with the module
	'printf-with-n-directive'.
	* 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/glibc-functions/obstack_printf.texi: Likewise.
	* doc/glibc-functions/obstack_vprintf.texi: Likewise.
	* NEWS: Mention the change.

2024-02-21  Bruno Haible  <bruno@clisp.org>

	*printf-posix: Avoid crash in another configure test.
	* m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): In the test program, catch the
	SIGABRT signal, so that the program does not dump core.

2024-02-20  Bruno Haible  <bruno@clisp.org>

	unimetadata/u-version: Add tests.
	* tests/unimetadata/test-u-version.c: New file.
	* modules/unimetadata/u-version-tests: New file.

	unimetadata/u-version: New module.
	* lib/gen-uni-tables.c (output_version): New function.
	(main): Invoke it.
	* lib/unimetadata/u-version.c: New generated file.
	* modules/unimetadata/u-version: New file.

	unimetadata/base: New module.
	* lib/unimetadata.in.h: New file.
	* m4/unimetadata_h.m4: New file.
	* modules/unimetadata/base: New file.

2024-02-20  Collin Funk  <collin.funk1@gmail.com>

	maint.mk: Fix include header typo.
	* top/maint.mk: Change arpa_inet.h to arpa/inet.h.

2024-02-20  Bruno Haible  <bruno@clisp.org>

	*printf-posix: Avoid crash in a configure test.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): In the test program, catch the
	SIGABRT signal, so that the program does not dump core.

2024-02-18  Jim Meyering  <meyering@meta.com>

	maint.mk: improve new syntax-check rule
	* top/maint.mk (sc_prefer_angle_bracket_headers): Rename from
	sc_verify_absolute_include_headers.  Simplify to run a single
	invocation of grep, rather than usually many.  Derive a regular
	expression matching the selected headers, and warn about any
	offending matches via what is usually a single grep invocation.

2024-02-18  Collin Funk  <collin.funk1@gmail.com>

	gnulib-tool.py: Fix function call on incorrect object.
	* pygnulib/GLImport.py: Call checkInclTestCategory on the
	GLConfig member instead of the GLImport object itself.
	* pygnulib/__init__.py: Update copyright dates.
	* pygnulib/constants.py: Update copyright dates.

2024-02-18  Bruno Haible  <bruno@clisp.org>

	maint.mk: Add more comments.
	* top/maint.mk: Reference the Gnulib documentation where suitable.

2024-02-18  Collin Funk  <collin.funk1@gmail.com>

	maint.mk: Add syntax-check rule to check for #include syntax.
	* top/maint.mk (sc_verify_absolute_include_headers): New rule
	to check for #includes that might cause
	-Winclude-next-absolute-path warnings.

2024-02-18  Bruno Haible  <bruno@clisp.org>

	doc: Mention requirement regarding #include syntax.
	* doc/gnulib-tool.texi (-I options, Include <config.h>,
	Style of #include statements): New subsections.

2024-02-17  Paul Eggert  <eggert@cs.ucla.edu>

	qsort_r-tests: minor visibility cleanup
	* tests/test-qsort_r.c (cmp): Now static.

	savedir: work around GCC bug 113963
	* lib/savedir.c: Ignore -Wanalyzer-malloc-leak and
	-Wanalyzer-null-dereference.

	Solaris EOL update
	* doc/solaris-versions: Solaris 11.4 EOL update.  Also mention 11.3.

2024-02-17  Collin Funk  <collin.funk1@gmail.com>

	math: More clang -Winclude-next-absolute-path silencing.
	* lib/math.c: Write #include <math.h> instead of #include "math.h".

2024-02-17  Bruno Haible  <bruno@clisp.org>

	error: More clang -Winclude-next-absolute-path silencing.
	* modules/error-h (Include): Suggest <error.h>, not "error.h".
	* m4/error_h.m4: Write #include <error.h>.

2024-02-15  Bruno Haible  <bruno@clisp.org>

	nstrftime: Optimize module dependencies.
	* modules/nstrftime (Depends-on): Remove localename-unsafe. Add
	localename-unsafe-limited.

2024-02-15  Bruno Haible  <bruno@clisp.org>

	localename-unsafe-limited: New module.
	* m4/localename.m4 (gl_LOCALENAME_UNSAFE_LIMITED): New macro.
	* modules/localename-unsafe-limited: New file.
	* modules/localename-unsafe (Depends-on): Add localename-unsafe-limited.
	(Makefile.am): Compile localename-unsafe.c only if the module
	localename-unsafe-limited does not already do it.

2024-02-15  Bruno Haible  <bruno@clisp.org>

	nstrftime, fprintftime: Optimize.
	* lib/strftime.c (should_remove_ampm): Call gl_locale_name_unsafe
	instead of gl_locale_name.
	* modules/nstrftime (Depends-on): Remove localename. Add
	localename-unsafe.

2024-02-15  Bruno Haible  <bruno@clisp.org>

	localename-unsafe: Optimize.
	* lib/localename-unsafe.c (gl_locale_name_posix_unsafe): Call
	setlocale_null_unlocked instead of setlocale_null.
	* modules/localename-unsafe (Depends-on): Add setlocale-null-unlocked.

2024-02-15  Bruno Haible  <bruno@clisp.org>

	setlocale_null-unlocked: Add tests.
	* tests/test-setlocale_null-unlocked.c: New file, based on
	tests/test-setlocale_null.c.
	* modules/setlocale-null-unlocked-tests: New file.

	setlocale_null-unlocked: New module.
	* lib/setlocale_null.h (setlocale_null_r_unlocked,
	setlocale_null_unlocked): New declarations.
	* lib/setlocale_null-unlocked.c: New file, based on
	lib/setlocale_null.c.
	* lib/setlocale_null.c: Don't include <wchar.h>.
	(setlocale_null_unlocked, setlocale_null_r_unlocked): Remove functions.
	* modules/setlocale-null-unlocked: New file.
	* modules/setlocale-null (Depends-on): Add setlocale-null-unlocked.

2024-02-15  Bruno Haible  <bruno@clisp.org>

	setlocale-null: Refactor.
	* lib/setlocale_null.c
	(setlocale_null_r_with_lock): Renamed from setlocale_null_with_lock.
	(setlocale_null_r_unlocked): Renamed from setlocale_null_unlocked.
	(setlocale_null_unlocked): Renamed from setlocale_null_androidfix.

2024-02-15  Bruno Haible  <bruno@clisp.org>

	localename-unsafe: New module.
	* lib/localename.h (gl_locale_name_unsafe, gl_locale_name_thread_unsafe,
	gl_locale_name_posix_unsafe): New declarations.
	* lib/localename-unsafe.c: New file, based on lib/localename.c.
	(gl_locale_name_thread_unsafe): Renamed from gl_locale_name_thread.
	(gl_locale_name_posix_unsafe): Renamed from gl_locale_name_posix.
	(gl_locale_name_unsafe): Renamed from gl_locale_name.
	(struniq): Define only on platforms that need it.
	* lib/localename.c: Remove code that was moved to
	lib/localename-unsafe.c.
	(gl_locale_name_thread): Just call gl_locale_name_thread_unsafe and
	struniq.
	(gl_locale_name_posix): Just call gl_locale_name_posix_unsafe and
	struniq.
	* lib/locale.in.h: Test @GNULIB_LOCALENAME_UNSAFE@ instead of
	@GNULIB_LOCALENAME@.
	* m4/locale_h.m4 (gl_LOCALE_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_LOCALENAME_UNSAFE instead of GNULIB_LOCALENAME.
	* modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME_UNSAFE
	instead of GNULIB_LOCALENAME.
	* m4/localename.m4 (gl_LOCALENAME_UNSAFE): Renamed from gl_LOCALENAME.
	* modules/localename-unsafe: New file, based on modules/localename.
	* modules/localename: Greatly simplify.
	(Depends-on): Add localename-unsafe.

2024-02-15  Bruno Haible  <bruno@clisp.org>

	localename: Refactor.
	* lib/struniq.h: New file, extracted from lib/localename.c.
	* lib/localename.c: Include it.
	* modules/localename (Files): Add lib/struniq.h.

2024-02-15  Bruno Haible  <bruno@clisp.org>

	localename: Speed up lookup of the LC_MESSAGES name on AIX ≥ 7.2.
	* m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): On AIX, test
	for the 'locale_name' member.
	* lib/localename.c (get_locale_t_name): For the LC_MESSAGES category,
	use the 'locale_name' member if available.

2024-02-15  Bruno Haible  <bruno@clisp.org>

	localename: Add more comments.
	* m4/intl-thread-locale.m4: Document expected configuration results.
	* doc/posix-functions/uselocale.texi: Update platforms list.
	* lib/localename.c: Likewise.

2024-02-15  Bruno Haible  <bruno@clisp.org>

	localename: Add parameter validation.
	* lib/localename.c (get_locale_t_name, gl_locale_name_thread_unsafe,
	gl_locale_name_thread, gl_locale_name_posix, gl_locale_name): Verify
	that the category argument is not LC_ALL.

2024-02-14  Bruno Haible  <bruno@clisp.org>

	localename: Notice setlocale() invocations on more platforms.
	* lib/localename.c (HAVE_LOCALE_NULL): Define also on musl, FreeBSD,
	NetBSD, Solaris, Haiku.
	* modules/localename (Files): Add m4/musl.m4.
	(configure.ac): Invoke gl_MUSL_LIBC.
	* tests/test-localename.c (C_CANONICALIZED): New macro, for Haiku.
	(is_default): New function, for musl libc and Haiku.
	(test_locale_name, test_locale_name_posix): Use these definitions.
	* modules/localename-tests (Files): Add m4/musl.m4.
	(configure.ac): Invoke gl_MUSL_LIBC.

2024-02-14  Bruno Haible  <bruno@clisp.org>

	Don't treat Apple's new Citrus/FreeBSD-based iconv like GNU libiconv.
	* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Don't treat the bastard Apple
	iconv like GNU libiconv.
	* lib/striconv.c (mem_cd_iconv, str_cd_iconv): Likewise.
	* lib/striconveh.c (iconv_carefully, iconv_carefully_1,
	mem_cd_iconveh_internal): Likewise.
	* lib/propername.c (proper_name_utf8): Likewise.
	* lib/unicodeio.c (unicode_to_mb): Likewise.
	* lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
	* lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
	* lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
	* lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
	* lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
	* lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
	* tests/test-striconveh.c (main): Likewise.
	* tests/test-striconveha.c (main): Likewise.
	* tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.

2024-02-14  Bruno Haible  <bruno@clisp.org>

	Improve support of Citrus/FreeBSD iconv.
	* lib/striconveh.c (iconveh_open): Use //TRANSLIT with all iconv
	implementations that support it.
	* lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
	* lib/propername.c (proper_name_utf8): Likewise.

2024-02-14  Bruno Haible  <bruno@clisp.org>

	isnan: Fix compilation error in C++ mode on macOS 14.4 / Xcode 15.2.
	Reported by Paul E Reimer <reimer@anl.gov> in
	<https://lists.gnu.org/archive/html/bug-gettext/2024-02/msg00002.html>.
	* lib/math.in.h (GNULIB_NAMESPACE_LACKS_ISNAN): Define also on macOS
	with clang ≥ 14.

2024-02-13  Paul Eggert  <eggert@cs.ucla.edu>

	nstrftime: allow opt-out of AM/PM adjustment
	For Emacs I would rather avoid bringing in the Gnulib locking code,
	since Emacs has its own idea about locks and its main engine is
	single-threaded anyway.
	Provide a way to use the nstrftime module while avoiding its
	recently-added localename dependency, which entails locking code.
	(It’s not clear to me that the locking code is needed for nstrftime,
	as NetBSD has strftime_z and Solaris locales could be inspected in
	some thread-safe way, e.g., by probing strftime month names.
	Anyway, all that’s more hassle than I want to put up with right now
	for the trivial matter of AM/PM behavior.)
	* lib/strftime.c (REQUIRE_GNUISH_STRFTIME_AM_PM):
	New macro, which can be overridden by config.h.
	(should_remove_ampm, __strftime_internal):
	Use it instead of !USE_C_LOCALE when deciding to
	implement Gnuish AM/PM behavior.

2024-02-13  Bruno Haible  <bruno@clisp.org>

	uniwidth/width tests: Update unit test for last commit.
	* tests/uniwidth/test-uc_width2.sh: Update expected test result.

2024-02-12  Bruno Haible  <bruno@clisp.org>

	uniwidth/width: Assign width 1 to prepended concatenation marks.
	Suggested by Jules Bertholet <julesbertholet@quoi.xyz> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-02/msg00093.html>.
	* lib/gen-uni-tables.c (is_nonspacing): For characters with property
	Prepended_Concatenation_Mark, return false instead of true.
	* lib/uniwidth/width0.h: Regenerated. This assigns width 1 to the
	characters U+0600..U+0605, U+06DD, U+070F, U+0890..U+0891, U+08E2,
	U+110BD, U+110CD.
	* modules/uniwidth/width (configure.ac): Bump required libunistring
	version.
	* modules/uniwidth/u8-width (configure.ac): Likewise.
	* modules/uniwidth/u8-strwidth (configure.ac): Likewise.
	* modules/uniwidth/u16-width (configure.ac): Likewise.
	* modules/uniwidth/u16-strwidth (configure.ac): Likewise.
	* modules/uniwidth/u32-width (configure.ac): Likewise.
	* modules/uniwidth/u32-strwidth (configure.ac): Likewise.

2024-02-12  Bruno Haible  <bruno@clisp.org>

	Implement a new property, added by Unicode 9.0.0.
	* lib/gen-uni-tables.c (is_property_prepended_concatenation_mark): New
	function.
	(output_properties): Output also the property
	prepended_concatenation_mark.
	* lib/unictype.in.h (UC_PROPERTY_PREPENDED_CONCATENATION_MARK,
	uc_is_property_prepended_concatenation_mark): New declarations.
	* m4/unictype_h.m4 (gl_UNICTYPE_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK.
	* modules/unictype/base (Makefile.am): Substitute
	GNULIB_UNICTYPE_PROPERTY_PREPENDED_CONCATENATION_MARK.
	* lib/unictype/pr_prepended_concatenation_mark.c: New file.
	* lib/unictype/pr_prepended_concatenation_mark.h: New generated file.
	* modules/unictype/property-prepended-concatenation-mark: New file.
	* tests/unictype/test-pr_prepended_concatenation_mark.c: New generated
	file.
	* modules/unictype/property-prepended-concatenation-mark-tests: New
	file.
	* lib/unictype/pr_byname.gperf: Add prepended_concatenation_mark.
	* lib/unictype/pr_byname.c
	(UC_PROPERTY_INDEX_PREPENDED_CONCATENATION_MARK): New enum item.
	(uc_property_byname): Handle it.
	* modules/unictype/property-byname (Depends-on): Add
	unictype/property-prepended-concatenation-mark.
	* modules/unictype/property-all (Depends-on): Likewise.
	* MODULES.html.sh (func_all_modules): Add
	unictype/property-prepended-concatenation-mark.

2024-02-12  Bruno Haible  <bruno@clisp.org>

	posixtm tests: Fix reference to undefined module (regr. 2024-02-09).
	* modules/posixtm-tests (Depends-on): Remove strftime. Add
	strftime-fixes.

2024-02-12  Bruno Haible  <bruno@clisp.org>

	limits-h: Fix BOOL_MAX value.
	* lib/limits.in.h (BOOL_MAX): Define to 1, not to 2^BOOL_WIDTH-1.
	* tests/test-limits-h.c (main): Change expected value of BOOL_MAX.

2024-02-12  Bruno Haible  <bruno@clisp.org>

	stdalign: Document a clang 17 bug.
	* doc/posix-headers/stdalign.texi: Mention a clang 17 bug.

2024-02-12  Bruno Haible  <bruno@clisp.org>

	getcwd, getcwd-lgpl: Fix configure test.
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Don't redeclare getcwd().

2024-02-12  Florian Weimer  <fweimer@redhat.com>

	pthread_mutex_timedlock, pthread-spin: Fix configure test.
	* m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK): Pass
	a pointer of the correct type to pthread_mutex_timedlock.
	* m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Pass a pointer of the correct
	type to pthread_spin_init.

2024-02-11  Bruno Haible  <bruno@clisp.org>

	Fulfil the obligations of the Unicode license.
	* lib/gen-uni-tables.c: Prepend the Unicode license when copying
	NameAliases.txt, UnicodeData.txt, NormalizationTest.txt,
	GraphemeBreakTest.txt, WordBreakTest.txt.
	* tests/unigbrk/GraphemeBreakTest.txt: Prepend the Unicode license.
	* tests/uniname/NameAliases.txt: Likewise.
	* tests/uniname/UnicodeData.txt: Likewise.
	* tests/uninorm/NormalizationTest.txt: Likewise.
	* tests/uniwbrk/WordBreakTest.txt: Likewise.
	* tests/uniname/HangulSyllableNames.txt: Add public-domain notice.

2024-02-11  Bruno Haible  <bruno@clisp.org>

	time_r: Add tests.
	* lib/time_r.c: Add comment.
	* tests/test-gmtime_r.c: New file.
	* tests/test-gmtime_r-mt.c: New file, based on
	tests/test-nl_langinfo-mt.c.
	* tests/test-localtime_r.c: New file.
	* tests/test-localtime_r-mt.c: New file, based on
	tests/test-nl_langinfo-mt.c.
	* modules/time_r-tests: New file.

2024-02-10  Paul Eggert  <eggert@cs.ucla.edu>

	doc: improve warnings about ctime etc.
	* doc/posix-functions/asctime.texi (asctime):
	* doc/posix-functions/asctime_r.texi (asctime_r):
	Say why these functions are typically used mistakenly.
	* doc/posix-functions/ctime.texi (ctime):
	* doc/posix-functions/ctime_r.texi (ctimef):
	Say that they can dump core due to an internal null pointer, too.
	* doc/posix-functions/ctime.texi (ctime):
	Don’t recommend ctime_r.

2024-02-10  Bruno Haible  <bruno@clisp.org>

	havelib: Add support for NetBSD/sparc64.
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On NetBSD/sparc64 in
	32-bit mode, search for libraries in /usr/lib/sparc.

2024-02-09  Bruno Haible  <bruno@clisp.org>

	ctime, localtime, tzset, wcsftime: Make multithread-safe.
	* lib/ctime.c: Include <wchar.h>.
	(rpl_ctime): Modify _environ and _wenviron without using _putenv.
	* lib/localtime.c: Include <wchar.h>.
	(rpl_localtime): Modify _environ and _wenviron without using _putenv.
	* lib/tzset.c: Include <wchar.h>.
	(rpl_tzset): Modify _environ and _wenviron without using _putenv.
	* lib/wcsftime.c (rpl_wcsftime): Likewise.

2024-02-09  Bruno Haible  <bruno@clisp.org>

	strftime: Remove module, deprecated in 2017.
	* modules/strftime: Remove file.
	* NEWS: Mention it.

2024-02-09  Bruno Haible  <bruno@clisp.org>

	Avoid suboptimal definition of _GL_HAS_ATTRIBUTE on FreeBSD/sparc64.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_HAS_ATTRIBUTE only
	once.

2024-02-08  Bruno Haible  <bruno@clisp.org>

	nstrtime, c-nstrftime tests: Strengthen the tests.
	* tests/test-nstrftime.h (FUNC_CHECKED): New function.
	(posixtm_test, tzalloc_test, quarter_test, errno_test, locales_test):
	Invoke FUNC_CHECKED instead of FUNC.

2024-02-08  Bruno Haible  <bruno@clisp.org>

	nstrtime: Fix %p, %P, %r directives' results on NetBSD, Solaris.
	* lib/strftime.c: Include <locale.h>, localename.h.
	(should_remove_ampm): New function.
	(__strftime_internal): On NetBSD and Solaris, remove the AM/PM indicator
	from the %p, %r directives' results in specific locales.
	* modules/nstrftime (Depends-on): Add localename.
	* tests/test-nstrftime.h (locales_test): Update the expected result of
	the %r directive.
	* doc/posix-functions/strftime.texi: Mention the problem of the %p and
	%r directives on NetBSD and Solaris.

2024-02-08  Bruno Haible  <bruno@clisp.org>

	nstrtime, c-nstrftime: Fix %c directive's result on NetBSD, Solaris.
	* lib/strftime.c (__strftime_internal): On NetBSD and Solaris, remove
	the last word of the %c directive's result if it looks like a time zone.
	* doc/posix-functions/strftime.texi: Mention this as a restriction of
	strftime.

2024-02-07  Bruno Haible  <bruno@clisp.org>

	c-nstrftime: Add tests.
	* tests/test-c-nstrftime.c: New file, based on tests/test-nstrftime.c.
	* tests/test-c-nstrftime-1.sh: New file, based on
	tests/test-nstrftime-1.sh.
	* tests/test-c-nstrftime-2.sh: New file, based on
	tests/test-nstrftime-2.sh.
	* modules/c-nstrftime-tests: New file.

	c-nstrftime: New module.
	Suggested by Paul Eggert.
	* lib/strftime.h (c_nstrftime): New declaration.
	* lib/c-nstrftime.c: New file.
	* lib/strftime.c (FPRINTFTIME): Move fallback definition before its
	first use.
	(USE_C_LOCALE): Add fallback definition.
	If USE_C_LOCALE is set, include c-ctype.h instead of <ctype.h>.
	Conditionally include <locale.h>.
	(TOUPPER, TOLOWER): Define differently if USE_C_LOCALE is set.
	(c_locale_cache, c_locale): New definitions, copied from lib/c-strtod.c.
	(c_weekday_names, c_month_names): New variables, based on
	glibc/time/strftime_l.c.
	(__strftime_internal): Define a_wkday, aw_len, f_wkday, a_month, am_len,
	f_month, ampm, ap_len differently for USE_C_LOCALE. Avoid a
	'goto underlying_strftime' if USE_C_LOCALE && !HAVE_STRFTIME_L. If
	USE_C_LOCALE, use strftime_l() with the C locale object instead of
	strftime().
	* m4/c-nstrftime.m4: New file, based on m4/nstrftime.m4.
	* modules/c-nstrftime: New file, based on modules/nstrftime.

2024-02-07  Bruno Haible  <bruno@clisp.org>

	nstrftime: Add tests of all directives, also in non-trivial locales.
	* tests/test-nstrftime.h (language_t): New type.
	(locales_test): New function.
	* tests/test-nstrftime.c: Include <locale.h>, <stdlib.h>.
	(main): Invoke setlocale and locales_test.
	* tests/test-nstrftime-1.sh: New file.
	* tests/test-nstrftime-2.sh: New file, based on tests/test-strtod1.sh.
	* modules/nstrftime-tests (Files): Add them. Add m4/locale-fr.m4,
	m4/codeset.m4, m4/musl.m4.
	(configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8, gl_MUSL_LIBC.
	(Makefile.am): Link test-nstrftime with $(SETLOCALE_LIB). Test
	test-nstrftime-*.sh instead of test-nstrftime.

2024-02-07  Bruno Haible  <bruno@clisp.org>

	nstrftime: Work around strftime bug with %r on macOS and FreeBSD.
	* lib/strftime.c (__strftime_internal): For %r, don't use the underlying
	strftime() directly.
	* doc/posix-functions/strftime.texi: Mention the %r bug.

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

	Assume ‘long long’ support
	* modules/strtoimax, modules/strtoumax (Depends-on):
	Assume the compiler supports ‘long long’.
	This was overlooked in the 2019-12-22 patch
	<https://lists.gnu.org/r/bug-gnulib/2019-12/msg00190.html>.

2024-02-07  Bruno Haible  <bruno@clisp.org>

	nstrftime: Fix typo in documentation.
	Reported by Tim Rice <tim@multitalents.net>.
	* lib/strftime.h (nstrftime): Fix typo in comment.

2024-02-07  Bruno Haible  <bruno@clisp.org>

	nstrftime tests: Avoid test failures on DragonFly BSD.
	* tests/test-nstrftime.h (LT): Disable specific test cases also on
	DragonFly BSD.

2024-02-07  Bruno Haible  <bruno@clisp.org>

	nstrftime: Modernize.
	* lib/strftime.c (__strftime_internal): Make the strftime fallback
	declaration ISO C 23 compliant.

2024-02-07  Bruno Haible  <bruno@clisp.org>

	nstrftime tests: Avoid test failures on FreeBSD, NetBSD, Android.
	* tests/test-nstrftime.h (LT): Disable specific test cases on FreeBSD,
	NetBSD, Android.

2024-02-07  Bruno Haible  <bruno@clisp.org>

	nstrftime tests: Allow reuse with another function.
	* tests/test-nstrftime.h: New file, extracted from
	tests/test-nstrftime.c.
	(FUNC_NAME, STRINGIFY): New macros.
	(posixtm_test, tzalloc_test, quarter_test, errno_test): Use FUNC or
	FUNC_NAME instead of nstrftime.
	(quarter_test): Rename local variable 'result' to 'fail'.
	* tests/test-nstrftime.c: Remove code that moved to test-nstrftime.h.
	Include test-nstrftime.h.
	(STREQ): Remove redundant macro.
	* modules/nstrftime-tests (Files): Add tests/test-nstrftime.h.

2024-02-07  Bruno Haible  <bruno@clisp.org>

	nstrftime: Document the nstrftime function.
	* lib/strftime.h (nstrftime): Add more comments.

2024-02-06  Bruno Haible  <bruno@clisp.org>

	nl_langinfo: Fix fallback list of month names (regression 2014-07-07).
	* lib/nl_langinfo.c (nl_langinfo): In the implementation for native
	Windows, fix the results for MON_8..MON_12, ALTMON_8..ALTMON_12,
	ABMON_8..ABMON_12.

2024-02-06  Bruno Haible  <bruno@clisp.org>

	nstrftime: Merge glibc strftime changes.
	This incorporates:
	2023-02-07 Use 64-bit time_t interfaces in strftime and strptime
	* lib/strftime.c [_LIBC] (time_t, __gmtime_r, mktime): Define as macros.
	* config/srclist.txt: Update comment regarding glibc/time/strftime_l.c.

2024-02-06  Bruno Haible  <bruno@clisp.org>

	nstrftime, fprintftime: Simplify.
	* lib/strftime.c: Renamed from lib/nstrftime.c.
	(my_strftime): Don't define here.
	* lib/nstrftime.c: New file.
	* lib/fprintftime.c (my_strftime): New macro.
	Include strftime.c, not nstrftime.c.
	* m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't define my_strftime in
	config.h.
	* modules/nstrftime (Files): Add lib/strftime.c.
	* modules/fprintftime (Files): Likewise.
	* config/srclist.txt: Update comment regarding glibc/time/strftime.c.

2024-02-06  Bruno Haible  <bruno@clisp.org>

	Further improve cross-compilation for midipix.
	Reported by Ørjan Malde <red@foxi.me>.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Improve cross-compilation guess
	for midipix.

2024-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	ctime: improve doc
	* doc/posix-functions/asctime.texi (asctime):
	* doc/posix-functions/asctime_r.texi (asctime_r):
	* doc/posix-functions/ctime_r.texi (ctime_r):
	* doc/posix-functions/ctime.texi (ctime):
	Mention locale problem of strftime more consistently.  Improve
	wording.  For ctime and ctime_r, mention that localtime_r can
	fail.
	* doc/posix-functions/ctime.texi (ctime): Move history section
	to end and spiff up a bit.
	* doc/posix-functions/ctime_r.texi (ctime_r): Omit commentary that
	assumes traditional SunOS ctime_r API; it was confusing and not
	useful for Gnulib apps, which assume the POSIX API.

2024-02-05  Bruno Haible  <bruno@clisp.org>

	Further improve cross-compilation for midipix.
	Based on patch by Ørjan Malde <red@foxi.me> from
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-02/msg00004.html>.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Add cross-compilation guess for
	midipix.
	* m4/rename.m4 (gl_FUNC_RENAME): Likewise.
	* m4/truncate.m4 (gl_FUNC_TRUNCATE): Likewise.
	* m4/utime.m4 (gl_FUNC_UTIME): Likewise.
	* m4/utimens.m4 (gl_UTIMENS): Likewise.
	* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.

2024-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	doc: Extend doc of *ctime functions.
	* doc/posix-functions/ctime.texi (ctime): Document why we got into
	this mess.
	* doc/posix-functions/asctime.texi (asctime):
	* doc/posix-functions/asctime_r.texi (asctime_r):
	* doc/posix-functions/ctime_r.texi (ctime_r):
	Refer to ctime’s buffer overflow doc.

2024-02-05  Bruno Haible  <bruno@clisp.org>

	snippet/warn-on-use: Add comment.
	* lib/warn-on-use.h: Document a restriction of _GL_WARN_ON_USE.

2024-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc-oversized: omit unnecessary cast
	* lib/xalloc-oversized.h (__xalloc_oversized): Omit unnecessary
	cast of a positive in-range value to size_t.  This seems to be
	left over from an older version of the code.

	glob: port better to C23
	* lib/glob.c: Include <stdckdint.h>.
	(size_add_wrapv): Remove.  All uses replaced by ckd_add.
	* modules/glob: Depend on stdckdint.

	ctime: fix false positive
	Problem reported by Bjarni Ingi Gislason in:
	https://lists.gnu.org/r/bug-gnulib/2024-02/msg00006.html
	* lib/time.in.h (ctime): Do not warn about ctime portability,
	as there is a more serious warning about it crashing,
	and the two warning directives can cause false alarms.

2024-01-31  Bruno Haible  <bruno@clisp.org>

	Implement 3 new properties, added by Unicode 15.1.0.
	* lib/gen-uni-tables.c (is_property_id_compat_math_start,
	is_property_id_compat_math_continue, is_property_ids_unary_operator):
	New functions.
	(output_properties): Output also the properties id_compat_math_start,
	id_compat_math_continue, ids_unary_operator.
	* lib/unictype.in.h (UC_PROPERTY_ID_COMPAT_MATH_START,
	UC_PROPERTY_ID_COMPAT_MATH_CONTINUE, UC_PROPERTY_IDS_UNARY_OPERATOR,
	uc_is_property_id_compat_math_start,
	uc_is_property_id_compat_math_continue,
	uc_is_property_ids_unary_operator): New declarations.
	* m4/unictype_h.m4 (gl_UNICTYPE_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE,
	GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE,
	GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE.
	* modules/unictype/base (Makefile.am): Substitute
	GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_START_DLL_VARIABLE,
	GNULIB_UNICTYPE_PROPERTY_ID_COMPAT_MATH_CONTINUE_DLL_VARIABLE,
	GNULIB_UNICTYPE_PROPERTY_IDS_UNARY_OPERATOR_DLL_VARIABLE.
	* lib/unictype/pr_id_compat_math_continue.c: New file.
	* lib/unictype/pr_id_compat_math_continue.h: New generated file.
	* lib/unictype/pr_id_compat_math_start.c: New file.
	* lib/unictype/pr_id_compat_math_start.h: New generated file.
	* lib/unictype/pr_ids_unary_operator.c: New file.
	* modules/unictype/property-id-compat-math-continue: New file.
	* modules/unictype/property-id-compat-math-start: New file.
	* modules/unictype/property-ids-unary-operator: New file.
	* tests/unictype/test-pr_id_compat_math_continue.c: New generated file.
	* tests/unictype/test-pr_id_compat_math_start.c: New generated file.
	* tests/unictype/test-pr_ids_unary_operator.c: New generated file.
	* modules/unictype/property-id-compat-math-continue-tests: New file.
	* modules/unictype/property-id-compat-math-start-tests: New file.
	* modules/unictype/property-ids-unary-operator-tests: New file.
	* lib/unictype/pr_byname.gperf: Add id_compat_math_start,
	id_compat_math_continue, ids_unary_operator.
	* lib/unictype/pr_byname.c (UC_PROPERTY_INDEX_ID_COMPAT_MATH_START,
	UC_PROPERTY_INDEX_ID_COMPAT_MATH_CONTINUE,
	UC_PROPERTY_INDEX_IDS_UNARY_OPERATOR): New enum items.
	(uc_property_byname): Handle them.
	* modules/unictype/property-byname (Depends-on): Add
	unictype/property-id-compat-math-continue,
	unictype/property-id-compat-math-start,
	unictype/property-ids-unary-operator.
	* modules/unictype/property-all (Depends-on): Likewise.
	* MODULES.html.sh (func_all_modules): Add
	unictype/property-id-compat-math-continue,
	unictype/property-id-compat-math-start,
	unictype/property-ids-unary-operator.

2024-01-30  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 15.1.0.

	* lib/gen-uni-tables.c (PROP_SENTENCE_TERMINAL): Renamed from
	PROP_STERM.
	(PROP_IDS_UNARY_OPERATOR, PROP_ID_COMPAT_MATH_CONTINUE,
	PROP_ID_COMPAT_MATH_START): New enum items.
	(UC_INDIC_CONJUNCT_BREAK_*): New enum items.
	(unicode_indic_conjunct_break): New variable.
	(fill_properties): Rename local variable propvalue to propcode. Handle
	the properties IDS_Unary_Operator, ID_Compat_Math_Continue,
	ID_Compat_Math_Start. Parse the InCB values from file
	DerivedCoreProperties.txt.
	(indic_conjunct_break_as_c_identifier,
	output_indic_conjunct_break_test): New functions.
	(indic_conjunct_break_table): New variable.
	(output_indic_conjunct_break): New function.
	(fill_width): Accept spaces at the end of field0 and at the start and
	end of field1.
	(LBP_QU1, LBP_QU2, LBP_QU3): New enum items, for Unicode TR #14 rules
	(LB15a) and (LB15b).
	(LBP_AP, LBP_AK, LBP_AS, LBP_VI, LBP_VF): New enum items, for Brahmic
	scripts.
	(get_lbp): Update such that unilbrk/lbrkprop.txt comes out as expected.
	(debug_output_lbp): Print either LBP_QU1 or LBP_QU2 or LBP_QU3 as
	LBP_QU. Handle LBP_AP, LBP_AK, LBP_AS, LBP_VI, LBP_VF.
	(fill_org_lbp): Accept spaces at the end of field0 and at the start and
	end of field1. Recognize LBP_AP, LBP_AK, LBP_AS, LBP_VI, LBP_VF.
	(debug_output_org_lbp): Handle LBP_AP, LBP_AK, LBP_AS, LBP_VI, LBP_VF.
	(lbp_value_to_string): Handle LBP_QU1, LBP_QU2, LBP_QU3 instead of
	LBP_QU. Handle LBP_AP, LBP_AK, LBP_AS, LBP_VI, LBP_VF.
	(output_lbrk_rules_as_tables): Treat LBP_QU as macro that maps to three
	table rows/columns. Replace rule (LB15) with rules (LB15b) and (LB15a).
	(get_wbp): Update such that uniwbrk/wbrkprop.txt comes out as expected.
	(main): Invoke output_indic_conjunct_break_test and
	output_indic_conjunct_break.

	* All generated files under lib/uni* and tests/uni*: Regenerate.
	* tests/uniname/NameAliases.txt: Update.
	* tests/uniname/UnicodeData.txt: Update.
	* tests/uninorm/NormalizationTest.txt: Update.
	* tests/unigbrk/GraphemeBreakTest.txt: Update.
	* tests/uniwbrk/WordBreakTest.txt: Update.

	* lib/unilbrk/lbrktables.h (LBP_QU1, LBP_QU2, LBP_QU3): New enum items,
	for Unicode TR #14 rules (LB15a) and (LB15b).
	(LBP_QU): Remove enum item.
	(LBP_AP, LBP_AK, LBP_AS, LBP_VI, LBP_VF): New enum items, for Brahmic
	scripts.
	(unilbrk_table): Update array bounds.
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks_loop):
	Conditionally replace LBP_QU2 with LBP_QU1, for rule (LB15a).
	Conditionally replace LBP_QU3 with LBP_QU1, for rule (LB15b).
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks_loop):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks_loop):
	Likewise.

	* lib/unictype.in.h (UC_INDIC_CONJUNCT_BREAK_*): New enum values.
	(uc_indic_conjunct_break_name, uc_indic_conjunct_break_byname,
	uc_indic_conjunct_break): New declarations.
	* lib/unictype/incb_byname.c: New file.
	* lib/unictype/incb_byname.gperf: New file.
	* lib/unictype/incb_name.c: New file.
	* lib/unictype/incb_name.h: New file.
	* lib/unictype/incb_of.c: New file.
	* lib/unictype/incb_of.h: New generated file.
	* modules/unictype/incb-all: New file.
	* modules/unictype/incb-byname: New file.
	* modules/unictype/incb-name: New file.
	* modules/unictype/incb-of: New file.
	* tests/unictype/test-incb_byname.c: New file.
	* tests/unictype/test-incb_name.c: New file.
	* tests/unictype/test-incb_of.c: New file.
	* tests/unictype/test-incb_of.h: New generated file.
	* modules/unictype/incb-byname-tests: New file.
	* modules/unictype/incb-name-tests: New file.
	* modules/unictype/incb-of-tests: New file.

	* lib/unigbrk.in.h (uc_is_grapheme_break, u*_grapheme_next,
	u*_grapheme_prev): Add comments.
	* lib/unigbrk/u-grapheme-breaks.h (FUNC): Add local variables
	incb_consonant_extended, incb_consonant_extended_linker,
	incb_consonant_extended_linker_extended. Implement rule (GB9c).
	* modules/unigbrk/u8-grapheme-breaks (Depends-on): Add unictype/incb-of.
	* modules/unigbrk/u16-grapheme-breaks (Depends-on): Likewise.
	* modules/unigbrk/u32-grapheme-breaks (Depends-on): Likewise.
	* modules/unigbrk/uc-grapheme-breaks (Depends-on): Likewise.
	* tests/unigbrk/test-uc-is-grapheme-break.c (main): Add local variables
	incb_consonant_extended, incb_consonant_extended_linker,
	incb_consonant_extended_linker_extended. Skip test cases that match rule
	(GB9c).
	* modules/unigbrk/uc-is-grapheme-break-tests (Depends-on): Add
	unictype/incb-of.

	* All the affected modules: Bump required libunistring version.

2024-01-30  Bruno Haible  <bruno@clisp.org>

	unigbrk/uc-is-grapheme-break tests: Reduce verbosity.
	* tests/unigbrk/test-uc-is-grapheme-break.c
	(graphemebreakproperty_to_string): Don't print gbp to stdout.

2024-01-30  Bruno Haible  <bruno@clisp.org>

	gen-uni-tables: Update copyright year in output.
	* lib/gen-uni-tables.c (output_predicate_test, output_predicate,
	output_category, output_combclass, output_bidi_category,
	output_decimal_digit_test, output_decimal_digit, output_digit_test,
	output_digit, output_numeric_test, output_numeric, output_mirror,
	output_joining_type_test, output_joining_type,
	output_joining_group_test, output_joining_group, output_scripts,
	output_scripts_byname, output_blocks, output_ident_category,
	output_nonspacing_property, output_lbrk_tables,
	output_lbrk_rules_as_tables, output_wbrk_tables, output_gbp_test,
	output_gbp_table, output_decomposition_tables,
	output_composition_tables, output_simple_mapping_test,
	output_simple_mapping, output_casing_rules): Bump copyright year in
	output.
	* lib/uniname/gen-uninames.lisp (main): Likewise.

2024-01-30  Bruno Haible  <bruno@clisp.org>

	gen-uni-tables: Refactor, based on UAX #14 version 49.
	* lib/gen-uni-tables.c (get_lbp): Reorder, based on
	<https://www.unicode.org/reports/tr14/tr14-49.html#DescriptionOfProperties>.
	For LBP_EB, use the "emoji modifier base" property.

2024-01-30  Bruno Haible  <bruno@clisp.org>

	unigbrk tests: Tweak error reporting.
	* tests/unigbrk/test-ulc-grapheme-breaks.c (main): Print byte values in
	upper-case hexadecimal.
	* tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
	Print unit values in upper-case hexadecimal.
	* tests/unigbrk/test-u16-grapheme-breaks.c (test_u16_grapheme_breaks):
	Print unit values with at least 4 hexadecimal digits.
	* tests/unigbrk/test-u32-grapheme-breaks.c (test_u32_grapheme_breaks):
	Likewise.
	* tests/unigbrk/test-uc-grapheme-breaks.c (test_uc_grapheme_breaks):
	Print characters with at least 4 hexadecimal digits.

2024-01-30  Bruno Haible  <bruno@clisp.org>

	Update copyright year in tests/unictype/*.
	* tests/unictype/*: Bump copyright years range to include 2024.
	* Makefile (update-copyright): Don't exclude the tests/unictype
	directory.

2024-01-29  Patrice Dumas  <pertusus@free.fr>

	gendocs: get only targeted manual source and includes, when possible
	* build-aux/gendocs.sh: if makeinfo, based on version, has the
	--trace-includes option, gather only the targeted manual srcfile and
	the included files obtained with makeinfo --trace-includes. In that
	case output include files to tar stdin and use -T-. Bruno Haible for
	the version comparison and use of tar.

2024-01-29  Bruno Haible  <bruno@clisp.org>

	Port FALLTHROUGH to Mac OS X 10.9.
	Report and fix by Ryan Carsten Schmidt <gnulib@ryandesign.com>
	at <https://savannah.gnu.org/bugs/?63866>.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): For _GL_HAS_ATTRIBUTE, don't use
	__has_attribute for Apple clang versions < 7000000.
	* lib/cdefs.h (__glibc_has_attribute): Don't use __has_attribute for
	Apple clang versions < 7000000.

2024-01-29  Bruno Haible  <bruno@clisp.org>

	libc-config: Apply lesson learned on 2023-01-13.
	* lib/cdefs.h (__glibc_has_attribute): On non-Apple platforms, don't
	use __has_attribute for clang versions < 5.0.

2024-01-28  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Let gl_HOST_CPU_C_ABI_32BIT never return 'unknown'.
	Reported by Mohammad-Reza Nabipoor <mnabipoor@gnu.org>.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Use the list of
	always-32-bit CPUs and the list of always-64-bit CPUs also when
	gl_HOST_CPU_C_ABI has already been run. As a fallback, use a test of
	'sizeof (void *)' to always return 'yes' or 'no', never 'unknown'.

2024-01-27  Paul Eggert  <eggert@cs.ucla.edu>

	gendocs: allow other chars in source file names
	* build-aux/gendocs.sh: Generalize to also allow leading ‘-’
	and newlines (!) in source file names.  Exit if there
	is an error creating the tarball.

2024-01-27  Patrice Dumas  <pertusus@free.fr>

	gendocs: allow spaces, metacharacters and quotes in source file names
	* build-aux/gendocs.sh: output files to tar stdin and use -T- to allow
	spaces, metacharacters and quotes in file names.  Bruno Haible
	solution.

2024-01-27  Patrice Dumas  <pertusus@free.fr>

	gendocs: fix --no-html
	* build-aux/gendocs.sh: fix typo in variable name set by --no-html.

2024-01-25  Bruno Haible  <bruno@clisp.org>

	execute tests: Avoid test failure on macOS 14.
	Reported by Guangyu Li <gl343@cornell.edu> in
	<https://lists.gnu.org/archive/html/bug-gettext/2024-01/msg00006.html>.
	* tests/test-execute-main.c (main): In the tests 17, 18, 19, 20, use the
	file descriptors 15, 16 instead of 10, 11, respectively.
	* tests/test-execute-child.c (main): Likewise.

2024-01-25  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 35.

	* lib/time.in.h (timespec_getres): Consider REPLACE_TIMESPEC_GETRES.
	* m4/time_h.m4 (gl_TIME_H_DEFAULTS): Initialize REPLACE_TIMESPEC_GETRES.
	* modules/time-h (Makefile.am): Substitute REPLACE_TIMESPEC_GETRES.
	* m4/timespec_getres.m4 (gl_FUNC_TIMESPEC_GETRES): Test for
	timespec_getres using gl_CHECK_FUNCS_ANDROID instead of
	AC_CHECK_FUNCS_ONCE. Conditionally set REPLACE_TIMESPEC_GETRES.
	* modules/timespec_getres (Depends-on, configure.ac): Consider
	REPLACE_TIMESPEC_GETRES.
	* m4/gettime.m4 (gl_GETTIME_RES): Test for timespec_getres using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* doc/posix-functions/timespec_getres.texi: Mention the Android API
	levels.

2024-01-25  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 34.

	* m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE): On platforms without
	glibc, test for copy_file_range using gl_CHECK_FUNCS_ANDROID instead of
	AC_CHECK_FUNCS_ONCE. Conditionally set REPLACE_COPY_FILE_RANGE.
	* doc/glibc-functions/copy_file_range.texi: Mention the Android API
	levels.

	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test for
	posix_spawn_file_actions_addchdir_np and
	posix_spawn_file_actions_addfchdir_np using gl_CHECK_FUNCS_ANDROID
	instead of AC_CHECK_FUNCS_ONCE.
	* m4/posix_spawn_faction_addchdir.m4
	(gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR): Test for
	posix_spawn_file_actions_addchdir_np using gl_CHECK_FUNCS_ANDROID
	instead of AC_CHECK_FUNCS_ONCE.
	* m4/posix_spawn_faction_addfchdir.m4
	(gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR): Test for
	posix_spawn_file_actions_addfchdir_np using gl_CHECK_FUNCS_ANDROID
	instead of AC_CHECK_FUNCS_ONCE.
	* doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
	the Android API levels.
	* doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
	Likewise.

	* lib/string.in.h (memset_explicit): Consider REPLACE_MEMSET_EXPLICIT.
	* m4/string_h.m4 (gl_STRING_H_DEFAULTS): Initialize
	REPLACE_MEMSET_EXPLICIT.
	* modules/string (Makefile.am): Substitute REPLACE_MEMSET_EXPLICIT.
	* m4/memset_explicit.m4 (gl_FUNC_MEMSET_EXPLICIT): Test for
	memset_explicit using gl_CHECK_FUNCS_ANDROID instead of
	AC_CHECK_FUNCS_ONCE. Conditionally set REPLACE_MEMSET_EXPLICIT.
	* modules/memset_explicit (configure.ac): Consider
	REPLACE_MEMSET_EXPLICIT.
	* doc/posix-functions/memset_explicit.texi: Mention the Android API
	levels.

	* m4/freadahead.m4 (gl_FUNC_FREADAHEAD): Test for __freadahead using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* lib/freadahead.h: Update comment.

2024-01-25  Bruno Haible  <bruno@clisp.org>

	Doc regarding functions introduced in Android API level 33.
	* doc/glibc-functions/backtrace.texi: Mention the Android API levels.
	* doc/glibc-functions/backtrace_symbols.texi: Likewise.
	* doc/glibc-functions/backtrace_symbols_fd.texi: Likewise.
	* doc/glibc-functions/preadv2.texi: Likewise.
	* doc/glibc-functions/pwritev2.texi: Likewise.

2024-01-25  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 30.

	* doc/glibc-functions/memfd_create.texi: Mention the Android API levels.
	* doc/glibc-functions/mlock2.texi: Likewise.
	* doc/glibc-functions/pthread_cond_clockwait.texi: Likewise.
	* doc/glibc-functions/pthread_mutex_clocklock.texi: Likewise.
	* doc/glibc-functions/pthread_rwlock_clockrdlock.texi: Likewise.
	* doc/glibc-functions/pthread_rwlock_clockwrlock.texi: Likewise.
	* doc/glibc-functions/renameat2.texi: Likewise.
	* doc/glibc-functions/sem_clockwait.texi: Likewise.
	* doc/glibc-functions/statx.texi: Likewise.

	* lib/threads.in.h (thrd_sleep): Consider REPLACE_THRD_SLEEP.
	(thrd_yield): Consider REPLACE_THRD_YIELD.
	(mtx_init): Consider REPLACE_MTX_INIT.
	(mtx_lock): Consider REPLACE_MTX_LOCK.
	(mtx_trylock): Consider REPLACE_MTX_TRYLOCK.
	(mtx_timedlock): Consider REPLACE_MTX_TIMEDLOCK.
	(mtx_unlock): Consider REPLACE_MTX_UNLOCK.
	(mtx_destroy): Consider REPLACE_MTX_DESTROY.
	(call_once): Consider REPLACE_CALL_ONCE. Fix warning message.
	(cnd_init): Consider REPLACE_CND_INIT.
	(cnd_wait): Consider REPLACE_CND_WAIT.
	(cnd_timedwait): Consider REPLACE_CND_TIMEDWAIT.
	(cnd_signal): Consider REPLACE_CND_SIGNAL.
	(cnd_broadcast): Consider REPLACE_CND_BROADCAST.
	(cnd_destroy): Consider REPLACE_CND_DESTROY.
	(tss_create): Consider REPLACE_TSS_CREATE.
	(tss_set): Consider REPLACE_TSS_SET.
	(tss_get): Consider REPLACE_TSS_GET.
	(tss_delete): Consider REPLACE_TSS_DELETE.
	* m4/threads_h.m4 (gl_THREADS_H_DEFAULTS): Initialize REPLACE_CALL_ONCE,
	REPLACE_CND_BROADCAST, REPLACE_CND_DESTROY, REPLACE_CND_INIT,
	REPLACE_CND_SIGNAL, REPLACE_CND_TIMEDWAIT, REPLACE_CND_WAIT,
	REPLACE_MTX_DESTROY, REPLACE_MTX_INIT, REPLACE_MTX_LOCK,
	REPLACE_MTX_TIMEDLOCK, REPLACE_MTX_TRYLOCK, REPLACE_MTX_UNLOCK,
	REPLACE_THRD_SLEEP, REPLACE_THRD_YIELD, REPLACE_TSS_CREATE,
	REPLACE_TSS_DELETE, REPLACE_TSS_GET, REPLACE_TSS_SET.
	* modules/threads-h (Makefile.am): Substitute REPLACE_CALL_ONCE,
	REPLACE_CND_BROADCAST, REPLACE_CND_DESTROY, REPLACE_CND_INIT,
	REPLACE_CND_SIGNAL, REPLACE_CND_TIMEDWAIT, REPLACE_CND_WAIT,
	REPLACE_MTX_DESTROY, REPLACE_MTX_INIT, REPLACE_MTX_LOCK,
	REPLACE_MTX_TIMEDLOCK, REPLACE_MTX_TRYLOCK, REPLACE_MTX_UNLOCK,
	REPLACE_THRD_SLEEP, REPLACE_THRD_YIELD, REPLACE_TSS_CREATE,
	REPLACE_TSS_DELETE, REPLACE_TSS_GET, REPLACE_TSS_SET.
	* m4/thrd.m4 (gl_FUNC_THRD_CREATE): New macro.
	* modules/thrd (configure.ac): Invoke gl_FUNC_THRD_CREATE.
	* m4/call_once.m4: New file.
	* modules/call_once (Files): Add m4/call_once.m4.
	(configure.ac): Invoke gl_FUNC_CALL_ONCE. Consider REPLACE_CALL_ONCE.
	* m4/cnd.m4: New file.
	* modules/cnd (Files): Add m4/cnd.m4.
	(configure.ac): Invoke gl_FUNC_CND_INIT. Consider REPLACE_CND_INIT.
	* m4/mtx.m4: New file.
	* modules/mtx (Files): Add m4/mtx.m4.
	(configure.ac): Invoke gl_FUNC_MTX_INIT. Consider REPLACE_MTX_INIT.
	* m4/tss.m4: New file.
	* modules/tss (Files): Add m4/tss.m4.
	(configure.ac): Invoke gl_FUNC_TSS_CREATE. Consider REPLACE_TSS_CREATE.
	* doc/posix-functions/call_once.texi: Mention the Android API levels.
	* doc/posix-functions/cnd_broadcast.texi: Likewise.
	* doc/posix-functions/cnd_destroy.texi: Likewise.
	* doc/posix-functions/cnd_init.texi: Likewise.
	* doc/posix-functions/cnd_signal.texi: Likewise.
	* doc/posix-functions/cnd_timedwait.texi: Likewise.
	* doc/posix-functions/cnd_wait.texi: Likewise.
	* doc/posix-functions/mtx_destroy.texi: Likewise.
	* doc/posix-functions/mtx_init.texi: Likewise.
	* doc/posix-functions/mtx_lock.texi: Likewise.
	* doc/posix-functions/mtx_timedlock.texi: Likewise.
	* doc/posix-functions/mtx_trylock.texi: Likewise.
	* doc/posix-functions/mtx_unlock.texi: Likewise.
	* doc/posix-functions/thrd_create.texi: Likewise.
	* doc/posix-functions/thrd_current.texi: Likewise.
	* doc/posix-functions/thrd_detach.texi: Likewise.
	* doc/posix-functions/thrd_equal.texi: Likewise.
	* doc/posix-functions/thrd_exit.texi: Likewise.
	* doc/posix-functions/thrd_join.texi: Likewise.
	* doc/posix-functions/thrd_sleep.texi: Likewise.
	* doc/posix-functions/thrd_yield.texi: Likewise.
	* doc/posix-functions/tss_create.texi: Likewise.
	* doc/posix-functions/tss_delete.texi: Likewise.
	* doc/posix-functions/tss_get.texi: Likewise.
	* doc/posix-functions/tss_set.texi: Likewise.

2024-01-21  Bruno Haible  <bruno@clisp.org>

	readutmp, boot-time: Port to Android NDK r26.
	Reported by Po Lu <luangruo@yahoo.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-01/msg00063.html>.
	* lib/readutmp.h: Update comments.
	(UTMP_NAME_FUNCTION): Define as a no-op for Android with HAVE_UTMPX_H.

2024-01-21  Bruno Haible  <bruno@clisp.org>

	asyncsafe-spin: Fix link error on various platforms.
	* m4/atomic-cas.m4: New file.
	* lib/asyncsafe-spin.c: Test HAVE_ATOMIC_COMPARE_AND_SWAP_GCC41 instead
	of a condition that considers only __sparc__, __ANDROID__, __ibmxl__.
	* lib/pthread-spin.c: Likewise.
	* lib/simple-atomic.c: Likewise.
	* modules/asyncsafe-spin (Files): Add m4/atomic-cas.m4.
	(configure.ac): Require gl_ATOMIC_COMPARE_AND_SWAP.
	* modules/pthread-spin: Likewise.
	* modules/simple-atomic: Likewise.

2024-01-19  Bruno Haible  <bruno@clisp.org>

	fenv-environment: Fix for NetBSD/powerpc.
	* m4/fenv-environment.m4 (gl_FENV_ENVIRONMENT): For feupdateenv, use
	the same configure test on NetBSD/powerpc as on glibc/hppa.
	* doc/posix-functions/feupdateenv.texi: Mention the NetBSD/powerpc bug.

	fenv-exceptions-trapping: Avoid a test failure on *BSD/powerpc*.
	* tests/test-fenv-except-trapping-2.c (main): Skip the '4' tests also on
	FreeBSD/powerpc* and NetBSD/powerpc*.

	fenv-exceptions-state-c99: Fix for FreeBSD/powerpc64 and NetBSD/powerpc.
	* m4/fenv-exceptions-state.m4 (gl_FENV_EXCEPTIONS_STATE): On
	FreeBSD/powerpc64 and NetBSD/powerpc, set REPLACE_FESETEXCEPTFLAG.
	* doc/posix-functions/fesetexceptflag.texi: Mention the FreeBSD and
	NetBSD bug.

	fenv-*: Avoid test failures on FreeBSD/powerpc64 and NetBSD/powerpc.
	On these platforms, FE_ALL_EXCEPT contains additional bits.
	* tests/test-fenv-except-tracking-1.c (FE_VXSOFT, FE_VXZDZ): Define
	fallbacks.
	(main): Allow fetestexcept(FE_ALL_EXCEPT) to contain FE_VXSOFT or
	FE_VXZDZ in addition to FE_INVALID.
	* tests/test-fenv-except-tracking-4.c (FE_VXSOFT): Define fallback.
	(main): Allow fetestexcept(FE_ALL_EXCEPT) to contain FE_VXSOFT in
	addition to FE_INVALID.
	* tests/test-fenv-env-2.c: Likewise.
	* tests/test-fenv-env-3.c: Likewise.
	* tests/test-fenv-env-4.c: Likewise.
	* tests/test-fenv-env-5.c: Likewise.

2024-01-19  Bruno Haible  <bruno@clisp.org>

	fenv-*: Fix test failures on NetBSD 9.3/arm64.
	* m4/fenv-exceptions-trapping.m4 (gl_FENV_EXCEPTIONS_TRAPPING): Override
	feenableexcept() also on NetBSD/arm64.
	* doc/glibc-functions/feenableexcept.texi: Update platforms list.

2024-01-19  Bruno Haible  <bruno@clisp.org>

	fenv-*: Avoid test failures on OpenBSD/sparc64.
	* tests/test-fenv-except-tracking-2.c (main): On OpenBSD/sparc64, skip
	the 'long double' test.
	* tests/test-fenv-except-trapping-2.c (main): Skip the 'long double'
	tests also on OpenBSD/sparc64.

2024-01-18  Bruno Haible  <bruno@clisp.org>

	fenv-rounding: Avoid a test failure on OpenBSD/arm64.
	* tests/test-fenv-round.c (test_towardzero, test_upward, test_downward):
	Skip the 'long double' tests on OpenBSD/arm64.
	* doc/posix-functions/fesetround.texi: Update platforms list.

2024-01-18  Bruno Haible  <bruno@clisp.org>

	Avoid test failures in FreeBSD's GB18030 locale.
	The FreeBSD 14.0 iconv converter (GB18030 → UTF-8) cannot convert e.g.
	0x94 0x32 0xBB 0x34 to U+1D100.
	* tests/test-c32isalnum.c (main): Skip the GB18030 locale tests on
	FreeBSD, if GL_CHAR32_T_IS_UNICODE (or, equivalently,
	GL_CHAR32_T_VS_WCHAR_T_NEEDS_CONVERSION) is defined.
	* tests/test-c32isalpha.c (main): Likewise.
	* tests/test-c32isblank.c (main): Likewise.
	* tests/test-c32iscntrl.c (main): Likewise.
	* tests/test-c32isdigit.c (main): Likewise.
	* tests/test-c32islower.c (main): Likewise.
	* tests/test-c32ispunct.c (main): Likewise.
	* tests/test-c32isspace.c (main): Likewise.
	* tests/test-c32isupper.c (main): Likewise.
	* tests/test-c32isxdigit.c (main): Likewise.
	* tests/test-c32rtomb.c (main): Likewise.
	* tests/test-c32snrtombs.c (main): Likewise.
	* tests/test-c32srtombs.c (main): Likewise.
	* tests/test-c32stombs.c (main): Likewise.
	* tests/test-c32tolower.c (main): Likewise.
	* tests/test-c32toupper.c (main): Likewise.
	* tests/test-mbrtoc16.c (main): Likewise.
	* tests/test-mbrtoc32.c (main): Likewise.
	* tests/test-mbsnrtoc32s.c (main): Likewise.
	* tests/test-mbsrtoc32s.c (main): Likewise.
	* tests/test-mbstoc32s.c (main): Likewise.

2024-01-18  Bruno Haible  <bruno@clisp.org>

	get-rusage-data: Avoid test failure on NetBSD 9.3.
	* tests/test-get-rusage-data.c (main): Don't expect a strict increase on
	NetBSD systems.

2024-01-18  Bruno Haible  <bruno@clisp.org>

	log10l: Work around bug on NetBSD 9.3/arm64.
	* m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add another test case, taken from
	the unit test.

2024-01-18  Bruno Haible  <bruno@clisp.org>

	doc: Update regarding <math.h> *l functions on NetBSD 9.3.
	* doc/posix-functions/acoshl.texi: Mention the buggy implementation on
	NetBSD.
	* doc/posix-functions/acosl.texi: Likewise.
	* doc/posix-functions/asinhl.texi: Likewise.
	* doc/posix-functions/asinl.texi: Likewise.
	* doc/posix-functions/atan2l.texi: Likewise.
	* doc/posix-functions/atanhl.texi: Likewise.
	* doc/posix-functions/atanl.texi: Likewise.
	* doc/posix-functions/coshl.texi: Likewise.
	* doc/posix-functions/cosl.texi: Likewise.
	* doc/posix-functions/erfcl.texi: Likewise.
	* doc/posix-functions/erfl.texi: Likewise.
	* doc/posix-functions/powl.texi: Likewise.
	* doc/posix-functions/sinhl.texi: Likewise.
	* doc/posix-functions/sinl.texi: Likewise.
	* doc/posix-functions/tanhl.texi: Likewise.
	* doc/posix-functions/tanl.texi: Likewise.
	* doc/posix-functions/expl.texi: Update NetBSD version info.
	* doc/posix-functions/exp2l.texi: Likewise.
	* doc/posix-functions/hypotl.texi: Likewise.
	* doc/posix-functions/logl.texi: Likewise.
	* doc/posix-functions/log10l.texi: Likewise.
	* m4/expl.m4 (gl_FUNC_EXPL): Update comments.
	* m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
	* m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): Likewise.
	* m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
	* m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.

2024-01-18  Bruno Haible  <bruno@clisp.org>

	modfl: Work around bug on NetBSD 9.3/arm64.
	* m4/modfl.m4 (gl_FUNC_MODFL): Add test whether modfl basically works.
	* doc/posix-functions/modfl.texi: Mention the NetBSD bug.

2024-01-18  Bruno Haible  <bruno@clisp.org>

	isnanl: Avoid autoconf warning.
	* m4/isnanl.m4 (gl_FUNC_ISNANL): Declare through AC_DEFUN_ONCE.

2024-01-18  Bruno Haible  <bruno@clisp.org>

	fmaf, fma, fmal: Work around bugs on OpenBSD 7.4/arm64.
	* m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Use a volatile function pointer
	variable to disable clang's inlining.
	* m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
	* m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
	* doc/posix-functions/fmaf.texi: Mention the OpenBSD bug.
	* doc/posix-functions/fma.texi: Likewise.
	* doc/posix-functions/fmal.texi: Likewise.

2024-01-18  Bruno Haible  <bruno@clisp.org>

	doc: Update regarding stable branches.
	* doc/gnulib-readme.texi (Stable Branches): Mention new branch
	stable-202401. Mention that stable-202301 is no longer updated.

2024-01-17  Bruno Haible  <bruno@clisp.org>

	getopt-gnu: Fix out-of-bounds access (regression 2023-12-11).
	* lib/getopt.c (process_long_option): Don't set ambig_set[option_index]
	if ambig_set is &ambig_fallback.

2024-01-17  Bruno Haible  <bruno@clisp.org>

	Improve naming of local variables.
	* gnulib-tool, posix-modules, build-aux/relocatable.sh.in,
	build-aux/reloc-ldflags, build-aux/install-reloc, tests/init.sh,
	m4/argz.m4: Rename save_IFS to saved_IFS.
	* m4/*.m4: Rename save_LIBS to saved_LIBS.
	* m4/00gnulib.m4, m4/gnulib-common.m4, m4/warn-on-use.m4, m4/wchar_h.m4:
	Rename save_ac_compile to saved_ac_compile.
	* m4/00gnulib.m4: Rename ac_save_ac_compile to ac_saved_ac_compile.
	* m4/gnulib-common.m4: Rename save_ac_compile_for_check_decl to
	saved_ac_compile_for_check_decl.
	* m4/assert_h.m4, m4/manywarnings.m4, m4/stdalign.m4, m4/visibility.m4:
	Rename gl_save_CFLAGS to gl_saved_CFLAGS.
	* m4/dirfd.m4: Rename dirfd_save_CFLAGS to gl_saved_CFLAGS.
	* m4/include_next.m4, m4/pread.m4, m4/pwrite.m4, m4/termcap.m4,
	m4/terminfo.m4: Rename gl_save_CPPFLAGS to gl_saved_CPPFLAGS.
	* m4/lib-link.m4: Rename ac_save_CPPFLAGS to acl_save_CPPFLAGS.
	* m4/iconv.m4, m4/readline.m4: Rename am_save_CPPFLAGS to
	gl_saved_CPPFLAGS.
	* m4/gettext.m4: Rename gt_save_CPPFLAGS to gt_saved_CPPFLAGS.
	* m4/ansi-c++.m4: Rename gl_save_CXX to gl_saved_CXX.
	* m4/manywarnings-c++.m4: Rename gl_save_CXXFLAGS to gl_saved_CXXFLAGS.
	* m4/lib-link.m4: Rename acl_save_ifs to acl_saved_IFS.
	* m4/lib-prefix.m4: Rename acl_save_IFS to acl_saved_IFS.
	* m4/progtest.m4: Rename ac_save_IFS to gt_saved_IFS.
	* m4/lib-link.m4: Rename save_libdir to saved_libdir, acl_save_libdir to
	acl_saved_libdir.
	* m4/ld-version-script.m4: Rename save_LDFLAGS to saved_LDFLAGS.
	* m4/acl.m4, m4/getgroups.m4: Rename ac_save_LIBS to gl_saved_LIBS.
	* m4/lib-link.m4: Rename ac_save_LIBS to acl_saved_LIBS.
	* m4/getdomainname.m4, m4/gethostname.m4, m4/getloadavg.m4,
	m4/hostent.m4, m4/inet_ntop.m4, m4/inet_pton.m4,
	m4/pthread_mutex_timedlock.m4, m4/pthread_sigmask.m4,
	m4/pthread-spin.m4, m4/readutmp.m4, m4/selinux-selinux-h.m4,
	m4/servent.m4, m4/socketlib.m4, m4/termcap.m4, m4/terminfo.m4,
	m4/thread.m4: Rename gl_save_LIBS to gl_saved_LIBS.
	* m4/getaddrinfo.m4, m4/iconv.m4, m4/readline.m4: Rename am_save_LIBS to
	gl_saved_LIBS.
	* m4/gettext.m4, m4/intlmacosx.m4: Rename gt_save_LIBS to gt_saved_LIBS.
	* m4/libunistring.m4: Rename glus_save_LIBS to glus_saved_LIBS.
	* m4/nanosleep.m4: Rename nanosleep_save_libs to gl_saved_LIBS.
	* m4/lib-prefix.m4: Rename acl_save_prefix to acl_saved_prefix,
	acl_save_exec_prefix to acl_saved_exec_prefix.
	* m4/configmake.m4: Rename gl_save_<variable> to gl_saved_<variable>.
	* m4/terminfo.m4: Likewise.
	* m4/gettext.m4: Rename gt_save_<variable> to gt_saved_<variable>.
	* m4/javaexec.m4: Rename save_CLASSPATH to gt_saved_CLASSPATH.
	* m4/warnings.m4: Rename gl_save_compiler_FLAGS to
	gl_saved_compiler_FLAGS.
	* lib/pread.c, lib/pwrite.c, lib/read-file.c, lib/tempname.c: Rename
	save_errno to saved_errno.
	* lib/read-file.c: Rename save_alloc to saved_alloc.
	* lib/strptime.c: Rename save_wday to saved_wday, save_mday to
	saved_mday, save_mon to saved_mon.

2024-01-16  Paul Eggert  <eggert@cs.ucla.edu>

	posixtm: pacify clang 18
	Problem reported by Khem Raj in:
	https://lists.gnu.org/r/bug-gnulib/2024-01/msg00045.html
	* lib/posixtm.c (posixtime): Pacify clang 18 by converting bool to int.
	Arguably this is a bug in draft C2x, since the non-pointer args to
	ckd_add should promote just like any other expressions do;
	but that’s not clang’s fault.

2024-01-07  Jim Meyering  <meyering@meta.com>

	update-copyright: handle more cases
	* build-aux/update-copyright: Handle cases like gunzip.in
	with its two copyright lines.
	Making it work required two changes: don't stop upon first match.
	And then, when continuing, a little trickiness: knowing that the
	final substitution would reset m{}g's "pos()", so save and restore
	that, to avoid an infinite loop in some cases.
	* tests/test-update-copyright.sh: Add a test for this.

2024-01-15  Paul Eggert  <eggert@cs.ucla.edu>

	test-framework-sh: fix spelling typo
	* tests/init.sh (setup_): Name local var consistently with
	elsewhere in Gnulib, fixing a typo.

2024-01-15  Bruno Haible  <bruno@clisp.org>

	test-framework-sh: Improve portability to native Windows and OS/2.
	Reported by KO Myung-Hun <komh78@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-01/msg00037.html>.
	* tests/init.sh (setup_): Test for an absolute directory name like
	Autoconf does.

	test-framework-sh: Improve portability to native Windows and OS/2.
	Reported by KO Myung-Hun <komh78@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-01/msg00037.html>.
	* tests/init.sh (setup_): In new_PATH, use $PATH_SEPARATOR instead of
	':'.

	test-framework-sh: Improve portability to native Windows and OS/2.
	Reported by KO Myung-Hun <komh78@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-01/msg00037.html>.
	* tests/init.sh (setup_): Set IFS, like in Autoconf's _AS_PATH_WALK and
	in build-aux/relocatable.sh.in.

2024-01-12  Bruno Haible  <bruno@clisp.org>

	jit/cache tests: Fix link error.
	* modules/jit/cache-tests (Makefile.am): Link test-cache with
	$(LIBINTL).

2024-01-12  Bruno Haible  <bruno@clisp.org>

	qsort_r: Fix compilation error in C++ mode on FreeBSD 14.0/powerpc64.
	* lib/stdlib.in.h (qsort_r): Enable the C++ alias warning only on glibc
	systems.

2024-01-11  Bruno Haible  <bruno@clisp.org>

	time: Fix test failure on FreeBSD 12.2/sparc64.
	* m4/time.m4 (gl_FUNC_TIME): Guess that it does not work on
	FreeBSD/sparc.
	* doc/posix-functions/time.texi: Mention the bug on FreeBSD/sparc.

2024-01-11  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Reject broken 'join' program as seen in macOS, FreeBSD etc.
	Reported by Avinash Sonawane <rootkea@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-01/msg00028.html>.
	* gnulib-tool: Move the func_gnulib_dir and func_tmpdir invocations
	ahead. If the 'join' program exists but does not handle missing fields,
	bail out.

2024-01-10  Bruno Haible  <bruno@clisp.org>

	jit/cache tests: Fix for powerpc64le CPUs.
	* tests/jit/test-cache.c: Treat Linux/powerpc64le *not* like AIX.

2024-01-10  Bruno Haible  <bruno@clisp.org>

	jit/cache tests: Avoid gcc -Wstrict-aliasing warning on Linux/powerpc64.
	* tests/jit/test-cache.c (funcptr_to_structptr): Turn into an inline
	function.

2024-01-10  Bruno Haible  <bruno@clisp.org>

	jit/cache tests: Fix for arm CPUs with GCC target arm-linux-gnueabihf.
	* tests/jit/test-cache.c (CODE): Define differently on arm.
	(SET_CODE, IS, SET_IS): New macros.
	(main): New variables is_of_return1, is_of_return2. Use the SET_CODE and
	SET_IS macros.

2024-01-10  Bruno Haible  <bruno@clisp.org>

	jit/cache tests: Avoid compiler warnings on OpenBSD.
	* tests/jit/test-cache.c (main): New variables size_of_return1,
	size_of_return2.

2024-01-09  Bruno Haible  <bruno@clisp.org>

	jit/cache: Fix for ia64 CPUs.
	* lib/jit/cache.h (clear_cache): On ia64 CPUs, use the 'fc', 'sync',
	'srlz' instructions.

2024-01-09  Bruno Haible  <bruno@clisp.org>

	jit/cache: Fix for hppa CPUs.
	* lib/jit/cache.h (clear_cache): On hppa CPUs, use the 'fdc' and 'fic'
	instructions.

	jit/cache tests: Avoid test failure on OpenBSD.
	* tests/jit/test-cache.c (return1_code, return2_code): New constants.
	(main): On OpenBSD, use return1_code and return2_code instead of
	CODE (return1) and CODE (return2), since the latter may not be in a
	readable memory area.

	jit/cache tests: Avoid test failure on hppa CPUs.
	* tests/jit/test-cache.c (FUNCPTR_BIAS): New macro.
	(structptr_to_funcptr, funcptr_to_structptr): New functions/macros.
	(xcopy_structptr): Renamed from xcopy_funcptr. Mark as inline.
	(COPY_FUNCPTR, CODE): Use structptr_to_funcptr, funcptr_to_structptr.
	* modules/jit/cache-tests (configure.ac): Require AC_C_INLINE.

2024-01-08  Bruno Haible  <bruno@clisp.org>

	jit/cache tests: Fix for powerpc*, ia64, hppa* CPUs.
	* modules/jit/cache-tests (Depends-on): Add xalloc.
	* tests/jit/test-cache.c: Include xalloc.h.
	(FUNCPTR_POINTS_TO_CODE, COPY_FUNCPTR): New macros.
	(xcopy_funcptr): New function.
	(main): Create a copy of the function pointer return1, so as not to
	destructively modify return1. Fix memcpy argument.

2024-01-08  Bruno Haible  <bruno@clisp.org>

	jit/cache tests: Port to native Windows.
	* tests/jit/test-cache.c (main): On native Windows, use VirtualAlloc
	instead of mmap.

2024-01-08  Bruno Haible  <bruno@clisp.org>

	jit/cache tests: Avoid test failure on OpenBSD.
	* modules/jit/cache-tests (Files): Add m4/warnings.m4.
	(configure.ac): Set and substitute DISABLE_OPENBSD_RETGUARD.
	(Makefile.am): Set test_cache_CFLAGS.
	* tests/jit/test-cache.c (main): If the compiler defines _RET_PROTECTOR,
	skip the test.

2024-01-08  Bruno Haible  <bruno@clisp.org>

	jit/cache tests: Avoid test failure on CentOS, *BSD, macOS.
	* tests/jit/test-cache.c: Include <fcntl.h>, <stdio.h>, <stdlib.h>.
	Don't include pagealign_alloc.h. Include clean-temp-simple.h. Don't test
	HAVE_MPROTECT.
	(struct func): Fix #if conditions.
	(main): Don't invoke pagealign_xalloc and mprotect. Instead, invoke mmap,
	using a temporary file if needed.
	* modules/jit/cache-tests (Files): Add m4/mmap-anon.m4.
	(Depends-on): Add clean-temp-simple. Remove pagealign_alloc.
	(configure.ac): Invoke gl_FUNC_MMAP_ANON. Don't test for mprotect.

2024-01-07  Paul Eggert  <eggert@cs.ucla.edu>

	doc: adjust to texinfo 7.1
	* doc/Makefile (MAKEINFO): Adjust to texinfo 7.1, where makeinfo
	by default outputs ASCII approximations to characters.

2024-01-02  Bruno Haible  <bruno@clisp.org>

	strverscmp: Work around bug in musl libc 1.2.3 and in Cygwin.
	Reported by Dmitry Bogatov <KAction@gnu.org> via Simon Josefsson in
	<https://lists.gnu.org/archive/html/bug-gnulib/2024-01/msg00002.html>.
	* m4/string_h.m4 (gl_STRING_H_DEFAULTS): Initialize REPLACE_STRVERSCMP.
	* m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Test whether strverscmp works
	and set REPLACE_STRVERSCMP if not.
	* lib/string.in.h (strverscmp): Consider REPLACE_STRVERSCMP.
	* modules/strverscmp (Depends-on, configure.ac): Likewise.
	* modules/string (Makefile.am): Substitute REPLACE_STRVERSCMP.
	* tests/test-strverscmp.c (main): Add test cases suggested by Dmitry
	Bogatov and by Simon Josefsson.
	* doc/glibc-functions/strverscmp.texi: Mention the musl and Cygwin bug.
	Update version info regarding FreeBSD.

2024-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	update-copyright-tests: immunize against self
	Problem reported by Bernhard Voelker in:
	https://lists.gnu.org/r/bug-gnulib/2024-01/msg00003.html
	* tests/test-update-copyright.sh (ight): New var.
	Use it in tests, to prevent update-copyright from
	messing with the test data.

2023-12-29  Paul Eggert  <eggert@cs.ucla.edu>

	tests: don’t skip if LONG_MAX < pid
	* modules/pthread_sigmask-tests, modules/sigprocmask-tests:
	(Depends-on): Add inttypes.
	* tests/test-pthread_sigmask1.c, tests/test-sigprocmask.c:
	Include inttypes.h.
	(main): Don’t skip test if pid exceeds LONG_MAX.

	Omit no-longer-needed pragmas
	* lib/anytostr.c, lib/poll.c, lib/regex.c:
	Omit pragmas that should no longer be needed.

	gnulib-common: suppress -Wtautological-constant-out-of-range-compare
	* m4/gnulib-common.m4 (gl_CC_GNULIB_WARNINGS): Pass
	-Wno-tautological-constant-out-of-range-compare to clang, as it’s
	the warning is enabled by default and in portable code where type
	ranges are platform dependent it is generally more trouble than
	it’s worth.

2023-12-29  Simon Josefsson  <simon@josefsson.org>

	announce-gen: Improve links.
	* build-aux/announce-gen: Use https:// URLs.

2023-12-29  Bruno Haible  <bruno@clisp.org>

	error: More clang -Winclude-next-absolute-path silencing.
	* modules/error (Include): Suggest <error.h>, not "error.h".
	* tests/test-error.c: Write #include <error.h>.
	* tests/test-exclude.c: Likewise.
	* tests/test-verror.c: Likewise.
	* tests/test-xstrtol.c: Likewise.

2023-12-28  Paul Eggert  <eggert@cs.ucla.edu>

	include_next: pacify clang -Winclude-next-absolute-path
	Without this change, Ubuntu clang version 16.0.6 (15) issues
	warnings like this: “In file included from xalloc-die.c:25:
	./error.h:28:3: warning: #include_next in file found relative to
	primary source file or found by absolute path; will search from
	start of include path [-Winclude-next-absolute-path]”.
	And sure enough, each file includes itself rather than the
	next include file and it’s only the subsidiary include that
	gets around to including the next include file.
	* lib/argmatch.c, lib/chdir-long.c, lib/clean-temp-simple.c:
	* lib/clean-temp.c, lib/closein.c, lib/closeout.c, lib/copy-acl.c:
	* lib/copy-file.c, lib/creat.c, lib/csharpcomp.c:
	* lib/csharpexec.c, lib/error.c, lib/exclude.c, lib/execute.c:
	* lib/faccessat.c, lib/fopen.c, lib/freopen.c, lib/getopt.c:
	* lib/getopt1.c, lib/git-merge-changelog.c, lib/javacomp.c:
	* lib/javaexec.c, lib/javaversion.c, lib/mkdir-p.c, lib/open.c:
	* lib/openat-die.c, lib/openat.c, lib/os2-spawn.c:
	* lib/pagealign_alloc.c, lib/pipe-filter-gi.c:
	* lib/pipe-filter-ii.c, lib/same.c, lib/set-acl.c:
	* lib/sigpipe-die.c, lib/spawn-pipe.c, lib/sys_socket.c, lib/truncate.c:
	* lib/unistd.c, lib/verror.c, lib/wait-process.c, lib/wctype-h.c:
	* lib/xalloc-die.c, lib/xfreopen.c, lib/xmemcoll.c, lib/xprintf.c:
	* lib/xsetenv.c, lib/xstdopen.c, lib/xstrtol-error.c:
	Use ‘#include <foo.h>’ instead of ‘#include "foo.h"’ if foo.h
	possibly uses #include_next.  (However, don’t do this on OSF/1
	which has its own problems.)

	stat-time: fix macOS bug with negative file times
	macOS has a bug similar (but not identical) to Solaris when
	file timestamps are negative: tv_nsec might go negative.
	Problem reported on Darwin 8.11.0 for GNU Tar by Gordon Steemson in:
	https://lists.gnu.org/r/bug-tar/2023-12/msg00001.html
	This was evidently Mac OS X 10.4.11; I reproduced it on
	Darwin 21.6.0 (macOS 12.6 build 21G115).
	* lib/stat-time.h (STAT_TIMESPEC_OFFSETOF): New macro.
	(stat_time_normalize): Also normalize timestamps on macOS.
	* m4/fstat.m4 (gl_FUNC_FSTAT):
	* m4/fstatat.m4 (gl_FUNC_FSTATAT):
	* m4/lstat.m4 (gl_FUNC_LSTAT):
	* m4/stat.m4 (gl_FUNC_STAT):
	Also replace on macOS.

2023-12-19  Bruno Haible  <bruno@clisp.org>

	jit/cache: Fix compilation error on m68k, sparc, etc.
	* lib/jit/cache.h: Include <stdint.h>.
	* modules/jit/cache (Depends-on): Add stdint.

2023-12-19  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	jit/cache tests: Make more portable.
	* tests/jit/test-cache.c (CODE): New macro.
	(struct func): New type.
	(main): Initialize f more carefully.
	* modules/jit/cache-tests (Depends-on): Add host-cpu-c-abi.

2023-12-19  Christian Göttsche  <cgzones@googlemail.com>

	selinux-h: add stubs and wrappers for raw counterparts
	Add stubs and wrappers of already covered libselinux interfaces for
	their `raw` counterparts.  These counterparts perform the same
	operation except for context translation.  Context translation is used
	to convert SELinux labels to human readable form, see mcstransd(8).
	* lib/se-selinux.in.h: Add declarations for raw variants.
	* lib/se-label.in.h: Likewise.
	* lib/getfilecon.c: Add wrappers for problematic raw variants.
	* m4/selinux-selinux-h.m4: Use wrappers for problematic raw variants.

2023-12-14  Paul Eggert  <eggert@cs.ucla.edu>

	mcel-tests: fix thinko in test
	* tests/test-mcel.c (main): Fix typo in mcel_scanz test.
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2023-12/msg00034.html

2023-12-11  Paul Eggert  <eggert@cs.ucla.edu>

	savedir: scale better when sorting by name
	* lib/savedir.c: Include attribute.h.
	(direntry_t): The ‘name’ member is now idx_t, not char *,
	so that it survives name_space relocation.
	(direntry_cmp_name, direntry_cmp_inode, comparison_function):
	Adjust to qsort_r API, and to direntry_t layout change.
	(streamsavedir): Redo to avoid need for xstrdup on each directory
	entry.  Instead, copy the string data into name_space; this
	typically scales better as the memory allocator is called O(log N)
	rather than O(N) times.  Use qsort_r so that name_space can be
	passed to the comparison functions.  Simplify calls to ‘free’ so
	that lack of leakage is more obvious.
	* modules/savedir (Depends-on): Add attribute, qsort_r.

	getopt: pacify gcc -Wanalyzer-null-dereference
	* lib/getopt.c (process_long_option): Simplify logic slightly.
	This pacifies gcc -flto -Wanalyzer-null-dereference when compiling
	GNU tar on x86-64 with gcc 13.2.1 20231205 (Red Hat 13.2.1-6).

2023-12-10  Pádraig Brady  <P@draigBrady.com>

	bootstrap: fix option propagation with --bootstrap-sync
	* top/bootstrap: Ensure options are propagated through
	upgrade_bootstrap().
	* top/bootstrap-funclib.sh: Likewise.
	* build-aux/bootstrap: Auto generated with `make build-aux/bootstrap`.
	Fixes https://bugs.gnu.org/67731

2023-12-01  Paul Eggert  <eggert@cs.ucla.edu>

	frexp, frexpf: pacify clang re address-of-volatile
	Problem reported by Sam James in:
	https://lists.gnu.org/r/bug-gnulib/2023-12/msg00013.html
	* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Don’t try to convert
	‘double volatile *’ to ‘void const *’ as the C standard
	doesn’t allow accessing volatile variables through
	pointer-to-nonvolatile.
	* m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.

	Update portability doc for CHERI, C23
	* doc/gnulib-readme.texi:
	Prefer “null pointer” to “@code{NULL}” since C23 has nullptr.
	(Portability guidelines): Mention C99 instead of C89 for what
	Gnulib assumes of headers.
	(C99 features avoided): Mention CHERI issue with intptr_t etc.
	(Other portability assumptions): Say that C23 requires two’s
	complement.  Mention CHERI’s holes.

2023-12-01  Bruno Haible  <bruno@clisp.org>

	obstack: Avoid undefined behaviour.
	Reported by Alexey Palienko <Alexey.Palienko@cma.se> in
	<https://lists.gnu.org/archive/html/bug-m4/2023-02/msg00000.html>.
	* lib/obstack.in.h: Include <stdint.h>.
	(__BPTR_ALIGN): Remove macro.
	(__PTR_ALIGN): For the optimized case, compute the alignment through
	uintptr_t, instead of computing NULL + something.

2023-12-01  Bruno Haible  <bruno@clisp.org>

	doc: Update for FreeBSD 14.0.
	* doc/posix-headers/*.texi: Update.
	* doc/glibc-headers/*.texi: Likewise.
	* doc/posix-functions/*.texi: Likewise.
	* doc/pastposix-functions/*.texi: Likewise.
	* doc/glibc-functions/*.texi: Likewise.
	* m4/printf.m4: Update comments.

2023-12-01  Bruno Haible  <bruno@clisp.org>

	sethostname tests: Fix a compilation error on FreeBSD 14.0.
	* tests/test-sethostname1.c: Skip the SIGNATURE_CHECK on some platforms.
	* doc/glibc-functions/sethostname.texi: Update platforms list.

2023-11-27  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	stack: Fix documentation in header file.
	* lib/stack.h: Correct documentation on `stack_current_base'.

2023-11-27  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	jit/cache-tests: Fix include guard.
	* tests/jit/test-cache.c (main): Extend range of include guard.

2023-11-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	jit/cache-tests: New module.
	* tests/jit/test-cache.c: New file.
	* modules/jit/cache-tests: New file.  Mark the test as unportable
	for now.

2023-11-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	jit/cache: Fix configure error.
	* m4/valgrind-helper.m4: Unconditionally set support_valgrind.

2023-11-24  Bruno Haible  <bruno@clisp.org>

	floorf, ceilf tests: Strengthen against compiler optimizations.
	Reported by René Rebe <rene@t2-project.org>.
	* tests/test-floorf1.c (main): Mark my_floorf as 'volatile'.
	* tests/test-floorf-ieee.c (main): Likewise.
	* tests/test-ceilf1.c (main): Mark my_ceilf as 'volatile'.
	* tests/test-ceilf-ieee.c (main): Likewise.

2023-11-21  Bruno Haible  <bruno@clisp.org>

	strerrorname_np: Work around glibc bug on HPPA systems.
	* m4/strerrorname_np.m4 (gl_FUNC_STRERRORNAME_NP): Test also
	strerrorname_np (ENOSYM).
	* lib/strerrorname_np.c (strerrorname_np): Update comments.
	* tests/test-strerrorname_np.c (main): Likewise.
	* doc/glibc-functions/strerrorname_np.texi: Mention that glibc 2.37
	still needs a workaround.

2023-11-21  Bruno Haible  <bruno@clisp.org>

	rand: Use the usual patterns for overriding a function.
	* lib/stdlib.in.h (RAND_MAX): Override also if module 'rand' is present.
	(rand): New declaration.
	* m4/stdlib_h.m4 (gl_STDLIB_H_REQUIRE_DEFAULTS): Initialize GNULIB_RAND.
	(gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RAND.
	* modules/stdlib (Makefile.am): Substitute GNULIB_RAND and REPLACE_RAND.

2023-11-18  Bruno Haible  <bruno@clisp.org>

	nan, snan tests: Don't include these tests by default.
	* modules/nan-tests (Status): Mark the test as unportable.
	* modules/snan-tests (Status): Likewise.

2023-11-17  Bruno Haible  <bruno@clisp.org>

	realloc-gnu: Fix wrong configure test result with optimizing ibm-clang.
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Use 'volatile', to defeat an
	ibm-clang optimization.
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.

2023-11-17  Bruno Haible  <bruno@clisp.org>

	mbrtowc, mbrtoc32, nl_langinfo, setlocale-null: Obey --disable-threads.
	Reported by David Edelsohn <dje.gcc@gmail.com> in
	<https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636830.html>,
	<https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636843.html>.
	* m4/threadlib.m4 (gl_THREADLIB_BODY): If --disable-threads was
	specified, define AVOID_ANY_THREADS to 1.
	* lib/mbtowc-lock.c: Omit all code if --disable-threads was specified.
	* lib/nl_langinfo-lock.c: Likewise.
	* lib/setlocale-lock.c: Likewise.
	* lib/mbtowc-lock.h: Omit locking code if --disable-threads was
	specified.
	* lib/nl_langinfo.c: Likewise.
	* lib/setlocale_null.c: Likewise.
	* lib/mbrtowc.c: Don't include any multithreading headers if
	--disable-threads was specified.
	* lib/mbrtoc32.c: Likewise.

2023-11-17  Bruno Haible  <bruno@clisp.org>

	gettext: Recognize a statically built libintl on macOS and AIX.
	Reported by David Edelsohn <dje.gcc@gmail.com> in
	<https://gcc.gnu.org/pipermail/gcc-patches/2023-November/636558.html>.
	* m4/gettext.m4 (AM_GNU_GETTEXT): In the
	"checking for GNU gettext in libintl..." test, add also the special
	system library dependencies needed on macOS and AIX.

2023-11-16  Bruno Haible  <bruno@clisp.org>

	boot-time: Make it work on Adélie Linux.
	* lib/boot-time.c (get_boot_time_uncached): Invoke Linux fallbacks also
	on Linux systems that have neither <utmp.h> nor <utmpx.h>.

2023-11-15  Bruno Haible  <bruno@clisp.org>

	obstack: Modernize, fixing several problems.
	* lib/obstack.in.h: Renamed from lib/obstack.h. Add reference to the
	glibc documentation.
	(_OBSTACK_INTERFACE_VERSION): Remove macro.
	(_OBSTACK_SIZE_T, _CHUNK_SIZE_T, _OBSTACK_CAST): Mark old values with
	_LIBC.
	(_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
	_obstack_memory_used, _obstack_allocated_p): Override if REPLACE_OBSTACK
	is 1.
	* lib/obstack.c: Don't include <gnu-versions.h>.
	(_OBSTACK_ELIDE_CODE): Remove macro.
	* m4/obstack.m4 (gl_FUNC_OBSTACK): Test whether obstack.h exists. Don't
	define HAVE_OBSTACK any more. Set HAVE_OBSTACK, REPLACE_OBSTACK,
	GL_GENERATE_OBSTACK_H.
	* modules/obstack (Files): Remove obstack.h. Add obstack.in.h.
	(Depends-on): Add gen-header. Add conditions.
	(configure.ac): Consider HAVE_OBSTACK, REPLACE_OBSTACK. Invoke
	gl_CONDITIONAL_HEADER and AC_PROG_MKDIR_P.
	(Makefile.am): Generate obstack.h. Augment BUILT_SOURCES and
	MOSTLYCLEANFILES.

2023-11-15  Paul Eggert  <eggert@cs.ucla.edu>

	striconveha: pacify gcc -Wcast-align
	* lib/striconveha.c (uniconv_register_autodetect): Rewrite to
	avoid the need to cast from char * to a pointer to a more strictly
	aligned type.  Use decls after statements to avoid some	repetition.

2023-11-14  Bruno Haible  <bruno@clisp.org>

	doc: Mention a 'random' limitation on OpenBSD.
	Reported by Corinna Vinschen <vinschen@redhat.com>.
	* doc/posix-functions/random.texi: Mention the OpenBSD limitation.

2023-11-14  Bruno Haible  <bruno@clisp.org>

	rand: Mark as obsolete.
	* modules/rand (Status, Notice): New sections.

2023-11-14  Bruno Haible  <bruno@clisp.org>

	*printf-posix: Revert expectations of %lc of 0.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_LC): Expect a NUL byte in the
	output.
	* lib/vasnprintf.c (VASNPRINTF): In the %lc implementation, don't
	special-case the NUL wide character.
	* tests/test-vasnprintf-posix.c (test_function): Change expected result
	for %lc of L'\0'.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* doc/posix-functions/dprintf.texi: Update platform list regarding %lc
	of 0 bug.
	* 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/glibc-functions/asprintf.texi: Likewise.
	* doc/glibc-functions/vasprintf.texi: Likewise.
	* doc/glibc-functions/obstack_printf.texi: Likewise.
	* doc/glibc-functions/obstack_vprintf.texi: Likewise.

2023-11-13  Bruno Haible  <bruno@clisp.org>

	doc: Add a note.
	* doc/posix-headers/stdatomic.texi: Add a note about the memory model.

2023-11-13  Bruno Haible  <bruno@clisp.org>

	Don't use CHERI facilities with CC="clang -march=morello".
	Suggested by Jessica Clarke <jrtc27@jrtc27.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-11/msg00116.html>.
	* lib/alignalloc.h (alignalloc): Test __CHERI_PURE_CAPABILITY__, not
	__CHERI__.
	* lib/eealloc.h (eemalloc, eerealloc): Likewise.
	* lib/ialloc.h (irealloc, ireallocarray): Likewise.
	* lib/malloca.h (malloca): Likewise.
	* lib/malloca.c (small_t, mmalloca, freea): Likewise.
	* lib/rawmemchr.c (rawmemchr): Likewise.
	* lib/safe-alloc.h (safe_alloc_realloc_n): Likewise.
	* lib/sigsegv.c (SIGSEGV_FAULT_STACKPOINTER): Likewise.
	* lib/ssfmalloc.h (struct dissected_page_header, init_small_block_page,
	init_medium_block_page, free_block_from_pool, allocate_block): Likewise.
	* tests/test-stdint.c: Likewise.

2023-11-13  Bruno Haible  <bruno@clisp.org>

	jit/cache: Fix configure test.
	* m4/valgrind-helper.m4 (gl_VALGRIND_HELPER): Check already at configure
	time whether <valgrind/valgrind.h> exists. Fix AC_DEFINE_UNQUOTED
	invocation.

2023-11-12  Paul Eggert  <eggert@cs.ucla.edu>

	rawmemchr: speed up, particularly on CHERI
	* lib/rawmemchr.c (rawmemchr) [__CHERI__]: Use memchr instead of
	one-byte reads.  This sped up a simple benchmark (rawmemchr on
	100,000 bytes) by 6x on a Research Morello SoC r0p0 on CheriBSD 14.
	[!__CHERI__]: Use sizeof, not alignof, as better alignment
	should help performance a bit on some platforms.
	* modules/rawmemchr (Depends-on): Remove alignasof.

2023-11-12  Bruno Haible  <bruno@clisp.org>

	jit/cache: New module.
	* lib/jit/cache.h: New file.
	* m4/valgrind-helper.m4: New file.
	* modules/jit/cache: New file.

2023-11-11  Bruno Haible  <bruno@clisp.org>

	ssfmalloc: Take advantage of CHERI bounds-checking.
	* lib/ssfmalloc.h: Include <cheri.h>.
	(struct dissected_page_header) [CHERI]: Add field 'whole_page'.
	(init_small_block_page, init_medium_block_page) [CHERI]: Initialize it.
	(free_block_from_pool) [CHERI]: Use this field to initialize
	pool->freeable_page.
	(allocate_block) [CHERI]: Return a pointer with a tight upper bound.

2023-11-11  Johannes Schindelin  <johannes.schindelin@gmx.de>

	vasnprintf: Re-enable parsing of directive with I64 (regr. 2023-03-24).
	* lib/printf-parse.c (PRINTF_PARSE): When parsing a size specifier
	"I64", increment cp by 3, not 1.

2023-11-11  Bruno Haible  <bruno@clisp.org>

	malloca: Take advantage of CHERI bounds-checking.
	* lib/malloca.h: Include <cheri.h>.
	(malloca) [CHERI]: In the stack-allocation case, return a pointer with
	a tight lower bound and a tight upper bound.
	* lib/malloca.c: Include <cheri.h>.
	(small_t) [CHERI]: Define as uintptr_t.
	(mmalloca) [CHERI]: Return a pointer with a tight upper bound.
	(freea) [CHERI]: Update.

2023-11-11  Bruno Haible  <bruno@clisp.org>

	safe-alloc: Take advantage of CHERI bounds-checking.
	* lib/safe-alloc.h: Include <cheri.h>.
	(safe_alloc_realloc_n): When count or size is 0, return a pointer whose
	bounds are of size 0, not 1.

2023-11-11  Bruno Haible  <bruno@clisp.org>

	ialloc: Take advantage of CHERI bounds-checking.
	* lib/ialloc.h: Include <cheri.h>.
	(irealloc): When s is 0, return a pointer whose bounds are of size 0,
	not 1.
	(ireallocarray): When n or s is 0, return a pointer whose bounds are of
	size 0, not 1.

2023-11-11  Bruno Haible  <bruno@clisp.org>

	eealloc: Take advantage of CHERI bounds-checking.
	* lib/eealloc.h: Include <cheri.h>.
	(eemalloc): When n is 0, return a pointer whose bounds are of size 0,
	not 1.
	(eerealloc): Likewise.

2023-11-11  Bruno Haible  <bruno@clisp.org>

	alignalloc: Take advantage of CHERI bounds-checking.
	* lib/alignalloc.h: Include <cheri.h>.
	(alignalloc): When size is 0, return a pointer whose bounds are of
	size 0, not 1.

2023-11-11  Bruno Haible  <bruno@clisp.org>

	rawmemchr tests: Add test case for last commit.
	* tests/test-rawmemchr.c (main): Add test case for aligned oversized
	read.

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

	rawmemchr: port better to CHERI
	* lib/rawmemchr.c (rawmemchr): Use unsigned char for longword,
	since CHERI doesn’t allow the aligned-word trick to speed up
	performance.

2023-11-10  Paul Eggert  <eggert@cs.ucla.edu>

	di-set: port better to CHERI-64
	* lib/di-set.c: Include stdint.h.
	(hashint): Make it uintptr_t, not size_t, since it’s for use
	when converting to pointer and back again.  This suppresses
	a false positive on CHERI-64.
	* modules/di-set (Depends-on): Add stdint.

	stdio: fix port to older macOS
	* lib/stdio.in.h: It’s pre macOS 13, not pre macOS 10.13.
	Problem reported by Sevan Janiyan in:
	https://lists.gnu.org/r/bug-gnulib/2023-11/msg00066.html
	et seq.

2023-11-10  Bruno Haible  <bruno@clisp.org>

	doc: Mention rand and srand limitations.
	* doc/posix-functions/rand.texi: Mention multithread-safety problem.
	* doc/posix-functions/srand.texi: Mention a Cygwin bug.

2023-11-10  Bruno Haible  <bruno@clisp.org>

	tests: In multithreaded tests, use random() instead of rand().
	* tests/test-asyncsafe-spin2.c (random_account, lock_mutator_thread):
	Use random() instead of rand().
	* tests/test-lock.c (random_account, lock_mutator_thread,
	rwlock_mutator_thread, recshuffle): Likewise.
	* tests/test-mtx.c (random_account, lock_mutator_thread, recshuffle):
	Likewise.
	* tests/test-pthread-mutex.c (random_account, lock_mutator_thread,
	recshuffle): Likewise.
	* tests/test-pthread-rwlock.c (random_account, rwlock_mutator_thread):
	Likewise.
	* tests/test-pthread-spin.c (random_account, lock_mutator_thread):
	Likewise.
	* tests/test-pthread-tss.c (perhaps_yield, worker_thread,
	racecheck_thread): Likewise.
	* tests/test-thread_local.c (perhaps_yield, worker_thread): Likewise.
	* tests/test-tls.c (perhaps_yield, worker_thread, racecheck_thread):
	Likewise.
	* tests/test-tss.c (perhaps_yield, worker_thread, racecheck_thread):
	Likewise.
	* asyncsafe-spin-tests (Depends-on): Add random.
	* lock-tests (Depends-on): Likewise.
	* mtx-tests (Depends-on): Likewise.
	* pthread-mutex-tests (Depends-on): Likewise.
	* pthread-rwlock-tests (Depends-on): Likewise.
	* pthread-spin-tests (Depends-on): Likewise.
	* pthread-tss-tests (Depends-on): Likewise.
	* threads-h-tests (Depends-on): Likewise.
	* tls-tests (Depends-on): Likewise.
	* tss-tests (Depends-on): Likewise.

2023-11-10  Bruno Haible  <bruno@clisp.org>

	doc: Mention an srandom limitation on OpenBSD.
	* doc/posix-functions/srandom.texi: Mention the OpenBSD limitation.

2023-11-10  Bruno Haible  <bruno@clisp.org>

	random tests: Add multithread-safety test.
	* tests/test-random-mt.c: New file.
	* modules/random-tests (Files): Add it.
	(Depends-on): Add xalloc, thread, yield.
	(Makefile.am): Also build and test test-random-mt.

	random: Fix multithread-safety bug in general.
	* m4/random.m4 (gl_FUNC_RANDOM): Override also macOS, FreeBSD, Solaris,
	Cygwin, Haiku.
	* doc/posix-functions/random.texi: Mention the wider scope of the
	multithread-safety bug.

2023-11-09  Bruno Haible  <bruno@clisp.org>

	sigsegv: Improve port to CHERI.
	* lib/sigsegv.c (SIGSEGV_FAULT_STACKPOINTER): Define also on CheriBSD.

	sigsegv: Port to CHERI.
	* lib/sigsegv.c: Treat __aarch64__ like __arm64__.
	(SIGSEGV_FOR_ALL_SIGNALS): Treat SIGPROT like SIGSEGV and SIGBUS.

2023-11-09  Paul Eggert  <eggert@cs.ucla.edu>

	stdio: port better to older macOS
	* lib/stdio.in.h: Do not define _POSIX_C_SOURCE on older macOS,
	as it is not needed and defining it causes other problems.
	Problem reported by Sevan Janiyan in:
	https://mail.gnu.org/r/bug-gnulib/2023-11/msg00039.html

2023-11-09  Bruno Haible  <bruno@clisp.org>

	rand: Add tests.
	* tests/test-rand.c: New file.
	* modules/rand-tests: New file.

	rand: New module.
	* lib/rand.c: New file, based on glibc/stdlib/rand.c.
	* m4/rand.m4: New file.
	* modules/rand: New file.
	* doc/posix-functions/rand.texi: Mention the new module.

2023-11-09  Bruno Haible  <bruno@clisp.org>

	random: Fix multithread-safety bug on CheriBSD.
	* m4/random.m4 (gl_FUNC_RANDOM): Override on CheriBSD.
	* lib/random.c: Include glthread/lock.h.
	(__libc_lock_define_initialized, __libc_lock_lock, __libc_lock_unlock):
	Define to do real locking.
	* modules/random (Depends-on): Add lock.
	* doc/posix-functions/random.texi: Mention the multithread-safety
	problem.

2023-11-09  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Port to CHERI.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Treat aarch64c like
	aarch64.

2023-11-08  Bruno Haible  <bruno@clisp.org>

	pthread-rwlock: Port to Mac OS X 10.4.
	Reported by Sevan Janiyan <venture37@geeklan.co.uk>.
	* m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): On macOS, test for the
	presence of PTHREAD_RWLOCK_INITIALIZER. If it is not defined, don't
	attempt to use pthread_rwlock_init.

2023-11-07  Bruno Haible  <bruno@clisp.org>

	fenv-environment tests: Add a test of the link dependencies.
	* tests/test-fenv-env-6.c: Renamed from tests/test-fenv-env-5.c.
	* tests/test-fenv-env-5.c: Renamed from tests/test-fenv-env-4.c.
	* tests/test-fenv-env-4.c: Renamed from tests/test-fenv-env-3.c.
	* tests/test-fenv-env-3.c: Renamed from tests/test-fenv-env-2.c.
	* tests/test-fenv-env-2.c: Renamed from tests/test-fenv-env-1.c.
	* tests/test-fenv-env-1.c: New file.
	* tests/test-fenv-env-6.sh: Renamed from tests/test-fenv-env-5.sh. Update.
	* modules/fenv-environment-tests: Update. Add test-fenv-env-1 unit test.

2023-11-07  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-state-c99 tests: Add a test of the link dependencies.
	* tests/test-fenv-except-state-4.c: Renamed from
	tests/test-fenv-except-state-3.c.
	* tests/test-fenv-except-state-3.c: Renamed from
	tests/test-fenv-except-state-2.c.
	* tests/test-fenv-except-state-2.c: Renamed from
	tests/test-fenv-except-state-1.c.
	* tests/test-fenv-except-state-1.c: New file.
	* modules/fenv-exceptions-state-c23-tests: Update.
	* modules/fenv-exceptions-state-c99-tests: Update. Add
	test-fenv-except-state-1 unit test.

2023-11-07  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-trapping tests: Comments.
	* tests/test-fenv-except-trapping-1.c (main): Add a comment.

2023-11-07  Paul Eggert  <eggert@cs.ucla.edu>

	malloca: pacify -Wcheri-provenance
	This shouldn’t affect generated code when optimizing.
	* lib/malloca.c (mmalloca): Pacify -Wcheri-provenance on CHERI-64 cc.
	(freea): Assign to temporaries to simplify debugging and avoid casts.

2023-11-07  Bruno Haible  <bruno@clisp.org>

	rawmemchr: Port to CHERI.
	* lib/rawmemchr.c (rawmemchr): Use 'unsigned long' instead of uintptr_t.

2023-11-06  Paul Eggert  <eggert@cs.ucla.edu>

	stdint: port intptr_t to CHERI
	* lib/stdint.in.h: Do not redefine intptr_t/uintptr_t
	if __INTPTR_WIDTH__ says otherwise.  This is needed on CHERI.

	stdint-tests: port to CHERI etc
	* tests/test-stdint.c: Test intptr_t only if INTPTR_MAX is
	defined, since the type is optional.  Similarly for uintptr_t.
	If CHERI, don’t assume TYPE_MINIMUM and TYPE_MAXIMUM works on
	intptr_t, and similarly for TYPE_MAXIMUM and uintptr_t.

	posix_memalign-tests: port to CHERI-64
	* tests/test-posix_memalign.c (main):
	Don’t assume sizeof (void *) <= 8.

	mcel-tests: fix read overrun in test case
	* tests/test-mcel.c (main): Don’t overrun test input buffer.
	Problem reported by Bruno Haible; found on CHERI-64.

2023-11-06  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-tracking-c99 tests: Fix typo.
	Found by coverity.
	* tests/test-fenv-except-tracking-1.c (main): Write & ~, not & !.

2023-11-06  Bruno Haible  <bruno@clisp.org>

	snan: Avoid test failures on OpenBSD/mips64.
	* tests/test-snan-1.c (main): Skip the 'long double' test on
	OpenBSD/mips64.
	* tests/test-snan-2.c (main): Likewise.

	fenv-*: Avoid test failures on OpenBSD/mips64.
	* tests/test-fenv-round.c (test_towardzero, test_upward, test_downward):
	Skip the 'long double' tests on OpenBSD/mips64.
	* tests/test-fenv-except-tracking-2.c (main): On OpenBSD/mips64, skip
	the 'long double' test.
	* tests/test-fenv-except-trapping-2.c (main): Skip the '4' tests and the
	'long double' tests also on OpenBSD/mips64.
	* doc/posix-functions/fesetround.texi: Mention OpenBSD/mips64 here too.

	fenv-exceptions-tracking-c99: Fix test failures on OpenBSD/mips64.
	* m4/fenv-exceptions-tracking.m4 (gl_FENV_EXCEPTIONS_TRACKING): On
	OpenBSD/mips, set REPLACE_FECLEAREXCEPT to 1.
	* doc/posix-functions/feclearexcept.texi: Mention the OpenBSD/mips64
	bug.
	* m4/fenv-exceptions-state.m4 (gl_FENV_EXCEPTIONS_STATE): No need to set
	gl_cv_func_fesetexceptflag_works1 to 'no' on OpenBSD/mips.

2023-11-06  Bruno Haible  <bruno@clisp.org>

	nan: Defeat clang's incorrect -O2 optimization on mips64.
	* lib/nan.h (NaNf, NaNd, NaNl): Use 'volatile' to disable a clang
	optimization.

2023-11-06  Bruno Haible  <bruno@clisp.org>

	nan: Work around clang's incorrect constant-folding on mips64.
	* lib/nan.h (NaNf, NaNd, NaNl): On mips platforms, avoid the compiler's
	constant-folding for 0.0f/0.0f, 0.0/0.0, 0.0L/0.0L.

2023-11-06  Bruno Haible  <bruno@clisp.org>

	snan: Add more info for mips-based platforms.
	* m4/nan-mips.m4: New file.
	* lib/snan.h: Add comments regarding mips.
	* modules/snan (Files): Add m4/nan-mips.m4.
	(configure.ac): Invoke gl_NAN_MIPS.
	* m4/snan.m4: Update comment.

2023-11-06  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-state-c99: Update doc regarding Minix.
	* doc/posix-functions/fesetexceptflag.texi: Mention the Minix bug.

2023-11-05  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-trapping: Avoid test failure on Minix.
	* tests/test-fenv-except-trapping-2.c (main): Skip the '4' tests also on
	Minix.

	fenv-exceptions-tracking-c99: Fix test failures on Minix.
	* m4/fenv-exceptions-tracking.m4 (gl_FENV_EXCEPTIONS_TRACKING): On
	Minix, set REPLACE_FECLEAREXCEPT and REPLACE_FETESTEXCEPT to 1.
	* doc/posix-functions/feclearexcept.texi: Mention the Minix bug.
	* doc/posix-functions/fetestexcept.texi: Likewise.

2023-11-05  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-trapping: Avoid test failure on Haiku/i386.
	* tests/test-fenv-except-trapping-2.c (main): Skip the '4' tests also on
	Haiku/i386.

	fenv-exceptions-state: Fix test failure on Haiku/i386 and Haiku/x86_64.
	* m4/fenv-exceptions-state.m4 (gl_FENV_EXCEPTIONS_STATE): Arrange to
	override fesetexceptflag() on Haiku.
	* doc/posix-functions/fesetexceptflag.texi: Mention the Haiku bug.

2023-11-05  Bruno Haible  <bruno@clisp.org>

	fenv: Add C++ tests.
	* tests/test-fenv-c++.cc: New file.
	* modules/fenv-c++-tests: New file.
	* modules/fenv-tests (Depends-on): Add it.

2023-11-05  Bruno Haible  <bruno@clisp.org>

	fenv-environment: Add tests.
	* tests/test-fenv-env-1.c: New file.
	* tests/test-fenv-env-2.c: New file.
	* tests/test-fenv-env-3.c: New file.
	* tests/test-fenv-env-4.c: New file.
	* tests/test-fenv-env-5.sh: New file.
	* tests/test-fenv-env-5.c: New file.
	* modules/fenv-environment-tests: New file.

	fenv-environment: New module.
	* lib/fenv.in.h (fenv_t) [hppa]: Remove the __exception field.
	(FE_DFL_ENV): Override if <fenv.h> exists but HAVE_FE_DFL_ENV is not
	defined.
	(fegetenv, fesetenv, feupdateenv, feholdexcept): New declarations.
	* lib/fenv-env.c: New file, based on glibc.
	* lib/fenv-env-hold.c: New file.
	* lib/fenv-env-update.c: New file.
	* m4/fenv-environment.m4: New file.
	* m4/mathfunc.m4 (gl_MATHFUNC): Handle also the 'fenv_t *' type.
	* m4/fenv_h.m4 (gl_FENV_H_DEFAULTS): Initialize REPLACE_FEGETENV,
	REPLACE_FEHOLDEXCEPT, REPLACE_FESETENV, REPLACE_FEUPDATEENV.
	* modules/fenv (Makefile.am): Substitute REPLACE_FEGETENV,
	REPLACE_FEHOLDEXCEPT, REPLACE_FESETENV, REPLACE_FEUPDATEENV.
	* modules/fenv-environment: New file.
	* doc/posix-functions/fegetenv.texi: Mention the new module and the bugs
	on glibc, macOS, AIX.
	* doc/posix-functions/feholdexcept.texi: Mention the new module and the
	bugs on glibc, musl libc, FreeBSD, AIX, mingw, MSVC.
	* doc/posix-functions/fesetenv.texi: Mention the new module and the bugs
	on musl libc, FreeBSD, NetBSD, AIX, Solaris, Cygwin, mingw, MSVC.
	* doc/posix-functions/feupdateenv.texi: Mention the new module and the
	bugs on glibc, musl libc, macOS, FreeBSD, AIX, Solaris, mingw, MSVC.

2023-11-05  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-tracking-c99 tests: Enhance tests.
	* tests/test-fenv-except-tracking-3.sh: Test not only FE_INVALID, but
	also FE_DIVBYZERO, FE_OVERFLOW, FE_UNDERFLOW, FE_INEXACT.
	* tests/test-fenv-except-tracking-3.c: Include <stdlib.h>, <string.h>.
	Don't include fpe-trapping.h. Assume HAVE_FPE_TRAPPING is 1.
	(main): Receive the exception to test as first argument.

2023-11-05  Bruno Haible  <bruno@clisp.org>

	fpe-trapping: Simplify.
	* lib/fpe-trapping.h (sigfpe_on_invalid): Remove all platform specific
	code. Just rely on feclearexcept and feenableexcept.
	* m4/fpe-trapping.m4: Renamed from m4/fpe.m4.
	(gl_FPE_TRAPPING): Greatly simplify.
	* modules/fpe-trapping (Files): Use m4/fpe-trapping.m4 instead of
	m4/fpe.m4. Remove m4/mathfunc.m4, m4/musl.m4.
	(Depends-on): Add fenv-exceptions-trapping.
	* tests/test-fenv-except-state-2.c (main): Update skip message.
	* tests/test-fenv-except-tracking-2.c (main): Likewise.
	* tests/test-fenv-except-tracking-3.c (main): Likewise.
	* tests/test-fenv-except-tracking-5.c (main): Likewise.
	* tests/test-nan-2.c (main): Likewise.
	* tests/test-snan-2.c (main): Likewise.

2023-11-05  Bruno Haible  <bruno@clisp.org>

	fpe-tracking: Remove module.
	* modules/fpe-tracking: Remove file.
	* m4/fpe.m4 (gl_FPE_TRACKING): Remove macro.
	(gl_FPE_TRAPPING): Require gl_FENV_EXCEPTIONS_TRACKING instead of
	gl_FPE_TRACKING. Use FENV_EXCEPTIONS_TRACKING_LIBM instead of
	FPE_TRACKING_LIBM.
	* modules/nan-tests (Depends-on): Add fenv-exceptions-tracking-c99.
	Remove fpe-tracking.
	(Makefile.am): Use FENV_EXCEPTIONS_TRACKING_LIBM instead of
	FPE_TRACKING_LIBM.
	* modules/snan-tests (Depends-on): Add fenv-exceptions-tracking-c99.
	Remove fpe-tracking.
	(Makefile.am): Use FENV_EXCEPTIONS_TRACKING_LIBM instead of
	FPE_TRACKING_LIBM.
	* tests/test-nan-1.c: Assume HAVE_FE_INVALID is 1.
	* tests/test-snan-1.c: Likewise.

2023-11-05  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-trapping: Avoid test failure on NetBSD/sparc.
	* tests/test-fenv-except-trapping-2.c (main): Skip the 'long double'
	tests also on NetBSD/sparc.

2023-11-05  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-trapping: Update documentation.
	* doc/glibc-functions/feenableexcept.texi: Document the Linux/hppa
	problem.

2023-11-05  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-trapping: Avoid test failure on older systems.
	* tests/test-fenv-except-trapping-2.c (main): Skip the test also on x86
	systems with gcc < 8.

2023-11-04  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-trapping: Fix for powerpc* platforms.
	* lib/fenv-except-trapping.c (feenableexcept, fedisableexcept)
	[powerpc]: Use the correct bit mask for the trap bits.
	* tests/test-fenv-except-trapping-2.c (main): Reenable the '9' tests on
	powerpc platforms.

2023-11-04  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-state-c99: Fix compilation error on FreeBSD.
	* lib/fenv.in.h (fegetexceptflag, fesetexceptflag): On FreeBSD, use an
	rpl_ prefix, to avoid a conflict with an inline definition in FreeBSD's
	<fenv.h>.

2023-11-04  Bruno Haible  <bruno@clisp.org>

	doc: Update info about Cygwin feraiseexcept bug.
	* doc/posix-functions/feraiseexcept.texi: Update info regarding Cygwin.

2023-11-04  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-tracking-c99 tests: Avoid test failure on NetBSD/sparc.
	* tests/test-fenv-except-tracking-2.c (main): On NetBSD/sparc, skip the
	'long double' test.

2023-11-04  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-tracking-c99: Fix fetestexcept() override for AIX.
	* lib/fenv-except-tracking-test.c (fetestexcept): On AIX, use
	fp_read_flag() rather than the fpscr register.

2023-11-04  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-tracking-c99: Work around a NetBSD/x86_64 bug.
	* m4/fenv-exceptions-tracking.m4 (gl_FENV_EXCEPTIONS_TRACKING): On
	NetBSD/x86_64, set REPLACE_FETESTEXCEPT to 1.
	* doc/posix-functions/fetestexcept.texi: Document the NetBSD bug.

2023-11-04  Bruno Haible  <bruno@clisp.org>

	fenv-rounding: Avoid a test failure on NetBSD/sparc64.
	* tests/test-fenv-round.c (test_towardzero, test_upward, test_downward):
	Skip the 'long double' tests on NetBSD/sparc64.
	* doc/posix-functions/fesetround.texi: Mention the problem with
	'long double' operations on some platforms.

2023-11-04  Bruno Haible  <bruno@clisp.org>

	fenv-rounding: Improve code for MSVC.
	* lib/fenv-round.c (fegetround) [MSVC]: Use the rounding direction from
	the SSE unit. Don't assume stable values for FE_UPWARD and FE_DOWNWARD.
	(fesetround) [MSVC]: Set the rounding direction only in the SSE unit.
	Don't assume stable values for FE_UPWARD and FE_DOWNWARD.

2023-11-04  Bruno Haible  <bruno@clisp.org>

	fenv-rounding et al.: Require AC_CANONICAL_HOST before accessing $host.
	* m4/fenv-rounding.m4 (gl_FENV_ROUNDING): Require AC_CANONICAL_HOST.
	* m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Likewise.
	* m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
	* m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Likewise.
	* m4/iswpunct.m4 (gl_FUNC_ISWPUNCT): Likewise.
	* m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
	* m4/strerrorname_np.m4 (gl_FUNC_STRERRORNAME_NP): Likewise.
	* m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Likewise.
	* m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNWPRINTF): Likewise.
	* m4/wcscmp.m4 (gl_FUNC_WCSCMP): Likewise.
	* m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Likewise.

2023-11-04  Bruno Haible  <bruno@clisp.org>

	fenv: Document an ABI break on MSVC.
	* doc/posix-headers/fenv.texi: Document why fegetround and fesetround
	are seemingly broken on MSVC.

2023-10-31  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-trapping: Add tests.
	* tests/test-fenv-except-trapping-1.c: New file.
	* tests/test-fenv-except-trapping-2.sh: New file.
	* tests/test-fenv-except-trapping-2.c: New file.
	* modules/fenv-exceptions-trapping-tests: New file.

	fenv-exceptions-trapping: New module.
	* lib/fenv.in.h (feenableexcept, fedisableexcept, fegetexcept): New
	declarations.
	* lib/fenv-except-trapping.c: New file, based on glibc.
	* m4/fenv_h.m4 (gl_FENV_H): Test also whether fegetexcept is declared.
	* m4/fenv-exceptions-trapping.m4: New file.
	* modules/fenv-exceptions-trapping: New file.
	* doc/glibc-functions/fegetexcept.texi: Mention the new module.
	* doc/glibc-functions/fedisableexcept.texi: Likewise.
	* doc/glibc-functions/feenableexcept.texi: Likewise. Mention the glibc,
	macOS, FreeBSD bugs.

2023-10-30  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-state-c99: Fix the x86_64 and i386 case.
	* lib/fenv-except-state-set.c (fesetexceptflag): Make sure to restore
	the exception trap bits in all cases.

2023-10-30  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-state-c23: Add tests.
	* tests/test-fenv-except-state-3.c: New file.
	* modules/fenv-exceptions-state-c23-tests: New file.

	fenv-exceptions-state-c23: New module.
	* lib/fenv.in.h (fetestexceptflag): New declaration.
	* lib/fenv-except-state-test.c: New file, based on glibc.
	* m4/fenv-exceptions-state-c23.m4: New file.
	* modules/fenv-exceptions-state-c23: New file.
	* doc/posix-functions/fetestexceptflag.texi: Mention the new module.

2023-10-30  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-state-c99: Add tests.
	* tests/test-fenv-except-state-1.c: New file.
	* tests/test-fenv-except-state-2.c: New file.
	* modules/fenv-exceptions-state-c99-tests: New file.

	fenv-exceptions-state-c99: New module.
	* lib/fenv.in.h (fegetexceptflag, fesetexceptflag): New declarations.
	* lib/fenv-except-state-get.c: New file, based on glibc.
	* lib/fenv-except-state-set.c: New file, based on glibc.
	* m4/mathfunc.m4 (gl_MATHFUNC): Handle also the 'fexcept_t *' type.
	* m4/fenv-exceptions-state.m4: New file.
	* modules/fenv-exceptions-state-c99: New file.
	* doc/posix-functions/fegetexceptflag.texi: Mention the new module.
	* doc/posix-functions/fesetexceptflag.texi: Mention the new module and
	the glibc, musl libc, macOS, AIX, mingw bugs.

2023-10-30  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-tracking-{c99,c23}: Fix the x86_64 and i386 case.
	* lib/fenv-except-tracking-clear.c (feclearexcept): Make sure to restore
	the exception trap bits in all cases.
	* lib/fenv-except-tracking-raise.c (feraiseexcept): Likewise.
	* lib/fenv-except-tracking-set.c (fesetexcept): Likewise.

2023-10-29  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-tracking-c23: Add tests.
	* tests/test-fenv-except-tracking-4.c: New file.
	* tests/test-fenv-except-tracking-5.c: New file.
	* modules/fenv-exceptions-tracking-c23-tests: New file.

	fenv-exceptions-tracking-c23: New module.
	* lib/fenv.in.h (fesetexcept): New declaration.
	* lib/fenv-except-tracking-set.c: New file, based on glibc.
	* lib/fenv-private.h (_GETMSR, _SETMSR, MSR_FP_EXC_MASK, PR_SET_FPEXC,
	PR_FP_EXC_DISABLED, PR_FP_EXC_NONRECOV, PR_FP_EXC_ASYNC,
	PR_FP_EXC_PRECISE, prctl) [NetBSD/powerpc]: New macros.
	* m4/fenv-exceptions-tracking-c23.m4: New file.
	* modules/fenv-exceptions-tracking-c23: New file.
	* doc/posix-functions/fesetexcept.texi: Mention the new module and the
	glibc bugs.

2023-10-28  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-tracking-c99: Fix feraiseexcept (FE_OVERFLOW) on MSVC.
	* lib/fenv-except-tracking-raise.c (feraiseexcept): Use the generic
	approach for all exceptions.

2023-10-28  Bruno Haible  <bruno@clisp.org>

	fpe-trapping: Always clear the FE_INVALID exception flag first.
	* lib/fpe-trapping.h: Include <fenv.h> on all platforms.
	(sigfpe_on_invalid) [AIX, HP-UX, IRIX, Solaris] : Clear the FE_INVALID
	exception flag first.
	* modules/fpe-trapping (Depends-on): Add fenv-exceptions-tracking-c99.

2023-10-28  Bruno Haible  <bruno@clisp.org>

	fenv-exceptions-tracking-c99: Add tests.
	* tests/test-fenv-except-tracking-1.c: New file.
	* tests/test-fenv-except-tracking-2.sh: New file.
	* tests/test-fenv-except-tracking-2.c: New file.
	* tests/test-fenv-except-tracking-3.sh: New file.
	* tests/test-fenv-except-tracking-3.c: New file.
	* modules/fenv-exceptions-tracking-c99-tests: New file.

	fenv-exceptions-tracking-c99: New module.
	* lib/fenv.in.h (feclearexcept, feraiseexcept, fetestexcept): New
	declarations.
	* lib/fenv-except-tracking-clear.c: New file, based on glibc.
	* lib/fenv-except-tracking-raise.c: New file, based on glibc.
	* lib/fenv-except-tracking-test.c: New file, based on glibc.
	* m4/fenv-exceptions-tracking.m4: New file.
	* m4/fenv-exceptions.m4: New file.
	* modules/fenv-exceptions-tracking-c99: New file.
	* doc/posix-functions/feclearexcept.texi: Mention the new module.
	* doc/posix-functions/fetestexcept.texi: Likewise.
	* doc/posix-functions/feraiseexcept.texi: Likewise. Mention the glibc
	and Cygwin bugs.

2023-10-27  Bruno Haible  <bruno@clisp.org>

	fenv-rounding: Add tests.
	* tests/test-fenv-round.c: New file.
	* modules/fenv-rounding-tests: New file.

	fenv-rounding: New module.
	* lib/fenv.in.h (fegetround, fesetround): New declarations.
	* lib/fenv-private.h: New file, based on glibc.
	* lib/fenv-round.c: New file, based on glibc.
	* m4/mathfunc.m4 (gl_MATHFUNC): Handle also the type fp_rnd.
	* m4/fenv-rounding.m4: New file.
	* modules/fenv (Depends-on): Add snippet/c++defs.
	(Makefile.am): Substitute $(CXXDEFS_H) into fenv.h.
	* modules/fenv-rounding: New file.
	* doc/posix-functions/fegetround.texi: Mention the new module.
	* doc/posix-functions/fesetround.texi: Likewise.

2023-10-27  Bruno Haible  <bruno@clisp.org>

	tests: Use C99 initializer syntax for memory_long_double.
	* tests/test-isfinite.c (test_isfinitel): Use '.word = ...' syntax when
	initializing memory_long_double variables.
	* tests/test-isinf.c (test_isinfl): Likewise.
	* tests/test-isnan.c (test_long_double): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasnprintf-posix.c (test_function): Likewise.
	* tests/test-vasnwprintf-posix.c (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* modules/isfinite-tests (Depends-on): Add c99.
	* modules/isinf-tests (Depends-on): Likewise.
	* modules/isnan-tests (Depends-on): Likewise.
	* modules/isnanl-nolibm-tests (Depends-on): Likewise.
	* modules/isnanl-tests (Depends-on): Likewise.
	* modules/pipe-filter-gi-tests (Depends-on): Likewise.
	* modules/pipe-filter-ii-tests (Depends-on): Likewise.
	* modules/snprintf-posix-tests (Depends-on): Likewise.
	* modules/sprintf-posix-tests (Depends-on): Likewise.
	* modules/vasnprintf-posix-tests (Depends-on): Likewise.
	* modules/vasnwprintf-posix-tests (Depends-on): Likewise.
	* modules/vasprintf-posix-tests (Depends-on): Likewise.
	* modules/vsnprintf-posix-tests (Depends-on): Likewise.
	* modules/vsprintf-posix-tests (Depends-on): Likewise.

2023-10-26  Pádraig Brady  <P@draigBrady.com>

	base32, base64: disallow non-canonical encodings
	* lib/base32.c: Check that discarded bits in the encoding are zero.
	* lib/base64.c: Likewise.
	* tests/test-base32.c: Add test cases.
	* tests/test-base64.c: Likewise.

2023-10-26  Bruno Haible  <bruno@clisp.org>

	fenv: Add tests.
	* tests/test-fenv.c: New file.
	* modules/fenv-tests: New file.

	fenv: New module.
	* lib/fenv.in.h: New file, based on glibc.
	* m4/fenv_h.m4: New file.
	* modules/fenv: New file.
	* doc/posix-headers/fenv.texi: Mention the new module.

2023-10-25  Paul Eggert  <eggert@cs.ucla.edu>

	base32: new function isubase32; also, tune.
	* lib/base32.c (BASE32_INLINE): Define.
	(base32_to_int): Rename from b32 and make it extern.  All uses changed.
	(uchar_in_range): Remove.  All uses removed.
	(isbase32, base32_decode_ctx_init):
	Move to lib/base32.h and make inline.
	* lib/base32.h: Ignore -Wtype-limits, so that we needn’t
	worry about uchar_in_range.
	(BASE32_INLINE): Define, and use _GL_INLINE_HEADER_BEGIN.
	(isubase32): New function, useful as it as a different signature.
	(isbase32): Define in terms of isubase32.
	* modules/base32 (Depends-on): Add extern-inline.

	base64: new function isubase64; also, tune.
	* lib/base64.c (BASE64_INLINE): Define.
	(base64_to_int): Rename from b64 and make it extern.  All uses changed.
	(uchar_in_range): Remove.  All uses removed.
	(isbase64, base64_decode_ctx_init):
	Move to lib/base64.h and make inline.
	* lib/base64.h: Ignore -Wtype-limits, so that we needn’t
	worry about uchar_in_range.
	(BASE64_INLINE): Define, and use _GL_INLINE_HEADER_BEGIN.
	(isubase64): New function, useful as it as a different signature.
	(isbase64): Define in terms of isubase64.
	* modules/base64 (Depends-on): Add extern-inline.

2023-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	tests/unistr/u16-chr-tests: pacify -Wcast-align
	* tests/unistr/test-chr.h (main): Redo types to pacify
	gcc -Wcast-align.

	isnanl-tests, stdio-tests: pacify GCC -Wshadow
	* tests/test-isnanl.h (NWORDS): Remove.
	(memory_long_double): Do not redefine in an inner scope.
	All uses changed to use the snan.h memory_long_double.
	* tests/test-stdio.c (NWORDS): Remove.
	(memory_long_double): Do not redefine in an inner scope.
	The snan.h memory_long_double is fine here.

	explicit_bzero-tests: pacify GCC 13.2.1
	* tests/test-explicit_bzero.c:
	* tests/test-memset_explicit.c:
	Ignore -Wdangling pointer.

2023-10-22  Bruno Haible  <bruno@clisp.org>

	memset_explicit, explicit_bzero tests: Fix test failures with new gcc.
	Reported by Sam James <sam@gentoo.org> in
	<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111904>.
	Fix by Alexandre Oliva <aoliva@gcc.gnu.org>.
	* tests/test-memset_explicit.c (do_secret_stuff): Declare with
	attributes 'noclone' and 'noipa'.
	* tests/test-explicit_bzero.c (do_secret_stuff): Likewise.

2023-10-15  Bruno Haible  <bruno@clisp.org>

	net_if tests: Fix gcc warning.
	* tests/test-net_if.c: Include <string.h>.

2023-10-15  Bruno Haible  <bruno@clisp.org>

	mbspbrk: Fix gcc warning (regression 2023-09-26).
	* lib/mbspbrk.c (mbspbrk): Fix gcc warning in GNULIB_MCEL_PREFER mode.

2023-10-15  Bruno Haible  <bruno@clisp.org>

	pthread-spin: Fix warnings on FreeBSD 5.2.1/i386.
	* lib/pthread.in.h (pthread_spinlock_t): Override if <pthread.h> defines
	pthread_spinlock_t but we need to approximate spinlocks with mutexes.
	* m4/pthread-spin.m4 (gl_PTHREAD_SPIN): When the pthread_spin_*
	functions are declared but don't exist, mark them as REPLACEd.

	pthread-spin: Fix link errors on FreeBSD 5.2.1/i386.
	* m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Test not only whether
	<pthread.h> defines the pthread_spinlock_t type, but also whether the
	function pthread_spin_init is actually defined.

2023-10-15  Bruno Haible  <bruno@clisp.org>

	pthread_mutex_timedlock: Fix link errors on FreeBSD 5.2.1/i386.
	* m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK): Test
	not only whether pthread_mutex_timedlock is declared, but also whether
	it is actually defined.

2023-10-15  Bruno Haible  <bruno@clisp.org>

	threadlib: Fix link errors on FreeBSD 5.2.1/i386.
	* m4/threadlib.m4 (gl_PTHREADLIB_BODY): When pthread_kill could not be
	found in -lpthread, try -lthr.

2023-10-15  Bruno Haible  <bruno@clisp.org>

	lock: Make Autoconf macro more robust.
	* m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
	Require gl_THREADLIB, not gl_THREADLIB_EARLY. Needed to get the value of
	LIBMULTITHREAD.

2023-10-15  Bruno Haible  <bruno@clisp.org>

	totalorder-bench-tests: New module.
	* tests/bench-totalorder.c: New file, based on tests/test-totalorder.h.
	* modules/totalorder-bench-tests: New file.

2023-10-15  Bruno Haible  <bruno@clisp.org>

	snan: Simplify a type.
	* lib/snan.h (memory_long_double): Put the 'value' field first.
	* tests/test-totalorder.h (main): No need for designated initializer
	syntax any more.

2023-10-15  Bruno Haible  <bruno@clisp.org>

	vma-iter: Fix compilation error on FreeBSD 5.2.1.
	* lib/vma-iter.c [FreeBSD]: Include <sys/param.h>.

2023-10-14  Bruno Haible  <bruno@clisp.org>

	totalorder*: Document glibc bug on SH4.
	* doc/posix-functions/totalorder.texi: Mention the glibc bug on SH4.
	* doc/posix-functions/totalorderf.texi: Likewise.
	* doc/posix-functions/totalorderl.texi: Likewise.

	totalorder*: Fix test failures on SH4.
	* lib/snan.h: Update comment.
	* lib/totalorderf.c (totalorderf): On sh4, invert bit 22 before
	comparing two NaNs.
	* lib/totalorder.c (totalorder): On sh4, invert bit 51 before comparing
	two NaNs.
	* lib/totalorderl.c (totalorderl): On sh4, invert bit 51 or 47 of the
	xhi, yhi parts before comparing two NaNs.

	totalorder*: Fix test failures on PA-RISC and MIPS CPUs.
	* lib/totalorderf.c (totalorderf): On hppa and mips, invert bit 22
	before comparing two NaNs.
	* lib/totalorder.c (totalorder): On hppa and mips, invert bit 51 before
	comparing two NaNs.
	* lib/totalorderl.c: Include <float.h>.
	(totalorderl): On hppa and mips, invert bit 51 or 47 of the xhi, yhi
	parts before comparing two NaNs.
	* modules/totalorderl (Depends-on): Add 'float'.

2023-10-14  Bruno Haible  <bruno@clisp.org>

	totalorder* tests: Test also the signalling NaNs.
	* tests/test-totalorder.h: Include signed-snan.h.
	(main): Change the array initializer to contain memory_* objects rather
	than floating-point numbers. This is needed for i386 and x86_64 CPUs.
	* tests/test-totalorder.c (TOTALORDER_TYPE): Use memory_double.
	(TOTALORDER_HAVE_SNAN, TOTALORDER_POSITIVE_SNAN,
	TOTALORDER_NEGATIVE_SNAN): New macros.
	* tests/test-totalorderf.c (TOTALORDER_TYPE): Use memory_float.
	(TOTALORDER_HAVE_SNAN, TOTALORDER_POSITIVE_SNAN,
	TOTALORDER_NEGATIVE_SNAN): New macros.
	* tests/test-totalorderl.c (TOTALORDER_TYPE): Use memory_long_double.
	(TOTALORDER_HAVE_SNAN, TOTALORDER_POSITIVE_SNAN,
	TOTALORDER_NEGATIVE_SNAN): New macros.
	* modules/totalorder-tests (Depends-on): Add signed-snan.
	* modules/totalorderf-tests (Depends-on): Likewise.
	* modules/totalorderl-tests (Depends-on): Likewise.

2023-10-14  Bruno Haible  <bruno@clisp.org>

	totalorder* tests: Make it easier to debug failures.
	* tests/test-totalorder.h: Include <stdio.h>.
	(main): Print array indices of all failures.

2023-10-14  Bruno Haible  <bruno@clisp.org>

	totalorder* tests: Verify also the function signatures.
	* tests/test-totalorder.h: New file, based on tests/test-totalorder.c.
	* tests/test-totalorder.c: Check the signature. Include
	test-totalorder.h for the rest.
	* tests/test-totalorderf.c: Include <config.h>, <math.h>. Check the
	signature. Include test-totalorder.h instead of test-totalorder.c.
	* tests/test-totalorderl.c: Likewise.
	* modules/totalorder-tests (Files): Add test-totalorder.h, signature.h.
	* modules/totalorderf-tests (Files): Add test-totalorder.h, signature.h.
	Remove test-totalorder.c.
	* modules/totalorderl-tests (Files): Likewise.

2023-10-14  Bruno Haible  <bruno@clisp.org>

	totalorder*: Improve documentation.
	* doc/posix-functions/totalorder.texi: Reference the specification.
	* doc/posix-functions/totalorderf.texi: Likewise.
	* doc/posix-functions/totalorderl.texi: Likewise.

2023-10-14  Bruno Haible  <bruno@clisp.org>

	snan, signed-snan: Add API that works also on x86 and x86_64 CPUs.
	* lib/snan.h (memory_float, memory_double, memory_long_double): New
	types.
	(construct_memory_SNaNf, memory_SNaNf, construct_memory_SNaNd,
	memory_SNaNd, construct_memory_SNaNl, memory_SNaNl): New functions.
	* lib/signed-snan.h (memory_positive_SNaNf, memory_negative_SNaNf,
	memory_positive_SNaNd, memory_negative_SNaNd, memory_positive_SNaNl,
	memory_negative_SNaNl): New functions.

2023-10-14  Bruno Haible  <bruno@clisp.org>

	snan tests: Fix "unused variable" warnings on i386.
	* tests/test-snan-1.c (main): Mark nanf, nand, nanl as possibly unused.
	* tests/test-snan-2.c (main): Likewise.

2023-10-14  Bruno Haible  <bruno@clisp.org>

	snan: Avoid test failures with CC="gcc -mfpmath=387".
	* tests/test-snan-1.c (main): Treat x86_64 CPU with
	__FLT_EVAL_METHOD__ == 2 like i386 CPU. Update comments.
	* tests/test-snan-2.c (main): Likewise.

2023-10-14  Bruno Haible  <bruno@clisp.org>

	snan: Fix the value of SNaNl() on i386, x86_64, ia64 CPUs.
	* lib/snan.h (construct_SNaNl): On i386, x86_64, ia64 CPUs, invert
	bit 62, not bit 63, of the mantissa.
	* m4/snan.m4 (gl_SNAN): Require gl_LONG_DOUBLE_VS_DOUBLE.
	* modules/snan (Files): Add m4/math_h.m4.

2023-10-13  Bruno Haible  <bruno@clisp.org>

	tests: Make use of signed signalling NaNs.
	* tests/test-signbit.c: Include signed-snan.h instead of snan.h.
	(test_signbitf): Test positive_SNaNf, negative_SNaNf, instead of only
	SNaNf.
	(test_signbitd): Test positive_SNaNd, negative_SNaNd, instead of only
	SNaNd.
	(test_signbitl): Test positive_SNaNl, negative_SNaNl, instead of only
	SNaNl.
	* tests/test-stdio.c: Include signed-snan.h instead of snan.h.
	(main): Test positive_SNaNd, negative_SNaNd, instead of only SNaNd.
	Also, test positive_NaNd, negative_NaNd, instead of NaNd.
	* modules/signbit-tests (Depends-on): Add signed-snan. Remove snan.
	* modules/stdio-tests (Depends-on): Likewise.

2023-10-13  Bruno Haible  <bruno@clisp.org>

	signed-snan: New module.
	* lib/snan.h (construct_SNaNf): New function, extracted from SNaNf.
	(SNaNf): Use it.
	(construct_SNaNd): New function, extracted from SNaNd.
	(SNaNd): Use it.
	(construct_SNaNl): New function, extracted from SNaNl.
	(SNaNl): Use it.
	* lib/signed-snan.h: New file.
	* modules/signed-snan: New file.

2023-10-13  Bruno Haible  <bruno@clisp.org>

	signed-nan: New module, renamed from qnan.
	* lib/signed-nan.h: Renamed from lib/qnan.h. Update double-inclusion
	guard.
	* modules/signed-nan: Renamed from modules/qnan. Update.
	* tests/test-signbit.c: Update.
	* tests/test-stdio.c: Likewise.
	* tests/test-totalorder.c: Likewise.
	* modules/*-tests: Update.

2023-10-13  Bruno Haible  <bruno@clisp.org>

	access: Fix test failure on native Windows.
	* lib/access.c (access): Do the trailing slash workaround also on
	native Windows.
	* modules/access (Depends-on): Add stat.

2023-10-13  Bruno Haible  <bruno@clisp.org>

	isnanf, isnand: Fix conflict with Solaris <ieeefp.h>.
	* lib/math.in.h (isnanf, isnand): On Solaris and IRIX, declare this
	function, instead of defining it as a macro.

2023-10-12  Bruno Haible  <bruno@clisp.org>

	*printf tests: Test printing of signalling NaNs.
	These tests run without sigfpe_on_invalid(), therefore they won't crash.
	* tests/test-vasnprintf-posix.c: Include snan.h.
	(test_function): For each test case that uses NaNd or NaNl, add a test
	case with SNaNd or SNaNl, respectively.
	* tests/test-vasprintf-posix.c: Likewise.
	* tests/test-snprintf-posix.h: Likewise.
	* tests/test-sprintf-posix.h: Likewise.
	* tests/test-vasnwprintf-posix.c: Likewise.
	* modules/vasnprintf-posix-tests (Depends-on): Add snan.
	* modules/vasprintf-posix-tests (Depends-on): Likewise.
	* modules/vsnprintf-posix-tests (Depends-on): Likewise.
	* modules/snprintf-posix-tests (Depends-on): Likewise.
	* modules/vsprintf-posix-tests (Depends-on): Likewise.
	* modules/sprintf-posix-tests (Depends-on): Likewise.
	* modules/vasnwprintf-posix-tests (Depends-on): Likewise.
	* modules/pipe-filter-gi-tests (Depends-on): Likewise.
	* modules/pipe-filter-ii-tests (Depends-on): Likewise.

2023-10-12  Bruno Haible  <bruno@clisp.org>

	nan, snan tests: Avoid test failures.
	* tests/test-nan-1.c (main): Special handling of arm CPUs with software
	floating-point emulation.
	* tests/test-snan-1.c (main): Likewise. Disable tests that are known to
	fail.
	* tests/test-snan-2.c (main): Skip tests that are known to fail.
	* modules/snan-tests (Files): Add m4/math_h.m4.
	(configure.ac): Require gl_LONG_DOUBLE_VS_DOUBLE.
	* m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): Mention also NetBSD/sparc32.

2023-10-12  Bruno Haible  <bruno@clisp.org>

	snan: Add tests.
	* tests/test-snan-1.c: New file.
	* tests/test-snan-2.sh: New file.
	* tests/test-snan-2.c: New file.
	* modules/snan-tests: New file.

2023-10-12  Bruno Haible  <bruno@clisp.org>

	nan: Add tests.
	* tests/test-nan-1.c: New file.
	* tests/test-nan-2.c: New file.
	* modules/nan-tests: New file.

2023-10-12  Bruno Haible  <bruno@clisp.org>

	fpe-tracking, fpe-trapping: New modules.
	* lib/fpe-trapping.h: New file.
	* m4/mathfunc.m4 (gl_MATHFUNC): Handle also the type fp_except_t.
	* m4/fpe.m4: New file.
	* modules/fpe-tracking: New file.
	* modules/fpe-trapping: New file.

2023-10-12  Bruno Haible  <bruno@clisp.org>

	snan: Comments.
	* lib/snan.h: Add more comments.

2023-10-12  Bruno Haible  <bruno@clisp.org>

	snan: New module.
	* lib/snan.h: Renamed from tests/snan.h. Add double-inclusion guard.
	* m4/snan.m4: New file.
	* modules/snan: New file.
	* isfinite-tests (Files): Remove tests/snan.h, m4/exponent*.m4.
	(Depends-on): Add snan.
	(configure.ac): Don't invoke gl_FLOAT_EXPONENT_LOCATION,
	gl_DOUBLE_EXPONENT_LOCATION, gl_LONG_DOUBLE_EXPONENT_LOCATION.
	* isinf-tests (Files): Remove tests/snan.h, m4/exponent*.m4.
	(Depends-on): Add snan.
	(configure.ac): Don't invoke gl_FLOAT_EXPONENT_LOCATION,
	gl_DOUBLE_EXPONENT_LOCATION, gl_LONG_DOUBLE_EXPONENT_LOCATION.
	* isnan-tests (Files): Remove tests/snan.h, m4/exponent*.m4.
	(Depends-on): Add snan.
	(configure.ac): Don't invoke gl_FLOAT_EXPONENT_LOCATION,
	gl_DOUBLE_EXPONENT_LOCATION, gl_LONG_DOUBLE_EXPONENT_LOCATION.
	* isnanf-nolibm-tests (Files): Remove tests/snan.h, m4/exponentf.m4.
	(Depends-on): Add snan.
	(configure.ac): Don't invoke gl_FLOAT_EXPONENT_LOCATION.
	* isnanf-tests (Files): Remove tests/snan.h, m4/exponentf.m4.
	(Depends-on): Add snan.
	(configure.ac): Don't invoke gl_FLOAT_EXPONENT_LOCATION.
	* isnand-nolibm-tests (Files): Remove tests/snan.h, m4/exponentd.m4.
	(Depends-on): Add snan.
	(configure.ac): Don't invoke gl_DOUBLE_EXPONENT_LOCATION.
	* isnand-tests (Files): Remove tests/snan.h, m4/exponentd.m4.
	(Depends-on): Add snan.
	(configure.ac): Don't invoke gl_DOUBLE_EXPONENT_LOCATION.
	* isnanl-nolibm-tests (Files): Remove tests/snan.h, m4/exponentl.m4.
	(Depends-on): Add snan.
	(configure.ac): Don't invoke gl_LONG_DOUBLE_EXPONENT_LOCATION.
	* isnanl-tests (Files): Remove tests/snan.h, m4/exponentl.m4.
	(Depends-on): Add snan.
	(configure.ac): Don't invoke gl_LONG_DOUBLE_EXPONENT_LOCATION.
	* signbit-tests (Files): Remove tests/snan.h, m4/exponent*.m4.
	(Depends-on): Add snan.
	(configure.ac): Don't invoke gl_FLOAT_EXPONENT_LOCATION,
	gl_DOUBLE_EXPONENT_LOCATION, gl_LONG_DOUBLE_EXPONENT_LOCATION.
	* stdio-tests (Files): Remove tests/snan.h
	(Depends-on): Add snan.

2023-10-12  Bruno Haible  <bruno@clisp.org>

	qnan: New module.
	* lib/qnan.h: Renamed from tests/qnan.h. Add double-inclusion guard.
	* modules/qnan: New file.
	* modules/signbit-tests (Files): Remove tests/qnan.h.
	(Depends-on): Add qnan. Remove nan.
	* modules/stdio-tests (Files): Remove tests/qnan.h.
	(Depends-on): Add qnan. Remove nan.
	* modules/totalorder-tests (Files): Remove tests/qnan.h.
	(Depends-on): Add qnan. Remove nan, signbit.
	* modules/totalorderf-tests (Files): Remove tests/qnan.h.
	(Depends-on): Add qnan. Remove nan, signbit.
	* modules/totalorderl-tests (Files): Remove tests/qnan.h.
	(Depends-on): Add qnan. Remove nan, signbit.

2023-10-12  Bruno Haible  <bruno@clisp.org>

	nan: New module.
	* lib/nan.h: Renamed from tests/nan.h. Change double-inclusion guard.
	* modules/nan: New file.
	* modules/*-tests: Depend on this module instead of embedding
	tests/nan.h.

2023-10-11  Bruno Haible  <bruno@clisp.org>

	unictype/category-and-not: Add more tests.
	Suggested by Arindam Sharma <arindam.sharma@imperial.ac.uk>.
	* tests/unictype/test-categ_and_not.c (main): Add two more test cases.
	* modules/unictype/category-and-not-tests (Depends-on): Add
	unictype/category-Cc.

2023-10-09  Bruno Haible  <bruno@clisp.org>

	tests: Refactor functions for signalling NaNs.
	* tests/snan.h: New file, based on tests/test-isnanf.h,
	tests/test-isnand.h, tests/test-isnanl.h.
	* tests/test-isfinite.c: Include snan.h.
	(test_isfinitef, test_isfinited, test_isfinitel): Simplify.
	* tests/test-isinf.c: Include snan.h.
	(test_isinff, test_isinfd, test_isinfl): Simplify.
	* tests/test-isnan.c: Include snan.h.
	(test_float, test_double, test_long_double): Simplify.
	* tests/test-isnanf.h: Include snan.h.
	(main): Simplify.
	* tests/test-isnand.h: Include snan.h.
	(main): Simplify.
	* tests/test-isnanl.h: Include snan.h.
	(main): Simplify.
	* tests/test-signbit.c: Include snan.h.
	(test_signbitf, test_signbitd, test_signbitl): Simplify.
	* tests/test-stdio.c: Include qnan.h, snan.h instead of nan.h.
	(main): Test quiet NaNs always. Also test a signalling NaN.
	* modules/isfinite-tests (Files): Add tests/nan.h, tests/snan.h.
	* modules/isinf-tests (Files): Likewise.
	* modules/isnan-tests (Files): Add tests/snan.h.
	* modules/isnanf-tests (Files): Likewise.
	* modules/isnanf-nolibm-tests (Files): Likewise.
	* modules/isnand-tests (Files): Likewise.
	* modules/isnand-nolibm-tests (Files): Likewise.
	* modules/isnanl-tests (Files): Likewise.
	* modules/isnanl-nolibm-tests (Files): Likewise.
	* modules/signbit-tests (Files): Likewise.
	* modules/stdio-tests (Files): Add tests/qnan.h, tests/snan.h.

2023-10-08  Bruno Haible  <bruno@clisp.org>

	isfinite: Work around a bug with 'long double' in glibc 2.5/ia64.
	* m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require
	gl_LONG_DOUBLE_EXPONENT_LOCATION. Test also another NaN value.
	* modules/isfinite (Files): Add m4/exponentl.m4.
	* doc/posix-functions/isfinite.texi: Mention also a 'long double'
	problem on ia64.

2023-10-07  Bruno Haible  <bruno@clisp.org>

	tests: Refactor functions for quiet NaNs.
	* tests/qnan.h: New file, based on tests/totalorder.c.
	* tests/nan.h: Add double-inclusion guard.
	* tests/test-signbit.c: Include qnan.h.
	(test_signbitf, test_signbitd, test_signbitl): Simplify.
	* tests/test-totalorder.c: Include qnan.h instead of NaN.h.
	(TOTALORDER_NAN): Remove macro.
	(TOTALORDER_POSITIVE_NAN, TOTALORDER_NEGATIVE_NAN): New macros.
	(positive_nan, negative_nan): Remove functions.
	(main): Update.
	* tests/test-totalorderf.c (TOTALORDER_NAN): Remove macro.
	(TOTALORDER_POSITIVE_NAN, TOTALORDER_NEGATIVE_NAN): New macros.
	* tests/test-totalorderl.c (TOTALORDER_NAN): Remove macro.
	(TOTALORDER_POSITIVE_NAN, TOTALORDER_NEGATIVE_NAN): New macros.
	* modules/signbit-tests (Files): Add tests/nan.h, tests/qnan.h.
	* modules/totalorder-tests (Files): Add tests/qnan.h.
	(Depends-on): Add signbit.
	* modules/totalorderf-tests (Files): Add tests/qnan.h.
	(Depends-on): Add signbit.
	* modules/totalorderl-tests (Files): Add tests/qnan.h.
	(Depends-on): Add signbit.

2023-10-07  Bruno Haible  <bruno@clisp.org>

	totalorder*: Fix compilation error on glibc 2.25..2.30.
	* m4/totalorder.m4 (gl_FUNC_TOTALORDERF): Test whether <math.h> has an
	incompatible declaration of totalorderf, and set REPLACE_TOTALORDERF
	to 1 if so.
	(gl_FUNC_TOTALORDER): Test whether <math.h> has an incompatible
	declaration of totalorder, and set REPLACE_TOTALORDER to 1 if so.
	(gl_FUNC_TOTALORDERL): Test whether <math.h> has an incompatible
	declaration of totalorderl, and set REPLACE_TOTALORDERL to 1 if so.

2023-10-07  Bruno Haible  <bruno@clisp.org>

	isnan: Avoid dangerous shell coding pattern.
	* m4/isnand.m4 (gl_FUNC_ISNAND): Use 'test -n "$arg"', not
	'test "$arg"'.
	* m4/isnanf.m4 (gl_FUNC_ISNANF): Likewise.
	* m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.

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

	doc: Mention xstrerror.
	* doc/posix-functions/strerror_r.texi: Mention xstrerror.

	xstrerror: Add tests.
	* tests/test-xstrerror.c: New file.
	* modules/xstrerror-tests: New file.

	xstrerror: New module.
	* lib/xstrerror.h: New file.
	* lib/xstrerror.c: New file.
	* modules/xstrerror: New file.
	* modules/strerror_r-posix (configure.ac): Update comment.

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

	isnan: slightly simplify configuration
	* m4/isnand.m4 (gl_FUNC_ISNAND):
	* m4/isnanf.m4 (gl_FUNC_ISNANF):
	* m4/isnanl.m4 (gl_FUNC_ISNANL):
	Slightly simplify shell ‘if’.  This should simplify future changes.

	totalorder: speed up configuration
	* m4/totalorder.m4 (gl_FUNC_TOTALORDERF, gl_FUNC_TOTALORDER)
	(gl_FUNC_TOTALORDERL): Avoid unnecessary call to AC_SEARCH_LIBS,
	since the information is already available in shell vars.

	totalorderl: minor porting fixes
	* lib/totalorderl.c (LDBL_SIGNBIT_WORD): Define to -1 if not defined.
	(totalorderl): Avoid unused local zu by preferring ‘if’ to ‘ifdef’.
	Don’t assume sizeof (unsigned long long) == 2 * sizeof (unsigned).

2023-10-04  Bruno Haible  <bruno@clisp.org>

	totalorder* tests: Refactor.
	* tests/test-totalorder.c (positive_nan, negative_nan): New functions,
	extracted from main.
	(main): Use them when initializing the array.

2023-10-04  Bruno Haible  <bruno@clisp.org>

	totalorderl: Optimize.
	* modules/totalorderl (Files): Add m4/signbit.m4.
	* m4/totalorder.m4 (gl_FUNC_TOTALORDERL): Invoke
	gl_LONG_DOUBLE_SIGN_LOCATION.
	* lib/totalorderl.c (totalorderl): If LDBL_SIGNBIT_WORD is known,
	use it, so that 'bigendian' becomes a constant.

2023-10-04  Bruno Haible  <bruno@clisp.org>

	totalorderl: Work around Solaris cc bug.
	* lib/totalorderl.c (totalorderl): Initialize xu, yu, zu using a
	different syntax.

2023-10-04  Bruno Haible  <bruno@clisp.org>

	signbit tests: Strengthen tests.
	* tests/test-signbit.c (test_signbitf, test_signbitd, test_signbitl):
	Test the sign bit both of a NaN value and of its negative.

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

	doc: Document portability of __VA_ARGS__.
	* doc/gnulib-readme.texi (C99 features assumed): Add a note about
	__VA_ARGS__.

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

	ilogb: Document a Mac OS X bug.
	* doc/posix-functions/ilogb.texi: Mention a bug that affects Mac OS X.
	* m4/ilogb.m4 (gl_FUNC_ILOGB): Update comments.

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

	*printf-posix: Work around bug with %#.0x on Mac OS X 10.6.
	* lib/vasnprintf.c (VASNPRINTF): Enable NEED_PRINTF_UNBOUNDED_PRECISION-
	guarded code also for NEED_PRINTF_FLAG_ALT_PRECISION_ZERO. Set
	prec_ourselves to 1 if NEED_PRINTF_FLAG_ALT_PRECISION_ZERO, precision is
	0, and the directive is 'x' or 'X'. If prec_ourselves, remove the "0"
	output if required.
	* m4/printf.m4 (gl_PRINTF_FLAG_ALT_PRECISION_ZERO): New macro.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ALT_PRECISION_ZERO): New
	macro.
	(gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS): Invoke it.
	* m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_IS_POSIX): Require
	gl_PRINTF_FLAG_ALT_PRECISION_ZERO and test its result.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_IS_POSIX): Likewise.
	* m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_IS_POSIX):
	Likewise.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_IS_POSIX): Likewise.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_IS_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_IS_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_IS_POSIX): Likewise.
	* m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_IS_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_IS_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_IS_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_IS_POSIX): Likewise.
	* doc/glibc-functions/asprintf.texi: Mention the %#.0x bug.
	* doc/glibc-functions/obstack_printf.texi: Likewise.
	* doc/glibc-functions/obstack_vprintf.texi: Likewise.
	* doc/glibc-functions/vasprintf.texi: Likewise.
	* doc/posix-functions/dprintf.texi: Likewise.
	* doc/posix-functions/fprintf.texi: Likewise.
	* doc/posix-functions/fwprintf.texi: Likewise.
	* doc/posix-functions/printf.texi: Likewise.
	* doc/posix-functions/snprintf.texi: Likewise.
	* doc/posix-functions/sprintf.texi: Likewise.
	* doc/posix-functions/swprintf.texi: Likewise.
	* doc/posix-functions/vdprintf.texi: Likewise.
	* doc/posix-functions/vfprintf.texi: Likewise.
	* doc/posix-functions/vfwprintf.texi: Likewise.
	* doc/posix-functions/vprintf.texi: Likewise.
	* doc/posix-functions/vsnprintf.texi: Likewise.
	* doc/posix-functions/vsprintf.texi: Likewise.
	* doc/posix-functions/vswprintf.texi: Likewise.
	* doc/posix-functions/vwprintf.texi: Likewise.
	* doc/posix-functions/wprintf.texi: Likewise.

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

	faccessat tests: Strengthen tests.
	* tests/test-faccessat.c (main): Test other modes than F_OK. Check errno
	values.

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

	euidaccess: Reject trailing slashes on symlinks to non-directories.
	* modules/euidaccess (Depends-on): Add access.

	euidaccess: Add tests.
	* tests/test-access.h: New file, extracted from tests/test-access.c.
	* tests/test-access.c: Moved most code to tests/test-access.h.
	Include test-access.h.
	(main): Invoke test_access.
	* tests/test-euidaccess.c: New file, based on tests/test-access.c.
	* modules/access-tests (Files): Add tests/test-access.h.
	* modules/euidaccess-tests: New file, based on modules/access-tests.

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

	access: Make last change work also when module 'stat' is in use.
	* lib/access.c (access): When stat() returns -1 with errno != EOVERFLOW,
	fail.

	access: Work around trailing slash bug on Mac OS X 10.5.
	* m4/access.m4 (gl_FUNC_ACCESS): Test whether access honors a trailing
	slash. Set REPLACE_ACCESS to 1 and define ACCESS_TRAILING_SLASH_BUG if
	not.
	* lib/access.c (access): Add an implementation for Unix-like platforms.
	* tests/test-access.c (main): Test for result if the argument has a
	trailing slash.
	* modules/access-tests (Depends-on): Add 'symlink'.
	* doc/posix-functions/access.texi: Mention the Mac OS X bug.

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

	update-copyright tests: Fix test failure (regression 2023-06-18).
	* build-aux/update-copyright: Add "use re 'eval';" declaration.

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

	Update re *-*-windows*-gnu* config triplets, withdrawn on 2023-09-19.
	* m4/*.m4: Don't recognize windows*-gnu* as equivalent to mingw*.

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

	string-c++-tests, uchar-c++-tests: Fix link errors on Mac OS X.
	* modules/string-c++-tests (Makefile.am): Link test-string-c++ with
	$(LIBC32CONV).
	* modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
	$(LIBC32CONV).

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

	mcel tests: Fix link error.
	* modules/mcel-tests (Makefile.am): Link test-mcel with $(LIBUNISTRING)
	$(SETLOCALE_LIB) $(MBRTOWC_LIB) $(LIBC32CONV).

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

	mcel: Fix compilation error in tests.
	* lib/mcel.h (mcel_scan): Undefine 'mbs' after use.

2023-10-02  Bruno Haible  <bruno@clisp.org>

	localename, gettext: Avoid crash on macOS 14.
	Reported by Shupeng Xue <dspxue@gmail.com> at
	<https://lists.gnu.org/archive/html/bug-gettext/2023-10/msg00001.html>.
	Cf <https://github.com/aria2/aria2/issues/2083#issuecomment-1694662007>.
	* m4/intlmacosx.m4 (gt_INTL_MACOSX): Link with the CoreServices
	framework in addition to the CoreFoundation framework.

2023-10-02  Bruno Haible  <bruno@clisp.org>

	localcharset: Avoid internal compiler error with -Wextra on macOS 10.5.
	* lib/localcharset.c (locale_charset): Use an empty compound statement
	instead of a null statement.

2023-10-02  KO Myung-Hun  <komh78@gmail.com>

	fchdir: Fix a compilation error on OS/2 kLIBC (regression 2023-09-29).
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Define REPLACE_FCHDIR macro to 1 if
	REPLACE_FCHDIR is 1.

2023-10-02  Bruno Haible  <bruno@clisp.org>

	totalorder, totalorderf, totalorderl: Fix some typos.
	* m4/totalorder.m4 (gl_FUNC_TOTALORDERF): Assign TOTALORDERF_LIBM, not
	TOTALORDER_LIBM.
	* modules/totalorder (Description): Fix copy&paste mistake.
	(Depends-on): Fix conditions.
	* modules/totalorderf (Depends-on): Likewise.
	* modules/totalorderl (Depends-on): Likewise.

2023-10-01  Paul Eggert  <eggert@cs.ucla.edu>

	totalorder, totalorderf, totalorderl: new modules
	* lib/math.in.h: Declare totalorderf, totalorder, totalorderl.
	* lib/totalorder.c, lib/totalorderf.c, lib/totalorderl.c:
	* m4/totalorder.m4, modules/totalorder, modules/totalorder-tests:
	* modules/totalorderf, modules/totalorderf-tests:
	* modules/totalorderl, modules/totalorderl-tests:
	* tests/test-totalorder.c, tests/test-totalorderf.c:
	* tests/test-totalorderl.c: New files.
	* m4/math_h.m4 (gl_MATH_H, gl_MATH_H_REQUIRE_DEFAULTS)
	(gl_MATH_H_DEFAULTS):
	* modules/math (math.h): Set up totalorder, totalorderf, totalorderl.
	* m4/mathfunc.m4 (gl_MATHFUNC): Also support pointer-to-const.

2023-09-30  Paul Eggert  <eggert@cs.ucla.edu>

	regex-quote: fix recently-introduced typo
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2023-09/msg00146.html
	* lib/regex-quote.c (regex_quote_copy): Add missing #endif.

2023-09-30  Bruno Haible  <bruno@clisp.org>

	wgetcwd-lgpl: Add tests.
	* tests/test-wgetcwd-lgpl.c: New file, based on
	tests/test-getcwd-lgpl.c.
	* modules/wgetcwd-lgpl-tests: New file, based on
	modules/getcwd-lgpl-tests.

	wgetcwd-lgpl: New module.
	* lib/wchar.in.h (wgetcwd): New declaration.
	* lib/wgetcwd-lgpl.c: New file, based on lib/getcwd-lgpl.c.
	* m4/wchar_h.m4 (gl_WCHAR_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_WGETCWD.
	* modules/wchar (Makefile.am): Substitute GNULIB_WGETCWD.
	* modules/wgetcwd-lgpl: New file.

2023-09-30  Bruno Haible  <bruno@clisp.org>

	getcwd-lgpl: Tweaks.
	* lib/unistd.in.h (getcwd): Mention the module 'getcwd-lgpl'.
	* lib/getcwd-lgpl.c (rpl_getcwd): Minimize scope of local variables.
	* tests/test-getcwd-lgpl.c (main): Use GNU coding style.

2023-09-29  Bruno Haible  <bruno@clisp.org>

	Allow different --libtool options from multiple gnulib-tool invocations.
	* modules/crypto/gc (Makefile.am): Don't test GL_COND_LIBTOOL, since
	gnulib-tool already eliminates lib_LDFLAGS augmentations for non-libtool
	libraries.
	* modules/striconv (Makefile.am): Likewise.
	* modules/striconveh (Makefile.am): Likewise.
	* modules/termcap (Makefile.am): Likewise.
	* modules/terminfo (Makefile.am): Likewise.

2023-09-29  KO Myung-Hun  <komh78@gmail.com>

	stdlib: Cast putenv() on OS/2 kLIBC
	* lib/stdlib.in.h (putenv) [kLIBC]: Cast with _GL_CXXALIAS_SYS_CAST().

2023-09-29  Bruno Haible  <bruno@clisp.org>

	fchdir: Override properly on OS/2 kLIBC.
	* lib/unistd.in.h (fchdir): Override if REPLACE_FCHDIR is 1.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FCHDIR.
	* modules/unistd (Makefile.am): Substitute REPLACE_FCHDIR.
	* modules/fchdir (Depends-on, configure.ac): Test REPLACE_FCHDIR.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Instead of setting HAVE_FCHDIR to 0,
	set REPLACE_FCHDIR to 1.

2023-09-29  KO Myung-Hun  <komh78@gmail.com>

	fdopendir: Use Windows code path on OS/2 kLIBC
	* lib/closedir.c (closedir): Use Windows code path.
	* lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
	Remove.
	* lib/dirfd.c (_gl_register_dirp_fd, _gl_unregister_dirp_fd): Remove.
	(dirfd): Use Windows code path.
	* lib/fdopendir.c (fdopendir): Use Windows code path.
	* lib/opendir.c (opendir): Use Windows code path.
	* m4/closedir.m4 (REPLACE_CLOSEDIR): Use Windows code path.
	* m4/dirent_h.m4 (DIR_HAS_FD_MEMBER): Use Windows code path.
	* m4/dirfd.m4 (REPLACE_DIRFD): Use Windows code path.
	* m4/fchdir.m4 (HAVE_FCHDIR): Replace fchdir() if dirfd() does not work.
	* m4/opendir.m4 (REPLACE_OPENDIR): Use Windows code path.
	* m4/readdir.m4 (REPLACE_READDIR): Use Windows code path.
	* m4/rewinddir.m4 (REPLACE_REWINDDIR): Use Windows code path.
	* modules/fchdir (Depends-on): Include dirent always.

2023-09-26  Paul Eggert  <eggert@cs.ucla.edu>

	mcel-bench-tests: fix typo
	* tests/bench-mcel.c (main): Fix typo in usage message.

	Remaining support for GNULIB_MCEL_PREFER
	Support mcel API in remaining modules where this might matter,
	for apps that prefer it.
	* lib/mbmemcasecmp.c, lib/mbscspn.c, lib/mbsncasecmp.c, lib/mbsnlen.c:
	* lib/mbspbrk.c, lib/mbspcasecmp.c, lib/mbssep.c, lib/mbsspn.c:
	* lib/regex-quote.c:
	Include mcel.h instead of mbiterf.h or mbuiterf.h,
	if GNULIB_MCEL_PREFER.
	* lib/mbmemcasecmp.c (mbmemcasecmp), lib/mbscspn.c (mbscspn):
	* lib/mbsncasecmp.c (mbsncasecmp), lib/mbsnlen.c (mbsnlen):
	* lib/mbspbrk.c (mbspbrk), lib/mbspcasecmp.c (mbspcasecmp):
	* lib/mbssep.c (mbssep), lib/mbsspn.c (mbsspn):
	* lib/regex-quote.c (regex_quote_length, regex_quote_copy):
	Use mcel API, if GNULIB_MCEL_PREFER.
	* lib/mbscspn.c, lib/mbspbrk.c, lib/mbspcasecmp.c, lib/mbsspn.c:
	Include stdlib.h, for MB_CUR_MAX.
	* modules/mbmemcasecmp, modules/mbsncasecmp, modules/mbspcasecmp:
	Depend on c32tolower.
	* modules/regex-quote: Depend on mempcpy.

2023-09-25  Paul Eggert  <eggert@cs.ucla.edu>

	mbscasestr: support GNULIB_MCEL_PREFER
	Support mcel API for apps that prefer it.
	This mirrors the recent changes to mbsstr.
	* lib/mbscasestr.c [GNULIB_MCEL_PREFER]: Include mcel.h not mbuiter.h.
	(mbchar_t, mb_equal) [GNULIB_MCEL_PREFER]: New type and function,
	to make it easier to use common code.
	(knuth_morris_pratt_multibyte): Don't assume mbchar_t's alignment
	is at least that of size_t.
	(knuth_morris_pratt_multibyte, mbscasestr) [GNULIB_MCEL_PREFER]:
	Use mcel API.
	* modules/mbscasestr (Depends-on): Add alignasof.

2023-09-24  Bernhard Voelker  <mail@bernhard-voelker.de>

	maintainer-makefile: Fix syntax-check rules wrt README.
	* top/maint.mk (sc_readme_link_install): Change the value of the
	variable in_vc_files to contain a pattern for the README file.
	(sc_readme_link_copying): Likewise.
	Previously, the above rules always passed, because the generated
	list of files was empty.  Bug introduced when adding the rules
	in commit 53b4bf3018.

2023-09-22  Bruno Haible  <bruno@clisp.org>

	striconveh, *vasnprintf, vasnwprintf: Make more virtual-memory friendly.
	* lib/striconveh.c (mem_cd_iconveh_internal): Mark hex as 'const'.
	* lib/vasnprintf.c (wctomb_fallback): Likewise.

2023-09-21  Paul Eggert  <eggert@cs.ucla.edu>

	mbschr, mbsrchr: support GNULIB_MCEL_PREFER
	Support mcel API for apps that prefer it.
	The following changes are in effect only if GNULIB_MCEL_PREFER.
	* lib/mbschr.c, lib/mbsrchr.c: Include stdlib.h, for MB_CUR_MAX.
	[GNULIB_MCEL_PREFER]: Include mcel.h instead of mbuiterf.h.
	(mbschr, mbsrchr) [GNULIB_MCEL_PREFER]: Use mcel API.

	gnulib-common: don’t suppress -Wpedantic
	Problem reported by Pádraig Brady in:
	https://lists.gnu.org/r/bug-gnulib/2023-09/msg00130.html
	* m4/gnulib-common.m4 (_GL_HAVE___HAS_C_ATTRIBUTE): New macro.
	Use it instead of ‘defined __has_c_attribute’.

	crypto/sm3: rename gl_cv_* variable for clarity
	* m4/gc-sm3.m4 (gl_cv_libgcrypt_md_sm3):
	Rename from gl_cv_libcrypt_md_sm3 since this is unrelated to libcrypt.

2023-09-17  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: pacify GCC -Wtype-limits
	* lib/intprops-internal.h: Pacify gcc (GCC) 13.2.1 20230728 (Red
	Hat 13.2.1-1) x86-64 -Wtype-limits on bleeding-edge diffutils.

2023-09-16  Bruno Haible  <bruno@clisp.org>

	lib-symbol-visibility: Fix a misnomer.
	* doc/lib-symbol-visibility.texi: Rename LIBFOO_DLL_EXPORTED to
	LIBFOO_SHLIB_EXPORTED. Prefer the term "shared library", since the term
	"DLL" applies only to Windows.
	* lib/relocatable.h (RELOCATABLE_SHLIB_EXPORTED): Renamed from
	RELOCATABLE_DLL_EXPORTED. Prefer the term "shared library", since the
	term "DLL" applies only to Windows.
	* lib/mbtowc-lock.c (SHLIB_EXPORTED): Renamed from DLL_EXPORTED.
	* lib/nl_langinfo-lock.c (SHLIB_EXPORTED): Likewise.
	* lib/setlocale-lock.c (SHLIB_EXPORTED): Likewise.

2023-09-15  Bruno Haible  <bruno@clisp.org>

	acl-permissions: Fix compilation error on Solaris 11 (regr. 2023-09-04).
	* lib/set-permissions.c: Include minmax.h.
	* modules/acl-permissions (Depends-on): Add minmax.

2023-09-15  Bruno Haible  <bruno@clisp.org>

	readutmp: Fix crash when gdm is in use.
	Reported by Thorsten Kukuk <kukuk@suse.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-09/msg00093.html>.
	* lib/readutmp.c (read_utmp_from_systemd): Don't use the value returned
	by sd_session_get_display if it is NULL.

2023-09-14  Bruno Haible  <bruno@clisp.org>

	doc: Mention libucontext.
	* doc/pastposix-functions/getcontext.texi: Mention libucontext.
	* doc/pastposix-functions/makecontext.texi: Likewise.
	* doc/pastposix-functions/setcontext.texi: Likewise.
	* doc/pastposix-functions/swapcontext.texi: Likewise.

2023-09-13  Bruno Haible  <bruno@clisp.org>

	mbfile: Add tests.
	* tests/test-mbfile.sh: New file.
	* tests/test-mbfile.c: New file.
	* modules/mbfile-tests: New file.

	mbfile: Fix major bug (regression 2023-07-04).
	Reported by Gleb Fotengauer-Malinovskiy <glebfm@altlinux.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-09/msg00088.html>.
	* lib/mbfile.h (mbfile_multi_getc): If bytes != -1, -2, -3, add the
	previous mbf->bufcount to bytes.

2023-09-11  Pádraig Brady  <P@draigBrady.com>

	gnu-web-doc-update: fix updating of manual directory
	* build-aux/gnu-web-doc-update: Change to the 'manual' directory,
	since $tmp is a relative path.  This avoids removing files
	outside of the 'manual' directory.

2023-09-10  Bruno Haible  <bruno@clisp.org>

	Fix clang errors "different exception specifier" (regr. 2023-09-04).
	* lib/malloc.in.h (memalign): Don't use _GL_ATTRIBUTE_NOTHROW on
	platforms other than glibc systems.
	* lib/stdio.in.h (fdopen): Likewise.
	* lib/stdlib.in.h (aligned_alloc, calloc, canonicalize_file_name,
	malloc, realloc): Likewise.
	* lib/string.in.h (strdup, strndup): Likewise.
	* lib/sys_stat.in.h (getumask): Likewise.
	* lib/wchar.in.h (wcsdup): Likewise.

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

	propername: support GNULIB_MCEL_PREFER
	Support mcel API for apps that prefer it.
	The following changes are in effect only if GNULIB_MCEL_PREFER.
	* lib/propername.c: Include mcel.h, not mbchar.h and mbuiter.h.
	(mbsstr_trimmed_wordbounded): Use mcel API.
	* modules/propername (Depends-on): Add c32isalnum.

	trim: support GNULIB_MCEL_PREFER
	Support mcel API for apps that prefer it.
	The following changes are in effect only if GNULIB_MCEL_PREFER.
	* lib/trim.c: Include mcel.h, not mbchar.h and mbuiterf.h.
	(trim2): Use mcel API.
	* modules/trim (Depends-on): Add c32isspace.

	mbsstr: support GNULIB_MCEL_PREFER
	Support mcel API for apps that prefer it.
	* lib/mbsstr.c [GNULIB_MCEL_PREFER]: Include mcel.h not mbuiter.h.
	(mbchar_t, mb_equal) [GNULIB_MCEL_PREFER]: New type and function,
	to make it easier to use common code.
	(knuth_morris_pratt_multibyte): Don't assume mbchar_t's alignment
	is at least that of size_t.
	(knuth_morris_pratt_multibyte, mbsstr) [GNULIB_MCEL_PREFER]:
	Use mcel API.
	* modules/mbsstr (Depends-on): Add alignasof.

	mbslen: support GNULIB_MCEL_PREFER
	Support mcel API for apps that prefer it.
	The following changes are in effect only if GNULIB_MCEL_PREFER.
	* lib/mbslen.c: Include mcel.h instead of mbuiterf.h.
	(mbslen): Use mcel API.

	chown: work around symlink issues on odd platforms
	Problem reported by Jordi Sanfeliu in:
	https://lists.gnu.org/archive/html/bug-gnulib/2023-07/msg00116.html
	* lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
	Do not declare unused locals st, stat_valid.
	Redo to just call chown if arg is a symlink.
	This induces a race but is perhaps the best we can do easily
	on oddball platforms where chown does not follow symlinks.

2023-09-09  Bruno Haible  <bruno@clisp.org>

	chown, lchown: Revisit platforms.
	* doc/posix-functions/chown.texi: Update platforms list.
	* doc/posix-functions/lchown.texi: Likewise.
	* lib/chown.c (rpl_chown): Add platform comments.
	* lib/lchown.c: Likewise.

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

	mbscasecmp: support GNULIB_MCEL_PREFER
	* lib/mbscasecmp.c: Include stdlib.h, since we use MB_CUR_MAX.
	Include uchar.h, for c32tolower.
	(GNULIB_MCEL_PREFER): Include mcel.h instead of mbuiterf.h.
	(mbscasecmp) [GNULIB_MCEL_PREFER]: Use mcel instead of mbuiterf.
	* modules/mbscasecmp (Depends-on): Add c32tolower, stdlib, uchar.
	Depend on mbuiterf only if not preferring mcel.

	exclude: support GNULIB_MCEL_PREFER
	Support mcel API for apps that prefer it.
	The following changes are in effect only if GNULIB_MCEL_PREFER.
	* lib/exclude.c: Include mcel.h instead of mbuiter.h.
	(string_hasher_ci): Use mcel_scanz instead of mbui_init,
	mbui_avail, mbui_cur, and mbui_advance.
	* modules/exclude: Do not depend on mbuiter.

	mcel-prefer: new module
	* modules/mcel-prefer: New file.

	mcel-bench-tests: new module
	* modules/mcel-bench-tests, tests/bench-mcel.c: New files.
	* tests/bench-multibyte.h (TEXT_LATIN_ASCII_LINE1)
	(TEXT_FRENCH_UTF8_LINE1, TEXT_GREEK_UTF8_LINE1)
	(TEXT_CHINESE_UTF8_LINE1): New macros.
	(text_random_bytes): New constant.
	* tests/bench.h (timing_output): Mark with _GL_UNUSED,
	since bench-mcel.c does not use it.

	mcel-tests: new module
	* modules/mcel-tests, tests/test-mcel.c: New files

	mcel: new module
	* lib/mcel.c, lib/mcel.h, modules/mcel: New files.

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

	Don't use 'throw ()' in C++ 11 or newer.
	* lib/stddef.in.h (_GL_ATTRIBUTE_NOTHROW):  Provide fallback definition.
	(abort): Declare with _GL_ATTRIBUTE_NOTHROW instead of throw().
	* lib/malloc.in.h (rpl_free, free): Likewise.
	* lib/stdlib.in.h (free): Likewise.
	* lib/string.in.h (rpl_free, free, memchr, memrchr, rawmemchr,
	strchrnul, strpbrk, strstr, strcasestr): Likewise.
	* lib/wchar.in.h (rpl_free, free): Likewise.
	* lib/getopt-cdefs.in.h (__THROW): Define to noexcept(true) for C++ 11
	or newer.
	* lib/md5.h (__THROW): Likewise.

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

	Add info about recommended warning options with clang.
	* HACKING (Warning Options): Add info regarding clang.

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

	uchar: Fix references to overridden functions with GNULIB_NAMESPACE.
	* lib/uchar.in.h (btoc32, c32isalnum, c32isalpha, c32isblank,
	c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct,
	c32isspace, c32isupper, c32isxdigit, c32tolower, c32toupper, c32width,
	c32snrtombs, c32srtombs, c32swidth, c32tob, mbsnrtoc32s, mbsrtoc32s,
	c32_get_type_test, c32_apply_type_test, c32_get_mapping,
	c32_apply_mapping): Use GNULIB_NAMESPACE:: prefix to refer to the gnulib
	overridden function.
	* modules/uchar (Depends-on): Add wctype-h.
	(Makefile.am): Substitute GNULIB_BTOWC, GNULIB_ISWDIGIT,
	GNULIB_ISWXDIGIT, GNULIB_WCWIDTH, GNULIB_WCSNRTOMBS, GNULIB_WCSRTOMBS,
	GNULIB_WCSWIDTH, GNULIB_WCTOB, GNULIB_MBSNRTOWCS, GNULIB_MBSRTOWCS,
	GNULIB_WCTYPE, GNULIB_ISWCTYPE, GNULIB_WCTRANS, GNULIB_TOWCTRANS.

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

	tests: Fix some clang -Wimplicit-fallthrough warnings.
	* tests/test-execute-main.c (main): Add 'break' statement.
	* tests/test-sys_file.c (main): Likewise.

	unictype/category-none: Fix clang -Wpedantic warning.
	* lib/unictype/categ_none.c (_UC_CATEGORY_NONE): Use ISO C designated
	initializer syntax to initialize the intended field of the union.

	c-*snprintf: Fix some clang -Wmissing-prototypes warnings.
	* lib/c-snprintf.c: Include c-snprintf.h instead of <stdio.h>.
	* lib/c-vsnprintf.c: Include c-vsnprintf.h instead of <stdio.h>.
	* lib/c-vasnprintf.c: Include c-vasnprintf.h.

2023-09-06  Bruno Haible  <bruno@clisp.org>

	argp: Fix clang -Wextra-semi-stmt warning.
	* lib/argp-help.c (SKIPWS): Remove trailing semicolon.

2023-09-06  Bruno Haible  <bruno@clisp.org>

	doc: Refine documentation of MSVC support for shared libraries.
	* doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
	Recommend to define BUILDING_SHARED as an Autoconf variable. Recommend
	to test DLL_EXPORT.

2023-09-06  Bruno Haible  <bruno@clisp.org>

	doc: Fix syntax error (regression 2023-09-03).
	* doc/posix-headers/sys_stat.texi: Correct @itemize / @end itemize
	nesting.

2023-09-05  Bruno Haible  <bruno@clisp.org>

	relocatable-lib-lgpl: Don't export symbols from static MSVC .obj files.
	Reported by Dmitry Bely <dmitry.bely@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-08/msg00002.html>.
	* lib/relocatable.h (RELOCATABLE_DLL_EXPORTED): Don't use
	__declspec(dllexport) when creating static .obj files with MSVC.

2023-09-05  Bruno Haible  <bruno@clisp.org>

	unigbrk/u8-grapheme-{next,prev} tests: Fix gcc -Wformat warnings.
	* tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Use
	%tu, not %zu, to print a pointer difference.
	* tests/unigbrk/test-u16-grapheme-next.c (test_u16_grapheme_next):
	Likewise.
	* tests/unigbrk/test-u32-grapheme-next.c (test_u32_grapheme_next):
	Likewise.
	* tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
	Likewise.
	* tests/unigbrk/test-u16-grapheme-prev.c (test_u16_grapheme_prev):
	Likewise.
	* tests/unigbrk/test-u32-grapheme-prev.c (test_u32_grapheme_prev):
	Likewise.

2023-09-05  Bruno Haible  <bruno@clisp.org>

	stdint, *printf: Update doc about MSVC.
	* doc/posix-headers/stdint.texi: MSVC 14 has <stdint.h>.
	* doc/posix-functions/*printf.texi: Current mingw and MSVC 14 support
	the j, t, z size specifiers.
	* doc/glibc-functions/obstack_*printf.texi: Likewise.

2023-09-05  Bruno Haible  <bruno@clisp.org>

	tests: Ensure stderr output is displayed before abort().
	* tests/atomic-int-gnulib.h (init_atomic_int): Call fflush(stderr)
	before abort().
	* tests/atomic-int-isoc.h (init_atomic_int): Likewise.
	* tests/atomic-int-posix.h (init_atomic_int): Likewise.
	* tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
	Likewise.
	* tests/unigbrk/test-u16-grapheme-breaks.c (test_u16_grapheme_breaks):
	Likewise.
	* tests/unigbrk/test-u32-grapheme-breaks.c (test_u32_grapheme_breaks):
	Likewise.
	* tests/unigbrk/test-uc-grapheme-breaks.c (test_uc_grapheme_breaks):
	Likewise.
	* tests/unigbrk/test-ulc-grapheme-breaks.c (main): Likewise.
	* tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next):
	Likewise.
	* tests/unigbrk/test-u16-grapheme-next.c (test_u16_grapheme_next):
	Likewise.
	* tests/unigbrk/test-u32-grapheme-next.c (test_u32_grapheme_next):
	Likewise.
	* tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
	Likewise.
	* tests/unigbrk/test-u16-grapheme-prev.c (test_u16_grapheme_prev):
	Likewise.
	* tests/unigbrk/test-u32-grapheme-prev.c (test_u32_grapheme_prev):
	Likewise.

2023-09-05  Bruno Haible  <bruno@clisp.org>

	threads-h: Modernize configure test.
	* m4/threads_h.m4 (gl_THREADS_H): In the test program, put the
	'_Thread_local' storage class specifier before the type.

2023-09-05  Bruno Haible  <bruno@clisp.org>

	Add info about recommended warning options.
	* HACKING: New section "Warning Options".

2023-09-04  Bruno Haible  <bruno@clisp.org>

	string-buffer tests: Fix a compilation error (regression from today).
	* tests/test-string-buffer.c: Include <wchar.h>.

	unistr/u{8,16,32}-strtok tests: Fix -Wanalyzer-allocation-size warnings.
	* tests/unistr/test-u-strtok.h (test_u_strtok): Correct values of
	input_len and delim_len.

	sigpipe tests: Fix -Wanalyzer-unsafe-call-within-signal-handler warning.
	* tests/test-sigpipe.c (handler): Invoke _exit, not exit.
	* tests/test-raise.c (handler): Update comments after 2020-11-25 change.

	argp: Distinguish NULL and '\0' from 0.
	* lib/argp-pin.c: Include <stddef.h>.
	(program_invocation_short_name, program_invocation_name): Use NULL
	instead of 0.
	* lib/argp-parse.c (convert_options, __argp_parse, __argp_input):
	Likewise.
	* lib/argp-fmtstream.c (__argp_make_fmtstream): Likewise.
	* lib/argp-help.c (make_hol, hol_entry_first_long, hol_find_entry,
	hol_append, hol_entry_help, argp_doc, _help): Likewise.
	(hol_usage): Use '\0' instead of 0.

	argp: Fix gcc -Wanalyzer-use-of-uninitialized-value warning.
	* lib/argp-help.c (hol_find_entry): Access hol->entries only after
	having verified that hol->num_entries > 0.

	unictype/category-byname tests: Fix gcc -Wunused-value warning.
	* tests/unictype/test-categ_byname.c (main): Add some tests for category
	Nl.

	unigbrk/uc-grapheme-breaks tests: Fix gcc -Wunused-function warning.
	* tests/unigbrk/test-uc-grapheme-breaks.c
	(graphemebreakproperty_to_string): Mark as possibly unused.

	bitset, nonblocking-* tests: Fix gcc -Wunused-but-set-variable warnings.
	* tests/test-bitset.c (check_zero): Mark 'i' as possibly unused.
	* tests/test-nonblocking-reader.h (full_read): Mark 'spent_time' as
	possibly unused.

2023-09-04  Bruno Haible  <bruno@clisp.org>

	Use statement-expressions without warnings, even in strict ISO C mode.
	Suggested by Eric Blake <eblake@redhat.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-09/msg00025.html>.
	* lib/error.in.h (__gl_error_call): Use the variant with obvious control
	flow also with clang. Use '__extension__' to avoid -Wpedantic warnings.
	* lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Define as
	macros even when __STRICT_ANSI__ is defined. But use '__extension__' to
	avoid -Wpedantic warnings.
	* lib/setenv.c (KNOWN_VALUE): Use '__extension__' to avoid -Wpedantic
	warnings.
	* lib/xalloc-oversized.h (xalloc_oversized): Use optimized variant even
	when __STRICT_ANSI__ is defined. But use '__extension__' to avoid
	-Wpedantic warnings.

2023-09-04  Bruno Haible  <bruno@clisp.org>

	Fix some g++ warnings "has a different exception specifier".
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Make _GL_ATTRIBUTE_NOTHROW
	effective in C++ mode.
	* lib/attribute.h (ATTRIBUTE_NOTHROW): Add a comment.
	* lib/malloc.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition.
	(memalign): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW.
	* lib/stdio.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition.
	(fdopen): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW.
	* lib/stdlib.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition.
	(aligned_alloc, calloc, canonicalize_file_name, malloc, realloc): Invoke
	_GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW.
	* lib/string.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition.
	(strdup, strndup): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW.
	* lib/sys_stat.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback
	definition.
	(getumask): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW.
	* lib/wchar.in.h (_GL_ATTRIBUTE_NOTHROW): Provide fallback definition.
	(wcsdup): Invoke _GL_FUNCDECL_SYS with _GL_ATTRIBUTE_NOTHROW.

2023-09-04  Bruno Haible  <bruno@clisp.org>

	unistr/u{8,16,32}-strchr tests: Fix some gcc -Wshadow warnings.
	* tests/unistr/test-strchr.h (test_strchr): Reduce of scope of local
	variable 'i'.

	unistr/u{8,16,32}-chr tests: Fix some gcc -Wshadow warnings.
	* tests/unistr/test-chr.h (main): Reduce of scope of local variables
	'i' and 'page_boundary'.

	pipe-filter-gi, pipe-filter-ii tests: Fix some gcc -Wshadow warnings.
	* tests/test-pipe-filter-gi1.c (main): Rename local variable 'argv' to
	'tr_argv'.
	* tests/test-pipe-filter-ii1.c (main): Likewise.

	argv-iter tests: Avoid gcc -Wanalyzer-out-of-bounds warning.
	* tests/test-argv-iter.c (main): Simplify logic.

	crypto/{gc-rijndael,rijndael} tests: Fix some gcc -Wshadow warnings.
	* tests/test-gc-rijndael.c (main): Rename local variable 'i' to 'round'.
	* tests/test-rijndael.c (main): Likewise.

	threads-h tests: Fix gcc -Wold-style-declaration warning.
	* tests/test-thread_local.c (value0, value1, value2, value3): Put the
	'thread_local' storage class specifier before the type.

	ieee754-h tests: Fix some gcc -Wmissing-field-initializers warnings.
	* tests/test-ieee754-h.c (float_tests): Use float literals.
	(double_tests): Use double literals. Initialize frac_lo.

	string-buffer tests: Fix a gcc -Wformat warning.
	* tests/test-string-buffer.c: Don't assume that wint_t has the same size
	as 'int'.

	crypto/* tests: Fix some gcc -Wdiscarded-qualifiers warnings.
	* tests/test-gc-hmac-md5.c (main): Change type of variables with a
	string literal initializer to 'const char *'.
	* tests/test-gc-hmac-sha1.c (main): Likewise.
	* tests/test-gc-hmac-sha256.c (main): Likewise.
	* tests/test-gc-hmac-sha512.c (main): Likewise.
	* tests/test-gc-md2.c (main): Likewise.
	* tests/test-gc-md5.c (main): Likewise.
	* tests/test-gc-sha1.c (main): Likewise.
	* tests/test-gc-sha256.c (main): Likewise.
	* tests/test-gc-sha512.c (main): Likewise.
	* tests/test-hmac-md5.c (main): Likewise.
	* tests/test-hmac-sha1.c (main): Likewise.
	* tests/test-hmac-sha256.c (main): Likewise.
	* tests/test-hmac-sha512.c (main): Likewise.

	file-has-acl: Avoid gcc warning.
	* lib/acl-internal.h (MIN): Remove definition.

2023-09-03  Paul Eggert  <eggert@cs.ucla.edu>

	same-inode, stat-size: support pointers too
	Add functions and macros so that we can test pointers to struct
	stat as well as plain struct stat.  This lets coreutils deal with
	structs that are only partly initialized, without relying on
	undefined behavior.
	* NEWS: Mention this.
	* doc/posix-headers/sys_stat.texi, doc/stat-size.texi:
	Mention this and modernize.
	* lib/at-func2.c (at_func2):
	* lib/fts.c (same_fd):
	* lib/rename.c (rpl_rename) [RENAME_HARD_LINK_BUG]:
	* lib/same-inode.c: New file.
	* lib/same.c (same_nameat):
	* lib/term-style-control.c (activate_term_style_controller):
	Prefer psame_inode (a, b) to SAME_INODE (*a, *b).
	* lib/hash-triple-simple.c (triple_compare_ino_str):
	* lib/hash-triple.c (triple_compare):
	Prefer PSAME_INODE (a, b) to SAME_INODE (*a, *b).
	psame_inode is not suitable since the args are not struct stat *.
	* lib/same-inode.h: Check that config.h is included first.
	(SAME_INODE_INLINE, PSAME_INODE): New macros.
	(SAME_INODE): Reimplement in terms of PSAME_INODE.
	(psame_inode): New function.
	* lib/stat-size.h (STP_BLKSIZE, STP_NBLOCKS): New macros.
	(ST_BLKSIZE, ST_NBLOCKS): Use them.
	* lib/term-style-control.c (log_signal_handler_called):
	Always define as a function, to pacify -Wunused*.
	* modules/canonicalize-lgpl-tests (Files): Add m4/musl.m4.
	(Depends-on): Call gl_MUSL_LIBC.
	* modules/same-inode (Files): Add same-inode.c.
	(Depends-on): Add extern-inline, stdbool.
	(lib_SOURCES): New macro.
	* tests/test-binary-io.c, tests/test-canonicalize-lgpl.c:
	* tests/test-canonicalize.c, tests/test-cloexec.c:
	* tests/test-dup-safer.c, tests/test-dup2.c, tests/test-error.c:
	* tests/test-fcntl.c, tests/test-fdopendir.c, tests/test-fgetc.c:
	* tests/test-fputc.c, tests/test-fread.c, tests/test-fstat.c:
	* tests/test-fstatat.c, tests/test-ftruncate.c:
	* tests/test-fwrite.c, tests/test-getcwd.c:
	* tests/test-getdtablesize.c, tests/test-isblank.c:
	* tests/test-linkat.c, tests/test-lock.c, tests/test-lstat.h:
	* tests/test-malloc-gnu.c, tests/test-openat.c:
	* tests/test-pthread-thread.c, tests/test-pthread_sigmask1.c:
	* tests/test-pthread_sigmask2.c, tests/test-ptsname.c:
	* tests/test-ptsname_r.c, tests/test-raise.c:
	* tests/test-realloc-gnu.c, tests/test-rwlock1.c:
	* tests/test-sigprocmask.c, tests/test-snprintf.c:
	* tests/test-stat.h, tests/test-term-style-control-hello.c:
	* tests/test-term-style-control-yes.c, tests/test-thread_create.c:
	* tests/test-unlinkat.c, tests/test-vasnprintf.c:
	* tests/test-xalloc-die.c:
	Adjust to these changes, and fix some warnings elicited by
	-Wall -Wextra that I ran into while testing.
	* top/maint.mk (sc_prohibit_stat_st_blocks): Mention STP_NBLOCKS.

2023-09-02  Bruno Haible  <bruno@clisp.org>

	alignalloc: Fix license header.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-08/msg00170.html>.
	* lib/alignalloc.h: Make license header consistent with module
	description.
	* lib/alignalloc.c: Likewise.

2023-09-01  Bruno Haible  <bruno@clisp.org>

	crypto/{sha*,md5}-buffer: Add comment.
	* m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Add comment regarding license.

2023-09-01  Bruno Haible  <bruno@clisp.org>

	crypto/{sha*,md5,sm3}-buffer: Fix --with-openssl (regr. 2023-08-26).
	Reported by Agostino Sarubbo via Sam James <sam@gentoo.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-09/msg00000.html>.
	* lib/sha1.h: Test the OpenSSL major version before attempting to
	include <openssl/configuration.h>.
	* lib/sha256.h: Likewise.
	* lib/sha512.h: Likewise.
	* lib/md5.h: Likewise.
	* lib/sm3.h: Likewise.

2023-08-31  Bruno Haible  <bruno@clisp.org>

	readutmp: Fix memory leak introduced by last commit.
	* lib/readutmp.c (read_utmp_from_systemd): If num_sessions == 0 and
	sessions != NULL, do call free (sessions).

2023-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	readutmp: fix core dump if --enable-systemd
	Problem reported by Thorsten Kukuk <https://bugs.gnu.org/65617>.
	* lib/readutmp.c (read_utmp_from_systemd):
	Don’t assume session_ptr != NULL if num_sessions == 0.
	In practice it can be null, and the man page OKs this behavior.

2023-08-30  Bruno Haible  <bruno@clisp.org>

	doc: Mention the module 'wchar-single'.
	* doc/multithread.texi: Mention the module 'wchar-single'.

2023-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	wchar-single: fix module broken since 2021
	Adjust to 2021-03-07 change “Rename GNULIB_WCHAR_SINGLE to
	GNULIB_WCHAR_SINGLE_LOCALE”.  Apparently nobody noticed that
	the module was broken.  Perhaps we should obsolete the module?
	* modules/wchar-single (GNULIB_WCHAR_SINGLE_LOCALE): Define.

2023-08-29  Bruno Haible  <bruno@clisp.org>

	wctype: Rely on module iswpunct.
	* m4/wctype.m4 (gl_FUNC_WCTYPE): Also test whether the "punct" class
	works.
	* modules/wctype (Depends-on): Add iswpunct.
	* tests/test-iswctype.c (main): Add more tests of the "punct" class.
	* doc/posix-functions/wctype.texi: Mention the Android problem.

	c32ispunct: Rely on module iswpunct.
	* modules/c32ispunct (Depends-on): Add iswpunct.
	* tests/test-c32ispunct.c (main): Add a few more tests in the "C"
	locale.

	iswpunct: Add tests.
	* tests/test-iswpunct.c: New file, based on tests/test-iswdigit.c and
	tests/test-c32ispunct.c.
	* tests/test-iswpunct.sh: New file, based on tests/test-iswdigit.sh.
	* modules/iswpunct-tests: New file.

	iswpunct: New module.
	* lib/wctype.in.h (iswpunct): New declaration.
	* lib/iswpunct.c: New file.
	* m4/iswpunct.m4: New file.
	* m4/wctype_h.m4 (gl_WCTYPE_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_ISWPUNCT.
	(gl_WCTYPE_H_DEFAULTS): Initialize REPLACE_ISWPUNCT.
	* modules/wctype-h (Makefile.am): Substitute GNULIB_ISWPUNCT,
	REPLACE_ISWPUNCT.
	* modules/iswpunct: New file.
	* doc/posix-functions/iswpunct.texi: Mention the new module.

	wctype-h tests: Add more tests.
	* tests/test-wctype-h.c (main): Add a sanity check of iswpunct.

2023-08-29  Bruno Haible  <bruno@clisp.org>

	iswdigit, iswxdigit: Fix documentation.
	* doc/posix-functions/iswdigit.texi: Mention the module 'iswdigit'.
	* doc/posix-functions/iswxdigit.texi: Mention the module 'iswxdigit'.

2023-08-29  Bruno Haible  <bruno@clisp.org>

	wctype: Fix documentation (mistake 2023-07-26).
	* doc/posix-functions/wctype.texi: The "blank" argument problem on mingw
	is now worked around by Gnulib.

2023-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	trim: do not over-allocate result
	* lib/trim.c: Include mbuiterf.h, not mbiterf.h, since we no
	longer compute strlen at first.
	(trim2): Do not over-allocate result and then trim the parts we
	don’t want.  Instead, skip unwanted input before allocating,
	so that the result is just the right size.  Use mempcpy
	instead of memmove.  Simplify.
	* modules/trim (Depends-on): Remove mbiterf, memmove, strdup, xalloc.
	Add mbuiterf, mempcpy, xalloc-die.

2023-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	propername: tune single-byte code
	* lib/propername.c (mbsstr_trimmed_wordbounded): Cache MB_CUR_MAX.
	Simplify word boundary detection in single-byte code.

2023-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	Tune single-byte code involving tolower
	* lib/mbmemcasecmp.c (mbmemcasecmp):
	* lib/mbscasecmp.c (mbscasecmp):
	* lib/mbscasestr.c (mbscasestr):
	* lib/mbsncasecmp.c (mbsncasecmp):
	* lib/mbspcasecmp.c (mbspcasecmp):
	Avoid some unnecessary calls to tolower.  For example, if the two
	single-byte characters are equal before downcasing there is no
	need to call tolower on either character.

2023-08-26  Bruno Haible  <bruno@clisp.org>

	c32width tests: Avoid failure on FreeBSD 12.
	* tests/test-c32width.c (main): Skip two tests on FreeBSD < 13.

2023-08-26  Bruno Haible  <bruno@clisp.org>

	crypto/{sha*,md5,sm3}-buffer: Ignore too old OpenSSL versions.
	* lib/sha1.h: If <openssl/macros.h> would give a compile-time error,
	undefine HAVE_OPENSSL_SHA1.
	* lib/sha256.h: If <openssl/macros.h> would give a compile-time error,
	undefine HAVE_OPENSSL_SHA256.
	* lib/sha512.h: If <openssl/macros.h> would give a compile-time error,
	undefine HAVE_OPENSSL_SHA512.
	* lib/md5.h: If <openssl/macros.h> would give a compile-time error,
	undefine HAVE_OPENSSL_MD5.
	* lib/sm3.h: If <openssl/macros.h> would give a compile-time error,
	undefine HAVE_OPENSSL_SM3.

2023-08-26  Bruno Haible  <bruno@clisp.org>

	selinux-h: Add a comment.
	* lib/se-selinux.in.h: Clarify which #endif belongs to the
	double-inclusion guard.

2023-08-26  Bruno Haible  <bruno@clisp.org>

	sys_utsname: Make double-inclusion guard more robust.
	* lib/sys_utsname.in.h: Test the guard symbol a second time.

2023-08-26  Bruno Haible  <bruno@clisp.org>

	sys_times: Make double-inclusion guard more robust.
	* lib/sys_times.in.h: Test the guard symbol a second time.

2023-08-26  Bruno Haible  <bruno@clisp.org>

	uchar: Make #include_next work right.
	* lib/uchar.in.h: Use a split double-inclusion guard.

2023-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	utimens: update FIXME date
	* lib/utimens.c (fdutimens): Change FIXME date to agree with
	similar FIXME in utimensat.c.

2023-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	exclude: refactor for more-modern style
	* lib/exclude.c: Sort include directives.
	(fnmatch_pattern_has_wildcards, file_name_matches):
	Prefer ‘true’ to ‘1’.
	(string_hasher, string_compare, string_compare_ci):
	Avoid unnecessary locals.
	(string_free): Remove.  All callers changed to just use ‘free’.
	(new_exclude_segment): Prefer xmalloc to xzalloc when it’s
	clearer to initialize ourselves.
	(new_exclude_segment, exclude_patopts, add_exclude_fp):
	Prefer nullptr to NULL.
	(free_exclude_segment, file_pattern_matches):
	Avoid unnecessary nesting.
	(free_exclude, fnmatch_no_wildcards, exclude_fnmatch)
	(excluded_file_name, add_exclude, add_exclude_fp):
	Assume C99 decl syntax.
	(fnmatch_no_wildcards): Prefer idx_t to size_t.
	(exclude_fnmatch, add_exclude_fp): Prefer ‘f (x)’ to ‘(*f) (x)’.
	(add_exclude): Help compiler by refactoring search for
	trailing slashes.  Avoid unnecessary cast to char *.
	* modules/exclude (Depends-on): Add nullptr.

2023-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	unlocked-io: fix getc_unlocked typo
	* lib/unlocked-io.h (getc): Fix misspelling of ‘getc_unlocked’.

2023-08-21  Bruno Haible  <bruno@clisp.org>

	alignasof, stdalign: Fix a compilation error in C++ mode on FreeBSD 12.
	* m4/stdalign.m4 (gl_ALIGNASOF): In C++ mode, prefer __builtin_offsetof
	over offsetof when possible, since __builtin_offsetof works also when
	<stddef.h> has not been fully included yet.

2023-08-21  Bruno Haible  <bruno@clisp.org>

	wcsstr: Relicense under LGPLv2+.
	* modules/wcsstr (License): Change to LGPLv2+.

	wcsstr-simple: Relicense under LGPLv2+.
	* modules/wcsstr-simple (License): Change to LGPLv2+.
	* lib/wcsstr.c: Update license notice.
	* lib/wcsstr-impl.h: Update license notice. The code added here on
	2023-03-27 was under LGPLv2+.

	wmemcmp: Relicense under LGPLv2+.
	* modules/wmemcmp (License): Change to LGPLv2+.
	* lib/wmemcmp.c: Update license notice.
	* lib/wmemcmp-impl.h: Likewise.

	wcschr: Relicense under LGPLv2+.
	* modules/wcschr (License): Change to LGPLv2+.
	* lib/wcschr.c: Update license notice.
	* lib/wcschr-impl.h: Likewise.

2023-08-21  Bruno Haible  <bruno@clisp.org>

	unistr/u32-strlen: Complete license change from 2023-07-23.
	* lib/unistr/u-strlen.h: Update license notice.

2023-08-21  Bruno Haible  <bruno@clisp.org>

	isnanl: Relicense under LGPLv2+.
	* modules/isnanl (License): Change to LGPLv2+.

2023-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	ldexp: port to non-two’s complement
	* lib/ldexp.c (FUNC): Don’t assume two’s-complement.

2023-08-20  Bruno Haible  <bruno@clisp.org>

	readutmp, boot-time: Fix the result on runit and s6 init systems.
	* lib/boot-time-aux.h (get_linux_boot_time_fallback): Try also
	/var/lib/urandom/random-seed. Try /var/run/utmp last.

2023-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	ldexp: fix INT_MIN infloop
	* lib/ldexp.c (FUNC): Instead of converting EXP to unsigned,
	work on it directly.  This simplifies the code and avoids
	an infinite loop when EXP == INT_MIN.
	* modules/ldexp, modules/ldexpl: Depend on stdbool.
	* tests/test-ldexp.h: Include <limits.h> for INT_MIN.
	(test_function): Test for infloop.

2023-08-20  Bruno Haible  <bruno@clisp.org>

	ldexp: Fix compilation error in C++ mode.
	* lib/math.in.h (ldexp): Use _GL_CXXALIASWARN1, not _GL_CXXALIASWARN.

2023-08-19  Bruno Haible  <bruno@clisp.org>

	ldexp: Work around OpenBSD/mips64 bug.
	* lib/math.in.h (ldexp): New declaration.
	* lib/ldexp.c: New file, based on lib/ldexpl.c.
	* lib/ldexpl.c: Moved the implementation to lib/ldexp.c. Just include
	it.
	* m4/math_h.m4 (gl_MATH_H_REQUIRE_DEFAULTS): Initialize GNULIB_LDEXP.
	(gl_MATH_H_DEFAULTS): Initialize REPLACE_LDEXP.
	* m4/ldexp.m4 (gl_FUNC_LDEXP): Require gl_MATH_H_DEFAULTS and
	gl_FUNC_ISNAND. Invoke gl_FUNC_LDEXP_WORKS. Set REPLACE_LDEXP. Consider
	it when setting LDEXP_LIBM.
	(gl_FUNC_LDEXP_WORKS): New macro.
	* modules/math (Makefile.am): Substitute GNULIB_LDEXP, REPLACE_LDEXP.
	* modules/ldexp (Files): Add lib/ldexp.c.
	(Depends-on): Add math, isnand.
	(configure.ac): Set GL_COND_OBJ_LDEXP. Invoke gl_MATH_MODULE_INDICATOR.
	(Makefile.am): Conditionally compile ldexp.c.
	* modules/ldexpl (Files): Add lib/ldexp.c.
	* doc/posix-functions/ldexp.texi: Mention the OpenBSD bug.

2023-08-19  Bruno Haible  <bruno@clisp.org>

	ldexpl: Relicense under LGPLv2+.
	* modules/ldexpl (License): Change to LGPLv2+.
	* lib/ldexpl.c: Update license notice.

2023-08-19  Bruno Haible  <bruno@clisp.org>

	isnand: Relicense under LGPLv2+.
	* modules/isnand (License): Change to LGPLv2+.

2023-08-19  Bruno Haible  <bruno@clisp.org>

	ldexpl: Avoid possible -Wshadow warning.
	* lib/ldexpl.c (exp): Locally rename to 'exponent'.

	ldexpl: Fix signed integer overflow.
	* lib/ldexpl.c (ldexpl): Use an 'unsigned int' variable to represent the
	absolute value of exp without overflow.

2023-08-19  Bruno Haible  <bruno@clisp.org>

	logbl: Work around endless loop on OpenBSD 7.3/mips64.
	* m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Terminate the test program if it
	takes longer than 5 seconds.
	* doc/posix-functions/logbl.texi: Mention the OpenBSD bug.

2023-08-18  Bruno Haible  <bruno@clisp.org>

	thrd: Work around thrd_join bug on AIX 7.3.1.
	* m4/threads_h.m4 (gl_THREADS_H): Test against AIX 7 thrd_join bug. Set
	BROKEN_THRD_JOIN.
	(gl_THREADS_H_DEFAULTS): Initialize BROKEN_THRD_JOIN.
	* m4/thrd.m4 (gl_FUNC_THRD_JOIN): Set REPLACE_THRD_* to 1 also if
	BROKEN_THRD_JOIN is 1. Define BROKEN_THRD_START_T_OR_JOIN instead of
	BROKEN_THRD_START_T.
	* modules/threads-h (Makefile.am): Substitute BROKEN_THRD_JOIN.
	* lib/threads.in.h (rpl_thrd_t, thrd_t): Define also if BROKEN_THRD_JOIN
	is 1.
	* lib/thrd.c: Test BROKEN_THRD_START_T_OR_JOIN instead of
	BROKEN_THRD_START_T.
	* doc/posix-functions/thrd_join.texi: Update.
	* doc/posix-functions/thrd_exit.texi: Likewise.

	thrd: Refactor.
	* m4/thrd.m4 (gl_FUNC_THRD_JOIN): Define BROKEN_THRD_JOIN_NULL, not
	BROKEN_THRD_JOIN. Rename gl_cv_func_thrd_join_works to
	gl_cv_func_thrd_join_null_works.
	* lib/thrd.c: Test BROKEN_THRD_JOIN_NULL instead of BROKEN_THRD_JOIN.

2023-08-18  Bruno Haible  <bruno@clisp.org>

	thrd tests: Add unit test for thrd_exit.
	* tests/test-thrd_exit.c: New file, based on tests/test-thrd_create.c.
	* modules/thrd-tests (Files): Add it.
	(Makefile.am): Compile and run it.

	thrd: On AIX 7.1 and 7.2, override also thrd_exit.
	* lib/threads.in.h (thrd_exit): Consider REPLACE_THRD_EXIT.
	* lib/thrd.c (rpl_thrd_exit): New function.
	* m4/threads_h.m4 (gl_THREADS_H_DEFAULTS): Initialize REPLACE_THRD_EXIT.
	* m4/thrd.m4 (gl_FUNC_THRD_JOIN): Set also REPLACE_THRD_EXIT and adjust
	LIBSTDTHREAD.
	* modules/threads-h (Makefile.am): Substitute REPLACE_THRD_EXIT.
	* doc/posix-functions/thrd_exit.texi: Mention the AIX thrd_join problem
	also here.

2023-08-18  Bruno Haible  <bruno@clisp.org>

	aligned_alloc: Fix test failure on AIX 7.3 with ibm-clang.
	* m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Use 'volatile', to
	disable optimization of ibm-clang -O2.
	* doc/posix-functions/aligned_alloc.texi: Update version info.

2023-08-18  Bruno Haible  <bruno@clisp.org>

	sys_socket: Fix compilation errors in C++ mode on AIX 7.3 with gcc.
	* lib/sys_socket.in.h (accept, getpeername, getsockname, recvfrom):
	Disable _GL_CXXALIASWARN invocation on non-glibc systems.

2023-08-18  Bruno Haible  <bruno@clisp.org>

	stddef: Don't unnecessarily override max_align_t on AIX 7.3 with gcc.
	* lib/stddef.in.h (max_align_t, GNULIB_defined_max_align_t): Don't
	define or override if HAVE_MAX_ALIGN_T is 1.

2023-08-18  Bruno Haible  <bruno@clisp.org>

	uptime: Deprecate.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-coreutils/2023-08/msg00070.html>.
	* modules/uptime (Status, Notice): New sections.

2023-08-17  Bruno Haible  <bruno@clisp.org>

	Recognize the *-*-windows* config triplets introduced on 2023-06-26.
	* m4/*.m4: Treat windows* as equivalent to mingw*.
	* modules/*: Likewise.

2023-08-16  Bruno Haible  <bruno@clisp.org>

	mbrtoc32-regular: Make it work as expected on glibc 2.12.
	* lib/mbrtoc32.c (mbrtoc32): If necessary, clear the mbstate_t after
	mbrtowc() returned.

2023-08-16  Bruno Haible  <bruno@clisp.org>

	fnmatch: Override fnmatch from glibc versions < 2.22.
	* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Force REPLACE_FNMATCH=1 in
	glibc versions < 2.22.

2023-08-16  Bruno Haible  <bruno@clisp.org>

	tests: Avoid some test failures on Slackware 13.37.
	* tests/test-c32isalnum.c (main): Disable GB18030 tests on
	glibc 2.13..2.15.
	* tests/test-c32isalpha.c (main): Likewise.
	* tests/test-c32isblank.c (main): Likewise.
	* tests/test-c32iscntrl.c (main): Likewise.
	* tests/test-c32isdigit.c (main): Likewise.
	* tests/test-c32isgraph.c (main): Likewise.
	* tests/test-c32islower.c (main): Likewise.
	* tests/test-c32isprint.c (main): Likewise.
	* tests/test-c32ispunct.c (main): Likewise.
	* tests/test-c32isspace.c (main): Likewise.
	* tests/test-c32isupper.c (main): Likewise.
	* tests/test-c32isxdigit.c (main): Likewise.
	* tests/test-c32rtomb.c (main): Likewise.
	* tests/test-c32snrtombs.c (main): Likewise.
	* tests/test-c32srtombs.c (main): Likewise.
	* tests/test-c32stombs.c (main): Likewise.
	* tests/test-c32tolower.c (main): Likewise.
	* tests/test-c32toupper.c (main): Likewise.
	* tests/test-fnmatch.c (main): Likewise.
	* tests/test-mbrtoc16.c (main): Likewise.
	* tests/test-mbrtoc32.c (main): Likewise.
	* tests/test-mbsnrtoc32s.c (main): Likewise.
	* tests/test-mbsrtoc32s.c (main): Likewise.
	* tests/test-mbstoc32s.c (main): Likewise.

2023-08-15  Bruno Haible  <bruno@clisp.org>

	readutmp tests: Add test against today's bug.
	* tests/test-readutmp.c (main): Verify that there is exactly one
	BOOT_TIME entry.

	readutmp: Fix for platforms without ut_type (regression 2023-08-08).
	* lib/readutmp.h (UT_TYPE_BOOT_TIME, UT_TYPE_USER_PROCESS): Don't use
	UT_TYPE_EQ macro.
	(IS_USER_PROCESS): Don't use UT_USER, UT_TYPE_NOT_DEFINED macros.
	* lib/readutmp.c (IS_USER_PROCESS): Don't override.

2023-08-14  Bruno Haible  <bruno@clisp.org>

	readutmp, boot-time: Don't use __UT_* symbols (regression 2023-08-11).
	* lib/readutmp.h (_GL_UT_USER_SIZE, _GL_UT_ID_SIZE, _GL_UT_LINE_SIZE,
	_GL_UT_HOST_SIZE): New macros.
	(struct utmpx32): Use them.

2023-08-14  Bruno Haible  <bruno@clisp.org>

	readutmp, boot-time: Fix build on 32-bit glibc (regression 2023-08-11).
	Reported by Andreas Schwab <schwab@suse.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-08/msg00125.html>.
	* lib/readutmp.h (struct utmpx32): Reference __UT_NAMESIZE, not
	__UT_USERSIZE.

2023-08-13  Bruno Haible  <bruno@clisp.org>

	stdint: Fix configure test result with gcc 4.7 or 4.8.
	* m4/stdint.m4 (gl_STDINT_H): Don't assume that _Generic works with
	GCC versions < 4.9 with -std=gnu11.

2023-08-13  Bruno Haible  <bruno@clisp.org>

	Fix some test module descriptions.
	* modules/boot-time-tests (Files): Add tests/macros.h.
	* modules/dprintf-gnu-tests (Files): Likewise.
	* modules/fclose-tests (Files): Likewise.
	* modules/getcwd-tests (Files): Likewise.
	* modules/lock-tests (Files): Likewise.
	* modules/nullptr-c++-tests (Files): Likewise.
	* modules/posix_spawn-tests (Files): Likewise.
	* modules/posix_spawnp-tests (Files): Likewise.
	* modules/readutmp-tests (Files): Likewise.
	* modules/sh-quote-tests (Files): Likewise.
	* modules/unigbrk/u16-grapheme-breaks-tests (Files): Likewise.
	* modules/unigbrk/u16-grapheme-next-tests (Files): Likewise.
	* modules/unigbrk/u16-grapheme-prev-tests (Files): Likewise.
	* modules/unigbrk/u32-grapheme-breaks-tests (Files): Likewise.
	* modules/unigbrk/u32-grapheme-next-tests (Files): Likewise.
	* modules/unigbrk/u32-grapheme-prev-tests (Files): Likewise.
	* modules/unigbrk/u8-grapheme-breaks-tests (Files): Likewise.
	* modules/unigbrk/u8-grapheme-next-tests (Files): Likewise.
	* modules/unigbrk/u8-grapheme-prev-tests (Files): Likewise.
	* modules/unigbrk/uc-grapheme-breaks-tests (Files): Likewise.

2023-08-13  Bruno Haible  <bruno@clisp.org>

	nproc, physmem: Use sysctl() as a fallback on GNU/kFreeBSD.
	* lib/nproc.c: Do include <sys/sysctl.h> on GNU/kFreeBSD.
	(num_processors_ignoring_omp): Call sysctl on GNU/kFreeBSD.
	* lib/physmem.c: Do include <sys/sysctl.h> on GNU/kFreeBSD.
	(physmem_total, physmem_available): Call sysctl on GNU/kFreeBSD.

2023-08-13  Bruno Haible  <bruno@clisp.org>

	physmem: Add tests.
	* tests/test-physmem.c: New file.
	* modules/physmem-tests: New file.

2023-08-13  Bruno Haible  <bruno@clisp.org>

	readutmp, boot-time: Fix warning on glibc 2.30..2.31 on Linux.
	Reported by Pádraig Brady in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-08/msg00110.html>.
	* lib/readutmp.c: Don't include <sys/sysctl.h> on glibc/Linux.
	* lib/boot-time.c: Likewise.

2023-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	fts: improve memory-allocation errno handling
	* lib/fts.c (fts_read, fts_build): When enter_dir or setup_dir
	fails, report its errno value back to the user.
	(internal_function): Preserve errno.
	* modules/fts (Depends-on): Add calloc-posix, free-posix,
	malloc-posix, and realloc-posix, for better errno handling
	on allocation failures.

	hash: set errno on failure
	* lib/hash.c: Include errno.h.
	(compute_bucket_size, hash_initialize, hash_rehash)
	(hash_insert_if_absent): Set errno reliably on failure.
	(hash_free): Preserve errno, like plain 'free'.
	* modules/hash (Depends-on): Depend on calloc-posix,
	free-posix, malloc-posix, so that errno is set reliably.

2023-08-13  Bruno Haible  <bruno@clisp.org>

	readutmp, boot-time: Fix compilation error on old Android.
	Reported by Po Lu in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-08/msg00108.html>.
	* lib/readutmp.h (BOOT_TIME): Add fallback.

2023-08-13  Bruno Haible  <bruno@clisp.org>

	readutmp, boot-time: Fix compilation error on Android API 8.
	Reported by Po Lu in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-08/msg00108.html>.
	* m4/readutmp.m4 (gl_PREREQ_READUTMP_H): Test whether sysinfo is
	declared.
	* lib/boot-time-aux.h (get_linux_uptime): Invoke sysinfo only if it is
	declared.
	* doc/glibc-functions/sysinfo.texi: Mention the Android problem.

2023-08-13  Bruno Haible  <bruno@clisp.org>

	readutmp, boot-time: Fix compilation error on old Android.
	Reported by Po Lu in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-08/msg00108.html>.
	* lib/readutmp.c (endutent): New fallback declaration, for Android.
	(getutent): Remove Ultrix workaround from 2000-04-05.
	* lib/boot-time.c: Likewise.
	* m4/readutmp.m4 (gl_PREREQ_READUTMP_H): Test whether endutent is
	declared, not getutent.
	* doc/glibc-functions/endutent.texi: Mention the Android bug.

2023-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	boot-time,readutmp: do not depend on c-strtod
	* lib/boot-time-aux.h (get_linux_uptime): Compute struct timespec
	using integer arithmetic rather than double.
	* lib/boot-time.c, lib/readutmp.c: Don’t include c-strtod.h.
	* modules/boot-time, modules/readutmp (Depends-on): Remove c-strtod.

	boot-time,readutmp: remove -lrt usage
	This code uses clock-relevant functions only on platforms
	that do not need -lrt.
	* m4/readutmp.m4 (gl_READUTMP): Do not require gl_CLOCK_TIME
	or add CLOCK_TIME_LIB to READUTMP_LIB.
	* modules/boot-time (Link): No need to link with CLOCK_TIME_LIB.

	boot-time,readutmp: do not depend on fopen-gnu
	These modules should work well enough even if fopen is not fixed
	to conform to fopen-gnu standards.  The only gotcha I can see is
	older fopen implementations that lack support for "e", and
	a potential O_CLOEXEC leak is not worth worrying about.
	* modules/boot-time (Depends-on):
	* modules/readutmp (Depends-on):
	Remove fopen-gnu.

	readutmp: do not depend on timespec_get
	boot-time code no longer needs it.
	* modules/readutmp (Depends-on): Remove timespec_get.

	boot-time: do not depend on timespec_get
	This is for Emacs, which does not use timespec_get now
	and which likes to minimize dependencies.
	Also, treat musl libc like recent glibc,
	and fix a timespec_get return value typo.
	* lib/boot-time-aux.h (get_linux_uptime):
	Assume musl libc supports CLOCK_BOOTTIME.
	(get_linux_boot_time_final_fallback):
	Likewise for musl libc and CLOCK_REALTIME.
	Do not rely on the timespec_get module, to break the dependency.
	Consider 0 to be a failure return from timespec_get.
	Fall back on gettimeofday if timespec_get does not exist.
	* modules/boot-time (Depends-on): Remove timespec_get.

2023-08-12  Bruno Haible  <bruno@clisp.org>

	readutmp, boot-time: Fix parsing of /proc/uptime.
	* lib/boot-time-aux.h (get_linux_uptime): Use c_strtod, not strtod.
	* lib/readutmp.c: Include c-strtod.h.
	* lib/boot-time.c: Likewise.
	* modules/readutmp (Depends-on): Add c-strtod.
	* modules/boot-time (Depends-on): Likewise.

2023-08-12  Bruno Haible  <bruno@clisp.org>

	readutmp: On Linux, don't fail if /var/run/utmp is not accessible.
	* lib/boot-time-aux.h (get_linux_boot_time_final_fallback): Don't test
	NEED_BOOT_TIME_FINAL_FALLBACK.
	* lib/boot-time.c (NEED_BOOT_TIME_FINAL_FALLBACK): Remove macro.
	* lib/readutmp.c (NEED_BOOT_TIME_FINAL_FALLBACK): Remove macro.
	(read_utmp_from_file): As a fallback on Linux, invoke
	get_linux_boot_time_final_fallback.
	(get_boot_time_uncached): Don't do it here.
	* m4/readutmp.m4 (gl_READUTMP): Add $CLOCK_TIME_LIB to READUTMP_LIB.

2023-08-12  Bruno Haible  <bruno@clisp.org>

	readutmp, boot-time: On Haiku, return the boot time.
	* m4/readutmp.m4 (gl_PREREQ_READUTMP_H): Test whether <OS.h> exists.
	* lib/boot-time-aux.h (get_haiku_boot_time,
	get_haiku_boot_time_final_fallback): New functions.
	* lib/readutmp.c: Include <OS.h>.
	(read_utmp_from_file): If opening UTMP_FILE fails, continue processing
	instead of failing. Invoke get_haiku_boot_time and
	get_haiku_boot_time_final_fallback.
	* lib/boot-time.c: Include <OS.h>.
	(get_boot_time_uncached): Invoke get_haiku_boot_time and
	get_haiku_boot_time_final_fallback.

2023-08-12  Bruno Haible  <bruno@clisp.org>

	readutmp: Reduce code duplication.
	* lib/readutmp.c (have_boot_time): New function.
	(read_utmp_from_file): Invoke it, instead of duplicating the same loop.

2023-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	c-file-type: new module
	* lib/c-file-type.c: New file, containing all of the
	old file-type except for the gettext call.
	* lib/file-type.c (_): Remove; no longer used.
	(file_type): Call c_file_type for most of the work.
	* modules/c-file-type: New module.
	* modules/file-type (Depends-on): Add c-file-type.

2023-08-12  Bruno Haible  <bruno@clisp.org>

	readutmp, boot-time: Use the BSD sysctl as fallback.
	* m4/readutmp.m4 (gl_PREREQ_READUTMP_H): Test for <sys/param.h>,
	<sys/sysctl.h>, sysctl.
	* lib/boot-time-aux.h (get_bsd_boot_time_final_fallback): New function.
	* lib/readutmp.c: Include <sys/param.h> and <sys/sysctl.h>.
	(read_utmp_from_file): Invoke get_bsd_boot_time_final_fallback as a
	fallback.
	* lib/boot-time.c: Include <sys/param.h> and <sys/sysctl.h>.
	(get_boot_time_uncached): Invoke get_bsd_boot_time_final_fallback as a
	fallback.

2023-08-12  Bruno Haible  <bruno@clisp.org>

	readutmp: Fix compilation error on OpenBSD (regression 2023-08-11).
	* lib/readutmp.c (read_utmp_from_file): Remove extraneous 'break'
	statement.

2023-08-11  Bruno Haible  <bruno@clisp.org>

	boot-time: Add comment about multithread-safety.
	* lib/boot-time.h (get_boot_time): Add comment, same as in readutmp.h.

2023-08-11  Bruno Haible  <bruno@clisp.org>

	boot-time: Simplify execution.
	* lib/boot-time.c: Include <stdio.h>, <string.h>, <sys/types.h>,
	<sys/stat.h>, <sys/sysinfo.h>, <time.h>, stat-time.h, unlocked-io.h,
	boot-time-aux.h.
	(UT_USER): New macro, from lib/readutmp.c.
	(getutent): New declaration.
	(get_boot_time_uncached): New function, containing a simplified code
	from lib/readutmp.c.
	(get_boot_time): Don't invoke read_utmp. Instead, invoke
	get_boot_time_uncached and cache the result.
	* modules/boot-time (Files): Add lib/boot-time-aux.h, lib/readutmp.h,
	m4/readutmp.m4.
	(Depends-on): Remove readutmp. Add extensions, fopen-gnu, stat-time,
	stdbool, time-h, timespec_get, unlocked-io-internal.
	(configure.ac): Invoke gl_PREREQ_READUTMP_H.
	(Link): Remove $(READUTMP_LIB). Add $(CLOCK_TIME_LIB).
	* modules/boot-time-tests (Makefile.am): Link test-boot-time with
	$(CLOCK_TIME_LIB), not with $(READUTMP_LIB).

2023-08-11  Bruno Haible  <bruno@clisp.org>

	readutmp: Refactor boot time determination code.
	* lib/boot-time-aux.h: New file, extracted from lib/readutmp.c.
	* lib/readutmp.c: On Linux, include <sys/sysinfo.h> even if
	!READUTMP_USE_SYSTEMD.
	Include boot-time-aux.h.
	(SIZEOF): Remove macro, moved to boot-time-aux.h.
	(get_linux_uptime): Remove function, moved to boot-time-aux.h.
	(read_utmp_from_file): Invoke get_linux_boot_time_fallback,
	get_android_boot_time, get_openbsd_boot_time, get_windows_boot_time.
	Code moved to boot-time-aux.h.
	(get_boot_time_uncached: Invoke get_linux_boot_time_final_fallback.
	Code moved to boot-time-aux.h.
	* m4/readutmp.m4 (gl_PREREQ_READUTMP_H): New macro, extracted from
	gl_READUTMP.
	(gl_READUTMP): Invoke it.
	* modules/readutmp (Files): Add lib/boot-time-aux.h.

2023-08-11  Bruno Haible  <bruno@clisp.org>

	readutmp: Make 'struct utmpx32' usable by other code.
	* lib/readutmp.h (struct utmpx32): Moved to here from lib/readutmp.c.
	(UTMP_STRUCT_NAME): Define as utmpx32 if needed.
	* lib/readutmp.c (read_utmp_from_file): Simply use UTMP_STRUCT_NAME.

2023-08-11  Bruno Haible  <bruno@clisp.org>

	readutmp tests: Fix link error.
	* modules/readutmp-tests (Makefile.am): Link test-readutmp with
	$(LIBINTL).

2023-08-11  Bruno Haible  <bruno@clisp.org>

	readutmp: Fix the boot time returned on Minix.
	* lib/readutmp.c (read_utmp_from_file): [__minix] When the time of the
	BOOT_TIME entry is very close to the Epoch, replace it with the time
	from the "run-level m" entry.

2023-08-11  Bruno Haible  <bruno@clisp.org>

	readutmp: On Cygwin and Windows, return the boot time.
	* lib/readutmp.h (READ_UTMP_SUPPORTED): Define also on native Windows.
	* lib/readutmp.c (desirable_utmp_entry): Ignore READ_UTMP_CHECK_PIDS on
	Windows.
	(read_utmp_from_file): Add a BOOT_TIME entry on Windows.

2023-08-11  Bruno Haible  <bruno@clisp.org>

	clock-time: On mingw, avoid buggy clock_gettime from libwinpthread.
	* m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_CANONICAL_HOST. On
	native Windows, avoid using clock_getres clock_gettime clock_settime
	from mingw's libwinpthread.
	* doc/posix-functions/clock_gettime.texi: Mention the mingw bug.

2023-08-10  Bruno Haible  <bruno@clisp.org>

	readutmp: Make the header file includable from C++.
	* lib/readutmp.h: Add extern "C" block.

2023-08-10  Bruno Haible  <bruno@clisp.org>

	readutmp: Tweak the Android specific addition.
	* lib/readutmp.c (read_utmp_from_file) [__ANDROID__]: Don't fake a
	BOOT_TIME entry if the options request to omit it or if a BOOT_TIME
	entry is already present.

2023-08-10  Bruno Haible  <bruno@clisp.org>

	readutmp: Fix the boot time returned on Raspbian.
	* lib/readutmp.c (read_utmp_from_file): When the time of the BOOT_TIME
	entry is very close to the Epoch, replace it with the time from the
	"runlevel"/"~" entry.

2023-08-10  Bruno Haible  <bruno@clisp.org>

	boot-time: Add tests.
	* tests/test-boot-time.c: New file.
	* modules/boot-time-tests: New file.

	boot-time: New module.
	* lib/boot-time.h: New file.
	* lib/boot-time.c: New file.
	* modules/boot-time: New file.

2023-08-10  Bruno Haible  <bruno@clisp.org>

	readutmp: Return a boot time also on Android.
	* lib/readutmp.c (get_linux_uptime): New function, extracted from
	get_boot_time_uncached.
	(read_utmp_from_file): Don't look for file time stamps on Android.
	Instead, use get_linux_uptime.
	(get_boot_time_uncached): Use get_linux_uptime.

2023-08-09  Bruno Haible  <bruno@clisp.org>

	readutmp: Fix a mistake (regression 2023-08-08).
	* lib/readutmp.c (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED): Fix a typo.

	readutmp: Return a boot time also on OpenBSD.
	* lib/readutmp.h (BOOT_TIME, USER_PROCESS): Provide fallback
	definitions.
	* lib/readutmp.c (read_utmp_from_file) [__OpenBSD__]: Fake a BOOT_TIME
	entry by looking at the time stamp of a specific file.

	readutmp: Return a boot time also on Alpine Linux.
	* lib/readutmp.c: Include stat-time.h.
	(SIZEOF): New macro.
	(read_utmp_from_file) [__linux__]: Fake a BOOT_TIME entry by looking
	at the time stamp of a specific file.
	* modules/readutmp (Depends-on): Add stat-time.

	readutmp: Fix boot time in VMs after sleep state and date update.
	* lib/readutmp.c (read_utmp_from_file): New function, extracted from
	read_utmp.
	(get_boot_time_uncached): Before all other approaches, try to find the
	boot time in the /var/run/utmp file.
	(read_utmp): Invoke read_utmp_from_file.

	readutmp: Make it easier to filter for/against the boot-time entry.
	* lib/readutmp.h (READ_UTMP_BOOT_TIME, READ_UTMP_NO_BOOT_TIME): New
	enum items.
	* lib/readutmp.c (desirable_utmp_entry, read_utmp_from_systemd):
	Implement them.
	(read_utmp): If no entries can match the given options, return
	immediately.

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

	readutmp: omit pragma
	* lib/readutmp.c: Omit -Wstringop-overread pragma.
	It’s no longer needed now that extract_trimmed_name
	no longer calls strnlen.

2023-08-08  Bruno Haible  <bruno@clisp.org>

	readutmp: Use classical implementation for files != /var/run/utmp.
	* lib/readutmp.c (read_utmp_from_systemd): Renamed from read_utmp
	[READUTMP_USE_SYSTEMD]. Remove file argument.
	(read_utmp): Call it when the file argument is "/var/run/utmp".

2023-08-08  Bruno Haible  <bruno@clisp.org>

	readutmp: Get the boot time with higher precision.
	Suggested by Thorsten Kukuk <kukuk@suse.com> in
	<https://github.com/thkukuk/utmpx/blob/main/utmp-to-logind.md#determine-boot-time>.
	* lib/readutmp.c (get_boot_time_uncached): Try clock_gettime first.

2023-08-08  Bruno Haible  <bruno@clisp.org>

	readutmp: Add comment about multithread-safety.
	* lib/readutmp.h (read_utmp): Add comment.

2023-08-08  Bruno Haible  <bruno@clisp.org>

	readutmp: Return entries with unbounded strings on all platforms.
	Suggested  by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-07/msg00165.html>.
	* m4/readutmp.m4 (gl_READUTMP): Test also whether struct utmp has an
	ut_tv member, and whether struct utmp and struct utmpx have an
	ut_session member.
	* lib/readutmp.h (struct gl_utmp): Define always. Add ut_exit field.
	(HAVE_GL_UTMP): Remove macro.
	(UT_USER, UT_TIME_MEMBER, UT_PID, UT_TYPE_EQ, UT_TYPE_NOT_DEFINED,
	UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT, STRUCT_UTMP): Define w.r.t.
	struct gl_utmp.
	(UT_USER_SIZE, UT_ID_SIZE, UT_LINE_SIZE, UT_HOST_SIZE): Define to -1
	always.
	(getutent): Remove declaration.
	(HAVE_STRUCT_XTMP_UT_EXIT): Remove unused macro.
	(HAVE_STRUCT_XTMP_UT_ID, HAVE_STRUCT_XTMP_UT_PID,
	HAVE_STRUCT_XTMP_UT_HOST): Change to match the way coreutils uses these
	macros.
	* lib/readutmp.c (UT_USER, UT_TIME_MEMBER, UT_PID, UT_TYPE_EQ,
	UT_TYPE_NOT_DEFINED, IS_USER_PROCESS, UT_EXIT_E_TERMINATION,
	UT_EXIT_E_EXIT, UT_USER_SIZE, UT_ID_SIZE, UT_LINE_SIZE, UT_HOST_SIZE):
	Define w.r.t. struct utmpx or struct utmp.
	(extract_trimmed_name): Don't use UT_USER or UT_USER_SIZE here.
	(desirable_utmp_entry): Don't use UT_TIME_MEMBER or UT_USER here.
	(struct utmp_alloc): Define always.
	(add_utmp): Likewise. Add user_len, id_len, line_len, host_len,
	termination, exit arguments. Don't require that user, id, line, host are
	NUL-terminated. Assume user and host are non-NULL.
	(finish_utmp): New function, extracted from read_utmp.
	(read_utmp) [READUTMP_USE_SYSTEMD]: Update add_utmp invocations. Pass a
	non-NULL user and a non-NULL host. Call finish_utmp.
	(getutent): Move declaration from readutmp.h to here.
	(copy_utmp_entry): Remove function.
	(read_utmp) [UTMP_NAME_FUNCTION]: Replace variables n_read, n_alloc,
	utmp with a 'struct utmp_alloc'. Use 'struct utmpx32' from
	copy_utmp_entry here. Invoke add_utmp and finish_utmp.
	(read_utmp) [!UTMP_NAME_FUNCTION]: Replace variables n_read, n_alloc,
	utmp with a 'struct utmp_alloc'. Invoke add_utmp and finish_utmp.
	* NEWS: Mention the API change.

2023-08-08  Bruno Haible  <bruno@clisp.org>

	readutmp: Fix compilation error on OpenBSD and AIX (regr. 2023-08-03).
	* lib/readutmp.h (UT_TIME_MEMBER) [HAVE_UTMP_H]: Revert last change.

2023-08-08  Bruno Haible  <bruno@clisp.org>

	readutmp: Fix compilation error on OpenBSD (regr. 2023-08-02).
	* lib/readutmp.h (UT_ID_SIZE): Define to a dummy if there is no ut_id
	field.

2023-08-07  Paul Eggert  <eggert@cs.ucla.edu>

	quotearg: fix obsolete comment
	* lib/quotearg.h: Fix comment to match behavior.
	This fixes a commentary bug introduced in
	commit 1a43a982c927eaf26bbc2701a872009d9be4b33b
	"quotearg: do not use grave accent for left quote"
	dated 2011-12-18 15:44:17+01, where the comment
	was not updated to match the changed behavior.

2023-08-06  Paul Eggert  <eggert@cs.ucla.edu>

	readutmp: fix comment bug ID
	* lib/readutmp.c: Fix comment (thanks to Bruno Haible).

	doc: Document lack of printf "%n" on Android, OpenBSD.
	* doc/posix/functions/*printf.texi: Document that the POSIX-specified
	printf functions do not support the %n format on Android and OpenBSD.
	This lack of support is deliberate, as %n is a common target of attacks
	on security.

2023-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	readutmp: anticipate Y2038 hack for utmp
	* lib/readutmp.c (struct utmpx32): Use unsigned int for tv_sec,
	not int, as that is more likely to work after 2038.
	Suggested by Andreas Schwab in:
	https://sourceware.org/pipermail/libc-alpha/2023-August/150661.html

	diffseq: simplify lint removal
	* lib/diffseq.h (IF_LINT): Remove.
	Instead, always ignore the diagnostic, as that’s simpler
	now that we have the pragma change installed in May.
	This removes the last IF_LINT from diffutils, though not
	the last use of GCC_LINT.

2023-08-04  Bruno Haible  <bruno@clisp.org>

	unistr/{u8-mbtouc,u8-mbsnlen}: Fix test failures (regr. 2023-07-25).
	* modules/unistr/u8-mbtouc (configure.ac): Compile this code if the
	preinstalled libunistring version is >= 0.9.4, < 1.2.
	* modules/unistr/u8-mbsnlen (configure.ac): Likewise.

	unistr/*-pcpy: Fix compilation errors (regression 2023-07-21).
	* modules/unistr/base (configure.ac): Generate unistr.h if the
	preinstalled libunistring version is >= 0.9.11, < 1.2.

2023-08-04  Bruno Haible  <bruno@clisp.org>

	readutmp: In systemd mode, fix the ut_host contents (regr. yesterday).
	* lib/readutmp.c (add_utmp): Fix ut_host contents.
	* tests/test-readutmp.c (main): Show also the contents of the ut_host
	field.

2023-08-04  Bruno Haible  <bruno@clisp.org>

	readutmp: Ensure multithread-safety.
	* lib/readutmp.c (get_boot_time): Initialize 'cached' after 'boot_time',
	not before. Also declare both as volatile.

2023-08-04  Bruno Haible  <bruno@clisp.org>

	readutmp tests: Fix gcc warning (regression from yesterday).
	* tests/test-readutmp.c: Include idx.h.
	(main): Use idx_t instead of size_t.

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

	readutmp: systemd supports only UTMP_FILE
	* lib/readutmp.c (read_utmp): Fail if not UTMP_FILE.
	* m4/systemd.m4 (gl_SYSTEMD_CHOICE): Default to no for now,
	since yes means "who /var/log/wtmp" stops working.

	readutmp: switch new struct to struct timespec
	* lib/readutmp.c (get_boot_time_uncached, get_boot_time)
	(add_utmp, read_utmp):
	Use struct timespec, not struct timeval.
	* lib/readutmp.h: Always include <time.h>, for struct timespec.
	Simplify when utmp.h and utmpx.h are included.
	(struct gl_utmp): Use the same struct for both the
	systemd and the dummy version.  Reorder members, and
	use proper pid_t type for ut_session.  Rename ut_tv to ut_ts
	and make it a struct timespec.  All uses changed.
	(HAVE_GL_UTMP): New macro.  Use it where appropriate, instead
	of READUTMP_USE_SYSTEMD.
	(UT_USER, HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID)
	(HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_HOST):
	Simplify.
	* modules/readutmp (Depends-on): Add time-h, timespec_get.
	Remove sys_type.  Sort.

	readutmp: fix # indentation
	* lib/readutmp.h: Change # indentation to standard Gnulib style.

	readutmp: pacify -Wstrict-prototypes
	* lib/readutmp.c (get_boot_time_uncached, get_boot_time):
	Pacify gcc 13 -Wstrict-prototypes.

	readutmp: fix idx_t FIXME in API
	* lib/readutmp.c (read_utmp): 2nd arg is now idx_t *, not
	size_t *.
	* lib/readutmp.h: Include idx.h, for idx_t.
	* modules/readutmp (Depends-on): Add idx.

	readutmp: go back to simple ‘free’
	Omit the new free_utmp function.  Instead, allocate storage
	in one block, so that using code can still just call ‘free’.
	* lib/readutmp.c (struct utmp_alloc) [READUTMP_USE_SYSTEMD]: New type.
	(add_utmp) [READUTMP_USE_SYSTEMD]: New function.
	(read_utmp) [READUTMP_USE_SYSTEMD]: Use it.
	Also, use malloc a bit less heavily.
	(free_utmp): Remove.
	* tests/test-readutmp.c (main): Call free, not free_utmp.

	readutmp: simplify extract_trimmed_name via ximemdup0
	* lib/readutmp.c (extract_trimmed_name): Simplify.
	* modules/readutmp (Depends-on):
	Add strnlen, which was a missing dependency.

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

	alignasof, stdalign: Avoid some -Wundef warnings from config.h.
	Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-08/msg00012.html>.
	* m4/stdalign.m4 (gl_ALIGNASOF): Test whether __cplusplus is defined
	before evaluating it. Assume HAVE_STDALIGN_H, _GL_STDALIGN_NEEDS_STDDEF
	are never defined to 0.

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

	doc: More platform detail.
	* doc/posix-functions/fnmatch.texi: Mention Solaris OpenIndiana here,
	since it behaves differently than Solaris 11.4.

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

	doc: Add references to FreeBSD bugs.
	* doc/posix-functions/fnmatch.texi: Add commented reference to FreeBSD
	bug.
	* doc/posix-functions/wcscmp.texi: Likewise.
	* doc/posix-functions/wcsncmp.texi: Likewise.

2023-08-02  Bruno Haible  <bruno@clisp.org>

	readutmp: In systemd mode, put the X11 display into the ut_host field.
	* lib/readutmp.c (read_utmp): In sessions of type "x11", use the X11
	display as host.

2023-08-02  Bruno Haible  <bruno@clisp.org>

	readutmp: Small change to reduce the code size on the coreutils side.
	* lib/readutmp.h (UT_ID_SIZE): New constant and macro.

2023-08-01  Bruno Haible  <bruno@clisp.org>

	readutmp: Small changes to reduce the code size on the coreutils side.
	* m4/readutmp.m4 (gl_READUTMP): Test also for the ut_host field in
	'struct utmpx' and 'struct utmp'.
	* lib/readutmp.h (HAVE_STRUCT_XTMP_UT_HOST): New macro.
	(UT_USER_SIZE): Define also as a macro. Set to -1 if
	READUTMP_USE_SYSTEMD.
	(UT_LINE_SIZE, UT_HOST_SIZE): New constants and macros.

2023-08-01  Bruno Haible  <bruno@clisp.org>

	readutmp: For year-2038 safety on Linux/{x86,arm}, use systemd APIs.
	Suggested by Thorsten Kukuk <kukuk@suse.com> in
	<https://www.thkukuk.de/blog/Y2038_glibc_utmp_64bit/> and
	<https://github.com/thkukuk/utmpx/blob/main/utmp-to-logind.md>.
	* m4/systemd.m4: New file.
	* m4/readutmp.m4 (gl_READUTMP): Require gl_SYSTEMD_CHOICE. Set
	READUTMP_LIB. Conditionally define READUTMP_USE_SYSTEMD.
	* lib/readutmp.h: For READUTMP_USE_SYSTEMD, include <sys/time.h> and
	<utmpx.h>.
	(struct gl_utmp): New type.
	(UTMP_STRUCT_NAME, UT_TIME_MEMBER, UT_EXIT_E_TERMINATION,
	UT_EXIT_E_EXIT, UT_USER, HAVE_STRUCT_XTMP_UT_EXIT,
	HAVE_STRUCT_XTMP_UT_ID, HAVE_STRUCT_XTMP_UT_PID): Define differently for
	READUTMP_USE_SYSTEMD.
	(UT_USER_SIZE): Don't define for READUTMP_USE_SYSTEMD.
	(UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, READ_UTMP_SUPPORTED): Define also for
	READUTMP_USE_SYSTEMD.
	(free_utmp): New declaration.
	* lib/readutmp.c: Add new includes for READUTMP_USE_SYSTEMD.
	(extract_trimmed_name): Adapt to READUTMP_USE_SYSTEMD.
	(get_boot_time_uncached, get_boot_time, guess_pty_name): New functions.
	(read_utmp): New implementation for READUTMP_USE_SYSTEMD.
	(free_utmp): New function.
	* tests/test-readutmp.c (main): At the end, invoke free_utmp.
	* modules/readutmp (Files): Add m4/systemd.m4.
	(Link): New section.
	* modules/readutmp-tests (Makefile.am): Link test-readutmp with
	READUTMP_LIB.
	* NEWS: Mention the free_utmp function and the READUTMP_LIB link
	requirement.

2023-08-01  Bruno Haible  <bruno@clisp.org>

	readutmp: Trivial simplification.
	* lib/readutmp.c (extract_trimmed_name): Use constant UT_USER_SIZE.

2023-07-31  Bruno Haible  <bruno@clisp.org>

	readutmp tests: Show also the ut_line field.
	* tests/test-readutmp.c (main): Add a "Device" column to the table.
	Adjust the column widths. Flush stdout before possibly calling abort().

2023-07-31  Bruno Haible  <bruno@clisp.org>

	readutmp: Fix test failure on OpenBSD.
	* lib/readutmp.c (desirable_utmp_entry): On OpenBSD, eliminate entirely
	empty entries.

2023-07-31  Bruno Haible  <bruno@clisp.org>

	readutmp: Revisit portability.
	* m4/readutmp.m4 (gl_READUTMP): Don't test for struct utmp.ut_exit.ut_*,
	since no platform has these.
	* lib/readutmp.h (UT_EXIT_E_TERMINATION): Don't test
	HAVE_STRUCT_UTMP_UT_EXIT_UT_TERMINATION.
	(UT_EXIT_E_EXIT): Don't test HAVE_STRUCT_UTMP_UT_EXIT_UT_EXIT.
	* doc/posix-headers/utmpx.texi: Update platforms list. Mention
	portability problems of specific 'struct utmpx' fields.
	* doc/glibc-headers/utmp.texi: Update platforms list. Mention
	portability problems of specific 'struct utmp' fields.

2023-07-31  Bruno Haible  <bruno@clisp.org>

	readutmp: Make argument names consistent.
	* lib/readutmp.h (UT_TIME_MEMBER, UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT,
	UT_USER, UT_PID, UT_TYPE_EQ, UT_TYPE_BOOT_TIME, UT_TYPE_USER_PROCESS,
	IS_USER_PROCESS): Rename parameter to 'UT'.
	* lib/readutmp.c (desirable_utmp_entry, read_utmp): Rename local
	variable 'u' to 'ut'.

2023-07-31  Bruno Haible  <bruno@clisp.org>

	readutmp: Make the header file and function usable on all platforms.
	* lib/readutmp.h (struct gl_utmp, UTMP_STRUCT_NAME, UT_TIME_MEMBER,
	UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT, UT_USER): Provide fallback
	definitions.
	(READ_UTMP_SUPPORTED): New macro.
	* lib/readutmp.c (read_utmp) [!READ_UTMP_SUPPORTED]: Provide a dummy
	definition.
	* modules/readutmp (Depends-on): Add sys_time.
	(configure.ac): Remove conditional.
	(Makefile.am): Compile readutmp.c on all platforms.
	(Include): Include readutmp.h on all platforms.
	* tests/test-readutmp.c: Include readutmp.h on all platforms.
	(main): Invoke read_utmp on all platforms.

2023-07-30  Bruno Haible  <bruno@clisp.org>

	readutmp: Add tests.
	* tests/test-readutmp.c: New file.
	* modules/readutmp-tests: New file.

	readutmp: Improve comments. Fix module description.
	* lib/readutmp.h (extract_trimmed_name): Add specification comment.
	(read_utmp): Move specification comment from lib/readutmp.c to here.
	Mention also UTMP_FILE and READ_UTMP_USER_PROCESS.
	* lib/readutmp.c (extract_trimmed_name): Fix comment.
	* modules/readutmp (Include): Only include the .h file if
	HAVE_UTMPX_H || HAVE_UTMP_H.

2023-07-29  Paul Eggert  <eggert@cs.ucla.edu>

	readutmp: work around glibc utmpx bug
	When compiled with _TIME_BITS=64, glibc <utmpx.h> does not work,
	because the files use 32-bit time_t and the code passes this to
	the user unmodified, but <utmpx.h> defines a struct with 64-bit
	time_t.  Work around this compatibility bug.
	* lib/readutmp.c (copy_utmp_entry): New function.
	(read_utmp): Use it.

2023-07-29  Bruno Haible  <bruno@clisp.org>

	wcsrtombs tests: Renumber tests.
	* tests/test-wcsrtombs*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5.
	* tests/test-wcsrtombs.c: Update.
	* modules/wcsrtombs-tests: Update.

	wcsnrtombs tests: Renumber tests.
	* tests/test-wcsnrtombs*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5.
	* tests/test-wcsnrtombs.c: Update.
	* modules/wcsnrtombs-tests: Update.

	wcrtomb tests: Renumber tests.
	* tests/test-wcrtomb.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5 -> 1.
	* tests/test-wcrtomb.c: Update.
	* tests/test-wcrtomb-w32-*.sh: Renamed 1 -> 2 -> 3 -> 5 -> 7 -> 4 -> 6
	-> 8.
	* tests/test-wcrtomb-w32.c: Update.
	* modules/wcrtomb-tests: Update.

	mbstoc32s tests: Renumber tests.
	* tests/test-mbstoc32s-*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5 -> 1.
	* tests/test-mbstoc32s.c: Update.

	mbsrtoc32s tests: Renumber tests.
	* tests/test-mbsrtoc32s-*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5 -> 1.
	* tests/test-mbsrtoc32s.c: Update.

	mbsnrtoc32s tests: Renumber tests.
	* tests/test-mbsnrtoc32s-*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5 -> 1.
	* tests/test-mbsnrtoc32s.c: Update.

	mbstowcs tests: Renumber tests.
	* tests/test-mbstowcs*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5 -> 1.
	* tests/test-mbstowcs.c: Update.
	* modules/mbstowcs-tests: Update.

	mbsrtowcs tests: Renumber tests.
	* tests/test-mbsrtowcs*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5 -> 1.
	* tests/test-mbsrtowcs.c: Update.
	* modules/mbsrtowcs-tests: Update.

	mbsnrtowcs tests: Renumber tests.
	* tests/test-mbsnrtowcs*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5 -> 1.
	* tests/test-mbsnrtowcs.c: Update.
	* modules/mbsnrtowcs-tests: Update.

	mbrtoc16 tests: Renumber tests.
	* tests/test-mbrtoc16-*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5 -> 1.
	* tests/test-mbrtoc16.c: Update.
	* tests/test-mbrtoc16-w32-*.sh: Renamed 1 -> 2 -> 3 -> 5 -> 7 -> 4 -> 6
	-> 8.
	* tests/test-mbrtoc16-w32.c: Update.
	* modules/mbrtoc16-tests: Update.

	mbrtoc32 tests: Renumber tests.
	* tests/test-mbrtoc32-*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5 -> 1.
	* tests/test-mbrtoc32.c: Update.
	* tests/test-mbrtoc32-w32-*.sh: Renamed 1 -> 2 -> 3 -> 5 -> 7 -> 4 -> 6
	-> 8.
	* tests/test-mbrtoc32-w32.c: Update.
	* modules/mbrtoc32-tests: Update.

	mbrtowc tests: Renumber tests.
	* tests/test-mbrtowc*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5 -> 1.
	* tests/test-mbrtowc.c: Update.
	* tests/test-mbrtowc-w32-*.sh: Renamed 1 -> 2 -> 3 -> 5 -> 7 -> 4 -> 6
	-> 8.
	* tests/test-mbrtowc-w32.c: Update.
	* modules/mbrtowc-tests: Update.

	mbrlen tests: Renumber tests.
	* tests/test-mbrlen*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5 -> 1.
	* tests/test-mbrlen.c: Update.
	* tests/test-mbrlen-w32-*.sh: Renamed 1 -> 2 -> 3 -> 5 -> 7 -> 4 -> 6
	-> 8.
	* tests/test-mbrlen-w32.c: Update.
	* modules/mbrlen-tests: Update.

	mbmemcasecoll tests: Renumber tests.
	* tests/test-mbmemcasecoll*.sh: Renamed 1 -> 2 -> 3 -> 4.
	* tests/test-mbmemcasecoll.c: Update.
	* modules/mbmemcasecoll-tests: Update.

	mbmemcasecmp tests: Renumber tests.
	* tests/test-mbmemcasecmp*.sh: Renamed 1 -> 2 -> 3 -> 4.
	* tests/test-mbmemcasecmp.c: Update.
	* modules/mbmemcasecmp-tests: Update.

	fnmatch tests: Renumber tests.
	* tests/test-fnmatch-w32-*.sh: Renamed 1 -> 2 -> 3 -> 5 -> 7 -> 4 -> 6
	-> 8.
	* tests/test-fnmatch-w32.c: Update.
	* modules/fnmatch-tests: Update.

	c32stombs tests: Renumber tests.
	* tests/test-c32stombs-*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5.
	* tests/test-c32stombs.c: Update.
	* modules/c32stombs-tests: Update.

	c32srtombs tests: Renumber tests.
	* tests/test-c32srtombs-*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5.
	* tests/test-c32srtombs.c: Update.
	* modules/c32srtombs-tests: Update.

	c32snrtombs tests: Renumber tests.
	* tests/test-c32snrtombs-*.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5.
	* tests/test-c32snrtombs.c: Update.
	* modules/c32snrtombs-tests: Update.

	c32rtomb tests: Renumber tests.
	* tests/test-c32rtomb.sh: Renamed 1 -> 2 -> 3 -> 4 -> 5 -> 1.
	* tests/test-c32rtomb.c: Update.
	* tests/test-c32rtomb-w32-*.sh: Renamed 1 -> 2 -> 3 -> 5 -> 7 -> 4 -> 6
	-> 8.
	* tests/test-c32rtomb-w32.c: Update.
	* modules/c32rtomb-tests: Update.

	btoc32 tests: Renumber tests.
	* tests/test-btoc32-*.sh: Renamed 1 -> 2 -> 3 -> 1.
	* tests/test-btoc32.c: Update.

	btowc tests: Renumber tests.
	* tests/test-btowc*.sh: Renamed 1 -> 2 -> 3 -> 1.
	* tests/test-btowc.c: Update.
	* modules/btowc-tests: Update.

2023-07-29  Bruno Haible  <bruno@clisp.org>

	time-h: Simplify after 2017-05-01 change.
	* m4/time_h.m4 (gl_TIME_H_DEFAULTS): Don't provide a default value for
	GNULIB_GETTIMEOFDAY.

	time-h: Obey GNULIB_POSIXCHECK, not GNULIB_PORTCHECK.
	* lib/time.in.h (timespec_get, timespec_getres, time, nanosleep, tzset,
	mktime, localtime_r, gmtime_r, localtime, strptime, ctime, strftime,
	timegm): Add _GL_WARN_ON_USE invocation.
	(asctime, ctime): Don't assume that these functions are declared, since
	POSIX obsoletes them.
	* m4/time_h.m4 (gl_TIME_H): Test for the declarations of asctime, ctime,
	gmtime_r, localtime, localtime_r, mktime, nanosleep, strftime, strptime,
	time, timegm, timespec_get, timespec_getres, tzset.
	(gl_TIME_H_DEFAULTS): Initialize REPLACE_CTIME, REPLACE_LOCALTIME_R,
	REPLACE_MKTIME, REPLACE_NANOSLEEP, REPLACE_STRFTIME, REPLACE_TIMEGM,
	REPLACE_TIMESPEC_GET, REPLACE_TZSET with 0 instead of GNULIB_PORTCHECK.
	* m4/ctime.m4 (gl_FUNC_CTIME): Don't re-initialize REPLACE_CTIME.
	* m4/time_r.m4 (gl_TIME_R): Don't re-initialize REPLACE_LOCALTIME_R.
	* m4/mktime.m4 (gl_FUNC_MKTIME): Don't re-initialize REPLACE_MKTIME.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Don't re-initialize
	REPLACE_NANOSLEEP.
	* m4/strftime-fixes.m4 (gl_FUNC_STRFTIME): Don't re-initialize
	REPLACE_STRFTIME.
	* m4/timegm.m4 (gl_FUNC_TIMEGM): Don't re-initialize REPLACE_TIMEGM.
	* m4/timespec_get.m4 (gl_FUNC_TIMESPEC_GET): Don't re-initialize
	REPLACE_TIMESPEC_GET.
	* m4/tzset.m4 (gl_FUNC_TZSET: Don't re-initialize REPLACE_TZSET.

2023-07-28  Bruno Haible  <bruno@clisp.org>

	fnmatch: Ensure that on Cygwin ≥ 3.5.0, Cygwin's native fnmatch is used.
	Tested by Corinna Vinschen in
	<https://cygwin.com/pipermail/cygwin/2023-July/254036.html>.
	* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): On Cygwin, don't force
	REPLACE_FNMATCH to 1 just because wchar_t is small.

2023-07-28  Bruno Haible  <bruno@clisp.org>

	posixcheck: Fix dependencies.
	* modules/posixcheck (Depends-on): Add malloc-h, pthread-h, sched,
	sys_random, threads-h, uchar, utmp.

2023-07-28  Bruno Haible  <bruno@clisp.org>

	uchar: Include the necessary snippets.
	* lib/uchar.in.h: Add insertion points for _GL_ARG_NONNULL and
	_GL_WARN_ON_USE.
	* modules/uchar (Depends-on): Add snippet/arg-nonnull,
	snippet/warn-on-use.
	(Makefile.am): In uchar.h, include the ARG_NONNULL_H and WARN_ON_USE_H
	snippets.

2023-07-28  Bruno Haible  <bruno@clisp.org>

	mbmemcasecmp, mbmemcasecoll: Avoid test failure on MSVC.
	* tests/test-mbmemcasecmp.h (test_utf_8): Disable two tests on platforms
	that don't have the upper/lower mappings for 'ü'/'Ü'.
	* tests/test-mbmemcasecmp.c: Include <wchar.h>, <wctype.h>.
	* tests/test-mbmemcasecoll.c: Likewise.
	* modules/mbmemcasecmp-tests (Depends-on): Add mbrtowc, wctype-h.
	* modules/mbmemcasecoll-tests (Depends-on): Likewise.

2023-07-27  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Include ftruncate in testdirs.
	* gnulib-tool (func_create_testdir): Don't exclude module 'ftruncate'
	from testdirs by default.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.

2023-07-27  Bruno Haible  <bruno@clisp.org>

	fnmatch-h, glob-h tests: Fix link errors (regression 2023-07-24).
	* modules/fnmatch-h-c++-tests (Makefile.am): Link test-fnmatch-h-c++
	with $(LIBUNISTRING).
	* modules/glob-h-c++-tests (Makefile.am): Link test-glob-h-c++ with
	$(LIBUNISTRING).

	fnmatch, glob tests: Fix link errors (regression 2023-07-24).
	* modules/fnmatch-tests (Makefile.am): Link test-fnmatch-w32 with the
	same libraries as test-fnmatch.
	* modules/glob (Link): Add $(LIBUNISTRING).
	* modules/glob-tests (Makefile.am): Link test-glob with $(LIBUNISTRING).

2023-07-26  Bruno Haible  <bruno@clisp.org>

	wctrans: Work around bug on NetBSD.
	* lib/wctype.in.h (rpl_wctrans_t, wctrans_t, GNULIB_defined_wctrans_t):
	Define if REPLACE_WCTRANS is 1.
	(wctrans): Consider REPLACE_WCTRANS.
	(towctrans): Override if REPLACE_WCTRANS is 1.
	* m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize REPLACE_WCTRANS.
	* m4/wctrans.m4 (gl_FUNC_WCTRANS): Define through AC_DEFUN_ONCE. Test
	whether wctrans supports the "tolower" character mapping. Set
	REPLACE_WCTRANS if not.
	* m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Require gl_FUNC_WCTRANS.
	* modules/wctrans (Depends-on): Add towctrans.
	(configure.ac): Consider REPLACE_WCTRANS.
	* modules/towctrans (Files): Add m4/wctrans.m4.
	(configure.ac): Override also if REPLACE_WCTRANS is 1.
	* modules/wctype-h (Makefile.am): Substitute REPLACE_WCTRANS.
	* doc/posix-functions/wctrans.texi: Mention the NetBSD bug.

2023-07-26  Bruno Haible  <bruno@clisp.org>

	towctrans: Add tests.
	* tests/test-towctrans.c: New file, based on
	tests/test-c32_apply_mapping.c.
	* modules/towctrans-tests: New file.

	wctrans: Add tests.
	* tests/test-wctrans.c: New file, based on tests/test-c32_get_mapping.c.
	* modules/wctrans-tests: New file.

2023-07-26  Bruno Haible  <bruno@clisp.org>

	fnmatch: Update dependencies.
	* modules/fnmatch (Depends-on): Add wctype.

2023-07-26  Bruno Haible  <bruno@clisp.org>

	wctype: Work around wctype+iswctype bug on MSVC.
	* m4/wctype.m4 (gl_FUNC_WCTYPE): In the test program, test also for the
	MSVC bug. Update cross-compilation guess.
	* doc/posix-functions/wctype.texi: Mention the MSVC bug.

2023-07-26  Bruno Haible  <bruno@clisp.org>

	wctype: Work around wctype bug on mingw.
	* lib/wctype.in.h (rpl_wctype_t, wctype_t, GNULIB_defined_wctype_t):
	Define if REPLACE_WCTYPE is 1.
	(wctype): Consider REPLACE_WCTYPE.
	(iswctype): Override also if REPLACE_WCTYPE is 1.
	* lib/iswctype.c: If GNULIB_defined_wctype_t is defined, use the
	function-pointer based implementation.
	* m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize REPLACE_WCTYPE.
	* m4/wctype.m4 (gl_FUNC_WCTYPE): Define through AC_DEFUN_ONCE. Test
	whether wctype supports the "blank" character class. Set REPLACE_WCTYPE
	if not.
	* m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Require gl_FUNC_WCTYPE.
	* modules/wctype (Status, Notice): Remove.
	(Depends-on): Add iswctype. Consider REPLACE_WCTYPE.
	(configure.ac): Consider REPLACE_WCTYPE.
	* modules/iswctype (Status, Notice): Remove.
	(Files): Add m4/wctype.m4.
	(configure.ac): Override also if REPLACE_WCTYPE is 1.
	* modules/wctype-h (Makefile.am): Substitute REPLACE_WCTYPE.
	* doc/posix-functions/wctype.texi: Mention the mingw bug.

2023-07-26  Bruno Haible  <bruno@clisp.org>

	wctype-h: Work around iswprint bug on mingw.
	* lib/wctype.in.h (rpl_iswprint): On mingw, don't use the system's
	iswprint function.
	* tests/test-wctype-h.c (main): Verify that this character class
	contains the ASCII space but not tab and newline.
	* tests/test-c32isprint.c (main): For tab, \v, \f, expect the same value
	on native Windows as on other platforms.
	* doc/posix-functions/iswprint.texi: Mention the mingw bug.

2023-07-26  Bruno Haible  <bruno@clisp.org>

	iswblank tests: Add more tests.
	* tests/test-iswblank.c (main): Verify that this character class
	contains the ASCII space and tab, but not newline.

2023-07-26  Bruno Haible  <bruno@clisp.org>

	wctype, wctrans: Require a non-NULL argument.
	* lib/wctype.in.h: Add placeholder for definition of _GL_ARG_NONNULL.
	(wctype, wctrans): Mark with _GL_ARG_NONNULL ((1)).
	* modules/wctype-h (Depends-on): Add snippet/arg-nonnull.
	(Makefile.am): Substitute $(ARG_NONNULL_H) into wctype.h.

2023-07-25  Bruno Haible  <bruno@clisp.org>

	iswctype: Add tests.
	* tests/test-iswctype.c: New file, based on
	tests/test-c32_apply_type_test.c.
	* tests/test-c32_apply_type_test.c (main): Update accordingly.
	* modules/iswctype-tests: New file.

	wctype: Add tests.
	* tests/test-wctype.c: New file, based on
	tests/test-c32_get_type_test.c.
	* modules/wctype-tests: New file.

2023-07-25  Bruno Haible  <bruno@clisp.org>

	Compile benchmark programs without assertions.
	* modules/mbiter-bench-tests (Makefile.am): Compile bench-mbiter with
	-DNDEBUG.
	* modules/mbiterf-bench-tests (Makefile.am): Compile bench-mbiterf with
	-DNDEBUG.
	* modules/mbuiter-bench-tests (Makefile.am): Compile bench-mbuiter with
	-DNDEBUG.
	* modules/mbuiterf-bench-tests (Makefile.am): Compile bench-mbuiterf
	with -DNDEBUG.
	* modules/mbswidth-bench-tests (Makefile.am): Compile bench-mbswidth
	with -DNDEBUG.
	* modules/crypto/md5-buffer-tests (Makefile.am): Compile bench-md5 with
	-DNDEBUG.
	* modules/crypto/sha1-buffer-tests (Makefile.am): Compile bench-sha1
	with -DNDEBUG.
	* modules/crypto/sha256-buffer-tests (Makefile.am): Compile bench-sha224
	and bench-sha256 with -DNDEBUG.
	* modules/crypto/sha512-buffer-tests (Makefile.am): Compile bench-sha384
	and bench-sha512 with -DNDEBUG.

2023-07-25  Bruno Haible  <bruno@clisp.org>

	unistr/u8-*: Make Unicode decoder more Unicode Standard compliant.
	Based on a remark by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-07/msg00120.html>.
	* tests/unistr/test-u8-mbtouc.c (test_safe_function): Change expected
	results for "non-shortest form" or out-of-range byte sequences. Add new
	test cases of incomplete well-formed byte sequences.
	* tests/unistr/test-u8-mbsnlen.c (main): Likewise.
	* lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Reject a first byte in the
	range 0xF5..0xF7 as invalid. Distinguish incomplete from invalid byte
	sequences correctly. For the former, return only the number of bytes in
	the maximal well-formed subpart.
	* lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
	* lib/unistr/u8-check.c (u8_check): Reject a first byte in the range
	0xF5..0xF7 as invalid.
	* lib/unistr/u8-mblen.c (u8_mblen): Likewise.
	* lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
	* lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
	* lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
	* lib/unistr/u8-prev.c (u8_prev): Likewise.

2023-07-24  Bruno Haible  <bruno@clisp.org>

	fnmatch: Overcome wchar_t limitations.
	* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Set REPLACE_FNMATCH to 1 on
	AIX in 32-bit mode.
	* lib/fnmatch.c: Include <uchar.h>. Conditionally include unistr.h.
	(UCHAR_TO_WCHAR): Renamed from BTOWC.
	(WCHAR_T, WINT_T, BTOWC, MBSRTOWCS, WCSLEN, WCSCAT, WMEMPCPY, WMEMCHR,
	TOWLOWER, WCTYPE_T, WCTYPE, ISWCTYPE): New macros.
	(IS_CHAR_CLASS): Use WCTYPE instead of wctype.
	(UCHAR_TO_WCHAR): Use BTOWC instead of btowc.
	(FOLD): Use TOWLOWER instead of towlower.
	(CHAR): Use WCHAR_T instead of wchar_t.
	(UCHAR, INT): Use WINT_T instead of wint_t.
	(STRLEN): Use WCSLEN instead of wcslen.
	(STRCAT): Use WCSCAT instead of wcscat.
	(MEMPCPY): Use WMEMPCPY instead of wmempcpy.
	(MEMCHR): Use WMEMCHR instead of wmemchr.
	(is_char_class): Use WCTYPE_T instead of wctype_t, WCHAR_T instead of
	wchar_t, WCTYPE instead of wctype.
	(fnmatch): Use WCHAR_T instead of wchar_t, MBSRTOWCS instead of
	mbsrtowcs.
	* lib/fnmatch_loop.c (FCT): Use WCTYPE_T instead of wctype_t, ISWCTYPE
	instead of iswctype. Update for renamed BTOWC.
	* modules/fnmatch (Depends-on): Add btoc32, c32tolower,
	c32_get_type_test, c32_apply_type_test, mbsrtoc32s, unistr/u32-chr,
	unistr/u32-pcpy, unistr/u32-strcat, unistr/u32-strlen.
	(Link): Add $(LIBUNISTRING).
	* modules/fnmatch-tests (Makefile.am): Link test-fnmatch with
	$(LIBUNISTRING).
	* doc/posix-functions/fnmatch.texi: Move the Cygwin, mingw, MSVC, AIX
	bug descriptions to the "fixed by Gnulib" section.

2023-07-24  Bruno Haible  <bruno@clisp.org>

	fnmatch: Update doc regarding Solaris 10.
	* doc/posix-functions/fnmatch.texi: Move the Solaris 10 bug description
	to the "fixed by Gnulib" section.

2023-07-23  Paul Eggert  <eggert@cs.ucla.edu>

	timespec_get: port to Ubuntu 23.04
	* m4/timespec_get.m4 (gl_FUNC_TIMESPEC_GET):
	Default REPLACE_TIMESPEC_GET to 0, fixing a typo.

2023-07-23  Bruno Haible  <bruno@clisp.org>

	unistr/u32-strcat: Relicense under LGPLv2+.
	* modules/unistr/u32-strcat (License): Change to LGPLv2+.
	* lib/unistr/u32-strcat.c: Update license notice.
	* lib/unistr/u-strcat.h: Likewise.

2023-07-23  Bruno Haible  <bruno@clisp.org>

	unistr/u32-strlen: Relicense under LGPLv2+.
	* modules/unistr/u32-strlen (License): Change to LGPLv2+.
	* lib/unistr/u32-strlen.c: Update license notice.

2023-07-23  Bruno Haible  <bruno@clisp.org>

	unistr/u32-chr: Relicense under LGPLv2+.
	* modules/unistr/u32-chr (License): Change to LGPLv2+.
	* lib/unistr/u32-chr.c: Update license notice.

2023-07-23  Paul Eggert  <eggert@cs.ucla.edu>

	utimecmp: clean up old spare1 cruft
	* lib/utimecmp.c: Remove a ‘defined HAVE_STRUCT_STAT_ST_SPARE1’
	that has been false since 2007.

2023-07-23  Bruno Haible  <bruno@clisp.org>

	fnmatch tests: Avoid a test failure on FreeBSD.
	* tests/test-fnmatch.c (main): In a GB18030 locale, test the towupper()
	mapping of 'ö', not of 'ü'.

2023-07-23  Bruno Haible  <bruno@clisp.org>

	fnmatch: Work around bugs on FreeBSD, NetBSD, Solaris, Cygwin, Android.
	* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Add three more test cases to
	the test program. Reorganize its return values.
	* tests/test-fnmatch.c (main): Reflect the changes done in fnmatch.m4.
	* doc/posix-functions/fnmatch.texi: Move the corresponding bug
	descriptions to the "fixed by Gnulib" section.

2023-07-23  Bruno Haible  <bruno@clisp.org>

	fnmatch, fnmatch-gnu: Document known bugs.
	* doc/posix-headers/fnmatch.texi: Mention the macros FNM_LEADING_DIR,
	FNM_CASEFOLD, FNM_EXTMATCH, FNM_FILE_NAME.
	* doc/posix-functions/fnmatch.texi: Reference the glibc documentation
	and the Linux man page. Document the effects of the two modules and all
	the known bugs in detail.

2023-07-22  Bruno Haible  <bruno@clisp.org>

	fnmatch tests: Add many more test cases.
	* lib/fnmatch.in.h (GNULIB_defined_fnmatch_function): New macro.
	* tests/test-fnmatch.c: Add many more test cases.
	* tests/test-fnmatch-1.sh: New file, based on tests/test-mbrtoc32-5.sh.
	* tests/test-fnmatch-2.sh: New file, based on tests/test-mbrtoc32-1.sh.
	* tests/test-fnmatch-3.sh: New file, based on tests/test-mbrtoc32-2.sh.
	* tests/test-fnmatch-4.sh: New file, based on tests/test-mbrtoc32-3.sh.
	* tests/test-fnmatch-5.sh: New file, based on tests/test-mbrtoc32-4.sh.
	* tests/test-fnmatch-w32.c: New file, based on tests/test-mbrtoc32-w32.c
	and tests/test-fnmatch.c.
	* tests/test-fnmatch-w32-1.sh: New file, based on
	tests/test-mbrtoc32-w32-1.sh.
	* tests/test-fnmatch-w32-2.sh: New file, based on
	tests/test-mbrtoc32-w32-2.sh.
	* tests/test-fnmatch-w32-3.sh: New file, based on
	tests/test-mbrtoc32-w32-3.sh.
	* tests/test-fnmatch-w32-4.sh: New file, based on
	tests/test-mbrtoc32-w32-4.sh.
	* tests/test-fnmatch-w32-5.sh: New file, based on
	tests/test-mbrtoc32-w32-5.sh.
	* tests/test-fnmatch-w32-6.sh: New file, based on
	tests/test-mbrtoc32-w32-6.sh.
	* tests/test-fnmatch-w32-7.sh: New file, based on
	tests/test-mbrtoc32-w32-7.sh.
	* modules/fnmatch-tests: Add the new program and shell scripts.

2023-07-22  Bruno Haible  <bruno@clisp.org>

	doc: Mention a wctype bug.
	* doc/posix-functions/wctype.texi: Mention a bug on mingw.

2023-07-21  Bruno Haible  <bruno@clisp.org>

	unistr/u8-pcpy, unistr/u16-pcpy, unistr/u32-pcpy: Add tests.
	* tests/unistr/test-pcpy.h: New file, based on tests/unistr/test-cpy.h.
	* tests/unistr/test-u8-pcpy.c: New file, based on
	tests/unistr/test-u8-cpy.c.
	* tests/unistr/test-u16-pcpy.c: New file, based on
	tests/unistr/test-u16-cpy.c.
	* tests/unistr/test-u32-pcpy.c: New file, based on
	tests/unistr/test-u32-cpy.c.
	* modules/unistr/u8-pcpy-tests: New file, based on
	modules/unistr/u8-cpy-tests.
	* modules/unistr/u16-pcpy-tests: New file, based on
	modules/unistr/u16-cpy-tests.
	* modules/unistr/u32-pcpy-tests: New file, based on
	modules/unistr/u32-cpy-tests.

	unistr/u8-pcpy, unistr/u16-pcpy, unistr/u32-pcpy: New modules.
	* lib/unistr.in.h (u8_pcpy, u16_pcpy, u32_pcpy): New declarations.
	* lib/unistr/u-pcpy.h: New file, based on lib/wmempcpy.c.
	* lib/unistr/u8-pcpy.c: New file, based on lib/unistr/u8-cpy.c.
	* lib/unistr/u16-pcpy.c: New file, based on lib/unistr/u16-cpy.c.
	* lib/unistr/u32-pcpy.c: New file, based on lib/unistr/u32-cpy.c.
	* modules/unistr/u8-pcpy: New file, based on modules/unistr/u8-cpy.
	* modules/unistr/u16-pcpy: New file, based on modules/unistr/u16-cpy.
	* modules/unistr/u32-pcpy: New file, based on modules/unistr/u32-cpy.

2023-07-20  Bruno Haible  <bruno@clisp.org>

	error-h: Fix dependencies.
	Reported by <cbh34680@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-07/msg00111.html>.
	* modules/error-h (Depends-on): Add include_next.

2023-07-20  Pádraig Brady  <P@draigBrady.com>

	fts: fix compilation errors with fts_cross_check()
	* lib/fts.c: Fix printf format chars.
	* lib/fts_.h: Provide a declaration for users.

2023-07-19  Bruno Haible  <bruno@clisp.org>

	Document migration path for obsolescent functions.
	* doc/glibc-functions/timespec_get.texi: Add reference to ISO C.
	* doc/posix-functions/_tolower.texi: Recommend use of tolower.
	* doc/posix-functions/_toupper.texi: Recommend use of toupper.
	* doc/posix-functions/asctime.texi: Recommend use of strftime.
	* doc/posix-functions/asctime_r.texi: Likewise.
	* doc/posix-functions/ctime.texi: Recommend use of localtime_r and
	strftime.
	* doc/posix-functions/ctime_r.texi: Likewise.
	* doc/posix-functions/ftw.texi: Recommend use of fts.
	* doc/posix-functions/getitimer.texi: Recommend use of timer_gettime.
	* doc/posix-functions/gets.texi: Recommend use of fgets.
	* doc/posix-functions/gettimeofday.texi: Recommend use of gettime or
	timespec_get.
	* doc/posix-functions/inet_addr.texi: Recommend use of inet_pton.
	* doc/posix-functions/inet_ntoa.texi: Recommend use of inet_ntop.
	* doc/posix-functions/pthread_getconcurrency.texi: Recommend no-op.
	* doc/posix-functions/pthread_setconcurrency.texi: Recommend no-op.
	* doc/posix-functions/rand_r.texi: Recommend use of random_r.
	* doc/posix-functions/setitimer.texi: Recommend use of timer_create and
	timer_settime.
	* doc/posix-functions/setpgrp.texi: Recommend use of setpgid or setsid.
	* doc/posix-functions/sighold.texi: Recommend use of sigprocmask.
	* doc/posix-functions/sigignore.texi: Recommend use of sigaction.
	* doc/posix-functions/siginterrupt.texi: Recommend use of sigaction.
	* doc/posix-functions/sigpause.texi: Recommend use of sigsuspend.
	* doc/posix-functions/sigrelse.texi: Recommend use of sigprocmask.
	* doc/posix-functions/sigset.texi: Recommend use of sigaction.
	* doc/posix-functions/tempnam.texi: Recommend use of mkstemp.
	* doc/posix-functions/ulimit.texi: Recommend use of getrlimit and
	setrlimit.
	* doc/posix-functions/utime.texi: Recommend use of utimens.

2023-07-19  Paul Eggert  <eggert@cs.ucla.edu>

	Document POSIX obsolescence
	* doc/posix-functions/_longjmp.texi, doc/posix-functions/_setjmp.texi:
	* doc/posix-functions/_tolower.texi, doc/posix-functions/_toupper.texi:
	* doc/posix-functions/asctime.texi, doc/posix-functions/asctime_r.texi:
	* doc/posix-functions/ctime.texi, doc/posix-functions/ctime_r.texi:
	* doc/posix-functions/encrypt.texi, doc/posix-functions/ftw.texi:
	* doc/posix-functions/getitimer.texi, doc/posix-functions/gets.texi:
	* doc/posix-functions/gettimeofday.texi:
	* doc/posix-functions/inet_addr.texi:
	* doc/posix-functions/inet_ntoa.texi, doc/posix-functions/isascii.texi:
	* doc/posix-functions/pthread_getconcurrency.texi:
	* doc/posix-functions/pthread_setconcurrency.texi:
	* doc/posix-functions/rand_r.texi, doc/posix-functions/setitimer.texi:
	* doc/posix-functions/setkey.texi, doc/posix-functions/setpgrp.texi:
	* doc/posix-functions/sighold.texi, doc/posix-functions/sigignore.texi:
	* doc/posix-functions/siginterrupt.texi:
	* doc/posix-functions/sigpause.texi, doc/posix-functions/sigrelse.texi:
	* doc/posix-functions/sigset.texi, doc/posix-functions/tempnam.texi:
	* doc/posix-functions/toascii.texi, doc/posix-functions/ulimit.texi:
	* doc/posix-functions/utime.texi:
	Update as per draft 3 of POSIX 10003.1-202x.

2023-07-19  Paul Eggert  <eggert@cs.ucla.edu>

	Don’t worry about Version 7 tolower
	Some code ported back to pre-C89 libraries where tolower (C) had
	undefined behavior if C is not an upper case character.
	Nowadays that function is _tolower which is itself obsolete,
	and much Gnulib code already assumes this part of C89 anyway.
	Assume C89 or better tolower, which simplifies the code
	and should improve performance slightly.
	* lib/mbmemcasecmp.c, lib/mbmemcasecoll.c, lib/mbscasecmp.c:
	* lib/mbscasestr.c, lib/mbsncasecmp.c, lib/mbspcasecmp.c:
	* lib/strcasecmp.c, lib/strcasestr.c, lib/strncasecmp.c:
	(TOLOWER): Remove.  All uses replaced by tolower.

2023-07-19  Bruno Haible  <bruno@clisp.org>

	c32swidth, mbszero: Fix file list.
	* modules/c32swidth (Files): Add locale-ja.m4, locale-zh.m4, codeset.m4.
	* modules/mbszero (Files): Likewise.

2023-07-19  Bruno Haible  <bruno@clisp.org>

	wcsnrtombs: Fix file list.
	* modules/wcsnrtombs (Files): Add locale-fr.m4.

2023-07-19  Bruno Haible  <bruno@clisp.org>

	mbsnrtowcs: Fix file list.
	* modules/mbsnrtowcs (Files): Add locale-fr.m4, codeset.m4.

2023-07-19  Bruno Haible  <bruno@clisp.org>

	mbrtoc16: Fix file list.
	* modules/mbrtoc16 (Files): Add locale-zh.m4.

2023-07-19  Bruno Haible  <bruno@clisp.org>

	mbrlen: Fix file list.
	* modules/mbrlen (Files): Add locale-fr.m4, locale-ja.m4, locale-zh.m4,
	codeset.m4.

2023-07-18  Paul Eggert  <eggert@cs.ucla.edu>

	mbiterf, mbuiterf: port to strict C17
	I ran into this problem on NetBSD 9.3.
	* lib/mbiterf.h (mbiterf_next) [!GNULIB_MBRTOC32_REGULAR]:
	* lib/mbuiterf.h (mbuiterf_next) [!GNULIB_MBRTOC32_REGULAR]:
	Don’t label a declaration.

2023-07-18  Bruno Haible  <bruno@clisp.org>

	mbiter, mbiterf, mbuiter, mbuiterf: Force inlining with clang.
	* lib/mbiter.h (MBITER_INLINE): Use _GL_ATTRIBUTE_ALWAYS_INLINE.
	* lib/mbiterf.h (MBITERF_INLINE): Likewise.
	* lib/mbuiter.h (MBUITER_INLINE): Likewise.
	* lib/mbuiterf.h (MBUITERF_INLINE): Likewise.

2023-07-18  Bruno Haible  <bruno@clisp.org>

	mbsspn: Optimize.
	* lib/mbsspn.c: Include mbuiterf.h instead of mbuiter.h.
	(mbsspn): Use mbuif_* macros instead of mbui_* macros.
	* modules/mbsspn (Depends-on): Add mbuiterf. Remove mbuiter.

	mbscspn: Optimize.
	* lib/mbscspn.c: Include mbuiterf.h instead of mbuiter.h.
	(mbscspn): Use mbuif_* macros instead of mbui_* macros.
	* modules/mbscspn (Depends-on): Add mbuiterf. Remove mbuiter.

	mbspbrk: Optimize.
	* lib/mbspbrk.c: Include mbuiterf.h instead of mbuiter.h.
	(mbspbrk): Use mbuif_* macros instead of mbui_* macros.
	* modules/mbspbrk (Depends-on): Add mbuiterf. Remove mbuiter.

	mbspcasecmp: Optimize.
	* lib/mbspcasecmp.c: Include mbuiterf.h instead of mbuiter.h.
	(mbspcasecmp): Use mbuif_* macros instead of mbui_* macros.
	* modules/mbspcasecmp (Depends-on): Add mbuiterf. Remove mbuiter.

	mbsncasecmp: Optimize.
	* lib/mbsncasecmp.c: Include mbuiterf.h instead of mbuiter.h.
	(mbsncasecmp): Use mbuif_* macros instead of mbui_* macros.
	* modules/mbsncasecmp (Depends-on): Add mbuiterf. Remove mbuiter.

	mbscasecmp: Optimize.
	* lib/mbscasecmp.c: Include mbuiterf.h instead of mbuiter.h.
	(mbscasecmp): Use mbuif_* macros instead of mbui_* macros.
	* modules/mbscasecmp (Depends-on): Add mbuiterf. Remove mbuiter.

	mbssep: Optimize.
	* lib/mbssep.c: Include mbuiterf.h instead of mbuiter.h.
	(mbssep): Use mbuif_* macros instead of mbui_* macros.
	* modules/mbssep (Depends-on): Add mbuiterf. Remove mbuiter.

	mbsrchr: Optimize.
	* lib/mbsrchr.c: Include mbuiterf.h instead of mbuiter.h.
	(mbsrchr): Use mbuif_* macros instead of mbui_* macros.
	* modules/mbsrchr (Depends-on): Add mbuiterf. Remove mbuiter.

	mbschr: Optimize.
	* lib/mbschr.c: Include mbuiterf.h instead of mbuiter.h.
	(mbschr): Use mbuif_* macros instead of mbui_* macros.
	* modules/mbschr (Depends-on): Add mbuiterf. Remove mbuiter.

	mbslen: Optimize.
	* lib/mbslen.c: Include mbuiterf.h instead of mbuiter.h.
	(mbslen): Use mbuif_* macros instead of mbui_* macros.
	* modules/mbslen (Depends-on): Add mbuiterf. Remove mbuiter.

	mbuiterf: Add a benchmark.
	* tests/bench-mbuiterf.c: New file, based on tests/bench-mbuiter.c.
	* modules/mbuiterf-bench-tests: New file, based on
	modules/mbuiter-bench-tests.

	mbuiterf: New module.
	* lib/mbuiterf.h: New file, based on lib/mbuiter.h.
	* lib/mbuiterf.c: New file, based on lib/mbuiter.c.
	* modules/mbuiterf: New file, based on modules/mbuiter.

2023-07-18  Bruno Haible  <bruno@clisp.org>

	mbiterf: Fix compiler warnings.
	* lib/mbiterf.h (mbiterf_next): Use C99 designated initializer syntax.
	* tests/bench-mbiterf.c (do_test): Use a 'const char *' pointer.

	trim: Optimize.
	* lib/trim.c: Include mbiterf.h instead of mbiter.h.
	(trim2): Use mbif_* macros instead of mbi_* macros.
	* modules/trim (Depends-on): Add mbiterf. Remove mbiter.

	mbmemcasecmp: Optimize.
	* lib/mbmemcasecmp.c: Include mbiterf.h instead of mbiter.h.
	(mbmemcasecmp): Use mbif_* macros instead of mbi_* macros.
	* modules/mbmemcasecmp (Depends-on): Add mbiterf. Remove mbiter.

	mbsnlen: Optimize.
	* lib/mbsnlen.c: Include mbiterf.h instead of mbiter.h.
	(mbsnlen): Use mbif_* macros instead of mbi_* macros.
	* modules/mbsnlen (Depends-on): Add mbiterf. Remove mbiter.

	mbiterf: Add a benchmark.
	* tests/bench-mbiterf.c: New file, based on tests/bench-mbiter.c.
	* modules/mbiterf-bench-tests: New file, based on
	modules/mbiter-bench-tests.

	mbiterf: New module.
	* lib/mbiterf.h: New file, based on lib/mbiter.h.
	* lib/mbiterf.c: New file, based on lib/mbiter.c.
	* modules/mbiterf: New file, based on modules/mbiter.

2023-07-18  Bruno Haible  <bruno@clisp.org>

	mbstok_r: Simplify dependencies.
	* lib/mbstok_r.c: Include <stdlib.h> instead of mbuiter.h.
	* modules/mbstok_r (Depends-on): Remove mbuiter.

2023-07-17  Simon Josefsson  <simon@josefsson.org>

	announce-gen: Allow using local git user.name.
	* build-aux/announce-gen (readable_interval): Remove --global
	parameter to 'git config' call.

2023-07-17  Bruno Haible  <bruno@clisp.org>

	mbuiter: Optimize.
	* lib/mbuiter.h (struct mbuiter_multi): Add cur_max field.
	(mbui_init): Initialize it.
	(mbuiter_multi_next): Use it instead of MB_CUR_MAX.
	(mbuiter_multi_copy): Update.

2023-07-17  Bruno Haible  <bruno@clisp.org>

	mbchar: Reduce size of 'struct mbchar'.
	* modules/mbfile (configure.ac): Define GNULIB_MBFILE as an indicator.
	* lib/mbchar.h (MBCHAR_BUF_SIZE): Set to 4.
	(struct mbchar): Disable member 'buf' if the module 'mbfile' is not in
	use.
	(mb_setascii): Disable if the module 'mbfile' is not in use.
	(mb_copy): Update.

2023-07-17  Bruno Haible  <bruno@clisp.org>

	mbszero: Fix for Minix.
	* lib/wchar.in.h: (_GL_MBSTATE_INIT_SIZE): Don't define on Minix.
	(_GL_MBSTATE_ZERO_SIZE): Define to 4 on Minix.

2023-07-17  Bruno Haible  <bruno@clisp.org>

	mbszero: Source code tweaks.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-07/msg00084.html>.
	* lib/wchar.in.h: Comment changes.
	(_GL_MBSTATE_INIT_SIZE): Don't define on NetBSD, Solaris, native
	Windows. Use a safe default at the end.
	(_GL_MBSTATE_ZERO_SIZE): Don't define on AIX, IRIX, Solaris, native
	Windows. Use a safe default at the end.
	* lib/mbrtoc16.c: Update comments accordingly.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	dfa: Optimize clearing an mbstate_t.
	* lib/dfa.c (mbszero) [GAWK]: Add fallback definition.
	(mbs_to_wchar, lex, addtok_wc, dfaexec_main): Use mbszero.
	* modules/dfa (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	uchar-c23: Optimize clearing an mbstate_t.
	* lib/lc-charset-unicode.c (locale_encoding_to_unicode,
	unicode_to_locale_encoding): Use mbszero.
	* modules/uchar-c23 (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	quotearg: Optimize clearing an mbstate_t.
	* lib/quotearg.c: Include <wchar.h>.
	(quotearg_buffer_restyled): Use mbszero.
	* modules/quotearg (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	vasnprintf, vasnwprintf: Optimize clearing an mbstate_t.
	* lib/vasnprintf.c (VASNPRINTF): Use mbszero.
	* modules/vasnprintf (Depends-on): Add mbszero.
	* modules/vasnwprintf (Depends-on): Likewise.
	* modules/c-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	mbmemcasecoll: Optimize clearing an mbstate_t.
	* lib/mbmemcasecoll.c (apply_c32tolower): Use mbszero.
	* modules/mbmemcasecoll (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	mbswidth: Optimize clearing an mbstate_t.
	* lib/mbswidth.c (mbsnwidth): Use mbszero.
	* modules/mbswidth (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	mbfile: Optimize clearing an mbstate_t.
	* lib/mbfile.h (mbfile_multi_getc, mbf_init): Use mbszero.
	* modules/mbfile (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	mbuiter: Optimize clearing an mbstate_t.
	* lib/mbuiter.h: Include <wchar.h>.
	(mbuiter_multi_next, mbuiter_multi_copy, mbui_init): Use mbszero.
	* modules/mbuiter (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	mbiter: Optimize clearing an mbstate_t.
	* lib/mbiter.h: Include <wchar.h>.
	(mbiter_multi_next, mbiter_multi_copy, mbi_init): Use mbszero.
	* modules/mbiter (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	c32stombs: Optimize clearing an mbstate_t.
	* lib/c32stombs.c (c32stombs): Use mbszero.
	* lib/uchar.in.h (c32stombs): Likewise.
	* modules/c32stombs (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	mbstoc32s: Optimize clearing an mbstate_t.
	* lib/mbstoc32s.c (mbstoc32s): Use mbszero.
	* lib/uchar.in.h (mbstoc32s): Likewise.
	* modules/mbstoc32s (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	mbstowcs: Optimize clearing an mbstate_t.
	* lib/mbstowcs.c (mbstowcs): Use mbszero.
	* modules/mbstowcs (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	c32tob: Optimize clearing an mbstate_t.
	* lib/c32tob.c (c32tob): Use mbszero.
	* modules/c32tob (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	wctomb: Optimize clearing an mbstate_t.
	* lib/wctomb-impl.h (wctomb): Use mbszero.
	* modules/wctomb (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	btoc32: Optimize clearing an mbstate_t.
	* lib/btoc32.c: Include <wchar.h>.
	(btoc32): Use mbszero.
	* modules/btoc32 (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	btowc: Optimize clearing an mbstate_t.
	* lib/btowc.c (btowc): Use mbszero.
	* modules/btowc (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	mbrtoc32: Optimize clearing an mbstate_t.
	* lib/mbrtoc32.c (mbrtoc32): Use mbszero.
	* modules/mbrtoc32 (Depends-on): Add mbsinit, mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	mbtowc: Optimize clearing an mbstate_t.
	* lib/mbtowc-impl.h (mbtowc): Use mbszero.
	* modules/mbtowc (Depends-on): Add mbszero.

2023-07-16  Bruno Haible  <bruno@clisp.org>

	mbszero: New module.
	* lib/wchar.in.h: Include <string.h>.
	(_GL_MBSTATE_INIT_SIZE, _GL_MBSTATE_ZERO_SIZE): New macros.
	(mbszero): New declaration.
	* lib/mbrtoc16.c: Update comments.
	* lib/mbszero.c: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_MBSZERO.
	* modules/wchar (Depends-on): Add extern-inline.
	(Makefile.am): Substitute GNULIB_MBSZERO.
	* modules/mbszero: New file.

2023-07-15  Bruno Haible  <bruno@clisp.org>

	mbsinit: Fix module description.
	* modules/mbsinit (Files): Add m4/mbrtowc.m4.

2023-07-15  Bruno Haible  <bruno@clisp.org>

	c32_apply_type_test: Fix compilation error with GCC < 9.
	* lib/uchar.in.h (c32_apply_type_test) [_GL_WCHAR_T_IS_UCS4]: Remove
	_GL_ARG_NONNULL attribute.

2023-07-13  Bruno Haible  <bruno@clisp.org>

	mbchar: Optimize is_basic.
	* lib/mbchar.h (is_basic_table): Remove declaration.
	(is_basic) [IS_BASIC_ASCII]: Define through a simple range test.
	* lib/mbchar.c (is_basic_table): Remove array.

	localcharset: Clean up locale encodings used by glibc.
	* lib/localcharset.h: Remove VISCII from the list, since never supported
	in glibc/localedata/SUPPORTED. JOHAB is not supported by glibc any more
	since 2000-09-25. TCVN5712-1 is not supported by glibc any more since
	2012-05-21.

2023-07-13  Bruno Haible  <bruno@clisp.org>

	doc: Mention c32_get_mapping, c32_apply_mapping.
	* doc/posix-functions/wctrans.texi: Mention c32_get_mapping.
	* doc/posix-functions/towctrans.texi: Mention c32_apply_mapping.
	* doc/strings.texi (Comparison of character APIs): Mention both.

	c32_apply_mapping: Add tests.
	* tests/test-c32_apply_mapping.c: New file.
	* modules/c32_apply_mapping-tests: New file.

	c32_apply_mapping: New module.
	* lib/uchar.in.h (c32_apply_mapping): New declaration.
	* lib/c32_apply_mapping.c: New file.
	* m4/uchar_h.m4 (gl_UCHAR_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_C32_APPLY_MAPPING.
	* modules/uchar (Makefile.am): Substitute GNULIB_C32_APPLY_MAPPING.
	* modules/c32_apply_mapping: New file.

	c32_get_mapping: Add tests.
	* tests/test-c32_get_mapping.c: New file.
	* modules/c32_get_mapping-tests: New file.

	c32_get_mapping: New module.
	* lib/uchar.in.h (c32_mapping_t): New type.
	(c32_get_mapping): New declaration.
	* lib/c32_get_mapping.c: New file, based on lib/wctrans-impl.h.
	* m4/uchar_h.m4 (gl_UCHAR_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_C32_GET_MAPPING.
	* modules/uchar (Makefile.am): Substitute GNULIB_C32_GET_MAPPING.
	* modules/c32_get_mapping: New file.

	towctrans: Relax license.
	* modules/towctrans (License): Change to LGPLv2+.
	* lib/towctrans.c: Update license notice.
	* lib/towctrans-impl.h: Likewise.

	wctrans: Relax license.
	* modules/wctrans (License): Change to LGPLv2+.
	* lib/wctrans.c: Update license notice.
	* lib/wctrans-impl.h: Likewise.

2023-07-12  Bruno Haible  <bruno@clisp.org>

	doc: Mention c32_get_type_test, c32_apply_type_test.
	* doc/posix-functions/wctype.texi: Mention c32_get_type_test.
	* doc/posix-functions/iswctype.texi: Mention c32_apply_type_test.
	* doc/strings.texi (Comparison of character APIs): Mention both.

	c32_apply_type_test: Add tests.
	* tests/test-c32_apply_type_test.c: New file.
	* modules/c32_apply_type_test-tests: New file.

	c32_apply_type_test: New module.
	* lib/uchar.in.h (c32_apply_type_test): New declaration.
	* lib/c32_apply_type_test.c: New file.
	* m4/uchar_h.m4 (gl_UCHAR_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_C32_APPLY_TYPE_TEST.
	* modules/uchar (Makefile.am): Substitute GNULIB_C32_APPLY_TYPE_TEST.
	* modules/c32_apply_type_test: New file.

	c32_get_type_test: Add tests.
	* tests/test-c32_get_type_test.c: New file.
	* modules/c32_get_type_test-tests: New file.

	c32_get_type_test: New module.
	* lib/uchar.in.h (c32_type_test_t): New type.
	(c32_get_type_test): New declaration.
	* lib/c32_get_type_test.c: New file, based on lib/wctype-impl.h.
	* m4/uchar_h.m4 (gl_UCHAR_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_C32_GET_TYPE_TEST.
	* modules/uchar (Makefile.am): Substitute GNULIB_C32_GET_TYPE_TEST.
	* modules/c32_get_type_test: New file.

	iswctype: Relax license.
	* modules/iswctype (License): Change to LGPLv2+.
	* lib/iswctype.c: Update license notice.
	* lib/iswctype-impl.h: Likewise.

	wctype: Relax license.
	* modules/wctype (License): Change to LGPLv2+.
	* lib/wctype.c: Update license notice.
	* lib/wctype-impl.h: Likewise.

2023-07-12  Bruno Haible  <bruno@clisp.org>

	mbiter, mbuiter: Small optimization.
	* lib/mbiter.h: Optimize away the in_shift field when the module
	'mbrtoc32-regular' is in use.
	* lib/mbuiter.h: Likewise.

2023-07-12  Gavin Smith  <gavinsmith0123@gmail.com>

	gendocs: support chapter- and section-level split
	* doc/gendocs_template: Add lines to mark parts of file to output
	only when splitting HTML by node.
	Remove obsolete comment about ranges of years in copyright notice
	(as per Karl).
	* build-aux/gendocs.sh
	[!texi2html]: Strip out parts of the template depending on --split.
	[texi2html] Include all of the template as before.

2023-07-11  Bruno Haible  <bruno@clisp.org>

	mbsrtoc32s, mbsnrtoc32s: Small optimization.
	* lib/mbsrtoc32s.c (USES_C32): Set to 0 when the module
	'mbrtoc32-regular' is in use.
	* lib/mbsnrtoc32s.c (USES_C32): Likewise.

2023-07-11  Bruno Haible  <bruno@clisp.org>

	mbswidth: Add a benchmark.
	* tests/bench-mbswidth.c: New file, based on tests/bench-mbiter.c.
	* modules/mbswidth-bench-tests: New file.

	mbuiter: Add a benchmark.
	* tests/bench-mbuiter.c: New file, based on tests/bench-mbiter.c.
	* modules/mbuiter-bench-tests: New file.

	mbiter: Add a benchmark.
	* tests/bench-mbiter.c: New file.
	* tests/bench-multibyte.h: New file.
	* modules/mbiter-bench-tests: New file.

	tests: Create new file bench.h.
	* tests/bench.h: New file, extracted from tests/bench-digest.h.
	* tests/bench-digest.h: Include it.
	* modules/crypto/md5-buffer-tests (Files): Add tests/bench.h.
	* modules/crypto/sha1-buffer-tests (Files): Likewise.
	* modules/crypto/sha256-buffer-tests (Files): Likewise.
	* modules/crypto/sha512-buffer-tests (Files): Likewise.

2023-07-11  Bruno Haible  <bruno@clisp.org>

	Optimize away some mbsinit calls.
	* lib/mbiter.h (mbiter_multi_next): When the module 'mbrtoc32-regular'
	is in use, don't invoke mbsinit and don't compare the mbrtoc32 result
	against (size_t)(-3).
	* lib/mbuiter.h (mbuiter_multi_next): Likewise.
	* lib/mbfile.h (mbfile_multi_getc): Likewise.
	* lib/mbswidth.c (mbsnwidth): Likewise.
	* lib/mbmemcasecoll.c (apply_c32tolower): Likewise.
	* lib/quotearg.c (quotearg_buffer_restyled): Likewise.

2023-07-11  Bruno Haible  <bruno@clisp.org>

	Fix build errors on Linux/hppa.
	* modules/math (Makefile.am): Split long pipe command into several
	smaller commands.
	* modules/pthread-h (Makefile.am): Likewise.
	* modules/stdio (Makefile.am): Likewise.
	* modules/stdlib (Makefile.am): Likewise.
	* modules/string (Makefile.am): Likewise.
	* modules/unictype/base (Makefile.am): Likewise.
	* modules/unistd (Makefile.am): Likewise.
	* modules/wchar (Makefile.am): Likewise.

2023-07-11  Paul Eggert  <eggert@cs.ucla.edu>

	quotearg: update Solaris-related comments
	* doc/solaris-versions: Modernize.
	* lib/quotearg.c: Update comments.

2023-07-10  Bruno Haible  <bruno@clisp.org>

	dfa: Overcome wchar_t limitations.
	* lib/localeinfo.h: Include <uchar.h>. Add special definitions for GAWK.
	(case_folded_counterparts): Change array element type to char32_t.
	* lib/localeinfo.c: Include <uchar.h>. Add special definitions for GAWK.
	(is_using_utf8, init_localeinfo): Use mbrtoc32 instead of mbrtowc.
	(lonesome_lower): Change element type to 'unsigned short'.
	(case_folded_counterparts): Change array element type to char32_t. Use
	c32toupper instead of towupper. Use c32tolower instead of towlower.
	* lib/dfa.c: Include <uchar.h>. Add special definitions for GAWK.
	(struct mb_char_classes): Change element type of 'chars' to char32_t.
	(mbs_to_wchar): Use mbrtoc32 instead of mbrtowc.
	(setbit_wc): Change type of first argument to char32_t. Use c32tob
	instead of wctob.
	(parse_bracket_exp): Update.
	(lex): Use c32isprint instead of iswprint. Use c32isspace instead of
	iswspace. Use c32rtomb instead of a %lc directive.
	(addtok_wc): Use c32rtomb instead of wcrtomb.
	(atom): Update.
	* modules/dfa (Depends-on): Remove wctype-h. Add uchar,
	mbrtoc32-regular, c32rtomb, c32tob, c32tolower, c32toupper, c32isprint,
	c32isspace.
	(Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/dfa-tests (Makefile.am): Link test-dfa-match-aux with
	$(LIBUNISTRING) $(LIBC32CONV).
	* NEWS: Mention the change.

2023-07-10  Bruno Haible  <bruno@clisp.org>

	mbrtoc32-regular: Add tests.
	* tests/test-mbrtoc32-regular.c: New file.
	* modules/mbrtoc32-regular-tests: New file.

	mbrtoc32-regular: New module.
	* modules/mbrtoc32-regular: New file.
	* lib/mbrtoc32.c (mbrtoc32): If the module 'mbrtoc32-regular' is present
	and the system's mbrtoc32 returned a char32_t, clear the mbstate_t.
	* doc/posix-functions/mbrtoc32.texi: Mention the new module.

2023-07-10  Bruno Haible  <bruno@clisp.org>

	Apply the last change to all locale-*.m4 files.
	* m4/locale-ar.m4 (gt_LOCALE_AR): Reject locale name that might cause
	trouble with sh or make.
	* m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.

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

	c32width: protect against bad configure args
	Avoid ‘test’ misuse with ‘./configure gt_cv_locale_fr=""’.
	Possible problem of this sort reported by Angelo Graziosi in:
	https://lists.gnu.org/r/emacs-devel/2023-07/msg00329.html
	* m4/locale-fr.m4 (gt_LOCALE_FR_UTF8, gt_LOCALE_FR_UTF8):
	* m4/locale-ja.m4 (gt_LOCALE_JA):
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN):
	Reject locale names that might cause trouble with sh or make.

2023-07-06  Bruno Haible  <bruno@clisp.org>

	wcscmp: Work around a glibc bug.
	Reported by مصعب الزعبي (Mosab Al-Zoubi) <moceap@hotmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-07/msg00029.html>.
	* m4/wcscmp.m4 (gl_FUNC_WCSCMP): Test against a glibc/arm* bug.
	* doc/posix-functions/wcscmp.texi: Mention the glibc/arm* bug.

2023-07-04  Bruno Haible  <bruno@clisp.org>

	mbiter, mbfile, mbmemcasecoll: Improve handling of mbrtoc32 result.
	* lib/mbiter.h (mbi_avail): If cur.ptr has reached the limit but
	in_shift is true, call mbiter_multi_next.
	(mbiter_multi_next): Set in_shift to false after an incomplete multibyte
	character.
	* lib/mbfile.h (mbfile_multi_getc): Pass the input bytes incrementally
	into mbrtoc32. When mbf->state is not in the initial state, call
	mbrtoc32 again.
	* lib/mbmemcasecoll.c (apply_c32tolower): When the state is not in the
	initial state, call mbrtoc32 again.

2023-07-04  Bruno Haible  <bruno@clisp.org>

	mbiter, mbuiter, mbfile: Improve state handling after invalid input.
	* lib/mbiter.h (mbiter_multi_next): After an invalid multibyte sequence
	was encountered, clear the state.
	* lib/mbuiter.h (mbuiter_multi_next): Likewise.
	* lib/mbfile.h (mbfile_multi_getc): Likewise.

2023-07-04  Bruno Haible  <bruno@clisp.org>

	mbchar: Optimize all chars from the POSIX "portable character set".
	* lib/mbchar.h (is_basic): Include all the characters from the POSIX
	"portable character set".
	* lib/mbchar.c (is_basic_table): Likewise.
	* lib/mbiter.h (mbiter_multi_next): Update comment.
	* lib/mbuiter.h (mbuiter_multi_next): Likewise.
	* lib/mbfile.h (mbfile_multi_getc): Likewise.

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

	mbchar: treat @, $, ` as basic
	The C standard says that @, $, ` must have a single-byte
	representation so they count as basic as far as multibyte
	character processing goes.
	* lib/mbchar.c (is_basic_table):
	* lib/mbchar.h (is_basic):
	* lib/mbswidth.c (mbsnwidth):
	Treat @, $, ` as basic too.

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

	mbrtoc32: Document another glibc bug.
	* doc/posix-functions/mbrtoc32.texi: Reference the glibc bug in
	BIG5-HKSCS locales.

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

	mbrtoc32: document (size_t) -3 issue
	* doc/posix-functions/mbrtoc32.texi (mbrtoc32):
	Say (size_t) -3 might not be worth bothering about.

2023-07-02  Bruno Haible  <bruno@clisp.org>

	mbsrtoc32s: Accommodate a difference between mbrtowc and mbrtoc32.
	* lib/mbsrtoc32s.c (USES_C32): New macro.
	* lib/mbsrtowcs.c (USES_C32): New macro.
	* lib/mbsrtowcs-impl.h (FUNC): If USES_C32 and mbrtoc32 returned
	(size_t)(-3), don't increment the pointer.

2023-07-02  Bruno Haible  <bruno@clisp.org>

	mbsnrtoc32s: Accommodate a difference between mbrtowc and mbrtoc32.
	* lib/mbsnrtoc32s.c (USES_C32): New macro.
	* lib/mbsnrtowcs.c (USES_C32): New macro.
	* lib/mbsnrtowcs-impl.h (FUNC): If USES_C32 and mbrtoc32 returned
	(size_t)(-3), don't increment the pointer.

2023-07-02  Bruno Haible  <bruno@clisp.org>

	mbmemcasecoll: Overcome wchar_t limitations.
	* lib/mbmemcasecoll.c: Include <uchar.h> instead of <wctype.h>.
	(apply_c32tolower): Renamed from apply_towlower. Use mbrtoc32 instead of
	mbrtowc. Use c32tolower instead of towlower. Use c32rtomb instead of
	wcrtomb.
	* modules/mbmemcasecoll (Depends-on): Remove mbrtowc, wcrtomb. Add
	uchar, mbrtoc32, c32rtomb, c32tolower.
	(Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/mbmemcasecoll-tests (Makefile.am): Link test-mbmemcasecoll
	with $(LIBUNISTRING) $(LIBC32CONV).

2023-07-02  Bruno Haible  <bruno@clisp.org>

	mbswidth: Overcome wchar_t limitations.
	* lib/mbswidth.c: Include <uchar.h> instead of <wctype.h>.
	(mbsnwidth): Use mbrtoc32 instead of mbrtowc. Use c32width instead of
	wcwidth. Use c32iscntrl instead of iswcntrl.
	* modules/mbswidth (Depends-on): Remove wctype-h, mbrtowc, wcwidth. Add
	uchar, mbrtoc32, c32width, c32iscntrl.
	(Link): Add $(LIBC32CONV).

2023-07-01  Paul Eggert  <eggert@cs.ucla.edu>

	Fix long bootstrap lines
	* top/bootstrap:
	* top/bootstrap-funclib.sh: Reformat to fit into 80 columns,
	for coreutils ‘make syntax-check’.

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

	doc: Update regarding stable branches.
	* doc/gnulib-readme.texi (Stable Branches): Mention new branch
	stable-202307. Mention that stable-202207 is no longer updated.

2023-07-01  Paul Eggert  <eggert@cs.ucla.edu>

	maint.mk: Modernize stddef.h checks for C23
	* top/maint.mk (_stddef_syms_re): Modernize for C23.

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

	quotearg: Overcome wchar_t limitations.
	* lib/quotearg.c: Include <uchar.h> instead of <wchar.h>, <wctype.h>.
	(quotearg_buffer_restyled): Use mbrtoc32, c32isprint instead of mbrtowc,
	iswprint.
	* modules/quotearg (Files): Remove m4/mbstate_t.m4, m4/mbrtowc.m4
	(redundant).
	(Depends-on): Add uchar, mbrtoc32, c32isprint. Remove wchar, wctype-h,
	mbrtowc.
	(Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/quotearg-tests (Makefile.am): Link test-quotearg with
	$(LIBUNISTRING) $(LIBC32CONV).
	* modules/quotearg-simple (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/quotearg-simple-tests (Makefile.am): Link test-quotearg-simple
	with $(LIBUNISTRING) $(LIBC32CONV).
	--
	* modules/quote (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	--
	* modules/acl (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/acl-tests (Makefile.am): Link test-set-mode-acl and
	test-copy-acl with $(LIBUNISTRING) $(LIBC32CONV).
	* modules/copy-file (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/copy-file-tests (Makefile.am): Link test-copy-file with
	$(LIBUNISTRING) $(LIBC32CONV).
	--
	* modules/argmatch (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/argmatch-tests (Makefile.am): Link test-argmatch with
	$(LIBUNISTRING) $(LIBC32CONV).
	* modules/backup-rename (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/backupfile (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/human (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	--
	* modules/sh-quote (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/sh-quote-tests (Makefile.am): Link test-sh-quote with
	$(LIBUNISTRING) $(LIBC32CONV).
	* modules/system-quote (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/system-quote-tests (Makefile.am): Link test-system-quote-main
	with $(LIBUNISTRING) $(LIBC32CONV).
	* modules/csharpcomp (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/csharpexec (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/javacomp (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/javaexec (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	--
	* modules/string-desc-quotearg (Link): New section.
	* modules/string-desc-quotearg-tests (Makefile.am): Link
	test-string-desc-quotearg with $(LIBUNISTRING) $(LIBC32CONV).
	--
	* modules/xmemcoll (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	--
	* modules/closeout (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/readtokens-tests (Makefile.am): Link test-readtokens with
	$(LIBUNISTRING) $(LIBC32CONV).
	--
	* modules/closein (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/closein-tests (Makefile.am): Link test-closein with
	$(LIBUNISTRING) $(LIBC32CONV).
	* modules/yesno-tests (Makefile.am): Link test-yesno with
	$(LIBUNISTRING) $(LIBC32CONV).

2023-06-30  Bruno Haible  <bruno@clisp.org>

	Accommodate a difference between mbrtowc and mbrtoc32.
	* lib/mbiter.h (mbiter_multi_next): Handle the mbrtoc32 return value
	(size_t)(-3).
	* lib/mbuiter.h (mbuiter_multi_next): Likewise.
	* lib/mbfile.h (mbfile_multi_getc): Likewise.

2023-06-30  Bruno Haible  <bruno@clisp.org>

	doc: Reference some reported bugs (in comments).
	* doc/posix-functions/mbrlen.texi: Add references to bug reports.
	* doc/posix-functions/mbrtoc16.texi: Likewise.
	* doc/posix-functions/mbrtoc32.texi: Likewise.
	* doc/posix-functions/mbrtowc.texi: Likewise.
	* doc/posix-functions/mbsnrtowcs.texi: Likewise.
	* doc/posix-functions/mbsrtowcs.texi: Likewise.
	* doc/posix-functions/mbstowcs.texi: Likewise.

2023-06-29  Paul Eggert  <eggert@cs.ucla.edu>

	assert-tests: pacify gcc -Wunused-function
	* tests/test-assert.c (main): Call f, so that the test
	works even if NDEBUG is defined.

	stddef-tests: pacify gcc -Wshadow
	* tests/test-stddef.c (mat): Rename from ‘x’.

	nullptr-tests: pacify gcc -Wmissing-declarations
	* tests/test-nullptr.c (varargs_callee): Now static.

2023-06-29  Bruno Haible  <bruno@clisp.org>

	libtextstyle-optional: Update to gettext 0.22.
	* lib/textstyle.in.h: Declare all functions that were added in
	textstyle.h from gettext-0.22.

	libtextstyle-optional: Update to gettext 0.21.
	* lib/textstyle.in.h: Declare all functions that exist in textstyle.h
	from gettext-0.21, independently of iconv.

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

	doc: Mention c8rtomb and mbrtoc8 from ISO C 23.
	* doc/posix-functions/c8rtomb.texi: New file.
	* doc/posix-functions/mbrtoc8.texi: New file.
	* doc/gnulib.texi (Function Substitutes): Include them.

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

	mbrtoc16: Add tests.
	* tests/test-mbrtoc16.c: New file, based on tests/test-mbrtoc32.c.
	* tests/test-mbrtoc16-1.sh: New file, based on tests/test-mbrtoc32-1.sh.
	* tests/test-mbrtoc16-2.sh: New file, based on tests/test-mbrtoc32-2.sh.
	* tests/test-mbrtoc16-3.sh: New file, based on tests/test-mbrtoc32-3.sh.
	* tests/test-mbrtoc16-4.sh: New file, based on tests/test-mbrtoc32-4.sh.
	* tests/test-mbrtoc16-5.sh: New file, based on tests/test-mbrtoc32-5.sh.
	* tests/test-mbrtoc16-w32.c: New file, based on
	tests/test-mbrtoc32-w32.c.
	* tests/test-mbrtoc16-w32-1.sh: New file, based on
	tests/test-mbrtoc32-w32-1.sh.
	* tests/test-mbrtoc16-w32-2.sh: New file, based on
	tests/test-mbrtoc32-w32-2.sh.
	* tests/test-mbrtoc16-w32-3.sh: New file, based on
	tests/test-mbrtoc32-w32-3.sh.
	* tests/test-mbrtoc16-w32-4.sh: New file, based on
	tests/test-mbrtoc32-w32-4.sh.
	* tests/test-mbrtoc16-w32-5.sh: New file, based on
	tests/test-mbrtoc32-w32-5.sh.
	* tests/test-mbrtoc16-w32-6.sh: New file, based on
	tests/test-mbrtoc32-w32-6.sh.
	* tests/test-mbrtoc16-w32-7.sh: New file, based on
	tests/test-mbrtoc32-w32-7.sh.
	* modules/mbrtoc16-tests: New file, based on modules/mbrtoc32-tests.

	mbrtoc16: New module.
	* lib/uchar.in.h (mbrtoc16): New declaration.
	* lib/mbrtoc16.c: New file.
	* m4/mbrtoc16.m4: New file, based on m4/mbrtoc32.m4.
	* modules/mbrtoc16: New file.
	* m4/uchar_h.m4 (gl_UCHAR_H): Test whether mbrtoc16 is declared.
	(gl_UCHAR_H_REQUIRE_DEFAULTS): Initialize GNULIB_MBRTOC16.
	(gl_UCHAR_H_DEFAULTS): Initialize HAVE_MBRTOC16, REPLACE_MBRTOC16.
	* modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC16,
	HAVE_MBRTOC16, REPLACE_MBRTOC16.
	* doc/posix-functions/mbrtoc16.texi: Mention the mbrtoc16 module and the
	mbsinit related limitation.
	* doc/posix-functions/mbsinit.texi: Mention the mbrtoc16 related
	limitation.

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

	c32*: Update comment.
	* lib/c32is-impl.h (FUNC): Add comment regarding Android.
	* lib/c32to-impl.h (FUNC): Likewise.
	* lib/c32width.c (c32width): Likewise.

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

	mbrtoc32: Doc tweak.
	* doc/posix-functions/mbrtoc32.texi: Mention that mingw and Android have
	the empty input bug.
	* m4/mbrtoc32.m4 (gl_MBRTOC32_EMPTY_INPUT): Update cross-compilation
	guess.

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

	mbrtowc: Doc tweak.
	* doc/posix-functions/mbrtowc.texi: Mention that MSVC has the empty
	input bug and the return value bug. Mention that Android has the empty
	input bug.
	* m4/mbrtowc.m4 (gl_MBRTOC32_EMPTY_INPUT): Update cross-compilation
	guess.

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

	mbrtowc, mbrtoc32: Simplify autoconf macros.
	* m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Put
	cross-compilation guess at the usual place.
	* m4/mbrtoc32.m4 (gl_MBRTOC32_EMPTY_INPUT, gl_MBRTOC32_C_LOCALE):
	Likewise.

2023-06-27  Bruno Haible  <bruno@clisp.org>

	c32*: Optionally enforce ISO C 23 semantics of char32_t.
	* lib/lc-charset-unicode.h: New file.
	* lib/lc-charset-unicode.c: New file.
	* modules/uchar-c23: New file.
	* lib/uchar.in.h (char32_t): Add comment.
	* lib/mbrtoc32.c: Include lc-charset-unicode.h.
	(mbrtoc32): If char32_t is Unicode and wchar_t is not, invoke
	locale_encoding_to_unicode.
	* lib/btoc32.c: Include lc-charset-unicode.h.
	(btoc32): If char32_t is Unicode and wchar_t is not, invoke
	locale_encoding_to_unicode.
	* lib/c32rtomb.c: Include lc-charset-unicode.h.
	(c32rtomb): If char32_t is Unicode and wchar_t is not, invoke
	unicode_to_locale_encoding.
	* lib/c32tob.c: Include lc-charset-unicode.h.
	(c32tob): If char32_t is Unicode and wchar_t is not, invoke
	unicode_to_locale_encoding.
	* lib/mbsnrtoc32s.c: If char32_t is Unicode and wchar_t is not, don't
	use mbsnrtowcs.
	* lib/mbsrtoc32s.c: If char32_t is Unicode and wchar_t is not, don't use
	mbsrtowcs.
	* lib/c32snrtombs.c: If char32_t is Unicode and wchar_t is not, don't
	use wcsnrtombs.
	* lib/c32srtombs.c: If char32_t is Unicode and wchar_t is not, don't use
	wcsrtombs.
	* lib/c32is-impl.h: Include lc-charset-unicode.h.
	(FUNC): If char32_t is Unicode and wchar_t is not, use UCS_FUNC.
	* lib/c32to-impl.h: Include lc-charset-unicode.h.
	(FUNC): If char32_t is Unicode and wchar_t is not, use UCS_FUNC.
	* lib/c32width.c: Include lc-charset-unicode.h.
	(c32width): If char32_t is Unicode and wchar_t is not, use uc_width.
	* tests/test-mbrtoc32.c: Include <wchar.h>.
	(main): Skip GB18030 tests on NetBSD and Solaris. If
	GL_CHAR32_T_IS_UNICODE, expect Unicode encoding for the char32_t values.
	* tests/test-mbrtoc32-w32.c: Include <wchar.h>.
	(test_one_locale): Simplify.
	* tests/test-c32rtomb.c (main): Skip GB18030 tests on NetBSD and
	Solaris.
	* tests/test-c32rtomb.sh: Update.
	* tests/test-mbsnrtoc32s.c: Include <wchar.h>.
	(main): Skip GB18030 tests on NetBSD and Solaris.
	* tests/test-mbsrtoc32s.c: Include <wchar.h>.
	(main): Skip GB18030 tests on NetBSD and Solaris.
	* tests/test-mbstoc32s.c (main): Skip GB18030 tests on NetBSD and
	Solaris.
	* tests/test-c32snrtombs.c (main): Skip GB18030 tests on NetBSD and
	Solaris.
	* tests/test-c32srtombs.c (main): Skip GB18030 tests on NetBSD and
	Solaris.
	* tests/test-c32stombs.c (main): Skip GB18030 tests on NetBSD and
	Solaris.
	* tests/test-c32isalnum.c (main): Skip GB18030 tests on NetBSD and
	Solaris.
	* tests/test-c32isalnum.sh: Update.
	* tests/test-c32isalpha.c (main): Skip GB18030 tests on NetBSD and
	Solaris. Disable tests that would fail on macOS, FreeBSD, NetBSD,
	Solaris.
	* tests/test-c32isalpha.sh: Update.
	* tests/test-c32isblank.c (main): Skip GB18030 tests on NetBSD and
	Solaris.
	* tests/test-c32isblank.sh: Update.
	* tests/test-c32iscntrl.c (main): Skip GB18030 tests on NetBSD and
	Solaris. Disable tests that would fail on macOS, FreeBSD, NetBSD,
	Solaris.
	* tests/test-c32iscntrl.sh: Update.
	* tests/test-c32isdigit.c (main): Skip GB18030 tests on NetBSD and
	Solaris.
	* tests/test-c32isdigit.sh: Update.
	* tests/test-c32isgraph.c (main): Skip GB18030 tests on NetBSD and
	Solaris. Disable tests that would fail on macOS, FreeBSD, NetBSD,
	Solaris.
	* tests/test-c32isgraph.sh: Update.
	* tests/test-c32islower.c (main): Skip GB18030 tests on NetBSD and
	Solaris. Disable tests that would fail on macOS, FreeBSD, NetBSD,
	Solaris.
	* tests/test-c32islower.sh: Update.
	* tests/test-c32isprint.c (main): Skip GB18030 tests on NetBSD and
	Solaris. Disable tests that would fail on macOS, FreeBSD, NetBSD,
	Solaris.
	* tests/test-c32isprint.sh: Update.
	* tests/test-c32ispunct.c (main): Skip GB18030 tests on NetBSD and
	Solaris. Disable tests that would fail on macOS, FreeBSD, NetBSD,
	Solaris.
	* tests/test-c32ispunct.sh: Update.
	* tests/test-c32isspace.c (main): Skip GB18030 tests on NetBSD and
	Solaris.
	* tests/test-c32isspace.sh: Update.
	* tests/test-c32isupper.c (main): Skip GB18030 tests on NetBSD and
	Solaris.
	* tests/test-c32isupper.sh: Update.
	* tests/test-c32isxdigit.c (main): Skip GB18030 tests on NetBSD and
	Solaris.
	* tests/test-c32isxdigit.sh: Update.
	* tests/test-c32tolower.c (main): Skip GB18030 tests on NetBSD and
	Solaris.
	* tests/test-c32tolower.sh: Update.
	* tests/test-c32toupper.c (main): Skip GB18030 tests on NetBSD and
	Solaris. Disable tests that would fail on macOS, FreeBSD, NetBSD,
	Solaris.
	* tests/test-c32toupper.sh: Update.
	* modules/mbrtoc32 (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/mbrtoc32-tests (Makefile.am): Link test-mbrtoc32 with
	$(LIBUNISTRING) $(LIBC32CONV).
	* modules/btoc32 (Link): New section.
	* modules/btoc32-tests (Makefile.am): Link test-btoc32 with
	$(LIBUNISTRING) $(LIBC32CONV).
	* modules/c32rtomb (Link): New section.
	* modules/c32rtomb-tests (Makefile.am): Link test-c32rtomb with
	$(LIBUNISTRING) $(LIBC32CONV).
	* modules/c32tob (Link): New section.
	* modules/mbsnrtoc32s (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/mbsnrtoc32s-tests (Makefile.am): Link test-mbsnrtoc32s with
	$(LIBUNISTRING) $(LIBC32CONV).
	* modules/mbsrtoc32s (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/mbsrtoc32s-tests (Makefile.am): Link test-mbsrtoc32s with
	$(LIBUNISTRING) $(LIBC32CONV).
	* modules/mbstoc32s (Link): Add $(LIBUNISTRING) $(LIBC32CONV).
	* modules/mbstoc32s-tests (Makefile.am): Link test-mbstoc32s with
	$(LIBUNISTRING) $(LIBC32CONV).
	* modules/c32snrtombs (Link): New section.
	* modules/c32snrtombs-tests (Makefile.am): Link test-c32snrtombs with
	$(LIBUNISTRING) $(LIBC32CONV).
	* modules/c32srtombs (Link): New section.
	* modules/c32srtombs-tests (Makefile.am): Link test-c32srtombs with
	$(LIBUNISTRING) $(LIBC32CONV).
	* modules/c32stombs (Link): New section.
	* modules/c32stombs-tests (Makefile.am): Link test-c32stombs with
	$(LIBUNISTRING) $(LIBC32CONV).
	* modules/c32isalnum (Link): Add $(LIBC32CONV).
	* modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
	$(LIBC32CONV).
	* modules/c32isalpha (Link): Add $(LIBC32CONV).
	* modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
	$(LIBC32CONV).
	* modules/c32isblank (Link): Add $(LIBC32CONV).
	* modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
	$(LIBC32CONV).
	* modules/c32iscntrl (Link): Add $(LIBC32CONV).
	* modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
	$(LIBC32CONV).
	* modules/c32isdigit (Link): Add $(LIBC32CONV).
	* modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
	$(LIBC32CONV).
	* modules/c32isgraph (Link): Add $(LIBC32CONV).
	* modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
	$(LIBC32CONV).
	* modules/c32islower (Link): Add $(LIBC32CONV).
	* modules/c32islower-tests (Makefile.am): Link test-c32islower with
	$(LIBC32CONV).
	* modules/c32isprint (Link): Add $(LIBC32CONV).
	* modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
	$(LIBC32CONV).
	* modules/c32ispunct (Link): Add $(LIBC32CONV).
	* modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
	$(LIBC32CONV).
	* modules/c32isspace (Link): Add $(LIBC32CONV).
	* modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
	$(LIBC32CONV).
	* modules/c32isupper (Link): Add $(LIBC32CONV).
	* modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
	$(LIBC32CONV).
	* modules/c32isxdigit (Link): Add $(LIBC32CONV).
	* modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
	$(LIBC32CONV).
	* modules/c32tolower (Link): Add $(LIBC32CONV).
	* modules/c32tolower-tests (Makefile.am): Link test-c32tolower with
	$(LIBC32CONV).
	* modules/c32toupper (Link): Add $(LIBC32CONV).
	* modules/c32toupper-tests (Makefile.am): Link test-c32toupper with
	$(LIBC32CONV).
	* modules/c32width (Link): Add $(LIBC32CONV).
	* modules/c32width-tests (Makefile.am): Link test-c32width with
	$(LIBC32CONV).
	* modules/c32swidth (Link): Add $(LIBC32CONV).
	* modules/c32swidth-tests (Makefile.am): Link test-c32swidth with
	$(LIBC32CONV).
	* modules/mbchar (Link): Add $(LIBC32CONV).
	* modules/mbiter (Link): Add $(LIBC32CONV).
	* modules/mbuiter (Link): Add $(LIBC32CONV).
	* modules/mbfile (Link): Add $(LIBC32CONV).
	* modules/mbmemcasecmp (Link): Add $(LIBC32CONV).
	* modules/mbmemcasecmp-tests (Makefile.am): Link test-mbmemcasecmp with
	$(LIBC32CONV).
	* modules/mbscasecmp (Link): Add $(LIBC32CONV).
	* modules/mbscasecmp-tests (Makefile.am): Link test-mbscasecmp with
	$(LIBC32CONV).
	* modules/mbscasestr (Link): Add $(LIBC32CONV).
	* modules/mbscasestr-tests (Makefile.am): Link test-mbscasestr1,
	test-mbscasestr2, test-mbscasestr3, test-mbscasestr4 with $(LIBC32CONV).
	* modules/mbschr (Link): Add $(LIBC32CONV).
	* modules/mbschr-tests (Makefile.am): Link test-mbschr with
	$(LIBC32CONV).
	* modules/mbscspn (Link): Add $(LIBC32CONV).
	* modules/mbscspn-tests (Makefile.am): Link test-mbscspn with
	$(LIBC32CONV).
	* modules/mbslen (Link): Add $(LIBC32CONV).
	* modules/mbsncasecmp (Link): Add $(LIBC32CONV).
	* modules/mbsncasecmp-tests (Makefile.am): Link test-mbsncasecmp with
	$(LIBC32CONV).
	* modules/mbsnlen (Link): Add $(LIBC32CONV).
	* modules/mbspbrk (Link): Add $(LIBC32CONV).
	* modules/mbspbrk-tests (Makefile.am): Link test-mbspbrk with
	$(LIBC32CONV).
	* modules/mbspcasecmp (Link): Add $(LIBC32CONV).
	* modules/mbspcasecmp-tests (Makefile.am): Link test-mbspcasecmp with
	$(LIBC32CONV).
	* modules/mbsrchr (Link): Add $(LIBC32CONV).
	* modules/mbsrchr-tests (Makefile.am): Link test-mbsrchr with
	$(LIBC32CONV).
	* modules/mbssep (Link): Add $(LIBC32CONV).
	* modules/mbsspn (Link): Add $(LIBC32CONV).
	* modules/mbsspn-tests (Makefile.am): Link test-mbsspn with
	$(LIBC32CONV).
	* modules/mbsstr (Link): Add $(LIBC32CONV).
	* modules/mbsstr-tests (Makefile.am): Link test-mbsstr1, test-mbsstr2,
	test-mbsstr3 with $(LIBC32CONV).
	* modules/mbstok_r (Link): Add $(LIBC32CONV).
	* modules/propername (Link): Add $(LIBC32CONV).
	* modules/regex-quote (Link): Add $(LIBC32CONV).
	* modules/regex-quote-tests (Makefile.am): Link test-regex-quote with
	$(LIBC32CONV).
	* modules/trim (Link): Add $(LIBC32CONV).
	* modules/trim-tests (Makefile.am): Link test-trim with $(LIBC32CONV).
	* modules/exclude (Link): Add $(LIBC32CONV).
	* modules/exclude-tests (Makefile.am): Link test-exclude with
	$(LIBC32CONV).
	* doc/posix-headers/uchar.texi: Mention the uchar-c23 module.
	* doc/posix-functions/mbrtoc32.texi: Likewise.
	* doc/strings.texi (The char32_t type): Likewise.

2023-06-27  Bruno Haible  <bruno@clisp.org>

	striconveh: Fix module description.
	* modules/striconveh (Link): Add $(LIBUNISTRING).
	* modules/striconveha (Link): New section.
	* modules/xstriconveh (Link): New section.

2023-06-25  Bruno Haible  <bruno@clisp.org>

	strncat: Update doc regarding Solaris 11.4.
	* doc/posix-functions/strncat.texi: Mention that the bug still exists on
	Solaris 11.4.
	* m4/strncat.m4 (gl_FUNC_STRNCAT): Update comments.

2023-06-25  Bruno Haible  <bruno@clisp.org>

	thread: Avoid compiler warnings on Solaris.
	* lib/glthread/thread.h: Include <stdint.h>.
	(gl_thread_self_pointer): Do the cast from pthread_t to 'void *' via
	intptr_t.
	* modules/thread (Depends-on): Add stdint.

2023-06-25  Bruno Haible  <bruno@clisp.org>

	strerrorname_np: Add support for Solaris 11.4/sparc.
	* lib/strerrorname_np.c (strerrorname_np): Consider ECKSUM, EFRAGS.
	Allow ENOANO to be overloaded to another value.
	* tests/test-strerrorname_np.c (main): Likewise.

2023-06-25  Jim Meyering  <meyering@meta.com>

	doc: correct doubled "on on"
	* doc/glibc-functions/initstate_r.texi: As above.
	* doc/posix-functions/initstate.texi: As above.

2023-06-25  Bruno Haible  <bruno@clisp.org>

	sigdescr_np tests: Avoid test failure on glibc/sparc.
	* tests/test-sigdescr_np.c (main): Accept the glibc result for SIGEMT.
	* doc/glibc-functions/sigdescr_np.texi: Mention two glibc deficiencies.

2023-06-25  Bruno Haible  <bruno@clisp.org>

	strerrorname_np: Work around glibc bug on PowerPC, SPARC systems.
	* m4/strerrorname_np.m4 (gl_FUNC_STRERRORNAME_NP): Test also
	strerrorname_np (EDEADLOCK).
	* doc/glibc-functions/strerrorname_np.texi: Mention that glibc 2.36
	still needs a workaround.

2023-06-25  Bruno Haible  <bruno@clisp.org>

	doc: Mention glibc initstate, initstate_r bug.
	* doc/posix-functions/initstate.texi: Mention glibc bug.
	* doc/glibc-functions/initstate_r.texi: Likewise.
	* tests/test-random_r.c: Add a comment.

2023-06-25  Bruno Haible  <bruno@clisp.org>

	doc: Update doc regarding 'setstate'.
	* doc/posix-functions/setstate.texi: Mention also Solaris 11.4.

2023-06-25  Bruno Haible  <bruno@clisp.org>

	doc: Update doc regarding <ieee754.h>.
	* doc/glibc-headers/ieee754.texi: Mention that it's not present on
	glibc/sparc64 in 32-bit mode.

2023-06-25  Bruno Haible  <bruno@clisp.org>

	exclude: Complete last change.
	* lib/exclude.c: Include <uchar.h> instead of <wctype.h>.

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

	mbchar, mbiter, mbuiter: Overcome wchar_t limitations.
	* lib/mbchar.h: Include <uchar.h> instead of <wchar.h>, <wctype.h>.
	(struct mbchar): Use char32_t instead of wchar_t.
	(mb_casecmp, mb_caseequal): Use c32tolower instead of towlower.
	(mb_isalnum): Use c32isalnum instead of iswalnum.
	(mb_isalpha): Use c32isalpha instead of iswalpha.
	(mb_isblank): Use c32isblank instead of iswblank.
	(mb_iscntrl): Use c32iscntrl instead of iswcntrl.
	(mb_isdigit): Use c32isdigit instead of iswdigit.
	(mb_isgraph): Use c32isgraph instead of iswgraph.
	(mb_islower): Use c32islower instead of iswlower.
	(mb_isprint): Use c32isprint instead of iswprint.
	(mb_ispunct): Use c32ispunct instead of iswpunct.
	(mb_isspace): Use c32isspace instead of iswspace.
	(mb_isupper): Use c32isupper instead of iswupper.
	(mb_isxdigit): Use c32isxdigit instead of iswxdigit.
	(mb_width_aux): Use c32width, c32iscntrl instead of wcwidth, iswcntrl.
	* lib/mbiter.h: Include <uchar.h> instead of <wchar.h>.
	(mbiter_multi_next): Use mbrtoc32 instead of mbrtowc.
	* lib/mbuiter.h: Include <uchar.h> instead of <wchar.h>.
	(mbuiter_multi_next): Use mbrtoc32 instead of mbrtowc.
	* lib/mbfile.h (mbfile_multi_getc): Use mbrtoc32 instead of mbrtowc.
	* lib/mbscasestr.c (knuth_morris_pratt_multibyte, mbscasestr): Use
	c32tolower instead of towlower.
	* lib/exclude.c (string_hasher_ci): Use char32_t, c32tolower instead of
	wchar_t, towlower.
	* modules/mbchar (Depends-on): Add uchar, c32isalnum, c32isalpha,
	c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
	c32ispunct, c32isspace, c32isupper, c32isxdigit, c32tolower, c32width.
	Remove wchar, wctype-h, iswblank, iswdigit, iswxdigit, wcwidth.
	* modules/mbiter (Depends-on): Add mbrtoc32, uchar. Remove mbrtowc,
	wchar.
	* modules/mbuiter (Depends-on): Likewise.
	* modules/mbscasestr (Depends-on): Add c32tolower.
	* modules/exclude (Depends-on): Add c32tolower.
	* doc/strings.texi (C strings): Fix typo.

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

	doc: Use makeinfo option to check menu structure.
	Trick revealed by Patrice Dumas <pertusus@free.fr> in
	<https://lists.gnu.org/archive/html/bug-texinfo/2023-06/msg00015.html>.
	* doc/Makefile (MAKEINFO): Enforce checking of menu structure.

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

	doc: Correct info menu structure.
	Reported by Elijah Zarezky <elijah@zarezky.spb.ru> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-06/msg00105.html>.
	* doc/strings.texi (Strings): Add missing @menu item.

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

	doc: INSTALL uses UTF-8 now
	* doc/Makefile (INSTALL.ISO, INSTALL.UTF-8):
	Adjust to the fact that INSTALL now uses UTF-8.
	INSTALL.UTF-8 is now obsolescent since it is identical.
	(INSTALL.ISO): Transliterate all non-ASCII characters,
	not just single quotes.
	* doc/INSTALL.ISO: Regenerate.

2023-06-19  Paul Eggert  <eggert@cs.ucla.edu>

	largefile: port to GNU/Linux s390x and alpha
	This patch syncs from Autoconf master.
	Problem reported by Matoro <https://bugs.gnu.org/64123>.
	* lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_TEST_CODE):
	New overridable macro FTYPE, to test types other than off_t.
	(_AC_SYS_LARGEFILE_TEST_CODE): Test ino_t for
	-D_FILE_OFFSETBITS=64 too, if no flags are needed for off_t.
	Needed for GNU/Linux on alpha and s390x.

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

	doc: Corrections to the "Strings and Characters" chapter.
	Suggested by Paul Eggert.
	* doc/strings.texi: Corrections: GB18030 is rarely used nowadays.
	<ctype.h> functions can be useful for specific data.

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

	doc: Use "spaced en dash" style instead of "spaced em dash" style.
	Suggested by Paul Eggert.
	* doc/gnulib.texi: At sentence level, use "spaced en dash" style instead
	of "spaced em dash" style.
	* doc/gnulib-intro.texi: Likewise.
	* doc/multithread.texi: Likewise.
	* doc/strings.texi: Likewise.

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

	setenv: Simplify m4 requires.
	* m4/setenv.m4 (gl_PREREQ_SETENV): Don't require AC_FUNC_ALLOCA.

2023-06-18  Bruno Haible  <bruno@clisp.org>

	configmake: Bypass the unusable 'echo' command of some shells.
	Reported by Brian Inglis <Brian.Inglis@Shaw.ca> in
	<https://lists.gnu.org/archive/html/bug-gettext/2023-06/msg00054.html>.
	* m4/build-to-host.m4 (gl_BUILD_TO_HOST): Use 'printf' instead of
	'echo', because the "dash" shell has a SystemV compatible 'echo'
	command. Also, be sure to remove trailing CRs.

2023-06-18  Paul Eggert  <eggert@cs.ucla.edu>

	update-copyright tests: fix to match behavior
	* tests/test-update-copyright.sh: Change tests to match new behavior.

2023-06-18  Bruno Haible  <bruno@clisp.org>

	update-copyright tests: Add tests for man pages.
	* tests/test-update-copyright.sh: Add 4 tests that use man page syntax.

2023-06-18  Bruno Haible  <bruno@clisp.org>

	gettext: Clarify the purpose of this module.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-06/msg00089.html>.
	* modules/gettext (Description): Clarify the purpose.
	(Makefile.am): Remove outdated comment. "gettextize --intl" is no longer
	possible since 2019.

2023-06-18  Paul Eggert  <eggert@cs.ucla.edu>

	Update \(en in copyright notices
	* build-aux/update-copyright (ndash_re): New var, matching \(en too.
	(stmt_remainder_re, stmt): Use it.
	(stmt): Match year in constructs like "\(en2023".
	(ndash): Now \(en in man pages.

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

	gettext: Update to gettext 0.22.
	* modules/gettext (Files): Add m4/build-to-host.m4.
	(configure.ac): Request infrastructure compatible with gettext 0.22.
	* m4/gettext.m4: Update from gettext 0.22.
	* m4/po.m4: Likewise.

2023-06-15  Bruno Haible  <bruno@clisp.org>

	aligned-malloc, rmdir-errno: Sanitize configuration test result.
	* m4/malloc-align.m4 (gl_MALLOC_ALIGNMENT): Don't put a newline at the
	end of the conftest.out file.
	* m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Don't put a newline at the
	end of the confdir2/errno file.

2023-06-13  Bruno Haible  <bruno@clisp.org>

	Make internationalization tests stricter on musl systems.
	--
	* m4/locale-fr.m4 (gt_LOCALE_FR): On musl systems, set LOCALE_FR_UTF8 to
	"fr_FR.UTF-8" instead of "none". Set and substitute
	LC_COLLATE_IMPLEMENTED, LC_NUMERIC_IMPLEMENTED, LC_TIME_IMPLEMENTED,
	LC_MONETARY_IMPLEMENTED.
	* m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Skip testing a certain locale if
	that locale is "none".
	* m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
	* m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
	* m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
	* m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Likewise.
	* m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
	--
	* tests/test-c32isalpha.c (main): On musl libc, disable tests that fail.
	* tests/test-c32iscntrl.c (main): Likewise.
	* tests/test-c32isgraph.c (main): Likewise.
	* tests/test-c32islower.c (main): Likewise.
	* tests/test-c32isprint.c (main): Likewise.
	* tests/test-c32toupper.c (main): Likewise.
	* tests/test-nl_langinfo1.c (main): Likewise.
	* tests/test-nl_langinfo2.c (main): Likewise.
	* modules/c32isalpha-tests (Files): Add musl.m4.
	(configure.ac): Invoke gl_MUSL_LIBC.
	* modules/c32iscntrl-tests (Files): Add musl.m4.
	(configure.ac): Invoke gl_MUSL_LIBC.
	* modules/c32isgraph-tests (Files): Add musl.m4.
	(configure.ac): Invoke gl_MUSL_LIBC.
	* modules/c32islower-tests (Files): Add musl.m4.
	(configure.ac): Invoke gl_MUSL_LIBC.
	* modules/c32isprint-tests (Files): Add musl.m4.
	(configure.ac): Invoke gl_MUSL_LIBC.
	* modules/c32toupper-tests (Files): Add musl.m4.
	(configure.ac): Invoke gl_MUSL_LIBC.
	* modules/nl_langinfo-tests (Files): Add musl.m4.
	(configure.ac): Invoke gl_MUSL_LIBC.
	--
	* tests/test-strtod1.sh: Skip the test if LC_NUMERIC_IMPLEMENTED is
	false.
	* tests/test-strtold1.sh: Likewise.
	* tests/test-vasnprintf-posix2.sh: Likewise.
	* tests/test-vasnwprintf-posix2.sh: Likewise.
	* modules/strtod-tests (Makefile.am): Set LC_NUMERIC_IMPLEMENTED in the
	tests environment.
	* modules/strtold-tests (Makefile.am): Likewise.
	* modules/vasnprintf-posix-tests (Makefile.am): Likewise.
	* modules/vasnwprintf-posix-tests (Makefile.am): Likewise.

2023-06-12  Bruno Haible  <bruno@clisp.org>

	vasnwprintf-posix: Work around another musl libc bug.
	* m4/printf.m4 (gl_SWPRINTF_DIRECTIVE_LC): New macro.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNWPRINTF): Invoke it, and set
	NEED_WPRINTF_DIRECTIVE_LC if the %lc test failed.
	* lib/vasnprintf.c (VASNPRINTF): If NEED_WPRINTF_DIRECTIVE_LC is set, do
	the processing for %lc and %ls ourselves.
	(local_wcslen): Update condition.
	* doc/posix-functions/swprintf.texi: Mention the %lc problem.

2023-06-12  Bruno Haible  <bruno@clisp.org>

	vasnwprintf-posix: Work around a musl libc bug.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNWPRINTF): Test also whether swprintf
	in the C locale is free of encoding errors, and set
	NEED_WPRINTF_DIRECTIVE_C if not.
	* doc/posix-functions/swprintf.texi: Clarify the list of platforms for
	the %c problem.

2023-06-12  Bruno Haible  <bruno@clisp.org>

	vasnwprintf: Fix some cross-compilation results.
	* m4/printf.m4 (gl_SWPRINTF_WORKS): Fix cross-compilation result for
	musl.
	(gl_SWPRINTF_DIRECTIVE_LA): Fix cross-compilation result for Android.

2023-06-12  Bruno Haible  <bruno@clisp.org>

	warnings: Save memory and CPU time when inhibiting all warnings.
	* m4/warnings.m4 (gl_WARN_ADD): Improve comments.
	(gl_CC_INHIBIT_WARNINGS): Add also '-fno-analyzer' to
	GL_CFLAG_INHIBIT_WARNINGS.
	(gl_CXX_INHIBIT_WARNINGS): Add also '-fno-analyzer' to
	GL_CXXFLAG_INHIBIT_WARNINGS.

2023-06-11  Bruno Haible  <bruno@clisp.org>

	javacomp-script, javacomp: Document effects of yesterday's change.
	* NEWS: Mention yesterday's change.

2023-06-11  Bruno Haible  <bruno@clisp.org>

	javacomp-script, javacomp: Silence javac warnings regarding [options].
	* m4/javacomp.m4 (gt_JAVACOMP): Use option '-Xlint:-options' by default
	and omit it only when it does not work.
	* lib/javacomp.c (compile_using_javac): Add nowarn_option parameter.
	(is_envjavac_usable): Add nowarn_option_out parameter. Use option
	'-Xlint:-options' by default and omit it only when it does not work.
	(is_javac_usable): Likewise.
	(compile_java_class): Store the nowarn_option returned from
	is_envjavac_usable and use it when invoking compile_using_envjavac.
	Store the nowarn_option returned from is_javac_usable and use it when
	invoking compile_using_javac.

2023-06-10  Bruno Haible  <bruno@clisp.org>

	javacomp-script, javacomp: Add support for javac versions > 11.
	Reported by Adrian Bunk <bunk-gnu@fs.tum.de> in
	<https://savannah.gnu.org/bugs/?63385>.
	* m4/javacomp.m4 (gt_JAVACOMP): When the java version is > 11, use that
	version as target_version, not 11. When the java version is > 17, don't
	warn. Remove goodcode, failcode variables. Don't bail out if the
	source-version argument or the target-version argument is in the range
	12..99. Use a heuristic that works with javac versions 11..20 at least.
	Update comments.
	* lib/javacomp.h (compile_java_class): State that source-version and
	target-version may be larger than 11.
	* lib/javacomp.c (default_target_version): Accommodate versions up to
	99.
	(SOURCE_VERSION_BOUND): Increase to 94.
	(source_version_index): Accept versions up to 99.
	(get_goodcode_snippet, get_failcode_snippet): Remove functions.
	(TARGET_VERSION_BOUND): Increase to 94.
	(target_version_index): Accept versions up to 99.
	(corresponding_classfile_version): Remove function.
	(execute_and_read_line): New function, based on lib/javaversion.c.
	(get_compiler_version): New function.
	(is_envjavac_usable): Add parameters source_option_out,
	target_option_out. Use a heuristic that works with javac versions 11..20
	at least. Call cleanup_temp_dir.
	(is_javac_usable): Likewise.
	(compile_java_class): Update.

2023-06-10  Bruno Haible  <bruno@clisp.org>

	javacomp-script, javacomp: Remove support for javac versions < 1.6.
	* m4/javacomp.m4 (gt_JAVACOMP): State that the minimum source_version
	and the minimum target_version are 1.6. Map smaller values to 1.6.
	Complain if the java version is < 1.6. Use 1.6 as default, instead of
	1.1. Don't bother trying the -target option alone.
	* lib/javacomp.h (compile_java_class): State that the minimum
	source_version and the minimum target_version are 1.6.
	* lib/javacomp.c (default_target_version): Complain if the java version
	is < 1.6. Use 1.6 as default, instead of 1.1.
	(SOURCE_VERSION_BOUND, source_version_index, get_goodcode_snippet,
	get_failcode_snippet): Adjust to the new minimum source_version = 1.6.
	(TARGET_VERSION_BOUND, target_version_index,
	corresponding_classfile_version): Adjust to the new minimum
	target_version = 1.6.
	(get_source_version_for_javac): Remove function.
	(is_envjavac_usable): Remove source_version_for_javac parameter. Don't
	bother trying the -target option alone.
	(is_javac_usable): Likewise.
	(compile_java_class): Map source_version < 1.6 to 1.6. Map
	target_version < 1.6 to 1.6. Use source_version instead of calling
	get_source_version_for_javac.

2023-06-10  Bruno Haible  <bruno@clisp.org>

	javacomp: Simplify after gcj support was removed.
	* m4/javacomp.m4 (gt_JAVACOMP): Don't create conftestlib.java.
	* lib/javacomp.c (compile_java_class): Remove local variables
	no_assert_option, fsource_option, ftarget_option.

2023-06-09  Bruno Haible  <bruno@clisp.org>

	doc: Document <stdatomic.h>.
	* doc/posix-headers/stdatomic.texi: New file.
	* doc/gnulib.texi (Header File Substitutes): Include it.

2023-06-09  Jim Meyering  <meyering@meta.com>

	maint.mk: sc_prohibit_xalloc_without_use: also match alloc_die
	* top/maint.mk (sc_prohibit_xalloc_without_use):
	Adjust in-comment command's regexp so it also finds alloc_die,
	whose declaration has a prefix of "_Noreturn ".
	Also delete some now-obsolete commentary.
	(_xa1): Regenerate the regexp using that command.
	Reported by Pádraig Brady in
	<https://lists.gnu.org/r/bug-gnulib/2023-06/msg00062.html>.

2023-06-09  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc-die: omit /*extern*/
	* lib/xalloc.h (xalloc_die): Omit leading "/*extern*/".
	It complicates syntax checking; see:
	https://lists.gnu.org/r/bug-gnulib/2023-06/msg00062.html
	Plus, it’s inconsistent style: the other function declarations in
	xalloc.h don’t use ‘extern’. (I’m not a fan of using ‘extern’ when
	it’s just noise, as is the case here.)

2023-06-09  Bruno Haible  <bruno@clisp.org>

	javaversion: Update comments.
	* lib/javaversion.h (javaexec_version): Document the possible results up
	to OpenJDK 20.

2023-06-09  Bruno Haible  <bruno@clisp.org>

	javacomp: Remove support for 'jikes'.
	* lib/javacomp.c (compile_using_jikes, is_jikes_present): Remove
	functions.
	(compile_java_class): Remove jikes related code.

	javacomp-script: Remove support for 'jikes'.
	* build-aux/javacomp.sh.in: Don't test HAVE_JIKES.
	* m4/javacomp.m4 (gt_JAVACOMP): Don't set HAVE_JIKES. Don't set
	CONF_JAVAC to 'jikes'. Update comment.
	(gt_JAVACOMP_DISABLED): Don't set HAVE_JIKES.

2023-06-09  Bruno Haible  <bruno@clisp.org>

	javacomp: Remove support for 'gcj'.
	* lib/javacomp.h: Update comment.
	* lib/javacomp.c (compile_using_gcj, is_envjavac_gcj, is_envjavac_gcj43,
	is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
	is_envjavac_oldgcj_14_13_usable, is_gcj_present, is_gcj_43,
	is_gcj43_usable, is_oldgcj_14_14_usable, is_oldgcj_14_13_usable): Remove
	functions.
	(is_envjavac_usable): Renamed from is_envjavac_nongcj_usable.
	(compile_java_class): Remove gcj related code.

	javacomp-script: Remove support for 'gcj'.
	* build-aux/javacomp.sh.in: Don't test HAVE_GCJ_C.
	* m4/javacomp.m4 (gt_JAVACOMP): Don't set HAVE_GCJ_C. Don't test whether
	$JAVAC is gcj. Don't set CONF_JAVAC to 'gcj -C'. Update comment.
	(gt_JAVACOMP_DISABLED): Don't set HAVE_GCJ_C.

	javaexec: Remove support for 'gij'.
	* lib/javaexec.c (execute_java_class): Don't test for gij.

	javaexec-script: Remove support for 'gij'.
	* build-aux/javaexec.sh.in: Don't test HAVE_GIJ.
	* m4/javaexec.m4 (gt_JAVAEXEC): Don't set HAVE_GIJ. Don't set CONF_JAVA
	to 'gij'.
	* m4/javacomp.m4: Update comment.

2023-06-09  Bruno Haible  <bruno@clisp.org>

	javaexec: Remove support for 'jview'.
	* lib/javaexec.c (execute_java_class): Don't test for jview.

	javaexec-script: Remove support for 'jview'.
	* build-aux/javaexec.sh.in: Don't test HAVE_JVIEW.
	* m4/javaexec.m4 (gt_JAVAEXEC): Don't set HAVE_JVIEW. Don't set
	CONF_JAVA to 'jview'.
	(gt_JAVAEXEC_DISABLED): Don't set HAVE_JVIEW.
	* m4/javacomp.m4: Update comment.

2023-06-06  Jim Meyering  <meyering@meta.com>

	maint.mk: regenerate regex to reflect new functions in xalloc.h
	* top/maint.mk (sc_prohibit_xalloc_without_use) [_xa1]:
	Regenerate using the command listed in the comment.

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

	propername: pacify po_check
	Problem reported by Bruno Haible <https://bugs.gnu.org/63933>.
	* lib/propername.h: Change comment.

	Put "/" at end of .gitignore directory names
	* build-aux/bootstrap: Regenerate.
	* top/bootstrap-funclib.sh (symlink_to_dir, autogen):
	Put slashes after .gitignore entries that name directories.

2023-06-06  Jose E. Marchesi  <jemarch@gnu.org>

	maintainer-makefile: Enforce the GNU Coding Standards in the README.
	* top/maint.mk (sc_readme_link_install): New rule.
	(sc_readme_link_copying): Likewise.

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

	copy-file-range: support building for older kernels
	* m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
	Remove static check, to support the dubious practice of
	building for platforms that predate the build platform.
	On working kernels this adds an extra syscall the first time
	that copy_file_range is used.  Problem reported for Gentoo by
	Sam James <https://bugs.gnu.org/63850>.

	manywarnings: more nuance about optimization
	* doc/manywarnings.texi (manywarnings): Suggest compiling with the
	optimization flags commonly used, as opposed to -O2 and -O0
	specifically.  -ggdb shouldn’t affect warnings so don’t mention it.

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

	posix_spawn-internal: Fix a warning (regression 2022-11-20).
	* lib/spawni.c: Don't use this particular #pragma for gcc < 4.2.

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

	file-has-acl: Fix compilation error on Slackware 13 (regr. 2023-05-12).
	* lib/file-has-acl.c (XATTR_NAME_POSIX_ACL_ACCESS,
	XATTR_NAME_POSIX_ACL_DEFAULT): Add fallback definitions.

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

	Fix bugs on mingw when module dirfd is in use (regression 2023-04-26).
	* lib/getcwd.c: When GNULIB_defined_DIR, revert to the system's
	definitions of opendir, closedir, readdir, rewinddir.
	* lib/mountlist.c: When GNULIB_defined_DIR, revert to the system's
	definitions of opendir, closedir, readdir.
	* lib/scandir.c: Likewise.
	* lib/glob.c: Fix comment. When GNULIB_defined_DIR, don't undefine
	opendir, closedir.

2023-06-04  Bruno Haible  <bruno@clisp.org>

	manywarnings: Overhaul documentation.
	* doc/manywarnings.texi: In the example, put all unwanted warning
	options into 'nw', and use a second gl_MANYWARN_COMPLEMENT invocation to
	sort out how these options need to get added to WARN_FLAGS.
	Describe the first-time use in more detail: Recommend a new GCC.
	Recommend to test builds with -O2 and with -O0. Suggest to sort the
	warning by warning option. Add reference to the GCC pragma's
	documentation.

2023-06-04  Bruno Haible  <bruno@clisp.org>

	error: Fix support for library namespacing (regression 2023-05-27).
	* lib/error.in.h (error): If error is defined as a macro, define a
	static inline function _gl_inline_error that invokes it, and let the
	new error macro invoke that function.
	(error_at_line): If error_at_line is defined as a macro, define a static
	inline function _gl_inline_error_at_line that invokes it, and let the
	new error_at_line macro invoke that function.

2023-06-04  Bruno Haible  <bruno@clisp.org>

	terminfo, termcap: Fix "discards 'const' qualifier" warnings.
	* lib/tparm.c (tparm): Change type of 'fmt'. New local variable 'fmtp'.

2023-06-04  Bruno Haible  <bruno@clisp.org>

	uniname/uniname: Add comments.
	* modules/uniname/uniname (Makefile.am): Explain how to work around a
	GCC bug.

2023-06-04  Bruno Haible  <bruno@clisp.org>

	uniname/uniname: Fix -Wformat-signedness warning.
	* lib/uniname/uniname.c (unicode_character_name): Use %u instead of %d
	in format string.

2023-06-04  Bruno Haible  <bruno@clisp.org>

	uniname/uniname: Improve comments.
	* lib/uniname/uniname.c (unicode_character_name): Fix comments.

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

	classpath, csharpexec: Avoid "candidate for attribute 'malloc'" warning.
	* lib/classpath.h (set_classpath): Mark with attribute 'malloc'.

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

	propername-lite: Improve documentation.
	* lib/propername.h: Describe functional differences between
	proper_name_lite and proper_name_utf8.

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

	gnulib-tool: Keep in sync with last change to gnulib-tool.py.
	* gnulib-tool (func_emit_po_Makevars): Treat proper_name_lite like
	proper_name_utf8.

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

	error: Improve comments.
	* lib/error.in.h (__gl_error_call): Add more comments.

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

	error: do not evaluate status twice
	Do this in a different way, so that the status is evaluated
	once even when not optimizing and when using GCC.
	* lib/error.in.h (__gl_error_call1) [__GNUC__]: New macro.
	(__gl_error_call) [__GNUC__]: Use it.

2023-06-02  Bruno Haible  <bruno@clisp.org>

	warnings: Add ability to inhibit all warnings.
	* m4/warnings.m4 (gl_CC_INHIBIT_WARNINGS, gl_CXX_INHIBIT_WARNINGS): New
	macros, based on gl_CC_ALLOW_WARNINGS and gl_CXX_ALLOW_WARNINGS in
	m4/gnulib-common.m4.

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

	propername-lite: new module
	propername_lite acts like propername_utf8 but needs less
	infrastructure, e.g., it does not worry about memory allocation.
	* MODULES.html.sh (func_all_modules): Mention it.
	* lib/propername.h (proper_name_lite): New decl.
	* lib/propername-lite.c, modules/propername-lite: New files.
	* pygnulib/GLEmiter.py (GLEmiter.po_Makevars):
	Treat proper_name_lite like proper_name_utf8.

2023-06-02  Bruno Haible  <bruno@clisp.org>

	openmp-init: Silence "no previous prototype for 'openmp_init'" warning.
	* lib/omp.in.h: Test _OPENMP.
	* lib/omp-init.c: Include <omp.h> always.
	* modules/openmp-init (Include): Allow <omp.h> to be included always.

2023-06-02  Bruno Haible  <bruno@clisp.org>

	term-style-control: Silence -Wshadow warning.
	* lib/term-style-control.c (continuing_signal_handler): Rename
	parameter.

2023-06-02  Bruno Haible  <bruno@clisp.org>

	pipe-filter-gi, pipe-filter-ii: Silence -Wunused-macro warning.
	* lib/pipe-filter-aux.c: Remove many unnecessary includes.
	(_): Remove macro.

2023-06-02  Bruno Haible  <bruno@clisp.org>

	javacomp: Silence -Wanalyzer-possible-null-argument warning.
	* lib/javacomp.c: Include verify.h.
	(is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_13_usable,
	is_envjavac_nongcj_usable, compile_java_class): Assert that the
	xasprintf results are non-NULL. This is possible since all involved
	format strings are valid and don't use %ls, and all argument strings
	are small compared to INT_MAX.
	* modules/javacomp (Depends-on): Add verify.

2023-06-02  Bruno Haible  <bruno@clisp.org>

	striconveha: Don't crash if malloc() returns NULL.
	* lib/striconveha.c (mem_iconveha, str_iconveha): Check malloca() return
	value.

2023-06-02  Bruno Haible  <bruno@clisp.org>

	setenv: Don't crash if malloc() returns NULL.
	* lib/setenv.c (rpl_setenv): Check malloca() return value.

2023-06-02  Bruno Haible  <bruno@clisp.org>

	error: Avoid implicit-fallthrough warnings with -O0 (regr. 2023-05-30).
	* lib/error.in.h (__gl_error_call): Parenthesize status. When not
	optimizing, expand to code without compound statements.

2023-06-01  Bruno Haible  <bruno@clisp.org>

	getprogname: Add support for ASCII-compatible environments in z/OS.
	Reported by Mike Fulton <mikefultonpersonal@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-05/msg00198.html>.
	* lib/getprogname.c (getprogname): On z/OS, when compiling for an
	ASCII-compatible environment, convert the result from EBCDIC to ASCII.

2023-06-01  Mitch Capper  <mitch.capper@gmail.com>

	gnulib-tool.py: Fix a format string mistake.
	* pygnulib/GLImport.py (GLImport.execute): Fix a typo in a format
	string.
	Copyright-paperwork-exempt: Yes

2023-06-01  Bruno Haible  <bruno@clisp.org>

	Add info for maintainers and contributors.
	* HACKING: New file.

2023-05-30  Nick Bowler  <nbowler@draconx.ca>

	readline: fix memory leak in replacement readline.
	* lib/readline.c (readline): Free memory after getline failure.
	Copyright-paperwork-exempt: true

2023-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	error: don’t call ‘exit’
	Let the underlying functions call ‘exit’, instead of having the
	Gnulib replacement macros do it.  Use ‘unreachable’ to tell the
	compiler that those functions exit when the status is nonzero.
	This saves a function call.
	* lib/error.in.h: Include stddef.h, not stdlib.h.
	(__gl_error_call): Rely on the function to exit, using
	‘unreachable’ to tell the compiler that the function does not return.
	* modules/error (Depends-on): Add stddef.

	error: don’t evaluate status arg twice
	This avoids potential issues if the first argument has a side effect.
	* lib/error.in.h (__gl_error_call): New macro, which evaluates its
	status arg only once, by using a statement expression if GNU C -
	the only platform we need to worry about pacifying - and by simply
	calling ‘error’ otherwise.
	(error, error_at_line): Use it.

2023-05-28  Bruno Haible  <bruno@clisp.org>

	warnings, manywarnings: Assume autoconf >= 2.64.
	* m4/warnings.m4 (gl_AS_VAR_APPEND): Remove macro.
	(gl_COMPILER_OPTION_IF, gl_WARN_ADD): Use AS_VAR_APPEND instead of
	gl_AS_VAR_APPEND.
	* m4/manywarnings.m4: Likewise.

2023-05-28  Jim Meyering  <meyering@fb.com>

	file-has-acl: avoid warning from bleeding-edge GCC
	* lib/file-has-acl.c: Include attribute.h.
	(have_xattr): Declare with ATTRIBUTE_PURE,
	to avoid new warning from GCC14-to-be.
	* modules/file-has-acl (Depends-on): Add attribute.
	Spotted while building coreutils with this:
	gcc version 14.0.0 20230526 (experimental)

2023-05-28  Bruno Haible  <bruno@clisp.org>

	error: Avoid -Wint-in-bool-context warning.
	Reported by Pádraig Brady in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-05/msg00178.html>.
	* lib/error.in.h (error, error_at_line): Use 'status != 0', since status
	is expected to be an int, not a bool value.

2023-05-27  Bruno Haible  <bruno@clisp.org>

	error: Support the compiler's control flow analysis better.
	* lib/error.in.h: Remove @PRAGMA_SYSTEM_HEADER@. Include <stdlib.h>.
	(error): Define as a macro that explicitly invokes exit().
	(error_at_line): Likewise.
	* lib/error.c (_GL_NO_INLINE_ERROR): Define before including error.h.
	* modules/error-h (configure.ac): Don't invoke gl_CONDITIONAL_HEADER.
	(Makefile.am): Generate error.h always. Don't substitute
	PRAGMA_SYSTEM_HEADER.
	* m4/error_h.m4 (gl_ERROR_H): Set COMPILE_ERROR_C instead of
	GL_GENERATE_ERROR_H.
	* modules/error (configure.ac, Depends-on): Test COMPILE_ERROR_C instead
	of GL_GENERATE_ERROR_H.
	* lib/copy-file.c: Revert the last change.

2023-05-26  Bruno Haible  <bruno@clisp.org>

	flexmember: Make it easier to use.
	* lib/flexmember.h (FLEXNSIZEOF): New macro.
	* lib/hamt.c (alloc_bucket, alloc_subtrie): Fix FLEXSIZEOF invocation.
	Use FLEXNSIZEOF instead of FLEXSIZEOF.
	* lib/ssfmalloc.h (init_small_block_page_pool): Use FLEXNSIZEOF instead
	of FLEXSIZEOF.

2023-05-26  Bruno Haible  <bruno@clisp.org>

	diffseq: Silence another gcc warning.
	* lib/diffseq.h (compareseq): Move into the scope of the '#pragma GCC
	diagnostic'.

2023-05-26  Bruno Haible  <bruno@clisp.org>

	copy-file: Silence gcc warnings.
	* lib/copy-file.c: Add #pragma GCC diagnostic.

2023-05-26  Bruno Haible  <bruno@clisp.org>

	diffseq: Silence gcc warning.
	* lib/diffseq.h: Add #pragma GCC diagnostic.

2023-05-24  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: speed up nomfi test
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Simplify and speed up
	on current platforms, by seeing first whether
	-Wno-missing-field-initializers is needed (it isn’t), so that
	later we don’t need to determine whether it’s supported.

	Simplify -Wno-missing-field-initializers checking
	* m4/gnulib-common.m4 (gl_CC_GNULIB_WARNINGS): Don’t worry about
	-Wmissing-field-initializers, as this is no longer needed now that
	gl_MANYWARN_ALL_GCC is fixed.

	manywarnings: port better to GCC 11.2 and earlier
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-diffutils/2023-05/msg00015.html
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
	Also test for GCC bug 82283
	<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82283>.

2023-05-24  Bruno Haible  <bruno@clisp.org>

	asyncsafe-spin, simple-atomic: Don't use -mcpu-v9 on NetBSD/sparc.
	Reported by Brandon Applegate in
	<https://lists.gnu.org/archive/html/bug-gettext/2023-05/msg00042.html>.
	* lib/asyncsafe-spin.c: Limit the SPARC workaround to Solaris.
	* lib/simple-atomic.c: Likewise.
	* m4/sparcv8+.m4 (gl_SPARC_V8PLUS): Likewise.

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

	nstrftime: wmemmove → __wmemmove in glibc part
	https://sourceware.org/pipermail/libc-alpha/2023-May/148435.html
	* lib/nstrftime.c (__strftime_internal) [COMPILE_WIDE]:
	Use __wmemmove, not wmemmove, to keep in better sync with draft glibc.

2023-05-22  Bruno Haible  <bruno@clisp.org>

	git-merge-changelog: Code style changes.
	* lib/git-merge-changelog.c: Don't make side effects to variables
	inside parenthesized expressions. Write (size_t)(-1), for consistency
	with gl_list.h.
	(compute_mapping): Rename variable in2 to jrev.

2023-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	strtol: match 'configure' to 'make check'
	Inferred from report by Tomasz Kłoczko <https://bugs.gnu.org/63632>.
	* m4/strtol.m4 (gl_FUNC_STRTOL):
	* m4/strtoll.m4 (gl_FUNC_STRTOLL):
	Also test "0b", since the test cases check it.

	git-merge-changelog: port to size_t padding
	* lib/git-merge-changelog (entry_hashcode):
	As a nicety, Prefer SIZE_WIDTH to computing it ourselves.

	git-merge-changelog: prefer idx_t
	* lib/git-merge-changelog.c: Include idx.h.
	(struct entry, entry_create, entry_hashcode)
	(struct changelog_file, read_changelog_file)
	(entries_mapping_get, entries_mapping_reverse_get)
	(compute_mapping, struct edit, struct differences)
	(compute_differences, find_paragraph_end)
	(try_split_merged_entry, struct conflict, conflict_write, main):
	Prefer idx_t to ptrdiff_t and size_t when the value is a
	nonnegative index or size.  Change a few for-loops so that
	the index never goes negative.
	* modules/git-merge-changelog (Depends-on): Add idx.

	git-merge-changelog: ssize_t → ptrdiff_t
	Prefer ptrdiff_t to ssize_t, as per
	<https://lists.gnu.org/archive/html/emacs-devel/2014-10/msg00019.html>.
	* lib/git-merge-changelog.c (struct entries_mapping)
	(entries_mapping_get, entries_mapping_reverse_get)
	(compute_mapping, struct edit, struct differences, OFFSET)
	(OFFSET_MAX, EXTRA_CONTEXT_FIELDS, compute_differences, main):
	Use ptrdiff_t, not ssize_t.
	* modules/git-merge-changelog (Depends-on): Add stdint for PTRDIFF_MAX.

	git-merge-changelog: port to ssize_t padding
	* lib/git-merge-changelog.c (OFFSET_MAX): New macro, as a nicety.

2023-05-21  Bruno Haible  <bruno@clisp.org>

	limits-h tests: Check the value of SSIZE_MAX.
	* tests/test-limits-h.c (limits12): New variable.
	Include <sys/types.h> and check the value of SSIZE_MAX.
	* modules/limits-h-tests (Depends-on): Add sys_types.

2023-05-21  Bruno Haible  <bruno@clisp.org>

	ssize_t: Fix replacement on 64-bit Windows.
	* m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Use prefix 'gl_' instead of 'gt_'.
	Define ssize_t to 'long long' or 'long', depending on the width of
	'size_t'.

2023-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	limits-h: other modules can rely on SSIZE_MAX
	* lib/areadlink-with-size.c, lib/areadlinkat-with-size.c:
	* lib/careadlinkat.c, lib/getdelim.c, lib/getndelim2.c:
	* lib/regex_internal.h:
	(SSIZE_MAX): Do not define.
	* modules/areadlink-with-size, modules/areadlinkat-with-size:
	* modules/careadlinkat, modules/getdelim, modules/getndelim2:
	* modules/regex:
	(Depends-on) Add limits-h.

	limits-h: define SSIZE_MAX
	* doc/posix-headers/limits.texi (limits.h): Document this.
	* lib/limits.in.h (SSIZE_MAX): Define if not already defined.
	* m4/limits-h.m4 (gl_LIMITS_H): Also generate limits.h
	if <limits.h> does not define SSIZE_MAX.

	diffseq: backward compatibility for OFFSET_MAX
	* lib/diffseq.h (OFFSET_MAX): Define only if not already defined.

2023-05-19  Bruno Haible  <bruno@clisp.org>

	careadlinkat: Silence gcc warning for GCC ≥ 12.
	* lib/careadlinkat.c: For GCC 12 or newer, use
	"#pragma GCC diagnostic ignored" to silence the warning.

2023-05-19  Pádraig Brady  <P@draigBrady.com>

	modechange: pacify gcc -Wsuggest-attribute=pure
	* lib/modechange.h (mode_adjust): Add _GL_ATTRIBUTE_PURE
	suggested with GCC 12 with -flto.

2023-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	diffseq: don’t assume integers lack padding
	* NEWS: Mention this.
	* lib/diffseq.h (OFFSET_MAX): Don’t define;
	this is now the user’s responsibility.
	* lib/fstrcmp.c (OFFSET_MAX): Define to PTRDIFF_MAX.

2023-05-18  Bruno Haible  <bruno@clisp.org>

	getndelim2: Silence gcc warning.
	* lib/getndelim2.c: Add #pragma GCC diagnostic.
	(IF_LINT): Remove macro.
	(getndelim2): Remove use of IF_LINT.

2023-05-18  Bruno Haible  <bruno@clisp.org>

	canonicalize: Silence gcc warning.
	* lib/canonicalize.c: Add #pragma GCC diagnostic.
	(IF_LINT): Remove macro.
	(canonicalize_filename_mode_stk): Remove use of IF_LINT.

2023-05-18  Bruno Haible  <bruno@clisp.org>

	vasnprintf, c-vasnprintf: Silence gcc warning.
	* lib/vasnprintf.c: Add #pragma GCC diagnostic.

2023-05-18  Bruno Haible  <bruno@clisp.org>

	nstrftime: Silence gcc warning.
	* lib/nstrftime.c: Add #pragma GCC diagnostic.

2023-05-18  Bruno Haible  <bruno@clisp.org>

	astrxfrm: Silence gcc warning.
	* lib/astrxfrm.c: Add #pragma GCC diagnostic.

2023-05-18  Bruno Haible  <bruno@clisp.org>

	vasnprintf, c-vasnprintf: Silence gcc warnings.
	* lib/vasnprintf.c (scale10_round_decimal_decoded): Remove memory==NULL
	test.
	(scale10_round_decimal_long_double, scale10_round_decimal_double): Test
	for memory==NULL here. Remove use of IF_LINT.

2023-05-18  Bruno Haible  <bruno@clisp.org>

	bitset: Silence gcc warning.
	* lib/bitset/list.c (lbitset_copy_): Remove redundant test from the
	loop's first iteration.

2023-05-18  Bruno Haible  <bruno@clisp.org>

	stack: Silence gcc warning in tests.
	* lib/stack.h (init, destroy, empty, current_base, push, pop, discard,
	top, size): Mark as possibly unused.

2023-05-18  Bruno Haible  <bruno@clisp.org>

	hamt: Silence gcc warning.
	* lib/hamt.c (init_element): Mark as possibly unused.

2023-05-18  Bruno Haible  <bruno@clisp.org>

	get-rusage-data: Silence gcc warning.
	* lib/get-rusage-data.c (get_rusage_data_via_iterator): Mark as possibly
	unused.

2023-05-18  Bruno Haible  <bruno@clisp.org>

	astrxfrm: Fix use-after-free bug.
	* lib/astrxfrm.c (astrxfrm): Don't use memcpy after realloc succeeded.

2023-05-18  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Ignore .orig and .rej files under modules/.
	* gnulib-tool (func_sanitize_modulelist): Exclude also files whose name
	ends in .orig or .rej.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.file_is_module): Likewise.

2023-05-18  Bruno Haible  <bruno@clisp.org>

	uchar: Fix error when <uchar.h> is included twice.
	* lib/uchar.in.h: Fix double-inclusion guard.

2023-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	stdckdint: use in more modules
	* lib/nstrftime.c (__strftime_internal):
	* lib/parse-datetime.y (apply_relative_time, zone, date)
	(iso_8601_date, relunit, relunit_snumber, time_zone_hhmm)
	(to_tm_year, yylex, parse_datetime_body):
	* lib/timespec-add.c (timespec_add):
	* lib/timespec-sub.c (timespec_sub):
	* lib/xstrtol.c (bkm_scale):
	Prefer ckd_add to INT_ADD_WRAPV etc., and include stdckdint.h.
	* modules/nstrftime, modules/parse-datetime:
	* modules/timespec-add, modules/timespec-sub, modules/xstrtol:
	(Depends-on): Add stdckdint.

	nstrftime: suggest to glibc how to avoid alloca
	* lib/nstrftime.c (widen) [COMPILE_WIDE]: Remove.
	(__strftime_internal) [COMPILE_WIDE): Instead of converting the
	multibyte time zone abbreviation into a potentially unbounded
	alloca buffer, convert it directly into the output buffer.
	Although this code is not used in Gnulib, this can help the glibc
	developers avoid the problem on the glibc side.

2023-05-15  Bruno Haible  <bruno@clisp.org>

	doc: New chapter "Strings and Characters".
	* doc/strings.texi: New file.
	* doc/gnulib.texi (POSIXURL): New variable.
	(posixheader, posixfunc, func): New macros, from GNU libunistring's
	documentation.
	Include strings.texi.
	(Particular Modules): Don't include c-locale.texi here.
	* doc/c-locale.texi: Sections become subsections, subsections become
	subsubsections.
	* doc/posix-functions/isalnum.texi: Mention c32isalnum.
	* doc/posix-functions/isalpha.texi: Mention c32isalpha.
	* doc/posix-functions/isblank.texi: Mention c32isblank.
	* doc/posix-functions/iscntrl.texi: Mention c32iscntrl.
	* doc/posix-functions/isdigit.texi: Mention c32isdigit.
	* doc/posix-functions/isgraph.texi: Mention c32isgraph.
	* doc/posix-functions/islower.texi: Mention c32islower.
	* doc/posix-functions/isprint.texi: Mention c32isprint.
	* doc/posix-functions/ispunct.texi: Mention c32ispunct.
	* doc/posix-functions/isspace.texi: Mention c32isspace.
	* doc/posix-functions/isupper.texi: Mention c32isupper.
	* doc/posix-functions/isxdigit.texi: Mention c32isxdigit.
	* doc/posix-functions/tolower.texi: Mention alternative APIs.
	* doc/posix-functions/toupper.texi: Likewise.
	* doc/posix-functions/towlower.texi: Mention c32tolower.
	* doc/posix-functions/towupper.texi: Mention c32toupper.
	* doc/posix-functions/wcswidth.texi: Mention c32swidth.
	* doc/posix-functions/wcwidth.texi: Mention c32width.

2023-05-15  Bruno Haible  <bruno@clisp.org>

	sigsegv: Add tentative support for Hurd/x86_64.
	Based on explanations by Sergey Bugaev <bugaevc@gmail.com>.
	* lib/sigsegv.c: Update from libsigsegv/src/fault-hurd-i386-old.h.

2023-05-15  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl: improve port to Fedora 39
	Problem reported by Ondrej Valousek in:
	https://lists.gnu.org/r/bug-gnulib/2023-05/msg00078.html
	* lib/file-has-acl.c: Include minmax.h.
	[USE_ACL && HAVE_LINUX_XATTR_H && HAVE_LISTXATTR]: Include stdckdint.h.
	(file_has_acl) [USE_ACL && HAVE_LINUX_XATTR_H && HAVE_LISTXATTR]:
	If the file has NFSv4 ACLs, ignore any POSIX ACLs, for Fedora 39.
	Return a bit faster when listxattr returns 0.
	Don’t loop forever if an attacker is fiddling with ACLs.
	* modules/file-has-acl (Depends-on): Add minmax, stdckdint.

2023-05-15  Bruno Haible  <bruno@clisp.org>

	Work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82283 .
	Reported by Pádraig Brady <P@draigBrady.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-05/msg00077.html>.
	* m4/gnulib-common.m4 (gl_CC_GNULIB_WARNINGS): Add
	-Wno-missing-field-initializers for GCC < 11.

2023-05-15  Bruno Haible  <bruno@clisp.org>

	gettimeofday, pthread-*, thread, thrd: Don't omit intended initializers.
	* lib/gettimeofday.c (gettimeofday): List the initializers of both
	tv_sec and tv_usec.
	* lib/glthread/thread.c (gl_thread_self): List the initializers of both
	tv_sec and tv_nsec.
	* lib/pthread-cond.c (pthread_cond_wait): Likewise.
	* lib/thrd.c (rpl_thrd_current): Likewise.
	* lib/pthread-rwlock.c (MIN): New macro.
	(pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock): List the
	initializers of both tv_sec and tv_nsec. Don't modify the duration after
	having initialized it.
	* lib/pthread_mutex_timedlock.c (MIN): New macro.
	(pthread_mutex_timedlock): List the initializers of both tv_sec and
	tv_nsec. Don't modify the duration after having initialized it.

	select: Fix compilation error (regression from yesterday).
	* lib/select.c (rpl_select): Revert last change.

	poll: Fix syntax error (regression from yesterday).
	* lib/poll.c (poll): Remove semicolon inside braces.

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

	timespec: fill in other members
	This problem was found when compiling GNU Emacs with
	--enable-gcc-warnings on a platform where tv_sec is 64 bits and
	tv_nsec is 32 bits, and struct timespec has padding.  GCC
	-Wuse-of-uninitialized-value complained when a struct timespec
	initialized only via assigning to tv_sec and tv_nsec was copied
	via assignment (this was in lib/timespec.h’s make_timespec).
	Although behavior is well-defined on this platform, the warning is
	annoying and the behavior might not be well-defined on theoretical
	platforms where struct timespec has other members.  To work around
	this, initialize all the struct’s members.
	* lib/getsockopt.c (rpl_getsockopt):
	* lib/gettime.c (gettime):
	* lib/gettimeofday.c (gettimeofday):
	* lib/glthread/thread.c (gl_thread_self):
	* lib/nanosleep.c (nanosleep):
	* lib/parse-datetime.y (digits_to_date_time, set_hhmmss)
	(signed_seconds, unsigned_seconds, yylex, parse_datetime_body):
	* lib/poll.c (poll):
	* lib/pselect.c (pselect):
	* lib/pthread-cond.c (endlessly, pthread_cond_timedwait):
	* lib/pthread-rwlock.c (pthread_rwlock_timedrdlock)
	(pthread_rwlock_timedwrlock):
	* lib/pthread_mutex_timedlock.c (pthread_mutex_timedlock):
	* lib/select.c (rpl_select):
	* lib/settime.c (settime):
	* lib/stat-time.h (get_stat_atime, get_stat_ctime)
	(get_stat_mtime, get_stat_birthtime):
	* lib/thrd.c (rpl_thrd_current):
	* lib/timespec.h (make_timespec):
	* lib/timespec_getres.c (timespec_getres):
	* lib/utimecmp.c (utimecmpat):
	* lib/utimens.c (fdutimens):
	When filling in a struct timespec or similar time-related structure
	that might be copied elsewhere, also assign to any storage other
	than tv_sec and tv_nsec, to avoid undefined behavior on (likely
	theoretical) platforms where struct timespec has other members,
	and also to avoid warnings from GCC and/or valgrind.

	year2038-recommended: Improve failure diagnostic.
	* m4/largefile.m4 (AC_SYS_YEAR2038_RECOMMENDED): Sync from Autoconf.

2023-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	stdio: use _GL_ATTRIBUTE_MALLOC
	* lib/stdio.in.h (fdopen, fopen, popen, tmpfile): Declare with
	_GL_ATTRIBUTE_MALLOC, for consistency with glibc, and so that
	building the fopen module with ‘gcc -O2 -Wsuggest-attribute=malloc
	-Wsystem-headers -Werror’ does not fail with “stdio.h: In function
	‘rpl_fopen’: stdio.h:970:1: error: function might be candidate for
	attribute ‘malloc’ [-Werror=suggest-attribute=malloc]”, a problem
	I noticed on both Fedora 38 and Ubuntu 23.04.

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

	sigsegv: Add tentative support for Hurd/x86_64.
	Reported by Samuel Thibault <samuel.thibault@ens-lyon.org>.
	* lib/sigsegv.c: Update from libsigsegv/src/fault-hurd-i386.h.

2023-05-12  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl: port to Fedora 39
	Fedora 39 getxattr with XATTR_NAME_POSIX_ACL_ACCESS either
	succeeds or fails with ENODATA, so it is no longer possible to
	detect from its failure that the filesystem might support NFSv4 ACLs.
	Problem reported by Ondrej Valousek in:
	https://lists.gnu.org/r/bug-gnulib/2023-04/msg00228.html
	Instead, use listxattr to determine whether NFSv4 ACLs are in play.
	This typically saves syscalls anyway.
	* lib/file-has-acl.c: In #if, use (HAVE_LINUX_XATTR_H &&
	HAVE_LISTXATTR) instead of GETXATTR_WITH_POSIX_ACLS.
	The following changes apply when (USE_ACL && HAVE_LINUX_XATTR_H &&
	HAVE_LISTXATTR):
	Include minmax.h.
	(have_xattr): New function.
	(file_has_acl): Try listxattr first; typically this means we need
	to do no other syscall.  Call getxattr only if there are NFSv4
	ACLs but not POSIX ACLs.
	* m4/acl.m4 (gl_FILE_HAS_ACL): Simplify by merely testing for
	linux/xattr.h and listxattr.  All uses changed.

2023-05-10  Josh Soref  <jsoref@gmail.com>

	bootstrap: spelling/grammar fix in comment
	* build-aux/bootstrap: As above.

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

	Warn against bogus TZ settings
	* doc/parse-datetime.texi (Specifying time zone rules):
	Warn against TZ="UTC=5".

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

	dirfd: Add tests.
	* tests/test-dirfd.c: New file.
	* modules/dirfd-tests: New file.

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

	dirfd: Fix bogus override (regression 2023-04-26).
	Reported by Bjarni Ingi Gislason <bjarniig@simnet.is> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-05/msg00040.html>.
	* m4/dirfd.m4 (gl_FUNC_DIRFD): Fix mistake in last change.

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

	c32swidth: Add tests.
	* tests/test-c32swidth.c: New file, based on tests/test-c32width.c.
	* modules/c32swidth-tests: New file.

	c32swidth: New module.
	* lib/uchar.in.h (c32swidth): New declaration.
	* lib/wcswidth-impl.h: Use macros FUNC, UNIT, CHARACTER_WIDTH.
	* lib/wcswidth.c: Define FUNC, UNIT, CHARACTER_WIDTH before including
	wcswidth-impl.h.
	* lib/c32swidth.c: New file.
	* modules/c32swidth: New file.
	* m4/uchar_h.m4 (gl_UCHAR_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_C32SWIDTH.
	* modules/uchar (Makefile.am): Substitute GNULIB_C32SWIDTH.

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

	wcswidth: Fix result in case of overflow.
	* lib/wcswidth-impl.h (wcswidth): Continue searching for a non-printing
	wide character after the total width has become > INT_MAX.

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

	wcswidth: Relax license.
	* modules/wcswidth (License): Change to LGPLv2+.
	* lib/wcswidth.c: Update license notice.
	* lib/wcswidth-impl.h: Likewise.

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

	c32width: Relax license.
	* modules/c32width (License): Change to LGPLv2+.
	* lib/c32width.c: Update license notice.

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

	c32to*: Relax license.
	* modules/c32tolower (License): Change to LGPLv2+.
	* modules/c32toupper (License): Likewise.
	* lib/c32tolower.c: Update license notice.
	* lib/c32toupper.c: Likewise.
	* lib/c32to-impl.h: Likewise.

	unicase/tolower, unicase/toupper: Relax license.
	* lib/gen-uni-tables.c (output_simple_mapping): Bump copyright year. For
	unicase/tolower.h and unicase/toupper.h, use the LGPLv2+.
	* lib/unicase/tolower.h: Regenerated.
	* lib/unicase/toupper.h: Likewise.
	* lib/unicase/simple-mapping.h: Update license notice.
	* lib/unicase/tolower.c: Likewise.
	* lib/unicase/toupper.c: Likewise.
	* modules/unicase/tolower (License): Change to LGPLv2+.
	* modules/unicase/toupper (License): Likewise.

	unicase/base: Relax license.
	* modules/unicase/base (License): Change to LGPLv2+.
	* lib/unicase.in.h: Update license notice.

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

	c32is*: Relax license.
	* modules/c32isalnum (License): Change to LGPLv2+.
	* modules/c32isalpha (License): Likewise.
	* modules/c32isblank (License): Likewise.
	* modules/c32iscntrl (License): Likewise.
	* modules/c32isdigit (License): Likewise.
	* modules/c32isgraph (License): Likewise.
	* modules/c32islower (License): Likewise.
	* modules/c32isprint (License): Likewise.
	* modules/c32ispunct (License): Likewise.
	* modules/c32isspace (License): Likewise.
	* modules/c32isupper (License): Likewise.
	* modules/c32isxdigit (License): Likewise.
	* lib/c32isalnum.c: Update license notice.
	* lib/c32isalpha.c: Likewise.
	* lib/c32isblank.c: Likewise.
	* lib/c32iscntrl.c: Likewise.
	* lib/c32isdigit.c: Likewise.
	* lib/c32isgraph.c: Likewise.
	* lib/c32islower.c: Likewise.
	* lib/c32isprint.c: Likewise.
	* lib/c32ispunct.c: Likewise.
	* lib/c32isspace.c: Likewise.
	* lib/c32isupper.c: Likewise.
	* lib/c32isxdigit.c: Likewise.
	* lib/c32is-impl.h: Likewise.

	unictype/ctype-*: Relax license.
	* lib/gen-uni-tables.c (output_predicate): Bump copyright year. For
	unictype/ctype_*, use the LGPLv2+.
	* lib/unictype/ctype_*.h: Regenerated.
	* lib/unictype/ctype_*.c: Update license notice.
	* modules/unictype/ctype-alnum (License): Change to LGPLv2+.
	* modules/unictype/ctype-alpha (License): Likewise.
	* modules/unictype/ctype-blank (License): Likewise.
	* modules/unictype/ctype-cntrl (License): Likewise.
	* modules/unictype/ctype-digit (License): Likewise.
	* modules/unictype/ctype-graph (License): Likewise.
	* modules/unictype/ctype-lower (License): Likewise.
	* modules/unictype/ctype-print (License): Likewise.
	* modules/unictype/ctype-punct (License): Likewise.
	* modules/unictype/ctype-space (License): Likewise.
	* modules/unictype/ctype-upper (License): Likewise.
	* modules/unictype/ctype-xdigit (License): Likewise.

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

	c32width: Add tests.
	* tests/test-c32width.c: New file, based on tests/test-wcwidth.c.
	* modules/c32width-tests: New file.

	c32width: New module.
	* lib/uchar.in.h (c32width): New declaration.
	* lib/c32width.c: New file, based on lib/c32is-impl.h.
	* modules/c32width: New file.
	* m4/uchar_h.m4 (gl_UCHAR_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_C32WIDTH.
	* modules/uchar (Makefile.am): Substitute GNULIB_C32WIDTH.

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

	doc: Mention macOS wcwidth bug.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Mention macOS bugs.
	* doc/posix-functions/wcwidth.texi: Update regarding macOS.

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

	vasnprintf, vasnwprintf: Make '0' flag handling more ISO C compliant.
	* lib/vasnprintf.c (VASNPRINTF): When doing the padding ourselves,
	ignore the '0' flag if a precision is specified and the conversion is
	one of d, i, o, u, x, X, b, B.
	* tests/test-vasnprintf-posix.c (test_function): Update expected results
	accordingly.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasnwprintf-posix.c (test_function): Likewise.

2023-05-02  Paul Eggert  <eggert@cs.ucla.edu>

	mktime: include <intprops.h>
	* lib/mktime.c: Include <intprops.h> again,
	fixing a typo noted by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2023-05/msg00014.html

2023-05-02  Bruno Haible  <bruno@clisp.org>

	fopen: Silence a gcc warning.
	* lib/fopen.c (rpl_fopen): Mark open_direction as used.

2023-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	extern-inline: port to pcc
	* m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to pcc
	1.2.0.DEVEL 20220331, which doesn’t support extern inline
	even though it claims to be GCC 4.3 and to support C11.

	regex: prefer C23 style overflow checking
	* lib/regex_internal.h: Include stdckdint.h.
	* lib/regexec.c (re_search_2_stub):
	* modules/regex (Depends-on): Add stdckdint.
	Prefer stdckdint.h to intprops.h macros.

	dynarray: prefer C23 style overflow checking
	* lib/malloc/dynarray_emplace_enlarge.c, lib/malloc/dynarray_resize.c:
	Include stdckdint.h, not intprops.h.
	* lib/malloc/dynarray_emplace_enlarge.c:
	(__libc_dynarray_emplace_enlarge):
	* lib/malloc/dynarray_resize.c (__libc_dynarray_resize):
	Prefer stdckdint.h to intprops.h macros.
	* modules/glibc-internal/dynarray (Depends-on):
	Depend on stdckdint, not intprops.

	mktime: prefer C23 style overflow checking
	Prefer stdckdint.h macros to intprops.h macros where either will do,
	as this is the C23 standard.  Also, it ports around a pcc bug.
	* config/srclist.txt: Comment out mktime.c.
	* lib/mktime.c: Include stdckdint.h, not intprops.h.
	(__mktime_internal): Prefer stdckdint.h to intprops.h macros.
	* modules/mktime (Depends-on): Add stdckdint.

	limits-h: port to pcc
	* doc/posix-headers/limits.texi: Document the issue.
	* lib/limits.in.h (MB_LEN_MAX): New macro, if not already defined.
	* m4/limits-h.m4 (gl_LIMITS_H): Test for MB_LEN_MAX.
	* tests/test-limits-h.c: Check that it’s positive.

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

	year2038-recommended: new module
	Remove year2038-required and largefile-required, replacing
	the former with year2038-recommended and simply removing
	the latter.  This syncs with Autoconf master.
	* MODULES.html.sh, NEWS, doc/largefile.texi:
	* all-modules (exclude): Exclude year2038-recommended, not -required.
	* doc/posix-headers/sys_types.texi, doc/posix-headers/time.texi:
	* doc/year2038.texi: Mention this.
	* m4/largefile.m4: Sync from Autoconf.  Override existing macros
	if AC_SYS_YEAR2038_RECOMMENDED is not defined, rather than if
	AC_SYS_LARGEFILE_REQUIRED is not defined.
	* modules/largefile-required, modules/year2038-required: Removed.
	* modules/year2038: Do not depend on largefile; simply
	use m4/largefile.m4, since we shouldn’t need the extra goodies
	largefile supplies.
	* modules/year2038-recommended: New module.

2023-04-28  Bruno Haible  <bruno@clisp.org>

	stdio: Avoid different configure results in different testdirs.
	* m4/stdio_h.m4 (gl_STDIO_H_EARLY): New macro, extracted from
	gl_STDIO_H.
	(gl_STDIO_H): Move the code that sets __USE_MINGW_ANSI_STDIO to
	gl_STDIO_H_EARLY.
	* modules/stdio (configure.ac-early): New section.

2023-04-28  Bruno Haible  <bruno@clisp.org>

	stdbool tests: Avoid compilation error with Sun C on Solaris 10.
	* tests/test-stdbool.c (WORKING_BOOL): Set to 0 on Sun C.

2023-04-28  Bruno Haible  <bruno@clisp.org>

	hamt tests: Fix test failure with Sun C on Solaris 10/SPARC.
	* tests/test-hamt.c (main): Finish with exit code 0.

2023-04-27  Bruno Haible  <bruno@clisp.org>

	localeconv: Work around a mingw bug.
	* m4/localeconv.m4 (gl_FUNC_LOCALECONV): Test whether fields of type
	'char' are filled correctly.
	(gl_PREREQ_LOCALECONV): Test whether 'struct lconv' has the int_{p,n}_*
	members.
	* lib/localeconv.c (FIX_CHAR_VALUE): New macro.
	(localeconv): Replace negative field values with CHAR_MAX.
	* doc/posix-functions/localeconv.texi: Mention the mingw bug.

2023-04-27  Bruno Haible  <bruno@clisp.org>

	stdlib: Fix error when cross-compiling (regression 2023-04-04).
	Reported by Pierre Labastie <pierre.labastie@neuf.fr> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-04/msg00220.html>.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Provide a 4th argument to AC_RUN_IFELSE.

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

	freopen-safer: pacify GCC 13
	* lib/freopen-safer.c: Ignore -Wanalyzer-fd-leak.

2023-04-26  Bruno Haible  <bruno@clisp.org>

	fdopendir: Fix fd leak and test failure on native Windows.
	--
	* lib/dirent-private.h: On mingw, define 'struct gl_directory' as a
	wrapper around the original DIR. On MSVC, add an 'fd_to_close' field to
	'struct gl_directory'.
	* lib/dirent.in.h (DIR): Define when DIR_HAS_FD_MEMBER is 0, i.e. on
	both mingw and MSVC.
	(GNULIB_defined_DIR): New macro.
	(opendir): Avoid incompatible redeclaration.
	(readdir): Consider REPLACE_READDIR.
	(rewinddir): Consider REPLACE_REWINDDIR.
	* m4/dirent_h.m4 (gl_DIRENT_DIR): New macro.
	(gl_DIRENT_H): Invoke it.
	(gl_DIRENT_H_DEFAULTS): Initialize REPLACE_READDIR, REPLACE_REWINDDIR.
	* modules/dirent (Makefile.am): Substitute DIR_HAS_FD_MEMBER,
	REPLACE_READDIR, REPLACE_REWINDDIR.
	--
	* lib/dirfd.c (dirfd): If GNULIB_defined_DIR, just use the
	'fd_to_close' field.
	* m4/dirfd.m4 (gl_FUNC_DIRFD): Set HAVE_DIRFD. Don't set REPLACE_DIRFD
	to 1 if HAVE_DIRFD is 0. If DIR_HAS_FD_MEMBER is 0, ensure dirfd.c gets
	compiled.
	* modules/dirfd (Files): Add lib/dirent-private.h.
	(Depends-on, configure.ac): Simplify conditions.
	--
	* lib/closedir.c: Include <stdlib.h> always, for free().
	(closedir): If GNULIB_defined_DIR, arrange to call close(dirfd(dirp)) at
	the end. On mingw, call free() of dirp. Prefer testing HAVE_DIRENT_H,
	for consistency with dirent.h.
	* m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
	HAVE_CLOSEDIR is 0. If DIR_HAS_FD_MEMBER is 0, ensure closedir.c gets
	compiled.
	--
	* lib/opendir.c: Include <stdlib.h> always. Include <string.h>.
	(opendir): On mingw, allocate the 'struct gl_directory' through malloc.
	If GNULIB_defined_DIR, set the 'fd_to_close' field to -1. Prefer
	testing HAVE_DIRENT_H, for consistency with dirent.h.
	* m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
	HAVE_OPENDIR is 0. If DIR_HAS_FD_MEMBER is 0, ensure opendir.c gets
	compiled.
	--
	* lib/fdopendir.c (fdopendir): If GNULIB_defined_DIR, use a simple
	implementation based on opendir and the fchdir module. If __KLIBC__,
	don't define unused auxiliary functions.
	* modules/fdopendir (Files): Add lib/dirent-private.h.
	--
	* lib/readdir.c (readdir): On mingw, redirect to the original readdir
	function. Prefer testing HAVE_DIRENT_H, for consistency with dirent.h.
	* m4/readdir.m4 (gl_FUNC_READDIR): If DIR_HAS_FD_MEMBER is 0, ensure
	readdir.c gets compiled.
	* modules/readdir (configure.ac): Consider REPLACE_READDIR.
	--
	* lib/rewinddir.c (rewinddir): On mingw, redirect to the original
	rewinddir function. Prefer testing HAVE_DIRENT_H, for consistency with
	dirent.h.
	* m4/rewinddir.m4 (gl_FUNC_REWINDDIR): If DIR_HAS_FD_MEMBER is 0, ensure
	rewinddir.c gets compiled.
	* modules/rewinddir (configure.ac): Consider REPLACE_REWINDDIR.
	--
	* lib/fchdir.c (dir_info_t): Remove a FIXME.

2023-04-26  Bruno Haible  <bruno@clisp.org>

	fchdir tests: Fix test failure on native Windows.
	* modules/fchdir-tests (Depends-on): Add dup.

2023-04-26  Bruno Haible  <bruno@clisp.org>

	fclose: Make last change more maintainable.
	* m4/fclose.m4 (gl_FUNC_FCLOSE): Define through AC_DEFUN_ONCE. Don't
	modify REPLACE_FOPEN.
	* modules/fclose (Depends-on): Add comment.
	(configure.ac): Don't modify REPLACE_FOPEN. Don't duplicate actions of
	module 'fopen'.
	* m4/fopen.m4 (gl_FUNC_FOPEN_ITSELF): Renamed from gl_FUNC_FOPEN.
	(gl_FUNC_FOPEN): New macro.
	* modules/fopen (Files): Add m4/fclose.m4, m4/fflush.m4.
	* m4/close.m4 (gl_FUNC_CLOSE): Define through AC_DEFUN_ONCE.

2023-04-26  Po Lu  <luangruo@yahoo.com>  (tiny change)
            Bruno Haible  <bruno@clisp.org>

	gnulib-tool: For conditional dependencies, generate portable sh code.
	* gnulib-tool (func_emit_autoconf_snippets): Avoid sh syntax
	'if ! variable', that does not work with Solaris /bin/sh.
	* pygnulib/GLEmiter.py (GLEmiter.autoconfSnippets): Likewise.

2023-04-25  Bruno Haible  <bruno@clisp.org>

	expm1 tests: Avoid test failure on 32-bit mingw.
	* tests/test-expm1.h (test_function): Mark y as 'volatile'.

2023-04-25  Bruno Haible  <bruno@clisp.org>

	poll tests: Avoid test failure on native Windows.
	* tests/test-poll.c (test_pipe): Disable the POLLHUP check also on
	native Windows.
	* doc/posix-functions/poll.texi: Mention also native Windows w.r.t.
	POLLHUP.

2023-04-25  Bruno Haible  <bruno@clisp.org>

	dfa tests: Fix compilation error (regression 2023-04-22).
	* tests/test-dfa-match-aux.c: Include unistd.h.
	* modules/dfa-tests (Depends-on): Add unistd.

2023-04-24  Bruno Haible  <bruno@clisp.org>

	tests: Suppress ‘#pragma GCC diagnostic’ warnings with GCC < 13.
	* tests/test-localename.c: Disable #pragma for GCC < 12.
	* tests/test-dup2.c: Disable #pragma for GCC < 13.
	* tests/test-fcntl.c: Likewise.
	* tests/test-getdtablesize.c: Likewise.
	* tests/test-listen.c: Likewise.
	* tests/test-open.h: Likewise.
	* tests/test-perror2.c: Likewise.
	* tests/test-select.h: Likewise.

2023-04-24  Bruno Haible  <bruno@clisp.org>

	select, pselect: Fix test failure on native Windows.
	* lib/select.c (rpl_select): Fail if nfds is out-of-range.
	* lib/pselect.c (pselect): Likewise.

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

	fclose: pacify gcc -Wanalyzer-file-leak
	Without this patch, building coreutils with
	--enable-gcc-checking=expensive would fail with a message like
	“lib/exclude.c:682:6: error: leak of FILE 'in' [CWE-775]
	[-Werror=analyzer-file-leak]”, because Gnulib replaced fclose but
	not fopen, and GCC saw a call to fopen followed by a call to
	rpl_fclose.  The patch causes GCC to instead see a call to
	rpl_fopen followed by rpl_fclose.
	* m4/fclose.m4 (gl_FUNC_FCLOSE): Replace fopen when replacing
	fclose.
	* modules/fclose (Depends-on): Add fopen.
	(configure.ac): Replace fopen when replacing fclose.

	unsetenv-tests: pacify -Wanalyzer-putenv-of-auto-var
	* tests/test-unsetenv.c (main): Make entry static.  Even with this
	change, it’s unclear whether this test is portable POSIX code, but
	that’s a different matter.

	tests: suppress some unwanted -fanalyzer checking
	* tests/test-dup2.c, tests/test-fcntl.c, tests/test-fopen.h:
	* tests/test-getdtablesize.c, tests/test-listen.c:
	* tests/test-localename.c, tests/test-open.h, tests/test-perror2.c:
	* tests/test-select.h:
	Add pragmas to disable unwanted -fanalyzer checking.

2023-04-24  Bruno Haible  <bruno@clisp.org>

	ftell, ftello: Fix recognition of pipes on native Windows.
	* m4/lseek.m4 (gl_FUNC_LSEEK): Update comment.
	* m4/ftello.m4 (gl_FUNC_FTELLO): On native Windows, set REPLACE_FTELLO=1
	always.
	* doc/posix-functions/ftello.texi: Mention the behaviour on pipes.
	* doc/posix-functions/ftell.texi: Likewise.
	* doc/posix-functions/fgetpos.texi: Likewise.

2023-04-24  Bruno Haible  <bruno@clisp.org>

	lseek: Fix module dependencies (regression 2021-11-15).
	* modules/lseek (Depends-on): Re-enable the msvc-nothrow dependency
	also when WINDOWS_64_BIT_OFF_T is 0.

2023-04-24  Bruno Haible  <bruno@clisp.org>

	system-quote: Fix memory overrun bug on native Windows.
	* lib/system-quote.c (system_quote): Allocate enough space for the
	result.

2023-04-24  Bruno Haible  <bruno@clisp.org>

	unicodeio tests: Avoid test failures on native Windows.
	* tests/test-unicodeio.c: Include localcharset.h.
	(main): Handle C locales whose encoding is CP1252 or similar.
	* modules/unicodeio-tests (Depends-on): Add localcharset.

2023-04-24  Bruno Haible  <bruno@clisp.org>

	*sprintf tests: Avoid test failures on mingw 10.
	* tests/test-vasnprintf-posix.c (test_function): On newer mingw, expect
	the de-facto standard result.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.

2023-04-23  Bruno Haible  <bruno@clisp.org>

	Improve quoting of AS_HELP_STRING's first argument.
	* m4/acl.m4 (gl_FUNC_ACL_ARG): Don't underquote AS_HELP_STRING's first
	argument.
	* m4/assert.m4 (gl_ASSERT): Likewise.
	* m4/gc.m4 (gl_GC): Likewise.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
	* m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise.
	* m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
	* m4/libgmp.m4 (gl_LIBGMP): Likewise.
	* m4/regex.m4 (gl_REGEX): Likewise.
	* m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Likewise.
	* m4/selinux-selinux-h.m4 (gl_LIBSELINUX): Likewise.
	* m4/sigsegv.m4 (gl_SIGSEGV): Likewise.
	* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise.
	* m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Likewise.
	* m4/version-etc.m4 (gl_VERSION_ETC_FLAG): Likewise.
	* m4/xattr.m4 (gl_FUNC_XATTR): Likewise.
	* doc/manywarnings.texi (manywarnings): Likewise. This avoids the use of
	quadrigraphs.

2023-04-23  Bruno Haible  <bruno@clisp.org>

	category-none: Fix link errors on MSVC, when libunistring is installed.
	* modules/unictype/category-none (configure.ac): Remove
	gl_LIBUNISTRING_MODULE invocation.
	(Makefile.am): Compile unictype/categ_none.c always.

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

	manywarnings: use AS_IF
	* m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT):
	Use AS_IF when the body contains Autoconf macros that could
	conceivably require something.

	manywarnings: update C warnings for GCC 13
	Adjust for C programs compiled by GCC 13.
	(A C++ expert still needs to look at manywarnings-c++.m4.)
	* build-aux/gcc-warning.spec: Add warnings introduced in GCC 13.
	* doc/manywarnings.texi (manywarnings): Document flex arrays.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add
	-fstrict-flex-arrays and -Wstrict-flex-arrays as these should be
	suitable for Gnulib-using code.

	manywarnings: bring doc up to date
	* doc/manywarnings.texi: Bring doc up to date for GCC 12.

	manywarnings: omit -fno-common in GCC 10+
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Omit -fno-common
	in GCC 10 and later, as it is the default there.
	Check exit status of ‘gcc --version’.

2023-04-23  Bruno Haible  <bruno@clisp.org>

	libunistring: Fix build on Windows, when a libunistring is installed.
	* lib/unicase.in.h: Include <unistring/woe32dll.h>.
	(unicase_empty_prefix_context, unicase_empty_suffix_context): Declare
	with GNULIB_UNICASE_..._DLL_VARIABLE.
	* lib/unictype.in.h: Include <unistring/woe32dll.h>.
	(UC_CATEGORY_*, UC_PROPERTY_*): Declare with
	GNULIB_UNICTYPE_..._DLL_VARIABLE.
	* lib/uninorm.in.h: Include <unistring/woe32dll.h>.
	(unicode_normalization_form uninorm_nf*): Declare with
	GNULIB_UNINORM_..._DLL_VARIABLE.
	* m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE_WITH_VARIABLE): New
	macro.
	(gl_LIBUNISTRING_LIB_PREPARE): Set HAVE_UNISTRING_WOE32DLL_H.
	* m4/unicase_h.m4: New file.
	* m4/unictype_h.m4: New file.
	* m4/uninorm_h.m4: New file.
	* modules/unicase/base (Files): Add m4/unicase_h.m4.
	(configure.ac): Bump version number. Invoke gl_UNICASE_H,
	gl_UNICASE_H_REQUIRE_DEFAULTS.
	(Makefile.am): Substitute all GNULIB_UNICASE_*_DLL_VARIABLE.
	* modules/unicase/empty-*-context (configure.ac): Invoke
	gl_UNICASE_H_REQUIRE_DEFAULTS. Use gl_LIBUNISTRING_MODULE_WITH_VARIABLE.
	* modules/unictype/base (Files): Add m4/unictype_h.m4.
	(configure.ac): Bump version number. Invoke gl_UNICTYPE_H,
	gl_UNICTYPE_H_REQUIRE_DEFAULTS.
	(Makefile.am): Substitute all GNULIB_UNICTYPE_*_DLL_VARIABLE.
	* modules/unictype/category-* (configure.ac): Invoke
	gl_UNICTYPE_H_REQUIRE_DEFAULTS. Use
	gl_LIBUNISTRING_MODULE_WITH_VARIABLE.
	* modules/unictype/property-* (configure.ac): Likewise.
	* modules/uninorm/base (Files): Add m4/uninorm_h.m4.
	(configure.ac): Bump version number. Invoke gl_UNINORM_H,
	gl_UNINORM_H_REQUIRE_DEFAULTS.
	(Makefile.am): Substitute all GNULIB_UNINORM_*_DLL_VARIABLE.
	* modules/uninorm/nf* (configure.ac): Invoke
	gl_UNINORM_H_REQUIRE_DEFAULTS. Use gl_LIBUNISTRING_MODULE_WITH_VARIABLE.

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

	Avoid some Autoconf "was expanded before it was required" warnings.
	* m4/locale-ar.m4 (gt_LOCALE_AR): Define through AC_DEFUN_ONCE.
	* m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
	* m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
	* m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.

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

	string-desc tests: Avoid test failure on native Windows.
	* tests/test-string-desc.c: Include <fcntl.h>, <unistd.h>.
	(main): Expect a file name argument. Write to this file, instead of to
	fd 3.
	* tests/test-string-desc.sh: Pass a file name as argument, instead of
	using '3>'.
	* modules/string-desc-tests (Depends-on): Add close.

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

	threadlib, pthread-h, threads-h: Avoid mingw's libwinpthread by default.
	* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Set
	gl_use_winpthreads_default to 'no' by default.
	(gl_AVOID_WINPTHREAD): Update comments.

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

	posixtm tests: Avoid test failure on native Windows.
	* tests/test-posixtm.c (T): On native Windows, disable test cases that
	would fail.

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

	dfa tests: Fix test failure on mingw differently.
	Suggested by Paul Eggert.
	* tests/test-dfa-invalid-char-class.sh: Revert last change.
	* tests/test-dfa-match-aux.c: Include binary-io.h.
	(main): Put stdout into binary mode.
	* modules/dfa-tests (Depends-on): Add binary-io.

2023-04-20  Bruno Haible  <bruno@clisp.org>

	getumask: Make it work on native Windows.
	* lib/getumask.c (getumask): When TMPDIR is unset, try TMP and TEMP.
	* tests/test-getumask.c (ASSUME_UMASK_CONSTANT): Define to 1 on native
	Windows.

2023-04-20  Bruno Haible  <bruno@clisp.org>

	posixtm tests: Fix link error.
	* modules/posixtm-tests (Depends-on): Add stpcpy.

2023-04-20  Bruno Haible  <bruno@clisp.org>

	readtokens tests: Fix test failure on mingw.
	* tests/test-readtokens.sh: Transform CRLF to LF in the output, before
	comparing with the expected output.

	parse-duration tests: Fix test failure on mingw.
	* tests/test-parse-duration.sh: Transform CRLF to LF in the output,
	before analyzing the output.

	dfa tests: Fix test failure on mingw.
	* tests/test-dfa-invalid-char-class.sh: Transform CRLF to LF in the
	output, before comparing with the expected output.

2023-04-20  Bruno Haible  <bruno@clisp.org>

	Fix uses of libwinpthread on mingw 10.
	* m4/threadlib.m4 (gl_WEAK_SYMBOLS): On mingw, set the result to
	"guessing no".

2023-04-20  Bruno Haible  <bruno@clisp.org>

	Move remaining call_once tests from mtx-tests to call_once-tests.
	* tests/test-call_once1.c: Renamed from tests/test-call_once.c.
	* tests/test-call_once2.c: New file, based on tests/test-mtx.c.
	* tests/test-mtx.c: Remove the code that was testing call_once.
	* modules/call_once-tests (Files): Add test-call_once1.c,
	test-call_once2.c. Remove test-call_once.c.
	(Depends-on): Add thrd, lock, stdint.
	(configure.ac): Check for alarm.
	(Makefile.am): Test test-call_once1 instead of test-call_once. Also test
	test-call_once2.

2023-04-20  Bruno Haible  <bruno@clisp.org>

	execute tests: Fix compilation error on mingw (regression 2023-01-17).
	* tests/test-execute-main.c (main): Don't use SIGPIPE if it's not
	defined.

2023-04-20  Bruno Haible  <bruno@clisp.org>

	assert-h, verify: Fix compilation error in C++ mode with MSVC 14.30.
	* lib/verify.h (_Static_assert): In C++ mode with MSVC 14.1 or newer,
	define merely to static_assert.
	(static_assert): In C++ mode with MSVC 14.1 or newer, don't define.

2023-04-19  Bruno Haible  <bruno@clisp.org>

	chown, lchown tests: Fix link error on mingw 10.
	* modules/chown-tests (configure.ac): Test whether getgid() exists.
	* modules/lchown-tests (configure.ac): Likewise.
	* modules/fchownat-tests (configure.ac): Likewise.
	* tests/test-chown.h (getgid): Define a fallback.
	* tests/test-lchown.h (getgid): Likewise.

2023-04-19  Bruno Haible  <bruno@clisp.org>

	ctime: Fix compilation errors in C++ mode on mingw 10.
	* lib/c++defs.h (_GL_FUNCDECL_RPL): Add a comment.
	* lib/time.in.h (ctime): Don't use _GL_ATTRIBUTE_DEPRECATED before
	_GL_FUNCDECL_RPL in C++ mode.

2023-04-19  Bruno Haible  <bruno@clisp.org>

	random: Fix compilation errors in C++ mode on mingw 10.
	* lib/stdlib.in.h (random, srandom): Disable _GL_CXXALIASWARN invocation
	on non-glibc systems.

2023-04-19  Bruno Haible  <bruno@clisp.org>

	year2038-required: Fix configure failure with MSVC.
	* m4/largefile.m4 (_AC_SYS_LARGEFILE_PROBE): Distinguish the results
	"support not detected" and "supported through gnulib". If the result is
	"supported through gnulib", don't fail.

2023-04-19  Bruno Haible  <bruno@clisp.org>

	doc: Add references to changes accepted for future POSIX revisions.
	* doc/glibc-functions/bind_textdomain_codeset.texi: Add reference to
	www.austingroupbugs.net issue.
	* doc/glibc-functions/bindtextdomain.texi: Likewise.
	* doc/glibc-functions/dcgettext.texi: Likewise.
	* doc/glibc-functions/dcngettext.texi: Likewise.
	* doc/glibc-functions/dgettext.texi: Likewise.
	* doc/glibc-functions/dngettext.texi: Likewise.
	* doc/glibc-functions/getentropy.texi: Likewise.
	* doc/glibc-functions/getresgid.texi: Likewise.
	* doc/glibc-functions/getresuid.texi: Likewise.
	* doc/glibc-functions/gettext.texi: Likewise.
	* doc/glibc-functions/ngettext.texi: Likewise.
	* doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi:
	Likewise.
	* doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
	Likewise.
	* doc/glibc-functions/setresgid.texi: Likewise.
	* doc/glibc-functions/setresuid.texi: Likewise.
	* doc/glibc-functions/textdomain.texi: Likewise.
	* doc/posix-functions/asctime_r.texi: Likewise.
	* doc/posix-functions/ctime_r.texi: Likewise.

2023-04-19  Bruno Haible  <bruno@clisp.org>

	wcsncmp: Add tests.
	* tests/test-wcsncmp.c: New file, based on tests/unistr/test-strncmp.h
	and tests/test-wcscmp.c.
	* modules/wcsncmp-tests: New file.

	wcsncmp: Work around two ISO C compliance bugs on several platforms.
	* lib/wchar.in.h (wcsncmp): Consider REPLACE_WCSNCMP.
	* lib/wcsncmp-impl.h (wcsncmp): Don't assume that the two wide
	characters are in the range 0..INT_MAX.
	* m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Test whether wcsncmp works for all
	wide characters. Set REPLACE_WCSNCMP.
	* m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNCMP.
	* modules/wchar (Makefile.am): Substitute REPLACE_WCSNCMP.
	* modules/wcsncmp (Status, Notice): Un-obsolete this module.
	(configure.ac): Consider REPLACE_WCSNCMP.
	* doc/posix-functions/wcsncmp.texi: Mention the two bugs.

2023-04-18  Bruno Haible  <bruno@clisp.org>

	wcscmp: Add tests.
	* tests/test-wcscmp.c: New file, based on tests/unistr/test-strcmp.h.
	* modules/wcscmp-tests: New file.

	wcscmp: Work around two ISO C compliance bugs on several platforms.
	* lib/wchar.in.h (wcscmp): Consider REPLACE_WCSCMP.
	* lib/wcscmp-impl.h (wcscmp): Don't assume that the two wide characters
	are in the range 0..INT_MAX.
	* m4/wcscmp.m4 (gl_FUNC_WCSCMP): Test whether wcscmp works for all wide
	characters. Set REPLACE_WCSCMP.
	* m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSCMP.
	* modules/wchar (Makefile.am): Substitute REPLACE_WCSCMP.
	* modules/wcscmp (Status, Notice): Un-obsolete this module.
	(configure.ac): Consider REPLACE_WCSCMP.
	* doc/posix-functions/wcscmp.texi: Mention the two bugs.

2023-04-18  Bruno Haible  <bruno@clisp.org>

	wmemcmp: Add tests.
	* tests/test-wmemcmp.c: New file, based on tests/unistr/test-cmp.h.
	* modules/wmemcmp-tests: New file.

	wmemcmp: Work around ISO C compliance bug on several platforms.
	* lib/wchar.in.h (wmemcmp): Consider REPLACE_WMEMCMP.
	* lib/wmemcmp-impl.h (wmemcmp): Don't assume that the two wide
	characters are in the range 0..INT_MAX.
	* m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Test whether wmemcmp works for all
	wide characters. Set REPLACE_WMEMCMP.
	* m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WMEMCMP.
	* modules/wchar (Makefile.am): Substitute REPLACE_WMEMCMP.
	* modules/wmemcmp (configure.ac): Consider REPLACE_WMEMCMP.
	* doc/posix-functions/wmemcmp.texi: Mention the bug.

2023-04-18  Bruno Haible  <bruno@clisp.org>

	doc: Update platform list for posix_spawnp.
	* doc/posix-functions/posix_spawnp.texi: Update platform list.

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

	Go back to dynamic largefile, year2038 tests
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2023-04/msg00134.html
	* modules/largefile-tests, modules/year2038-tests (Depends-on):
	Remove assert-h.
	* tests/test-largefile.c, tests/test-year2038.c:
	Test dynamically, not via static_assert.

	doc: mention when O_* defaults to 0
	* doc/posix-headers/fcntl.texi: Document in more detail which O_*
	macros default to 0 in Gnulib.

2023-04-18  Bruno Haible  <bruno@clisp.org>

	doc: Mention a Cygwin 3.4.6 bug.
	* doc/posix-functions/readlinkat.texi: Mention a readlinkat bug on
	Cygwin < 3.4.7.

2023-04-18  Bruno Haible  <bruno@clisp.org>

	ilogbl: Work around a Cygwin 3.4.6 bug.
	* m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Also test the value of
	ilogbl(NaN).
	* doc/posix-functions/ilogbl.texi: Mention the new Cygwin bug.

2023-04-18  Bruno Haible  <bruno@clisp.org>

	file-has-acl tests: Avoid test failures on Cygwin 3.4.6.
	* tests/test-file-has-acl.sh: Fix distinction between Linux setfacl and
	Cygwin setfacl.

2023-04-18  Bruno Haible  <bruno@clisp.org>

	c32isgraph tests: Avoid test failure on Cygwin 3.4.6.
	* tests/test-c32isgraph.c (main): Skip U+00A0 test on Cygwin.

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

	Slightly nicer largefile, year2038 tests
	* modules/largefile-tests, modules/year2038-tests (Depends-on):
	Add assert-h, intprops.
	* tests/test-largefile.c, tests/test-year2038.c:
	Prefer compile-time to run-time tests.
	Don’t assume CHAR_BIT == 8.

2023-04-17  Bruno Haible  <bruno@clisp.org>

	MODULES.html.sh: Ensure hyperlinked files are displayable.
	* MODULES.html.sh (repo_url_prefix): Use cgit instead of gitweb.

	MODULES.html.sh: Avoid a HTTP redirect.
	* MODULES.html.sh (repo_url_prefix): Use the unabbreviated name of the
	git repository server.

2023-04-16  Bruno Haible  <bruno@clisp.org>

	year2038: Add tests.
	* tests/test-year2038.c: New file.
	* modules/year2038-tests: New file.

2023-04-16  Bruno Haible  <bruno@clisp.org>

	largefile: Add tests.
	* tests/test-largefile.c: New file.
	* modules/largefile-tests: New file.

2023-04-16  Bruno Haible  <bruno@clisp.org>

	year2038: Revert the added module dependencies.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-04/msg00117.html>.
	* modules/year2038 (Depends-on): Remove sched, sys_msg, sys_select,
	sys_sem, sys_shm, sys_stat, sys_time, sys_types, time-h, utime-h.

2023-04-16  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addclose tests: Avoid test failure on Cygwin.
	* tests/test-posix_spawn_file_actions_addclose.c (main): Skip an
	unportable test also on Cygwin.

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

	Fix compilation errors of list, set, oset, map, omap in C++ mode.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Define
	_GL_BRACKET_BEFORE_ATTRIBUTE. In _GL_ATTRIBUTE_DEPRECATED,
	_GL_ATTRIBUTE_MAYBE_UNUSED, _GL_ATTRIBUTE_NODISCARD, don't use the
	bracket syntax if _GL_BRACKET_BEFORE_ATTRIBUTE is defined.

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

	Don't include module 'year2038-required' in all-of-gnulib testdirs.
	* all-modules (exclude): Add year2038-required.

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

	selinux-h: Fix compilation error (regression 2023-04-13).
	* m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Instead of
	defining the C macro HAVE_SELINUX_SELINUX_H to 0, set the Autoconf
	variable HAVE_SELINUX_SELINUX_H to 0.

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

	year2038: Fix configure failure on 32-bit mingw.
	* m4/largefile.m4 (_AC_SYS_YEAR2038_PROBE): Use the same option
	spelling as in _AC_SYS_YEAR2038_OPTIONS.

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

	isnan: Fix compilation error in C++ mode on FreeBSD 13.2.
	* lib/math.in.h (isnan): On FreeBSD 13.2 or newer, don't declare isnan
	through _GL_MATH_CXX_REAL_FLOATING_DECL_2.

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

	filemode: Fix double-inclusion guard.
	* lib/filemode.h: Make the double-inclusion guard actually work.

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

	year2038: Add reminder to include <config.h> before time_t gets defined.
	* lib/sched.in.h: Check that config.h was already included before the
	#include_next.
	* lib/sys_select.in.h: Likewise.
	* lib/sys_stat.in.h: Likewise.
	* lib/sys_time.in.h: Likewise.
	* lib/sys_types.in.h: Likewise.
	* lib/time.in.h: Likewise.
	* lib/utime.in.h: Likewise.
	* modules/year2038 (Depends-on): Add sched, sys_msg, sys_select,
	sys_sem, sys_shm, sys_stat, sys_time, sys_types, time-h, utime-h.

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

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

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

2023-04-13  Bruno Haible  <bruno@clisp.org>

	Add more reminders to include <config.h>.
	* lib/aligned-malloc.h: Check that config.h was already included.
	* lib/careadlinkat.h: Likewise.
	* lib/filemode.h: Likewise.
	* lib/freadptr.h: Likewise.
	* lib/fseterr.h: Likewise.
	* lib/glthread/lock.h: Likewise.
	* lib/glthread/tls.h: Likewise.
	* lib/immutable.h: Likewise.
	* lib/isapipe.h: Likewise.
	* lib/isnand-nolibm.h: Likewise.
	* lib/isnanf-nolibm.h: Likewise.
	* lib/isnanl-nolibm.h: Likewise.
	* lib/mbswidth.h: Likewise.
	* lib/md5.h: Likewise.
	* lib/minmax.h: Likewise.
	* lib/msvc-inval.h: Likewise.
	* lib/msvc-nothrow.h: Likewise.
	* lib/pathmax.h: Likewise.
	* lib/sha1.h: Likewise.
	* lib/sha256.h: Likewise.
	* lib/sha512.h: Likewise.
	* lib/size_max.h: Likewise.
	* lib/sm3.h: Likewise.
	* lib/stat-size.h: Likewise.
	* lib/termcap.h: Likewise.
	* lib/terminfo.h: Likewise.
	* lib/thread-optim.h: Likewise.
	* lib/unlocked-io.h: Likewise.
	* lib/vma-iter.h: Likewise.

2023-04-13  Bruno Haible  <bruno@clisp.org>

	Adjust comments in <config.h> reminders.
	* lib/*.h: In the comments, mention also HAVE_*.

2023-04-13  Bruno Haible  <bruno@clisp.org>

	Adjust comments in <config.h> reminders.
	* lib/*.in.h: In the comments, mention also HAVE_RAW_DECL_*.
	* Makefile (sc_check_config_h_reminder): Search also for HAVE_RAW_DECL_.

2023-04-13  Bruno Haible  <bruno@clisp.org>

	utmp: Avoid using HAVE_* macros in *.in.h files.
	* m4/pty_h.m4 (gl_PTY_CHECK_UTIL_H): New macro, extracted from gl_PTY_H.
	(gl_PTY_H): Invoke it.
	* m4/utmp_h.m4 (gl_UTMP_H): Invoke gl_PTY_CHECK_UTIL_H and set
	HAVE_TERMIOS_H.
	(gl_UTMP_H_DEFAULTS): Require gl_PTY_H_DEFAULTS, gl_TERMIOS_H_DEFAULTS.
	* modules/utmp (Files): Add m4/pty_h.m4, m4/termios_h.m4.
	(Makefile.am): Substitute also HAVE_UTIL_H, HAVE_LIBUTIL_H,
	HAVE_TERMIOS_H.
	* lib/utmp.in.h: Test HAVE_UTIL_H, HAVE_LIBUTIL_H, HAVE_TERMIOS_H as
	Autoconf variables.

2023-04-13  Bruno Haible  <bruno@clisp.org>

	getprogname: Avoid using HAVE_* macros in *.in.h files.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
	HAVE_DECL_PROGRAM_INVOCATION_NAME.
	* m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Require gl_STDLIB_H_DEFAULTS
	and gl_USE_SYSTEM_EXTENSIONS. Set HAVE_DECL_PROGRAM_INVOCATION_NAME.
	* modules/stdlib (Makefile.am): Substitute
	HAVE_DECL_PROGRAM_INVOCATION_NAME.
	* lib/stdlib.in.h (getprogname): Test HAVE_DECL_PROGRAM_INVOCATION_NAME
	as an Autoconf variable.

2023-04-13  Bruno Haible  <bruno@clisp.org>

	selinux-h: Avoid using HAVE_* macros in *.in.h files.
	* m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Initialize
	HAVE_SELINUX_SELINUX_H.
	* modules/selinux-h (Makefile.am): Substitute HAVE_SELINUX_SELINUX_H.
	* lib/se-selinux.in.h: Test HAVE_SELINUX_SELINUX_H as an Autoconf
	variable.

2023-04-13  Bruno Haible  <bruno@clisp.org>

	ialloc, gethrxtime: Restore GCC diagnostics options.
	* lib/ialloc.h: Invoke _GL_INLINE_HEADER_END.
	* lib/xtime.h: Likewise.
	* Makefile (sc_check_GL_INLINE_HEADER_use): New rule.

2023-04-13  Bruno Haible  <bruno@clisp.org>

	flexmember: Fix module description (regression 2016-09-07).
	* modules/flexmember (Include): Add "flexmember.h".

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

	doc: year2038 MIPS o32 nudge
	* doc/year2038.texi: Use more-common "o32" name for
	32-bit MIPS ABI.

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

	Add more reminders to include <config.h>.
	* m4/gnulib-common.m4 (gl_COMMON): In config.h, define
	_GL_CONFIG_H_INCLUDED.
	* lib/acl-internal.h: Test _GL_CONFIG_H_INCLUDED instead of
	_GL_INLINE_HEADER_BEGIN.
	* lib/alignalloc.h: Likewise.
	* lib/argp-fmtstream.h: Likewise.
	* lib/argp.h: Likewise.
	* lib/binary-io.h: Likewise.
	* lib/bitrotate.h: Likewise.
	* lib/c-ctype.h: Likewise.
	* lib/count-leading-zeros.h: Likewise.
	* lib/count-one-bits.h: Likewise.
	* lib/count-trailing-zeros.h: Likewise.
	* lib/eealloc.h: Likewise.
	* lib/execinfo.in.h: Likewise.
	* lib/gethrxtime.h: Likewise.
	* lib/gl_list.h: Likewise.
	* lib/gl_map.h: Likewise.
	* lib/gl_omap.h: Likewise.
	* lib/gl_openssl.h: Likewise.
	* lib/gl_oset.h: Likewise.
	* lib/gl_set.h: Likewise.
	* lib/gl_xlist.h: Likewise.
	* lib/gl_xmap.h: Likewise.
	* lib/gl_xomap.h: Likewise.
	* lib/gl_xoset.h: Likewise.
	* lib/gl_xset.h: Likewise.
	* lib/gl_xsublist.h: Likewise.
	* lib/glthread/cond.h: Likewise.
	* lib/hamt.h: Likewise.
	* lib/ialloc.h: Likewise.
	* lib/math.in.h: Likewise.
	* lib/mbchar.h: Likewise.
	* lib/mbfile.h: Likewise.
	* lib/mbiter.h: Likewise.
	* lib/mbuiter.h: Likewise.
	* lib/openat.h: Likewise.
	* lib/pipe-filter-aux.h: Likewise.
	* lib/priv-set.h: Likewise.
	* lib/safe-alloc.h: Likewise.
	* lib/savewd.h: Likewise.
	* lib/se-context.in.h: Likewise.
	* lib/se-label.in.h: Likewise.
	* lib/se-selinux.in.h: Likewise.
	* lib/sig-handler.h: Likewise.
	* lib/stat-time.h: Likewise.
	* lib/string-desc-quotearg.h: Likewise.
	* lib/string-desc.h: Likewise.
	* lib/sys_socket.in.h: Likewise.
	* lib/timespec.h: Likewise.
	* lib/u64.h: Likewise.
	* lib/uchar.in.h: Likewise.
	* lib/unistd.in.h: Likewise.
	* lib/utimens.h: Likewise.
	* lib/wctype.in.h: Likewise.
	* lib/xalloc.h: Likewise.
	* lib/xbinary-io.h: Likewise.
	* lib/xsize.h: Likewise.
	* lib/xstring-desc.h: Likewise.
	* lib/xtime.h: Likewise.
	* lib/acl.h: Check that config.h was already included.
	* lib/alignof.h: Likewise.
	* lib/argmatch.h: Likewise.
	* lib/argv-iter.h: Likewise.
	* lib/arpa_inet.in.h: Likewise.
	* lib/attribute.h: Likewise.
	* lib/backupfile.h: Likewise.
	* lib/base32.h: Likewise.
	* lib/base64.h: Likewise.
	* lib/basename-lgpl.h: Likewise.
	* lib/bitset.h: Likewise.
	* lib/bitsetv.h: Likewise.
	* lib/c-snprintf.h: Likewise.
	* lib/c-stack.h: Likewise.
	* lib/c-strcase.h: Likewise.
	* lib/c-vasnprintf.h: Likewise.
	* lib/c-vasprintf.h: Likewise.
	* lib/c-vsnprintf.h: Likewise.
	* lib/c-xvasprintf.h: Likewise.
	* lib/canon-host.h: Likewise.
	* lib/canonicalize.h: Likewise.
	* lib/clean-temp.h: Likewise.
	* lib/concat-filename.h: Likewise.
	* lib/ctype.in.h: Likewise.
	* lib/dfa.h: Likewise.
	* lib/di-set.h: Likewise.
	* lib/dirent-safer.h: Likewise.
	* lib/dirent.in.h: Likewise.
	* lib/dirname.h: Likewise.
	* lib/eloop-threshold.h: Likewise.
	* lib/error.in.h: Likewise.
	* lib/exclude.h: Likewise.
	* lib/fatal-signal.h: Likewise.
	* lib/fcntl.in.h: Likewise.
	* lib/file-type.h: Likewise.
	* lib/filenamecat.h: Likewise.
	* lib/filevercmp.h: Likewise.
	* lib/flexmember.h: Likewise.
	* lib/fnmatch.in.h: Likewise.
	* lib/fpending.h: Likewise.
	* lib/freadable.h: Likewise.
	* lib/freadahead.h: Likewise.
	* lib/freading.h: Likewise.
	* lib/fts_.h: Likewise.
	* lib/fwritable.h: Likewise.
	* lib/fwriting.h: Likewise.
	* lib/gc.h: Likewise.
	* lib/get_progname_of.h: Likewise.
	* lib/glob.in.h: Likewise.
	* lib/glthread/thread.h: Likewise.
	* lib/hash-pjw-bare.h: Likewise.
	* lib/hash-pjw.h: Likewise.
	* lib/hash-triple.h: Likewise.
	* lib/hash.h: Likewise.
	* lib/i-ring.h: Likewise.
	* lib/iconv.in.h: Likewise.
	* lib/ino-map.h: Likewise.
	* lib/inttostr.h: Likewise.
	* lib/inttypes.in.h: Likewise.
	* lib/javaversion.h: Likewise.
	* lib/langinfo.in.h: Likewise.
	* lib/locale.in.h: Likewise.
	* lib/localename.h: Likewise.
	* lib/malloc.in.h: Likewise.
	* lib/malloca.h: Likewise.
	* lib/memcasecmp.h: Likewise.
	* lib/memchr2.h: Likewise.
	* lib/memcmp2.h: Likewise.
	* lib/modechange.h: Likewise.
	* lib/monetary.in.h: Likewise.
	* lib/mountlist.h: Likewise.
	* lib/netdb.in.h: Likewise.
	* lib/obstack.h: Likewise.
	* lib/opendirat.h: Likewise.
	* lib/pagealign_alloc.h: Likewise.
	* lib/pipe-filter.h: Likewise.
	* lib/poll.in.h: Likewise.
	* lib/pthread.in.h: Likewise.
	* lib/pty.in.h: Likewise.
	* lib/quotearg.h: Likewise.
	* lib/read-file.h: Likewise.
	* lib/readline.h: Likewise.
	* lib/readutmp.h: Likewise.
	* lib/regex-quote.h: Likewise.
	* lib/relocatable.h: Likewise.
	* lib/savedir.h: Likewise.
	* lib/sched.in.h: Likewise.
	* lib/search.in.h: Likewise.
	* lib/sh-quote.h: Likewise.
	* lib/signal.in.h: Likewise.
	* lib/sigpipe-die.h: Likewise.
	* lib/sockets.h: Likewise.
	* lib/spawn.in.h: Likewise.
	* lib/ssfmalloc.h: Likewise.
	* lib/stack.h: Likewise.
	* lib/stdalign.in.h: Likewise.
	* lib/stdarg.in.h: Likewise.
	* lib/stddef.in.h: Likewise.
	* lib/stdio-safer.h: Likewise.
	* lib/stdio.in.h: Likewise.
	* lib/stdlib.in.h: Likewise.
	* lib/stdnoreturn.in.h: Likewise.
	* lib/strerror-override.h: Likewise.
	* lib/striconv.h: Likewise.
	* lib/striconveh.h: Likewise.
	* lib/striconveha.h: Likewise.
	* lib/string-buffer.h: Likewise.
	* lib/string.in.h: Likewise.
	* lib/strings.in.h: Likewise.
	* lib/strnlen1.h: Likewise.
	* lib/sys_file.in.h: Likewise.
	* lib/sys_ioctl.in.h: Likewise.
	* lib/sys_random.in.h: Likewise.
	* lib/sys_resource.in.h: Likewise.
	* lib/sys_select.in.h: Likewise.
	* lib/sys_stat.in.h: Likewise.
	* lib/sys_time.in.h: Likewise.
	* lib/sys_times.in.h: Likewise.
	* lib/sys_utsname.in.h: Likewise.
	* lib/sys_wait.in.h: Likewise.
	* lib/system-quote.h: Likewise.
	* lib/term-style-control.h: Likewise.
	* lib/termios.in.h: Likewise.
	* lib/textstyle.in.h: Likewise.
	* lib/threads.in.h: Likewise.
	* lib/time.in.h: Likewise.
	* lib/trim.h: Likewise.
	* lib/utime.in.h: Likewise.
	* lib/utmp.in.h: Likewise.
	* lib/vasnprintf.h: Likewise.
	* lib/verror.h: Likewise.
	* lib/version-etc.h: Likewise.
	* lib/wchar.in.h: Likewise.
	* lib/windows-spawn.h: Likewise.
	* lib/windows-thread.h: Likewise.
	* lib/xgetcwd.h: Likewise.
	* lib/xgetdomainname.h: Likewise.
	* lib/xgethostname.h: Likewise.
	* lib/xmalloca.h: Likewise.
	* lib/xmemdup0.h: Likewise.
	* lib/xprintf.h: Likewise.
	* lib/xreadlink.h: Likewise.
	* lib/xstriconv.h: Likewise.
	* lib/xstriconveh.h: Likewise.
	* lib/xstrndup.h: Likewise.
	* lib/xstrtol-error.h: Likewise.
	* lib/xvasprintf.h: Likewise.
	* Makefile (config_h_MACROS*): New variables.
	(sc_check_config_h_reminder): New rule.

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

	doc: update year2038 list further
	Prompted by Adhemerval Zanella Netto’s email in:
	https://lists.gnu.org/r/bug-gnulib/2023-04/msg00083.html
	Also, mention 32-bit Android.
	* doc/year2038.texi: Mention Linux/ork1 and Android.
	Append "32" to powerpc and sparc names.

2023-04-11  Bruno Haible  <bruno@clisp.org>

	Fix the "make sc_prohibit_AC_LIBOBJ_in_m4" findings.
	* Makefile (allow_AC_LIBOBJ): Update after 2023-03-24 change. Add
	termcap, terminfo.

2023-04-11  Bruno Haible  <bruno@clisp.org>

	Fix some "make sc_prohibit_leading_TABs" findings.
	* tests/test-calloc-gnu.c: Expand tabs.
	* tests/test-regex.c: Likewise.

2023-04-11  Bruno Haible  <bruno@clisp.org>

	Makefile: Fix a syntax alert.
	* Makefile: Indent commands with tabs, not spaces.

2023-04-10  Bruno Haible  <bruno@clisp.org>

	alignasof: Ensure a correct _Alignas (regression 2023-01-15).
	* m4/stdalign.m4 (gl_ALIGNASOF): Define _Alignas also when <stdalign.h>
	exists.

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

	doc: update list of year2038 platforms
	* doc/year2038.texi: Update list of platforms
	by adding dates and version numbers and fixing some that
	appear to have been misfiled.  Also, list working systems
	and versions first, as that helps shorten the list of
	failing systems by saying "older versions".

	doc: moved year2038 para up
	* doc/year2038.texi: Move a paragraph up,
	as it’s lonely at the end.

	doc: document year2038 first
	* doc/year2038.texi: Document year2038 first, then
	year2038-required.

2023-04-10  Bruno Haible  <bruno@clisp.org>

	doc: Clarify list of platforms for year2038 support.
	* doc/year2038.texi (Avoiding the year 2038 problem): List the platforms
	on which year2038-required is known to fail vs. known to succeed.

2023-04-10  Bruno Haible  <bruno@clisp.org>

	doc: Avoid ambiguous wording.
	* doc/posix-headers/time.texi: Say "or" not "and".

2023-04-09  Bruno Haible  <bruno@clisp.org>

	doc: Fix a typo.
	* doc/posix-headers/time.texi: Fix typo in module name.

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

	largefile: sync from Autoconf master
	* modules/largefile-required, modules/year2038-required: New modules.
	* MODULES.html.sh, doc/largefile.texi, doc/posix-headers/time.texi:
	* doc/year2038.texi: Document this.
	* m4/largefile.m4: Sync from Autoconf master.
	Conditionalize the workaround on AC_SYS_LARGEFILE_REQUIRED rather
	than on AC_SYS_YEAR2038 so that we replace older but still
	unreleased Autoconf.
	(AC_SYS_LARGEFILE_REQUIRED, AC_SYS_YEAR2038_REQUIRED): New macros.

	year2038: configure earlier
	* modules/year2038: Put AC_SYS_YEAR2038 in configure.ac-early
	since it can affect later compilations with _TIME_BITS=64.

2023-04-09  Bruno Haible  <bruno@clisp.org>

	c32toupper: Add tests.
	* tests/test-c32toupper.sh: New file.
	* tests/test-c32toupper.c: New file, based on tests/test-c32islower.c.
	* modules/c32toupper-tests: New file.

	c32toupper: New module.
	* lib/uchar.in.h (c32toupper): New declaration.
	* lib/c32toupper.c: New file.
	* modules/c32toupper: New file.
	* m4/uchar_h.m4 (gl_UCHAR_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_C32TOUPPER.
	* modules/uchar (Makefile.am): Substitute GNULIB_C32TOUPPER.

2023-04-09  Bruno Haible  <bruno@clisp.org>

	c32tolower: Add tests.
	* tests/test-c32tolower.sh: New file.
	* tests/test-c32tolower.c: New file, based on tests/test-c32isupper.c.
	* modules/c32tolower-tests: New file.

	c32tolower: New module.
	* lib/uchar.in.h (c32tolower): New declaration.
	* lib/c32tolower.c: New file.
	* lib/c32to-impl.h: New file, based on lib/c32is-impl.h.
	* modules/c32tolower: New file.
	* m4/uchar_h.m4 (gl_UCHAR_H_REQUIRE_DEFAULTS): Initialize
	GNULIB_C32TOLOWER.
	* modules/uchar (Makefile.am): Substitute GNULIB_C32TOLOWER.

2023-04-09  Bruno Haible  <bruno@clisp.org>

	c32is*: Ensure GNULIB_defined_mbstate_t is defined on AIX.
	* m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Define through AC_DEFUN_ONCE.
	* m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32): Require it.
	* modules/c32isalnum (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4.
	(configure.ac): Require gl_MBSTATE_T_BROKEN.
	* modules/c32isalpha: Likewise.
	* modules/c32isblank: Likewise.
	* modules/c32iscntrl: Likewise.
	* modules/c32isdigit: Likewise.
	* modules/c32isgraph: Likewise.
	* modules/c32islower: Likewise.
	* modules/c32isprint: Likewise.
	* modules/c32ispunct: Likewise.
	* modules/c32isspace: Likewise.
	* modules/c32isupper: Likewise.
	* modules/c32isxdigit: Likewise.

2023-04-09  Bruno Haible  <bruno@clisp.org>

	mbrtoc32: Add comments.
	* lib/mbrtoc32.c: Add comment regarding AIX.
	* m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32): Add comment regarding
	GNULIB_defined_mbstate_t.

2023-04-09  Bruno Haible  <bruno@clisp.org>

	doc: Mention a NetBSD bug.
	* doc/posix-functions/towlower.texi: Mention NetBSD bug 57339.
	* doc/posix-functions/towupper.texi: Likewise.

2023-04-09  Bruno Haible  <bruno@clisp.org>

	vasnwprintf-posix: More details about the glibc bug.
	* doc/posix-functions/swprintf.texi: Add comment.
	* m4/printf.m4 (gl_SWPRINTF_DIRECTIVE_LA): Update cross-compilation
	guess.

2023-04-08  Bruno Haible  <bruno@clisp.org>

	doc: Mention another Haiku bug.
	* doc/posix-functions/open.texi: Mention a Haiku bug with symlinks.

2023-04-08  Bruno Haible  <bruno@clisp.org>

	Avoid Autoconf "was expanded before it was required" warning.
	* m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Define through
	AC_DEFUN_ONCE.
	* m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
	* m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.

2023-04-08  Bruno Haible  <bruno@clisp.org>

	striconveh tests: Avoid test failure on glibc 2.15.
	* tests/test-striconveh.c (main): Skip some of the GB18030 tests on
	glibc < 2.16.

2023-04-08  Bruno Haible  <bruno@clisp.org>

	vasnwprintf-posix: Really work around %La bug in glibc 2.15 and Haiku.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNWPRINTF): Fix a copy&paste bug.

2023-04-08  Bruno Haible  <bruno@clisp.org>

	login_tty: Fix compilation error in C++ mode on Solaris 11.4.
	* m4/login_tty.m4 (gl_FUNC_LOGIN_TTY): Test whether <termios.h> exists.
	Consider it when testing whether login_tty is declared.
	* lib/utmp.in.h: If none of <util.h> and <libutil.h> exists, include
	<termios.h> instead.
	* doc/glibc-functions/login_tty.texi: Document the Solaris 11.4 problem.

2023-04-08  Bruno Haible  <bruno@clisp.org>

	time: Fix compilation error in C++ mode on Solaris 11.
	* lib/time.in.h (time): Disable _GL_CXXALIASWARN invocation on non-glibc
	systems.

2023-04-07  Bruno Haible  <bruno@clisp.org>

	unistdio/*: Fix test failures (regression 2023-01-28).
	* modules/unistdio/*printf (configure.ac): Bump required libunistring
	version number.

2023-04-07  Bruno Haible  <bruno@clisp.org>

	trim tests: Fix link error.
	* modules/trim-tests (Makefile.am): Link test-trim also against libintl.

2023-04-07  Bruno Haible  <bruno@clisp.org>

	stdio: Fix the value of _PRINTF_NAN_LEN_MAX on OpenBSD.
	* lib/stdio.in.h (_PRINTF_NAN_LEN_MAX): Define to 4 on OpenBSD.

2023-04-07  Bruno Haible  <bruno@clisp.org>

	vasnwprintf-posix: Work around %La bug in glibc 2.15 and Haiku.
	* m4/printf.m4 (gl_SWPRINTF_DIRECTIVE_LA): New macro.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNWPRINTF): Invoke
	gl_SWPRINTF_DIRECTIVE_LA and define NEED_WPRINTF_DIRECTIVE_LA
	accordingly.
	* lib/vasnprintf.c: When compiling vasnwprintf, if
	NEED_WPRINTF_DIRECTIVE_LA, handle the %La and %LA directives ourselves.
	* doc/posix-functions/swprintf.texi: Mention the %La bug.

2023-04-07  Bruno Haible  <bruno@clisp.org>

	stdio: Fix compilation error in C++ mode on macOS.
	* lib/stdio.in.h (getw, putw): Repeat the declaration even if the
	function is already supposed to be declared.

2023-04-07  Bruno Haible  <bruno@clisp.org>

	vasnwprintf-posix tests: Avoid test failure on mingw.
	* tests/test-vasnwprintf-posix.c (test_function): For mingw, change two
	expected test results.

2023-04-06  Bruno Haible  <bruno@clisp.org>

	uchar: Inline functions with C linkage in C++ mode (regr. 2023-04-04).
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Put definitions of
	_GL_BEGIN_C_LINKAGE, _GL_END_C_LINKAGE into config.h.
	* lib/uchar.in.h: Enclose all inline functions in _GL_BEGIN_C_LINKAGE /
	_GL_END_C_LINKAGE.

2023-04-06  Bruno Haible  <bruno@clisp.org>

	alignalloc: Fix link error on glibc 2.15 systems.
	* lib/alignalloc.h (ALIGNALLOC_VIA_ALIGNED_ALLOC): Set to 0 on
	glibc 2.15 systems.

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

	doc: Add references to registered Haiku bugs.
	* doc/posix-functions/call_once.texi: Mention Haiku bug.
	* doc/posix-functions/duplocale.texi: Likewise.
	* doc/posix-functions/freelocale.texi: Likewise.
	* doc/posix-functions/getlogin_r.texi: Likewise.
	* doc/posix-functions/initstate.texi: Likewise.
	* doc/posix-functions/mbrtoc32.texi: Likewise.
	* doc/posix-functions/strxfrm.texi: Likewise.
	* doc/posix-headers/math.texi: Update.

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

	string-desc-quotearg tests: Avoid a test failure on Haiku.
	* tests/test-string-desc-quotearg.c (main): For the
	clocale_quoting_style, accept also the U+2018 and U+2019 characters in
	UTF-8 encoding.

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

	random_r: Fix compilation error on Haiku.
	* lib/stdlib.in.h: For random_r, include <stdint.h> always.
	* modules/random_r (Depends-on): Depend on 'stdint' always.

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

	forkpty, openpty, login_tty: Fix link errors of the tests.
	* m4/pty.m4 (gl_PTY_LIB): On Haiku, set PTY_LIB to '-lbsd'.

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

	strerrorname_np: Fix compilation error on Haiku.
	* lib/strerrorname_np.c (strerrorname_np): Avoid conflict between
	EDOOFUS and EINVAL.
	* tests/test-strerrorname_np.c (main): Likewise.

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

	uchar: Fix recent change.
	* lib/uchar.in.h: Include <string.h>, <wctype.h>.

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

	localename tests: Work around a Haiku bug.
	* tests/test-localename.c (freelocale): New macro.

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

	localename: Add support for Haiku's per-thread locales.
	* lib/localename.c: Include <dlfcn.h>.
	(gl_locale_name_thread_unsafe): Add special code for Haiku.

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

	uchar: Work around Haiku bug.
	* m4/uchar_h.m4 (gl_UCHAR_H, gl_TYPE_CHAR8_T, gl_TYPE_CHAR16_T,
	gl_TYPE_CHAR32_T): Before including <uchar.h>, on Haiku, first include
	<stdint.h>.
	* m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Likewise.
	* m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_CHECK_FUNC_MBRTOC32,
	gl_MBRTOC32_EMPTY_INPUT, gl_MBRTOC32_C_LOCALE, gl_MBRTOC32_SANITYCHECK):
	Likewise.
	* lib/uchar.in.h: On Haiku, include <stdint.h> before the include_next.
	* doc/posix-headers/uchar.texi: Mention the Haiku bug.

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

	stdlib, btowc: Fix file lists.
	* modules/stdlib (Files): Add m4/codeset.m4.
	* modules/btowc (Files): Likewise.
	* modules/c-dtoastr-tests (Files): Likewise.
	* modules/c-ldtoastr-tests (Files): Likewise.
	* modules/c-snprintf-tests (Files): Likewise.
	* modules/c-vasprintf-tests (Files): Likewise.
	* modules/c-vsnprintf-tests (Files): Likewise.
	* modules/c-xvasprintf-tests (Files): Likewise.
	* modules/nl_langinfo-tests (Files): Likewise.

2023-04-04  Bruno Haible  <bruno@clisp.org>

	duplocale: Fix compilation error on Haiku (regression 2023-01-22).
	* lib/locale.in.h (duplocale): If HAVE_DUPLOCALE = 0, don't declare it,
	even if REPLACE_DUPLOCALE = 1.
	* modules/duplocale (Depends-on, configure.ac): Don't compile a
	replacement if HAVE_DUPLOCALE = 0 and REPLACE_DUPLOCALE = 1.

2023-04-04  Bruno Haible  <bruno@clisp.org>

	c32tob, c32is*, c32rtomb, mbrtoc32: Fix file lists.
	* modules/c32tob (Files): Add m4/locale-fr.m4, m4/locale-zh.m4,
	m4/codeset.m4.
	* modules/c32isalnum (Files): Likewise.
	* modules/c32isalpha (Files): Likewise.
	* modules/c32isblank (Files): Likewise.
	* modules/c32iscntrl (Files): Likewise.
	* modules/c32isdigit (Files): Likewise.
	* modules/c32isgraph (Files): Likewise.
	* modules/c32islower (Files): Likewise.
	* modules/c32isprint (Files): Likewise.
	* modules/c32ispunct (Files): Likewise.
	* modules/c32isspace (Files): Likewise.
	* modules/c32isupper (Files): Likewise.
	* modules/c32isxdigit (Files): Likewise.
	* modules/c32rtomb (Files): Likewise.
	* modules/mbrtoc32 (Files): Likewise.

2023-04-04  Bruno Haible  <bruno@clisp.org>

	stdlib: Work around MB_CUR_MAX bug on Solaris 10.
	* lib/stdlib.in.h (gl_MB_CUR_MAX): New function.
	(MB_CUR_MAX, GNULIB_defined_MB_CUR_MAX): New macros.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Test whether MB_CUR_MAX is correct.
	(gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MB_CUR_MAX.
	* modules/stdlib (Files): Add m4/locale-fr.m4.
	(Makefile.am): Substitute REPLACE_MB_CUR_MAX.
	* doc/posix-headers/stdlib.texi: Mention the Solaris 10 bug.

2023-04-04  Bruno Haible  <bruno@clisp.org>

	*c32*: Inline most functions on glibc and musl libc.
	* lib/uchar.in.h: Invoke _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
	(btoc32): Inline if _GL_WCHAR_T_IS_UCS4.
	(c32isalnum, c32isalpha, c32isblank, c32iscntrl, c32isdigit, c32isgraph,
	c32islower, c32isprint, c32ispunct, c32isspace, c32isupper,
	c32isxdigit): Inline if
	_GL_WCHAR_T_IS_UCS4 && !GNULIB_defined_mbstate_t.
	(c32snrtombs, c32srtombs, c32stombs, c32tob, mbsnrtoc32s, mbsrtoc32s,
	mbstoc32s): Inline if _GL_WCHAR_T_IS_UCS4.
	* lib/btoc32.c: Define compilation unit marker.
	(btoc32): Conditionally mark as _GL_EXTERN_INLINE.
	* lib/c32isalnum.c: Define compilation unit marker.
	* lib/c32isalpha.c: Likewise.
	* lib/c32isblank.c: Likewise.
	* lib/c32iscntrl.c: Likewise.
	* lib/c32isdigit.c: Likewise.
	* lib/c32isgraph.c: Likewise.
	* lib/c32islower.c: Likewise.
	* lib/c32isprint.c: Likewise.
	* lib/c32ispunct.c: Likewise.
	* lib/c32isspace.c: Likewise.
	* lib/c32isupper.c: Likewise.
	* lib/c32isxdigit.c: Likewise.
	* lib/c32is-impl.h (FUNC): Conditionally mark as _GL_EXTERN_INLINE.
	* lib/c32snrtombs.c: Define compilation unit marker.
	(c32snrtombs): Conditionally mark as _GL_EXTERN_INLINE.
	* lib/c32srtombs.c: Define compilation unit marker.
	(c32srtombs): Conditionally mark as _GL_EXTERN_INLINE.
	* lib/c32stombs.c: Define compilation unit marker.
	(c32stombs): Conditionally mark as _GL_EXTERN_INLINE.
	* lib/c32tob.c: Define compilation unit marker.
	(c32tob): Conditionally mark as _GL_EXTERN_INLINE.
	* lib/mbsnrtoc32s.c: Define compilation unit marker.
	(mbsnrtoc32s): Conditionally mark as _GL_EXTERN_INLINE.
	* lib/mbsrtoc32s.c: Define compilation unit marker.
	(mbsrtoc32s): Conditionally mark as _GL_EXTERN_INLINE.
	* lib/mbstoc32s.c: Define compilation unit marker.
	(mbstoc32s): Conditionally mark as _GL_EXTERN_INLINE.
	* modules/uchar (Depends-on): Add extern-inline.

2023-04-04  Pádraig Brady  <P@draigBrady.com>

	backupfile: fix bug when renaming from subdirectory
	* lib/backupfile.c (backup_internal): Ensure we use the
	appropriate offset if operating on a subdirectory,
	i.e., on an updated sdir.
	Fixes https://bugs.gnu.org/62607

2023-04-04  Bruno Haible  <bruno@clisp.org>

	*c32*: Optimize on musl libc like on glibc.
	* lib/uchar.in.h (_GL_WCHAR_T_IS_UCS4): New macro.
	* lib/btoc32.c (btoc32): Test _GL_WCHAR_T_IS_UCS4 instead of __GLIBC__.
	* lib/mbsrtoc32s.c: Likewise.
	* lib/mbsnrtoc32s.c: Likewise.
	* lib/c32tob.c (c32tob): Likewise.
	* lib/c32srtombs.c: Likewise.
	* lib/c32snrtombs.c: Likewise.
	* lib/c32is-impl.h (FUNC): Likewise.

2023-04-04  Bruno Haible  <bruno@clisp.org>

	uchar: Rename _GL_LARGE_CHAR32_T to _GL_SMALL_WCHAR_T.
	* lib/uchar.in.h (_GL_SMALL_WCHAR_T): Renamed from _GL_LARGE_CHAR32_T.
	* lib/mbrtoc32.c: Update.
	* lib/mbsrtoc32s.c: Update.
	* lib/mbsnrtoc32s.c: Update.
	* lib/c32tob.c: Update.
	* lib/c32rtomb.c: Update.
	* lib/c32srtombs.c: Update.
	* lib/c32snrtombs.c: Update.
	* lib/c32is-impl.h: Update.
	* tests/test-uchar.c: Update.

2023-04-04  Bruno Haible  <bruno@clisp.org>

	c32rtomb: Fix an autoconf test.
	* m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): In a test program, include
	<stddef.h>, for NULL.

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

	tests: Set executable bit on more tests.
	* tests/test-c-dtoastr.sh: Make executable.
	* tests/test-c-ldtoastr.sh: Likewise.
	* tests/test-immutable.sh: Likewise.
	* tests/test-vasnwprintf-posix2.sh: Likewise.

2023-04-03  Jim Meyering  <meyering@fb.com>

	tests: set executable bit in test-trim[1-3].sh
	This avoids a test failure for each new file.
	* tests/test-trim1.sh: Make this file executable.
	* tests/test-trim2.sh: Likewise.
	* tests/test-trim3.sh: Likewise.

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

	Use the 'extern-inline' module explicitly where needed.
	I found the list of affected modules through this command:
	  for m in $(for f in `grep -Fl _GL_INLINE_HEADER_BEGIN lib/*.h | sort`
	             do ./gnulib-tool --find $f; done)
	  do grep '^extern-inline' modules/$m > /dev/null || echo $m
	  done
	* modules/fdutimensat (Depends-on): Add extern-inline.
	* modules/file-has-acl (Depends-on): Likewise.
	* modules/hamt (Depends-on): Likewise.
	* modules/relocatable-prog-wrapper (Depends-on): Likewise.
	* modules/safe-alloc (Depends-on): Likewise.
	* modules/string-desc (Depends-on): Likewise.
	* modules/string-desc-quotearg (Depends-on): Likewise.
	* modules/xstring-desc (Depends-on): Likewise.
	* modules/xvasprintf (Depends-on): Likewise.

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

	vasnprintf-posix: Fix harmless mistake (regression 2023-03-24).
	Found by Coverity.
	* lib/vasnprintf.c (MAX_ROOM_NEEDED): Insert 'break;' statement.

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

	mbstoc32s tests: Check behaviour in the C locale.
	* tests/test-mbstoc32s.c (main): Test behaviour in the C locale. Based
	on tests/test-mbstowcs.c.
	* tests/test-mbstoc32s-5.sh: New file, based on tests/test-mbstowcs5.sh.
	* modules/mbstoc32s-tests (Files): Add it.
	(Depends-on): Add btoc32.
	(Makefile.am): Run test-mbstoc32s-5.sh.

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

	mbsnrtoc32s tests: Check behaviour in the C locale.
	* tests/test-mbsnrtoc32s.c (main): Test behaviour in the C locale. Based
	on tests/test-mbsnrtowcs.c.
	* tests/test-mbsnrtoc32s-5.sh: New file, based on
	tests/test-mbsrtowcs5.sh.
	* modules/mbsnrtoc32s-tests (Files): Add it.
	(Depends-on): Add btoc32.
	(Makefile.am): Run test-mbsnrtoc32s-5.sh.

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

	mbsrtoc32s tests: Check behaviour in the C locale.
	* tests/test-mbsrtoc32s.c (main): Test behaviour in the C locale. Based
	on tests/test-mbsrtowcs.c.
	* tests/test-mbsrtoc32s-5.sh: New file, based on
	tests/test-mbsrtowcs5.sh.
	* modules/mbsrtoc32s-tests (Files): Add it.
	(Depends-on): Add btoc32.
	(Makefile.am): Run test-mbsrtoc32s-5.sh.

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

	btoc32 tests: Check behaviour in the C locale.
	* tests/test-btoc32.c (main): Test behaviour in the C locale. Based on
	tests/test-btowc.c.
	* tests/test-btoc32-3.sh: New file, based on tests/test-btowc3.sh.
	* modules/btoc32-tests (Files): Add it.
	(Makefile.am): Test it.

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

	mbrtoc32 tests: Prefer *c32* functions.
	* tests/test-mbrtoc32.c (main): Use btoc32 instead of btowc.
	* modules/mbrtoc32-tests (Depends-on): Add btoc32.

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

	mbrtoc32 tests: Add comment.
	* m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Add comment.
	* m4/mbrtoc32.m4 (gl_MBRTOC32_C_LOCALE): Add comment.
	* tests/test-mbrtoc32.c: Add comment.
	* tests/test-mbrtoc32-5.sh: Use symmetric coding style.
	* doc/posix-functions/mbrtoc32.texi: Update.

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

	trim: Fix trim_trailing result in multibyte locales.
	* lib/trim.c (trim2): Simplify algorithm for trim_trailing in multibyte
	locales, to use 2 instead of 3 states.
	(IF_LINT): Remove macro.

	trim: Add tests.
	* tests/test-trim.c: New file.
	* tests/test-trim1.sh: New file.
	* tests/test-trim2.sh: New file.
	* tests/test-trim3.sh: New file.
	* modules/trim-tests: New file.

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

	unistr/u8-strstr: Simplify code.
	* lib/unistr/u8-strstr.c: Inline the contents of lib/unistr/u-strstr.h.
	* lib/unistr/u-strstr.h: Remove file.
	* modules/unistr/u8-strstr (Files): Remove it.

	unistr/u{16,32}-strstr: Use two-way algorithm (no memory allocation).
	* lib/wcs-two-way.h: Use UNIT instead of wchar_t. Don't undefine
	RETURN_TYPE.
	* lib/wcsstr-impl.h: Move the non-linear implementation away. Use UNIT
	instead of wchar_t, RETURN_TYPE instead of 'wchar_t *', FUNC instead of
	wcsstr.
	(AVAILABLE): Use MEMCHR0 instead of wmemchr.
	(FUNC): Use STRCHR instead of wcschr.
	* lib/wcsstr.c: Moved the non-linear implementation to here.
	(FUNC, UNIT, RETURN_TYPE, MEMCHR0, STRCHR): New macros.
	* lib/unistr/u16-strstr.c: Don't include malloca.h, str-kmp.h,
	u-strstr.h. Instead, include wcsstr-impl.h.
	* lib/unistr/u32-strstr.c: Likewise.
	* modules/unistr/u16-strstr (Files): Remove u-strstr.h, str-kmp.h. Add
	wcsstr-impl.h, wcs-two-way.h.
	(Depends-on): Remove u16-strmbtouc, u16-strlen, u16-strnlen, malloca.
	Add u16-chr, u16-cmp.
	* modules/unistr/u32-strstr (Files): Remove u-strstr.h, str-kmp.h. Add
	wcsstr-impl.h, wcs-two-way.h.
	(Depends-on): Remove u32-strlen, u32-strnlen, malloca. Add u32-chr,
	u32-cmp.

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

	unistr/u*strstr tests: Add more tests.
	* tests/unistr/test-u-strstr.h (test_u_strstr): Add the two latest tests
	from tests/test-strstr.c.
	* tests/unistr/test-u8-strstr.c (U_SET): New macro.
	* tests/unistr/test-u16-strstr.c (U_SET): New macro.
	* tests/unistr/test-u32-strstr.c (U_SET): New macro.
	* modules/unistr/u8-strstr-tests (Depends-on): Add unistr/u8-set.
	* modules/unistr/u16-strstr-tests (Depends-on): Add unistr/u16-set.
	* modules/unistr/u32-strstr-tests (Depends-on): Add unistr/u32-set.

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

	vasnwprintf-posix: Fix behaviour in the C locale.
	* lib/vasnprintf.c (VASNPRINTF): If NEED_WPRINTF_DIRECTIVE_C is set,
	implement the 'c' directive here.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNWPRINTF): Invoke gl_MBRTOWC_C_LOCALE.
	If mbrtowc is buggy in the C locale, define NEED_WPRINTF_DIRECTIVE_C.
	* modules/vasnwprintf (Files): Add m4/mbrtowc.m4.
	* tests/test-vasnwprintf-posix.c (test_function): Add tests of %s and %c
	in the C locale.
	* doc/posix-functions/fwprintf.texi: Mention the C locale behaviour bug.
	* doc/posix-functions/swprintf.texi: Likewise.
	* doc/posix-functions/vfwprintf.texi: Likewise.
	* doc/posix-functions/vswprintf.texi: Likewise.
	* doc/posix-functions/vwprintf.texi: Likewise.
	* doc/posix-functions/wprintf.texi: Likewise.

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

	vasnprintf-posix: Fix crash in narrow %lc directive (regr. 2023-03-21).
	* lib/vasnprintf.c (VASNPRINTF): Negative results of local_wcrtomb can
	now occur; handle them.
	* tests/test-vasnprintf-posix.c (test_function): Test %lc directive with
	a wint_t argument that is not a valid wide character.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasnwprintf-posix.c (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.

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

	stddef: Fix __need_wint_t handling in case of two stddef.h overrides.
	* lib/stddef.in.h: Replace _GL_STDDEF_WINT_T with a symbol that depends
	on the @GUARD_PREFIX@.

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

	vasnwprintf: Fix crash upon conversion failure when processing %s.
	* lib/vasnprintf.c (VASNPRINTF): When processing %s with !has_precision
	and !has_width, don't call abort() if there is a conversion failure.

2023-03-30  Bruno Haible  <bruno@clisp.org>

	Avoid test failures on Android.
	* tests/test-btowc.c (main): Treat C locale like in
	tests/test-mbrtowc.c.
	* tests/test-mbsrtowcs.c (main): Likewise.
	* tests/test-mbsnrtowcs.c (main): Likewise.
	* tests/test-mbstowcs.c (main): Likewise.

2023-03-30  Bruno Haible  <bruno@clisp.org>

	mbstowcs: Add tests.
	* tests/test-mbstowcs1.sh: New file, based on tests/test-mbsrtowcs1.sh.
	* tests/test-mbstowcs2.sh: New file, based on tests/test-mbsrtowcs2.sh.
	* tests/test-mbstowcs3.sh: New file, based on tests/test-mbsrtowcs3.sh.
	* tests/test-mbstowcs4.sh: New file, based on tests/test-mbsrtowcs4.sh.
	* tests/test-mbstowcs5.sh: New file, based on tests/test-mbsrtowcs5.sh.
	* tests/test-mbstowcs.c: New file, based on tests/test-mbsrtowcs.c.
	* modules/mbstowcs-tests: New file, based on modules/mbsrtowcs-tests.

	mbstowcs: New module.
	* lib/stdlib.in.h (mbstowcs): New declaration.
	* lib/mbstowcs.c: New file, based on lib/mbstoc32s.c.
	* m4/mbstowcs.m4: New file.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbstowcs is declared.
	(gl_STDLIB_H_REQUIRE_DEFAULTS): Initialize GNULIB_MBSTOWCS.
	(gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MBSTOWCS.
	* modules/stdlib (Makefile.am): Substitute GNULIB_MBSTOWCS,
	REPLACE_MBSTOWCS.
	* modules/mbstowcs: New file.
	* tests/test-stdlib-c++.cc (mbstowcs): Check signature.
	* doc/posix-functions/mbstowcs.texi: Mention the C locale behaviour bug
	and the new module.

2023-03-30  Bruno Haible  <bruno@clisp.org>

	mbsnrtowcs: Fix behaviour in the C locale.
	* m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Invoke gl_MBRTOWC_C_LOCALE. If
	mbrtowc is buggy in the C locale, override also mbsnrtowcs.
	* modules/mbsnrtowcs (Files): Add m4/mbrtowc.m4.
	* tests/test-mbsnrtowcs.c (main): Add a test of the C locale, based on
	tests/test-mbsrtowcs.c.
	* tests/test-mbsnrtowcs5.sh: New file, based on tests/test-mbrtowc5.sh.
	* modules/mbsnrtowcs-tests (Files): Add it.
	(Makefile.am): Test it.
	* doc/posix-functions/mbsnrtowcs.texi: Mention the C locale behaviour
	bug.

2023-03-30  Bruno Haible  <bruno@clisp.org>

	mbsrtowcs: Fix behaviour in the C locale.
	* m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBRTOWC_C_LOCALE. If
	mbrtowc is buggy in the C locale, override also mbsrtowcs.
	* modules/mbsrtowcs (Files): Add m4/mbrtowc.m4.
	* tests/test-mbsrtowcs.c (main): Add a test of the C locale, based on
	tests/test-mbrtowc.c.
	* tests/test-mbsrtowcs5.sh: New file, based on tests/test-mbrtowc5.sh.
	* modules/mbsrtowcs-tests (Files): Add it.
	(Makefile.am): Test it.
	* doc/posix-functions/mbsrtowcs.texi: Mention the C locale behaviour
	bug.

2023-03-30  Bruno Haible  <bruno@clisp.org>

	mbrlen: Add tests.
	* tests/test-mbrlen1.sh: New file, based on tests/test-mbrtowc1.sh.
	* tests/test-mbrlen2.sh: New file, based on tests/test-mbrtowc2.sh.
	* tests/test-mbrlen3.sh: New file, based on tests/test-mbrtowc3.sh.
	* tests/test-mbrlen4.sh: New file, based on tests/test-mbrtowc4.sh.
	* tests/test-mbrlen5.sh: New file, based on tests/test-mbrtowc5.sh.
	* tests/test-mbrlen.c: New file, based on tests/test-mbrtowc.c.
	* tests/test-mbrlen-w32-1.sh: New file, based on
	tests/test-mbrtowc-w32-1.sh.
	* tests/test-mbrlen-w32-2.sh: New file, based on
	tests/test-mbrtowc-w32-2.sh.
	* tests/test-mbrlen-w32-3.sh: New file, based on
	tests/test-mbrtowc-w32-3.sh.
	* tests/test-mbrlen-w32-4.sh: New file, based on
	tests/test-mbrtowc-w32-4.sh.
	* tests/test-mbrlen-w32-5.sh: New file, based on
	tests/test-mbrtowc-w32-5.sh.
	* tests/test-mbrlen-w32-6.sh: New file, based on
	tests/test-mbrtowc-w32-6.sh.
	* tests/test-mbrlen-w32-7.sh: New file, based on
	tests/test-mbrtowc-w32-7.sh.
	* tests/test-mbrlen-w32.c: New file, based on tests/test-mbrtowc-w32.c.
	* modules/mbrlen-tests: New file, based on modules/mbrtowc-tests.
	* doc/posix-functions/mbrlen.texi: Update.

2023-03-30  Bruno Haible  <bruno@clisp.org>

	btowc: Fix behaviour in the C locale.
	* lib/btowc.c: Include <string.h>
	(btowc): Use mbrtowc instead of mbtowc when possible.
	* m4/btowc.m4 (gl_FUNC_BTOWC): Test for the mingw bug in the C locale.
	Invoke gl_MBRTOWC_C_LOCALE. If mbrtowc is buggy in the C locale,
	override also btowc.
	(gl_PREREQ_BTOWC): Test whether mbrtowc exists.
	* modules/btowc (Files): Add m4/mbrtowc.m4.
	(Depends-on): Add mbrtowc.
	* tests/test-btowc.c (main): Add a test of the C locale, based on
	tests/test-mbrtowc.c.
	* tests/test-btowc3.sh: New file, based on tests/test-mbrtowc5.sh.
	* modules/btowc-tests (Files): Add it.
	(Makefile.am): Test it.
	* doc/posix-functions/btowc.texi: Mention the two C locale behaviour
	bugs and that they are worked around.

2023-03-30  Bruno Haible  <bruno@clisp.org>

	mbrtowc tests: Add comment.
	* tests/test-mbrtowc.c: Add comment.
	* tests/test-mbrtowc5.sh: Use symmetric coding style.
	* doc/posix-functions/mbrtowc.texi: Update.

2023-03-30  Bruno Haible  <bruno@clisp.org>

	stdlib tests: Check behaviour of C locale.
	* tests/test-stdlib.c (main): Check MB_CUR_MAX.

2023-03-30  Bruno Haible  <bruno@clisp.org>

	string-desc tests: Fix "make distcheck" failure.
	* tests/test-string-desc.sh: Run the test in a subdir.

2023-03-30  Bruno Haible  <bruno@clisp.org>

	snprintf: Avoid autoconf warning regarding gl_PRINTF_POSITIONS.
	* m4/printf.m4 (gl_PRINTF_POSITIONS): Define through AC_DEFUN_ONCE.

2023-03-28  Bruno Haible  <bruno@clisp.org>

	doc: Document string-desc and related modules.
	* doc/string-desc.texi: New file.
	* doc/gnulib.texi (Particular Modules): Include it.

	string-desc-quotearg: Add tests.
	* tests/test-string-desc-quotearg.c: New file.
	* modules/string-desc-quotearg-tests: New file.

	string-desc-quotearg: New module.
	* lib/string-desc-quotearg.h: New file.
	* lib/string-desc-quotearg.c: New file.
	* modules/string-desc-quotearg: New file.

	xstring-desc: Add tests.
	* tests/test-xstring-desc.c: New file.
	* modules/xstring-desc-tests: New file.

	xstring-desc: New module.
	* lib/xstring-desc.h: New file.
	* lib/xstring-desc.c: New file.
	* modules/xstring-desc: New file.

	string-desc: Add tests.
	* tests/test-string-desc.sh: New file.
	* tests/test-string-desc.c: New file.
	* modules/string-desc-tests: New file.

	string-desc: New module.
	* lib/string-desc.h: New file.
	* lib/string-desc.c: New file.
	* lib/string-desc-contains.c: New file.
	* modules/string-desc: New file.

2023-03-28  Bruno Haible  <bruno@clisp.org>

	doc: Fix placement of memset_explicit node.
	* doc/posix-functions/memset_explicit.texi: Define a section, not a
	subsection.

2023-03-28  Bruno Haible  <bruno@clisp.org>

	doc: Update regarding linear string search.
	* doc/glibc-functions/memmem.texi: Update platforms list.
	* doc/posix-functions/strstr.texi: Likewise.
	* doc/glibc-functions/strcasestr.texi: Likewise.

2023-03-27  Bruno Haible  <bruno@clisp.org>

	ialloc: Add comments.
	* lib/ialloc.h (imalloc, irealloc, icalloc, ireallocarray): Add
	comments.

2023-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	Support FALLTHROUGH macro better in glibc+clang.
	* lib/fnmatch.c (FALLTHROUGH): Use __attribute__ ((__fallthrough__))
	also in clang >= 10.
	* lib/fts.c (FALLTHROUGH): Likewise.
	* lib/regex_internal.h (FALLTHROUGH): Likewise.

2023-03-27  Bruno Haible  <bruno@clisp.org>

	wcsstr: Ensure worst-case linear execution time.
	* lib/wchar.in.h (wcsstr): Consider REPLACE_WCSSTR.
	* lib/wcs-two-way.h: New file, based on lib/str-two-way.h.
	* lib/wcsstr-impl.h: If requested, use the two-way algorithm. New code
	based on lib/strstr.c.
	* m4/wcsstr.m4 (gl_FUNC_WCSSTR_SIMPLE): Renamed from gl_FUNC_WCSSTR.
	(gl_FUNC_WCSSTR): New macro, based on gl_FUNC_STRSTR in m4/strstr.m4.
	* m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSSTR.
	* modules/wchar (Makefile.am): Substitute REPLACE_WCSSTR.
	* modules/wcsstr-simple: New file, based on modules/wcsstr.
	* modules/wcsstr (Description): Document that this module now provides
	an efficient implementation.
	(Files): Add lib/wcs-two-way.h.
	(Depends-on): Depend on wcsstr-simple and the dependencies of the
	two-way implementation.
	(configure.ac): Use AC_LIBOBJ instead of a conditional. Don't invoke
	gl_WCHAR_MODULE_INDICATOR.
	(Makefile.am): Don't augment lib_SOURCES.
	* tests/test-wcsstr.c: New file, based on tests/test-strstr.c.
	* modules/wcsstr-tests: New file, based on modules/strstr-tests.
	* doc/posix-functions/wcsstr.texi: Mention the worst-case complexity.
	Mention the new 'wcsstr-simple' module.
	* doc/posix-functions/strstr.texi: Fix typo.

2023-03-27  Bruno Haible  <bruno@clisp.org>

	Add test case from a past musl libc bug.
	* tests/test-strstr.c (main): Add test of periodic needle.
	* tests/test-strcasestr.c (main): Likewise.
	* tests/test-c-strstr.c (main): Likewise.
	* tests/test-c-strcasestr.c (main): Likewise.
	* tests/test-memmem.c (main): Likewise.

2023-03-27  Bruno Haible  <bruno@clisp.org>

	uchar: ISO C 23: Define char8_t.
	* lib/uchar.in.h (char8_t): New type or macro.
	* m4/uchar_h.m4 (gl_TYPE_CHAR8_T): New macro.
	(gl_UCHAR_H): Invoke it. Set CXX_HAS_CHAR8_TYPE.
	* modules/uchar (Makefile.am): Substitute CXX_HAS_CHAR8_TYPE,
	GNULIBHEADERS_OVERRIDE_CHAR8_T.
	* tests/test-uchar.c: Add tests for char8_t.

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

	stdlib: ISO C 23: Document issue with once_flag and call_once.
	* doc/posix-headers/stdlib.texi: Document issue and workaround.

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

	call_once: New module, separate from mtx.
	* lib/threads.in.h (call_once): Declare as part of module 'call_once',
	not module 'mtx'.
	* lib/call_once.c: New file, extracted from lib/mtx.c.
	* lib/mtx.c (call_once): Remove function.
	* m4/threads_h.m4 (gl_THREADS_H_REQUIRE_DEFAULTS): Inititalize
	GNULIB_CALL_ONCE.
	* modules/threads-h (Makefile.am): Substitute GNULIB_CALL_ONCE.
	* modules/call_once: New file, based on modules/mtx.
	* modules/threads (Depends-on): Add call_once.
	* tests/test-threads-c++.cc: Update accordingly.
	* modules/call_once-tests: New file, based on modules/mtx-tests.
	* modules/mtx-tests (Files): Remove tests/test-call_once.c.
	(Makefile.am): Don't compile test-call_once.
	* doc/posix-functions/call_once.texi: Document that the relevant module
	is now 'call_once'.
	* NEWS: Mention the change.

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

	stdio: ISO C 23: Define _PRINTF_NAN_LEN_MAX.
	* lib/stdio.in.h (_PRINTF_NAN_LEN_MAX): New macro.
	* m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MUSL_LIBC.
	* modules/stdio (Files): Add m4/musl.m4.
	* tests/test-stdio.c: Check that _PRINTF_NAN_LEN_MAX is defined.
	Include nan.h, macros.h.
	(main): Check the value of _PRINTF_NAN_LEN_MAX.
	* modules/stdio-tests (Files): Add tests/nan.h, tests/macros.h,
	m4/exponentd.m4.
	(configure.ac): Invoke gl_DOUBLE_EXPONENT_LOCATION.

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

	Make some header file tests a bit stronger.
	* tests/test-float.c: Include fpucw.h and macros.h only after checking
	the macros.
	* tests/test-glob-h.c: Include macros.h only after checking the types
	and macros.
	* tests/test-inttypes.c: Don't include <stddef.h>.
	* tests/test-math.c: Include <limits.h> and macros.h only after checking
	the types and macros.
	* tests/test-stddef.c: Include <limits.h> only after checking the types
	and macros.
	* tests/test-sys_select.c: Include signature.h only after checking the
	types.
	* tests/test-sys_socket.c: Include <errno.h> only after checking the
	types and macros.
	* tests/test-wctype-h.c: Include macros.h only after checking the types.

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

	is* tests: Ensure needed .m4 files are packaged.
	* modules/isfinite-tests (Files): Add m4/exponent*.m4.
	* modules/isnan-tests (Files): Likewise.
	* modules/isnanf-tests (Files): Add m4/exponentf.m4.
	* modules/isnanf-nolibm-tests (Files): Likewise.
	* modules/isnand-tests (Files): Add m4/exponentd.m4.
	* modules/isnand-nolibm-tests (Files): Likewise.
	* modules/isnanl-tests (Files): Add m4/exponentl.m4.
	* modules/isnanl-nolibm-tests (Files): Likewise.
	* modules/isinf-tests (Files): Reorder.

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

	*printf-posix: ISO C 23: Support size specifiers 'wN' and 'wfN'.
	* lib/printf-args.h: Include <stdint.h>.
	(arg_type): Add TYPE_[U]INT8_T, ..., TYPE_[U]INT_FAST64_T and
	TYPE_COUNT_INT8_T_POINTER, ..., TYPE_COUNT_INT_FAST64_T_POINTER.
	(argument): Add the union members a_[u]int8_t, ..., a_[u]int_fast64_t
	and a_count_int8_t_pointer, ..., a_count_int_fast64_t_pointer.
	* lib/printf-args.c: Include <limits.h>.
	(PRINTF_FETCHARGS): Handle TYPE_[U]INT8_T, ..., TYPE_[U]INT_FAST64_T and
	TYPE_COUNT_INT8_T_POINTER, ..., TYPE_COUNT_INT_FAST64_T_POINTER.
	* lib/printf-parse.c (PRINTF_PARSE): Accept only one size specifier, not
	a sequence of size specifiers. Accept "wN" and "wfN", where N = 8, 16,
	32, 64.
	* lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Handle the new TYPE_*
	values as well.
	* m4/printf.m4 (gl_PRINTF_SIZES_C23): New macro.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_IS_POSIX): Require
	gl_PRINTF_SIZES_C23. Test gl_cv_func_printf_sizes_c23.
	* m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_IS_POSIX): Likewise.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_IS_POSIX): Likewise.
	* m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_IS_POSIX):
	Likewise.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_IS_POSIX): Likewise.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_IS_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_IS_POSIX): Likewise.
	* m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_IS_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_IS_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_IS_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_IS_POSIX): Likewise.
	* tests/test-vasnprintf-posix.c (test_function): Add tests for size
	specifiers with %d, %u, %b, %o, %x.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasnwprintf-posix.c (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* modules/vasnprintf (Depends-on): Add limits-h.
	* modules/vasnwprintf (Depends-on): Add limits-h.
	* modules/c-vasnprintf (Depends-on): Add limits-h, stdint.
	* modules/unistdio/u-printf-args (Depends-on): Add stdint, limits-h.
	* doc/posix-functions/dprintf.texi: Mention the ISO C 23 size
	specifiers.
	* doc/posix-functions/fprintf.texi: Likewise.
	* doc/posix-functions/fwprintf.texi: Likewise.
	* doc/posix-functions/printf.texi: Likewise.
	* doc/posix-functions/snprintf.texi: Likewise.
	* doc/posix-functions/sprintf.texi: Likewise.
	* doc/posix-functions/swprintf.texi: Likewise.
	* doc/posix-functions/vdprintf.texi: Likewise.
	* doc/posix-functions/vfprintf.texi: Likewise.
	* doc/posix-functions/vfwprintf.texi: Likewise.
	* doc/posix-functions/vprintf.texi: Likewise.
	* doc/posix-functions/vsnprintf.texi: Likewise.
	* doc/posix-functions/vsprintf.texi: Likewise.
	* doc/posix-functions/vswprintf.texi: Likewise.
	* doc/posix-functions/vwprintf.texi: Likewise.
	* doc/posix-functions/wprintf.texi: Likewise.

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

	xprintf-gnu: New module.
	* modules/xprintf-gnu: New file, based on modules/vasnprintf-gnu and
	modules/xprintf-posix.

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

	xvasprintf-gnu: New module.
	* modules/xvasprintf-gnu: New file, based on modules/xvasprintf-posix.

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

	vasnwprintf-gnu: Add tests.
	* tests/test-vasnwprintf-gnu.c: New file, based on
	tests/test-vasnwprintf-posix.c and tests/test-vasnprintf-gnu.c.
	* modules/vasnwprintf-gnu-tests: New file, based on
	modules/vasnwprintf-posix-tests.

	vasnwprintf-gnu: New module.
	* m4/vasnwprintf-posix.m4 (gl_FUNC_VASNWPRINTF_IS_POSIX): New macro.
	(gl_FUNC_VASNWPRINTF_POSIX): Require it. Invoke
	gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS.
	* m4/vasnwprintf-gnu.m4: New file, based on m4/vasnprintf-gnu.m4.
	* modules/vasnwprintf-gnu: New file, based on modules/vasnprintf-gnu.

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

	obstack-printf-gnu: Add tests.
	* modules/obstack-printf-gnu-tests: New file, based on
	modules/obstack-printf-posix-tests.

	obstack-printf-gnu: New module.
	* m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_IS_POSIX): New
	macro, extracted from gl_FUNC_OBSTACK_PRINTF_POSIX.
	(gl_FUNC_OBSTACK_PRINTF_POSIX): Require it. Invoke
	gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS.
	* m4/obstack-printf-gnu.m4: New file, based on
	m4/obstack-printf-posix.m4.
	* modules/obstack-printf-gnu: New file, based on modules/vasnprintf-gnu.
	* doc/glibc-functions/obstack_printf.texi: Mention the new module.
	* doc/glibc-functions/obstack_vprintf.texi: Likewise.

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

	dprintf-gnu: Add tests.
	* tests/test-dprintf-gnu.sh: New file, based on
	tests/test-dprintf-posix.sh.
	* tests/test-dprintf-gnu.c: New file, based on
	tests/test-vasnprintf-gnu.c.
	* modules/dprintf-gnu-tests: New file, based on
	modules/dprintf-posix-tests.

	dprintf-gnu: New module.
	* m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_IS_POSIX): New macro,
	extracted from gl_FUNC_DPRINTF_POSIX.
	(gl_FUNC_DPRINTF_POSIX): Require it. Invoke
	gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS.
	* m4/dprintf-gnu.m4: New file, based on m4/dprintf-posix.m4.
	* modules/dprintf-gnu: New file, based on modules/vasnprintf-gnu.
	* doc/posix-functions/dprintf.texi: Mention the new module.

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

	vdprintf-gnu: Add tests.
	* tests/test-vdprintf-gnu.sh: New file, based on
	tests/test-vdprintf-posix.sh.
	* tests/test-vdprintf-gnu.c: New file, based on
	tests/test-vdprintf-posix.c.
	* modules/vdprintf-gnu-tests: New file, based on
	modules/vdprintf-posix-tests.

	vdprintf-gnu: New module.
	* m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_IS_POSIX): New macro,
	extracted from gl_FUNC_VDPRINTF_POSIX.
	(gl_FUNC_VDPRINTF_POSIX): Require it. Invoke
	gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS.
	* m4/vdprintf-gnu.m4: New file, based on m4/vdprintf-posix.m4.
	* modules/vdprintf-gnu: New file, based on modules/vasnprintf-gnu.
	* doc/posix-functions/vdprintf.texi: Mention the new module.

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

	printf-gnu: Add tests.
	* tests/test-printf-gnu.sh: New file, based on
	tests/test-printf-posix.sh.
	* tests/test-printf-gnu.c: New file, based on tests/test-printf-posix.c.
	* modules/printf-gnu-tests: New file, based on
	modules/printf-posix-tests.

	printf-gnu: New module.
	* m4/printf-posix.m4: Renamed from m4/printf-posix-rpl.m4.
	(gl_FUNC_PRINTF_IS_POSIX): New macro.
	(gl_FUNC_PRINTF_POSIX): Require it. Don't require
	gl_FUNC_VFPRINTF_POSIX. Invoke gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
	and gl_REPLACE_VASNPRINTF.
	* m4/printf-gnu.m4: New file, based on m4/fprintf-posix.m4.
	* modules/printf-posix (Files): Update.
	* modules/printf-gnu: New file, based on modules/vasnprintf-gnu.
	* doc/posix-functions/printf.texi: Mention the new module.

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

	vprintf-gnu: Add tests.
	* tests/test-vprintf-gnu.sh: New file, based on
	tests/test-vprintf-posix.sh.
	* tests/test-vprintf-gnu.c: New file, based on
	tests/test-vprintf-posix.c.
	* tests/test-printf-gnu.h: New file, based on
	tests/test-vasnprintf-gnu.c.
	* modules/vprintf-gnu-tests: New file, based on
	modules/vprintf-posix-tests.

	vprintf-gnu: New module.
	* m4/vprintf-posix.m4 (gl_FUNC_VPRINTF_IS_POSIX): New macro.
	(gl_FUNC_VPRINTF_POSIX): Require it. Don't require
	gl_FUNC_VFPRINTF_POSIX. Invoke gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS
	and gl_REPLACE_VASNPRINTF.
	* m4/vprintf-gnu.m4: New file, based on m4/vfprintf-posix.m4.
	* modules/vprintf-gnu: New file, based on modules/vasnprintf-gnu.
	* doc/posix-functions/vprintf.texi: Mention the new module.

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

	fprintf-gnu: Add tests.
	* tests/test-fprintf-gnu.sh: New file, based on
	tests/test-fprintf-posix.sh.
	* tests/test-fprintf-gnu.c: New file, based on
	tests/test-fprintf-posix.c.
	* modules/fprintf-gnu-tests: New file, based on
	modules/fprintf-posix-tests.

	fprintf-gnu: New module.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_IS_POSIX): New macro,
	extracted from gl_FUNC_FPRINTF_POSIX.
	(gl_FUNC_FPRINTF_POSIX): Require it. Invoke
	gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS.
	* m4/fprintf-gnu.m4: New file, based on m4/fprintf-posix.m4.
	* modules/fprintf-gnu: New file, based on modules/vasnprintf-gnu.
	* doc/posix-functions/fprintf.texi: Mention the new module.

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

	vfprintf-gnu: Add tests.
	* tests/test-vfprintf-gnu.sh: New file, based on
	tests/test-vfprintf-posix.sh.
	* tests/test-vfprintf-gnu.c: New file, based on
	tests/test-vfprintf-posix.c.
	* tests/test-fprintf-gnu.h: New file, based on
	tests/test-vasnprintf-gnu.c.
	* tests/test-printf-gnu.output: New file, based on
	tests/test-vasnprintf-gnu.c.
	* modules/vfprintf-gnu-tests: New file, based on
	modules/vfprintf-posix-tests.

	vfprintf-gnu: New module.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_IS_POSIX): New macro,
	extracted from gl_FUNC_VFPRINTF_POSIX.
	(gl_FUNC_VFPRINTF_POSIX): Require it. Invoke
	gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS.
	* m4/vfprintf-gnu.m4: New file, based on m4/vfprintf-posix.m4.
	* modules/vfprintf-gnu: New file, based on modules/vasnprintf-gnu.
	* doc/posix-functions/vfprintf.texi: Mention the new module.

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

	vasprintf-gnu: Add tests.
	* tests/test-vasprintf-gnu.c: New file, based on
	tests/test-vasprintf-posix.c and tests/test-vasnprintf-gnu.c.
	* modules/vasprintf-gnu-tests: New file, based on
	modules/vasprintf-posix-tests.

	vasprintf-gnu: New module.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_IS_POSIX): New macro,
	extracted from gl_FUNC_VASPRINTF_POSIX.
	(gl_FUNC_VASPRINTF_POSIX): Require it. Invoke
	gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS.
	* m4/vasprintf-gnu.m4: New file, based on m4/vasprintf-posix.m4.
	* modules/vasprintf-gnu: New file, based on modules/vasnprintf-gnu.
	* doc/glibc-functions/vasprintf.texi: Mention the new module.
	* doc/glibc-functions/asprintf.texi: Likewise.

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

	sprintf-gnu: Add tests.
	* tests/test-sprintf-gnu.c: New file, based on
	tests/test-sprintf-posix.c.
	* modules/sprintf-gnu-tests: New file, based on
	modules/sprintf-posix-tests.

	sprintf-gnu: New module.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_IS_POSIX): New macro,
	extracted from gl_FUNC_SPRINTF_POSIX.
	(gl_FUNC_SPRINTF_POSIX): Require it. Invoke
	gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS.
	* m4/sprintf-gnu.m4: New file, based on m4/sprintf-posix.m4.
	* modules/sprintf-gnu: New file, based on modules/vasnprintf-gnu.
	* doc/posix-functions/sprintf.texi: Mention the new module.

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

	vsprintf-gnu: Add tests.
	* tests/test-vsprintf-gnu.c: New file, based on
	tests/test-vsprintf-posix.c.
	* tests/test-sprintf-gnu.h: New file, based on
	tests/test-vasnprintf-gnu.c.
	* modules/vsprintf-gnu-tests: New file, based on
	modules/vsprintf-posix-tests.

	vsprintf-gnu: New module.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_IS_POSIX): New macro,
	extracted from gl_FUNC_VSPRINTF_POSIX.
	(gl_FUNC_VSPRINTF_POSIX): Require it. Invoke
	gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS.
	* m4/vsprintf-gnu.m4: New file, based on m4/vsprintf-posix.m4.
	* modules/vsprintf-gnu: New file, based on modules/vasnprintf-gnu.
	* doc/posix-functions/vsprintf.texi: Mention the new module.

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

	snprintf-gnu: Add tests.
	* tests/test-snprintf-gnu.c: New file, based on
	tests/test-snprintf-posix.c.
	* modules/snprintf-gnu-tests: New file, based on
	modules/snprintf-posix-tests.

	snprintf-gnu: New module.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_IS_POSIX): New macro,
	extracted from gl_FUNC_SNPRINTF_POSIX.
	(gl_FUNC_SNPRINTF_POSIX): Require it. Invoke
	gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS.
	* m4/snprintf-gnu.m4: New file, based on m4/snprintf-posix.m4.
	* modules/snprintf-gnu: New file, based on modules/vasnprintf-gnu.
	* doc/posix-functions/snprintf.texi: Mention the new module.

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

	vsnprintf-gnu: Add tests.
	* tests/test-vsnprintf-gnu.c: New file, based on
	tests/test-vsnprintf-posix.c.
	* tests/test-snprintf-gnu.h: New file, based on
	tests/test-vasnprintf-gnu.c.
	* modules/vsnprintf-gnu-tests: New file, based on
	modules/vsnprintf-posix-tests.

	vsnprintf-gnu: New module.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_IS_POSIX): New macro,
	extracted from gl_FUNC_VSNPRINTF_POSIX.
	(gl_FUNC_VSNPRINTF_POSIX): Require it. Invoke
	gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS.
	* m4/vsnprintf-gnu.m4: New file, based on m4/vsnprintf-posix.m4.
	* modules/vsnprintf-gnu: New file, based on modules/vasnprintf-gnu.
	* doc/posix-functions/vsnprintf.texi: Mention the new module.

2023-03-23  Bruno Haible  <bruno@clisp.org>

	vasnprintf-gnu: Add tests.
	* tests/test-vasnprintf-gnu.c: New file, based on
	tests/test-vasnprintf-posix.c.
	* modules/vasnprintf-gnu-tests: New file.

	vasnprintf-gnu: New module.
	Suggested by Eric Blake in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-03/msg00060.html>.
	* lib/printf-parse.c (PRINTF_PARSE): Recognize the 'B' conversion.
	* lib/printf-parse.h: Update comments.
	* lib/wprintf-parse.h: Likewise.
	* lib/vasnprintf.c (MAX_ROOM_NEEDED): Treat the 'B' conversion like 'b'.
	(VASNPRINTF): Implement 'B' conversion if
	NEED_PRINTF_DIRECTIVE_UPPERCASE_B is set. Support the 'B' conversion if
	requested.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_B): When cross-compiling, guess yes
	on glibc >= 2.35.
	(gl_PRINTF_DIRECTIVE_UPPERCASE_B): New macro.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS): Renamed
	from gl_PREREQ_VASNPRINTF_WITH_EXTRAS.
	(gl_PREREQ_VASNPRINTF_DIRECTIVE_UPPERCASE_B,
	gl_PREREQ_VASNPRINTF_WITH_GNU_EXTRAS): New macros.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_IS_POSIX): New macro,
	extracted from gl_FUNC_VASNPRINTF_POSIX.
	(gl_FUNC_VASNPRINTF_POSIX): Require it. Invoke
	gl_PREREQ_VASNPRINTF_WITH_POSIX_EXTRAS.
	* m4/vasnprintf-gnu.m4: New file.
	* modules/vasnprintf-gnu: New file.
	* modules/c-vasnprintf (configure.ac): Update.
	* modules/unistdio/u8-vasnprintf (configure.ac): Likewise.
	* modules/unistdio/u8-u8-vasnprintf (configure.ac): Likewise.
	* modules/unistdio/u16-vasnprintf (configure.ac): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (configure.ac): Likewise.
	* modules/unistdio/u32-vasnprintf (configure.ac): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-vasnprintf (configure.ac): Likewise.

2023-03-23  Bruno Haible  <bruno@clisp.org>

	printf-posix tests: Fix compilation error (regression 2021-08-28).
	* modules/printf-posix-tests (Files): Add tests/qemu.h.

2023-03-22  Jim Meyering  <meyering@fb.com>

	gnu-web-doc-update: don't use host alias, cvs.sv.gnu.org
	* build-aux/gnu-web-doc-update: Use hostname cvs.savannah.gnu.org,
	not cvs.sv.gnu.org. Using the shorter alias would elicit this:
	  $ pkg=grep ; cvs -d $USER@cvs.sv.gnu.org:/webcvs/$pkg co $pkg
	  Bad server host key: Invalid key length

2023-03-22  Bruno Haible  <bruno@clisp.org>

	*printf-posix: Fix implementation of %b directive.
	* lib/vasnprintf.c (VASNPRINTF): In the %b directive implementation, fix
	the precision handling, and ignore the '0' flag when a width and a
	precision are both present.
	* tests/test-snprintf-posix.h (test_function): Add test cases for the %x
	directive and more test cases for the %b directive.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasnprintf-posix.c (test_function): Likewise.
	* tests/test-vasnwprintf-posix.c (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* modules/vasnwprintf-posix-tests (Files): Add m4/musl.m4.
	(configure.ac): Invoke gl_MUSL_LIBC.

2023-03-22  Bruno Haible  <bruno@clisp.org>

	vasnwprintf: Fix a warning: implicit declaration of function ‘wcsnlen’.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNWPRINTF): Test also whether wcsnlen is
	declared.
	* lib/vasnprintf.c (local_wcsnlen): Together with HAVE_WCSNLEN, test
	also HAVE_DECL_WCSNLEN.

2023-03-22  Bruno Haible  <bruno@clisp.org>

	vasnwprintf: Fix a "warning: unused function local_wcsnlen".
	* lib/vasnprintf.c: Adjust #if conditions.

2023-03-22  Bruno Haible  <bruno@clisp.org>

	vasnwprintf: Fix test failures on FreeBSD, NetBSD, AIX, mingw.
	* m4/printf.m4 (gl_SWPRINTF_WORKS): New macro.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNWPRINTF): Invoke it and define
	HAVE_WORKING_SWPRINTF accordingly.
	* lib/vasnprintf.c: Together with HAVE_SWPRINTF, test also
	HAVE_WORKING_SWPRINTF.
	(VASNPRINTF): If WIDE_CHAR_VERSION && !DCHAR_IS_TCHAR, don't pass a
	wchar_t[] to snprintf. Add a workaround against mingw's snwprintf
	function.
	* doc/posix-functions/swprintf.texi: Document the null wide character
	bug.

2023-03-22  Bruno Haible  <bruno@clisp.org>

	vasnwprintf: Fix a "warning: unused function 'wmax_room_needed'".
	* lib/vasnprintf.c (MAX_ROOM_NEEDED): Adjust #if condition.

2023-03-22  Bruno Haible  <bruno@clisp.org>

	vasnwprintf: Simplify last change.
	* lib/vasnprintf.c (VASNPRINTF): Remove unused variable 'len'.

2023-03-22  Bruno Haible  <bruno@clisp.org>

	vasnwprintf tests: Fix link errors on AIX.
	* modules/vasnwprintf (Link): New section.
	* modules/vasnwprintf-posix (Link): New section.
	* modules/vasnwprintf-tests (Makefile.am): Link test-vasnwprintf with
	$(MBRTOWC_LIB).
	* modules/vasnwprintf-posix-tests (Makefile.am): Link
	test-vasnwprintf-posix, test-vasnwprintf-posix2, test-vasnwprintf-posix3
	with $(MBRTOWC_LIB).

2023-03-22  Bruno Haible  <bruno@clisp.org>

	gnu-web-doc-update: Make it work for the first upload of a manual.
	Reported by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-03/msg00066.html>.
	* build-aux/gnu-web-doc-update: Put the 'manual' directory under version
	control if it is not yet.

2023-03-21  Bruno Haible  <bruno@clisp.org>

	unistdio/u*-vasnprintf: Fix conversion of %Id directive result.
	* lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's result is
	entirely ASCII if the directive contain the glibc 'I' flag.

2023-03-21  Bruno Haible  <bruno@clisp.org>

	vasnwprintf: Fix for older platforms without swprintf.
	* lib/vasnprintf.c (VASNPRINTF): In the %lc handling, ignore the
	precision. Convert the snprintf result to a wchar_t[] not by mbsrtowcs,
	but by a loop that does not stop at NUL characters.
	* tests/test-vasnwprintf-posix.c (test_function): Add more tests for the
	%c and %lc directives.
	* modules/vasnwprintf (Depends-on): Add mbrtowc. Remove mbsrtowcs.

2023-03-21  Bruno Haible  <bruno@clisp.org>

	*printf-posix: Work around bug with %lc of 0 on many platforms.
	* lib/vasnprintf.c (local_wctomb): Define also for
	NEED_PRINTF_DIRECTIVE_LC.
	(VASNPRINTF): Implement %lc handling ourselves if
	NEED_PRINTF_DIRECTIVE_LC.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_LC): New macro.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LC): New macro.
	(gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
	* m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Require
	gl_PRINTF_DIRECTIVE_LC and test its result. Invoke
	gl_PREREQ_VASNPRINTF_DIRECTIVE_LC.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
	* m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
	* m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
	* tests/test-snprintf-posix.h (test_function): Add more tests for the
	%c and %lc directives.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasnprintf-posix.c (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* doc/glibc-functions/asprintf.texi: Mention the %lc 0 bug.
	* doc/glibc-functions/obstack_printf.texi: Likewise.
	* doc/glibc-functions/obstack_vprintf.texi: Likewise.
	* doc/glibc-functions/vasprintf.texi: Likewise.
	* doc/posix-functions/dprintf.texi: Likewise.
	* 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.

2023-03-21  Ar Rakin  <rakinar2@onesoftnet.eu.org>  (tiny change)

	gnupload: correct SFTP connection URL
	Approved by Sergey Poznyakoff in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-03/msg00078.html>.
	* build-aux/gnupload: fix gnu.org.ua SFTP connection URL:
	puszcza.gnu.org.ua -> download.gnu.org.ua

2023-03-20  Bruno Haible  <bruno@clisp.org>

	memrchr tests: Avoid GCC warning.
	* tests/test-memrchr.c: Don't use '#pragma GCC diagnostic' for GCC
	versions older than 4.7.

2023-03-20  Bruno Haible  <bruno@clisp.org>

	unistdio: Simplify code.
	* lib/unistdio/u8-vasnprintf.c (DCHAR_T_IS_UINT8_T): Remove unused
	macro.
	* lib/unistdio/u8-u8-vasnprintf.c: Likewise.
	* lib/unistdio/u16-vasnprintf.c (DCHAR_T_IS_UINT16_T): Remove unused
	macro.
	* lib/unistdio/u16-u32-vasnprintf.c: Likewise.
	* lib/unistdio/u32-vasnprintf.c (DCHAR_T_IS_UINT32_T): Remove unused
	macro.
	* lib/unistdio/u32-u32-vasnprintf.c: Likewise.

2023-03-20  Bruno Haible  <bruno@clisp.org>

	vasnwprintf: Port to older platforms without swprintf.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNWPRINTF): Test for swprintf.
	* lib/vasnprintf.c (TCHAR_T, DCHAR_IS_TCHAR, SNPRINTF): When
	WIDE_CHAR_VERSION and swprintf does not exist, use TCHAR_T = char,
	SNPRINTF = snprintf, and !DCHAR_IS_TCHAR.
	(VASNPRINTF): In this case, implement %ls and %lc directly. Adjust a
	couple of #if conditions. For the conversion from TCHAR_T[] to
	DCHAR_T[], use mbsrtowcs.
	* modules/vasnwprintf (Depends-on): Add mbsrtowcs.

2023-03-20  Bruno Haible  <bruno@clisp.org>

	wmemset: Relicense under LGPLv2+.
	* modules/wmemset (License): Change to LGPLv2+.
	* lib/wmemset.c: Update license notice.
	* lib/wmemset-impl.h: Likewise.

2023-03-20  Bruno Haible  <bruno@clisp.org>

	wmemcpy: Relicense under LGPLv2+.
	* modules/wmemcpy (License): Change to LGPLv2+.
	* lib/wmemcpy.c: Update license notice.
	* lib/wmemcpy-impl.h: Likewise.

2023-03-19  Bruno Haible  <bruno@clisp.org>

	vasnwprintf: Fix test failures on musl libc.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNWPRINTF): Invoke gl_MUSL_LIBC.
	* lib/vasnprintf.c (VASNPRINTF): On musl libc, when WIDE_CHAR_VERSION,
	- force pad_ourselves to be 1,
	- don't use %n.
	Fix zero-padding when the result starts with a prefix "0x" or "0b".
	* modules/vasnwprintf (Files): Add musl.m4.
	* doc/posix-functions/swprintf.texi: Mention two musl libc bugs.

2023-03-19  Bruno Haible  <bruno@clisp.org>

	vasnwprintf: Fix module dependencies.
	* modules/vasnwprintf (Depends-on): Add wmemcpy, wmemset.
	* modules/vasnwprintf-tests (Depends-on): Add wmemcmp.
	* modules/vasnwprintf-posix-tests (Depends-on): Likewise.

2023-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	test-pselect, test-select: use different ports
	I have observed rare and hard-to-reproduce problems with the GNU
	grep release candidate with ‘make -j5 check’ on Fedora 37 x86-64.
	One possibility is that test-pselect and test-select interfere
	with each other somehow when run simultaneously, as they use the
	same port.  Work around this possibility by using different ports
	from each other, and from test-poll (which also uses 12345).
	Of course it’d be better if all these tests used system-assigned
	ports, but I assume that’d take more work.
	* tests/test-pselect.c, tests/test-select.c (TEST_PORT): New macro.
	* tests/test-select.h (TEST_PORT): Remove.

2023-03-19  Bruno Haible  <bruno@clisp.org>

	Update MODULES.html.sh.
	* MODULES.html.sh: Move stack, wmempcpy, bison to different sections.
	Fix a HTML layout problem.

2023-03-18  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: pacify Oracle Solaris Studio 12.6
	Without this patch, the compiler complains “statement not reached”.
	* lib/dfa.c (lex): Refactor to omit unreachable statement.

	Update MODULES.html.sh
	* MODULES.html.sh: Add some recently-added modules.
	This is by no means a complete update.  I needed to point
	to something about ‘time’ so I added ‘time’, and then added
	more modules until I ran out of, errr, time.
	Assuming MODULES.html.sh is still useful,
	at some point a more-complete update should be done.

2023-03-17  Bruno Haible  <bruno@clisp.org>

	*printf-posix: ISO C 23: Add %b directive for binary output of integers.
	* lib/printf-parse.c (PRINTF_PARSE): Recognize the 'b' directive.
	* lib/printf-parse.h: Update comment.
	* lib/wprintf-parse.h: Likewise.
	* lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Add support for the
	'b' directive.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_B): New macro.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_B): New macro.
	(gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
	* m4/vasnwprintf-posix.m4 (gl_FUNC_VASNWPRINTF_POSIX): Invoke
	gl_PREREQ_VASNPRINTF_DIRECTIVE_B.
	* m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Require
	gl_PRINTF_DIRECTIVE_B and test its result. Invoke
	gl_PREREQ_VASNPRINTF_DIRECTIVE_B.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
	* m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
	* m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
	* tests/test-snprintf-posix.h (test_function): Add some tests of the %b
	directive.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasnprintf-posix.c (test_function): Likewise.
	* tests/test-vasnwprintf-posix.c (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* doc/glibc-functions/asprintf.texi: Mention the 'b' directive.
	* doc/glibc-functions/obstack_printf.texi: Likewise.
	* doc/glibc-functions/obstack_vprintf.texi: Likewise.
	* doc/glibc-functions/vasprintf.texi: Likewise.
	* doc/posix-functions/dprintf.texi: Likewise.
	* doc/posix-functions/fprintf.texi: Likewise.
	* doc/posix-functions/fwprintf.texi: Likewise.
	* doc/posix-functions/printf.texi: Likewise.
	* doc/posix-functions/snprintf.texi: Likewise.
	* doc/posix-functions/sprintf.texi: Likewise.
	* doc/posix-functions/swprintf.texi: Likewise.
	* doc/posix-functions/vdprintf.texi: Likewise.
	* doc/posix-functions/vfprintf.texi: Likewise.
	* doc/posix-functions/vfwprintf.texi: Likewise.
	* doc/posix-functions/vprintf.texi: Likewise.
	* doc/posix-functions/vsnprintf.texi: Likewise.
	* doc/posix-functions/vsprintf.texi: Likewise.
	* doc/posix-functions/vswprintf.texi: Likewise.
	* doc/posix-functions/vwprintf.texi: Likewise.
	* doc/posix-functions/wprintf.texi: Likewise.

2023-03-17  Bruno Haible  <bruno@clisp.org>

	vasnprintf, vasnwprintf: Simplify code.
	* lib/vasnprintf.c (MAX_ROOM_NEEDED): Remove dead code: The directives
	'o', 'x', 'X' always take an unsigned integer argument.

2023-03-17  Bruno Haible  <bruno@clisp.org>

	vasnwprintf: Fix test failure on OpenBSD.
	* lib/vasnprintf.c (VASNPRINTF): Don't use the %n directive on OpenBSD.

2023-03-17  Bruno Haible  <bruno@clisp.org>

	time: Fix test failure on AIX 7.2.
	* m4/time.m4 (gl_FUNC_TIME): Guess that it does not work on AIX.
	* doc/posix-functions/time.texi: Mention the bug on AIX.

	time: Fix test failure on native Windows.
	* m4/time.m4 (gl_FUNC_TIME): Guess that it does not work on native
	Windows.
	* modules/time (Depends-on): Add gettimeofday.
	* doc/posix-functions/time.texi: Mention the bug on Windows.

2023-03-17  Bruno Haible  <bruno@clisp.org>

	vasnprintf, vasnwprintf: Include all necessary workarounds in libintl.
	* lib/vasnprintf.c: Remove IN_LIBINTL special-casing.

2023-03-17  Bruno Haible  <bruno@clisp.org>

	vasnwprintf-posix: Add tests.
	* tests/test-vasnwprintf-posix.c: New file, based on
	tests/test-vasnprintf-posix.c.
	* tests/test-vasnwprintf-posix2.sh: New file, based on
	tests/test-vasnprintf-posix2.sh.
	* tests/test-vasnwprintf-posix2.c: New file, based on
	tests/test-vasnprintf-posix2.c.
	* tests/test-vasnwprintf-posix3.c: New file, based on
	tests/test-vasnprintf-posix3.c.
	* modules/vasnwprintf-posix-tests: New file, based on
	modules/vasnprintf-posix-tests.

	vasnwprintf-posix: New module.
	* m4/vasnwprintf-posix.m4: New file.
	* modules/vasnwprintf-posix: New file, based on
	modules/vasnprintf-posix.

2023-03-17  Bruno Haible  <bruno@clisp.org>

	vasnprintf-posix: Relicense under LGPLv2+.
	* modules/vasnprintf-posix (License): Change to LGPLv2+.

2023-03-17  Bruno Haible  <bruno@clisp.org>

	vasnwprintf: Add tests.
	* tests/test-vasnwprintf.c: New file, based on tests/test-vasnprintf.c.
	* modules/vasnwprintf-tests: New file, based on
	modules/vasnprintf-tests.

	vasnwprintf: New module.
	* lib/vasnprintf.c: Enable more code for WIDE_CHAR_VERSION, because
	snwprintf()/_snwprintf() (Windows) and swprintf() (Unix) don't return
	the needed buffer size, like snprintf does.
	* lib/wprintf-parse.h: New file, based on lib/printf-parse.h and
	gettext/gettext-runtime/intl/wprintf-parse.h.
	* lib/wprintf-parse.c: New file, based on
	gettext/gettext-runtime/intl/printf.c.
	* lib/vasnwprintf.h: New file, based on lib/vasnprintf.h and
	gettext/gettext-runtime/intl/vasnwprintf.h.
	* lib/vasnwprintf.c: New file.
	* lib/asnwprintf.c: New file, based on lib/asnprintf.c.
	* m4/vasnprintf.m4 (gl_FUNC_VASNWPRINTF): New macro.
	(gl_PREREQ_VASNXPRINTF): New macro, extracted from gl_PREREQ_VASNPRINTF.
	(gl_PREREQ_VASNPRINTF): Invoke it. Don't test for wcsnlen and mbrtowc.
	(gl_PREREQ_VASNWPRINTF): New macro.
	* modules/vasnwprintf: New file, based on modules/vasnprintf.

2023-03-16  Bruno Haible  <bruno@clisp.org>

	strtol, strtoll, strtoul, strtoull: Make ISO C 23 compliant.
	* lib/strtol.c (INTERNAL (strtol)): Treat 'b' and base 2 like 'x' and
	base 16. Based on glibc commit 64924422a99690d147a166b4de3103f3bf3eaf6c
	by Joseph Myers.
	* m4/strtol.m4 (gl_FUNC_STRTOL): Test also whether parsing binary
	integers works. Update cross-compilation guesses.
	* m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
	* m4/strtoul.m4 (gl_FUNC_STRTOUL): Likewise.
	* m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise.
	* tests/test-strtol.c (main): Add tests of parsing binary integers.
	* tests/test-strtoll.c (main): Likewise.
	* tests/test-strtoul.c (main): Likewise.
	* tests/test-strtoull.c (main): Likewise.
	* doc/posix-functions/strtol.texi: Mention the problem with parsing
	binary integers.
	* doc/posix-functions/strtoll.texi: Likewise.
	* doc/posix-functions/strtoul.texi: Likewise.
	* doc/posix-functions/strtoull.texi: Likewise.

2023-03-16  Bruno Haible  <bruno@clisp.org>

	timegm: Document under ISO C and POSIX substitutes.
	* doc/posix-functions/timegm.texi: Renamed from doc/glibc-functions/timegm.texi.
	* doc/gnulib.texi (Function Substitutes): Include timegm.texi here...
	(Glibc time.h): ... not here.

2023-03-16  Bruno Haible  <bruno@clisp.org>

	stddef: Fix a compilation error on AIX 7.2 with xlclang.
	* lib/stddef.in.h (__CLANG_MAX_ALIGN_T_DEFINED): Define whenever we
	define GNULIB_defined_max_align_t.

2023-03-16  Bruno Haible  <bruno@clisp.org>

	stddef: Define 'unreachable', for ISO C 23 compliance.
	* lib/verify.h (_GL_HAS_BUILTIN_UNREACHABLE): Don't define if already
	defined.
	* lib/stddef.in.h (_GL_HAS_BUILTIN_UNREACHABLE, unreachable): New
	macros.
	(abort): Declare if needed for unreachable.
	* m4/stddef_h.m4 (gl_STDDEF_H): Test for unreachable.
	* tests/test-stddef.c (test_unreachable_optimization,
	test_unreachable_noreturn): New functions, based on tests/test-verify.c.
	* doc/posix-headers/stddef.texi: Mention unreachable.

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

	posixtm: work around Glibc time issue
	* modules/posixtm (Depends-on): Add time.

2023-03-09  Jim Meyering  <meyering@fb.com>

	bootstrap: correct last change
	* top/bootstrap-funclib.sh (autogen) [AUTORECONFFLAGS]: Do always
	apply the --no-recursive option.
	* build-aux/bootstrap: Regenerate.

	bootstrap: remove code that accommodated RHEL5's old autoreconf
	* top/bootstrap-funclib.sh (autogen) [AUTORECONFFLAGS]: RHEL5 has not
	been supported since 2017. It included (and this code worked around)
	a version of autoreconf that was so old it did not accept the
	--no-recursive option. Drop that workaround.
	* build-aux/bootstrap: Regenerate.

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

	gettimeofday, timespec_get tests: Avoid test failure on glibc/Linux.
	* modules/gettimeofday-tests (Depends-on): Add 'time'.
	* modules/timespec_get-tests (Depends-on): Likewise.
	* tests/test-gettimeofday.c (test_consistency): Update comment.
	* tests/test-timespec_get.c (main): Likewise.

	time: Add tests.
	* tests/test-time.c: New file.
	* modules/time-tests: New file.

	time: New module.
	* lib/time.in.h (time): New declaration.
	* lib/time.c: New file.
	* m4/time_h.m4 (gl_TIME_H_REQUIRE_DEFAULTS): Initialize GNULIB_TIME.
	(gl_TIME_H_DEFAULTS): Initialize REPLACE_TIME.
	* m4/time.m4: New file.
	* modules/time-h (Makefile.am): Substitute GNULIB_TIME, REPLACE_TIME.
	* modules/time: New file.
	* tests/test-time-h-c++.cc: Check the signature of
	GNULIB_NAMESPACE::time.
	* doc/posix-functions/time.texi: Mention the glibc problem and the
	'time' module.

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

	time-h: Renamed from time.
	* modules/time-h: Renamed from modules/time.
	* tests/test-time-h.c: Renamed from tests/test-time.c.
	* modules/time-h-tests: Renamed from modules/time-tests. Update.
	* tests/test-time-h-c++.cc: Renamed from tests/test-time-c++.cc.
	* tests/test-time-h-c++2.cc: Renamed from tests/test-time-c++2.cc.
	* modules/time-h-c++-tests: Renamed from modules/time-c++-tests. Update.
	* modules/cond (Depends-on): Update.
	* modules/ctime (Depends-on): Likewise.
	* modules/localtime (Depends-on): Likewise.
	* modules/mktime (Depends-on): Likewise.
	* modules/nanosleep (Depends-on): Likewise.
	* modules/parse-datetime (Depends-on): Likewise.
	* modules/posixcheck (Depends-on): Likewise.
	* modules/pthread-h (Depends-on): Likewise.
	* modules/stat-time (Depends-on): Likewise.
	* modules/stat-time-tests (Depends-on): Likewise.
	* modules/strftime-fixes (Depends-on): Likewise.
	* modules/strptime (Depends-on): Likewise.
	* modules/sys_stat (Depends-on): Likewise.
	* modules/tempname (Depends-on): Likewise.
	* modules/threads-h (Depends-on): Likewise.
	* modules/time_r (Depends-on): Likewise.
	* modules/time_rz (Depends-on): Likewise.
	* modules/timegm (Depends-on): Likewise.
	* modules/timespec (Depends-on): Likewise.
	* modules/timespec_get (Depends-on): Likewise.
	* modules/timespec_getres (Depends-on): Likewise.
	* modules/tzset (Depends-on): Likewise.
	* modules/usleep-tests (Depends-on): Likewise.
	* modules/utime (Depends-on): Likewise.
	* modules/utimecmp (Depends-on): Likewise.
	* modules/utimens (Depends-on): Likewise.
	* modules/windows-cond (Depends-on): Likewise.
	* modules/windows-timedmutex (Depends-on): Likewise.
	* modules/windows-timedrecmutex (Depends-on): Likewise.
	* modules/windows-timedrwlock (Depends-on): Likewise.
	* modules/xnanosleep (Depends-on): Likewise.
	* doc/posix-headers/time.texi: Update.
	* NEWS: Mention the change.

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

	gettimeofday tests: Enhance test.
	* tests/test-gettimeofday.c: Include <stdlib.h> and macros.h.
	(test_clobber): New function, extracted from main.
	(test_consistency): New function, based on tests/test-timespec_get.c.
	(main): Invoke both functions.
	* modules/gettimeofday-tests (Files): Add macros.h.

2023-03-05  Paul Eggert  <eggert@cs.ucla.edu>

	stdio: suppress macOS 13 sprintf warnings
	* lib/stdio.in.h (_POSIX_C_SOURCE, _GL_DEFINED__POSIX_C_SOURCE):
	Suppress deprecation warnings for sprintf and vsprintf
	that were introduced in macOS 13.  These are not useful
	for Gnulib itself, and are more likely than not to be
	merely an annoyance for Gnulib-using code.

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

	timespec_get tests: Add comment.
	* tests/test-timespec_get.c: Add a comment regarding a glibc bug.

2023-03-02  Bruno Haible  <bruno@clisp.org>

	nl_langinfo tests: Avoid test failure on Solaris 11.
	* tests/test-nl_langinfo2.c (main): Skip French T_FMT_AMPM test on
	Solaris.

2023-02-28  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)

	terminfo, termcap: Fix more spellos in a comment.
	* lib/tparm.c: Fix misspellings and wording in the main comment.

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

	perl: Allow this module to be used with 'gnulib-tool --lgpl'.
	Reported by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00191.html>.
	* modules/perl (License): Relax to 'GPLed build tool'.
	Approved by Jim Meyering in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00198.html>.

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

	dfa: Tweak the last patch.
	Suggested by Alexei Podtelezhnikov <apodtele@gmail.com>.
	* lib/dfa.c (FALLTHROUGH): Assume that Apple clang, in C mode, supports
	__attribute__ ((__fallthrough__)) starting with version 1200.
	References:
	https://en.wikipedia.org/wiki/Xcode#Xcode_11.0_-_14.x_(since_SwiftUI_framework)_2
	https://github.com/apple/llvm-project/blob/swift-5.3-RELEASE/clang/test/Sema/fallthrough-attr.c

2023-02-27  ChuanGang Jiang  <jiangchuanganghw@outlook.com>

	fts: fail gracefully when out of memory
	* lib/fts.c (fts_read): Set errno==ENOMEM and return NULL
	when setup_dir() fails, rather than hitting an assertion later.

2023-02-26  Jim Meyering  <meyering@fb.com>

	announce-gen: spell OpenBSD with a capital "O"
	* build-aux/announce-gen (print_checksums): Capitalize
	the "O" in OpenBSD, as suggested by Bruno Haible.

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

	dfa: Avoid warnings with some Apple clang versions.
	Reported by Werner Lemberg <wl@gnu.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00159.html>.
	* lib/dfa.c (FALLTHROUGH): When __apple_build_version__ is defined,
	ignore __clang_major__.

2023-02-25  Jim Meyering  <meyering@fb.com>

	announce-gen: add more info the auto-generated announce template
	* build-aux/announce-gen (readable_interval, readable_interval0):
	New functions.
	(digest_file_base64_wrap): New function to add padding to the
	base64-encoded SHA256 checksums.
	(print_checksums): Use that wrapper. Indent each line by two spaces.
	(main): Emit new sections, e.g., these lines from grep-3.8's release:
	- There have been 104 commits by 6 people in the 55 weeks since 3.7.
	- The following people contributed changes to this release: (and list)
	I tested with this, running from a sibling cloned grep directory:
	  ../gnulib/build-aux/announce-gen --release-type=stable \
	    --package-name=grep --previous-version=3.7 --current-version=3.8 \
	    --gpg-key-id=0x7FD9FCCB000BEEEE --url-directory=https://testing
	Also, reference the cksum programs from coreutils-9.2 and from OpenBSD.

2023-02-25  ChuanGang Jiang  <jiangchuanganghw@outlook.com>  (tiny change)

	terminfo, termcap: Fix typos in comments.
	* lib/tparm.c: Fix misspellings in comments.

2023-02-23  Paul Eggert  <eggert@cs.ucla.edu>

	lseek: avoid SEEK_HOLE bugs in FreeBSD, macOS
	This attempts to fix <https://bugs.gnu.org/61386>, a bug in GNU cp
	caused by a serious data corruption bug in FreeBSD and macOS.
	* doc/posix-functions/lseek.texi: Mention the bug.
	* lib/unistd.in.h (SEEK_DATA, SEEK_HOLE): Undef in macOS < 13 and
	FreeBSD < 14.  FreeBSD fixed the bug sometime during FreeBSD 13
	<https://bugs.freebsd.org/256205>, so the "FreeBSD < 14" is
	conservative.  It’s unknown when Apple will fix macOS so use
	macOS "9999" as a placeholder.
	* m4/lseek.m4 (gl_FUNC_LSEEK): Replace lseek if on one of the
	above platforms.

2023-02-18  Bruno Haible  <bruno@clisp.org>

	configmake: Add support for $build_os != $host_os.
	* m4/build-to-host.m4: New file.
	* m4/configmake.m4 (gl_CONFIGMAKE_PREP): Provide a configure-time
	definition for pkgdatadir, pkgincludedir, pkglibdir.
	(gl_CONFIGMAKE): New macro.
	* modules/configmake (Files): Add m4/build-to-host.m4.
	(configure.ac): Invoke gl_CONFIGMAKE instead of gl_CONFIGMAKE_PREP.
	(Makefile.am): For creating configmake.h, use the various *prefix_c_make
	and *dir_c_make variables.

2023-02-18  Bruno Haible  <bruno@clisp.org>

	configmake: Prepare for using directory names with backslashes.
	* modules/configmake (Makefile.am): Use printf instead of echo.

2023-02-18  Bruno Haible  <bruno@clisp.org>

	unilbrk tests: Fix compilation failures (regression 2023-02-11).
	* tests/unilbrk/test-u8-possible-linebreaks.c (main): Outside of
	libunistring, don't test the backward compatibility function.
	* tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.

2023-02-17  Bruno Haible  <bruno@clisp.org>

	Improve cross-compilation for midipix.
	Reported by Ørjan Malde <red@foxi.me> at
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00131.html>.
	This patch handles the cases where midipix acts like Linux.
	* m4/chmod.m4 (gl_FUNC_CHMOD): Treat midipix like Linux with glibc or
	musl libc.
	* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
	* m4/link.m4 (gl_FUNC_LINK): Likewise.
	* m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
	* m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
	* m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
	* m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
	* m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
	* m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
	* m4/rename.m4 (gl_FUNC_RENAME): Likewise.
	* m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
	* m4/select.m4 (gl_FUNC_SELECT): Likewise.
	* m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
	* m4/stat.m4 (gl_FUNC_STAT): Likewise.
	* m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
	* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
	* m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
	* m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.

	Improve cross-compilation for midipix.
	Reported by Ørjan Malde <red@foxi.me> at
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00131.html>.
	Since midipix consists of musl libc based on an emulation of Linux system
	calls, for pure libc functionality it can be treated like musl libc.
	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Treat midipix like systems with
	musl libc.
	* m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
	* m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
	* m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
	* m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
	* m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
	* m4/expl.m4 (gl_FUNC_EXPL): Likewise.
	* m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
	* m4/expm1f.m4 (gl_FUNC_EXPM1F): Likewise.
	* m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
	* m4/fclose.m4 (gl_FUNC_FCLOSE_STDIN): Likewise.
	* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
	* m4/ffsll.m4 (gl_FUNC_FFSLL): Likewise.
	* m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
	* m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
	* m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
	* m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
	* m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
	* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
	* m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise.
	* m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
	* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
	* m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
	* m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
	* m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
	* m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
	* m4/log.m4 (gl_FUNC_LOG): Likewise.
	* m4/log10.m4 (gl_FUNC_LOG10): Likewise.
	* m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
	* m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
	* m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
	* m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
	* m4/log1pl.m4 (gl_FUNC_LOG1PL, gl_FUNC_LOG1PL_WORKS): Likewise.
	* m4/log2.m4 (gl_FUNC_LOG2): Likewise.
	* m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
	* m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
	* m4/logf.m4 (gl_FUNC_LOGF): Likewise.
	* m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
	* m4/modf.m4 (gl_FUNC_MODF): Likewise.
	* m4/modff.m4 (gl_FUNC_MODFF): Likewise.
	* m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
	* m4/musl.m4 (gl_MUSL_LIBC): Likewise.
	* m4/perror.m4 (gl_FUNC_PERROR): Likewise.
	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_SECURE,
	gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
	gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
	gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
	* m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
	gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
	gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
	gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
	gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
	* m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
	Likewise.
	* m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
	* m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
	* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
	* m4/remainderl.m4 (gl_FUNC_REMAINDERL, gl_FUNC_REMAINDERL_WORKS):
	Likewise.
	* m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
	* m4/round.m4 (gl_FUNC_ROUND): Likewise.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
	* m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
	* m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
	* m4/signbit.m4 (gl_SIGNBIT): Likewise.
	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
	* m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
	* m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
	* m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
	* m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
	* m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.

2023-02-13  ChuanGang Jiang  <jiangchuanganghw@outlook.com>  (tiny change)

	hamt: Detect GCC version correctly.
	* lib/hamt.h:Use __GNUC_MINOR__, not  __GNUC_MINOR.

2023-02-11  Bruno Haible  <bruno@clisp.org>

	terminfo, termcap: Avoid wrong configure result with clang ≥ 15.
	clang 15 reports an error for -Wint-conversion by default.
	Reported by Sam James <sam@gentoo.org> in
	<https://savannah.gnu.org/bugs/?63793>.
	* m4/terminfo.m4 (gl_TERMINFO_BODY): Avoid a -Wint-conversion warning
	when testing for tparam and tparm.
	* m4/termcap.m4 (gl_TERMCAP_BODY): Likewise.

2023-02-11  Bruno Haible  <bruno@clisp.org>

	error-h: Make less fragile.
	* lib/error.in.h: Use #include_next if the system has an <error.h>. Use
	a split double-inclusion guard.
	* m4/error_h.m4 (gl_ERROR_H): Invoke gl_CHECK_NEXT_HEADERS. Set
	HAVE_ERROR_H.
	* modules/error-h (Makefile.am): Substitute GUARD_PREFIX, HAVE_ERROR_H,
	INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_ERROR_H.

2023-02-11  Bruno Haible  <bruno@clisp.org>

	unilbrk: Don't compile unused functions outside of libunistring.
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
	compile outside of libunistring.
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
	Likewise.
	* lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
	Likewise.
	* lib/unilbrk/u8-width-linebreaks.c (u8_width_linebreaks): Likewise.
	* lib/unilbrk/u16-width-linebreaks.c (u16_width_linebreaks): Likewise.
	* lib/unilbrk/u32-width-linebreaks.c (u32_width_linebreaks): Likewise.
	* lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.

2023-02-11  Bruno Haible  <bruno@clisp.org>

	sigsegv: Fix a compilation error on OpenBSD with clang ≥ 16.
	* lib/sigsegv.c (install_for): Add a cast when assigning to
	action.sa_sigaction.

2023-02-10  Bruno Haible  <bruno@clisp.org>

	Fix code duplication in last commit.
	* m4/gnulib-common.m4 (gl_CHECK_FUNCS_DEFAULT_CASE,
	gl_CHECK_FUNCS_CASE_FOR_ANDROID, gl_CHECK_FUNCS_CASE_FOR_MACOS,
	gl_CHECK_FUNCS_SET_RESULTS): New macros, extracted from
	gl_CHECK_FUNCS_ANDROID, gl_CHECK_FUNCS_MACOS,
	gl_CHECK_FUNCS_ANDROID_MACOS.
	(gl_CHECK_FUNCS_ANDROID, gl_CHECK_FUNCS_MACOS,
	gl_CHECK_FUNCS_ANDROID_MACOS): Use them.

	mkfifoat: Fix crash on macOS 12.
	* m4/gnulib-common.m4 (gl_PREPARE_CHECK_FUNCS_MACOS,
	gl_CHECK_FUNCS_MACOS, gl_CHECK_FUNCS_ANDROID_MACOS): New macros.
	* m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Test for mknodat and mkfifoat using
	gl_CHECK_FUNCS_ANDROID_MACOS instead of gl_CHECK_FUNCS_ANDROID.

2023-02-10  ChuanGang Jiang  <jiangchuanganghw@outlook.com>  (tiny change)

	Fix typos like "the the" and "a a" in comments.
	* lib/c32is-impl.h: s/the the/the/
	* lib/getopt-pfx-core.h: s/a a/a/
	* lib/term-style-control.h: s/the the/the/
	* lib/textstyle.in.h: Likewise.

2023-02-10  Bruno Haible  <bruno@clisp.org>

	chown, lchown, fchownat tests: Avoid test failure on macOS 12.
	* tests/test-chown.h (test_chown): Skip some assertions if
	getgid() == (gid_t)-1.
	* tests/test-lchown.h (test_lchown): Likewise.

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

	nullptr: work around Apple clang 14 issue
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2023-02/msg00098.html
	* doc/gnulib.texi (nullptr): Document limitations better.
	* m4/nullptr.m4 (gl_NULLPTR): Check for incompatibility of macOS
	clang 14.0.0 (clang-1400.0.29.202), where <stddef.h> defines a
	non-working nullptr macro.

2023-02-09  Bruno Haible  <bruno@clisp.org>

	math: Fix compilation error in C++ mode on macOS 12.5.
	* lib/math.in.h (isnan): On macOS, treat clang version 14 again like
	clang versions < 12.

2023-02-09  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors in C++ mode on macOS 12.5.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Don't define
	_GL_ATTRIBUTE_MAYBE_UNUSED to [[__maybe_unused__]] if the compiler is
	an Apple variant of clang.

2023-02-09  Bruno Haible  <bruno@clisp.org>

	limits-h: Work around a clang 15 bug.
	* m4/limits-h.m4 (gl_LIMITS_H): Test also for BOOL_MAX.
	* lib/limits.in.h: Handle the case where BOOL_WIDTH is present and
	BOOL_MAX is missing.
	* doc/posix-headers/limits.texi: Mention the clang bug.

2023-02-09  Bruno Haible  <bruno@clisp.org>

	Fix error in C++ mode on glibc systems (regression 2022-04-28).
	* lib/malloc.in.h (rpl_free): Add exception specification like
	stdlib.in.h does.
	* lib/string.in.h (rpl_free): Likewise.
	* lib/wchar.in.h (rpl_free): Likewise.

2023-02-09  Bruno Haible  <bruno@clisp.org>

	getcwd: Fix compilation error in C23 mode.
	* lib/getcwd.c: Include <stdio.h>.

2023-02-08  Bruno Haible  <bruno@clisp.org>

	x-to-1: Accept additional help2man arguments.
	Suggested by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00078.html>.
	* build-aux/x-to-1.in: Allow additional options after the HELP2MAN
	argument, and pass them down to help2man.

2023-02-08  Bruno Haible  <bruno@clisp.org>

	x-to-1: Document the configure-time prerequisites.
	Suggested by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00078.html>.
	* build-aux/x-to-1.in: Add more comments.

2023-02-08  Bruno Haible  <bruno@clisp.org>

	hard-locale: Add comment regarding per-thread locales.
	* lib/hard-locale.h (hard_locale): Add comment.

2023-02-08  Bruno Haible  <bruno@clisp.org>

	nl_langinfo: Add comment regarding per-thread locales.
	* lib/nl_langinfo.c (ctype_codeset): Add comment.

	nl_langinfo tests: Add another test.
	* tests/test-nl_langinfo2.c: New file.
	* tests/test-nl_langinfo2.sh: New file.
	* modules/nl_langinfo-tests (Files): Add them. Add
	intl-thread-locale.m4.
	(Depends-on): Add c-strcasestr, stdbool.
	(configure.ac): Invoke gt_FUNC_USELOCALE.
	(Makefile.am): Arrange to compile test-nl_langinfo2 and test it through
	test-nl_langinfo2.sh.

	nl_langinfo tests: Prepare for adding more tests.
	* tests/test-nl_langinfo1.c: Renamed from tests/test-nl_langinfo.c.
	* tests/test-nl_langinfo1.sh: Renamed from tests/test-nl_langinfo.sh.
	Update.
	* modules/nl_langinfo-tests (Files, Makefile.am): Update.

2023-02-08  Bruno Haible  <bruno@clisp.org>

	assert-h: Fix test failure on IRIX 6.5.
	* m4/assert_h.m4 (gl_ASSERT_H): Ensure that on IRIX, including
	<assert.h> after <config.h> actually defines the assert macro.

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

	nullptr: test for compilers at autoconf-time
	* m4/nullptr.m4 (gl_NULLPTR): Test for C and C++ compiler usage at
	autoconf-time.  This should work better than testing at
	configure-time.  Also, push and pop languages so we check the
	proper compiler.

	nullptr: test for C++ nullptr at configure-time
	* m4/nullptr.m4 (gl_NULLPTR): Test for C++ support for nullptr
	at configure-time, as we already do for C support.
	This should be more reliable than maintaining #ifdefs by hand.

	nullptr: rename from c-nullptr
	* NEWS, doc/gnulib.texi: Mention this.
	* m4/nullptr.m4: Rename from m4/c-nullptr.m4.
	(gl_NULLPTR): Rename from gl_C_NULLPTR.
	* modules/nullptr: Rename from modules/nullptr.
	* modules/nullptr-c++-tests: Rename from modules/c-nullptr-c++-tests.
	* modules/nullptr-tests: Rename from modules/c-nullptr-tests.
	All uses changed.

2023-02-07  Bruno Haible  <bruno@clisp.org>

	Fix a copyright header - module license mismatch.
	Reported by Bjarni Ingi Gislason <bjarniig@simnet.is> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00057.html>.
	* lib/gen-uni-tables.c (output_predicate): For uniwidth/width2.h, use an
	LGPLv2+ license.
	(output_nonspacing_property): Use an LGPLv2+ license.
	* lib/uniwidth/width0.h: Regenerated.
	* lib/uniwidth/width2.h: Likewise.

2023-02-07  Bruno Haible  <bruno@clisp.org>

	check-copyright: Don't fail because of the 'glob' module.
	Reported by Bjarni Ingi Gislason <bjarniig@simnet.is> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00057.html>.
	* check-copyright: Filter out the files from the 'glob' module.

2023-02-07  Bruno Haible  <bruno@clisp.org>

	check-copyright: Make output prettier.
	* check-copyright: Resize the second column from width 14 to width 17.

2023-02-06  Bruno Haible  <bruno@clisp.org>

	setlocale-null: Don't use a lock in Cygwin >= 3.4.6.
	Road paved by Corinna Vinschen <vinschen@redhat.com>.
	* m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Assume that
	setlocale (LC_ALL, NULL) is multithread-safe in Cygwin >= 3.4.6.
	* lib/setlocale_null.c: Update comments.
	* tests/test-setlocale_null-mt-all.c: Likewise.

2023-02-05  Bruno Haible  <bruno@clisp.org>

	c-nullptr: Fix conflict with libstdc++ in GCC >= 11.
	Reported by Bjarni Ingi Gislason <bjarniig@simnet.is> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00030.html>.
	* m4/c-nullptr.m4 (gl_C_NULLPTR): Don't define nullptr if it is already
	defined. In C++ mode, ignore the result of the configure test and don't
	define it when we know that the C++ compiler already supports it.

2023-02-05  Bruno Haible  <bruno@clisp.org>

	c-nullptr: Add tests.
	* tests/test-nullptr.c: New file.
	* modules/c-nullptr-tests: New file.
	* tests/test-nullptr-c++.cc: New file.
	* modules/c-nullptr-c++-tests: New file.

2023-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	sh-quote: backport fix from diffutils
	* lib/sh-quote.c (init_sh_quoting_options):
	Use C89 through C17 style for parameterless static function.
	This avoided a warning when compiling diffutils.
	This patch is backported from a circa-2009 diffutils patch
	and lets us remove diffutils/gl/lib/sh-quote.c.diff; see:
	https://git.savannah.gnu.org/cgit/diffutils.git/commit/?id=8c3d25a63a2c5912170ef6e13f748f3904e6b5cf

	c-nullptr: new module
	* doc/gnulib.texi (nullptr): New section.
	* doc/posix-headers/stddef.texi: Document lack of nullptr_t.
	* m4/c-nullptr.m4, modules/c-nullptr: New files.

2023-02-05  Bruno Haible  <bruno@clisp.org>

	Update build-aux/po/Makefile.in.in.
	Reported by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-02/msg00020.html>.
	* build-aux/po/Makefile.in.in: Sync from GNU gettext 0.21.1.
	Fixes:
	- In the .po -> .gmo rules, consider the newest changes to the POT file.
	- Emit a warning when creating a tarball without POT file.

2023-02-05  Bruno Haible  <bruno@clisp.org>

	assert-h, verify: Fix compilation error in C++ mode with MSVC 14.
	* lib/verify.h (static_assert): Define _ALLOW_KEYWORD_MACROS.
	* tests/test-assert-h-c++.cc: Strengthen test.
	* tests/test-assert-h-c++2.cc: Likewise.

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

	fts: pacify GCC 13 -Wuse-after-free
	Ordinarily I fix this sort of thing by using well-defined rather
	than undefined behavior, but a straightforward patch along those
	lines would change the fts_.h API since fts_accpath would change
	from a pointer to an integer with a more-complex interpretation.
	Instead, attempt to pacify GCC 13 with code that relies on
	undefined but portable-in-practice behavior that GCC 13 does not
	complain about.  GCC problem reported by Peter Frazier in:
	https://lists.gnu.org/r/bug-gnulib/2023-02/msg00000.html
	* lib/fts.c: Include stdint.h.
	(fts_build): Do not access freed pointer directly; instead,
	save its bit-pattern into a uintptr_t, and use that to compare.
	(ADJUST): Likewise, but more trickily since this hack
	actually accesses freed pointers, but does so in a way that
	I hope GCC doesn’t notice.  Although using ‘*(uintptr_t *) &P’
	instead of ‘(uintptr_t) P’ would avoid accessing freed pointers,
	it would provoke a -Wstrict-aliasing diagnostic.
	* modules/fts (Depends-on): Add stdint.

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

	assert-h, verify: Fix conflict with standard C++ header files on macOS.
	* lib/verify.h (_Static_assert): Don't redefine with clang ≥ 3.8.0
	in C++ mode.
	* tests/test-assert-h-c++.cc: Also check against conflict with the
	standard C++ header files.
	* tests/test-assert-h-c++2.cc: Likewise.

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

	Activate all existing C++ tests.
	* modules/assert-h-tests (Depends-on): Add assert-h-c++-tests.
	* modules/stdarg-tests (Depends-on): Add stdarg-c++-tests.

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

	spawn: Fix compilation error on macOS (regression 2023-01-22).
	* lib/spawn.in.h: Tweak logic for defining the POSIX_SPAWN_* constants.

2023-02-03  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Fix compiler warning.
	* lib/progreloc.c (full_read): Use a non-const pointer.

2023-02-03  Bruno Haible  <bruno@clisp.org>

	doc: Update regarding AIX.
	* doc/glibc-headers/getopt.texi: Update.

2023-02-03  Bruno Haible  <bruno@clisp.org>

	doc: Update regarding NetBSD.
	* doc/posix-functions/sigprocmask.texi: Mention a NetBSD 9.0 bug.
	* doc/posix-functions/pthread_sigmask.texi: Likewise.

2023-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	isnan: update comment
	* lib/isnan.c: Update comment for C23.

2023-01-30  Bruno Haible  <bruno@clisp.org>

	at-internal: Fix support for z/OS.
	* lib/openat-proc.c (openat_proc_name) [z/OS]: Proper error handling.
	Convert only the relevant part of the dir[] buffer.

	at-internal: Add support for z/OS.
	Reported and draft patch by Igor Todorovski <itodorov@ca.ibm.com>.
	* lib/openat-proc.c [z/OS]: Include <termios.h>.
	(openat_proc_name): For z/OS, use an approach similar to kLIBC, with
	3 lines of z/OS specific code by Igor Todorovski <itodorov@ca.ibm.com>.

2023-01-30  Bruno Haible  <bruno@clisp.org>

	Update NEWS.
	* NEWS: Update for qcopy-acl change on 2023-01-13.

2023-01-29  Bruno Haible  <bruno@clisp.org>

	maintainer-makefile: Determine gnulib's location on disk correctly.
	* top/maint.mk (gnulib_dir): Give priority to $(GNULIB_SRCDIR) over
	$(srcdir)/gnulib.

2023-01-29  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors with CC="clang -D_FORTIFY_SOURCE=2" on Android.
	Reported by Alexey Rochev <equeim@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnu-libiconv/2023-01/msg00019.html>.
	* lib/cdefs.h (__bos, __bos0, __glibc_objsize0, __glibc_objsize,
	__glibc_safe_len_cond, __glibc_unsigned_or_positive,
	__glibc_safe_or_unknown_len, __glibc_unsafe_len, __glibc_fortify,
	__glibc_fortify_n): Don't define these macros in Gnulib.
	* lib/libc-config.h: Don't undefine these macros in Gnulib.

2023-01-28  Bruno Haible  <bruno@clisp.org>

	Clarify _GL_ATTRIBUTE_NODISCARD code.
	Reported by Paul Eggert.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Add comment regarding
	_GL_ATTRIBUTE_NODISCARD definition.

2023-01-28  Bruno Haible  <bruno@clisp.org>

	unistdio/*printf: Fix negative width handling for %U, %lU, %llU.
	* lib/vasnprintf.c (VASNPRINTF): In the code for %U, %lU, %llU, test for
	the FLAG_LEFT bit in the flags variable.
	* tests/unistdio/test-u8-printf1.h (test_xfunction): Add tests for width
	given as argument for the directives %U, %lU, %llU, %s, %a, %f, %e, %g.
	* tests/unistdio/test-u16-printf1.h (test_xfunction): Likewise.
	* tests/unistdio/test-u32-printf1.h (test_xfunction): Likewise.
	* tests/unistdio/test-ulc-printf1.h (test_xfunction): Likewise.

2023-01-28  Bruno Haible  <bruno@clisp.org>

	vasnprintf-posix: Fix possible bug with negative width handling for %lc.
	* lib/vasnprintf.c (VASNPRINTF): In the code for %lc in vasnprintf, test
	for the FLAG_LEFT bit in the flags variable.
	* tests/test-vasnprintf-posix.c (test_function): Add tests for width
	given as argument for the directives %c, %lc.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-snprintf-posix.c: Include <wchar.h>, for wint_t.
	* tests/test-sprintf-posix.c: Likewise.
	* tests/test-vsnprintf-posix.c: Likewise.
	* tests/test-vsprintf-posix.c: Likewise.

2023-01-28  Bruno Haible  <bruno@clisp.org>

	vasnprintf-posix: Fix negative width handling for %ls directive.
	Reported by clang via Po Lu <luangruo@yahoo.com>.
	* lib/vasnprintf.c (VASNPRINTF): In the code for %ls in vasnprintf and
	for %s in vasnwprintf, test for the FLAG_LEFT bit in the flags variable.
	* tests/test-vasnprintf-posix.c (test_function): Add tests for width
	given as argument for the directives %s, %ls.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.

2023-01-28  Bruno Haible  <bruno@clisp.org>

	vasnprintf-posix: Add more unit tests.
	* tests/test-vasnprintf-posix.c (test_function): Add tests for width
	given as argument for the directives %a, %f, %e, %g.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.

2023-01-28  Bruno Haible  <bruno@clisp.org>

	Avoid clang warnings regarding [[__nodiscard__]].
	* m4/gnulib-common.m4 (gl_COMMON_BODY): For clang, in C++ mode, ignore
	the __has_c_attribute value and define _GL_ATTRIBUTE_NODISCARD to
	__attribute__ ((__warn_unused_result__)), not [[__nodiscard__]].

2023-01-28  Bruno Haible  <bruno@clisp.org>

	Avoid clang warnings regarding [[__maybe_unused__]].
	* m4/gnulib-common.m4 (gl_COMMON_BODY): For clang versions ≥ 6, < 10,
	in C++ mode, ignore the __has_c_attribute value and define
	_GL_ATTRIBUTE_MAYBE_UNUSED to __attribute__ ((__unused__)), not
	[[__maybe_unused__]].

2023-01-27  Bruno Haible  <bruno@clisp.org>

	alignasof: Ensure a correct _Alignof (regression 2023-01-15).
	* m4/stdalign.m4 (gl_ALIGNASOF): Apply the workaround for wrong _Alignof
	in GCC < 4.9 and clang < 8.0.0 also when the system has <stdalign.h>.

2023-01-27  Bruno Haible  <bruno@clisp.org>

	stdalign: Ensure alignof is defined on FreeBSD (regression 2023-01-15).
	* lib/stdalign.in.h: Include the system's <stdalign.h> when it exists.
	* m4/stdalign.m4 (gl_ALIGNASOF): Invoke gl_CHECK_NEXT_HEADERS. Set
	HAVE_STDALIGN_H.
	* modules/stdalign (Makefile.am): Substitute GUARD_PREFIX,
	HAVE_STDALIGN_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS,
	NEXT_STDALIGN_H.

2023-01-27  Bruno Haible  <bruno@clisp.org>

	stddef: Fix test-stddef compilation error on FreeBSD 12/x86.
	* m4/stddef_h.m4 (gl_STDDEF_H): When testing for good max_align_t, use
	an ISO C compliant definition of _Alignof.

2023-01-25  Bruno Haible  <bruno@clisp.org>

	Keep config.h idempotent.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Add double-inclusion guards to
	the definitions of the macros _GL_ATTRIBUTE_ALLOC_SIZE,
	_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL,
	_GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_CONST, _GL_ATTRIBUTE_DEALLOC,
	_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR, _GL_ATTRIBUTE_WARNING,
	_GL_ATTRIBUTE_EXTERNALLY_VISIBLE, _GL_ATTRIBUTE_FALLTHROUGH,
	_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MALLOC,
	_GL_ATTRIBUTE_MAY_ALIAS, _GL_ATTRIBUTE_MAYBE_UNUSED,
	_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE, _GL_ATTRIBUTE_NONNULL,
	_GL_ATTRIBUTE_NONSTRING, _GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED,
	_GL_ATTRIBUTE_PURE, _GL_ATTRIBUTE_RETURNS_NONNULL,
	_GL_ATTRIBUTE_SENTINEL, _GL_ATTRIBUTE_UNUSED, _GL_UNUSED_LABEL.

2023-01-25  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Fix compilation error on Android NDK r26b.
	Reported by Po Lu <luangruo@yahoo.com>.
	* lib/vasnprintf.c: Include <wchar.h>.

2023-01-25  Nick Bowler  <nbowler@draconx.ca>  (tiny change)

	threadlib: Fix support for Solaris 9 and older.
	* m4/threadlib.m4 (gl_PTHREADLIB_BODY): Allow case patterns to survive
	m4 processing by using changequote.

2023-01-24  Bruno Haible  <bruno@clisp.org>

	alignasof, stdalign: Fix a compilation error on FreeBSD 12.0.
	* m4/stdalign.m4 (gl_ALIGNASOF): In C mode, prefer __builtin_offsetof
	over offsetof when possible, since __builtin_offsetof works also when
	<stddef.h> has not been fully included yet.

2023-01-22  Bruno Haible  <bruno@clisp.org>

	doc: Update list of target platforms.
	* doc/gnulib-intro.texi (Supported Platforms): Mark musl libc, Android,
	and MSVC as "occasionally tested". Update the version numbers of some
	OSes. Combine paragraphs regarding mingw and MSVC.
	(Formerly Supported Platforms): Mark AIX 5, 6 as "formerly supported".

2023-01-22  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 29.

	* m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Conditionally set
	REPLACE_REALLOCARRAY.
	* lib/stdlib.in.h (reallocarray): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* lib/stdlib.in.h (getloadavg): Consider REPLACE_GETLOADAVG. Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_GETLOADAVG.
	* modules/stdlib (Makefile.am): Substitute REPLACE_GETLOADAVG.
	* m4/getloadavg.m4 (gl_GETLOADAVG): Conditionally set
	REPLACE_GETLOADAVG.
	* modules/getloadavg (Depends-on, configure.ac): Consider
	REPLACE_GETLOADAVG.

	* lib/time.in.h (timespec_get): Consider REPLACE_TIMESPEC_GET. Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.
	* m4/time_h.m4 (gl_TIME_H_DEFAULTS): Initialize REPLACE_TIMESPEC_GET.
	* modules/time (Makefile.am): Substitute REPLACE_TIMESPEC_GET.
	* m4/gettime.m4 (gl_CHECK_FUNC_TIMESPEC_GET): Set also
	gl_cv_onwards_func_timespec_get.
	* m4/timespec_get.m4 (gl_FUNC_TIMESPEC_GET): Conditionally set
	REPLACE_TIMESPEC_GET.
	* modules/timespec_get (Depends-on, configure.ac): Consider
	REPLACE_TIMESPEC_GET.

2023-01-22  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 28.

	* m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Conditionally set
	REPLACE_ALIGNED_ALLOC.
	* m4/getrandom.m4 (gl_FUNC_GETRANDOM): Conditionally set
	REPLACE_GETRANDOM.

	* m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Conditionally set
	REPLACE_GETLOGIN_R.
	* lib/unistd.in.h (getlogin_r): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): Conditionally set
	REPLACE_POSIX_SPAWN.
	* lib/spawn.in.h: Adapt logic for defining the POSIX_SPAWN_* constants.
	(posix_spawn, posix_spawnp, posix_spawnattr_init,
	posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
	posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
	posix_spawnattr_setsigmask, posix_spawnattr_getflags,
	posix_spawnattr_setflags, posix_spawnattr_getpgroup,
	posix_spawnattr_setpgroup, posix_spawn_file_actions_init,
	posix_spawn_file_actions_destroy, posix_spawn_file_actions_addchdir,
	posix_spawn_file_actions_addfchdir): Disable _GL_CXXALIASWARN invocation
	on non-glibc systems.

	* m4/glob.m4 (gl_GLOB): Conditionally set REPLACE_GLOB.
	* lib/glob.in.h (glob): Disable _GL_CXXALIASWARN invocation on non-glibc
	systems.

	* lib/unistd.in.h (getentropy): Consider REPLACE_GETENTROPY. Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETENTROPY.
	* modules/unistd (Makefile.am): Substitute REPLACE_GETENTROPY.
	* m4/getentropy.m4 (gl_FUNC_GETENTROPY): Conditionally set
	REPLACE_GETENTROPY.
	* modules/getentropy (Depends-on, configure.ac): Consider
	REPLACE_GETENTROPY.

2023-01-22  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 26.

	* m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Test for getdomainname
	using gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS. Conditionally
	set REPLACE_GETSUBOPT.

	* m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Conditionally set
	REPLACE_NL_LANGINFO.
	* lib/langinfo.in.h (nl_langinfo): Disable _GL_CXXALIASWARN invocation
	on non-glibc systems.

	* lib/stdlib.in.h (getsubopt): Consider REPLACE_GETSUBOPT. Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_GETSUBOPT.
	* modules/stdlib (Makefile.am): Substitute REPLACE_GETSUBOPT.
	* m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Conditionally set
	REPLACE_GETSUBOPT.
	* modules/getsubopt (Depends-on, configure.ac): Consider
	REPLACE_GETSUBOPT.

2023-01-22  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 24.
	* m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Conditionally set
	REPLACE_STRCHRNUL.

2023-01-22  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 23.

	* m4/login_tty.m4 (gl_FUNC_LOGIN_TTY): Conditionally set
	REPLACE_LOGIN_TTY.
	* lib/utmp.in.h (login_tty): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Conditionally set REPLACE_MKFIFOAT.
	* lib/sys_stat.in.h (mkfifoat): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Conditionally set
	REPLACE_STRERROR_R.
	* lib/string.in.h (strerror_r): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* m4/error_h.m4 (gl_ERROR_H): Conditionally set REPLACE_ERROR.
	* lib/error.in.h (error): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* lib/wchar.in.h (wmempcpy): Consider REPLACE_WMEMPCPY.
	* m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WMEMPCPY.
	* modules/wchar (Makefile.am): Substitute REPLACE_WMEMPCPY.
	* m4/wmempcpy.m4 (gl_FUNC_WMEMPCPY): Conditionally set
	REPLACE_WMEMPCPY.
	* modules/wmempcpy (configure.ac): Consider REPLACE_WMEMPCPY.

	* lib/unistd.in.h (sethostname): Consider REPLACE_SETHOSTNAME. Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_SETHOSTNAME.
	* modules/unistd (Makefile.am): Substitute REPLACE_SETHOSTNAME.
	* m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Conditionally set
	REPLACE_SETHOSTNAME.
	* modules/sethostname (Depends-on, configure.ac): Consider
	REPLACE_SETHOSTNAME.

	* lib/string.in.h (mempcpy): Consider REPLACE_MEMPCPY. Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.
	* m4/string_h.m4 (gl_STRING_H_DEFAULTS): Initialize REPLACE_MEMPCPY.
	* modules/string (Makefile.am): Substitute REPLACE_MEMPCPY.
	* m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Conditionally set REPLACE_MEMPCPY.
	* modules/mempcpy (configure.ac): Consider REPLACE_MEMPCPY.

	* lib/stdlib.in.h (mkostemp): Consider REPLACE_MKOSTEMP. Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.
	(mkostemps): Consider REPLACE_MKOSTEMPS. Disable _GL_CXXALIASWARN
	invocation on non-glibc systems.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MKOSTEMP,
	REPLACE_MKOSTEMPS.
	* modules/stdlib (Makefile.am): Substitute REPLACE_MKOSTEMP,
	REPLACE_MKOSTEMPS.
	* m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Conditionally set REPLACE_MKOSTEMP.
	* modules/mkostemp (Depends-on, configure.ac): Consider
	REPLACE_MKOSTEMP.
	* m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Conditionally set
	REPLACE_MKOSTEMPS.
	* modules/mkostemps (Depends-on, configure.ac): Consider
	REPLACE_MKOSTEMPS.

2023-01-22  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 21.

	* m4/fts.m4 (gl_FUNC_FTS_CORE): Use rpl_* symbols also when the system
	will have fts_open in a future version.
	* m4/iswblank.m4 (gl_FUNC_ISWBLANK): Conditionally set REPLACE_ISWBLANK.
	* m4/mbtowc.m4 (gl_FUNC_MBTOWC): Conditionally set REPLACE_MBTOWC.
	* m4/vdprintf.m4 (gl_REPLACE_VDPRINTF): Conditionally set
	REPLACE_VDPRINTF.
	* m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Conditionally set
	REPLACE_WCSNRTOMBS.

	* m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Conditionally set
	REPLACE_MBSNRTOWCS.
	* lib/wchar.in.h (mbsnrtowcs): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* m4/execvpe.m4 (gl_FUNC_EXECVPE): Conditionally set REPLACE_EXECVPE.
	* m4/linkat.m4 (gl_FUNC_LINKAT): Conditionally set REPLACE_LINKAT.
	* m4/readlinkat.m4 (gl_FUNC_READLINKAT): Conditionally set
	REPLACE_READLINKAT.
	* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Conditionally set
	REPLACE_SYMLINKAT.
	* m4/truncate.m4 (gl_FUNC_TRUNCATE): Conditionally set REPLACE_TRUNCATE.
	* lib/unistd.in.h (execvpe, linkat, readlinkat, symlinkat, truncate):
	Disable _GL_CXXALIASWARN invocation on non-glibc systems.

	* m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Conditionally set REPLACE_MKNODAT.
	* lib/sys_stat.in.h (mknodat): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Conditionally set REPLACE_STPNCPY.
	* lib/string.in.h (stpncpy): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* m4/random.m4 (gl_FUNC_RANDOM): Conditionally set REPLACE_INITSTATE,
	REPLACE_SETSTATE.
	* lib/stdlib.in.h (initstate, setstate): Disable _GL_CXXALIASWARN
	invocation on non-glibc systems.

	* m4/dprintf.m4 (gl_REPLACE_DPRINTF): Conditionally set REPLACE_DPRINTF.
	* lib/stdio.in.h (dprintf): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Conditionally set
	REPLACE_DUPLOCALE.
	* m4/localename.m4 (gl_LOCALENAME): Conditionally set REPLACE_NEWLOCALE,
	REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
	* lib/locale.in.h (newlocale, duplocale, freelocale): Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.

	* lib/unistd.in.h (dup3): Consider REPLACE_DUP3. Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_DUP3.
	* modules/unistd (Makefile.am): Substitute REPLACE_DUP3.
	* m4/dup3.m4 (gl_FUNC_DUP3): Conditionally set REPLACE_DUP3.

	* lib/string.in.h (stpcpy): Consider REPLACE_STPCPY. Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.
	* m4/string_h.m4 (gl_STRING_H_DEFAULTS): Initialize REPLACE_STPCPY.
	* modules/string (Makefile.am): Substitute REPLACE_STPCPY.
	* m4/stpcpy.m4 (gl_FUNC_STPCPY): Conditionally set REPLACE_STPCPY.
	* modules/stpcpy (configure.ac): Consider REPLACE_STPCPY.

	* lib/stdlib.in.h (_Exit): Consider REPLACE__EXIT. Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.
	(getprogname): Consider REPLACE_GETPROGNAME. Disable _GL_CXXALIASWARN
	invocation on non-glibc systems.
	(posix_openpt): Consider REPLACE_POSIX_OPENPT. Disable _GL_CXXALIASWARN
	invocation on non-glibc systems.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE__EXIT,
	REPLACE_GETPROGNAME, REPLACE_POSIX_OPENPT.
	* modules/stdlib (Makefile.am): Substitute REPLACE__EXIT,
	REPLACE_GETPROGNAME, REPLACE_POSIX_OPENPT.
	* m4/_Exit.m4 (gl_FUNC__EXIT): Conditionally set REPLACE__EXIT.
	* modules/_Exit (configure.ac): Consider REPLACE__EXIT.
	* m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Conditionally set
	REPLACE_GETPROGNAME.
	* modules/getprogname (configure.ac): Consider REPLACE_GETPROGNAME.
	* m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Conditionally set
	REPLACE_POSIX_OPENPT.
	* modules/posix_openpt (configure.ac): Consider REPLACE_POSIX_OPENPT.

	* lib/search.in.h (twalk): Consider REPLACE_TWALK.
	* m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TWALK.
	* modules/search (Makefile.am): Substitute REPLACE_TWALK.
	* m4/tsearch.m4 (gl_FUNC_TSEARCH): Conditionally set REPLACE_TWALK.
	* modules/tsearch (configure.ac): Consider REPLACE_TWALK.

2023-01-22  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 19.

	* lib/inttypes.in.h (imaxabs): Consider REPLACE_IMAXABS. Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.
	(imaxdiv): Consider REPLACE_IMAXDIV. Disable _GL_CXXALIASWARN invocation
	on non-glibc systems.
	* m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXABS,
	HAVE_IMAXDIV, REPLACE_IMAXABS, REPLACE_IMAXDIV.
	* modules/inttypes-incomplete (Makefile.am): Substitute REPLACE_IMAXABS,
	REPLACE_IMAXDIV.
	* m4/imaxabs.m4 (gl_FUNC_IMAXABS): Conditionally set HAVE_IMAXABS,
	REPLACE_IMAXABS.
	* modules/imaxabs (configure.ac): Consider HAVE_IMAXABS, REPLACE_IMAXABS.
	* m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Conditionally set HAVE_IMAXDIV,
	REPLACE_IMAXDIV.
	* modules/imaxdiv (configure.ac): Consider HAVE_IMAXDIV, REPLACE_IMAXDIV.

	* m4/futimens.m4 (gl_FUNC_FUTIMENS): Conditionally set REPLACE_FUTIMENS.
	* lib/sys_stat.in.h (futimens): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

2023-01-22  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 18.

	* m4/log2.m4 (gl_FUNC_LOG2): Conditionally set REPLACE_LOG2.
	* m4/log2f.m4 (gl_FUNC_LOG2F): Conditionally set REPLACE_LOG2F.
	* m4/log2l.m4 (gl_FUNC_LOG2L): Conditionally set REPLACE_LOG2L.
	* lib/math.in.h (log2f): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Conditionally set REPLACE_GETDELIM.
	* m4/getline.m4 (gl_FUNC_GETLINE): Conditionally set REPLACE_GETLINE.
	* lib/stdio.in.h (getdelim, getline): Disable _GL_CXXALIASWARN
	invocation on non-glibc systems.

2023-01-22  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 16-17.
	* m4/posix_memalign.m4 (gl_FUNC_POSIX_MEMALIGN): Conditionally set
	REPLACE_POSIX_MEMALIGN.
	* lib/stdlib.in.h (posix_memalign): Disable _GL_CXXALIASWARN invocation
	on non-glibc systems.

2023-01-22  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 16.

	* m4/tsearch.m4 (gl_FUNC_TSEARCH): Conditionally set REPLACE_TSEARCH.
	* lib/search.in.h (tsearch, tfind, tdelete, twalk): Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.

	* m4/faccessat.m4 (gl_FUNC_FACCESSAT): Conditionally set
	REPLACE_FACCESSAT.
	* lib/unistd.in.h (faccessat): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

2023-01-22  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 12.

	* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Conditionally set
	REPLACE_UTIMENSAT.
	* lib/sys_stat.in.h (utimensat): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* m4/timegm.m4 (gl_FUNC_TIMEGM): Conditionally set REPLACE_TIMEGM.
	* lib/time.in.h (timegm): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* m4/pwrite.m4 (gl_FUNC_PWRITE): Conditionally set REPLACE_PWRITE.
	* lib/unistd.in.h (pwrite): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* m4/pread.m4 (gl_FUNC_PREAD): Conditionally set REPLACE_PREAD.
	* lib/unistd.in.h (pread): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

	* m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Conditionally set
	REPLACE_FTRUNCATE.
	* lib/unistd.in.h (ftruncate): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

2023-01-22  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 9.
	* lib/unistd.in.h (fdatasync): Consider REPLACE_FDATASYNC. Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.
	(pipe2): Consider REPLACE_PIPE2. Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FDATASYNC,
	REPLACE_PIPE2.
	* modules/unistd (Makefile.am): Substitute REPLACE_FDATASYNC,
	REPLACE_PIPE2.
	* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Test for fdatasync using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS. Conditionally set
	REPLACE_FDATASYNC.
	* modules/fdatasync (Depends-on, configure.ac): Consider
	REPLACE_FDATASYNC.
	* m4/pipe2.m4 (gl_FUNC_PIPE2): Conditionally set REPLACE_PIPE2.

2023-01-22  Bruno Haible  <bruno@clisp.org>

	Resolve conflicts for functions introduced in Android API level 8.
	* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Conditionally set
	REPLACE_TTYNAME_R.
	* lib/unistd.in.h (ttyname_r): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

2023-01-22  Bruno Haible  <bruno@clisp.org>

	Prepare for resolving conflicts regarding future Android API levels.
	* m4/gnulib-common.m4 (gl_CHECK_FUNCS_ANDROID): Don't check for the
	function declaration on platforms other than Android. Set a variable
	gl_cv_onwards_func_<func>.

2023-01-22  Paul Eggert  <eggert@cs.ucla.edu>

	sigsegv, vma-iter: port to Solaris 10
	On this platform, <sys/types.h> does not define off_t if neither
	_LP64 nor _FILE_OFFSET_BITS is defined, which can happen if we
	#undef _FILE_OFFSET_BITS.  This became a problem with the new way
	of doing stdbool, since config.h now includes <stdbool.h>, and
	Solaris 10 <stdbool.h> includes <sys/feature_tests.h> which
	arranges for _FILE_OFFSET_BITS to always be defined (if only to 32),
	which <sys/types.h> assumes.
	* lib/stackvma.c, lib/vma-iter.c (_FILE_OFFSET_BITS) [__sun && !_LP64]:
	Define to 32 instead of leaving undefined.

2023-01-21  Bruno Haible  <bruno@clisp.org>

	login_tty: Ensure declaration in <utmp.h>.

	* tests/test-utmp-c++.cc: New file.
	* modules/utmp-c++-tests: New file.

	* tests/test-utmp.c: New file.
	* modules/utmp-tests: New file.

	* lib/login_tty.c: Include <utmp.h>.
	* m4/login_tty.m4: New file.
	(gl_FUNC_LOGIN_TTY): Moved here from m4/pty.m4. Set HAVE_LOGIN_TTY.
	* m4/pty.m4 (gl_FUNC_LOGIN_TTY): Moved to m4/login_tty.m4.
	* modules/login_tty (Files): Add m4/login_tty.m4.
	(Depends-on): Add utmp. Remove pty. Update condition.
	(configure.ac): Update condition. Invoke gl_UTMP_MODULE_INDICATOR
	instead of gl_PTY_MODULE_INDICATOR.
	(Include): List <utmp.h>.
	* doc/glibc-functions/login_tty.texi: Mark the include file diversity as
	fixed.
	* tests/test-login_tty.c: Include <utmp.h>. Don't declare login_tty
	here.

	* lib/utmp.in.h: New file.
	* m4/utmp_h.m4: New file.
	* modules/utmp: New file.
	* doc/glibc-headers/utmp.texi: New file.
	* doc/gnulib.texi (Glibc Header File Substitutes): Include it.

2023-01-21  Bruno Haible  <bruno@clisp.org>

	login_tty: Fix detection of declaration (regression 2023-01-19).
	* m4/pty.m4 (gl_FUNC_LOGIN_TTY): Check for the three possible header
	files.

2023-01-21  Bruno Haible  <bruno@clisp.org>

	alignasof tests: Rename test file.
	* tests/test-alignasof.c: Renamed from tests/test-stdalign.c.
	* modules/alignasof-tests (Files, Makefile.am): Update accordingly.

2023-01-21  Bruno Haible  <bruno@clisp.org>

	alignasof tests: Fix GCC warning (regression 2023-01-15).
	* tests/test-stdalign.c (alignas): Undefine before redefine.

2023-01-21  Bruno Haible  <bruno@clisp.org>

	getprogname: Move declaration from "getprogname.h" to <stdlib.h>.
	* lib/stdlib.in.h (getprogname): New declaration.
	* lib/getprogname.h: Add deprecation warning.
	(getprogname): Remove declaration.
	* lib/getprogname.c: Include <stdlib.h> instead of getprogname.h.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Test whether getprogname is declared.
	(gl_STDLIB_H_REQUIRE_DEFAULTS): Initialize GNULIB_GETPROGNAME.
	(gl_STDLIB_H_DEFAULTS): Initialize HAVE_GETPROGNAME.
	* m4/getprogname.m4 (gl_PREREQ_GETPROGNAME): New macro, extracted from
	gl_FUNC_GETPROGNAME. Set HAVE_GETPROGNAME.
	(gl_FUNC_GETPROGNAME): Remove code that was moved to
	gl_PREREQ_GETPROGNAME.
	* modules/stdlib (Makefile.am): Substitute GNULIB_GETPROGNAME and
	HAVE_GETPROGNAME.
	* modules/getprogname (Depends-on): Add stdlib.
	(configure.ac): Define a module indicator. Invoke gl_PREREQ_GETPROGNAME.
	(Makefile.am): Don't compile getprogname.c if not needed.
	(Include): List <stdlib.h> instead of getprogname.h.
	* tests/test-getprogname.c: Include <stdlib.h> instead of getprogname.h.
	* NEWS: Mention the change.
	* lib/argmatch.c: Don't include getprogname.h.
	* lib/c-stack.c: Likewise.
	* lib/error.c: Likewise.
	* lib/git-merge-changelog.c: Likewise.

2023-01-19  Paul Eggert  <eggert@cs.ucla.edu>

	snippet/_Noreturn: work around Clang _Noreturn bug
	This is a bigger-hammer workaround for the clang _Noreturn issue
	fix for dfa.c on 2023-01-01.  Unfortunately, it causes 270
	-Wreturn-type and -Wsometimes-uninitialized warnings when building
	bleeding-edge GNU Emacs from Git on Fedora 37 with plain
	‘./configure && make’.  So the workaround is enabled only if you
	compile with -D_GL_WORK_AROUND_LLVM_BUG_59792.
	* lib/_Noreturn.h (_Noreturn):
	* m4/gnulib-common.m4 (gl_COMMON_BODY):
	#define _Noreturn to be empty if it is Clang 15 or earlier,
	and if _GL_WORK_AROUND_LLVM_BUG_59792 is defined.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 34.
	* modules/execute-tests (configure.ac): Test for close_range using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 30.
	* m4/threadlib.m4 (gl_STDTHREADLIB_BODY): Test for thrd_create using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 29.
	* m4/getloadavg.m4 (gl_GETLOADAVG): Test for getloadavg using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNC.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 28.
	* m4/glob.m4 (gl_GLOB): Test for glob using gl_CHECK_FUNCS_ANDROID
	instead of AC_CHECK_FUNCS_ONCE.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 26.
	* m4/mountlist.m4 (gl_MOUNTLIST): Test for hasmntopt using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for nl_langinfo using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/strtod.m4 (gl_PREREQ_STRTOD): Test for nl_langinfo using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Likewise.
	* m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test for catgets using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/utimens.m4 (gl_UTIMENS): Test for lutimes using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test for nl_langinfo_l using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* modules/duplocale-tests (configure.ac): Likewise.
	* m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Update comment.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 24.
	* m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Test for strchrnul using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 23.
	* m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test for __flbf, __fbufsize using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): Test for mempcpy using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/fpurge.m4 (gl_FUNC_FPURGE): Test for __fpurge using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/freadable.m4 (gl_FUNC_FREADABLE): Test for __freadable using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/fwritable.m4 (gl_FUNC_FWRITABLE): Test for __fwritable using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Test for __fsetlocking using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Test for mempcpy using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Test for mkfifoat using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Test for mkostemp using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Test for mkostemps using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/pty.m4 (gl_FUNC_LOGIN_TTY): Test for login_tty using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Test for sethostname using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Test for strerror_r using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/wmempcpy.m4 (gl_FUNC_WMEMPCPY): Test for wmempcpy using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 21.
	* m4/_Exit.m4 (gl_FUNC__EXIT): Test for _Exit using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/c-strtod.m4 (gl_C_STRTOLD): Test for strtold_l using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb like
	gl_CHECK_FUNCS_ANDROID does.
	* m4/dprintf.m4 (gl_FUNC_DPRINTF): Test for dprintf using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
	* m4/dup3.m4 (gl_FUNC_DUP3): Test for dup3 using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test for duplocale using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/execvpe.m4 (gl_FUNC_EXECVPE): Test for execvpe using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/fts.m4 (gl_FUNC_FTS_CORE): Test for fts_open using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNC.
	* m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Test for getprogname using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Test for uselocale using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/iswblank.m4 (gl_FUNC_ISWBLANK): Test for iswblank using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Test for
	tcdrain using gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/linkat.m4 (gl_FUNC_LINKAT): Test for linkat using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/localename.m4 (gl_LOCALENAME): Test for newlocale, duplocale,
	freelocale using gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): Test for mbrtoc32 like
	gl_CHECK_FUNCS_ANDROID does.
	* m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Test for mbsnrtowcs using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test for mbtowc using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Test for mknodat using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/mountlist.m4 (gl_MOUNTLIST): Test for setmntent, endmntent using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Test for posix_openpt using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/pty.m4 (gl_FUNC_OPENPTY): Test for posix_openpt using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/random.m4 (gl_FUNC_RANDOM): Test for initstate, setstate using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/stpcpy.m4 (gl_FUNC_STPCPY): Test for stpcpy using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Test for stpncpy using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Test for symlinkat using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/truncate.m4 (gl_FUNC_TRUNCATE): Test for truncate using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/tsearch.m4 (gl_FUNC_TSEARCH): Test for twalk using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/vdprintf.m4 (gl_FUNC_VDPRINTF): Test for vdprintf using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
	* m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Test for wcsnrtombs using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/readlinkat.m4 (gl_FUNC_READLINKAT): Test for readlinkat using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/fchmodat.m4 (gl_PREREQ_FCHMODAT): Likewise.
	* modules/careadlinkat (configure.ac): Likewise.
	* modules/ftoastr (configure.ac): Test for strtof using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* modules/duplocale-tests (configure.ac): Test for duplocale using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* modules/hard-locale-tests (configure.ac): Likewise.
	* modules/locale-tests (configure.ac): Test for newlocale using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* modules/localename-tests (configure.ac): Likewise.
	* modules/tsearch-tests (configure.ac): Test for initstate using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* modules/unistr/u8-stpcpy (configure.ac): Test for stpcpy using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.

	* m4/tcgetattr.m4: New file, extracted from m4/getpass.m4.
	* m4/getpass.m4 (gl_PREREQ_GETPASS): Remove code that tests for
	tcgetattr. Invoke gl_HAVE_TCGETATTR instead.
	* modules/getpass (Files): Add tcgetattr.m4.
	* modules/getpass-gnu (Files): Add tcgetattr.m4.
	* modules/term-style-control (Files): Add tcgetattr.m4.
	(configure.ac): Remove code that tests for tcgetattr. Invoke
	gl_HAVE_TCGETATTR instead.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 19.
	* m4/futimens.m4 (gl_FUNC_FUTIMENS): Test for futimens using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/utimens.m4 (gl_UTIMENS): Likewise.
	* m4/imaxabs.m4 (gl_FUNC_IMAXABS): Test for imaxabs using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Test for imaxdiv using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 18.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Test for getdelim using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/getline.m4 (gl_FUNC_GETLINE): Test for getline using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNC.
	* m4/log2.m4 (gl_FUNC_LOG2): Test for log2 using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/log2f.m4 (gl_FUNC_LOG2F): Test for log2f using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/log2l.m4 (gl_FUNC_LOG2L): Test for log2l using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 16 or 17.
	* m4/posix_memalign.m4 (gl_FUNC_POSIX_MEMALIGN): Test for posix_memalign
	using gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/alignalloc.m4 (gl_ALIGNALLOC): Likewise.
	* m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Likewise.
	* modules/aligned-malloc (configure.ac): Likewise.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 16.
	* m4/faccessat.m4 (gl_FUNC_FACCESSAT): Test for faccessat using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE,
	gl_CANONICALIZE_LGPL_SEPARATE): Likewise.
	* m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
	* m4/tsearch.m4 (gl_FUNC_TSEARCH): Test for tsearch using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/setenv.m4 (gl_PREREQ_SETENV): Likewise.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 12.
	Reported by Po Lu <luangruo@yahoo.com>.
	* m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Test for ftruncate using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/glob.m4 (gl_PREREQ_GLOB): Test for getpwnam_r using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/nproc.m4 (gl_PREREQ_NPROC): Test for sched_getaffinity using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/pread.m4 (gl_FUNC_PREAD): Test for pread using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/pwrite.m4 (gl_FUNC_PWRITE): Test for pwrite using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/thread.m4 (gl_THREAD): Test for pthread_atfork using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* m4/timegm.m4 (gl_FUNC_TIMEGM): Test for timegm using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Test for utimensat using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/utimens.m4 (gl_UTIMENS): Likewise.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 9.
	* m4/pipe2.m4 (gl_FUNC_PIPE2): Test for pipe2 using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Update comments.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	Fix warnings for functions introduced in Android API level 8.
	* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test for ttyname_r using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.

2023-01-19  Bruno Haible  <bruno@clisp.org>

	fts: Document this module.
	* doc/glibc-headers/fts.texi: Mention the 'fts' module.
	* doc/glibc-functions/fts_children.texi: Likewise.
	* doc/glibc-functions/fts_close.texi: Likewise.
	* doc/glibc-functions/fts_open.texi: Likewise.
	* doc/glibc-functions/fts_read.texi: Likewise.
	* doc/glibc-functions/fts_set.texi: Likewise.

2023-01-18  Bruno Haible  <bruno@clisp.org>

	getcwd: Speed up on Linux. Add support for Android.
	* lib/getcwd.c (__getcwd_generic): On Linux, use a specific readlink
	call to speed up the operation.

2023-01-17  Paul Eggert  <eggert@cs.ucla.edu>

	qcopy-acl: port to Fedora 9
	It has libattr-2.4.41, which is too old for our code.
	Problem reported by Po Lu <https://bugs.gnu.org/60843>.
	* m4/xattr.m4 (gl_FUNC_XATTR): Check that we can use
	ATTR_ACTION_PERMISSIONS, too.  Refactor so that there’s a single
	test program that we compile and link, rather than doing the tests
	in dribs and drabs.

2023-01-17  Bruno Haible  <bruno@clisp.org>

	execute tests: Avoid test failure with GNU make 4.4.
	Reported by Eric Blake in
	<https://lists.gnu.org/archive/html/bug-gnulib/2023-01/msg00157.html>.
	* tests/test-execute-main.c (main): Reset the SIGPIPE handler to
	default on all platforms.

2023-01-17  Bruno Haible  <bruno@clisp.org>

	fflush: Tweak last commit.
	* lib/stdio-impl.h (fp_): Make the last change work also with newer
	Android NDKs and _FILE_OFFSET_BITS=64.

2023-01-17  Ondrej Valousek  <ondrej.valousek.xm@renesas.com>

	qset-acl, acl: Improve comments.
	* lib/qset-acl.c (qset_acl): Improve comments.
	* lib/set-acl.c (set_acl): Likewise.

2023-01-17  Bruno Haible  <bruno@clisp.org>

	fflush: Fix a buffer overrun on 32-bit Android.
	* lib/stdio-impl.h (fp_): On Android, change the type of _offset to
	'long'.
	* lib/fflush.c (update_fpos_cache): On Android, update a 'long', not an
	'fpos_t'.

2023-01-17  Bruno Haible  <bruno@clisp.org>

	execute tests: Avoid test failure on Android.
	* tests/test-execute-main.c (main): Reset the SIGPIPE handler to
	default.

2023-01-17  Bruno Haible  <bruno@clisp.org>

	hard-locale: Port to Android ≥ 5.0.
	* lib/hard-locale.c: Include <stdlib.h>.
	(hard_locale): On Android, consider also MB_CUR_MAX, even if the
	locale's name is "C".
	* tests/test-hard-locale.c (test_one, main): Assume that on Android,
	even the "C" locale is hard.

2023-01-16  Bruno Haible  <bruno@clisp.org>

	stddef tests: Fix compilation error (regression 2023-01-15).
	* tests/test-stddef.c: Don't include <stdalign.h>.

2023-01-16  Bruno Haible  <bruno@clisp.org>

	mbrtowc, mbrtoc32 tests: Avoid test failure on Android ≥ 5.0.
	* tests/test-mbrtowc.c (main): On Android 5.0 or newer, when testing
	the "C" locale, verify that the encoding is UTF-8.
	* tests/test-mbrtoc32.c (main): Likewise.
	* doc/posix-functions/setlocale.texi: Mention the Android problems.

	mbrtowc, mbrtoc32 tests: Refactor.
	* tests/test-mbrtowc.c (main): Straighten convoluted code.
	* tests/test-mbrtoc32.c (main): Likewise.

2023-01-16  Paul Eggert  <eggert@cs.ucla.edu>

	sigpipe tests: Modernize use of 'head'.
	POSIX no longer requires support for ‘head -1’.
	* tests/test-sigpipe.sh: Use ‘head -n1’ rather than ‘head -1’.
	* tests/test-sigpipe.c (main): Likewise.
	* lib/git-merge-changelog.c (main): Update comment accordingly.

2023-01-15  Paul Eggert  <eggert@cs.ucla.edu>

	alignasof: new module
	This splits off support for the C23 keywords alignas and alignof,
	from the now-deprecated stdalign module.  The latter now merely
	provides C11 support.
	* MODULES.html.sh, NEWS, doc/gnulib.texi:
	* doc/posix-headers/stdalign.texi: Document the change.
	* lib/stdalign.in.h: Remove most of the definitions (which are now
	supplied by the alignasof module), leaving only
	__alignas_is_defined and __alignof_is_defined.
	* modules/alignasof, modules/alignasof-tests: New files.
	* m4/stdalign.m4 (gl_ALIGNASOF): New macro, with
	most of the contents of the old gl_STDALIGN_H.
	Do not define __alignas_is_defined or __alignof_is_defined.
	(gl_STDALIGN_H): Rely on gl_ALIGNASOF for most of the work.
	* modules/alignalloc, modules/alignof, modules/argp:
	* modules/crypto/md4-buffer, modules/crypto/md5-buffer:
	* modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
	* modules/crypto/sha512-buffer, modules/crypto/sm3-buffer:
	* modules/fts, modules/rawmemchr, modules/relocatable-prog-wrapper:
	* modules/stddef-tests, modules/sys_socket:
	Depend on alignasof, not stdalign.
	* modules/stdalign: Deprecate.  Depend on alignasof.
	* modules/stdalign-tests: Move most contents to the new module
	alignasof-tests, and depend on that.

2023-01-15  Bruno Haible  <bruno@clisp.org>

	fpending: Fix compilation error with NDK ≥ r14b and Android API < 23.
	Report and patch by Po Lu <luangruo@yahoo.com>.
	* lib/fpending.c (__fpending) [__ANDROID__]: Use the fp_ macro.

2023-01-14  Paul Eggert  <eggert@cs.ucla.edu>

	alignof: port to strict C23
	Problem reported by Khem Raj in:
	https://lists.gnu.org/r/bug-gnulib/2023-01/msg00111.html
	* lib/alignof.h (alignof_slot) [!__cplusplus]: Use C23-style alignof.
	* modules/alignof (Depends-on): Add stdalign.

	test-framework-sh: work around AIX 7.2 diff bugs
	* tests/init.sh (compare_dev_null_): Run diff in the C locale.
	AIX 7.2 diff messes up in UTF-8 locales; for example,
	‘printf '\360\220\200\200\n' | diff - /dev/null’ incorrectly
	outputs nothing and exits with status 0 when LC_ALL=en_US.UTF-8.

2023-01-14  Bruno Haible  <bruno@clisp.org>

	error, verror tests: Fix link error when the package uses libintl.
	* modules/error-tests (Makefile.am): Link test-error with $(LIBINTL).
	* modules/verror-tests (Makefile.am): Link test-verror with $(LIBINTL).

2023-01-13  Bruno Haible  <bruno@clisp.org>

	localename: Fix -Wtautological-pointer-compare warning in a better way.
	* lib/localename.c (duplocale, freelocale): Revert last patch.
	(_GL_ARG_NONNULL): Define to empty.

2023-01-13  Paul Eggert  <eggert@cs.ucla.edu>

	verify: work around xlclang 16.1 compiler bug
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/grep-devel/2023-01/msg00003.html
	* lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
	Define to 0 if compiler advertises itself as clang before version 5.
	xlclang 16.1 advertises itself as 4.0.1 and this patch works
	around what appears to be a compiler bug when compiling dfa.c in
	bleeding-edge grep.

	assert-h: suppress xlclang 16.1 false alarms
	* m4/assert_h.m4 (gl_ASSERT_H): Pacify older clangs too,
	with regard to single-argument static_assert.
	Problem found with xlclang 16.1 on AIX 7.2.

	assert-h: fix configure comment-out
	* m4/assert_h.m4 (gl_ASSERT_H): Also break apart "#undef
	static_assert" with /**/.  Problem discovered with xlclang 16.1,
	though it does not directly affect xlclang 16.1.

	Don’t use alloc_size with xlclang 16.1
	* m4/gnulib-common.m4 (_GL_HAS_ATTRIBUTE): Require Clang 5 instead
	of 3.5 for this, to pacify xlclang 16.1.0 on AIX 7.2, which
	advertises itself as clang 4.0.1, and which otherwise issues
	warnings like “./xalloc.h:141:3: warning: 1540-2990 The attribute
	"__attribute__((alloc_size(2, 3)))" is not supported.  The
	attribute is ignored.” when building bleeding-edge GNU grep.

	localename: -Wtautological-pointer-compare
	Problem found by xlclang 16.1 on AIX 7.2.
	* lib/localename.c (duplocale, freelocale):
	Omit unnecessary comparison of non-null args to NULL.

2023-01-13  Bruno Haible  <bruno@clisp.org>

	login_tty tests: Be more verbose when the test fails.
	* tests/test-login_tty.c (main): When the test fails, write a message
	into a file.

2023-01-13  Bruno Haible  <bruno@clisp.org>

	qcopy-acl: Make last patch more robust.
	* m4/acl.m4 (gl_FUNC_ACL): Define through AC_DEFUN_ONCE.
	* modules/qcopy-acl (configure.ac): Require gl_FUNC_ACL.

	qcopy-acl: Adjust link dependencies.
	* modules/qcopy-acl (Depends-on): Add condition.
	(configure.ac): Set QCOPY_ACL_LIB.
	(Link): Add $(QCOPY_ACL_LIB). Remove $(LIB_ACL).
	* modules/qacl (Link): Add $(LIB_ACL) and $(QCOPY_ACL_LIB).
	* modules/acl (Link): Add $(LIB_ACL) and $(QCOPY_ACL_LIB).
	* modules/copy-file (Link): Add $(QCOPY_ACL_LIB).
	* modules/supersede (Link): Add $(QCOPY_ACL_LIB).
	* modules/acl-tests (Makefile.am): Link test-copy-acl with
	$(QCOPY_ACL_LIB).
	* modules/copy-file-tests (Makefile.am): Link test-copy-file with
	$(QCOPY_ACL_LIB).
	* modules/supersede-tests (Makefile.am): Link test-supersede with
	$(QCOPY_ACL_LIB).

2023-01-13  Bruno Haible  <bruno@clisp.org>

	qcopy-acl: Avoid autoconf warning.
	* m4/xattr.m4 (gl_FUNC_XATTR): Provide a description in AC_DEFINE.
	Also, protect against unsafe use of a configure option value.

2023-01-12  Ondrej Valousek  <ondrej.valousek.xm@renesas.com>

	qcopy-acl: Optimize copying of ACLs by directly copying the attributes.
	* lib/qcopy-acl.c (is_attr_permissions): New functions.
	(qcopy_acl): If USE_XATTR, copy the ACL related attributes directly.
	* m4/xattr.m4: New file.
	* modules/qcopy-acl (Files): Add it.
	(configure.ac): Invoke gl_FUNC_XATTR.

2023-01-12  Bruno Haible  <bruno@clisp.org>

	error: Work around an Android problem.
	* lib/error.in.h: Renamed from lib/error.h.
	(_GL_ATTRIBUTE_SPEC_PRINTF_ERROR): New macro.
	(error): Consider HAVE_ERROR and REPLACE_ERROR.
	(error_at_line): Consider HAVE_ERROR_AT_LINE and REPLACE_ERROR_AT_LINE.
	* m4/error_h.m4: New file, partially based on m4/error.m4.
	* m4/error.m4 (gl_ERROR): Remove the test for error_at_line.
	* modules/error-h: New file.
	* modules/error (Files): Remove lib/error.h.
	(Depends-on): Add error-h. Update conditions.
	(configure.ac): Require gl_ERROR_H. Update condition.
	* doc/glibc-headers/error.texi: Mention the 'error-h' module.
	* doc/glibc-functions/error.texi: Mention the Android problem.
	* config/srclist.txt: Add comment regarding error.h.

2023-01-12  Bruno Haible  <bruno@clisp.org>

	error, verror tests: Add clarification.
	* tests/test-error.c (main): Clarify why we don't test error_at_line
	with a NULL filename.
	* tests/test-verror.c (main): Clarify why we don't test verror_at_line
	with a NULL filename.

2023-01-12  Bruno Haible  <bruno@clisp.org>

	verror: Add tests.
	* tests/test-verror.sh: New file, based on tests/test-error.sh.
	* tests/test-verror.c: New file, based on tests/test-error.c.
	* modules/verror-tests: New file.

2023-01-12  Bruno Haible  <bruno@clisp.org>

	error: Add tests.
	* tests/test-error.sh: New file.
	* tests/test-error.c: New file.
	* modules/error-tests: New file.

2023-01-11  Bruno Haible  <bruno@clisp.org>

	xstrtol-error: Improve comments.
	* lib/xstrtol-error.h (xstrtol_fatal): Add parameter names to
	declaration.

2023-01-11  Bruno Haible  <bruno@clisp.org>

	spawn-pipe tests: Fix test failure on Android.
	* tests/test-spawn-pipe-child.c (main): Skip the is_open (STDERR_FILENO)
	check on Android.

2023-01-11  Bruno Haible  <bruno@clisp.org>

	perror: Fix "perror clobbers strerror's buffer" problem on Android.
	* m4/perror.m4 (gl_FUNC_PERROR): Set REPLACE_PERROR to 1 on Android.
	* doc/posix-functions/perror.texi: Mention the Android problem.

2023-01-11  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addfchdir tests: Fix test failure on Android.
	* tests/test-posix_spawn-fchdir.c: Include xvasprintf.h.
	(test): On Android, use "/proc" instead of "/".
	(main): Determine the relative location of the 'pwd' program
	accordingly.
	* modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
	xvasprintf.

2023-01-11  Bruno Haible  <bruno@clisp.org>

	rename, renameat, renameatu: Fix test failures on Android/Termux.
	* tests/test-rename.h (test_rename): On Android, treat an EACCES failure
	like EPERM.

2023-01-11  Bruno Haible  <bruno@clisp.org>

	link, linkat tests: Fix test failures on Android/Termux.
	* tests/test-link.h (test_link): On Android, treat an EACCES failure
	like EPERM.
	* tests/test-linkat.c (main): When test_link is marked skipped, skip the
	rest of the test as well.

2023-01-11  Bruno Haible  <bruno@clisp.org>

	link tests: Correct indentation.
	* tests/test-link.h (test_link): Correct indentation.

2023-01-11  Bruno Haible  <bruno@clisp.org>

	Fix link errors on Android 4.3.
	* lib/asyncsafe-spin.c: Don't use the GCC >= 4.1 builtins on Android,
	when building with GCC.
	* lib/pthread-spin.c: Likewise.
	* lib/simple-atomic.c: Likewise.

2023-01-10  Jim Meyering  <meyering@fb.com>

	update-copyright: also work with two or more updatable lines in a file
	* build-aux/update-copyright: Replace every occurrence of the copyright
	line, not just the first one.
	* tests/test-update-copyright.sh: Add a test case for this.

2023-01-10  Bruno Haible  <bruno@clisp.org>

	immutable: Fix initialization failure on Android.
	* lib/immutable.c: Include "pathmax.h".
	(do_init_mmap_file): Use $TMPDIR rather than /tmp, if it is safe.
	* modules/immutable (Depends-on): Add pathmax.

2023-01-10  Bruno Haible  <bruno@clisp.org>

	Fix some test failures on Android ≥ 11.
	* tests/test-fclose.c (main): On Android, avoid triggering the
	file-descriptor sanitizer (fdsan).
	* tests/test-fdopen.c (main): Likewise.
	* tests/test-fflush.c (main): Likewise.
	* tests/test-fgetc.c (main): Likewise.
	* tests/test-fputc.c (main): Likewise.
	* tests/test-fread.c (main): Likewise.
	* tests/test-fseeko4.c (main): Likewise.
	* tests/test-ftello4.c (main): Likewise.
	* tests/test-fwrite.c (main): Likewise.

2023-01-10  Bruno Haible  <bruno@clisp.org>

	utimens: Fix warning on Android.
	* m4/utimens.m4 (gl_UTIMENS): Test for futimesat and futimes using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.

2023-01-10  Bruno Haible  <bruno@clisp.org>

	secure_getenv: Fix warning on Android.
	* m4/secure_getenv.m4 (gl_FUNC_SECURE_GETENV): Test for issetugid using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS.
	* lib/secure_getenv.c: Fix comment regarding issetugid.

2023-01-10  Bruno Haible  <bruno@clisp.org>

	renameat, renameatu: Fix warning on Android.
	* m4/renameat.m4 (gl_FUNC_RENAMEAT): Test for renameat2 using
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.

2023-01-10  Bruno Haible  <bruno@clisp.org>

	memset_explicit tests: Fix signature check.
	* tests/test-memset_explicit.c: Fix return type in signature check.

2023-01-10  Bruno Haible  <bruno@clisp.org>

	math: Fix compilation errors in C++ mode on Android.
	* lib/math.in.h: Declare nothing if this file gets included from
	/usr/include/c++/v1/math.h too early.

2023-01-10  Bruno Haible  <bruno@clisp.org>

	sys_ioctl: Fix compilation error in C++ mode on Android.
	* lib/sys_ioctl.in.h (ioctl): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.

2023-01-09  Bruno Haible  <bruno@clisp.org>

	threads-h: Improve portability.
	* lib/threads.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE when possible.
	* modules/threads-h (Makefile.am): Substitute
	INCLUDE_NEXT_AS_FIRST_DIRECTIVE and NEXT_AS_FIRST_DIRECTIVE_THREADS_H.

2023-01-09  Bruno Haible  <bruno@clisp.org>

	threads-h: Fix compilation errors in C++ mode on Android.
	* lib/threads.in.h (_GL_ALREADY_INCLUDING_THREADS_H): New macro.

2023-01-09  Bruno Haible  <bruno@clisp.org>

	aligned-malloc: Don't disturb the module aligned_alloc.
	* modules/aligned-malloc (configure.ac): Test for aligned_alloc in the
	same way as module aligned_alloc does.

2023-01-09  Bruno Haible  <bruno@clisp.org>

	malloc-h: Improve portability.
	* lib/malloc.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE when possible.
	* modules/malloc-h (Makefile.am): Substitute
	INCLUDE_NEXT_AS_FIRST_DIRECTIVE and NEXT_AS_FIRST_DIRECTIVE_MALLOC_H.

2023-01-09  Bruno Haible  <bruno@clisp.org>

	reallocarray: Fix compilation error in C++ mode on Android.
	* m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Use gl_CHECK_FUNCS_ANDROID
	instead of AC_CHECK_FUNCS.

2023-01-09  Bruno Haible  <bruno@clisp.org>

	getsubopt: Fix compilation error in C++ mode on Android.
	* m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Use gl_CHECK_FUNCS_ANDROID
	instead of AC_CHECK_FUNCS_ONCE.

2023-01-09  Bruno Haible  <bruno@clisp.org>

	malloc-h: Fix compilation errors in C++ mode on Android.
	* lib/malloc.in.h: Don't include <stdlib.h>, except on Solaris and on
	HP-UX. Include <stddef.h>. Make _GL_ATTRIBUTE_DEALLOC_FREE work (code
	snippet copied from string.in.h and wchar.in.h).
	* m4/malloc_h.m4 (gl_MALLOC_H_REQUIRE_DEFAULTS): Invoke
	gl_STDLIB_H_REQUIRE_DEFAULTS.
	* modules/malloc-h (Depends-on): Add stddef, stdlib.
	(Makefile.am): Substitute GNULIB_FREE_POSIX and REPLACE_FREE.

2023-01-09  Bruno Haible  <bruno@clisp.org>

	gettime: Fix compilation error in C++ mode on Android.
	* m4/gettime.m4 (gl_CHECK_FUNC_TIMESPEC_GET): Also test whether
	timespec_get is declared.

2023-01-09  Bruno Haible  <bruno@clisp.org>

	malloc-h: Fix compilation error in C++ mode on Android.
	* lib/malloc.in.h (_GL_ALREADY_INCLUDING_MALLOC_H): New macro.

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

	timer_time: Rename LIB_TIMER_TIME to TIMER_TIME_LIB.
	* m4/timer_time.m4: Rename LIB_TIMER_TIME to TIMER_TIME_LIB.
	All uses changed.
	* NEWS: Mention the change

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

	setlocale-null: Rename LIB_SETLOCALE_NULL to SETLOCALE_NULL_LIB.
	* m4/setlocale_null.m4: Rename LIB_SETLOCALE_NULL to SETLOCALE_NULL_LIB.
	All uses changed.
	* NEWS: Mention the change

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

	setlocale: Rename LIB_SETLOCALE to SETLOCALE_LIB.
	* m4/setlocale.m4: Rename LIB_SETLOCALE to SETLOCALE_LIB.
	All uses changed.
	* NEWS: Mention the change.

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

	select: Rename LIB_SELECT to SELECT_LIB.
	* m4/select.m4: Rename LIB_SELECT to SELECT_LIB.
	All uses changed.
	* NEWS: Mention the change.

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

	sched_yield: Rename LIB_SCHED_YIELD to SCHED_YIELD_LIB.
	* m4/threadlib.m4: Rename LIB_SCHED_YIELD to SCHED_YIELD_LIB.
	All uses changed.
	* NEWS: Mention the change.

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

	pthread_sigmask: Rename LIB_PTHREAD_SIGMASK to PTHREAD_SIGMASK_LIB.
	* m4/pthread_sigmask.m4: Rename LIB_PTHREAD_SIGMASK to
	PTHREAD_SIGMASK_LIB.
	All uses changed.
	* NEWS: Mention the change.

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

	posix_spawn: Rename LIB_POSIX_SPAWN to POSIX_SPAWN_LIB.
	* m4/spawn_h.m4: Rename LIB_POSIX_SPAWN to POSIX_SPAWN_LIB.
	All uses changed.
	* NEWS: Mention the change.

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

	poll: Rename LIB_POLL to POLL_LIB.
	* m4/poll.m4: Rename LIB_POLL to POLL_LIB.
	All uses changed.
	* NEWS: Mention the change.

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

	nanosleep: Rename LIB_NANOSLEEP to NANOSLEEP_LIB.
	* m4/nanosleep.m4: Rename LIB_NANOSLEEP to NANOSLEEP_LIB.
	All uses changed.
	* NEWS: Mention the change.

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

	mbrtowc: Rename LIB_MBRTOWC to MBRTOWC_LIB.
	* m4/mbrtowc.m4: Rename LIB_MBRTOWC to MBRTOWC_LIB.
	All uses changed.
	* NEWS: Mention the change.

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

	hard-locale: Rename LIB_HARD_LOCALE to HARD_LOCALE_LIB.
	* modules/hard-locale (configure.ac): Rename LIB_HARD_LOCALE to
	HARD_LOCALE_LIB.
	All uses changed.
	* NEWS: Mention the change.

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

	getrandom: Rename LIB_GETRANDOM to GETRANDOM_LIB.
	* m4/getrandom.m4: Rename LIB_GETRANDOM to GETRANDOM_LIB.
	All uses changed.
	* NEWS: Mention the change.

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

	getlogin, getlogin_r: Rename LIB_GETLOGIN to GETLOGIN_LIB.
	* m4/getlogin.m4: Rename LIB_GETLOGIN to GETLOGIN_LIB.
	All uses changed.
	* NEWS: Mention the change.

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

	gethrxtime: Rename LIB_GETHRXTIME to GETHRXTIME_LIB.
	* m4/gethrxtime.m4: Rename LIB_GETHRXTIME to GETHRXTIME_LIB.
	All uses changed.
	* NEWS: Mention the change.

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

	fdatasync: Rename LIB_FDATASYNC to FDATASYNC_LIB.
	* m4/fdatasync.m4: Rename LIB_FDATASYNC to FDATASYNC_LIB.
	All uses changed.
	* NEWS: Mention the change.

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

	euidaccess: Rename LIB_EACCESS to EUIDACCESS_LIBGEN.
	* m4/euidaccess.m4: Rename LIB_EACCESS to EUIDACCESS_LIBGEN.
	All uses changed.
	* NEWS: Mention the change.

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

	duplocale: Rename LIB_DUPLOCALE to DUPLOCALE_LIB.
	* m4/duplocale.m4: Rename LIB_DUPLOCALE to DUPLOCALE_LIB.
	All uses changed.
	* NEWS: Mention the change.

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

	clock_time: Rename LIB_CLOCK_GETTIME to CLOCK_TIME_LIB.
	* m4/clock_time.m4: Rename LIB_CLOCK_GETTIME to CLOCK_TIME_LIB.
	All uses changed.
	* NEWS: Mention the change.

2023-01-06  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl: don’t bother setting LIB_HAS_ACL
	* m4/acl.m4 (gl_FUNC_ACL, gl_FILE_HAS_ACL): Don’t set LIB_HAS_ACL.
	I think only Coreutils and Tar used it, and I’ve updated them.

	bootstrap: suppress stray message from --pull
	* build-aux/bootstrap: Regenerate.
	* top/bootstrap-funclib.sh (autopull): Suggest running autogen.sh
	only if it exists (i.e., the package is using autopull.sh/autogen.sh).
	Suggest the same name for autogen.sh that is used in the test.

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

	string: Fix compilation errors in C++ mode on Android.
	* lib/string.in.h (memrchr, strchrnul, strcasestr): Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.

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

	getpass: Fix compilation error on Android.
	* m4/getpass.m4 (gl_FUNC_GETPASS): Define NO_INLINE_GETPASS.
	* doc/glibc-functions/getpass.texi: Mention the Android problem.

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

	Recognize functions added in future versions of Android.
	* m4/gnulib-common.m4 (gl_CHECK_FUNCS_ANDROID): New macro.
	* m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Use
	gl_CHECK_FUNCS_ANDROID instead of AC_CHECK_FUNCS_ONCE.
	* m4/freading.m4 (gl_FUNC_FREADING): Likewise.
	* m4/fseterr.m4 (gl_FUNC_FSETERR): Likewise.
	* m4/fwriting.m4 (gl_FUNC_FWRITING): Likewise.
	* m4/getentropy.m4 (gl_FUNC_GETENTROPY): Likewise.
	* m4/getlogin_r.m4 (gl_CHECK_FUNCS_ANDROID): Likewise.
	* m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
	* m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
	* m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): Likewise.
	* doc/glibc-functions/getentropy.texi: Mark function as existing in
	Android 9.0.
	* doc/glibc-functions/getrandom.texi: Likewise.
	* doc/posix-functions/pthread_attr_getinheritsched.texi: Likewise.
	* doc/posix-functions/pthread_attr_setinheritsched.texi: Likewise.

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

	copy-file, supersede: Fix link-time requirements.
	* modules/copy-file (Link): Add $(LIB_ACL).
	* modules/supersede (Link): Likewise.

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

	More systematic naming of LIB variables.
	* m4/acl.m4 (gl_FUNC_ACL, gl_FILE_HAS_ACL): Set FILE_HAS_ACL_LIB to the
	same value as LIB_HAS_ACL.
	* modules/file-has-acl (Link): Use FILE_HAS_ACL_LIB instead of
	LIB_HAS_ACL.
	* modules/file-has-acl-tests (Makefile.am): Likewise.

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

	doc: Update regarding Android.
	* doc/glibc-functions/getdtablesize.texi: Update Android information.
	* doc/glibc-functions/wait3.texi: Likewise.
	* doc/pastposix-functions/ftime.texi: Likewise.
	* doc/pastposix-functions/index.texi: Likewise.
	* doc/pastposix-functions/pthread_attr_getstackaddr.texi: Likewise.
	* doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
	* doc/pastposix-functions/wcswcs.texi: Likewise.

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

	ffsl, ffsll: Fix compilation error on Android.
	* lib/string.in.h: On Android as well, include <strings.h>.
	* m4/ffsl.m4 (gl_FUNC_FFSL): Use a specific link test instead of
	AC_CHECK_FUNCS_ONCE.
	* m4/ffsll.m4 (gl_FUNC_FFSLL): Likewise.
	* doc/glibc-functions/ffsl.texi: Mention Android problems.
	* doc/glibc-functions/ffsll.texi: Likewise.

	ffs: Document Android problem.
	* doc/posix-functions/ffs.texi: Mention Android problem.
	* m4/ffs.m4: Update comment.

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

	stdio: Fix error in C++ mode on Android, due to putw.
	* lib/stdio.in.h (putw): Don't declare in the C++ namespace if putw is
	not declared.
	* m4/stdio_h.m4 (gl_STDIO_H): Test whether putw is declared.
	(gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_PUTW.
	* modules/stdio (Makefile.am): Substitute HAVE_DECL_PUTW.
	* doc/glibc-functions/putw.texi: Update regarding Android.

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

	stdio: Fix error in C++ mode on Android, due to getw.
	* lib/stdio.in.h (getw): Don't declare in the C++ namespace if getw is
	not declared.
	* m4/stdio_h.m4 (gl_STDIO_H): Test whether getw is declared.
	(gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_GETW.
	* modules/stdio (Makefile.am): Substitute HAVE_DECL_GETW.

2023-01-02  Bruno Haible  <bruno@clisp.org>

	sigsegv: Fix compilation error on Android 4.3.
	* lib/sigsegv.in.h: For Android, don't include <ucontext.h> and don't
	reference ucontext_t.
	* lib/sigsegv.c (SIGSEGV_FAULT_): For Android, use a plain POSIX fault
	handler (cf. libsigsegv/src/fault-posix.h).

2023-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: work around Clang 15 bug
	Problem reported by Kenton Groombridge in:
	https://lists.gnu.org/archive/html/bug-gawk/2022-12/msg00010.html
	On x86-64, Clang 15 gets confused by a call (X ? dfaerror :
	dfawarn) (Y) and generates the wrong code, presumably because
	dfaerror is _Noreturn and dfawarn is not.
	* lib/dfa.c (parse_bracket_exp): Reword to have one call for
	dfaerror, the other for dfawarn.

2023-01-01  Bruno Haible  <bruno@clisp.org>

	doc: Update regarding stable branches.
	* doc/gnulib-readme.texi (Stable Branches): Mention new branch
	stable-202301. Mention that stable-202201 is no longer updated.

2022-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	maint: use UTC when updating copyright date
	Problem reported by Simon Josefsson in:
	https://lists.gnu.org/r/bug-gnulib/2022-12/msg00125.html
	* Makefile (COPYRIGHT_TZ): New macro.
	(update-copyright): Use it.

2022-12-28  Paul Eggert  <eggert@cs.ucla.edu>

	assert-h: port static_assert to strict C99
	* lib/verify.h (_GL_VERIFY): Port MSVC hack back to C99.
	Problem found when testing bleeding-edge gzip on IBM XL C for AIX,
	V12.1 (5765-J02, 5725-C72), which complained ‘"malloca.c", line
	42.56: 1506-041 (E) The invocation of macro _Static_assert
	contains fewer arguments than are required by the macro
	definition.’  This diagnostic is valid because C99 requires
	that if you #define _Static_assert(R, ...) you must call
	_Static_assert with at least two arguments.  I found a similar
	problem with Sun C 5.9 SunOS_sparc Patch 124867-12 2009/11/22.

2022-12-27  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl: fix recently-introduced NFSv4 bug
	* lib/file-has-acl.c (acl_nfs4_nontrivial): Fix off-by-one
	error when rounding WHOLEN up to next multiple of 4.
	Pacify GCC 12.2.1 -Wcast-align.

	Add --pull, --gen options to build-aux/bootstrap
	This supports a single bootstrap script with --pull and --gen
	options, as an alternative to separate autogen.sh and autopull.sh
	and bootstrap-funclib.sh auxiliary files.
	* top/bootstrap: With --version, also output library version.
	Support update of package that has only the bootstrap script,
	and not the other three files.

	Support packages with just 'bootstrap'
	* top/bootstrap: With --version, also output library version.
	Support update of package that has only the bootstrap script,
	and not the other three files.

	* top/bootstrap-funclib.sh (scriptlibversion): Rename
	from scriptversion.  All uses changed.  This way we
	can distinguish script from script library versions.
	(upgrade_bootstrap): If the package currently has only
	the bootstrap script, just update that.

	Bootstrap with functions, not scripts
	* top/bootstrap: Use autopull and autogen functions, not
	shell scripts.  This lets build-aux/bootstrap become a
	standalone script.  It does not change the behavior of
	top/bootstrap, except for minor rewording of disagnostics.

	Make autopull a shell function too
	This does not change behavior.  It is helpful for future changes.
	* top/autopull.sh: Call autopull to do the actual work.
	(usage, download_po_files, update_po_files):
	Move to top/bootstrap-funclib.sh.
	* top/bootstrap-funclib.sh (autopull_usage): Rename from ‘usage’.
	(autopull): New function, containing the top level of the
	old top/autopull.sh.

	Make autogen a shell function too
	This does not change behavior.  It is helpful for future changes.
	* top/autogen.sh: Call autogen to do the actual work.
	(usage, version_controlled_file, gitignore_entries, insert_if_absent):
	(insert_vc_ignore, symlink_to_dir): Move to top/bootstrap-funclib.sh.
	* top/bootstrap-funclib.sh (autogen_usage): Rename from ‘usage’.
	(autogen): New function, containing the top level of the
	old top/autogen.sh.

2022-12-27  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors in C++ mode on Solaris 11 OpenIndiana.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): In _GL_ATTRIBUTE_DEALLOC_FREE,
	with GNU C++, cast the 'free' function.
	* lib/string.in.h (_GL_ATTRIBUTE_DEALLOC_FREE): With GNU C++, cast the
	'free' function.
	* lib/wchar.in.h (_GL_ATTRIBUTE_DEALLOC_FREE): Likewise.

2022-12-27  Bruno Haible  <bruno@clisp.org>

	stdnoreturn: Mark as deprecated, not obsolete. (Regression 2022-12-24.)
	* modules/stdnoreturn (Status): Remove.
	(Notice): Say that it is deprecated, not obsolete.
	* doc/noreturn.texi: Fix a typo.

2022-12-26  Paul Eggert  <eggert@cs.ucla.edu>

	stdbool-c99: fix typo
	Reported against Autoconf by Todd C. Miller in:
	https://lists.gnu.org/r/autoconf/2022-12/msg00001.html
	* m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Sync from Autoconf master.

2022-12-26  Bruno Haible  <bruno@clisp.org>

	ctime: Mark as deprecated, not obsolete. (Regression 2022-12-21.)
	* modules/ctime (Status): Remove.
	(Notice): Say that it is deprecated, not obsolete.

2022-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	largefile: sync from Autoconf master
	* m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): Test whether
	AC_SYS_YEAR2038 is defined when this macro is defined, not when it
	is used, as we now define AC_SYS_YEAR2038 later.
	(_AC_SYS_LARGEFILE_MACRO_VALUE): Remove.
	(_AC_SYS_YEAR2038_TEST_CODE, _AC_SYS_YEAR2038_OPTIONS)
	(_AC_SYS_YEAR2038_PROBE, _AC_SYS_YEAR2038_ENABLE)
	(_AC_SYS_YEAR2038_OPT_IN, AC_SYS_YEAR2038)
	(_AC_SYS_LARGEFILE_TEST_CODE, _AC_SYS_LARGEFILE_OPTIONS)
	(_AC_SYS_LARGEFILE_PROBE, _AC_SYS_LARGEFILE_ENABLE): New macros.
	(AC_SYS_LARGEFILE): Use them.
	* m4/year2038.m4: Remove.  All mentions removed.
	* modules/largefile, modules/year2038 (configure.ac-early):
	Do not require gl_YEAR2038_EARLY.
	* modules/year2038 (Depends-on): Depend on largefile.
	(configure.ac): Require AC_SYS_YEAR2038, not gl_YEAR2038.

2022-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	extensions: enable some C23 Annex F functions
	* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
	Also define __STDC_WANT_IEC_60559_EXT__, for C23 Annex F
	functions like totalorder.  This syncs from Autoconf master.

	stdnoreturn: deprecate
	C23 says <stdnoreturn.h> is obsolescent, so deprecate the
	stdnoreturn module.  I don't think it was being used anyway
	as it had too many problems.
	* modules/stdnoreturn: Mark as obsolete.

2022-12-23  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl: improve recent NFSv4 support
	This fixes a link failure with emacsclient on GNU/Linux.  This
	program wants file_has_acl but none of the other ACL primitives,
	so it doesn’t link acl-internal.o; this way it doesn’t need to
	link with -lacl.  While I was at it I reviewed the recent changes,
	fixed some unlikely overflow bugs, and adjusted to GNU style.
	* doc/acl-nfsv4.txt: Remove.  Its contents are now in a
	comment in lib/file-has-acl.c.
	* lib/acl-internal.c, lib/acl-internal.h: Move recent changes
	relating to acl_nfs4_nontrivial to lib/file-has-acl.c, so that
	there is no trouble linking programs that need only file_has_acl.
	* lib/file-has-acl.c (acl_nfs4_nontrivial): Move here from
	lib/acl-internal.c, so that we needn't link -lacl in
	programs that want only file_has_acl, such as emacsclient.
	Do not assume a char buffer is aligned for uint32_t.
	Check more carefully for buffer read overrun.
	Allow up to 6 ACEs, since other code does; but check
	that they’re distinct.  Avoid integer overflow.
	Use memcmp rather than strncmp to compare memory blocks.
	(file_has_acl): Preserve initial errno instead of setting to 0.
	Allocate a bit more room for trivial ACL buffer.
	Use EINVAL for botchedk NFSv4 ACLs (which shouldn’t happen).

2022-12-22  Paul Eggert  <eggert@cs.ucla.edu>

	posix_spawnp-tests: fix filename typo
	Problem reported for GNU m4 by Mitchell Dorrell in:
	https://lists.gnu.org/r/bug-m4/2022-12/msg00000.html
	* tests/test-posix_spawnp-script.c (DATA_FILENAME):
	Fix typo in file name that caused race with
	test-posix_spawn-script.c.

2022-12-22  Ondrej Valousek  <ondrej.valousek.xm@renesas.com>

	file-has-acl: Basic support for checking NFSv4 ACLs in Linux.
	* lib/acl-internal.h (acl_nfs4_nontrivial): New declaration.
	* lib/acl-internal.c (acl_nfs4_nontrivial): New function.
	* lib/file-has-acl.c: Include <arpa/inet.h>.
	(XATTR_NAME_NFSV4_ACL, TRIVIAL_NFS4_ACL_MAX_LENGTH): New macros.
	(file_has_acl): Test for NFSv4 ACLs.
	* doc/acl-nfsv4.txt: New file.

2022-12-21  Paul Eggert  <eggert@cs.ucla.edu>

	Port __has_c_attribute to strict C23
	* m4/gnulib-common.m4 (_GL_HAS_C_ATTRIBUTE): Remove, as C23 says
	behavior is undefined if __has_c_attribute appears anywhere other
	than at the top level of an #if or #ifdef.  All uses replaced by
	wordier invocations of __has_c_attribute.

	asctime, ctime: deprecate
	C23 deprecates asctime and ctime, so deprecate them in Gnulib too.
	* NEWS, doc/posix-functions/asctime.texi:
	* doc/posix-functions/ctime.texi: Mention this.
	* lib/time.in.h (ctime): Deprecate any ctime replacement.
	* modules/ctime: Now obsolete.

2022-12-17  Paul Eggert  <eggert@cs.ucla.edu>

	memset_explicit: port to older MS-Windows
	* lib/memset_explicit.c (memset_explicit):
	Remove special case for C==0 and MS-Windows.  The code isn’t
	needed for correctness and it’s more trouble than it’s worth as it
	prevents this module from being used with GNU Emacs, which wants
	to port to MS-Windows versions so old that they lack
	SecureZeroMemory.

2022-12-09  Bruno Haible  <bruno@clisp.org>

	Update users.txt.
	* users.txt: Add lbzip2.

2022-12-09  Paul Eggert  <eggert@cs.ucla.edu>

	fts: make debug version compilable again
	This fixes things in what I hope is a better way than the
	fd-only approach proposed by Kamil Dudka here:
	https://lists.gnu.org/archive/html/bug-gnulib/2018-03/msg00079.html
	https://lists.gnu.org/archive/html/bug-gnulib/2018-03/msg00080.html
	* lib/fts.c (GNULIB_FTS_DEBUG): Rename from FTS_DEBUG,
	to avoid collision with coreutils symbol.
	Do not include <stdint.h> (not needed, since we include <stdint.h>)
	or "getcwdat.h" (no longer exists).
	(fd_ring_check, fd_ring_print): Add forward decls.
	(struct devino): New type.
	(PRINT_DEVINO): New macro.
	(getdevino): New static function.
	(fd_ring_print): Do nothing if not debugging.
	(fd_ring_print, fd_ring_check): Use getdevino instead of getcwdat.
	The output isn’t as good, but at least it compiles and runs.

2022-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	verify: update __STDC_VERSION__ as per C23
	This shouldn’t affect anything; it’s merely a refactoring.
	* lib/verify.h (_GL_HAVE__STATIC_ASSERT1): Require
	__STDC_VERSION__ to be at least 202311, instead of at least
	202000.  The latter number was put in in 2019 because we didn’t
	yet know C23’s __STDC_VERSION__ value.

2022-12-06  Paul Eggert  <eggert@cs.ucla.edu>

	fts: fix race + mishandling of fstatat failure
	I hope this fixes a Luke Dashjr coreutils bug report about ext4
	ramdisks; see “9.1: du Aborted (corrupt filesystem)”
	<https://debbugs.gnu.org/59821>.
	* lib/fts.c (fts_build): Fix two bugs.  First, fts_stat was being
	called without checking its return value, causing a later abort.
	Second, there was a race between opening a directory and statting
	it, fixed by using fstat on the file descriptor rather than
	fstatat on the directory name.

	fts: omit goto break_without_closedir
	* lib/fts.c (fts_build): Refactor to omit goto.

	fts: clarify ISSET
	* lib/fts.c (ISSET): Refactor to clarify boolean usage.

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

	argp: Correct documentation.
	Reported by José E. Marchesi <jemarch@gnu.org>.
	* doc/glibc-functions/argp_*.texi: Mention the 'argp' module.

2022-12-02  Pádraig Brady  <P@draigBrady.com>

	doc: poll: document poll of special files not supported on macOS
	* doc/posix-functions/poll.texi: Reinstate (updated) macOS info,
	removed in recent cleanup re removal of support for Mac OS X <= 10.4.
	* m4/poll.m4: Update macOS to latest tested version.

2022-11-29  Pádraig Brady  <P@draigBrady.com>

	add new ronna and quetta SI prefixes
	As voted for in Nov 2022 by the BIPM:
	https://www.bipm.org/en/cgpm-2022/resolution-3

	* lib/human.c: Add Ronna (10^27), and Quetta (10^30) to the prefix list.
	* lib/xstrtol.c (__xstrtol): Likewise.

2022-11-29  Bruno Haible  <bruno@clisp.org>

	Update users.txt.
	* users.txt: Add 4ti2, ale, amanda, binfmt-support, cgminer, collectd,
	complexity, dc3dd, dico, enchant-2, fuse-overlayfs, gsequencer, idutils,
	libu2f-host, licenseutils, mmv, pacemaker, trader, ttfautohint.

2022-11-27  Paul Eggert  <eggert@cs.ucla.edu>

	explicit_bzero: implement via memset_explicit
	* lib/explicit_bzero.c (explicit_bzero):
	Simplify by just calling memset_explicit.
	* m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Remove.
	All uses removed.
	* modules/explicit_bzero (Depends-on): Add memset_explicit.

	explicit_bzero: memset_explicit is standard
	* doc/glibc-functions/explicit_bzero.texi:
	Say that memset_explicit is preferred in new code.

	read-file: use memset_explicit
	* lib/read-file.c (fread_file, read_file):
	Use memset_explicit instead of explicit_bzero.
	* modules/read-file (Depends-on): Depend on memset_explicit
	instead of on explicit_bzero.

	memset_explicit: new module
	* doc/posix-functions/memset_explicit.texi, lib/memset_explicit.c:
	* m4/memset_explicit.m4, modules/memset_explicit:
	* modules/memset_explicit-tests, tests/test-memset_explicit.c:
	New files.
	* lib/string.in.h (memset_explict): New decl.
	* m4/string_h.m4 (gl_STRING_H, gl_STRING_H_REQUIRE_DEFAULTS)
	(gl_STRING_H_DEFAULTS):
	* modules/string (string.h):
	Support memset_explicit.

	explicit_bzero: add poison
	* m4/string_h.m4 (gl_STRING_H): Poison explicit_bzero.
	This was inadvertently omitted when explicit_bzero was added.

2022-11-27  Arsen Arsenović  <arsen@aarsen.me>

	bootstrap: Fix --help output.
	* build-aux/bootstrap (usage): Regenerate.

2022-11-27  Paul Eggert  <eggert@cs.ucla.edu>

	explicit_bzero: work with gcc -std=c99
	* lib/explicit_bzero.c (explicit_bzero) [__GNUC__ && !__clang__]:
	Use __asm__ instead of asm.

2022-11-26  Paul Eggert  <eggert@cs.ucla.edu>

	Prefer "kill -INT" to killing with a number
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
	* tests/test-login_tty.c (main):
	* tests/test-pthread_sigmask1.c (main):
	* tests/test-sigprocmask.c (main):
	Prefer "kill -INT" to "kill -N" where N is SIGINT’s value.
	Don’t assume pid_t fits in int.

2022-11-25  Bruno Haible  <bruno@clisp.org>

	In 'trap' commands, prefer symbolic to numeric signal names.
	Reported by Mike Fulton <fultonm@ca.ibm.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-11/msg00130.html>.
	* gnulib-tool: Use symbolic signal names.
	* posix-modules: Likewise.
	* MODULES.html.sh: Likewise.
	* build-aux/bootstrap (prepare_GNULIB_SRCDIR): Likewise.
	* build-aux/csharpcomp.sh.in: Likewise.
	* build-aux/gnu-web-doc-update: Likewise.
	* top/autogen.sh: Likewise.
	* top/bootstrap-funclib.sh: Likewise.
	* top/gitsub.sh: Likewise.
	* lib/t-idcache: Likewise.
	* tests/havelib/rpath-1: Likewise.
	* tests/havelib/rpath-2_a: Likewise.
	* tests/havelib/rpath-2_b: Likewise.
	* tests/havelib/rpath-3_a: Likewise.
	* tests/havelib/rpath-3_b: Likewise.
	* tests/init.sh: Likewise.
	* tests/test-binary-io.sh: Likewise.
	* tests/test-c-stack.sh: Likewise.
	* tests/test-c-stack2.sh: Likewise.
	* tests/test-dprintf-posix.sh: Likewise.
	* tests/test-fpending.sh: Likewise.
	* tests/test-fprintf-posix.sh: Likewise.
	* tests/test-lseek.sh: Likewise.
	* tests/test-printf-posix.sh: Likewise.
	* tests/test-select-in.sh: Likewise.
	* tests/test-select-out.sh: Likewise.
	* tests/test-sigpipe.sh: Likewise.
	* tests/test-tsearch.sh: Likewise.
	* tests/test-update-copyright.sh: Likewise.
	* tests/test-vdprintf-posix.sh: Likewise.
	* tests/test-vfprintf-posix.sh: Likewise.
	* tests/test-vprintf-posix.sh: Likewise.
	* tests/test-xprintf-posix.sh: Likewise.
	* tests/uniwidth/test-uc_width2.sh: Likewise.

2022-11-20  Bruno Haible  <bruno@clisp.org>

	posix_spawn-internal: Avoid warning on macOS.
	Suggested by Minsoo Choo in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-11/msg00114.html>.
	* lib/spawni.c: Ignore -Wdeprecated-declarations warnings.

2022-11-20  Bruno Haible  <bruno@clisp.org>

	posix_spawn tests: Fix compilation error (regression 2022-09-14).
	* modules/posix_spawn-tests (Makefile.am): Augment DEFS, to define
	EXEEXT.

2022-11-14  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime: improve doc formatting, timeliness
	* doc/parse-datetime.texi: Use @samp and @code in menus
	for consistenty with how the Coreutils manual will do
	this sort of thing.  Update examples to this year.

2022-11-13  Simon Josefsson  <simon@josefsson.org>

	vc-list-files-tests: Avoid OpenPGP private key operations.
	* tests/test-vc-list-files-git.sh (GIT_CONFIG_GLOBAL): Set it to
	/dev/null.

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

	dynarray: Rename to glibc-internal/dynarray.
	* modules/glibc-internal/dynarray: Renamed from modules/dynarray.
	* modules/glibc-internal/dynarray-tests: Renamed from
	modules/dynarray-tests.
	* modules/regex (Depends-on): Update.
	* NEWS: Mention this change and the previous one.

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

	scratch_buffer: Rename to glibc-internal/scratch_buffer.
	* modules/glibc-internal/scratch_buffer: Renamed from
	modules/scratch_buffer.
	* modules/glibc-internal/scratch_buffer-tests: Renamed from
	modules/scratch_buffer-tests.
	* modules/canonicalize (Depends-on): Update.
	* modules/canonicalize-lgpl (Depends-on): Likewise.
	* modules/glob (Depends-on): Likewise.

2022-11-02  Bruno Haible  <bruno@clisp.org>

	scratch_buffer: Document last change.
	* NEWS: Mention last change.

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

	scratch_buffer: adjust to glibc changes
	Problem reported by Karl Berry in:
	https://lists.gnu.org/r/bug-gnulib/2022-11/msg00004.html
	* build-aux/depcomp, doc/make-stds.texi, lib/malloc/scratch_buffer.h:
	Autoupdate.
	* build-aux/install-reloc (func_create_wrapper):
	Omit removed file scratch_buffer_dupfree.c.
	* config/srclist.txt: Remove lib/malloc/scratch_buffer_dupfree.c
	* lib/canonicalize-lgpl.c: Merge changes from glibc through its
	commit ef0700004bf0dccf493a5e8e21f71d9e7972ea9f dated 2022-07-05
	11:04:45 +0200.
	(__strdup) [!_LIBC]: New macro.
	(struct realpath_bufs): New type.
	(realpath_stk): Use it as the extra argument.  All uses changed.
	No longer any need for noinline or GCC_BOGUS_WRETURN_LOCAL_ADDR.
	* lib/canonicalize.c (struct realpath_bufs)
	(canonicalize_filename_mode_stk): Likewise.
	* lib/malloc/scratch_buffer_dupfree.c:
	Remove, since it was removed in glibc.
	* lib/scratch_buffer.h (scratch_buffer_dupfree) [0]:
	(__libc_scratch_buffer_dupfree): Remove decls.
	* modules/relocatable-prog-wrapper (Files):
	* modules/scratch_buffer (Files, lib_SOURCES):
	Remove lib/malloc/scratch_buffer_dupfree.c.

2022-11-01  Bruno Haible  <bruno@clisp.org>

	relocatable-script: Relax license.
	* modules/relocatable-script (License): Change to GPLv2+.
	* build-aux/relocatable.sh.in: Change copyright header to GPLv2+.

2022-10-31  Simon Josefsson  <simon@josefsson.org>

	maintainer-makefile: Fix Apple Xcode 'make syntax-check'.
	* top/maint.mk (sc_indent): Don't use non-GNU indent.

2022-10-30  Paul Eggert  <eggert@cs.ucla.edu>

	thread: pacify gcc -Wbad-function-cast
	* lib/glthread/thread.h (gl_thread_self_pointer): With POSIX
	threads, cast the call to gl_thread_t before casting to void *.

	test-getlogin: pacify gcc -Wshadow
	* tests/test-getlogin.h (test_getlogin_result): Rename local.

2022-10-25  Simon Josefsson  <simon@josefsson.org>

	gendocs: Output timestamp in English.
	* build-aux/gendocs.sh (SETLANG): Add LC_TIME= for "date".

2022-10-23  Bruno Haible  <bruno@clisp.org>

	assert-h: Make static_assert work on Solaris 11.4.
	* m4/assert_h.m4 (gl_ASSERT_H): After including <assert.h>, on Solaris,
	redefine static_assert.

2022-10-16  Bruno Haible  <bruno@clisp.org>

	getdelim: Work around buggy implementation on macOS 10.13.
	* doc/posix-functions/getdelim.texi: Mention the macOS bug.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Let the "checking for working
	getdelim function" test answer 'no' on macOS.

2022-10-15  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 15.0.0.

	* lib/gen-uni-tables.c (is_property_default_ignorable_code_point):
	Exclude 0x13439..0x1343F.
	(get_lbp): Update such that unilbrk/lbrkprop.txt comes out as expected.

	* All generated files under lib/uni* and tests/uni*: Regenerate.
	* tests/uniname/NameAliases.txt: Update.
	* tests/uniname/UnicodeData.txt: Update.
	* tests/uninorm/NormalizationTest.txt: Update.
	* tests/unigbrk/GraphemeBreakTest.txt: Update.
	* tests/uniwbrk/WordBreakTest.txt: Update.

	* tests/uniwidth/test-uc_width2.sh: Expect width 0 for the characters
	0x0ECE, 0x10EFD..0x10EFF, 0x11241, 0x11F00..0x11F01, 0x11F36..0x11F3A,
	0x11F40, 0x11F42, 0x13439..0x13440, 0x13447..0x13455, 0x1E08F,
	0x1E4EC..0x1E4EF.

	* All the affected modules: Bump required libunistring version.

2022-10-15  Bruno Haible  <bruno@clisp.org>

	gen-uni-tables: Temporarily revert last change.
	* lib/gen-uni-tables.c: Include <stdbool.h>, unless the C compiler
	advertises compliance to ISO C 23.

2022-10-12  Paul Eggert  <eggert@cs.ucla.edu>

	doc: improve intprops doc
	* doc/intprops.texi: Tighten up wording, by saying that macros
	"yield 1 if X, 0 otherwise" rather than the weaker "yield 1 if X".
	Say "yield" rather than "return" since the macros are not
	functions.  Say "1" and "0" rather than "true" and "false" since
	the macros yield int.  Say that stdckdint.h is the standard
	alternative to the _WRAPV macros.  Mention another source of
	problems with the _OVERFLOW macros.

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

	tests: prefer stdckdint to intprops
	* modules/chown-tests, modules/fchownat-tests:
	* modules/fdutimensat-tests, modules/futimens-tests:
	* modules/lchown-tests, modules/stat-time-tests:
	* modules/utime-tests, modules/utimens-tests:
	* modules/utimensat-tests:
	(Depends on): Depend on stdckint, not intprops.
	* tests/nap.h: Include stdckdint.h, not intprops.h.
	All macro uses changed.

	stat-time: prefer stdckdint to intprops
	* lib/stat-time.h: Include stdckdint.h instead of intprops.h.
	(stat_time_normalize): Use ckd_add instead of INT_ADD_WRAPV.
	* modules/stat-time (Depends-on): Depend on stdckdint, not intprops.

	xalloc: remove stray includes + dependencies
	These used to be needed, but are not needed now.
	* lib/xalloc.h: Do not include stdlib.h.
	[GNULIB_XALLOC]: Do not include "intprops.h".
	* lib/xmalloc.c: Include stdint.h here instead, for SIZE_MAX.
	* modules/xalloc-die, modules/xvasprintf (Depends-on): Remove stdint.

2022-09-30  Paul Eggert  <eggert@cs.ucla.edu>

	assert-h: suppress Apple clang 13 false alarms
	* m4/assert_h.m4 (gl_ASSERT_H): Suppress bogus warnings from Apple
	clang 13 (clang-1300.0.29.30).  Problem privately reported by
	Mattias Engdegård for GNU Emacs.

2022-09-26  Daiki Ueno  <ueno@gnu.org>

	largefile: fix detection of time_t size on mingw32
	* modules/largefile (configure.ac-early): Ensure gl_YEAR2038_EARLY
	is invoked before gl_YEAR2038_BODY.

2022-09-25  Paul Eggert  <eggert@cs.ucla.edu>

	fts: fix errno handling if dirfd fails
	* lib/fts.c (fts_build): Use proper errno if dirfd failed.
	Although I don’t know of any platform where dirfd can fail here,
	we might as well get it right.

2022-09-25  Bruno Haible  <bruno@clisp.org>

	stdbool: Mostly revert last patch.
	* m4/c-bool.m4 (gl_C_BOOL): If stdbool.h does not exist, just err out.
	* modules/stdbool (Files): Remove m4/stdbool.m4.

2022-09-24  Bruno Haible  <bruno@clisp.org>

	stdbool: Don't #include a gnulib-generated stdbool.h from config.h.
	* m4/c-bool.m4 (gl_C_BOOL): Check for stdbool.h and for _Bool. If
	stdbool.h does not exist, don't #include <stdbool.h> but instead put the
	substitute code into config.h.
	* modules/stdbool (Files): Add m4/stdbool.m4.

2022-09-24  Bruno Haible  <bruno@clisp.org>

	stdalign: Don't #include a gnulib-generated stdalign.h from config.h.
	* m4/stdalign.m4 (gl_STDALIGN_H): Check for stdalign.h. If it does not
	exist, don't #include <stdalign.h> but instead put the substitute code
	into config.h.

2022-09-24  Bruno Haible  <bruno@clisp.org>

	stdalign: Fix compilation error with MSVC in C++ mode.
	* lib/stdalign.in.h: Treat MSVC in C++ mode like C++11 compliant
	compilers.
	* tests/test-stdalign-c++.cc: Include some other header files.

	stdalign: Avoid namespace pollution.
	* lib/stdalign.in.h (_GL_STDALIGN_NEEDS_STDDEF): New macro.
	Include <stddef.h> only when needed.

2022-09-23  Simon Josefsson  <simon@josefsson.org>

	warnings, manywarnings: Doc fixes.
	* doc/manywarnings.texi (manywarnings): Improve usage instruction.
	Start list of comments on particular warning flags, based on
	comment from Paul Eggert <eggert@cs.ucla.edu>.
	* doc/warnings.texi (warnings): Mention that it is often used with manywarnings.

2022-09-21  Paul Eggert  <eggert@cs.ucla.edu>

	assert-h: suppress clang false alarms
	Suppress scads of annoying warnings from clang version 14.0.5
	(Fedora 14.0.5-1.fc36) of the form "warning: '_Static_assert' with
	no message is a C2x extension [-Wc2x-extensions]",
	by refusing to use single-arg static_assert with older clang.
	* m4/assert_h.m4 (gl_ASSERT_H): Turn -Wc2x-extensions from a
	warning into an error when testing static_assert, so that the
	annoying diagnostic causes the test to fail, which causes assert.h
	to be replaced in a way that suppresses the diagnostic during
	the real build.

2022-09-20  Bruno Haible  <bruno@clisp.org>

	Add another helper script for creating testdirs.
	* all-modules: New file, based on posix-modules.

2022-09-20  Bruno Haible  <bruno@clisp.org>

	snippet/warn-on-use: Don't cause wrong AC_CHECK_DECL results with clang.
	* m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Use the clang command-line
	option that disables implicit built-in function declarations in clang.

2022-09-19  Bruno Haible  <bruno@clisp.org>

	stdbool, stdbool-c99 tests: Fix compilation error with clang/MSVC.
	* tests/test-stdbool.c (WORKING_BOOL): Define to 0 on compilers that
	define _MSC_VER.

2022-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	stdbool: omit ‘#undef true’
	This is mostly just simplification.
	* m4/c-bool.m4 (gl_C_BOOL): Test all preprocessors when
	!HAVE_C_BOOL, not merely __SUNPRO_CC.  Use the slightly
	more-elegant ‘!true’ instead of ‘true == 1’; this shouldn’t matter
	in practice and if it does matter we want to know about it anyway.
	Remove an unnecessary ‘#undef true’ that is simply commented out
	by ‘configure’; again, if true is already #defined to be 0 the
	system is so messed up we want to know about it anyway.

2022-09-18  Bruno Haible  <bruno@clisp.org>

	stdbool: Ensure that 'true' can be used in the preprocessor.
	* m4/c-bool.m4 (gl_C_BOOL): With Sun C++, redefine 'true' if it does not
	evaluate to 1 in the preprocessor.

	stdbool-c99: Ensure that 'true' can be used in the preprocessor.
	* lib/stdbool.in.h (true): Redefine if it does not evaluate to 1 in the
	preprocessor.

2022-09-18  Bruno Haible  <bruno@clisp.org>

	uni{case,ctype,gbrk,str}/base: Fix installed .h file (regr. 2022-09-10).
	* lib/unicase.in.h: Do include <stdbool.h>.
	* lib/unictype.in.h: Likewise.
	* lib/unigbrk.in.h: Likewise.
	* lib/unistr.in.h: Likewise.

2022-09-18  Bruno Haible  <bruno@clisp.org>

	signal: Fix a C++ compilation error due to sched_yield on OpenBSD 6.0.
	* lib/signal.in.h: On OpenBSD, include <sys/param.h>. Don't include
	<pthread.h> on OpenBSD ≥ 5.1.

2022-09-17  Paul Eggert  <eggert@cs.ucla.edu>

	explicit_bzero-tests: robustify a bit
	This is mostly to suppress GCC warnings, though I suppose it
	might also improve the test.
	* tests/test-explicit_bzero.c: Do not ignore -Wmaybe-uninitialized,
	as this warning should no longer be generated given the other changes.
	(test_heap): ASSERT that malloc succeeds, to suppress any GCC
	warning about relying on malloc succeeding.  Declare addr to be
	volatile, so that GCC does not deduce that it is heapbuf in
	disguise and diagnose using it after freeing it.
	(do_secret_stuff): Declare more things to be volatile, to avoid
	optimizations that might disturb the stack and/or mess up the test
	in other ways.  Pass last_stackbuf address as a parameter rather
	than having last_stackbuf be static, to avoid GCC warning about
	assigning address of a local to a static; all callers changed.

2022-09-17  Bruno Haible  <bruno@clisp.org>

	wchar: Fix compilation errors in C++ mode on Solaris 11.3.
	* lib/wchar.in.h (wcsnlen, wcpcpy, wcpncpy, wcscasecmp, wcsncasecmp,
	wcsdup): Force declaration in C++ mode on Solaris (which does not
	declare these functions in the global namespace).

2022-09-17  Bruno Haible  <bruno@clisp.org>

	swab: Fix compilation error with Sun C++ on Solaris 11.3.
	* lib/unistd.in.h (swab): For the C++ declaration, under Solaris 11 but
	not under Solaris 10, test also __XOPEN_OR_POSIX.

2022-09-17  Bruno Haible  <bruno@clisp.org>

	time C++ tests: Fix link error on CentOS 5.
	* modules/time-c++-tests (Makefile.am): Link test-time-c++ against
	$(LIB_CLOCK_GETTIME).

2022-09-14  Bruno Haible  <bruno@clisp.org>

	time: Fix compilation errors with clang/MSVC.
	* m4/time_h.m4 (gl_TIME_H): Test whether asctime_r and ctime_r are
	declared.
	* lib/time.in.h (asctime_r, ctime_r): Skip _GL_WARN_ON_USE invocations
	when these functions are not declared.

2022-09-14  Bruno Haible  <bruno@clisp.org>

	verify: Avoid syntax error due to static_assert with clang in C++ mode.
	* lib/verify.h (static_assert): Don't define in clang C++ 6 or newer.
	* m4/assert_h.m4 (gl_ASSERT_H): If we don't need to define static_assert
	with clang in C++ mode, don't include <assert.h>.

2022-09-14  Paul Eggert  <eggert@cs.ucla.edu>

	assert-h: work around include confusion
	* m4/assert_h.m4 (gl_ASSERT_H): Arrange for <config.h> to not
	include <assert.h> if assert is already defined.  This works
	around bugs in packages that mistakenly include <config.h> after
	including <assert.h> (typically due to double-inclusion of
	<config.h>).  Found in coreutils, which I plan to fix.

	stdbool: depend on C99
	Record that stdbool depends on C99 these days.
	This matters only for ancient compilers that need special
	flags to support C99 features.
	* modules/stdbool (Depends-on): Add c99.

2022-09-14  Bruno Haible  <bruno@clisp.org>

	verify: Avoid syntax error due to static_assert with MSVC 14 in C++.
	* lib/verify.h (static_assert): For MSVC in C++ mode, use a definition
	that supports both the two-arguments and the one-argument syntax.

2022-09-14  Bruno Haible  <bruno@clisp.org>

	posix_spawn-* tests: Fix test failure on mingw when libtool is in use.
	* tests/test-posix_spawn-inherit0.c (CHILD_PROGRAM_FILENAME): Add the
	EXEEXT suffix.
	* tests/test-posix_spawn-inherit1.c (CHILD_PROGRAM_FILENAME): Likewise.
	* tests/test-posix_spawn-open1.c (CHILD_PROGRAM_FILENAME): Likewise.
	* tests/test-posix_spawn-open2.c (CHILD_PROGRAM_FILENAME): Likewise.

2022-09-14  Bruno Haible  <bruno@clisp.org>

	verify: Avoid syntax error due to static_assert with MSVC 14.
	* lib/verify.h (_Static_assert): Pass only the first argument to
	_GL_VERIFY.

2022-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	verify: treat GNU C++ 6 like recent C++
	* m4/assert_h.m4 (gl_ASSERT_H):
	If we check __cpp_static_assert < 201411, also check __GNUG__ < 6,
	for consistency with the previous change.

2022-09-13  Bruno Haible  <bruno@clisp.org>

	verify: Avoid syntax error due to static_assert with GNU C++ 6.x.
	* lib/verify.h (static_assert): Don't define in GNU C++ 6 or newer.

2022-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign: prefer to not include <stdalign.h>
	* lib/alignalloc.c, lib/argp-parse.c, lib/fts.c, lib/md4.c, lib/md5.c:
	* lib/rawmemchr.c, lib/sha1.c, lib/sha256.c, lib/sha512.c, lib/sm3.c:
	* lib/sys_socket.in.h:
	In C23, <stdalign.h> is a no-op, so don’t include it.

	stdalign: alignas and alignof are C23 keywords
	* m4/stdalign.m4 (gl_STDALIGN_H): Check also whether
	alignas and alignof are keywords and so don’t need stdalign.h,
	and define HAVE_C_ALIGNASOF if so.
	If not, arrange for config.h to #define alignas and alignof
	by including <stdalign.h>.
	* modules/stdalign: No need to include <stdalign.h>.
	* tests/test-stdalign.c: Do not include stdalign.h.

	assert-h: prefer to ‘verify’
	Where it’s easy, prefer ‘static_assert’ to ‘verify’,
	as this simplifies the source by removing the need to
	include verify.h.  Keep using ‘verify’ if verify.h
	is used for other reasons, or if code is shared with glibc.
	* lib/alignalloc.c, lib/argmatch.h, lib/c32is-impl.h:
	* lib/c32snrtombs.c, lib/c32srtombs.c, lib/exclude.c:
	* lib/filevercmp.c, lib/fma.c, lib/i-ring.h, lib/ino-map.c:
	* lib/localeinfo.c, lib/malloca.c, lib/mbrtoc32.c, lib/mbrtowc.c:
	* lib/mbsinit.c, lib/mbsnrtoc32s.c, lib/mbsrtoc32s.c:
	* lib/nanosleep.c, lib/parse-datetime.y, lib/pipe2.c:
	* lib/rawmemchr.c, lib/relocwrapper.c, lib/sleep.c:
	* lib/stat-w32.c, lib/strerror.c, lib/strtoimax.c:
	* lib/utimecmp.c, lib/vasnprintf.c, tests/test-alignof.c:
	* tests/test-intprops.c, tests/test-libgmp.c:
	* tests/test-limits-h.c, tests/test-locale.c:
	* tests/test-pthread.c, tests/test-round2.c:
	* tests/test-stdalign.c, tests/test-stddef.c, tests/test-stdio.c:
	* tests/test-stdlib.c, tests/test-string.c, tests/test-sys_stat.c:
	* tests/test-time.c, tests/test-uchar.c, tests/test-unistd.c:
	* tests/test-wchar.c:
	Prefer static_assert to verify, and stop including verify.h.
	* lib/stat.c: Don’t include verify.h (this include was unnecessary).
	* modules/alignalloc, modules/alignof-tests, modules/argmatch:
	* modules/c-vasnprintf, modules/c32isalnum, modules/c32isalpha:
	* modules/c32isblank, modules/c32iscntrl, modules/c32isdigit:
	* modules/c32isgraph, modules/c32islower, modules/c32isprint:
	* modules/c32ispunct, modules/c32isspace, modules/c32isupper:
	* modules/c32isxdigit, modules/c32snrtombs, modules/c32srtombs:
	* modules/exclude, modules/filevercmp, modules/fma, modules/fmaf:
	* modules/fmal, modules/fstat, modules/i-ring, modules/ino-map:
	* modules/intprops-tests, modules/libgmp-tests:
	* modules/limits-h-tests, modules/locale-tests, modules/malloca:
	* modules/mbrtoc32, modules/mbrtowc, modules/mbsinit:
	* modules/mbsnrtoc32s, modules/mbsrtoc32s, modules/nanosleep:
	* modules/parse-datetime, modules/pipe2, modules/pthread-h-tests:
	* modules/rawmemchr, modules/relocatable-prog-wrapper:
	* modules/round-tests, modules/roundf-tests, modules/sleep:
	* modules/stat, modules/stdalign-tests, modules/stdckdint-tests:
	* modules/stddef-tests, modules/stdio-tests, modules/stdlib-tests:
	* modules/strerror, modules/string-tests, modules/strtoimax:
	* modules/strtoumax, modules/sys_stat-tests, modules/time-tests:
	* modules/uchar-tests, modules/unistd-tests:
	* modules/unistdio/u16-u16-vasnprintf:
	* modules/unistdio/u16-vasnprintf:
	* modules/unistdio/u32-u32-vasnprintf:
	* modules/unistdio/u32-vasnprintf:
	* modules/unistdio/u8-u8-vasnprintf:
	* modules/unistdio/u8-vasnprintf, modules/unistdio/ulc-vasnprintf:
	* modules/utimecmp, modules/vasnprintf, modules/wchar-tests:
	Depend on assert-h, not verify.

	assert-h: static_assert is a keyword in C23
	* m4/assert_h.m4 (gl_ASSERT_H): Also test for static_assert
	keyword a la C23, and define HAVE_C_STATIC_ASSERT if so.
	If not, arrange for config.h to #define static_assert
	by including <assert.h>, and then do "#undef assert"
	so that the assert macro still needs an explicit include.
	This should be safe even on very old hosts, as assert.h
	has been re-includable for decades.
	* tests/tests-assert.c: New test.
	* modules/assert-h-tests (Files, Makefile.am): Add it.

2022-09-13  Bruno Haible  <bruno@clisp.org>

	Prefer talking about alignas than _Alignas.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Don't mention _Alignas in a
	comment.
	* m4/stdalign.m4 (gl_STDALIGN_H): Likewise.

2022-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign-tests: port to C23
	* tests/test-stdalign.c: Do not test __alignas_is_defined,
	_Alignof, or _Alignas as they are obsolescent.
	Do not use __alignas_is_defined in C23 or later (or C++11 or later),
	as it’s removed in C23.

2022-09-12  Bruno Haible  <bruno@clisp.org>

	supersede: Avoid a failure when writing to /dev/null in Solaris zones.
	* lib/supersede.c (open_supersede): Treat EACCES (seen on Solaris 11.3)
	like EINVAL (seen on Illumos).

2022-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	maint: avoid unportable ERE \}
	* top/maint.mk (sc_copyright_check):
	Avoid unportable use of \} in ERE.

	verify: improve maint check
	* top/maint.mk (sc_prohibit_verify_without_use):
	Adjust re to match verify.h.

	verify: port better to C23
	* lib/verify.h (_GL_VERIFY, static_assert):
	If C23, use static_assert keyword; no macro.
	This should simplify diagnostics and debugging.

2022-09-10  Bruno Haible  <bruno@clisp.org>

	pipe-filter-gi: Fix test failure on native Windows.
	* lib/pipe-filter-aux.h (write): Redefine on native Windows.

2022-09-10  Bruno Haible  <bruno@clisp.org>

	stdbool C++ tests: Fix compilation error with MSVC14 (regr. from today).
	* tests/test-stdbool-c++.cc (s): Choose field names that are not type
	names.

	Reorganize C++ tests for stdbool and stdbool-c99.
	* tests/test-stdbool-c++.cc: Don't include <stdbool.h> if TEST_STDBOOL_H
	is not defined. Add a couple of simple tests, from test-stdbool.c.
	* tests/test-stdbool-c99-c++.cc: New file.
	* modules/stdbool-c99-c++-tests: New file, based on
	modules/stdbool-c++-tests.
	* modules/stdbool-c99-tests (Depends-on): Add stdbool-c99-c++-tests.
	Remove stdbool-c++-tests.
	* modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.

2022-09-10  Bruno Haible  <bruno@clisp.org>

	stdbool C++ tests: Fix for C++20.
	* tests/test-stdbool-c++2.cc: Don't include <cstdbool> in C++20 or
	newer.

2022-09-10  Bruno Haible  <bruno@clisp.org>

	uchar: Work around error in C++ mode on AIX 7.2 with xlclang.
	* lib/uchar.in.h (char16_t, char32_t): On AIX with xlclang++, define
	these as macros.
	* doc/posix-headers/uchar.texi: Document the AIX + xlclang++ bug.

2022-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	Rely on new stdbool behavior
	Prefer the C23 style to the C99 style,
	since the stdbool module now supports C23.
	* lib/acl-internal.h, lib/acl.h, lib/argmatch.c, lib/argmatch.h:
	* lib/argp-help.c, lib/argv-iter.h, lib/asyncsafe-spin.c:
	* lib/backup-internal.h, lib/backupfile.c, lib/base32.h:
	* lib/base64.h, lib/basename-lgpl.c, lib/bitset/base.h:
	* lib/c-ctype.h, lib/c-strcasestr.c, lib/canonicalize-lgpl.c:
	* lib/canonicalize.c, lib/chdir-long.c, lib/chown.c:
	* lib/classpath.h, lib/clean-temp-private.h:
	* lib/clean-temp-simple.c, lib/clean-temp-simple.h:
	* lib/clean-temp.c, lib/clean-temp.h, lib/cloexec.h:
	* lib/close-stream.c, lib/closein.c, lib/closeout.c, lib/closeout.h:
	* lib/csharpcomp.h, lib/csharpexec.h, lib/cycle-check.c:
	* lib/cycle-check.h, lib/des.h, lib/dfa.h, lib/diffseq.h:
	* lib/dirname.h, lib/exclude.c, lib/exclude.h, lib/execute.c:
	* lib/execute.h, lib/execvpe.c, lib/fatal-signal.c, lib/fchdir.c:
	* lib/file-set.h, lib/filevercmp.c, lib/findprog-in.c:
	* lib/findprog.c, lib/findprog.h, lib/fma.c, lib/fnmatch.c:
	* lib/fopen.c, lib/freadable.h, lib/freading.h, lib/freopen-safer.c:
	* lib/fstrcmp.c, lib/fsusage.h, lib/fts.c, lib/fwritable.h:
	* lib/fwriteerror.c, lib/fwriting.h, lib/gen-uni-tables.c:
	* lib/getaddrinfo.c, lib/getcwd.c, lib/getloadavg.c:
	* lib/getndelim2.c, lib/getpass.c, lib/getrandom.c:
	* lib/git-merge-changelog.c, lib/gl_list.h, lib/gl_map.h:
	* lib/gl_omap.h, lib/gl_oset.h, lib/gl_set.h, lib/glob.c:
	* lib/glthread/cond.h, lib/hamt.h, lib/hard-locale.h:
	* lib/hash-triple.h, lib/hash.h, lib/human.h, lib/i-ring.h:
	* lib/isapipe.c, lib/javacomp.h, lib/javaexec.h, lib/javaversion.c:
	* lib/lchown.c, lib/localeinfo.h, lib/localename.c:
	* lib/long-options.h, lib/malloc/dynarray.h, lib/mbchar.h:
	* lib/mbfile.h, lib/mbiter.h, lib/mbmemcasecoll.h, lib/mbscasestr.c:
	* lib/mbsstr.c, lib/mbuiter.h, lib/mkdir-p.h, lib/modechange.h:
	* lib/mountlist.h, lib/nanosleep.c, lib/nonblocking.h:
	* lib/nstrftime.c, lib/openat.c, lib/openat.h, lib/os2-spawn.c:
	* lib/parse-datetime.h, lib/pipe-filter-aux.c, lib/pipe-filter-gi.c:
	* lib/pipe-filter-ii.c, lib/pipe-filter.h, lib/posixtm.h:
	* lib/priv-set.c, lib/progreloc.c, lib/propername.c:
	* lib/pthread-spin.c, lib/quotearg.c, lib/readtokens.c:
	* lib/readtokens0.h, lib/readutmp.c, lib/regex-quote.h:
	* lib/regex_internal.h, lib/relocwrapper.c, lib/rename.c:
	* lib/renameatu.c, lib/rpmatch.c, lib/same.c, lib/same.h:
	* lib/save-cwd.c, lib/savewd.c, lib/savewd.h, lib/spawn-pipe.h:
	* lib/spawni.c, lib/stack.h, lib/stat.c, lib/stdckdint.in.h:
	* lib/strcasestr.c, lib/strfmon_l.c, lib/striconveh.c:
	* lib/striconveha.h, lib/string-buffer.h, lib/strptime.c:
	* lib/strstr.c, lib/strtod.c, lib/supersede.h, lib/system-quote.c:
	* lib/tempname.c, lib/term-style-control.c:
	* lib/term-style-control.h, lib/textstyle.in.h, lib/time_rz.c:
	* lib/tmpdir.c, lib/tmpdir.h, lib/tmpfile.c, lib/unicase.in.h:
	* lib/unicase/caseprop.h, lib/unicase/invariant.h:
	* lib/unicase/u16-casemap.c, lib/unicase/u16-ct-totitle.c:
	* lib/unicase/u16-is-invariant.c, lib/unicase/u32-casemap.c:
	* lib/unicase/u32-ct-totitle.c, lib/unicase/u32-is-invariant.c:
	* lib/unicase/u8-casemap.c, lib/unicase/u8-ct-totitle.c:
	* lib/unicase/u8-is-invariant.c, lib/unictype.in.h:
	* lib/unigbrk.in.h, lib/unigbrk/u16-grapheme-breaks.c:
	* lib/unigbrk/u32-grapheme-breaks.c:
	* lib/unigbrk/u8-grapheme-breaks.c:
	* lib/unigbrk/uc-grapheme-breaks.c, lib/uniname/uniname.c:
	* lib/unistr.in.h, lib/unlinkdir.h, lib/userspec.h, lib/utime.c:
	* lib/utimecmp.c, lib/utimens.c, lib/wait-process.h:
	* lib/windows-cond.c, lib/windows-spawn.c, lib/windows-spawn.h:
	* lib/windows-timedrwlock.c, lib/write-any-file.h, lib/xbinary-io.c:
	* lib/xstrtod.h, lib/yesno.h:
	* tests/nap.h, tests/qemu.h, tests/test-areadlink-with-size.c:
	* tests/test-areadlink.c, tests/test-areadlinkat-with-size.c:
	* tests/test-areadlinkat.c, tests/test-base32.c:
	* tests/test-base64.c, tests/test-ceil2.c, tests/test-ceilf2.c:
	* tests/test-chown.c, tests/test-dirname.c, tests/test-dup-safer.c:
	* tests/test-dup3.c, tests/test-exclude.c:
	* tests/test-execute-child.c, tests/test-execute-main.c:
	* tests/test-execute-script.c, tests/test-explicit_bzero.c:
	* tests/test-fchownat.c, tests/test-fcntl-safer.c:
	* tests/test-fcntl.c, tests/test-fdutimensat.c:
	* tests/test-filenamecat.c, tests/test-floor2.c:
	* tests/test-floorf2.c, tests/test-fstatat.c, tests/test-fstrcmp.c:
	* tests/test-futimens.c, tests/test-getlogin.h, tests/test-getopt.h:
	* tests/test-hard-locale.c, tests/test-hash.c:
	* tests/test-idpriv-drop.c, tests/test-idpriv-droptemp.c:
	* tests/test-immutable.c, tests/test-intprops.c:
	* tests/test-lchown.c, tests/test-link.c, tests/test-linkat.c:
	* tests/test-lstat.c, tests/test-mbmemcasecmp.c:
	* tests/test-mbmemcasecoll.c, tests/test-mkdir.c:
	* tests/test-mkdirat.c, tests/test-mkfifo.c, tests/test-mkfifoat.c:
	* tests/test-mknod.c, tests/test-nonblocking-pipe-child.c:
	* tests/test-nonblocking-pipe-main.c:
	* tests/test-nonblocking-socket-child.c:
	* tests/test-nonblocking-socket-main.c, tests/test-open.c:
	* tests/test-openat.c, tests/test-pipe.c, tests/test-pipe2.c:
	* tests/test-poll.c, tests/test-posix_spawn-chdir.c:
	* tests/test-posix_spawn-dup2-stdin.c:
	* tests/test-posix_spawn-dup2-stdout.c:
	* tests/test-posix_spawn-fchdir.c, tests/test-posix_spawn-open1.c:
	* tests/test-posix_spawn-open2.c, tests/test-quotearg-simple.c:
	* tests/test-quotearg.c, tests/test-readlink.c:
	* tests/test-readlinkat.c, tests/test-readtokens.c:
	* tests/test-rename.c, tests/test-renameat.c:
	* tests/test-renameatu.c, tests/test-rmdir.c, tests/test-round2.c:
	* tests/test-select.h, tests/test-spawn-pipe-child.c:
	* tests/test-spawn-pipe-main.c, tests/test-spawn-pipe-script.c:
	* tests/test-stack.c, tests/test-stat.c, tests/test-supersede.c:
	* tests/test-symlink.c, tests/test-symlinkat.c:
	* tests/test-system-quote-main.c:
	* tests/test-term-style-control-hello.c:
	* tests/test-term-style-control-yes.c, tests/test-timespec.c:
	* tests/test-trunc2.c, tests/test-truncf2.c, tests/test-unlink.c:
	* tests/test-unlinkat.c, tests/test-userspec.c, tests/test-utime.c:
	* tests/test-utimens.c, tests/test-utimensat.c:
	* tests/unictype/test-categ_byname.c:
	* tests/unigbrk/test-uc-is-grapheme-break.c:
	Don’t include stdbool.h.
	* modules/acl, modules/xgetcwd:
	Don’t depend on stdbool, as these modules don’t use bool.
	* modules/argp, modules/bitset, modules/diffseq, modules/file-has-acl:
	* modules/gen-uni-tables, modules/getrandom:
	* modules/hash-triple-simple, modules/posix_spawn-internal:
	* modules/strcasestr, modules/supersede, modules/system-quote:
	* modules/uniconv/base, modules/uniname/uniname, modules/utime:
	* modules/windows-timedrwlock:
	Depend on stdbool, as these modules use bool.

	stdbool: upgrade from C99 to C23
	Change the stdbool module so that it now emulates C23.
	The module now assumes C99.  The old module (which assumes
	C89 and emulates C99) is still available  as stdbool-c99,
	but is deprecated.
	* tests/test-stdbool.c [TEST_C_BOOL]: Do not include stdbool.h.
	* m4/c-bool.m4, modules/c-bool, modules/c-bool-tests:
	* tests/test-c-bool.c: New files.

2022-09-10  Bruno Haible  <bruno@clisp.org>

	string: Fix compilation error in C++ mode on AIX 7.2 with xlclang.
	* lib/string.in.h (mbslen): Enable the C++ alias warning only on glibc
	systems.

2022-09-10  Bruno Haible  <bruno@clisp.org>

	math: Fix compilation error in C++ mode on AIX 7.2 with xlclang.
	* lib/math.in.h (cbrtl, copysignl, exp2l, expm1l, fmal, ilogbl, log1pl,
	log2l, logbl, remainderl, rintl, roundl, truncl): Enable the C++ alias
	warning only on glibc systems.

2022-09-10  Bruno Haible  <bruno@clisp.org>

	doc: Mention the stable branches.
	* doc/gnulib-readme.texi (High Quality): Add subsection
	'Stable Branches'.
	(Writing reliable code): Extracted from 'High Quality'. Mention also
	-Wall and valgrind.

2022-09-09  Bruno Haible  <bruno@clisp.org>

	posix_spawn-internal: Optimize DuplicateHandle calls on native Windows.
	* lib/windows-spawn.h (DELAYED_DUP2_OLDFD, DELAYED_DUP2_NEWFD): New
	macros.
	(struct IHANDLE): Add a linked_fd field.
	* lib/spawni.c (SPAWN_INTERNAL_OPTIMIZE_DUPLICATEHANDLE): New macro.
	(do_delayed_dup2, do_remaining_delayed_dup2): New functions.
	(close_inheritable_handles): Don't close handles in DELAYED_DUP2_NEWFD
	entries.
	(do_close): Add a third parameter. Optimize delayed dup2 calls.
	(do_open): Use do_close.
	(do_dup2): Likewise. Prepare for optimizing the DuplicateHandle call.
	(__spawni): Do the remaining delayed dup2 invocations after the loop
	over the actions.

	posix_spawn-internal: Refactor.
	* lib/windows-spawn.h (struct IHANDLE): New type.
	(struct inheritable_handles): Combine handles and flags into a single
	array.
	* lib/windows-spawn.c (init_inheritable_handles, compose_handles_block,
	spawnpvech): Update.
	* lib/spawni.c (grow_inheritable_handles, shrink_inheritable_handles,
	do_open, do_dup2, do_close): Update.

	posix_spawn-internal: Optimize DuplicateHandle calls on native Windows.
	* lib/spawni.c (open_handle): Return an inheritable HANDLE.
	(do_open): Don't call DuplicateHandle. Remove curr_process parameter.
	(__spawni): Update.

	posix_spawn-internal: Optimize DuplicateHandle calls on native Windows.
	* lib/windows-spawn.h (KEEP_OPEN_IN_PARENT): New macro.
	* lib/windows-spawn.c (init_inheritable_handles): When a handle is
	already inheritable, don't bother duplicating it; instead, just mark it
	as KEEP_OPEN_IN_PARENT.
	* lib/spawni.c (shrink_inheritable_handles, close_inheritable_handles,
	do_open, do_dup2, do_close): Don't close handles that are marked as
	KEEP_OPEN_IN_PARENT.

2022-09-09  Bruno Haible  <bruno@clisp.org>

	posix_spawn-internal: Don't lose flags while duplicating an fd.
	* lib/spawni.c (do_dup2): Fix the flags of the new fd.

2022-09-09  Bruno Haible  <bruno@clisp.org>

	spawn-pipe: Fix pipe-filter-* test hangs (regression 2020-12-24).
	* lib/windows-spawn.h (struct inheritable_handles): Widen the per-fd
	flags from 8 bits to 16 bits.
	(KEEP_OPEN_IN_CHILD): New macro.
	(init_inheritable_handles): Change description of what it does when
	duplicate == true.
	* lib/windows-spawn.c (init_inheritable_handles): If duplicate == true,
	add all fds to the array, regardless whether they are scheduled to be
	preserved in the child process.
	(compose_handles_block): Update.
	(spawnpvech): Update.
	* lib/spawni.c (grow_inheritable_handles): Update.
	(shrink_inheritable_handles): Also close the handles not marked with
	KEEP_OPEN_IN_CHILD.
	(do_open, do_dup2): Mark the new fd with KEEP_OPEN_IN_CHILD.

2022-09-09  Bruno Haible  <bruno@clisp.org>

	spawn-pipe: Fix possible hangs in programs that spawn several children.
	* lib/spawn-pipe.c (create_pipe) [Unix]: Create the ifd[] and ofd[] file
	descriptors with the close-on-exec flag set.

2022-09-09  Bruno Haible  <bruno@clisp.org>

	pipe-filter-gi tests: Fix long-standing failure on native Windows.
	* tests/test-pipe-filter-gi2-main.c: Include binary-io.h.
	(main): Avoid NL to CRLF conversion on standard output.
	* tests/test-pipe-filter-gi2-child.c: Include <unistd.h>, binary-io.h.
	(main): Avoid NL to CRLF conversion on standard output.

2022-09-09  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addclose tests: Fix mistake from 2022-09-07.
	* modules/posix_spawn_file_actions_addclose-tests (Files): Add
	m4/musl.m4.

2022-09-08  Paul Eggert  <eggert@cs.ucla.edu>

	stdbool-tests: match stdbool
	* tests/test-stdbool.c: Omit test for
	__bool_true_false_are_defined since AC_CHECK_HEADER_STDBOOL no
	longer checks for this obsolescent macro.

	mktime: back in sync with GNUlib
	* config/srclist.txt: glibc has synced mktime from Gnulib.

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

	posix_spawn_file_actions_addclose tests: Avoid test failure on musl.
	Reported by Valery Ushakov <uwe@stderr.spb.ru> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-09/msg00041.html>.
	* modules/posix_spawn_file_actions_addclose-tests (configure.ac): Invoke
	gl_MUSL_LIBC.
	* tests/test-posix_spawn_file_actions_addclose.c (main): Skip one of the
	tests on musl libc.

2022-09-06  Simon Josefsson  <simon@josefsson.org>

	gnumakefile: Improve tarball reproducibility.
	* top/GNUmakefile (TAR_OPTIONS): Add --sort=name.  Suggested by
	Tzvetelin Katchov <katchov@gnu.org>.
	* DEPENDENCIES: Mention tar 1.28 dependency.

2022-09-05  Bruno Haible  <bruno@clisp.org>

	pthread-h: Fix compilation error on mingw with --enable-threads=windows.
	* lib/pthread.in.h: In C++ mode, if mingw's <pthread.h> has not been
	used, import many pthread_* symbols from the GNULIB_NAMESPACE into the
	global namespace.

2022-09-04  Bruno Haible  <bruno@clisp.org>

	Fix various test link errors on MSVC.
	* modules/crypto/gc-arcfour-tests (Makefile.am): Link test-gc-arcfour
	with $(LIB_GETRANDOM).
	* modules/crypto/gc-arctwo-tests (Makefile.am): Link test-gc-arctwo with
	$(LIB_GETRANDOM).
	* modules/crypto/gc-des-tests (Makefile.am): Link test-gc-des with
	$(LIB_GETRANDOM).
	* modules/crypto/gc-hmac-md5-tests (Makefile.am): Link test-gc-hmac-md5
	with $(LIB_GETRANDOM).
	* modules/crypto/gc-hmac-sha1-tests (Makefile.am): Link
	test-gc-hmac-sha1 with $(LIB_GETRANDOM).
	* modules/crypto/gc-hmac-sha256-tests (Makefile.am): Link
	test-gc-hmac-sha256 with $(LIB_GETRANDOM).
	* modules/crypto/gc-hmac-sha512-tests (Makefile.am): Link
	test-gc-hmac-sha512 with $(LIB_GETRANDOM).
	* modules/crypto/gc-md2-tests (Makefile.am): Link test-gc-md2 with
	$(LIB_GETRANDOM).
	* modules/crypto/gc-md4-tests (Makefile.am): Link test-gc-md4 with
	$(LIB_GETRANDOM).
	* modules/crypto/gc-md5-tests (Makefile.am): Link test-gc-md5 with
	$(LIB_GETRANDOM).
	* modules/crypto/gc-pbkdf2-tests (Makefile.am): Link test-gc-pbkdf2 with
	$(LIB_GETRANDOM).
	* modules/crypto/gc-pbkdf2-sha1-tests (Makefile.am): Link
	test-gc-pbkdf2-sha1 with $(LIB_GETRANDOM).
	* modules/crypto/gc-rijndael-tests (Makefile.am): Link test-gc-rijndael
	with $(LIB_GETRANDOM).
	* modules/crypto/gc-sha1-tests (Makefile.am): Link test-gc-sha1 with
	$(LIB_GETRANDOM).
	* modules/crypto/gc-sha256-tests (Makefile.am): Link test-gc-sha256 with
	$(LIB_GETRANDOM).
	* modules/crypto/gc-sha512-tests (Makefile.am): Link test-gc-sha512 with
	$(LIB_GETRANDOM).
	* modules/crypto/gc-sm3-tests (Makefile.am): Link test-gc-sm3 with
	$(LIB_GETRANDOM).
	* modules/sys_stat-c++-tests (Makefile.am): Link test-sys_stat-c++ with
	$(LIB_GETRANDOM).
	* modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ with
	$(LIB_GETRANDOM).

2022-09-04  Bruno Haible  <bruno@clisp.org>

	count-leading-zeros: Fix a link error on 32-bit MSVC and a test failure.
	* lib/count-leading-zeros.h: Correct syntax for #pragma intrinsic.
	(COUNT_LEADING_ZEROS): Fix the return value.
	(count_leading_zeros_ll): Use two _BitScanReverse invocations instead
	of a _BitScanReverse64 invocation.

2022-09-04  Bruno Haible  <bruno@clisp.org>

	count-trailing-zeros: Fix a link error on 32-bit MSVC.
	* lib/count-trailing-zeros.h: Correct syntax for #pragma intrinsic.
	(count_trailing_zeros_ll): Use two _BitScanForward invocations instead
	of a _BitScanForward64 invocation.

2022-09-04  Bruno Haible  <bruno@clisp.org>

	unictype/category-none tests: Fix a link error on MSVC.
	* tests/unictype/test-categ_none.c (main): Disable the test on MSVC.

2022-09-04  Bruno Haible  <bruno@clisp.org>

	oset-c++: Fix compilation error with MSVC 14.
	* lib/gl_oset.hh: With MSVC, avoid 'friend'.

2022-09-04  Bruno Haible  <bruno@clisp.org>

	glob tests: Fix link error on mingw.
	* modules/glob-tests (Makefile.am): Link test-glob with $(LIBINTL).

2022-09-04  Bruno Haible  <bruno@clisp.org>

	timespec_get: Fix compilation error with MSVC 14.
	* m4/gettime.m4 (gl_CHECK_FUNC_TIMESPEC_GET): New macro.
	(gl_GETTIME): Use it instead of AC_CHECK_FUNCS_ONCE.
	* m4/timespec_get.m4 (gl_FUNC_TIMESPEC_GET): Likewise.

2022-09-04  Bruno Haible  <bruno@clisp.org>

	stdbool: Fix compilation error in C++ mode with MSVC 14.
	* lib/stdbool.in.h (_Bool, bool, false, true): In C++ mode with MSVC 14,
	don't define these as macros.

2022-09-04  Bruno Haible  <bruno@clisp.org>

	fts: Fix compilation error with MSVC 14.
	* lib/fts.c (S_IFBLK): Add fallback definition.

2022-09-04  Bruno Haible  <bruno@clisp.org>

	lstat: Fix compilation error in C++ mode on mingw.
	* lib/sys_stat.h (lstat): Move declaration after the declaration of
	'stat'.

2022-09-04  Bruno Haible  <bruno@clisp.org>

	pselect: Fix compilation error in C++ mode on mingw.
	* lib/sys_select.in.h (pselect): Enable the C++ alias warning only on
	glibc systems.

2022-09-04  Bruno Haible  <bruno@clisp.org>

	nanosleep: Work around bug on newer 32-bit mingw.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Test for 32-bit mingw bug.
	* tests/test-nanosleep.c (main): Add another test.
	* doc/posix-functions/nanosleep.texi: Mention the mingw bug.

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

	fmal: Work around glibc 2.17 bug on x86_64.
	* m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Test against bug seen on glibc 2.17
	x86_64.
	* doc/posix-functions/fmal.texi: Update info.

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

	Fix a compilation error in C++ mode on Solaris 11.4.
	* lib/uchar.in.h (c32rtomb): Enable the C++ alias warning only on
	glibc ≥ 2.16 systems. Fix a GNULIB_POSIXCHECK mistake.
	(mbrtoc32): Enable the C++ alias warning only on glibc ≥ 2.16 systems.

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

	Fix compilation errors of C++ tests on Solaris 10 with Sun C++.
	* modules/string-c++-tests (Makefile.am): Link test-string-c++ with
	$(LIBUNISTRING).
	* modules/wchar-c++-tests (Makefile.am): Link test-wchar-c++ with
	$(LIBUNISTRING).

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

	Fix a compilation error in C++ mode on FreeBSD 13.1.
	* lib/signal.in.h: Don't include <pthread.h> on FreeBSD ≥ 8.0.
	* lib/sys_select.in.h: Don't include <sys/time.h> on FreeBSD.

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

	stdnoreturn: Document relation to C++.
	* doc/posix-headers/stdnoreturn.texi: Document FreeBSD problem.

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

	sysexits: Add C++ tests.
	* tests/test-sysexits-c++.cc: New file.
	* modules/sysexits-c++-tests: New file.
	* modules/sysexits-tests (Depends-on): Add sysexits-c++-tests.

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

	sys_utsname: Add C++ tests.
	* tests/test-sys_utsname-c++.cc: New file.
	* modules/sys_utsname-c++-tests: New file.
	* modules/sys_utsname-tests (Depends-on): Add sys_utsname-c++-tests.

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

	sys_uio: Add C++ tests.
	* tests/test-sys_uio-c++.cc: New file.
	* modules/sys_uio-c++-tests: New file.
	* modules/sys_uio-tests (Depends-on): Add sys_uio-c++-tests.

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

	sys_times: Add C++ tests.
	* tests/test-sys_times-c++.cc: New file.
	* modules/sys_times-c++-tests: New file.
	* modules/sys_times-tests (Depends-on): Add sys_times-c++-tests.

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

	sys_file: Add C++ tests.
	* tests/test-sys_file-c++.cc: New file.
	* modules/sys_file-c++-tests: New file.
	* modules/sys_file-tests (Depends-on): Add sys_file-c++-tests.

	sys_file: Document this module.
	* doc/glibc-headers/sys_file.texi: New file.
	* doc/gnulib.texi (Glibc Header File Substitutes): Include it.

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

	stdckdint: Add C++ tests.
	* tests/test-stdckdint-c++.cc: New file.
	* modules/stdckdint-c++-tests: New file.
	* modules/stdckdint-tests (Depends-on): Add stdckdint-c++-tests.

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

	stdalign: Add C++ tests.
	* tests/test-stdalign-c++.cc: New file.
	* modules/stdalign-c++-tests: New file.
	* modules/stdalign-tests (Depends-on): Add stdalign-c++-tests.

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

	sched: Add C++ tests.
	* tests/test-sched-c++.cc: New file.
	* modules/sched-c++-tests: New file.
	* modules/sched-tests (Depends-on): Add sched-c++-tests.

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

	netinet_in: Add C++ tests.
	* tests/test-netinet_in-c++.cc: New file.
	* modules/netinet_in-c++-tests: New file.
	* modules/netinet_in-tests (Depends-on): Add netinet_in-c++-tests.

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

	net_if: Add C++ tests.
	* tests/test-net_if-c++.cc: New file.
	* modules/net_if-c++-tests: New file.
	* modules/net_if-tests (Depends-on): Add net_if-c++-tests.
	* doc/posix-headers/net_if.texi: Fix documentation.

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

	termcap: Fix link error on AIX 7.
	* m4/termcap.m4 (gl_TERMCAP_BODY): Search also for libxcurses and for
	libcurses, like gl_TERMINFO_BODY does.
	* m4/terminfo.m4 (gl_TERMINFO_BODY): Update platform list in comment.

2022-09-02  Bruno Haible  <bruno@clisp.org>

	getrandom: Fix compilation error in C++ mode on FreeBSD 12.
	* lib/sys_random.in.h (getrandom): Enable the C++ alias warning only on
	glibc ≥ 2.25 systems.

2022-09-02  Bruno Haible  <bruno@clisp.org>

	math C++ tests: Fix compilation error with clang on FreeBSD 13.
	* lib/math.in.h (isnan): For clang >= 11 on FreeBSD, declare 'isnan',
	not 'rpl_isnan'.

2022-09-02  Bruno Haible  <bruno@clisp.org>

	strerror_r-posix: Fix for Hurd.
	* lib/strerror_r.c (strerror_r): Interpret return value of
	__xpg_strerror_r correctly. Remove assumption about how strerror_r
	behaves.

2022-09-02  Bruno Haible  <bruno@clisp.org>

	ptsname tests, ptsname_r tests: Fix test failures on Hurd.
	* tests/test-ptsname.c (main): On Hurd, test only the BSD ptys that
	actually exist on Hurd.
	* tests/test-ptsname_r.c (main): Likewise.

2022-09-02  Bruno Haible  <bruno@clisp.org>

	strtol, strtoul: Fix compilation error in C++ mode on Solaris 11.
	* lib/stdlib.in.h (strtol, strtoul): Enable the C++ alias warning only
	on glibc systems.

2022-09-02  Bruno Haible  <bruno@clisp.org>

	aligned_alloc: Fix compilation error in C++ mode on Solaris 11.
	* lib/stdlib.in.h (aligned_alloc): Enable the C++ alias warning only on
	glibc systems.

2022-09-02  Bruno Haible  <bruno@clisp.org>

	getdomainname: Fix compilation error in C++ mode on Solaris 11.
	* lib/unistd.in.h (getdomainname): Enable the C++ alias warning only on
	glibc systems.

2022-09-02  Bruno Haible  <bruno@clisp.org>

	terminfo: Don't disturb the termcap module.
	* m4/terminfo.m4 (gl_TERMINFO_BODY): Save and restore the variables
	determined by the gl_TERMCAP_BODY macro.

2022-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	fnmatch: fix stdckdint typo
	* lib/fnmatch_loop.c (NEW_PATTERN): Fix typo in previous patch.
	Problem and fix reported by Simon Josefsson in:
	https://lists.gnu.org/r/bug-gnulib/2022-08/msg00104.html

2022-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	tempname: simplify by omitting _LIBC code
	* lib/tempname.c [_LIBC]: Simplify.
	Suggested by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2022-08/msg00077.html
	I plan to propose a corresponding patch to glibc.

2022-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	tempname: don't lose entropy in seed
	* lib/tempname.c (random_bits): Don't lose entropy in S
	in the rare case where where the template has more than 10 Xs.
	From a suggestion by Bruno Haible in:
	https://bugs.gnu.org/57129#149

	tempname: fix multithreading, ASLR leak etc.
	Fix problems with tempname and multithreading, entropy loss,
	and missing clock data (this last on non-GNU platforms).
	See analysis by Bruno Haible in:
	https://bugs.gnu.org/57129#149
	While looking into this, I noticed that tempname can leak
	info derived from ASLR into publicly-visible file names,
	which is a no-no.  Fix that too.
	* lib/tempname.c: Don't include stdalign.h.
	(HAS_CLOCK_ENTROPY): Remove.
	(mix_random_values): New function.
	(random_bits): Use it.  Args are now new value address and
	old value, and this function now returns a success indicator.
	Omit old USE_GETRANDOM argument: always try getrandom now, as
	there is no good reason not to now that GRND_NONBLOCK is used.
	Caller changed.  Use CLOCK_REALTIME for for ersatz entropy,
	as CLOCK_MONOTONIC doesn't work on some platforms.
	Also, mix in ersatz entropy from tv_sec and from clock ().
	(try_tempname_len): Do not mix in ASLR-based entropy, as
	the result is published to the world and ASLR should be private.
	Do not try to use a static var as that has issues if multithreaded.
	Instead, simply generate new random bits.
	Worry about bias only with high-quality random bits.

	* modules/tempname (Depends-on): Do not depend on stdalign.

	tempname: merge 64-bit time_t fix from glibc
	This merges glibc commit 52a5fe70a2c77935afe807fb6e904e512ddd894e
	"Use 64 bit time_t stat internally".
	* lib/tempname.c (struct_stat64) [_LIBC]: Use struct __stat64_t64.
	(__lstat64_time64) [!_LIBC]: Rename from __lstat64.
	All uses changed.
	(direxists): Use __stat64_time64 instead of __stat64.

2022-08-16  Bruno Haible  <bruno@clisp.org>

	tempname: Add more tests.
	Based on scenario described by Eli Zaretskii in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-08/msg00043.html>.
	* tests/test-tempname.c (main): Add another test.
	* modules/tempname-tests (Status): Mark the test as unportable.

2022-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	tempname: generate better names for MinGW Emacs
	On MinGW, GNU Emacs disables clock_gettime, which reliably breaks
	some of gen_tempname’s optimistic callers.  Work around the
	problem by making the generated names less predictable.  We don’t
	need cryptographic randomness here, just enough unpredictability
	to keep Emacs happy most of the time.
	* lib/tempname.c (HAS_CLOCK_ENTROPY): New macro.
	(random_bits): Use it.
	(try_tempname_len): On systems lacking clock entropy, maintain
	state so that gen_filename generates less-predictable names on
	successive successful calls.

2022-08-16  Simon Josefsson  <simon@josefsson.org>

	maintainer-makefile: Check for incorrect DISTCHECK_CONFIGURE_FLAGS
	usage.
	* top/maint.mk (sc_makefile_DISTCHECK_CONFIGURE_FLAGS): Add.

2022-08-16  Bruno Haible  <bruno@clisp.org>

	tempname: Add tests.
	* tests/test-tempname.c: New file.
	* modules/tempname-tests: New file.

2022-08-16  Simon Josefsson  <simon@josefsson.org>

	pmccabe2html: Doc fix.
	* build-aux/pmccabe2html: Don't use reserved _SOURCES namespace.
	Use AM_V_GEN.  Use LC_ALL=C.

2022-08-15  Bruno Haible  <bruno@clisp.org>

	stdbool: Drop old BeOS support that gets in the way of ISO C 23 support.
	* lib/stdbool.in.h: Don't include <OS.h>.

2022-08-15  Bruno Haible  <bruno@clisp.org>

	tempname: Fix a comment.
	* lib/tempname.c (try_tempname_len): Use of entropy makes the function
	more, not less, secure.

2022-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	tempname: remove incorrect comment
	* lib/tempname.c, lib/tempname.h: Remove incorrect comment,
	as the names are not necessarily hard to predict (Bug#57129).

2022-08-14  Simon Josefsson  <simon@josefsson.org>

	bootstrap.conf: Use proper shell marker for Emacs.
	* build-aux/bootstrap.conf: Add it.

2022-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	stdbool: port to C23
	* m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Copy from bleeding-edge
	Autoconf.  Define only if Autoconf 2.71 and earlier.
	* tests/test-stdbool.c (bool, false, true)
	(__bool_true_false_are_defined): Do not require these to be
	defined.  C23 still requires __bool_true_false_are_defined but
	marks it as obsolescent, and it’s no longer worth testing.
	(WORKING_BOOL): New macro, which also tests __STDC_VERSION__.
	Use it in tests for working bool.
	Test for bool instead of for _Bool, which C23 says is obsolescent.

2022-08-13  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Fix some code generation details.
	* pygnulib/GLEmiter.py: Don't produce Windows CR-LFs on Windows.
	(GLEmiter.po_Makevars): Emit a definition of top_builddir, not
	top_subdir.
	(GLEmiter.po_POTFILES_in): Fix result when sourcebase is 'tests' or
	something like that.
	(GLEmiter.initmacro_start): Add two more newlines (mistake from
	2021-04-11).

	gnulib-tool.py: Reduce code duplication.
	* pygnulib/constants.py (relinverse): New function.
	* pygnulib/GLEmiter.py (GLEmiter.po_Makevars,
	GLEmiter.tests_Makefile_am): Use it.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.

2022-08-12  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	hamt: fix technically undefined behavior
	Bug reported by Bruno Haible in
	<https://lists.gnu.org/r/bug-gnulib/2022-04/msg00023.html>.
	* lib/hamt.c (entry_insert): Remove technically undefined
	behavior when shifting an integer of N bits by N or more bits.

2022-08-10  Paul Eggert  <eggert@cs.ucla.edu>

	stdckdint: fix dependency
	* modules/stdckdint (Depends-on): Add stdbool.
	Reported by Bruno Haible.

	maint: parenthesize macro definiens
	* lib/intprops.h (INT_ADD_OK, INT_SUBTRACT_OK, INT_MULTIPLY_OK):
	* lib/pipe-filter-ii.c (GetLastError):
	* lib/thread-optim.h (gl_multithreaded): Parenthesize
	function-like macro definiens beginning with a unary operator;
	needed for weird invocations like ‘m (...)[p]’.

2022-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	stdckdint: prefer to intprops when easy
	stdckdint.h is part of draft C23 and therefore is more likely
	to be familiar to programmers in the future, so prefer it to
	intprops.h in files that don’t need non-_WRAPV intprops.h macros.
	* lib/alignalloc.c, lib/backupfile.c, lib/fnmatch.c, lib/fnmatch_loop.c:
	* lib/group-member.c, lib/malloca.c, lib/posixtm.c, lib/reallocarray.c:
	* lib/xmalloc.c:
	For files that can use stdckdint.h just as easily as intprops.h,
	include the former instead of the latter, and use the former’s
	ckd_* macros instead of the latter’s *_WRAPV macros.
	* modules/alignalloc, modules/backup-rename, modules/backupfile:
	* modules/fnmatch, modules/group-member, modules/malloca:
	* modules/posixtm, modules/reallocarray:
	* modules/relocatable-prog-wrapper, modules/xalloc:
	Depend on stdckdint instead of intprops.

	stdckdint: new module
	This supports draft C23 <stdckdint.h>.
	* doc/posix-headers/stdckdint.texi:
	* lib/stdckdint.in.h, modules/stdckdint:
	* modules/stdckdint-tests, tests/test-stdckdint.c:
	New files.
	* MODULES.html.sh, doc/gnulib.texi: Update for new module.
	* lib/intprops-internal.h: Include <stdckdint.h> if C23 and
	its macros would help and our substitute has not already
	started to be included.
	(_GL_INT_ADD_WRAPV, _GL_INT_SUBTRACT_WRAPV)
	(_GL_INT_MULTIPLY_WRAPV): Use ckd_add, ckd_sub, ckd_mul
	if they are defined and would help.
	* lib/intprops-internal.h, lib/intprops.h: Improve comments.
	The C23 restrictions on stdckdint macros already mostly applied to
	intprops.h, so these are clarifications, not further restrictions.
	* tests/test-intprops.c: If TEST_STDCKDINT is defined,
	include <stdckdint.h> instead of "intprops.h", and test
	it instead.
	(VERIFY) [TEST_STDCKDINT]: Ignore the arg in this case.
	(main) [TEST_STDCKDINT]: Skip tests irrelevant to stdckdint.h.

	intprops: refactor intprops.h into two
	* lib/intprops.h: Include new file intprops-internal.h.
	(_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT, _GL_INT_MINIMUM)
	(_GL_INT_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, LLONG_MAX, LLONG_MIN)
	(_GL_HAVE___TYPEOF__, _GL_SIGNED_TYPE_OR_EXPR)
	(_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW)
	(_GL_HAS_BUILTIN_OVERFLOW_P, _GL__GENERIC_BOGUS)
	(_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH, _GL_INT_OP_CALC)
	(_GL_INT_OP_WRAPV_VIA_UNSIGNED, _GL_INT_ADD_RANGE_OVERFLOW)
	(_GL_INT_SUBTRACT_RANGE_OVERFLOW)
	(_GL_INT_MULTIPLY_RANGE_OVERFLOW):
	Move to intprops-internal.h.
	(TYPE_SIGNED, EXPR_SIGNED, TYPE_WIDTH, INT_NEGATE_RANGE_OVERFLOW)
	(INT_NEGATE_OVERFLOW, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
	(INT_MULTIPLY_WRAPV): Rename to _GL_ prefix, move to
	intprops-internal.h, and define here in terms of the _GL_ name.
	* lib/intprops-internal.h: New file, containing the above.
	* modules/intprops (Files): Add lib/intprops-internal.h.

	intprops: refactor _GL_HAS_BUILTIN_OVERFLOW_P
	* lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P)
	[_GL_HAS_BUILTIN_OVERFLOW_P]: Use __builtin_sub_overflow_p
	directly rather than indirectly via INT_SUBTRACT_OVERFLOW.
	This simplifies future changes, and doesn’t change the generated code.

	verify: port ‘assume’ to C23 non-GCC
	* lib/verify.h (assume): Use C23's unreachable if available
	and if GCC and/or MSC primitives are not available.

2022-08-09  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Finish implementing option --conditional-dependencies.
	* gnulib-tool.py (main) Accept options --conditional-dependencies,
	--no-conditional-dependencies.
	* pygnulib/GLModuleSystem.py (GLModuleTable.addConditional): Use
	str(module), not module, as key. Fix logic bug.
	(GLModuleTable.getCondition): Simplify.
	(GLModuleTable.transitive_closure): Show a warning when there are
	duplicate dependencies. Fix logic bug.
	(GLModuleTable.transitive_closure_separately): Simplify.
	(GLModuleTable.add_dummy): Ignore tests modules. Cope with multiple
	lib_SOURCES augmentation lines. Cope with comments at the end of a
	lib_SOURCES augmentation line. Add the dummy module at the end of the
	modules list.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Remove the code that forces
	the dummy module to the end of the list.
	* pygnulib/GLEmiter.py (GLEmiter.autoconfSnippets): Add code to
	terminate the shell functions. Add code for the dependencies from the
	unconditional to the conditional modules. Don't emit AM_CONDITIONAL for
	unconditional modules.

	gnulib-tool.py: Don't do license replacements in the autoconf snippets.
	* pygnulib/GLEmiter.py (GLEmiter.autoconfSnippet): Remove fileassistant
	argument. Don't invoke the 'aux' transformer here. Don't produce Windows
	CR-LFs on Windows.
	(GLEmiter.autoconfSnippets): Remove fileassistant argument.
	* pygnulib/GLImport.py (GLImport.gnulib_comp): Update all callers.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.

	gnulib-tool.py: Fix some code generation details.
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): When removing a
	lib_LDFLAGS line, remove also the newline. Fix regex that matches
	lib_SOMETHING. Add a newline after each '## begin gnulib module' line.
	Don't emit 'endif' lines without corresponding 'if'. When emitting a
	'+=' augmentation, make sure it does not get emitted a second time.
	Don't emit a blank line when there is no AM_CPPFLAGS augmentation.
	Update after getLink() changed. In the value of DEFAULT_TEXT_DOMAIN,
	backslash-escape the double-quotes. Don't produce Windows CR-LFs on
	Windows. Simplify.
	(GLEmiter.tests_Makefile_am): When removing a lib_LDFLAGS line, remove
	also the newline. Fix regex that matches lib_SOMETHING. Don't remove a
	blank line before EXTRA_DIST. Add a newline after each
	'## begin gnulib module' line. Set uses_subdirs also when there is a .c
	file in a subdir of tests/. When emitting a '+=' augmentation, make sure
	it does not get emitted a second time. Don't produce Windows CR-LFs on
	Windows. Simplify.
	* pygnulib/GLImport.py (GLImport.execute): Update after getLink()
	changed.

	gnulib-tool.py: Fixes for conditional dependencies.
	* pygnulib/GLModuleSystem.py (GLModule.shell_id_chars): New constant.
	(GLModule.getShellFunc): Don't use md5 just because of an '_' character.
	(GLModule.getShellVar): Likewise.
	(GLModule.getConditionalName): Include a newline in the md5 input.
	* pygnulib/constants.py (ALPHANUMERIC): Remove constant.

	gnulib-tool.py: Refactor.
	* pygnulib/GLModuleSystem.py (GLModule.getLicense): Separate the warning
	logic from the result logic.

2022-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	largefile, year2038: simplify if > Autoconf 2.71
	* m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE)
	(_AC_SYS_LARGEFILE_MACRO_VALUE):
	* m4/year2038.m4 (gl_YEAR2038_EARLY, gl_YEAR2038, gl_YEAR2038_BODY):
	Adjust to Autoconf versions after 2.71, which should contain the Gnulib
	patches in this area and so should not need to be overridden.

2022-08-07  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Finish implementing option --extract-test-module.
	* gnulib-tool.py (main): Accept option --extract-tests-module.

	gnulib-tool.py: Fix handling of nonexistent module names in --extract-*.
	* gnulib-tool.py (main): To test whether a module exists, just call
	GLModuleSystem.find and test its return value.

	gnulib-tool.py: Fix --extract-dependencies result.
	* pygnulib/GLModuleSystem.py (GLModule.getDependencies): Return a
	snippet, not a list. Implement dependency of ${module}-tests on
	${module}.
	(GLModule.getDependenciesWithoutConditions,
	GLModule.getDependenciesWithConditions): New methods.
	(GLModuleTable.transitive_closure): Call getDependenciesWithConditions.
	* pygnulib/GLEmiter.py (GLEmiter.autoconfSnippets): Call
	getDependenciesWithoutConditions.
	* gnulib-tool.py (main) [--extract-dependencies]: Update.

	gnulib-tool.py: Rename a method.
	* pygnulib/GLModuleSystem.py (GLModule.getAutoconfEarlySnippet): Renamed
	from GLModule.getAutoconfSnippet_Early.
	* pygnulib/GLImport.py: Update.
	* pygnulib/GLTestDir.py: Likewise.

	gnulib-tool.py: Fix section extraction from module descriptions.
	The code with   self.content.split(section)[-1]
	was broken because it recognizes an indented section label.
	Similar code with   ('\n' + self.content).split('\n' + section)[-1]
	would still be broken because it recognizes an indented section label
	in the first line of the file.
	The code with   section_label_regex
	was broken because sometimes it returns the second-to-last section with
	the given label, not the last one.
	Also, whitespace after the colon was not ignored.
	* pygnulib/GLModuleSystem.py (GLModule.__init__): Dissect the module
	description's contents immediately, once only, in a reliable way.
	(GLModule.getDescription, GLModule.getComment): Simplify.
	(GLModule.getStatus): Simplify. Return a string.
	(GLModule.getStatuses): New function. Return a list.
	(GLModule.getNotice, GLModule.getApplicability, GLModule.getFiles,
	GLModule.getDependencies, GLModules.getAutoconfSnippet_Early,
	GLModules.getAutoconfSnippet, GLModule.getAutomakeSnippet_Conditional,
	GLModule.getInclude, GLModule.getLink, GLModule.getLicense_Raw):
	Simplify.
	(GLModule.getLicense): Remove whitespace after calling getLicense_Raw.
	(GLModule.getMaintainer): Simplify.
	(GLModuleTable.transitive_closure): Call getStatuses() instead of
	getStatus().
	* pygnulib/GLEmiter.py: Likewise.
	* gnulib-tool.py (main): For --extract-description, --extract-comment,
	--extract-status, --extract-notice, --extract-autoconf-snippet,
	--extract-automake-snippet, --extract-include-directive,
	--extract-link-directive, --extract-maintainer, don't add an extra
	newline after the snippet.

	gnulib-tool.py: Improve field naming.
	* pygnulib/GLModuleSystem.py (GLModule): Rename field 'module' to
	'path'. Fix a typo in a TypeError message.

	gnulib-tool.py: Simplify.
	* pygnulib/GLModuleSystem.py (GLModule): Convert Windows newlines right
	after reading the module description, not in every accessor.

	gnulib-tool.py: Reduce code duplication.
	* pygnulib/GLModuleSystem.py (GLModule): Declare two regexes are class
	variables.

	gnulib-tool.py: Implement option --find.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.file_is_module): New
	method.
	(GLModuleSystem.list): Filter the listing in memory; don't use a 'sed'
	subprocess.
	* gnulib-tool.py (main): Handle mode 'find'.

	gnulib-tool: Fix option --find in combination with option --local-dir.
	* gnulib-tool (func_prefixed_modules_in_dir): New function.
	(find): Use it, and filter the directory names away after the 'grep'
	pass.

	gnulib-tool.py: Fix some regexes.
	* pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Use an equivalent
	regex as gnulib-tool.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.

	gnulib-tool.py: Fix some regex uses.
	* pygnulib/GLModuleSystem.py (GLModuleTable.transitive_closure): Match
	the regex against all lines of the snippet, not only the first line.
	* pygnulib/GLEmiter.py (GLEmiter.autoconfSnippet): Likewise.

	gnulib-tool.py: Make regex uses more straightforward.
	* pygnulib/constants.py: Don't use the "minimal matching" *? construct
	when it makes no difference (because we're matching a single line only
	and flag re.M is not specified).
	* pygnulib/GLModuleSystem.py: Likewise.

	gnulib-tool.py: Make regex uses more straightforward.
	* pygnulib/GLModuleSystem.py: Don't use flag re.S on regular expressions
	that are meant to match a single line only, and remove the use of the
	"minimal matching" *? construct whose only purpose was to neutralize the
	re.S flag.
	* pygnulib/GLEmiter.py: Likewise.
	* pygnulib/GLImport.py: Likewise.
	* pygnulib/GLTestDir.py: Likewise.

	gnulib-tool.py: Make regex uses more straightforward.
	* pygnulib/GLEmiter.py: Don't use flag re.S on regular expressions on
	regular expressions with no '.'.
	* pygnulib/GLImport.py: Likewise.

2022-08-06  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: In the VC files messages, omit the destination directory.
	This makes these messages consistent with the other "Copying ..." and
	"Creating ..." messages.
	* gnulib-tool (func_import): Omit $destdir/ from the "Updating"/
	"Creating" messages regarding .gitignore files.
	* pygnulib/GLImport.py (GLImport._update_ignorelist_): Likewise.

	gnulib-tool.py: Fix output in --dry-run mode.
	* pygnulib/GLImport.py (GLImport._update_ignorelist_): In dry-run mode,
	say "Update", not "Updating".

	gnulib-tool.py: Finish implementing options --vc-files, --no-vc-files.
	* gnulib-tool.py (main): Accept options --vc-files, --no-vc-files.
	* pygnulib/GLImport.py (GLImport.__init__): Correct parsing of
	gl_VC_FILES directive.
	(GLImport.gnulib_cache): Don't treat the value False like None.
	(GLImport.execute): Skip the .gitignore file manipulations if vc_files
	is False.

	gnulib-tool.py: Finish implementing option --witness-c-macro.
	* gnulib-tool.py (main): Accept option --witness-c-macro.
	* pygnulib/GLConfig.py (GLConfig.__init__): Remove wrong type check of
	witness_c_macro argument.

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

	gnulib-tool.py: Don't initialize local variables too early.
	* gnulib-tool.py (main): Initialize each local variable in one place.
	I prefer to have pylint tell me about uninitialized variables than to
	get the value None at runtime.

	gnulib-tool.py: Finish implementing option --po-domain.
	* gnulib-tool.py (main): Accept option --po-domain.
	* pygnulib/GLEmiter.py (GLEmiter.po_POTFILES_in): Fix variable
	reference.
	* pygnulib/GLImport.py (GLImport.execute): Don't delete Makefile.in.in
	from the gnulib directory. Don't require a shell when invoking wget.
	After invoking wget, restore the current directory.

	gnulib-tool.py: Finish implementing option --macro-prefix.
	* gnulib-tool.py (main): Accept option --macro-prefix.

	gnulib-tool.py: Refactor --makefile-name option.
	* gnulib-tool.py (main): Handle option --makefile-name like all other
	string-valued options.

	gnulib-tool.py: Implement option --no-libtool.
	* gnulib-tool.py (main): Accept option --no-libtool.

	gnulib-tool.py: Remove redundant type checks.
	* pygnulib/GLConfig.py (GLConfig.__init__): Remove redundant type
	checks, left over from 2022-08-04.
	(GLConfig.getIncludeGuardPrefix): Improve comment.
	(GLConfig.resetMacroPrefix): Optimize.

	gnulib-tool.py: Refactor --makefile-name option.
	* gnulib-tool.py (main): Rename variable 'makefile' to 'makefile_name'.
	* pygnulib/GLConfig.py: Rename attribute 'makefile' to 'makefile_name'.
	* pygnulib/GLMakefileTable.py: Update.
	* pygnulib/GLEmiter.py: Likewise.
	* pygnulib/GLImport.py: Likewise.
	* pygnulib/GLFileSystem.py (GLFileAssistant): Remove unused assignment.

	gnulib-tool.py: Fix link_if_changed function.
	* pygnulib/constants.py (joinpath): Fix comment.
	(as_link_value_at_dest): New function, extracted from link_relative.
	(link_relative): Use it.
	(link_if_changed): Really don't replace the symbolic link if it does not
	need to change.

	gnulib-tool.py: Fix 'Unused import' warnings.
	* gnulib-tool.py: Remove unused imports.
	* pygnulib/*.py: Likewise.

	gnulib-tool.py: Fix 'Undefined variable' errors.
	* pygnulib/constants.py: Import codecs.
	* pygnulib/GLConfig.py (GLConfig.setLibName): Fix local variable
	reference.
	* pygnulib/GLFileSystem.py (GLFileSystem.lookup,
	GLFileAssistant.update): Fix local variable references.
	* pygnulib/GLEmiter.py (GLEmiter.po_POTFILES_in): Fix reference.
	* pygnulib/GLTestDir.py (GLMegaTestDir.execute): Define missing local
	variables.

	gnulib-tool.py: Make option --version work.
	* pygnulib/constants.py (__copyright__): Bump copyright year.
	* pygnulib/GLInfo.py (GLInfo.authors): Add a comma after the
	second-to-last author.
	(GLInfo.copyright): Show only the last modification year.
	(GLInfo.date): Check whether git and GNU date are available. Use
	'git log ChangeLog', not 'git log'. Run 'git log' in the gnulib
	directory, not in the current directory. Search for 'Date:' only at the
	beginning of a line. As a fallback, look at the first ChangeLog entry.
	(GLInfo.version): Check whether git is available. Run git-version-gen in
	the gnulib directory, not in the current directory. Replace '-dirty'
	with '-modified'. As a fallback, return the empty string.
	* gnulib-tool.py (main) [--version]: Add a space before the version.

	gnulib-tool.py: Simplify.
	* pygnulib/constants.py (compiler): Remove function.
	* gnulib-tool.py: Use re.compile directly instead.
	* pygnulib/*.py: Likewise.

2022-08-04  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Fix typo.
	* pygnulib/GLImport.py (GLImport.execute): Actually handle file
	removals.

	gnulib-tool.py: Coding style: Revisit line breaks.
	* gnulib-tool.py: Avoid line breaks at arbitrary points inside
	expressions. Use line breaks to clarify [... for ...] iterations.
	* pygnulib/*.py: Likewise.

	gnulib-tool.py: Simplify boolean setters.
	* pygnulib/GLConfig.py (setLibtool): New method, replaces enableLibtool
	and disableLibtool.
	(setCondDeps): New method, replaces enableCondDeps and disableCondDeps.
	(setVCFiles): New method, replaces enableVCFiles and disableVCFiles.
	(setSymbolic): New method, replaces enableSymbolic and disableSymbolic.
	(setLSymbolic): New method, replaces enableLSymbolic and
	disableLSymbolic.
	(setLibtests): New method, replaces enableLibtests and disableLibtests.
	(setSingleConfigure): New method, replaces enableSingleConfigure and
	disableSingleConfigure.
	(setDryRun): New method, replaces enableDryRun and disableDryRun.
	(setErrors): New method, replaces enableErrors and disableErrors.
	(__init__): Update.
	* pygnulib/GLImport.py: Likewise.
	* pygnulib/GLTestDir.py: Likewise.

	gnulib-tool.py: Implement options --cache-modules, --no-cache-modules.
	* gnulib-tool.py (main): Accept options --cache-modules,
	--no-cache-modules.
	* pygnulib/GLConfig.py: Remove modcache property and constructor
	argument.
	* pygnulib/GLInfo.py (GLInfo.usage): Don't document these no-op options.

	gnulib-tool.py: Use mainstream/GNU coding style.
	* gnulib-tool.py: Break lines before the % operator, not after.
	* pygnulib/*.py: Likewise. Avoid line breaks when the resulting lines
	are not too long.

	gnulib-tool.py: Follow gnulib-tool changes, part 24.
	Follow gnulib-tool change
	2017-02-19  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
	* pygnulib/GLTestDir.py (GLTestDir.__init__): Don't allocate the
	GLModuleTable here.
	(GLTestDir.execute): Do it here. Avoid havelib-tests when
	--with-tests --single-configure is specified.

	gnulib-tool.py: Respect the specified module list.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Don't remove specific
	modules (ftruncate, mountlist, etc.) from the specified module list.

	gnulib-tool.py: Implement option --avoid.
	* pygnulib/GLModuleSystem.py (GLModuleTable.__init__): Compute the
	effective avoids list here.
	(GLModuleTable.transitive_closure, GLModuleTable.add_dummy): Consider
	the avoids list.
	* pygnulib/GLImport.py (GLImport.gnulib_cache): Use the avoids list from
	GLConfig directly.
	(GLImport.prepare): No need any more to set the avoids list in the
	GLModuleTable.

	gnulib-tool.py: Make --with/--without-*-tests handling a little safer.
	* pygnulib/GLConfig.py (__init__): Fix reset* invocations.
	setInclTestCategories, setExclTestCategories): Revert to old value if
	the new value is invalid.

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

	gnulib-tool.py: Implement option --single-configure.
	* gnulib-tool.py (main): Accept option --single-configure. Pass its
	value to the GLConfig constructor.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Remove debugging output.

	gnulib-tool.py: Implement options --without-c++-tests etc.
	* gnulib-tool.py (main): Accept options --without-c++-tests,
	--without-longrunning-tests, --without-privileged-tests,
	--without-unportable-tests.
	Improve error message for --copy-file with invalid number of arguments.
	Check for invalid options given in --import, --add-import,
	--remove-import, --update modes.
	Pass both sets of test categories to the GLConfig constructor.
	* pygnulib/GLConfig.py (GLConfig.__init__): Accept incl_test_categories
	and excl_test_categories instead of testflags.
	(checkInclTestCategory): Renamed from checkTestFlag.
	(enableInclTestCategory): Renamed from enableTestFlag.
	(disableInclTestCategory): Renamed from disableTestFlag.
	(getInclTestCategories): Renamed from getTestFlags.
	(setInclTestCategories): Renamed from setTestFlags.
	(resetInclTestCategories): Renamed from resetTestFlags.
	(setInclTestCategory, checkExclTestCategory, enableExclTestCategory,
	disableExclTestCategory, getExclTestCategories, setExclTestCategories,
	resetExclTestCategories): New methods.
	* pygnulib/GLModuleSystem.py (GLModuleTable.__init__): Accept two
	booleans as second and third constructor arguments.
	(transitive_closure): Correct the determination of whether to include
	each module, depending on the with-* and without-* options.
	(transitive_closure_separately): Update.
	* pygnulib/GLMakefileTable.py: Update.
	* pygnulib/GLImport.py (__init__, actioncmd, gnulib_cache, execute):
	Update.
	* pygnulib/GLTestDir.py (GLTestDir.__init__, GLTestDir.execute,
	GLMegaTestDir.__init__): Update.

	gnulib-tool.py: Implement option --without-tests.
	* gnulib-tool.py (main): Accept option --without-tests.

	gnulib-tool.py: Fix broken 'for' loop.
	* gnulib-tool.py (main): Canonicalize inctests before creating the
	GLConfig. Rewrite a broken 'for' loop.
	* pygnulib/GLConfig.py (GLConfig.setTestFlags): Remove unused statement.

	gnulib-tool.py: Follow gnulib-tool changes, part 23.
	Follow gnulib-tool changes
	2016-11-11  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
	2016-12-02  Nikos Mavrogiannopoulos <nmav@gnutls.org>
	gnulib-tool (func_import): Adhere to the license guideline ...
	2016-12-02  Daiki Ueno  <ueno@gnu.org>
	gnulib-tool (func_import): Relax the regex ...
	* gnulib-tool.py: For --lgpl, accept value 3orGPLv2.
	* pygnulib/GLInfo.py (GLInfo.usage): Update.
	* pygnulib/GLConfig.py (GLConfig.setLGPL): Update argument check.
	* pygnulib/GLImport.py (GLImport.__init__, GLImport.gnulib_cache):
	Update gl_LGPL handling.
	(GLImport.prepare): Update license compatibility checks and license
	header rewriting.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Update license
	compatibility checks. Handle also the licenses GPLv3+, GPL, LGPLv3+.

	gnulib-tool.py: Fix unjustified "incompatible license" warnings.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Don't emit a warning when
	the dependency module has a license such as "public domain" or
	"unlimited".

	gnulib-tool.py: Follow gnulib-tool changes, part 22.
	Follow gnulib-tool change
	2016-10-15  Bruno Haible  <bruno@clisp.org>
	Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
	* pygnulib/GLModuleSystem.py (GLModule.getLicense): Special-case the
	'parse-datetime' module.

	gnulib-tool.py: Follow gnulib-tool changes, part 21.
	Follow gnulib-tool change
	2016-10-16  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Make --create-testdir on all modules work again.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Don't include the
	non-recursive-gnulib-prefix-hack module.

	gnulib-tool.py: Follow gnulib-tool changes, part 20.
	Follow gnulib-tool changes
	2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
	gnulib-tool: don't assume ln -s works
	2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>
	gnulib-tool: don't give up on ln -s so easily
	2017-06-08  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
	* pygnulib/constants.py (symlink_relative): New function.
	(link_relative): Use it instead of os.symlink.

	gnulib-tool.py: Avoid errors when writing to a VFAT file system, part 2.
	* pygnulib/constants.py (movefile): New function.
	* pygnulib/*.py: Use it instead of shutil.

	gnulib-tool.py: Avoid errors when writing to a VFAT file system.
	* pygnulib/constants.py (copyfile, copyfile2): New functions.
	* gnulib-tool.py: Use them instead of shutil.
	* pygnulib/*.py: Likewise.

	gnulib-tool.py: Fix typo.
	* pygnulib/GLImport.py (GLImport.__init__): Use the relative auxdir as
	second, not as first argument of joinpath.

2022-07-31  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Fix typo.
	* pygnulib/GLTestDir.py (GLMegaTestDir.execute): Invoke os.mkdir as
	intended.

	gnulib-tool.py: Improve some error messages.
	* gnulib-tool.py (main): Write "*** Stop." instead of "*** Exit.".
	(__main__): Print an error message for GLError 5, 13, 14, 15, 16, 17, 18.
	* pygnulib/GLError.py (GLError.__repr__): Compute one error message,
	not 19.

	gnulib-tool.py: Write errors to stderr, not stdout.
	* pygnulib/constants.py: Write error messages to stderr, not stdout.

	gnulib-tool.py: Use mainstream coding style.
	* pygnulib/GLConfig.py: Use 'raise' to re-throw an exception.

	gnulib-tool.py: Implement options --symlink and --local-symlink.
	* gnulib-tool.py (main): Handle options --symlink and --local-symlink.
	* pygnulib/constants.py (link_if_changed): Ignore FileNotFoundError from
	os.remove call.

	gnulib-tool.py: Make --copy-file work.
	* gnulib-tool.py (main) [copy-file]: Fix reference to uninitialized
	variable. Fix error handling of os.makedirs. Pass the destdir to the
	GLFileAssistant.

	gnulib-tool.py: Allow module arguments to occur at any position.
	* gnulib-tool.py (main): Collect the non-option arguments in a single
	list, regardless of their position. Use parse_known_args instead of
	parse_args, and give an error message about unknown options ourselves.
	* gnulib-tool: Fix typo in error message.

	gnulib-tool.py: Make --test behaviour more similar to gnulib-tool.
	* gnulib-tool.py (main) [test]: Remove space from the testdir name.

	gnulib-tool: Clarify that --test allows zero module arguments.
	* gnulib-tool (func_usage): Mark the modules for --test as optional.
	* pygnulib/GLInfo.py (GLInfo.usage): Likewise.

	gnulib-tool.py: Make option processing more similar to gnulib-tool.
	* gnulib-tool.py (main): Allow --add-import and --remove-import with 0
	modules.

	gnulib-tool.py: Improve compliance with GNU standards.
	* gnulib-tool.py (main): Handle --help and --version before testing for
	conflicting modes.

	gnulib-tool.py: Emit error message when conflicting modes are specified.
	* gnulib-tool.py (main): Fix test of conflicting modes. (Some options
	produce a value of [], and as a condition, [] evaluates to False.)

	gnulib-tool.py: Remove most short options.
	* gnulib-tool.py (main): Reorder the list of options. Remove most short
	options, for consistency with gnulib-tool.

	gnulib-tool.py: Follow gnulib-tool changes, part 19.
	Follow gnulib-tool changes
	2015-12-09  Pavel Raiskup  <praiskup@redhat.com>
	gnulib-tool: allow multiple --local-dir usage
	2019-02-14  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Improve handling of multiple --local-dir options.
	* gnulib-tool (func_reconstruct_cached_dir): When the argument is
	absolute, return it unmodified.
	(func_compute_relative_local_gnulib_path): Renamed from
	func_count_relative_local_gnulib_path. Add comment.
	* gnulib-tool.py: Accept multiple --local-dir options and collect the
	values into localpath.
	* pygnulib/GLConfig.py: Take a localpath argument instead of a localdir
	argument.
	(getLocalDir, setLocalDir, resetLocalDir): Remove methods.
	(getLocalPath, setLocalPath, resetLocalPath): New methods.
	* pygnulib/GLFileSystem.py (CopyAction): New class.
	(GLFileSystem.lookup): Consider all dirs in localpath.
	(GLFileSystem.shouldLink): New method.
	(GLFileAssistant): Use shouldLink.
	* pygnulib/GLModuleSystem.py (GLModuleSystem.exists): Iterate over all
	dirs in localpath.
	(GLModuleSystem.list): Likewise.
	* pygnulib/GLEmiter.py: Update.
	* pygnulib/GLImport.py (GLImport.__init__): Put the argument of
	gl_LOCAL_DIR into localpath, not localdir.
	(GLImport.actioncmd): Consider all dirs in localpath.
	(GLImport.relative_to_destdir, GLImport.relative_to_currdir): New
	methods.
	(GLImport.gnulib_cache): Combine all dirs in localpath. Use
	self.relative_to_destdir.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Use shouldLink.

	gnulib-tool.py: Improve the primitives for relative file names.
	* pygnulib/constants.py (relativize): Don't attempt to handle absolute
	file names. Fix bug with relativize('../foo/bar', '../foo/bla/zut').
	(relconcat): New function.

	gnulib-tool.py: Follow gnulib-tool changes, part 18.
	Follow gnulib-tool change
	2005-09-20  Bruno Haible  <bruno@clisp.org>
	gnulib-tool: Remove trailing slashes
	* pygnulib/constants.py (remove_trailing_slashes): New function.
	* pygnulib/GLConfig.py (GLConfig): Use it in the setters.

2022-07-31  Bruno Haible  <bruno@clisp.org>

	avltree-omap, avltree-oset, avltreehash-list, rbtree-omap: Pacify GCC.
	* lib/gl_avltree_omap.c (gl_avltree_omap_check_invariants): Add extern
	decl.
	* lib/gl_avltree_oset.c (gl_avltree_oset_check_invariants): Likewise.
	* lib/gl_avltreehash_list.c (gl_avltreehash_list_check_invariants):
	Likewise.
	* lib/gl_rbtree_omap.c (gl_rbtree_omap_check_invariants): Likewise.

2022-07-31  Paul Eggert  <eggert@cs.ucla.edu>

	rbtree-oset, rbtreehash-list: Pacify GCC
	* lib/gl_rbtree_oset.c (gl_rbtree_oset_check_invariants):
	* lib/gl_rbtreehash_list.c (gl_rbtreehash_list_check_invariants):
	Add extern decls, to pacify --enable-gcc-warnings with Bison.

2022-07-31  Akim Demaille  <akim@lrde.epita.fr>

	gnulib-tool: add support for --automake-subdir-tests
	<https://lists.gnu.org/r/bug-gnulib/2022-01/msg00111.html>
	* gnulib-tool (main): Handle --automake-subdir-tests.
	(func_emit_shellvars_init, func_emit_lib_Makefile_am): Use
	$sourcebase when handling tests and --automake-subdir-tests is
	given.
	(func_append_actionarg): Support --automake-subdir-tests.
	(func_create_testdir): Add missing argument for func_emit_initmacro_end.

2022-07-31  Bruno Haible  <bruno@clisp.org>

	gendocs.sh: Fix error when invoking 'perl' (regression 2022-07-23).
	* build-aux/gendocs.sh (PERL): Use double-quotes, not single-quotes.

2022-07-30  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Clean up imports.
	* gnulib-tool.py: Remove unused constants.
	* pygnulib/*.py: Likewise.

	gnulib-tool.py: Assume Python 3.
	* gnulib-tool.py: Don't allow 'bytes' as an alternative to 'str'.
	* pygnulib/*.py: Likewise.

	gnulib-tool.py: Assume Python 3.
	* gnulib-tool.py: Don't set PYTHON3, string. Use str instead of string.
	* pygnulib/*.py: Likewise.

	gnulib-tool.py: Modernize coding style.
	* pygnulib/*.py: Remove parentheses around raise value expressions.

2022-07-30  Bruno Haible  <bruno@clisp.org>

	doc: Update regarding bootstrap split.
	Reported by Paul Smith <psmith@gnu.org>.
	* doc/gnulib-tool.texi (gettextize and autopoint): Mention autogen.sh
	instead of bootstrap.
	(VCS Issues): Describe three alternative approaches.
	* doc/gnulib.texi (Developer tools): Mention also autopull.sh and
	autogen.sh.
	* top/bootstrap (usage): Fix copy&paste mistake.

2022-07-29  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Follow gnulib-tool changes, part 17.
	Follow gnulib-tool change
	2015-10-06  Pavel Raiskup  <praiskup@redhat.com>
	gnulib-tool: fix tests of 'extensions' module
	* pygnulib/GLEmiter.py (GLEmiter.preEarlyMacros): New function.
	* pygnulib/GLImport.py (GLImport.gnulib_comp): Invoke it.
	* pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.

	gnulib-tool.py: Follow gnulib-tool changes, part 16.
	Follow gnulib-tool change
	2015-09-25  Pavel Raiskup  <praiskup@redhat.com>
	gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
	* pygnulib/GLImport.py (GLImport.gnulib_comp): Put the
	gl_USE_SYSTEM_EXTENSIONS right before gl_PROG_AR_RANLIB into
	gnulib-comp.m4 (if the 'extensions' module is used).

	gnulib-tool.py: Modernize coding style.
	* pygnulib/*.py: Remove parentheses around return value expressions.

	gnulib-tool.py: Modernize the file headers.
	* pygnulib/*.py: Remove '#!/usr/bin/python' (not needed) and
	'encoding: UTF-8' lines (default in Python 3). Add copyright notice.

	gnulib-tool.py: Use mainstream coding style.
	* gnulib-tool.py: Clarify the coding style. Fix some pycodestyle
	warnings.
	* pygnulib/constants.py: Likewise.
	* pygnulib/GLEmiter.py: Likewise.
	* pygnulib/GLImport.py: Likewise.
	* pygnulib/GLMakefileTable.py: Likewise.

2022-07-29  Bruno Haible  <bruno@clisp.org>

	gnulib-tool.py: Fix error (regression 2021-04-11).
	* pygnulib/GLConfig.py (GLConfig.getModuleIndicatorPrefix): Fix code.

	gnulib-tool.py: Fix warning from Python 3.10.4.
	* pygnulib/GLModuleSystem.py (getConditionalName): Fix a string
	substitution expression.

	gnulib-tool.py: Fix error in Ubuntu 22.04.
	* gnulib-tool.py: Search for python3 in $PATH.

2022-07-25  Bruno Haible  <bruno@clisp.org>

	bootstrap: Make the automatic sync more resilient.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-07/msg00060.html>.
	* top/bootstrap (bootstrap_sync): Set to true when bootstrap-funclib.sh
	is not present.
	* top/gen-bootstrap.sed: Insert a couple of comment lines.
	* build-aux/bootstrap: Regenerated using "make build-aux/bootstrap".

2022-07-24  Bruno Haible  <bruno@clisp.org>

	Fix comment.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-07/msg00058.html>.
	* top/bootstrap-funclib.sh: Fix comment about canonical location.
	* top/autopull.sh: Likewise.
	* top/autogen.sh: Likewise.
	* top/bootstrap: Likewise.

	Split bootstrap into autopull.sh and autogen.sh.
	* top/bootstrap-funclib.sh: New file, based on build-aux/bootstrap.
	* top/autopull.sh: New file, based on build-aux/bootstrap.
	* top/autogen.sh: New file, based on build-aux/bootstrap.
	* top/bootstrap: New file, based on build-aux/bootstrap.
	* top/gen-bootstrap.sed: New file.
	* Makefile (build-aux/bootstrap): New rule.
	(regen): Depend on it.
	* build-aux/bootstrap: Regenerated using "make build-aux/bootstrap".

2022-07-24  Bruno Haible  <bruno@clisp.org>

	bootstrap: Obey another environment variable GNULIB_REFDIR.
	* build-aux/bootstrap (usage): Document option --gnulib-refdir and
	environment variable GNULIB_REFDIR.
	Accept option --gnulib-refdir.
	When GNULIB_SRCDIR is specified, verify that it denotes a directory.
	Use $GNULIB_REFDIR, not $GNULIB_SRCDIR, as argument to git's --reference
	option.
	Improve an error message.
	* NEWS: Mention the change.

2022-07-23  Bruno Haible  <bruno@clisp.org>

	Fix a couple of ShellCheck warnings.
	* MODULES.html.sh (sed_escape_slash): Remove unused variable.
	* build-aux/bootstrap: Avoid computed printf format strings.
	* build-aux/do-release-commit-and-tag: Likewise.
	* build-aux/gendocs.sh: Likewise.
	* build-aux/declared.sh: Fix "unrecognized option" message.
	* gnulib-tool (supplied_opts): Remove unused variable.
	(--single-con): Remove redundant option recognition.
	* tests/test-parse-duration.sh (nl): Remove unused variable.
	* tests/test-update-copyright.sh: Use double-quotes instead of
	single-quotes.

2022-07-23  Bruno Haible  <bruno@clisp.org>

	Avoid DoS vulnerability through unsafe default assignment.
	See https://www.shellcheck.net/wiki/SC2223 .
	* MODULES.html.sh (func_tmpdir): Surround default assignment with
	double-quotes.
	* build-aux/bootstrap: Likewise.
	* build-aux/csharpcomp.sh.in (func_tmpdir): Likewise.
	* build-aux/gendocs.sh: Likewise.
	* build-aux/libtool-next-version (func_tmpdir): Likewise.
	* config/srclist-update: Likewise.
	* gnulib-tool (func_tmpdir): Likewise.
	* posix-modules (func_tmpdir): Likewise.
	* tests/test-atexit.sh: Likewise.
	* tests/test-btoc32-1.sh: Likewise.
	* tests/test-btoc32-2.sh: Likewise.
	* tests/test-btowc1.sh: Likewise.
	* tests/test-btowc2.sh: Likewise.
	* tests/test-c-dtoastr.sh: Likewise.
	* tests/test-c-ldtoastr.sh: Likewise.
	* tests/test-c-snprintf.sh: Likewise.
	* tests/test-c-strcase.sh: Likewise.
	* tests/test-c-vasprintf.sh: Likewise.
	* tests/test-c-vsnprintf.sh: Likewise.
	* tests/test-c-xvasprintf.sh: Likewise.
	* tests/test-c32isalnum.sh: Likewise.
	* tests/test-c32isalpha.sh: Likewise.
	* tests/test-c32isblank.sh: Likewise.
	* tests/test-c32iscntrl.sh: Likewise.
	* tests/test-c32isdigit.sh: Likewise.
	* tests/test-c32isgraph.sh: Likewise.
	* tests/test-c32islower.sh: Likewise.
	* tests/test-c32isprint.sh: Likewise.
	* tests/test-c32ispunct.sh: Likewise.
	* tests/test-c32isspace.sh: Likewise.
	* tests/test-c32isupper.sh: Likewise.
	* tests/test-c32isxdigit.sh: Likewise.
	* tests/test-c32rtomb.sh: Likewise.
	* tests/test-c32snrtombs-1.sh: Likewise.
	* tests/test-c32snrtombs-2.sh: Likewise.
	* tests/test-c32snrtombs-3.sh: Likewise.
	* tests/test-c32snrtombs-4.sh: Likewise.
	* tests/test-c32srtombs-1.sh: Likewise.
	* tests/test-c32srtombs-2.sh: Likewise.
	* tests/test-c32srtombs-3.sh: Likewise.
	* tests/test-c32srtombs-4.sh: Likewise.
	* tests/test-c32stombs-1.sh: Likewise.
	* tests/test-c32stombs-2.sh: Likewise.
	* tests/test-c32stombs-3.sh: Likewise.
	* tests/test-c32stombs-4.sh: Likewise.
	* tests/test-closein.sh: Likewise.
	* tests/test-copy-acl.sh (func_tmpdir): Likewise.
	* tests/test-copy-file.sh (func_tmpdir): Likewise.
	* tests/test-dprintf-posix.sh: Likewise.
	* tests/test-execl.sh: Likewise.
	* tests/test-execle.sh: Likewise.
	* tests/test-execlp.sh: Likewise.
	* tests/test-execv.sh: Likewise.
	* tests/test-execve.sh: Likewise.
	* tests/test-execvp.sh: Likewise.
	* tests/test-execvpe.sh: Likewise.
	* tests/test-file-has-acl.sh (func_tmpdir): Likewise.
	* tests/test-fprintf-posix.sh: Likewise.
	* tests/test-init.sh: Likewise.
	* tests/test-iswdigit.sh: Likewise.
	* tests/test-iswxdigit.sh: Likewise.
	* tests/test-mbmemcasecmp1.sh: Likewise.
	* tests/test-mbmemcasecmp2.sh: Likewise.
	* tests/test-mbmemcasecmp3.sh: Likewise.
	* tests/test-mbmemcasecoll1.sh: Likewise.
	* tests/test-mbmemcasecoll2.sh: Likewise.
	* tests/test-mbmemcasecoll3.sh: Likewise.
	* tests/test-mbrtoc32-1.sh: Likewise.
	* tests/test-mbrtoc32-2.sh: Likewise.
	* tests/test-mbrtoc32-3.sh: Likewise.
	* tests/test-mbrtoc32-4.sh: Likewise.
	* tests/test-mbrtowc1.sh: Likewise.
	* tests/test-mbrtowc2.sh: Likewise.
	* tests/test-mbrtowc3.sh: Likewise.
	* tests/test-mbrtowc4.sh: Likewise.
	* tests/test-mbscasecmp.sh: Likewise.
	* tests/test-mbscasestr2.sh: Likewise.
	* tests/test-mbscasestr3.sh: Likewise.
	* tests/test-mbscasestr4.sh: Likewise.
	* tests/test-mbschr.sh: Likewise.
	* tests/test-mbscspn.sh: Likewise.
	* tests/test-mbsinit.sh: Likewise.
	* tests/test-mbsncasecmp.sh: Likewise.
	* tests/test-mbsnrtoc32s-1.sh: Likewise.
	* tests/test-mbsnrtoc32s-2.sh: Likewise.
	* tests/test-mbsnrtoc32s-3.sh: Likewise.
	* tests/test-mbsnrtoc32s-4.sh: Likewise.
	* tests/test-mbsnrtowcs1.sh: Likewise.
	* tests/test-mbsnrtowcs2.sh: Likewise.
	* tests/test-mbsnrtowcs3.sh: Likewise.
	* tests/test-mbsnrtowcs4.sh: Likewise.
	* tests/test-mbspbrk.sh: Likewise.
	* tests/test-mbspcasecmp.sh: Likewise.
	* tests/test-mbsrchr.sh: Likewise.
	* tests/test-mbsrtoc32s-1.sh: Likewise.
	* tests/test-mbsrtoc32s-2.sh: Likewise.
	* tests/test-mbsrtoc32s-3.sh: Likewise.
	* tests/test-mbsrtoc32s-4.sh: Likewise.
	* tests/test-mbsrtowcs1.sh: Likewise.
	* tests/test-mbsrtowcs2.sh: Likewise.
	* tests/test-mbsrtowcs3.sh: Likewise.
	* tests/test-mbsrtowcs4.sh: Likewise.
	* tests/test-mbsspn.sh: Likewise.
	* tests/test-mbsstr2.sh: Likewise.
	* tests/test-mbsstr3.sh: Likewise.
	* tests/test-mbstoc32s-1.sh: Likewise.
	* tests/test-mbstoc32s-2.sh: Likewise.
	* tests/test-mbstoc32s-3.sh: Likewise.
	* tests/test-mbstoc32s-4.sh: Likewise.
	* tests/test-nl_langinfo.sh: Likewise.
	* tests/test-parse-duration.sh (func_tmpdir): Likewise.
	* tests/test-perror.sh: Likewise.
	* tests/test-printf-posix.sh: Likewise.
	* tests/test-set-mode-acl.sh (func_tmpdir): Likewise.
	* tests/test-setlocale1.sh: Likewise.
	* tests/test-strtod1.sh: Likewise.
	* tests/test-strtold1.sh: Likewise.
	* tests/test-unicodeio2.sh: Likewise.
	* tests/test-unicodeio3.sh: Likewise.
	* tests/test-vasnprintf-posix2.sh: Likewise.
	* tests/test-vc-list-files-cvs.sh: Likewise.
	* tests/test-vc-list-files-git.sh: Likewise.
	* tests/test-vdprintf-posix.sh: Likewise.
	* tests/test-vfprintf-posix.sh: Likewise.
	* tests/test-vprintf-posix.sh: Likewise.
	* tests/test-wcrtomb.sh: Likewise.
	* tests/test-wcsnrtombs1.sh: Likewise.
	* tests/test-wcsnrtombs2.sh: Likewise.
	* tests/test-wcsnrtombs3.sh: Likewise.
	* tests/test-wcsnrtombs4.sh: Likewise.
	* tests/test-wcsrtombs1.sh: Likewise.
	* tests/test-wcsrtombs2.sh: Likewise.
	* tests/test-wcsrtombs3.sh: Likewise.
	* tests/test-wcsrtombs4.sh: Likewise.
	* tests/test-xprintf-posix.sh: Likewise.
	* tests/test-xstrtoimax.sh: Likewise.
	* tests/test-xstrtol.sh: Likewise.
	* tests/test-xstrtoll.sh: Likewise.
	* tests/test-xstrtoumax.sh: Likewise.
	* tests/test-yesno.sh: Likewise.
	* tests/unicase/test-locale-language.sh: Likewise.
	* tests/unicase/test-ulc-casecmp1.sh: Likewise.
	* tests/unicase/test-ulc-casecmp2.sh: Likewise.
	* tests/unicase/test-ulc-casecoll1.sh: Likewise.
	* tests/unicase/test-ulc-casecoll2.sh: Likewise.
	* tests/unigbrk/test-ulc-grapheme-breaks.sh: Likewise.
	* tests/unistdio/test-u16-vasnprintf2.sh: Likewise.
	* tests/unistdio/test-u16-vasnprintf3.sh: Likewise.
	* tests/unistdio/test-u32-vasnprintf2.sh: Likewise.
	* tests/unistdio/test-u32-vasnprintf3.sh: Likewise.
	* tests/unistdio/test-u8-vasnprintf2.sh: Likewise.
	* tests/unistdio/test-u8-vasnprintf3.sh: Likewise.
	* tests/unistdio/test-ulc-vasnprintf2.sh: Likewise.
	* tests/unistdio/test-ulc-vasnprintf3.sh: Likewise.
	* tests/uniwbrk/test-ulc-wordbreaks.sh: Likewise.
	* tests/uniwidth/test-uc_width2.sh: Likewise.

2022-07-18  Bruno Haible  <bruno@clisp.org>

	bootstrap: Comments.
	* build-aux/bootstrap: Comment about two unused variables.

2022-07-17  Bruno Haible  <bruno@clisp.org>

	doc: Update README.
	* doc/README: Fix stale links (reported by Tzvetelin Katchov). Clarify
	the relation to build-aux/gnu-web-doc-update.

2022-07-14  Bruno Haible  <bruno@clisp.org>

	doc: Fix typo.
	Reported by Eric Gallager <egall@gwmail.gwu.edu> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-07/msg00045.html>.
	* doc/posix-functions/mmap.texi: Add parenthesis.

2022-07-12  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime: improve doc for TZ="<-07>7" etc.
	* doc/parse-datetime.texi (Specifying time zone rules):
	Give examples of POSIX TZ strings that specify UTC offsets (Bug#56524).

2022-07-10  Bruno Haible  <bruno@clisp.org>

	sigsegv: Optimize stackvma implementation for AIX 7.
	Reported by Neha Jain <nehajain29@in.ibm.com> in
	<https://lists.gnu.org/archive/html/bug-m4/2022-06/msg00005.html>
	via Eric Blake.
	* lib/stackvma.c: For AIX, add implementation that uses /proc/$pid/map,
	based on lib/vma-iter.c.
	(sigsegv_get_vma): Use it on AIX 7 or higher.

2022-07-10  Bruno Haible  <bruno@clisp.org>

	vma-iter: Add support for AIX 7.
	* lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on AIX.
	* lib/vma-iter.c (vma_iterate): Add code for AIX, known to work on
	AIX 7.
	* lib/get-rusage-as.c: Update comments.
	* lib/get-rusage-data.c: Likewise.
	* tests/test-get-rusage-as.c (main): Take into account the special
	address space organization on AIX in 32-bit mode.

2022-07-10  Bruno Haible  <bruno@clisp.org>

	iconv: Define a summary result.
	Reported by Simon Josefsson in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-07/msg00020.html>.
	* m4/iconv.m4 (AM_ICONV): Define also am_cv_func_iconv_summary.

2022-07-10  Bruno Haible  <bruno@clisp.org>

	iconv: Remove obsolete comment.
	* m4/iconv.m4 (AM_ICONV): Remove comment that is obsolete since
	2020-08-16.

2022-07-10  Bruno Haible  <bruno@clisp.org>

	announce-gen: Fix internationalization in verification instructions.
	* build-aux/announce-gen: Set LC_ALL, not LANG, to "C", to force English
	output from gpg.

2022-07-10  Bruno Haible  <bruno@clisp.org>

	lib-symbol-visibility: Improve documentation.
	* doc/lib-symbol-visibility.texi: Tweak BUILDING_SHARED snippet.

2022-07-10  Bruno Haible  <bruno@clisp.org>

	doc: Mark Minix as no longer tested.
	Rationale: No commits since 2018 at https://git.minix3.org/.
	Reported by Paul Eggert and Jim Meyering in
	<https://lists.gnu.org/archive/html/grep-devel/2022-07/msg00027.html>.
	* doc/gnulib-intro.texi (Supported Platforms): Mark Minix as no longer
	tested.

2022-07-09  Jim Meyering  <meyering@fb.com>

	announce-gen: better diagnose some usage errors
	* build-aux/announce-gen (main): Erroneous usage would elicit a
	misleading diagnostic. When --gnulib-version=V was specified:
	- without --bootstrap_tools, or
	- with --bootstrap_tools, but without listing "gnulib" as a tool
	we would give an inappropriate diagnostic. Now, each diagnostic
	is tailored to the precise erroneous condition.
	Reported by Bruno Haible in
	https://lists.gnu.org/r/bug-gnulib/2022-01/msg00025.html

2022-07-09  Simon Josefsson  <simon@josefsson.org>

	git-version-gen: Doc fix.
	Reported by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-04/msg00012.html>.
	* build-aux/git-version-gen (usage): Replace incorrect text with
	bug report instructions.

2022-07-09  Simon Josefsson  <simon@josefsson.org>

	announce-gen: Improve GnuPG verification instructions.
	* build-aux/announce-gen: Add GPG fingerprint to output, and a
	pointer to GNU keyring.

2022-07-08  Simon Josefsson  <simon@josefsson.org>

	lib-symbol-visibility: Improve documentation.
	* doc/lib-symbol-visibility.texi: Include BUILDING_SHARED snippet
	suggested by Bruno Haible.

2022-07-04  Bruno Haible  <bruno@clisp.org>

	havelib: Fix 'configure --help' output.
	* m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Fix m4 quoting bug.

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

	lib-symbol-visibility: Improve documentation.
	Reported by Vivien Kraus <vivien@planete-kraus.eu> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-06/msg00093.html>.
	* doc/lib-symbol-visibility.texi: List the platforms. Extend the
	LIBFOO_DLL_EXPORTED to work also with mingw and also with
	--disable-shared.

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

	supersede: Support the file name "/dev/null" on native Windows.
	* lib/supersede.c (open_supersede): On native Windows, map "/dev/null"
	to "NUL".

2022-06-23  Jim Meyering  <meyering@fb.com>

	maint.mk: fix syntax-check for unnecessary hash.h header use
	* top/maint.mk (_hash_re): Correct the regexp. It had two problems:
	- lacked the "hash_" prefix, so would match non-uses
	- failed to detect uses of the hash_x?initialize functions
	The former led to an excess/unneeded use of hash.h in coreutils' cut.c.
	The latter would have led to a FP "not needed" report for copy.c.

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

	fchmodat: Fix test failure on native Windows.
	* modules/fchmodat (Depends-on): Add 'chmod'.

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

	chmod: Add tests.
	* tests/test-chmod.c: New file, based on tests/test-lchmod.c.
	* modules/chmod-tests: New file.

	chmod: New module.
	* lib/sys_stat.in.h (chmod): Declare when GNULIB_CHMOD is 1.
	* lib/chmod.c: New file, based on lib/lchmod.c.
	* m4/chmod.m4: New file, based on m4/fchmodat.m4.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H): Test whether chmod is declared.
	(gl_SYS_STAT_H_REQUIRE_DEFAULTS): Initialize GNULIB_CHMOD.
	(gl_SYS_STAT_H_DEFAULTS): Initialize REPLACE_CHMOD.
	* modules/sys_stat (Makefile.am): Substitute GNULIB_CHMOD,
	REPLACE_CHMOD.
	* modules/chmod: New file, based on modules/lchmod.
	* doc/posix-functions/chmod.texi: Mention the new module and the
	problems on IRIX and Windows.

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

	lchmod: Simplify.
	* lib/lchmod.c: Remove unnecessary include, obsolete since 2020-02-23.

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

	javacomp-script, javaexec-script: Add support for disabling Java.
	* m4/javacomp.m4 (gt_JAVACOMP_DISABLED): New macro.
	* m4/javaexec.m4 (gt_JAVAEXEC_DISABLED): New macro.

2022-06-19  Paul Eggert  <eggert@cs.ucla.edu>

	lchmod: port back to AIX 7.2
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2022-06/msg00075.html
	* lib/lchmod.c: Include string.h, for strlen.
	(lchmod): Do not depend on HAVE_READLINK since we now depend on
	the readlink module.  Check for AIX 7.2 bug.
	* m4/lchmod.m4 (gl_PREREQ_LCHMOD): Do not check for readlink
	since we now depend on the readlink module.
	* modules/lchmod (Depends-on): Depend on readlink.

	fchmodat: pacify gcc -Wunused-variable
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2022-06/msg00075.html
	* lib/fchmodat.c (fchmodat): Remove unused local.

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

	getlogin, getlogin_r tests: Really avoid test failure.
	Reported by Letu Ren <fantasquex@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-06/msg00037.html>.
	* tests/test-getlogin.h (test_getlogin_result): Parse the contents of
	/proc/self/loginuid as an unsigned integer.

2022-06-12  Paul Eggert  <eggert@cs.ucla.edu>

	fchmodat: port better to MS-Windows etc.
	MS-Windows problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2022-06/msg00041.html
	Although I don’t use MS-Windows I see some related fstatat etc.
	problems and am trying to fix them with this further patch.
	* lib/fchmodat.c (fchmodat):
	* lib/lchmod.c (lchmod):
	* lib/lchown.c (lchown)
	[!HAVE_LCHOWN && HAVE_CHOWN && !CHOWN_MODIFIES_SYMLINK]:
	* lib/renameatu.c (renameatu)
	[HAVE_RENAME && RENAME_TRAILING_SLASH_SOURCE_BUG]:
	Use readlinkat/readlink instead of fstatat/lstat to test merely
	whether a string names a symlink, as this avoids problems
	with EOVERFLOW.  Also, I hope it works around the MS-Windows
	issues that Bruno noted.
	* m4/fchmodat.m4 (gl_PREREQ_FCHMODAT):
	Check for readlinkat, not lchmod.
	* m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not require AC_CANONICAL_HOST
	or check for lstat.
	(gl_PREREQ_LCHMOD): Check for readlink.
	* modules/lchown (Depends-on): Add readlink.  Do not depend on
	lstat merely because !HAVE_LCHOWN.
	* modules/renameatu (Depends-on): Add fstatat, readlinkat.

2022-06-12  Bruno Haible  <bruno@clisp.org>

	doc: Update O_PATH platforms list.
	* doc/posix-headers/fcntl.texi: Update O_PATH platforms list.

2022-06-11  Paul Eggert  <eggert@cs.ucla.edu>

	fcntl: document O_PATH
	* doc/posix-headers/fcntl.texi: Mention O_PATH.

	fchmodat: port to old Linux kernel + newer headers
	Problem reported by Lance Fredrickson in:
	https://lists.gnu.org/r/bug-gnulib/2022-06/msg00038.html
	* lib/fchmodat.c (fchmodat):
	* lib/lchmod.c (lchmod): Do not rely on AT_EMPTY_PATH as to
	whether syscalls work on ""; instead, if a call fails with
	ENOENT assume that those syscalls do not work.
	Do not use fstatat to determine whether a file is a symlink,
	as this has problems with EOVERFLOW.  Use readlinkat instead,
	and if it fails with EINVAL then the file is not a symlink.
	Remove #if tests on __linux__ || __ANDROID__ || __CYGWIN__
	as this has been a maintenance hassle and it’s unlikely
	these days that a new platform would #define O_PATH without also
	either supporting /proc or keeping it absent.
	* modules/fchmodat (Depends-on): Remove fstatat.
	There should be no need for either fchmodat or lchmod to depend on
	readlinkat, since they use readlinkat only in contexts where it
	should work without Gnulib intervention.

2022-06-06  Bruno Haible  <bruno@clisp.org>

	fopen-gnu: Make this module work again (regression 2022-01-03).
	Reported by Nelson H. F. Beebe <beebe@math.utah.edu> in
	<https://lists.gnu.org/archive/html/platform-testers/2022-04/msg00005.html>.
	* modules/fopen-gnu (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.

2022-06-06  Bruno Haible  <bruno@clisp.org>

	getlogin, getlogin_r tests: Avoid test failure in specific environments.
	Reported by Letu Ren <fantasquex@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-06/msg00001.html>.
	* modules/getlogin-tests (Depends-on): Add stdbool.
	* modules/getlogin_r-tests (Depends-on): Likewise.
	* tests/test-getlogin.h: Include stdbool.h.
	(test_getlogin_result): On Linux, skip the test if /proc/self/loginuid
	contains "-1".

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

	doc: Add section to attract more people towards the GNU project.
	Inspired by a suggestion from José E. Marchesi <jemarch@gnu.org> on
	the gnu-prog-discuss mailing list.
	* doc/join-gnu.texi: New file.
	* doc/gnulib-readme.texi: Include it.

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

	doc: Fix warnings about regex chapter structure (regression 2022-05-15).
	* doc/regex.texi (GNU Operators): Fix menu.

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

	regex-quote: \} -> } in EREs
	* lib/regex-quote.c (ere_special): Don’t use \} in EREs,
	as POSIX says the interpretation is undefined.
	* tests/test-regex-quote.c (test_bre, test_ere):
	Add tests for }.

	dfa: do not warn about \] and \}
	* lib/dfa.c (lex): Do not warn about \] and \}, since they’re
	surely universally supported even though POSIX says their
	interpretation is undefined.

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

	regex-quote: \] -> ] in EREs and BREs
	* build-aux/bootstrap:
	* build-aux/bootstrap.conf (gettext_external):
	* check-AC_LIBOBJ:
	* lib/regex-quote.c (bre_special, ere_special):
	* gnulib-tool (func_modules_transitive_closure)
	(func_emit_autoconf_snippet, func_import, func_create_testdir):
	* tests/test-regex-quote.c (test_bre, test_ere):
	* top/maint.mk (longopt_re, gpg_key_ID):
	Don’t use \] in BREs and EREs, as POSIX says the interpretation is
	undefined.

	filevercmp: don’t treat entire filename as suffix
	Problem reported by Artém S. Tashkinóv in:
	https://lists.gnu.org/r/bug-gnulib/2022-06/msg00012.html
	* lib/filevercmp.c (file_prefixlen): When stripping
	(\.[A-Za-z~][A-Za-z0-9~]*)*$ suffixes, do not strip
	the entire file name.
	* tests/test-filevercmp.c (examples): Adjust to match new behavior.

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

	setlocale: Update after Turkey changed its name.
	* lib/setlocale.c: Update comments.

2022-05-25  Karl Berry  <karl@freefriends.org>

	doc: regex.texi deleted the node GNU Emacs Operators
	* doc/gnulib.texi (Regular expression): remove "GNU Emacs Operators"
	from the @menu, since the node no longer exists in regex.texi.

2022-05-24  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: new options DFA_STAR_WARN, DFA_PLUS_WARN
	This lets ‘grep -E '(*a|+b)'’ warn about the * and the +.
	* lib/dfa.h (DFA_STAR_WARN, DFA_PLUS_WARN): New flags.
	* lib/dfa.c (lex): Support them.

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

	dfa: '\n' is not governed by RE_LIMITED_OPS
	* lib/dfa.c (lex): Pay no attention to RE_LIMITED_OPS when
	deciding how to parse '\n', since regcomp.c doesn’t.

	dfa: new option DFA_STRAY_BACKSLASH_WARN
	This is for grep, which wants to warn about stray backslashes that
	lead to unspecified behavior.  For example, "grep -oi '\a'"
	surprisingly is not equivalent to "grep -oi 'a'", so the stray
	backslash should be warned about.
	* lib/dfa.c: Include wctype.h, for iswprint and iswspace.
	(lex): Add support for DFA_STRAY_BACKSLASH_WARN.
	* lib/dfa.h (DFA_STRAY_BACKSLASH_WARN): New constant.

	dfa: new option DFA_CONFUSING_BRACKETS_ERROR
	This is for grep, which wants [:alpha:] to be an error
	at the top level.
	* lib/dfa.c (struct regex_syntax): New member dfaopts,
	replacing anchor.  All uses changed.
	(parse_bracket_exp): Error, not warn, if DFA_CONFUSING_BRACKETS_ERROR.
	* lib/dfa.h (DFA_CONFUSING_BRACKETS_ERROR): New constant.

2022-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	strstr-simple: pacify GCC 12.1
	* lib/str-two-way.h (two_way_long_needle): Pacify GCC 12.1
	-Wsuggest-attribute=pure (x86-64, -O2).

2022-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: steer cleer of POSIX-reserved symbols
	* lib/dfa.c (str_eq): Rename from streq.  All uses changed.
	(c_isdigit): Rename from isasciidigit.  The function worked in
	EBCDIC so it wasn’t ASCII-specific anyway.  All uses changed.

2022-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime: support 'J' military time zone
	Requested by Brian Inglis in:
	https://savannah.gnu.org/support/?110644
	* lib/parse-datetime.y (parser_control): New member J_zones_seen.
	(item): New item 'J'.
	(military_table): Add 'J'.
	(parse_datetime_body): Set and use J_zones_seen.
	* tests/test-parse-datetime.c (main): Test "J".

2022-05-15  Reuben Thomas  <rrt@sc3d.org>

	doc: Update regex documentation to match implementation.
	* doc/regex.texi: remove Emacs-specific documentation; match code.
	Remove mention of both Emacs and non-Emacs syntax tables, as these
	are no longer supported by the code.  Document the word character
	class (alnum + _).  Add documentation for \s and \S.  Replace
	mentions of #defining emacs with RE_NO_GNU_OPS (which takes effect
	in the opposite sense); merge the node “GNU Emacs Operators” into
	“GNU Operators”.  For \` and \', refer to the “whole string” rather
	than the (Emacs) “buffer”.

2022-05-15  Bruno Haible  <bruno@clisp.org>

	string, wchar: Fix compilation error on MSVC (regression 2021-09-07).
	* lib/string.in.h (free): For MSVC, add the dllimport specification if
	the MSVC headers have it.
	* lib/wchar.in.h (free): Likewise.

2022-05-14  Bruno Haible  <bruno@clisp.org>

	glob tests: Fix a warning (regression from 2022-03-23).
	* tests/test-glob.c: Include <fcntl.h>.
	* modules/glob-tests (Depends-on): Add fcntl-h.

2022-05-14  Bruno Haible  <bruno@clisp.org>

	termcap: Fix link error when no suitable library is found.
	* m4/termcap.m4 (gl_TERMCAP_BODY): If no suitable library is found,
	set LIBTERMCAP and LTLIBTERMCAP to empty.

2022-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: fix bug with ‘.’ and UTF-8 Hangul Syllables
	This fixes a bug introduced in 2019-12-18T05:41:27Z!eggert@cs.ucla.edu,
	an earlier patch that fixed dfa.c to not match invalid UTF-8.
	Unfortunately that patch had a couple of typos when dfa.c is
	matching against the regular expression ‘.’ (dot).  One typo
	caused dfa.c to incorrectly reject the valid UTF-8 sequences
	(ED)(90-9F)(80-BF) corresponding to U+D400 through U+D7FF, which
	are some Hangul Syllables and Hangul Jamo Extended-B.  The other
	typo caused dfa.c to incorrectly reject the valid sequences
	(F4)(88-8F)(80-BF)(80-BF) which correspond to U+108000 through
	U+10FFFF (Supplemental Private Use Area plane B).
	* lib/dfa.c (utf8_classes): Fix typos.
	* tests/test-dfa-match.sh: Test the fix.

2022-05-12  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: update C warnings for GCC 12
	Adjust for C programs compiled by GCC 12.
	(A C++ expert still needs to look at manywarnings-c++.m4.)
	* build-aux/gcc-warning.spec: Add warnings introduced in GCC 12.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbidi-chars=any,ucn
	and -Wuse-after-free=3.  Although not enabled by -Wall or -Wextra
	they seem suitable for Gnulib-using C code.

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

	parse-datetime: remove Emacs cruft
	* lib/parse-datetime.y: Remove an ‘ifdef emacs’.  Emacs has never
	used this module.  The module is derived from code taken from
	Emacs, but that code was removed from Emacs in the 1990s.

2022-05-11  Bruno Haible  <bruno@clisp.org>

	alloca: Remove old code for Emacs, unused since 2009.
	Reported by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-05/msg00032.html>.
	* lib/alloca.c: Remove Emacs specific code.

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

	libc-config: update to match cdefs
	* lib/libc-config.h (__attribute_alloc_align__)
	(__attribute_maybe_unused, __fortified_attr_access)
	(__glibc_fortify, __glibc_fortify_n, __glibc_likely)
	(__glibc_safe_len_cond, __glibc_safe_or_unknown_len)
	(__glibc_unsafe_len, __glibc_unsigned_or_positive, __wur):
	Undef these too, since lib/cdefs.h now defines them
	unconditionally.

	cdefs: merge from glibc
	* lib/cdefs.h (__glibc_safe_or_unknown_len):
	Use glibc’s newer version.

2022-05-02  Paul Eggert  <eggert@cs.ucla.edu>

	gettime-res: help the compiler
	* lib/gettime-res.c (gettime_res): Pacify GCC versions that
	incorrectly complain about earlier.tv_sec not being initialized.
	Let GCC know that gcd args are always positive.

	af_alg: port to Ubuntu 22.04
	Without this patch, maintainer builds of coreutils fail on Ubuntu
	22.04 with diagnostics like "./lib/gl_openssl.h:79:1: error:
	'MD5_Init' is deprecated: Since OpenSSL 3.0
	[-Werror=deprecated-declarations]".  From
	<https://wiki.openssl.org/index.php/OpenSSL_1.1.0_Changes>
	it appears that Gnulib needs to either define OPENSSL_API_COMPAT
	to a version less than 3.0, or use a compatibility layer, or
	assume OpenSSL 1.1.0 or later.  The simplest workaround is to
	define OPENSSL_API_COMPAT for 1.1.1, the oldest OpenSSL release
	still supported.  A better fix would be to rewrite the code to
	assume OpenSSL 1.1.1 or later, and stop using the older API.
	* lib/md5.h, lib/sha1.h, lib/sha256.h, lib/sha512.h, lib/sm3.h:
	Define OPENSSL_API_COMPAT to 0x10101000L to suppress
	the deprecation warnings on Ubuntu 22.04.

2022-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	vasnprintf: Simplify. Reduce binary code size.
	* lib/vasnprintf.c (VASNPRINTF): Coalesce cleanup code.

	vasnprintf: Simplify 'result' variable.
	* lib/vasnprintf.c (VASNPRINTF): Simplify initialization and test of
	'result' variable.

	vasnprintf: Simplify a free() call.
	* lib/vasnprintf.c (divide): Just call
	free (x) instead of doing ‘if (x != NULL) free (x);’.

2022-04-30  Bruno Haible  <bruno@clisp.org>

	string: Avoid syntax error on glibc systems with GCC 11.
	Reported by Tom Tromey <tromey@adacore.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-04/msg00075.html>
	and by Satadru Pramanik <satadru@umich.edu> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-04/msg00076.html>.
	* lib/string.in.h (strndup): Don't rededeclare strndup if it is defined
	as a macro.

2022-04-28  Simon Marchi  <simon.marchi@efficios.com>  (tiny change)

	stdlib: Fix error in C++ mode on glibc systems (regr. 2022-04-13).
	* lib/stdlib.in.h (free): Add exception specification like glibc does.

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

	glob: improve config and test cleanup
	Config problem reported by Benno Schulenberg in:
	https://lists.gnu.org/r/bug-gnulib/2022-04/msg00071.html
	* m4/glob.m4 (gl_GLOB): Clean up temporary file.
	Also, name it conf$$-file not conf-file, so it’s cleaned
	up on interrupt.
	* modules/glob-tests (MOSTLYCLEANFILES):
	Append test-glob.tglobfile, test-glob.tgloblink[123].

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

	glob: port to NetBSD 9.2
	Problem reported by Benno Schulenberg in:
	https://lists.gnu.org/r/bug-gnulib/2022-04/msg00052.html
	* doc/posix-functions/dirfd.texi: Document NetBSD 9.2 portability
	bugs.  Remove an old comment about errno that is no longer true
	of POSIX 2018.
	* lib/glob.c (glob_in_dir): Convert dirfd arg from void *
	to DIR * before passing it to dirfd.

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

	regex: match [...---...] like V7 grep
	Problem reported by Arnold Robbins in:
	https://bugs.gnu.org/20657
	https://lists.gnu.org/r/bug-gnulib/2022-04/msg00053.html
	* lib/regcomp.c (peek_token_bracket): Let [...---...] match '-'.
	This is an extension to POSIX, and matches V7 Unix grep.

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

	backupfile: fix bug when renaming simple backups
	* lib/backupfile.c (backupfile_internal): Fix bug when RENAME
	and when doing simple backups.  Problem reported by Steve Ward in:
	https://bugs.gnu.org/55029

	gettime-res: more-robust sampling
	* lib/gettime-res.c (gettime_res): If adjacent timestamps are
	identical search for a differing timestamp.  Also, stop collecting
	samples thereafter since they surely won’t help.

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

	Port _GL_HAS_C_ATTRIBUTE to pedantic gcc -std=c99
	* m4/gnulib-common.m4 (_GL_HAS_C_ATTRIBUTE):
	Disable -Wpedantic if using __has_c_attribute and this is not C2x.

	verify: port to pedantic gcc -std=c99
	* lib/verify.h (_GL_VERIFY): If we lack both _Static_assert and
	static_assert, suppress -Wnexted-externs.

	gettime-res: add tests
	* modules/gettime-res-tests, tests/test-gettime-res.c: New files.

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

	verify: port to Mac OS 10.7.5
	Mac OS 10.7.5 clang sets __clang_major__ to 4 even though it was
	derived from Clang 3.2.  Problem reported by Werner Lemberg in:
	https://lists.gnu.org/r/emacs-devel/2022-04/msg00779.html
	* lib/verify.h (_GL_HAVE__STATIC_ASSERT): Don’t define to 1
	when __clang_major__ == 4 && !__cplusplus
	&& __STDC_VERSION__ < 201112L && !defined __STRICT_ANSI__.

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

	sigsegv: Fix compilation error on arceb CPUs.
	Reported by Fabrice Fontaine <fontaine.fabrice@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-04/msg00028.html>.
	* m4/stack-direction.m4 (SV_STACK_DIRECTION): Treat the 'arc' variants
	like 'arc'.

2022-04-13  Bruno Haible  <bruno@clisp.org>

	string, wchar: Fix error in C++ mode on glibc systems with clang.
	* lib/string.in.h (free): Add exception specification like glibc does.
	* lib/wchar.in.h (free): Likewise.

2022-04-13  Bruno Haible  <bruno@clisp.org>

	string: Fix errors in C++ mode on glibc systems with clang.
	* lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
	strstr, strcasestr): Use _GL_CXXALIASWARN1 also with clang, and add
	exception specification.

2022-04-13  Bruno Haible  <bruno@clisp.org>

	math: Fix errors in C++ mode on glibc systems with clang.
	* lib/math.in.h (GNULIB_NAMESPACE_LACKS_ISFINITE,
	GNULIB_NAMESPACE_LACKS_ISINF, GNULIB_NAMESPACE_LACKS_ISNAN,
	GNULIB_NAMESPACE_LACKS_SIGNBIT): New macros.
	* tests/test-math-c++.cc (isfinite): Skip test if
	GNULIB_NAMESPACE_LACKS_ISFINITE is 1.
	(isinf): Skip test if GNULIB_NAMESPACE_LACKS_ISINF is 1.
	(isnan): Skip test if GNULIB_NAMESPACE_LACKS_ISNAN is 1.
	(signbit): Skip test if GNULIB_NAMESPACE_LACKS_SIGNBIT is 1.

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

	libgmp: pacify Clang too
	* lib/mini-gmp-gnulib.c [NDEBUG]: Also use -Wunused-variable if clang.
	Problem reported for Emacs by Mattias Engdegård.

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

	init.sh: don’t assume gzip
	* tests/init.sh (rand_bytes_): Don’t assume gzip is installed.
	I found this while testing gzip installation on a platform where I
	had removed the installed gzip.  gzip is executed only on
	platforms lacking mktemp and /dev/urandom so this code is rarely
	used; however, these platforms might also lack gzip since gzip
	is neither specified by POSIX or required by the GNU Coding Standards.

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

	glob: sync better with glibc
	* lib/glob.c (dirfd) [_LIBC]: Use #undef instead of #ifdef.
	Problem reported by DJ Delorie.

2022-03-23  Paul Eggert  <eggert@cs.ucla.edu>

	glob: test for glibc bug 25659
	https://sourceware.org/bugzilla/show_bug.cgi?id=25659
	* m4/glob.m4 (gl_GLOB): Replace glob if it has bug 25659.
	* tests/test-glob.c (main): Test for glibc bug 25659.

	glob: fix symlink and // issues; improve speed
	* lib/glob.c: Include fcntl.h.
	(dirfd) [_LIBC]: New macro.
	(GLOB_STAT64, GLOB_LSTAT64): Remove.  Replace all uses with ...
	(GLOB_FSTATAT64): ... this new macro.
	(glob_in_dir): Treat DT_LNK like DT_UNKNOWN.
	Use directory-relative fstatat unless GLOB_ALTDIRFUNC, or dirfd fails.
	Avoid duplicate strlen (directory).
	Work even if directory is "/", without turning it into "//".
	Use a scratch buffer instead of by-hand alloca stuff.
	Use mempcpy and memcpy instead of stpcpy and strcpy.
	* modules/glob (Depends-on): Add dirfd, fstatat.  Remove stat.
	(License): Change from LGPLv2+ to GPL, since it depends on
	fstatat.

2022-03-23  DJ Delorie  <dj@redhat.com>

	glob: resolve DT_UNKNOWN via is_dir

	The DT_* values returned by getdents (readdir) are only hints and
	not required.  In fact, some Linux filesystems return DT_UNKNOWN
	for most entries, regardless of actual type.  This causes make
	to mis-match patterns with a trailing slash (via GLOB_ONLYDIR)
	(see make's functions/wildcard test case).  Thus, this patch
	detects that case and uses is_dir() to make the type known enough
	for proper operation.

	Performance in non-DT_UNKNOWN cases is not affected.

	The lack of DT_* is a well known issue on older XFS installations
	(for example, RHEL 7 and 8, Fedora 28) but can be recreated by
	creating an XFS filesystem with flags that mimic older behavior:

	$ fallocate -l 10G /xfs.fs
	$ mkfs.xfs -n ftype=0 -m crc=0 -f /xfs.fs
	$ mkdir /xfs
	$ mount -o loop /xfs.fs /xfs

2022-03-20  Jim Meyering  <meyering@fb.com>

	maint: bootstrap: split a too-long line
	* build-aux/bootstrap (git_modules_config): Split longer-than-80 line.

2022-03-14  Simon Josefsson  <simon@josefsson.org>

	announce-gen: Modernize GnuPG key retrieval suggestions.  Based on
	patch by Darshit Shah in:
	https://lists.gnu.org/archive/html/bug-gnulib/2022-03/msg00022.html
	* build-aux/announce-gen (usage): Add --gpg-key-email and
	--gpg-keyring-url.
	(main): Support the new options.
	(main): Don't suggest 'gpg --keyserver' since the situation with
	public key servers is complicated and GnuPG version dependent.

	maintainer-makefile: Improve GnuPG announce-gen options.
	* top/maint.mk (gpg_key_emil): New variable.
	(gpg_keyring_url): New variable.
	(announcement): Pass them as --gpg-key-email and
	--gpg-keyring-url.

2022-03-13  Ben Pfaff  <blp@cs.stanford.edu>

	Document Automake 1.14 requirement in NEWS, too, since it had been
	documented there before for the Automake 1.11 requirement.
	* NEWS: Mention the change.

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

	sigsegv: Add support for Linux/PowerPC (32-bit) with musl libc.
	Reported by Khem Raj <raj.khem@gmail.com> in
	<https://lists.gnu.org/archive/html/m4-patches/2022-03/msg00000.html>.
	* src/sigsegv.c (SIGSEGV_FAULT_STACKPOINTER): In the Linux/PowerPC
	32-bit case, handle musl libc differently.
	* modules/sigsegv (Files): Add m4/musl.m4.
	(configure.ac): Invoke gl_MUSL_LIBC.

2022-03-11  Paul Eggert  <eggert@cs.ucla.edu>

	regex: fix double-free
	* lib/regex_internal.c (re_dfa_add_node): Don’t free storage
	twice if an allocation fails.

	regex: fix minor over-allocation
	* lib/regexec.c (push_fail_stack): Fix off-by-one error that
	over-allocated the stack.

	regex: fix free_fail_stack undefined behavior
	* lib/regexec.c (push_fail_stack): Don’t increment number of
	re_fail_stack_t entries until after successful allocation.  This
	prevents a crash if re_realloc or re_malloc fails here, and a
	later free_fail_stack examines regs or a later pop_fail_stack
	examines node.  Problem discovered by Coverity scan sent
	2022-03-11 11:03:52Z.

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

	fts: revert change to use AT_NO_AUTOMOUNT
	* NEWS: Don’t mention AT_NO_AUTOMOUNT.
	* lib/fts.c (fts_stat): Don’t use AT_NO_AUTOMOUNT, as
	it has no effect with fstatat.

2022-03-09  Paul Eggert  <eggert@cs.ucla.edu>

	statat: now obsolete
	* lib/openat.h (statat, lstatat): Now deprecated.
	All uses removed, and replaced with fstatat.
	* modules/statat: Mark as obsolete, because it’s confusing:
	it’s not clear whether it should use AT_NO_AUTOMOUNT,
	which is implied by stat and by lstat, but not by fstatat.
	* tests/test-statat.c: Disable deprecated-declarations warnings.

	fts: be consistent about AT_NO_AUTOMOUNT
	* lib/fts.c (fts_stat): Use fstatat with AT_NO_AUTOMOUNT
	consistently, instead of sometimes using stat (which implies
	AT_NO_AUTOMOUNT) and sometimes using fstatat without AT_NO_AUTOMOUNT.
	Remove a goto while we’re at it.

2022-03-07  Pádraig Brady  <P@draigBrady.com>

	fcntl-h: add AT_NO_AUTOMOUNT
	* lib/fcntl.in.h: Define AT_NO_AUTOMOUNT to 0 where not defined.
	This is available on Linux since 2.6.38.

2022-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	Create lib/Makefile.am after gnulib-comp.m4
	* gnulib-tool (func_import): Create library makefile after
	creating gnulib-comp.m4.  With --gnu-make, the latter depends on
	the former.  See <https://bugs.gnu.org/32452#109>.

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

	gettime-res: fix unlikely overflow bug
	* lib/gettime-res.c (gettime_res): Fix bug when hz * tv_sec overflows.
	With 64-bit ‘long’ and nanosecond resolution the bug can occur
	starting in the year 2262, with probability about 2e-9.
	With 32-bit ‘long’ the bug can occur now, with same probability.
	The probability goes up on hosts with worse timestamp resolution.

	Document clang -fsanitize=undefined glitch
	* doc/gnulib-intro.texi (Unsupported Platforms):
	Document incompatibility of ‘clang -fsanitize=undefined’
	with Gnulib, and how to work around it by also using
	‘-fno-sanitize=pointer-overflow’.

2022-02-25  Darshit Shah  <darnir@gnu.org>

	modules/unicase/special-casing: Fix compilation error
	* modules/unicase/special-casing: Don't prepend $(AM_V_at) to the
	second part of a compound command.  It causes make to try and
	execute the command "@sed" which doesn't exist.

2022-02-25  Paul Eggert  <eggert@cs.ucla.edu>

	Port __has_attribute to Apple’s Clang renumbering
	Problem reported by Kirill A. Korinsky in:
	https://lists.gnu.org/r/bug-gnulib/2022-02/msg00034.html
	* config/srclist.txt: Comment out sys/cdefs.h for now.
	* lib/cdefs.h (__glibc_has_attribute):
	* m4/gnulib-common.m4 (gl_COMMON_BODY):
	Port to Apple’s renumbering of Clang versions.

	nanosleep: simplify by using pselect
	GNU Emacs avoids Gnulib’s ‘select’ module and uses only pselect,
	which it implements in a special way on MS-DOS.
	Unfortunately, though, nanosleep uses ‘select’;
	problem reported by Lars Ingebrigtsen (Bug#32452#74).
	As far as I can tell, Gnulib nanosleep's use of
	‘select’ with signals is only for ancient platforms
	that Gnulib no longer cares about, so remove that use of ‘select’.
	I don’t know of any platforms that still need this fallback code,
	but just in case, fall back to pselect instead, while removing
	signal handling that it shouldn’t be needed nowadays.
	* lib/nanosleep.c: Do not include sig-handler.h, sys/time.h.
	(SIGCONT, suspended, sighandler, my_usleep): Remove.
	(nanosleep) [!HAVE_BUG_BIG_NANOSLEEP && !(_WIN32 && !__CYGWIN__)]:
	Just call pselect.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Do not check for sys/time.h
	or call gl_FUNC_SELECT.  Do not include sys/time.h or worry
	about LIBSOCKET.
	(gl_PREREQ_NANOSLEEP): Remove as it’s no longer needed.
	All uses removed.
	* modules/nanosleep (Depends-on): Add pselect.
	Remove select, sigaction, sys_time.

2022-02-24  Paul Eggert  <eggert@cs.ucla.edu>

	userspec: warn about '.' separator
	Problem reported by Dan Jacobson (Bug#44770).
	* lib/userspec.c: Don’t include stdbool.h since it’s now in our API.
	(parse_user_spec_warn): New function, broken out of parse_user_spec
	and with a new PWARN arg.
	(parse_user_spec): Use it.
	* lib/userspec.h: Include stdbool.h and declare new function.
	* tests/test-userspec.c (struct test.in): Now a char array
	so that it can be modified.
	(T): Make the placeholder a valid test, as that simplifies
	the code.  Omit NULL placeholder at the end, likewise.
	(main): Set up T in the new way, and test that the "."  separator
	acts like the ":" separator except with a warning if it works.

	userspec: no need for static vars
	* lib/userspec.c (parse_with_separator): Simplify.

2022-02-22  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)

	doc: add two missing closing parentheses
	* doc/regex.texi (Syntax Bits): Add missing closing parenthesis.
	* doc/regex.texi (BSD Regular Expression Compiling): Likewise.

2022-02-22  Simon Josefsson  <simon@josefsson.org>

	gnulib-tool: Bump automake dependency.
	* gnulib-tool (func_emit_lib_Makefile_am)
	(func_emit_tests_Makefile_am): Demand Automake ≥ 1.14, for
	%reldir%.

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

	close-stream: don't depend on fclose
	This reverts 2022-01-26T17:33:03Z!eggert@cs.ucla.edu.
	Depending on fclose broke Emacs, and since this dependency didn't
	help GNU m4 let's remove it for now.  Problem reported by
	Lars Ingebrigtsen <https://bugs.gnu.org/32452#47>.
	* modules/close-stream (Depends-on): Remove fclose.

2022-02-20  Bruno Haible  <bruno@clisp.org>

	Document that Automake ≥ 1.14 is needed (regression 2021-12-15).
	Reported by Simon Josefsson and Mike Frysinger in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-02/msg00010.html>.
	* DEPENDENCIES (Automake): Require version 1.14 or newer.

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

	mktime: improve heuristic for ca-1986 Indiana DST
	Problem reported by Mark Krenz <https://bugs.gnu.org/48085>.
	* lib/mktime.c (__mktime_internal): Be more generous about
	accepting arguments with the wrong value of tm_isdst, by falling
	back to a one-hour DST difference if we find no nearby DST that is
	unusual.  This fixes a problem where "1986-04-28 00:00 EDT" was
	rejected when TZ="America/Indianapolis" because the nearest DST
	timestamp occurred in 1970, a temporal distance too great for the
	old heuristic.  This also also narrows the search a bit, which
	is a minor performance win.
	* m4/mktime.m4 (gl_FUNC_MKTIME_WORKS):
	Check for putenv failures and for Bug#48085.
	* tests/test-parse-datetime.c (main):
	Test for setenv failures and for Bug#48085.

2022-02-12  Paul Eggert  <eggert@cs.ucla.edu>

	filevercmp: fix several unexpected results
	Problems reported by Michael Debertol in <https://bugs.gnu.org/49239>.
	While looking into this, I spotted some more areas where the
	code and documentation did not agree, or where the documentation
	was unclear.  The biggest change needed by coreutils is a new
	function filenvercmp that can compare byte strings containing NUL.
	* lib/filevercmp.c: Do not include sys/types.h, stdlib.h, string.h.
	Include idx.h, verify.h.
	(match_suffix): Remove, replacing all uses with calls to ...
	(file_prefixlen): ... this new function.  Simplify it by
	avoiding the need for a confusing READ_ALPHA state variable.
	Change its API to something more useful, with a *LEN arg.
	it with a new *LEN arg.
	(file_prefixlen, verrevcmp):
	Prefer idx_t to size_t where either will do.
	(order): Change args to S, POS, LEN instead of just S[POS].
	This lets us handle NUL bytes correctly.  Callers changed.
	Verify that ints are sufficiently wide for its API.
	(verrevcmp): Don't assume that S1[S1_LEN] is a non-digit,
	and likewise for S2[S2_LEN].  The byte might not be accessible
	if filenvercmp is being called.
	(filevercmp): Reimplement by calling filenvercmp.
	(filenvercmp): New function, rewritten without the assumption
	that the inputs are null-terminated.
	Remove "easy comparison to see if strings are identical", as the
	use of it later (a) was undocumented, and (b) caused sort -V to be
	unstable.  When both strings start with ".", do not skip past
	the "."s before looking for suffixes, as this disagreed
	with the documentation.
	* lib/filevercmp.h: Fix comments, which had many mistakes.
	(filenvercmp): New decl.
	* modules/filevercmp (Depends-on): Add idx, verify.  Remove string.
	* tests/test-filevercmp.c: Include string.h.
	(examples): Reorder examples ".0" and ".9" that matched the code
	but not the documentation.  The code has been fixed to match the
	documentation.  Add some examples involving \1 so that they
	can be tried with both \1 and \0.  Add some other examples
	taken from the bug report.
	(equals): New set of test cases.
	(sign, test_filevercmp): New functions.
	(main): Remove test case where the fixed filevercmp disagrees with
	strverscmp.  Use test_filevercmp instead of filevercmp, so that
	we also test filenvercmp.  Test the newly-introduced EQUALS cases.

2022-02-09  Bruno Haible  <bruno@clisp.org>

	string: Fix "mismatched allocation function" warnings regarding strndup.
	* lib/string.in.h (strndup): Mark with _GL_ATTRIBUTE_MALLOC and
	_GL_ATTRIBUTE_DEALLOC_FREE. For GCC >= 11: Declare also when the
	platform already declares the function or when the module 'strndup' is
	not in use.

2022-02-09  Bruno Haible  <bruno@clisp.org>

	unictype/category-byname: Fix test failure.
	* modules/unictype/category-byname (configure.ac): Bump required
	libunistring version.

2022-02-06  Bruno Haible  <bruno@clisp.org>

	termcap, termcap-h: Deprecate.
	* modules/termcap (Status, Notice): Add deprecation.
	* modules/termcap-h (Status, Notice): Likewise.

2022-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime: allow calculations to yield -1
	Problem reported by Jeremy Cantrell <https://bugs.gnu.org/50115>.
	* lib/parse-datetime.y (parse_datetime_body): When calling mktime,
	use an unmodifed and negative tm_wday or tm_yday to detect an error,
	as a (time_t) -1 return value is valid on most hosts.
	* tests/test-parse-datetime.c (main): Add a test for the bug.

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

	userspec: help fix GNU ‘id’ incompatibility
	* lib/userspec.c (parse_with_separator):
	Don’t set *username to a numeric string that is not a user name,
	and similarly for *groupname.  Needed to fix Bug#53631.

2022-01-30  Pádraig Brady  <P@draigBrady.com>

	argmatch: add variants that only match full argument
	* lib/argmatch.h (argmatch_exact, [X]ARGMATCH_EXACT): New interfaces
	that don't allow abbreviations.
	* lib/argmatch.c (argmatch_exact): Likewise.
	(__xargmatch_internal): Add a bool parameter to disable abbreviations.
	* tests/test-argmatch.c: Add tests.

2022-01-30  Bruno Haible  <bruno@clisp.org>

	tests: Fix interpretation of setupterm's return code.
	* tests/test-terminfo.c (main): Test the value of err when setupterm
	fails, not when it succeeds.
	* tests/test-termcap.c (main): Likewise.

2022-01-30  Bruno Haible  <bruno@clisp.org>

	terminfo: Add tests.
	* tests/test-terminfo.c: New file.
	* modules/terminfo-tests: New file.

	terminfo, terminfo-h: New modules.
	* lib/terminfo.h: New file, from GNU gettext.
	* m4/terminfo.m4: New file, from GNU gettext.
	* modules/terminfo: New file, from GNU gettext.
	* modules/terminfo-h: New file, from GNU gettext.

2022-01-30  Bruno Haible  <bruno@clisp.org>

	termcap: Add tests.
	* tests/test-termcap.c: New file.
	* modules/termcap-tests: New file.

	termcap, termcap-h: New modules.
	* lib/termcap.h: New file, from GNU gettext.
	* lib/tparm.c: New file, from GNU gettext.
	* lib/tputs.c: New file, from GNU gettext.
	* m4/termcap.m4: New file, from GNU gettext.
	* m4/curses.m4: New file, from GNU gettext.
	* modules/termcap: New file, from GNU gettext.
	* modules/termcap-h: New file, from GNU gettext.

2022-01-29  Bruno Haible  <bruno@clisp.org>

	doc: Clarify MSVC support.
	* doc/gnulib-intro.texi (Supported Platforms): Document that "debug"
	builds are unsupported.

2022-01-28  Pádraig Brady  <P@draigBrady.com>

	maintainer-makefile: fix sc_error_message_uppercase false failure
	* top/maint.mk (sc_error_message_uppercase): Don't trigger for
	any of the PRI... defines.

2022-01-27  Paul Eggert  <eggert@cs.ucla.edu>

	alignalloc: work around AddressSanitizer bug
	* doc/posix-functions/aligned_alloc.texi (aligned_alloc):
	Mention AddressSanitizer bug.
	* lib/alignalloc.h (ALIGNALLOC_VIA_ALIGNED_ALLOC):
	Define to 0 if AddressSanitizer is in use.
	* tests/test-alignalloc.c (test_alignalloc): New function,
	which tests for non-aligned sizes too.
	(main): Use it.  Don’t bother checking for alignments
	greater than 16 MiB, as this flummoxes AddressSanitizer
	and there seems little point to testing them.

	doc: use UTF-8 encoding
	* doc/gnulib.texi: Use ‘@documentencoding UTF-8’.
	Partly this is because there are a few UTF-8 characters
	in the .texi files and there seems little point nowadays
	to @U-ifiying them.  And partly it is so that the .info
	output uses nicer UTF-8 characters, e.g., it single-quotes
	‘like this’ instead of 'like this'.

	maint: Update copyright notices
	* build-aux/announce-gen, build-aux/declared.sh:
	* build-aux/git-version-gen, build-aux/gitlog-to-changelog:
	* build-aux/gnu-web-doc-update, build-aux/gnupload:
	* build-aux/increment-serial, build-aux/libtool-next-version:
	* build-aux/useless-if-before-free:
	Update some copyright notices by hand, that were not
	updated automatically.

2022-01-26  Paul Eggert  <eggert@cs.ucla.edu>

	calloc-gnu: fix misspelling in 2022-01-03 patch
	Problem reported by Thien-Thi Nguyen in:
	https://lists.gnu.org/r/bug-gnulib/2022-01/msg00170.html
	* modules/calloc-gnu (Depends-on):
	* modules/calloc-posix (Depends-on):
	Fix misspelling of REPLACE_CALLOC_FOR_CALLOC_POSIX.

	close-stream: avoid crash on MSVC Debug mode
	Problem reported by Julien Marrec in:
	https://lists.gnu.org/r/bug-m4/2022-01/msg00000.html
	* modules/close-stream (Depends-on): Depend on fclose.

2022-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	xstrtoimax, xstrtoumax: depend on inttypes-incomplete
	This fixes a call to strtoimax without declaring it,
	and similarly for strtoumax.
	* lib/xstrtoimax.c, lib/xstrtoumax.c (XSTRTOL_INCLUDE_INTTYPES_H):
	Define, so that strtoimax and strtoumax are declared.
	* lib/xstrtol.c [XSTRTOL_INCLUDE_INTTYPES_H]: Include inttypes.h.
	* modules/xstrtoimax, modules/xstrtoumax (Depends-on):
	Add inttypes-incomplete.

	alignalloc, xalignalloc: new modules
	* lib/alignalloc.c, lib/alignalloc.h, lib/xalignalloc.c:
	* m4/alignalloc.m4, modules/alignalloc, modules/alignalloc-tests:
	* modules/xalignalloc, tests/test-alignalloc.c:
	New files.

2022-01-17  Paul Eggert  <eggert@cs.ucla.edu>

	extern-inline: improve macOS port
	* m4/extern-inline.m4 (gl_EXTERN_INLINE):
	Define HAVE___HEADER_INLINE at configure-time, so that config.h
	knows the workaround is not needed even though ctype.h has not yet
	been included.  This lets the compiler use extern inline functions
	on newer macOS platforms, instead of static inline.
	Problem reported by Reuben Thomas in:
	https://lists.gnu.org/r/bug-gnulib/2022-01/msg00130.html

2022-01-17  Bruno Haible  <bruno@clisp.org>

	xstrtol: Trim dependencies.
	* lib/xstrtol.h: Include <stdint.h>, not <inttypes.h>.
	* modules/xstrtol (Depends-on): Add stdint. Remove inttypes-incomplete.

2022-01-17  Bruno Haible  <bruno@clisp.org>

	xstrtol: Fix compilation error (regression 2022-01-16).
	* modules/xstrtol (Depends-on): Add intprops.

2022-01-17  Jim Meyering  <meyering@fb.com>

	xstrtol: remove unnecessary else after return
	* lib/xstrtol.c (bkm_scale): Drop "else" after return.

2022-01-16  Paul Eggert  <eggert@cs.ucla.edu>

	xstrtol: simplify integer overflow checking
	* lib/xstrtol.c: Include intprops.h.
	(TYPE_SIGNED): Remove, as intprops.h defines that for us now.
	(bkm_scale): Use INT_MULTIPLY_WRAPV instead of checking for
	overflow by hand.

	xstrtoll-tests: use %lld for long long
	* tests/test-xstrtoll.c, tests/test-xstrtoull.c (__spec):
	Do not assume long long is 64 bits, or that exact-width
	64-bit types exist.  Although these assumptions are true
	on current Gnulib platforms they are not true in general.
	Also, GCC warns if PRId64 is "ld" but intmax_t is long long
	even when long and long long are both 64 bits.

2022-01-15  Bruno Haible  <bruno@clisp.org>

	Don't pass unknown warning option to clang.
	Reported by Assaf Gordon via Paul Eggert in
	<https://lists.gnu.org/archive/html/coreutils/2022-01/msg00018.html>.
	* m4/gnulib-common.m4 (gl_CC_GNULIB_WARNINGS): Don't use
	-Wno-unsuffixed-float-constants with clang.

2022-01-15  Bruno Haible  <bruno@clisp.org>

	log tests: Avoid test failure with nvc 22.1.
	* tests/test-log.h (test_function): With nvc, expect up to 4 ulps error.

2022-01-15  Bruno Haible  <bruno@clisp.org>

	havelib: Recognize ELF platform despite nvc 22.1.
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Recognize Linux as an ELF
	platform, even with a compiler that does not define __ELF__.

2022-01-15  Bruno Haible  <bruno@clisp.org>

	oset-c++: Avoid compilation error with nvc++ 22.1.
	* lib/gl_oset.hh: With EDG C++ compilers, avoid 'friend'.

2022-01-14  Paul Eggert  <eggert@cs.ucla.edu>

	nstrftime: pacify nvc 22.1 unreachable statement
	* lib/nstrftime.c (__strftime_internal):
	Omit unreachable ‘break;’.

	tests: pacify nvc 22.1 unreachable statement
	* tests/test-sys_wait.h (test_sys_wait_macros):
	Widen scope of ‘#if 0’ so that there is not an unreachable ‘break;’.

	tests: pacify nvc 22.1 set-but-not-used
	* tests/test-fnmatch.c (main): Don’t set a var without using it.
	* tests/test-sched.c (f1): Now extern.

	intprops: work around nvc 22.1 bug
	Problem reported by Olivier Cessenat (Bug#53256).
	* lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW) [__EDG__]:
	Define to 0, since __builtin_add_overflow doesn’t work
	on NVIDIA HPC SDK 22.1.

	copy-file-range: work around Linux kernel bug
	This workaround is adapted from Coreutils.
	* lib/copy-file-range.c [__linux__ && HAVE_COPY_FILE_RANGE]:
	Include <sys/utsname.h>.
	(copy_file_range): Use a stub to replace the copy_file_range of
	Linux kernel versions 4.5 through 5.2.
	* lib/unistd.in.h (copy_file_range):
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
	* modules/copy-file-range (configure.ac):
	* modules/unistd (unistd.h):
	Support replacement of copy_file_range.
	* m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
	Define HAVE_COPY_FILE_RANGE if the system has copy_file_range,
	and on Linux check whether the system’s is known to work.

2022-01-14  Bruno Haible  <bruno@clisp.org>

	Avoid error "conditional LIBUNISTRING_COMPILE_... was never defined"
	when option --conditional-dependencies is used (regression 2022-01-09).
	Reported by Gavin Smith <gavinsmith0123@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-01/msg00099.html>.
	* m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Use gl_CONDITIONAL
	instead of AM_CONDITIONAL.

2022-01-13  Bruno Haible  <bruno@clisp.org>

	Avoid warning "_GL_ATTRIBUTE_DEALLOC_FREE redefined" (regr. 2022-01-04).
	Reported by Werner Lemberg <wl@gnu.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-01/msg00094.html>.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Avoid redefining
	_GL_ATTRIBUTE_DEALLOC_FREE.

2022-01-10  Paul Eggert  <eggert@cs.ucla.edu>

	backupfile: fix bug when renaming not from wd
	* lib/backupfile.c (backupfile_internal): Fix bug when DIR_FD
	does not specify the working directory, and when RENAME.
	Without the bug fix, FILE is treated as relative to the working
	directory, not relative to DIR_FD, when renaming FILE.
	This bug was introduced when DIR_FD and RENAME were introduced,
	in 2018-10-24T02:10:21Z!eggert@cs.ucla.edu.
	While we’re at it, when SDIR is nonnegative improve performance a
	bit by passing an SDIR-relative old name to renameatu.

2022-01-09  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Add support for LoongArch64 CPU.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define __loongarch64__. (GCC
	and clang predefine only __loongarch__, __loongarch64.)

2022-01-09  Bruno Haible  <bruno@clisp.org>

	stdio: Fix "missing file" errors (regression from today).
	* modules/stdio (Files): Add stdio-read.c, stdio-write.c.
	* m4/stdio_h.m4 (gl_STDIO_H): Update comments.

2022-01-09  Bruno Haible  <bruno@clisp.org>

	Use the GL_CFLAG_GNULIB_WARNINGS for most AC_LIBOBJ compilation units.
	* modules/_Exit (configure.ac): Define an Automake conditional. Remove
	the AC_LIBOBJ invocation.
	(Makefile.am): Augment lib_SOURCES, guarded by that Automake
	conditional.
	* modules/accept: Likewise.
	* modules/access: Likewise.
	* modules/acosf: Likewise.
	* modules/acosl: Likewise.
	* modules/aligned_alloc: Likewise.
	* modules/alphasort: Likewise.
	* modules/argz: Likewise.
	* modules/asinf: Likewise.
	* modules/asinl: Likewise.
	* modules/atan2f: Likewise.
	* modules/atanf: Likewise.
	* modules/atanl: Likewise.
	* modules/atexit: Likewise.
	* modules/atoll: Likewise.
	* modules/bind: Likewise.
	* modules/btowc: Likewise.
	* modules/c32rtomb: Likewise.
	* modules/canonicalize-lgpl: Likewise.
	* modules/cbrt: Likewise.
	* modules/cbrtf: Likewise.
	* modules/cbrtl: Likewise.
	* modules/ceil: Likewise.
	* modules/ceilf: Likewise.
	* modules/ceill: Likewise.
	* modules/chdir-long: Likewise.
	* modules/chown: Likewise.
	* modules/close: Likewise.
	* modules/closedir: Likewise.
	* modules/cnd: Likewise.
	* modules/connect: Likewise.
	* modules/copy-file-range: Likewise.
	* modules/copysign: Likewise.
	* modules/copysignf: Likewise.
	* modules/copysignl: Likewise.
	* modules/cosf: Likewise.
	* modules/coshf: Likewise.
	* modules/cosl: Likewise.
	* modules/creat: Likewise.
	* modules/crypto/gc: Likewise.
	* modules/ctime: Likewise.
	* modules/dirfd: Likewise.
	* modules/dup: Likewise.
	* modules/dup2: Likewise.
	* modules/duplocale: Likewise.
	* modules/error: Likewise.
	* modules/euidaccess: Likewise.
	* modules/execinfo: Likewise.
	* modules/execl: Likewise.
	* modules/execle: Likewise.
	* modules/execlp: Likewise.
	* modules/execv: Likewise.
	* modules/execve: Likewise.
	* modules/execvp: Likewise.
	* modules/execvpe: Likewise.
	* modules/exp2: Likewise.
	* modules/exp2f: Likewise.
	* modules/exp2l: Likewise.
	* modules/expf: Likewise.
	* modules/expl: Likewise.
	* modules/explicit_bzero: Likewise.
	* modules/expm1: Likewise.
	* modules/expm1f: Likewise.
	* modules/expm1l: Likewise.
	* modules/fabsf: Likewise.
	* modules/fabsl: Likewise.
	* modules/faccessat: Likewise.
	* modules/fchdir: Likewise.
	* modules/fchmodat: Likewise.
	* modules/fchownat: Likewise.
	* modules/fclose: Likewise.
	* modules/fcntl: Likewise.
	* modules/fdatasync: Likewise.
	* modules/fdopen: Likewise.
	* modules/fdopendir: Likewise.
	* modules/fflush: Likewise.
	* modules/ffs: Likewise.
	* modules/ffsl: Likewise.
	* modules/ffsll: Likewise.
	* modules/fileblocks: Likewise.
	* modules/float: Likewise.
	* modules/flock: Likewise.
	* modules/floor: Likewise.
	* modules/floorf: Likewise.
	* modules/floorl: Likewise.
	* modules/fma: Likewise.
	* modules/fmaf: Likewise.
	* modules/fmal: Likewise.
	* modules/fmod: Likewise.
	* modules/fmodf: Likewise.
	* modules/fmodl: Likewise.
	* modules/forkpty: Likewise.
	* modules/fpending: Likewise.
	* modules/fpurge: Likewise.
	* modules/freadable: Likewise.
	* modules/freadahead: Likewise.
	* modules/freadptr: Likewise.
	* modules/free-posix: Likewise.
	* modules/freopen: Likewise.
	* modules/frexpf: Likewise.
	* modules/fseek: Likewise.
	* modules/fseeko: Likewise.
	* modules/fseterr: Likewise.
	* modules/fstat: Likewise.
	* modules/fstatat: Likewise.
	* modules/fsusage: Likewise.
	* modules/fsync: Likewise.
	* modules/ftell: Likewise.
	* modules/ftello: Likewise.
	* modules/ftruncate: Likewise.
	* modules/fts: Likewise.
	* modules/futimens: Likewise.
	* modules/fwritable: Likewise.
	* modules/fwriting: Likewise.
	* modules/getaddrinfo: Likewise.
	* modules/getcwd: Likewise.
	* modules/getcwd-lgpl: Likewise.
	* modules/getdelim: Likewise.
	* modules/getdomainname: Likewise.
	* modules/getdtablesize: Likewise.
	* modules/getentropy: Likewise.
	* modules/getgroups: Likewise.
	* modules/gethostname: Likewise.
	* modules/getline: Likewise.
	* modules/getloadavg: Likewise.
	* modules/getlogin: Likewise.
	* modules/getlogin_r: Likewise.
	* modules/getopt-posix: Likewise.
	* modules/getpagesize: Likewise.
	* modules/getpeername: Likewise.
	* modules/getrandom: Likewise.
	* modules/getrusage: Likewise.
	* modules/getsockname: Likewise.
	* modules/getsockopt: Likewise.
	* modules/getsubopt: Likewise.
	* modules/gettimeofday: Likewise.
	* modules/getumask: Likewise.
	* modules/getusershell: Likewise.
	* modules/glob: Likewise.
	* modules/grantpt: Likewise.
	* modules/group-member: Likewise.
	* modules/hypot: Likewise.
	* modules/hypotf: Likewise.
	* modules/hypotl: Likewise.
	* modules/iconv_open: Likewise.
	* modules/ilogb: Likewise.
	* modules/ilogbf: Likewise.
	* modules/ilogbl: Likewise.
	* modules/imaxabs: Likewise.
	* modules/imaxdiv: Likewise.
	* modules/inet_ntop: Likewise.
	* modules/inet_pton: Likewise.
	* modules/ioctl: Likewise.
	* modules/isapipe: Likewise.
	* modules/isatty: Likewise.
	* modules/isblank: Likewise.
	* modules/isfinite: Likewise.
	* modules/isinf: Likewise.
	* modules/iswblank: Likewise.
	* modules/iswctype: Likewise.
	* modules/iswdigit: Likewise.
	* modules/iswxdigit: Likewise.
	* modules/lchmod: Likewise.
	* modules/lchown: Likewise.
	* modules/ldexpf: Likewise.
	* modules/ldexpl: Likewise.
	* modules/libgmp: Likewise.
	* modules/link: Likewise.
	* modules/linkat: Likewise.
	* modules/listen: Likewise.
	* modules/localeconv: Likewise.
	* modules/localtime: Likewise.
	* modules/log: Likewise.
	* modules/log10: Likewise.
	* modules/log10f: Likewise.
	* modules/log10l: Likewise.
	* modules/log1p: Likewise.
	* modules/log1pf: Likewise.
	* modules/log1pl: Likewise.
	* modules/log2: Likewise.
	* modules/log2f: Likewise.
	* modules/log2l: Likewise.
	* modules/logb: Likewise.
	* modules/logbf: Likewise.
	* modules/logbl: Likewise.
	* modules/logf: Likewise.
	* modules/login_tty: Likewise.
	* modules/logl: Likewise.
	* modules/lseek: Likewise.
	* modules/lstat: Likewise.
	* modules/mbrlen: Likewise.
	* modules/mbrtoc32: Likewise.
	* modules/mbrtowc: Likewise.
	* modules/mbsinit: Likewise.
	* modules/mbsnrtowcs: Likewise.
	* modules/mbsrtowcs: Likewise.
	* modules/mbtowc: Likewise.
	* modules/memalign: Likewise.
	* modules/memchr: Likewise.
	* modules/memcmp: Likewise.
	* modules/memcpy: Likewise.
	* modules/memmove: Likewise.
	* modules/mempcpy: Likewise.
	* modules/memrchr: Likewise.
	* modules/memset: Likewise.
	* modules/mkdir: Likewise.
	* modules/mkdirat: Likewise.
	* modules/mkdtemp: Likewise.
	* modules/mkfifo: Likewise.
	* modules/mkfifoat: Likewise.
	* modules/mknod: Likewise.
	* modules/mkostemp: Likewise.
	* modules/mkostemps: Likewise.
	* modules/mkstemp: Likewise.
	* modules/mkstemps: Likewise.
	* modules/modf: Likewise.
	* modules/modff: Likewise.
	* modules/modfl: Likewise.
	* modules/mountlist: Likewise.
	* modules/msvc-inval: Likewise.
	* modules/msvc-nothrow: Likewise.
	* modules/mtx: Likewise.
	* modules/nanosleep: Likewise.
	* modules/nl_langinfo: Likewise.
	* modules/obstack: Likewise.
	* modules/open: Likewise.
	* modules/openat: Likewise.
	* modules/opendir: Likewise.
	* modules/openpty: Likewise.
	* modules/pclose: Likewise.
	* modules/perror: Likewise.
	* modules/pipe-posix: Likewise.
	* modules/poll: Likewise.
	* modules/popen: Likewise.
	* modules/posix_memalign: Likewise.
	* modules/posix_openpt: Likewise.
	* modules/posix_spawn: Likewise.
	* modules/posix_spawn-internal: Likewise.
	* modules/posix_spawn_file_actions_addchdir: Likewise.
	* modules/posix_spawn_file_actions_addclose: Likewise.
	* modules/posix_spawn_file_actions_adddup2: Likewise.
	* modules/posix_spawn_file_actions_addfchdir: Likewise.
	* modules/posix_spawn_file_actions_addopen: Likewise.
	* modules/posix_spawn_file_actions_destroy: Likewise.
	* modules/posix_spawn_file_actions_init: Likewise.
	* modules/posix_spawnattr_destroy: Likewise.
	* modules/posix_spawnattr_getflags: Likewise.
	* modules/posix_spawnattr_getpgroup: Likewise.
	* modules/posix_spawnattr_getschedparam: Likewise.
	* modules/posix_spawnattr_getschedpolicy: Likewise.
	* modules/posix_spawnattr_getsigdefault: Likewise.
	* modules/posix_spawnattr_getsigmask: Likewise.
	* modules/posix_spawnattr_init: Likewise.
	* modules/posix_spawnattr_setflags: Likewise.
	* modules/posix_spawnattr_setpgroup: Likewise.
	* modules/posix_spawnattr_setschedparam: Likewise.
	* modules/posix_spawnattr_setschedpolicy: Likewise.
	* modules/posix_spawnattr_setsigdefault: Likewise.
	* modules/posix_spawnattr_setsigmask: Likewise.
	* modules/posix_spawnp: Likewise.
	* modules/powf: Likewise.
	* modules/pread: Likewise.
	* modules/pselect: Likewise.
	* modules/pthread-cond: Likewise.
	* modules/pthread-mutex: Likewise.
	* modules/pthread-once: Likewise.
	* modules/pthread-rwlock: Likewise.
	* modules/pthread-spin: Likewise.
	* modules/pthread-thread: Likewise.
	* modules/pthread-tss: Likewise.
	* modules/pthread_mutex_timedlock: Likewise.
	* modules/pthread_sigmask: Likewise.
	* modules/ptsname: Likewise.
	* modules/ptsname_r: Likewise.
	* modules/putenv: Likewise.
	* modules/pwrite: Likewise.
	* modules/qsort_r: Likewise.
	* modules/raise: Likewise.
	* modules/random: Likewise.
	* modules/random_r: Likewise.
	* modules/rawmemchr: Likewise.
	* modules/read: Likewise.
	* modules/readdir: Likewise.
	* modules/readline: Likewise.
	* modules/readlink: Likewise.
	* modules/readlinkat: Likewise.
	* modules/readutmp: Likewise.
	* modules/reallocarray: Likewise.
	* modules/recv: Likewise.
	* modules/recvfrom: Likewise.
	* modules/regex: Likewise.
	* modules/relocatable-prog: Likewise.
	* modules/remainder: Likewise.
	* modules/remainderf: Likewise.
	* modules/remainderl: Likewise.
	* modules/remove: Likewise.
	* modules/rename: Likewise.
	* modules/renameat: Likewise.
	* modules/rewinddir: Likewise.
	* modules/rint: Likewise.
	* modules/rintf: Likewise.
	* modules/rintl: Likewise.
	* modules/rmdir: Likewise.
	* modules/round: Likewise.
	* modules/roundf: Likewise.
	* modules/roundl: Likewise.
	* modules/rpmatch: Likewise.
	* modules/scandir: Likewise.
	* modules/sched_yield: Likewise.
	* modules/secure_getenv: Likewise.
	* modules/select: Likewise.
	* modules/selinux-h: Likewise.
	* modules/send: Likewise.
	* modules/sendto: Likewise.
	* modules/setenv: Likewise.
	* modules/sethostname: Likewise.
	* modules/setlocale: Likewise.
	* modules/setlocale-null: Likewise.
	* modules/setsockopt: Likewise.
	* modules/shutdown: Likewise.
	* modules/sig2str: Likewise.
	* modules/sigabbrev_np: Likewise.
	* modules/sigaction: Likewise.
	* modules/sigdescr_np: Likewise.
	* modules/signbit: Likewise.
	* modules/sigprocmask: Likewise.
	* modules/sinf: Likewise.
	* modules/sinhf: Likewise.
	* modules/sinl: Likewise.
	* modules/sleep: Likewise.
	* modules/socket: Likewise.
	* modules/spawn-pipe: Likewise.
	* modules/sqrtf: Likewise.
	* modules/sqrtl: Likewise.
	* modules/stat: Likewise.
	* modules/stdio: Likewise.
	* modules/stpcpy: Likewise.
	* modules/stpncpy: Likewise.
	* modules/strcase: Likewise.
	* modules/strchrnul: Likewise.
	* modules/strcspn: Likewise.
	* modules/strdup-posix: Likewise.
	* modules/strerror: Likewise.
	* modules/strerror-override: Likewise.
	* modules/strerrorname_np: Likewise.
	* modules/strfmon_l: Likewise.
	* modules/strftime-fixes: Likewise.
	* modules/strncat: Likewise.
	* modules/strndup: Likewise.
	* modules/strnlen: Likewise.
	* modules/strpbrk: Likewise.
	* modules/strptime: Likewise.
	* modules/strsep: Likewise.
	* modules/strsignal: Likewise.
	* modules/strtod: Likewise.
	* modules/strtoimax: Likewise.
	* modules/strtok_r: Likewise.
	* modules/strtol: Likewise.
	* modules/strtold: Likewise.
	* modules/strtoll: Likewise.
	* modules/strtoul: Likewise.
	* modules/strtoull: Likewise.
	* modules/strtoumax: Likewise.
	* modules/strverscmp: Likewise.
	* modules/symlink: Likewise.
	* modules/symlinkat: Likewise.
	* modules/tanf: Likewise.
	* modules/tanhf: Likewise.
	* modules/tanl: Likewise.
	* modules/tcgetsid: Likewise.
	* modules/thrd: Likewise.
	* modules/time_r: Likewise.
	* modules/time_rz: Likewise.
	* modules/timegm: Likewise.
	* modules/times: Likewise.
	* modules/timespec_get: Likewise.
	* modules/timespec_getres: Likewise.
	* modules/tmpfile: Likewise.
	* modules/towctrans: Likewise.
	* modules/trunc: Likewise.
	* modules/truncate: Likewise.
	* modules/truncf: Likewise.
	* modules/truncl: Likewise.
	* modules/tsearch: Likewise.
	* modules/tss: Likewise.
	* modules/ttyname_r: Likewise.
	* modules/tzset: Likewise.
	* modules/uname: Likewise.
	* modules/unlink: Likewise.
	* modules/unlinkat: Likewise.
	* modules/unlockpt: Likewise.
	* modules/unsetenv: Likewise.
	* modules/usleep: Likewise.
	* modules/utime: Likewise.
	* modules/utimensat: Likewise.
	* modules/waitpid: Likewise.
	* modules/wcpcpy: Likewise.
	* modules/wcpncpy: Likewise.
	* modules/wcrtomb: Likewise.
	* modules/wcscasecmp: Likewise.
	* modules/wcscat: Likewise.
	* modules/wcschr: Likewise.
	* modules/wcscmp: Likewise.
	* modules/wcscoll: Likewise.
	* modules/wcscpy: Likewise.
	* modules/wcscspn: Likewise.
	* modules/wcsdup: Likewise.
	* modules/wcsftime: Likewise.
	* modules/wcslen: Likewise.
	* modules/wcsncasecmp: Likewise.
	* modules/wcsncat: Likewise.
	* modules/wcsncmp: Likewise.
	* modules/wcsncpy: Likewise.
	* modules/wcsnlen: Likewise.
	* modules/wcsnrtombs: Likewise.
	* modules/wcspbrk: Likewise.
	* modules/wcsrchr: Likewise.
	* modules/wcsrtombs: Likewise.
	* modules/wcsspn: Likewise.
	* modules/wcsstr: Likewise.
	* modules/wcstok: Likewise.
	* modules/wcswidth: Likewise.
	* modules/wcsxfrm: Likewise.
	* modules/wctob: Likewise.
	* modules/wctomb: Likewise.
	* modules/wctrans: Likewise.
	* modules/wctype: Likewise.
	* modules/wcwidth: Likewise.
	* modules/windows-cond: Likewise.
	* modules/windows-mutex: Likewise.
	* modules/windows-once: Likewise.
	* modules/windows-recmutex: Likewise.
	* modules/windows-rwlock: Likewise.
	* modules/windows-spawn: Likewise.
	* modules/windows-spin: Likewise.
	* modules/windows-thread: Likewise.
	* modules/windows-timedmutex: Likewise.
	* modules/windows-timedrecmutex: Likewise.
	* modules/windows-timedrwlock: Likewise.
	* modules/windows-tls: Likewise.
	* modules/wmemchr: Likewise.
	* modules/wmemcmp: Likewise.
	* modules/wmemcpy: Likewise.
	* modules/wmemmove: Likewise.
	* modules/wmempcpy: Likewise.
	* modules/wmemset: Likewise.
	* modules/write: Likewise.

2022-01-09  Bruno Haible  <bruno@clisp.org>

	obstack: Move AC_LIBOBJ invocation to the module description.
	* m4/obstack.m4 (gl_FUNC_OBSTACK): Renamed from AC_FUNC_OBSTACK. Don't
	invoke AC_LIBSOURCES nor AC_LIBOBJ.
	* modules/obstack (configure.ac): Update. Invoke AC_LIBOBJ here.

2022-01-09  Bruno Haible  <bruno@clisp.org>

	stdio: Move AC_LIBOBJ invocations to the module description.
	* m4/stdio_h.m4 (gl_STDIO_H): Don't invoke AC_LIBOBJ.
	* modules/stdio (configure.ac): Invoke AC_LIBOBJ here.

2022-01-09  Bruno Haible  <bruno@clisp.org>

	fchdir: Move AC_LIBOBJ invocation to the module description.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke AC_LIBOBJ and
	gl_PREREQ_FCHDIR.
	* modules/fchdir (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_FCHDIR.

2022-01-09  Bruno Haible  <bruno@clisp.org>

	Remove influence of Automake conditionals on conditional dependencies.
	* m4/gnulib-common.m4 (gl_CONDITIONAL): New macro.
	(gl_CONDITIONAL_HEADER): Use it instead of AM_CONDITIONAL.
	* m4/libgmp.m4 (gl_LIBGMP): Likewise.
	* modules/posix_spawn_file_actions_addfchdir-tests (configure.ac):
	Likewise.
	* modules/uchar-c++-tests (configure.ac): Likewise.
	* gnulib-tool (func_modules_transitive_closure): Don't inhibit
	conditional dependencies processing on a module that uses an Automake
	conditional.

2022-01-08  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix "Don't forget" messages (regression 2021-12-12).
	* gnulib-tool (func_import): Fix variable references in "Don't forget"
	messages.

2022-01-08  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Remove all *.Po files upon distclean (regr. 2022-01-05).
	Reported by Mohammad Akhlaghi <mohammad@akhlaghi.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-01/msg00061.html>.
	* gnulib-tool (func_emit_initmacro_end): Collect the *.Po or *.Plo files
	to remove into an AC_SUBSTed variable gl_LIBOBJDEPS.
	(func_emit_lib_Makefile_am): Extend the distclean and maintainer-clean
	rules.

2022-01-08  Bruno Haible  <bruno@clisp.org>

	Add another example.
	* examples/hello-c-gnulib-conddeps: New directory.

2022-01-08  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	c-stack: Adapt header file for use in C++ applications.
	* lib/c-stack.h: Add extern "C" block.

2022-01-08  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	version-etc: Adapt header file for use in C++ applications.
	* lib/version-etc.h: Add extern "C" block.

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

	sigsegv: Improve support for Linux/LoongArch64.
	* lib/sigsegv.c (SIGSEGV_FAULT_STACKPOINTER): Add special case for
	Linux/LoongArch.

2022-01-05  Glenn Washburn  <development@efficientek.com>

	bootstrap: When a commit is specified, do a shallow fetch if possible.
	Rationale and explanation:
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-10/msg00073.html>.
	* bootstrap: When a commit hash is specified, ask for this specific
	commit on fetch, and fallback to fetching the entire repository if
	fetching by commit hash fails.

2022-01-05  Paul Eggert  <eggert@cs.ucla.edu>

	stack: pacify gcc -Wsign-compare
	* lib/stack.h (_GL_STACK_TYPE): Use idx_t for size too.
	Suggested by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2022-01/msg00035.html
	(_GL_STACK_PREFIX (size)): Return idx_t, not size_t.

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

	Fix last commit.
	Based on a patch by José E. Marchesi <jemarch@gnu.org>, reported in
	<https://lists.gnu.org/archive/html/bug-gnulib/2022-01/msg00036.html>.
	* m4/gnulib-common.m4 (gl_CC_GNULIB_WARNINGS): Don't enable
	-Wimplicit-fallthrough for GCC < 7.

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

	gnulib-tool: Avoid known warnings that reflect Gnulib's coding style.
	* m4/gnulib-common.m4 (gl_CC_GNULIB_WARNINGS): New macro.
	* gnulib-tool (func_emit_lib_Makefile_am): Add the
	GL_CFLAG_GNULIB_WARNINGS to the CFLAGS of all the compilation units of
	the library.
	(func_emit_tests_Makefile_am): Add the GL_CFLAG_GNULIB_WARNINGS to the
	CFLAGS.
	(func_import): Emit an invocation of gl_CC_GNULIB_WARNINGS.

2022-01-04  Bernhard Voelker  <mail@bernhard-voelker.de>

	license: fix GPLv3 texts to use a comma instead of semicolon.
	See: https://www.gnu.org/licenses/gpl-3.0.html#howto
	Run:
	  $ git grep -l 'Foundation; either version 3' \
	      | xargs sed -i '/Foundation; either version 3/ s/n; e/n, e/'
	* All files using GPLv3: Adjust via the above command.

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

	string, wchar: Fix compilation error on MSVC (regression 2021-09-07).
	* lib/string.in.h (free): Don't redeclare as rpl_free. Instead, redefine
	_GL_ATTRIBUTE_DEALLOC_FREE to reference rpl_free directly.
	* lib/wchar.in.h (free): Likewise.

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

	getpass-gnu: Allow use as dependency from test modules.
	* m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set
	REPLACE_GETPASS_FOR_GETPASS_GNU instead of REPLACE_GETPASS.
	* m4/unistd_h.m4 (gl_UNISTD_H_REQUIRE_DEFAULTS): Initialize the
	getpass-gnu module indicator.
	(gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETPASS_FOR_GETPASS_GNU.
	* modules/unistd (Makefile.am): Substitute GNULIB_GETPASS_GNU,
	REPLACE_GETPASS_FOR_GETPASS_GNU.
	* modules/getpass-gnu (configure.ac): Test
	REPLACE_GETPASS_FOR_GETPASS_GNU instead of REPLACE_GETPASS. Set a module
	indicator.
	* lib/unistd.in.h (getpass): Test REPLACE_GETPASS,
	REPLACE_GETPASS_FOR_GETPASS_GNU, and the respective module indicators
	instead of just REPLACE_GETPASS.

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

	fopen-gnu: Allow use as dependency from test modules.
	* m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Set REPLACE_FOPEN_FOR_FOPEN_GNU
	instead of REPLACE_FOPEN.
	* m4/stdio_h.m4 (gl_STDIO_H_REQUIRE_DEFAULTS): Initialize the fopen-gnu
	module indicator.
	(gl_STDIO_H_DEFAULTS): Initialize REPLACE_FOPEN_FOR_FOPEN_GNU.
	* modules/stdio (Makefile.am): Substitute GNULIB_FOPEN_GNU,
	REPLACE_FOPEN_FOR_FOPEN_GNU.
	* modules/fopen-gnu (Depends-on): Add more dependencies.
	(configure.ac): Test REPLACE_FOPEN_FOR_FOPEN_GNU instead of
	REPLACE_FOPEN.
	* lib/stdio.in.h (fopen): Test REPLACE_FOPEN,
	REPLACE_FOPEN_FOR_FOPEN_GNU, and the respective module indicators
	instead of just REPLACE_FOPEN.

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

	realloc-gnu: Allow use as dependency from test modules.
	* m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Set
	REPLACE_REALLOC_FOR_REALLOC_GNU instead of REPLACE_REALLOC.
	(gl_FUNC_REALLOC_POSIX): Set REPLACE_REALLOC_FOR_REALLOC_POSIX instead
	of REPLACE_REALLOC.
	* m4/stdlib_h.m4 (gl_STDLIB_H_REQUIRE_DEFAULTS): Initialize the
	realloc-gnu module indicator.
	(gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC_FOR_REALLOC_GNU,
	REPLACE_REALLOC_FOR_REALLOC_POSIX, not REPLACE_REALLOC.
	* modules/stdlib (Makefile.am): Substitute GNULIB_REALLOC_GNU,
	REPLACE_REALLOC_FOR_REALLOC_GNU, REPLACE_REALLOC_FOR_REALLOC_POSIX, not
	REPLACE_REALLOC.
	* modules/realloc-posix (Depends-on, configure.ac): Test
	REPLACE_REALLOC_FOR_REALLOC_POSIX instead of REPLACE_REALLOC.
	* modules/realloc-gnu (Comment): Remove section.
	(Depends-on): Add free-posix, malloc-gnu, xalloc-oversized.
	(configure.ac): Test REPLACE_REALLOC_FOR_REALLOC_GNU instead of
	REPLACE_REALLOC. Set a module indicator.
	* lib/stdlib.in.h (realloc): Test REPLACE_REALLOC_FOR_REALLOC_POSIX,
	REPLACE_REALLOC_FOR_REALLOC_GNU, and the respective module indicators
	instead of just REPLACE_REALLOC.

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

	calloc-gnu: Allow use as dependency from test modules.
	* m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Set REPLACE_CALLOC_FOR_CALLOC_GNU
	instead of REPLACE_CALLOC.
	(gl_FUNC_CALLOC_POSIX): Set REPLACE_CALLOC_FOR_CALLOC_POSIX instead of
	REPLACE_CALLOC.
	* m4/stdlib_h.m4 (gl_STDLIB_H_REQUIRE_DEFAULTS): Initialize the
	calloc-gnu module indicator.
	(gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC_FOR_CALLOC_GNU,
	REPLACE_CALLOC_FOR_CALLOC_POSIX, not REPLACE_CALLOC.
	* modules/stdlib (Makefile.am): Substitute GNULIB_CALLOC_GNU,
	REPLACE_CALLOC_FOR_CALLOC_GNU, REPLACE_CALLOC_FOR_CALLOC_POSIX, not
	REPLACE_CALLOC.
	* modules/calloc-posix (Depends-on, configure.ac): Test
	REPLACE_CALLOC_FOR_CALLOC_POSIX instead of REPLACE_CALLOC.
	* modules/calloc-gnu (Depends-on): Add xalloc-oversized.
	(configure.ac): Test REPLACE_CALLOC_FOR_CALLOC_GNU instead of
	REPLACE_CALLOC. Set a module indicator.
	* lib/stdlib.in.h (calloc): Test REPLACE_CALLOC_FOR_CALLOC_POSIX,
	REPLACE_CALLOC_FOR_CALLOC_GNU, and the respective module indicators
	instead of just REPLACE_CALLOC.

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

	malloc-gnu: Allow use as dependency from test modules.
	* m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Set REPLACE_MALLOC_FOR_MALLOC_GNU
	instead of REPLACE_MALLOC.
	(gl_FUNC_MALLOC_PTRDIFF, gl_FUNC_MALLOC_POSIX): Set
	REPLACE_MALLOC_FOR_MALLOC_POSIX instead of REPLACE_MALLOC.
	* m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Test
	REPLACE_MALLOC_FOR_MALLOC_POSIX instead of REPLACE_MALLOC.
	* m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
	* m4/stdlib_h.m4 (gl_STDLIB_H_REQUIRE_DEFAULTS): Initialize the
	malloc-gnu module indicator.
	(gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC_FOR_MALLOC_GNU,
	REPLACE_MALLOC_FOR_MALLOC_POSIX, not REPLACE_MALLOC.
	* modules/stdlib (Makefile.am): Substitute GNULIB_MALLOC_GNU,
	REPLACE_MALLOC_FOR_MALLOC_GNU, REPLACE_MALLOC_FOR_MALLOC_POSIX, not
	REPLACE_MALLOC.
	* modules/malloc-posix (Depends-on, configure.ac): Test
	REPLACE_MALLOC_FOR_MALLOC_POSIX instead of REPLACE_MALLOC.
	* modules/malloc-gnu (Comment): Remove section.
	(Depends-on): Add xalloc-oversized.
	(configure.ac): Test REPLACE_MALLOC_FOR_MALLOC_GNU instead of
	REPLACE_MALLOC. Set a module indicator.
	* lib/stdlib.in.h (malloc): Test REPLACE_MALLOC_FOR_MALLOC_POSIX,
	REPLACE_MALLOC_FOR_MALLOC_GNU, and the respective module indicators
	instead of just REPLACE_MALLOC.

2022-01-02  Bruno Haible  <bruno@clisp.org>

	striconveh: Make the last change also work on Solaris 11.
	* lib/striconveh.c (mem_cd_iconveh_internal): Tweak last commit.

	striconveh: Make the last change also work on musl libc.
	* lib/striconveh.c (mem_cd_iconveh_internal): Make the U+FFFD conversion
	also work with non-GNU iconv() implementations.

2022-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	gen-header: port to BusyBox ‘sed’
	Problem reported by Tim Rühsen in:
	https://lists.gnu.org/r/bug-gnulib/2022-01/msg00004.html
	* modules/gen-header (SED_HEADER_NOEDIT): Replace instead of prepend.
	(SED_HEADER_STDOUT, SED_HEADER_TO_AT_t): Adjust to that change.
	Do not use ‘w foo’ twice in the same script, as BusyBox ‘sed’
	mistakenly opens ‘foo’ for output twice, thus losing some output.

2022-01-01  Bruno Haible  <bruno@clisp.org>

	striconveh: Support an error handler that produces a Unicode U+FFFD.
	Suggested by Marc Nieper-Wißkirchen in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-12/msg00175.html>.
	* lib/iconveh.h (iconveh_replacement_character): New enum value.
	* lib/striconveh.c (mem_cd_iconveh_internal): When the handler is
	iconveh_replacement_character, try to produce U+FFFD when possible,
	instead of '?'.
	* tests/test-striconveh.c (main): Add GB18030 tests. Test also
	iconveh_replacement_character.

2022-01-01  Bruno Haible  <bruno@clisp.org>

	maint: Update copyright notices.
	* build-aux/declared.sh (func_version): Bump year.

2022-01-01  Bruno Haible  <bruno@clisp.org>

	maint: Update copyright notices in code generating programs.
	* lib/gen-uni-tables.c (output_predicate_test, output_predicate,
	output_category, output_combclass, output_bidi_category,
	output_decimal_digit_test, output_decimal_digit, output_digit_test,
	output_digit, output_numeric_test, output_numeric, output_mirror,
	output_joining_type_test, output_joining_type,
	output_joining_group_test, output_joining_group, output_scripts,
	output_scripts_byname, output_blocks, output_ident_category,
	output_nonspacing_property, output_lbrk_tables,
	output_lbrk_rules_as_tables, output_wbrk_tables, output_gbp_test,
	output_gbp_table, output_decomposition_tables,
	output_composition_tables, output_simple_mapping_test,
	output_simple_mapping, output_casing_rules): Extend copyright year of
	generated file to 2022.
	* lib/uniname/gen-uninames.lisp (main): Likewise. Produce license notice
	that is consistent with the gnulib/etc/license-notices/ files.
	* All files regenerated.

2022-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	maint: fix ‘make update-copyright’ on symlinks
	After running ‘make update-copyright’ I noticed that it
	incorrectly replaced a couple of symlinks with their contents.
	* Makefile (update-copyright): Do not update symlinks.
	* etc/license-notices/GPL, etc/license-notices/LGPL:
	Change these back to symlinks.

2021-12-31  Bruno Haible  <bruno@clisp.org>

	unistdio: Prefer newer version to older, buggy one.
	* modules/unistdio/ulc-vasnprintf (configure.ac): Bump required
	libunistring version. This is needed because of the heap overrun fix
	(2018-09-23) and the need to avoid %n on more platforms (2020-10-04).
	* modules/unistdio/ulc-asnprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-asprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-fprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-snprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-sprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-vasprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-vfprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-vsnprintf (configure.ac): Likewise.
	* modules/unistdio/ulc-vsprintf (configure.ac): Likewise.

2021-12-31  Bruno Haible  <bruno@clisp.org>

	uniwidth: Optimize.
	* lib/gen-uni-tables.c (output_nonspacing_property): Add version
	parameter. Emit the usual boilerplate header for generated files.
	(is_width2): New function, based on lib/uniwidth/width.c.
	(output_width2_property): New function.
	(main): Create uniwidth/width0.h instead of uniwidth/width.c.part.
	Create uniwidth/width2.h.
	* lib/uniwidth/width.c: Include width0.h, width2.h, bitmap.h.
	(nonspacing_table_data, nonspacing_table_ind): Remove here.
	(uc_width): Replace the double-width character with an u_width2 bitmap
	lookup.
	* modules/uniwidth/width (Files): Add lib/uniwidth/width0.h,
	lib/uniwidth/width2.h, lib/unictype/bitmap.h.

2021-12-31  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 14.0.0.

	* lib/gen-uni-tables.c (UC_JOINING_GROUP_THIN_YEH,
	UC_JOINING_GROUP_VERTICAL_TAIL): New enum values.
	(fill_arabicshaping, joining_group_as_c_identifier): Recognize these
	joining groups.
	* lib/unictype.in.h (UC_JOINING_GROUP_THIN_YEH,
	UC_JOINING_GROUP_VERTICAL_TAIL): New enum values.
	* lib/unictype/joininggroup_name.h: Add the THIN_YEH, VERTICAL_TAIL
	joining groups.
	* lib/unictype/joininggroup_byname.gperf: Likewise.

	* lib/gen-uni-tables.c (LBP_ID1, LBP_ID2): New enum values.
	(LBP_ID): Assign artificial value.
	(get_lbp): Use the extended_pictographic property to assign LBP_ID1,
	LBP_ID2 instead of LBP_ID. Update such that unilbrk/lbrkprop.txt comes
	out as expected.
	(debug_output_lbp): Print either LBP_ID1 or LBP_ID2 as LBP_ID.
	(lbp_value_to_string): Handle LBP_ID1, LBP_ID2 instead of LBP_ID.
	(output_lbrk_rules_as_tables): Treat LBP_ID as macro that maps to two
	table rows/columns. In rule LB30b, use LBP_ID2 in addition to LBP_EB.
	Remove redundant part of rule LB27.
	* lib/unilbrk/lbrktables.h (LBP_ID1, LBP_ID2): New enum values.
	(LBP_ID): Remove enum value.
	(unilbrk_table): Update declaration.
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks_loop):
	Use LBP_ID1 instead of LBP_ID.
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks_loop):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks_loop):
	Likewise.
	* tests/unilbrk/test-u8-possible-linebreaks.c (test_function): Add a
	test of potential future emoji.
	* tests/unilbrk/test-u16-possible-linebreaks.c (test_function):
	Likewise.
	* tests/unilbrk/test-u32-possible-linebreaks.c (test_function):
	Likewise.

	* lib/uniwidth/width.c (nonspacing_table_data, nonspacing_table_ind):
	Update.
	(uc_width): Assign width 2 to the characters 0x1AFF0..0x1AFF3,
	0x1AFF5..0x1AFFB, 0x1AFFD..0x1AFFE, 0x1B120..0x1B122, 0x1F6DD..0x1F6DF,
	0x1F7F0, 0x1FA7B..0x1FA7C, 0x1FAA9..0x1FAAC, 0x1FAB7..0x1FABA,
	0x1FAC3..0x1FAC5, 0x1FAD7..0x1FAD9, 0x1FAE0..0x1FAE7, 0x1FAF0..0x1FAF6.
	* tests/uniwidth/test-uc_width2.sh: Expect width 0 for the characters
	0x0890..0x0891, 0x0898..0x089F, 0x08CA..0x0902, 0x0C3C, 0x180F,
	0x1AC1..0x1ACE, 0x1DFA, 0x10F82..0x10F85, 0x11070, 0x11073..0x11074,
	0x110C2, 0x1CF00..0x1CF2D, 0x1CF30..0x1CF46, 0x1E2AE. Expect ambiguous
	width for the character 0x1734. Expect width 2 for the characters
	0x1AFF0..0x1AFF3, 0x1AFF5..0x1AFFB, 0x1AFFD..0x1AFFE, 0x1B120..0x1B122,
	0x1F6DD..0x1F6DF, 0x1F7F0, 0x1FA7B..0x1FA7C, 0x1FAA9..0x1FAAC,
	0x1FAB7..0x1FABA, 0x1FAC3..0x1FAC5, 0x1FAD7..0x1FAD9, 0x1FAE0..0x1FAE7,
	0x1FAF0..0x1FAF6.

	* All generated files under lib/uni* and tests/uni*: Regenerate.
	* tests/uniname/NameAliases.txt: Update.
	* tests/uniname/UnicodeData.txt: Update.
	* tests/uninorm/NormalizationTest.txt: Update.
	* tests/unigbrk/GraphemeBreakTest.txt: Update.
	* tests/uniwbrk/WordBreakTest.txt: Update.

	* All the affected modules: Bump required libunistring version.

2021-12-31  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 13.0.0.

	* lib/gen-uni-tables.c (is_WBP_MIDLETTER): Add character 0x055F.
	(get_wbp): Assign value WBP_ALETTER to the characters 0x02E5..0x02EB,
	0x055A, 0x058A, 0xA708..0xA716.

	* lib/gen-uni-tables.c (LBP_CP1, LBP_CP2, LBP_OP1, LBP_OP2): New enum
	values.
	(LBP_OP, LBP_CP): Assign artificial values.
	(get_lbp): Use the unicode_width[] table to assign LBP_CP1, LBP_CP2
	instead of LBP_CP, and LBP_OP1, LBP_OP2 instead of LBP_OP. Update such
	that unilbrk/lbrkprop.txt comes out as expected.
	(debug_output_lbp): Print either LBP_CP1 or LBP_CP2 as LBP_CP. Print
	either LBP_OP1 or LBP_OP2 as LBP_OP.
	(lbp_value_to_string): Handle LBP_CP1, LBP_CP2, LBP_OP1, LBP_OP2 instead
	of LBP_CP, LBP_OP.
	(output_lbrk_rules_as_tables): Treat LBP_CP and LBP_OP as macros that
	map to two table rows/columns. In rule LB30, use only LBP_OP1 instead of
	LBP_OP, and only LBP_CP1 instead of LBP_CP. Simplify rule LB22.
	* lib/unilbrk/lbrktables.h (LBP_CP1, LBP_CP2, LBP_OP1, LBP_OP2): New
	enum values.
	(LBP_OP, LBP_CP): Remove enum values.
	(unilbrk_table): Update declaration.
	* tests/unilbrk/test-u8-possible-linebreaks.c (test_function): Add a
	test for East Asian opening parenthesis.
	* tests/unilbrk/test-u16-possible-linebreaks.c (test_function):
	Likewise.
	* tests/unilbrk/test-u32-possible-linebreaks.c (test_function):
	Likewise.

	* lib/uniwidth/width.c (nonspacing_table_data, nonspacing_table_ind):
	Update.
	(uc_width): Assign width 2 to the characters 0x16FF0..0x16FF1,
	0x18AF3..0x18CD5, 0x18D00..0x18D08, 0x1F6D6..0x1F6D7, 0x1F6FB..0x1F6FC,
	0x1F90C, 0x1FA74, 0x1FA83..0x1FA86, 0x1FA96..0x1FAA8, 0x1FAB0..0x1FAB6,
	0x1FAC0..0x1FAC2, 0x1FAD0..0x1FAD6.
	Assign width 1 to the characters 0x1F93B, 0x1F946.
	* tests/uniwidth/test-uc_width2.sh: Expect width 0 for the characters
	0x0B55, 0x0D81, 0x1ABF..0x1AC0, 0xA82C, 0x10EAB..0x10EAC, 0x111CF,
	0x1193B..0x1193C, 0x1193E, 0x11943, 0x16FE4. Expect width 2 for the
	characters 0x16FF0..0x16FF1, 0x18AF3..0x18CD5, 0x18D00..0x18D08,
	0x1F6D6..0x1F6D7, 0x1F6FB..0x1F6FC, 0x1F90C, 0x1FA74, 0x1FA83..0x1FA86,
	0x1FA96..0x1FAA8, 0x1FAB0..0x1FAB6, 0x1FAC0..0x1FAC2, 0x1FAD0..0x1FAD6.
	Expect width 1 for the characters 0x1F93B, 0x1F946.

	* All generated files under lib/uni* and tests/uni*: Regenerate.
	* tests/uniname/NameAliases.txt: Update.
	* tests/uniname/UnicodeData.txt: Update.
	* tests/uninorm/NormalizationTest.txt: Update.
	* tests/unigbrk/GraphemeBreakTest.txt: Update.
	* tests/uniwbrk/WordBreakTest.txt: Update.

	* All the affected modules: Bump required libunistring version.

2021-12-30  Bruno Haible  <bruno@clisp.org>

	uniwbrk: Correction of Unicode 10.0.0 support.
	* lib/gen-uni-tables.c (is_WBP_MIDLETTER): Remove character 0x02D7.
	The generated files are not affected.

2021-12-30  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 12.1.0.

	* lib/gen-uni-tables.c: Update comments.

	* All generated files under lib/uni* and tests/uni*: Regenerate.
	* tests/uniname/NameAliases.txt: Update.
	* tests/uniname/UnicodeData.txt: Update.
	* tests/uninorm/NormalizationTest.txt: Update.
	* tests/unigbrk/GraphemeBreakTest.txt: Update.
	* tests/uniwbrk/WordBreakTest.txt: Update.

	* All the affected modules: Bump required libunistring version.

2021-12-30  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 12.0.0.

	* lib/gen-uni-tables.c (is_property_default_ignorable_code_point):
	Exclude 0x13430..0x13438.
	(get_lbp): Update such that unilbrk/lbrkprop.txt comes out as expected.
	(get_wbp): Map 0xFF10..0xFF19 to WBP_NUMERIC.

	* lib/uniwidth/width.c (nonspacing_table_data, nonspacing_table_ind):
	Update.
	(uc_width): Assign width 2 to the characters 0x16FE2..0x16FE3,
	0x187F2..0x187F7, 0x1B150..0x1B152, 0x1B164..0x1B167, 0x1F6D5, 0x1F6FA,
	0x1F7E0..0x1F7EB, 0x1F90D..0x1F90F, 0x1FA70..0x1FA73, 0x1FA78..0x1FA7A,
	0x1FA80..0x1FA82, 0x1FA90..0x1FA95.
	* tests/uniwidth/test-uc_width2.sh: Expect width 0 for the characters
	0x0EBA, 0xA9BD, 0x119D4..0x119D7, 0x119DA..0x119DB, 0x119E0,
	0x13430..0x13438, 0x16F4F, 0x1E130..0x1E136, 0x1E2EC..0x1E2EF. Expect
	width 2 for the characters 0x16FE2..0x16FE3, 0x187F2..0x187F7,
	0x1B150..0x1B152, 0x1B164..0x1B167, 0x1F6D5, 0x1F6FA, 0x1F7E0..0x1F7EB,
	0x1F90D..0x1F90F, 0x1FA70..0x1FA73, 0x1FA78..0x1FA7A, 0x1FA80..0x1FA82,
	0x1FA90..0x1FA95.

	* All generated files under lib/uni* and tests/uni*: Regenerate.
	* tests/uniname/NameAliases.txt: Update.
	* tests/uniname/UnicodeData.txt: Update.
	* tests/uninorm/NormalizationTest.txt: Update.
	* tests/unigbrk/GraphemeBreakTest.txt: Update.
	* tests/uniwbrk/WordBreakTest.txt: Update.

	* All the affected modules: Bump required libunistring version.

2021-12-30  Paul Eggert  <eggert@cs.ucla.edu>

	crypto/sm3-buffer: fix C99 conformance bug
	* lib/sm3.c (sm3_process_block): Call varargs macro with enough
	arguments.  Problem found by IBM XL/C 12.1.0.0 for AIX.

2021-12-30  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 11.0.0.

	* lib/gen-uni-tables.c (is_property_default_ignorable_code_point):
	Simplify by use of PROP_PREPENDED_CONCATENATION_MARK.
	(UC_JOINING_GROUP_HANIFI_ROHINGYA_PA,
	UC_JOINING_GROUP_HANIFI_ROHINGYA_KINNA_YA): New enum values.
	(fill_arabicshaping, joining_group_as_c_identifier): Recognize these
	joining groups.
	(get_lbp): Update such that unilbrk/lbrkprop.txt comes out as expected.
	(WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): Remove enum values.
	(WBP_WSS): New enum value.
	(get_wbp): Update such that uniwbrk/wbrkprop.txt comes out as expected.
	(debug_output_wbp, fill_org_wbp, debug_output_org_wbp, output_wbp):
	Update for changed enum values.

	* lib/unictype.in.h (UC_JOINING_GROUP_HANIFI_ROHINGYA_*): New enum
	values.
	* lib/unictype/joininggroup_name.h: Add the HANIFI_ROHINGYA_* joining
	groups.
	* lib/unictype/joininggroup_byname.gperf: Likewise.

	* lib/unigbrk.in.h: Mark 4 enum values as obsolete.
	* lib/unigbrk/u-grapheme-breaks.h (FUNC): Handle emoji modifier sequence
	according to Unicode 11.0.0.
	* lib/unigbrk/u8-grapheme-breaks.c: Include <stdbool.h>, unictype.h.
	* lib/unigbrk/u16-grapheme-breaks.c: Likewise.
	* lib/unigbrk/u32-grapheme-breaks.c: Likewise.
	* lib/unigbrk/uc-grapheme-breaks.c: Likewise.
	* modules/unigbrk/u8-grapheme-breaks (Depends-on): Add
	unictype/property-extended-pictographic, stdbool.
	* modules/unigbrk/u16-grapheme-breaks (Depends-on): Likewise.
	* modules/unigbrk/u32-grapheme-breaks (Depends-on): Likewise.
	* modules/unigbrk/uc-grapheme-breaks (Depends-on): Likewise.
	* tests/unigbrk/test-u8-grapheme-breaks.c (main): Add test for emoji
	modifier / ZWJ sequence.
	* tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
	* tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
	* tests/unigbrk/test-uc-is-grapheme-break.c: Include <stdbool.h>,
	unictype.h.
	(main): Update workaround logic to match the one in
	lib/unigbrk/u-grapheme-breaks.h.
	* modules/unigbrk/uc-is-grapheme-break-tests (Depends-on): Add
	unictype/property-extended-pictographic, stdbool.

	* lib/uniwbrk.in.h: Mark 4 enum values as obsolete.
	(WBP_WSS): New enum value.
	* lib/uniwbrk/u-wordbreaks.h (FUNC): Handle emoji ZWJ sequences and
	horizontal whitespace according to Unicode 11.0.0.
	* lib/uniwbrk/u8-wordbreaks.c: Include unictype.h.
	* lib/uniwbrk/u16-wordbreaks.c: Likewise.
	* lib/uniwbrk/u32-wordbreaks.c: Likewise.
	* lib/uniwbrk/wbrktable.c (uniwbrk_prop_index, uniwbrk_table): Add a row
	and column for WBP_WSS.
	* lib/uniwbrk/wbrktable.h (uniwbrk_prop_index, uniwbrk_table): Update
	declarations.
	* modules/uniwbrk/u8-wordbreaks (Depends-on): Add
	unictype/property-extended-pictographic.
	* modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
	* modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
	* tests/uniwbrk/test-u8-wordbreaks.c (main): Update expected results.
	* tests/uniwbrk/test-u16-wordbreaks.c (main): Likewise.
	* tests/uniwbrk/test-u32-wordbreaks.c (main): Likewise.
	* tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
	Update.

	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks_loop):
	Handle ZWJ according to Unicode 11.0.0.
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks_loop):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks_loop):
	Likewise.

	* lib/uniwidth/width.c (nonspacing_table_data, nonspacing_table_ind):
	Update.
	(uc_width): Assign width 2 to the characters 0x187ED..0x187F1, 0x1F6F9,
	0x1F9E7..0x1F9FF.
	* tests/uniwidth/test-uc_width2.sh: Expect width 0 for the characters
	0x07FD, 0x08D3, 0x09FE, 0x0C04, 0xA8FF, 0x10D24..0x10D27,
	0x10F46..0x10F50, 0x110CD, 0x111C9, 0x1133B, 0x1145E, 0x1182F..0x11837,
	0x11839..0x1183A, 0x11D90..0x11D91, 0x11D95, 0x11D97, 0x11EF3..0x11EF4.
	Expect width 2 for the characters 0x187ED..0x187F1, 0x1F6F9,
	0x1F9E7..0x1F9FF.

	* All generated files under lib/uni* and tests/uni*: Regenerate.
	* tests/uniname/NameAliases.txt: Update.
	* tests/uniname/UnicodeData.txt: Update.
	* tests/uninorm/NormalizationTest.txt: Update.
	* tests/unigbrk/GraphemeBreakTest.txt: Update.
	* tests/uniwbrk/WordBreakTest.txt: Update.

	* All the affected modules: Bump required libunistring version.

2021-12-30  Bruno Haible  <bruno@clisp.org>

	unictype: Add Emoji properties from Unicode 11.0.0.
	* lib/gen-uni-tables.c (PROP_EMOJI*, PROP_EXTENDED_PICTOGRAPHIC): New
	enum values.
	(fill_properties): Don't require a space between the property name and
	the comment. Handle the property names from emoji-data.txt.
	(is_property_emoji, is_property_emoji_presentation,
	is_property_emoji_modifier, is_property_emoji_modifier_base,
	is_property_emoji_component, is_property_extended_pictographic): New
	declarations.
	(output_properties): Emit the properties emoji, emoji_presentation,
	emoji_modifier, emoji_modifier_base, emoji_component,
	extended_pictographic.
	(get_lbp): Use the emoji_modifier property.
	(main): Expect one more argument, for the emoji-data.txt file.
	* lib/unictype.in.h (UC_PROPERTY_EMOJI, UC_PROPERTY_EMOJI_PRESENTATION,
	UC_PROPERTY_EMOJI_MODIFIER, UC_PROPERTY_EMOJI_MODIFIER_BASE,
	UC_PROPERTY_EMOJI_COMPONENT, UC_PROPERTY_EXTENDED_PICTOGRAPHIC,
	uc_is_property_emoji, uc_is_property_emoji_presentation,
	uc_is_property_emoji_modifier, uc_is_property_emoji_modifier_base,
	uc_is_property_emoji_component, uc_is_property_extended_pictographic):
	New declarations.
	* lib/unictype/pr_emoji.c: New file.
	* lib/unictype/pr_emoji_presentation.c: New file.
	* lib/unictype/pr_emoji_modifier.c: New file.
	* lib/unictype/pr_emoji_modifier_base.c: New file.
	* lib/unictype/pr_emoji_component.c: New file.
	* lib/unictype/pr_extended_pictographic.c: New file.
	* modules/unictype/property-emoji: New file.
	* modules/unictype/property-emoji-tests: New file.
	* modules/unictype/property-emoji-presentation: New file.
	* modules/unictype/property-emoji-presentation-tests: New file.
	* modules/unictype/property-emoji-modifier: New file.
	* modules/unictype/property-emoji-modifier-tests: New file.
	* modules/unictype/property-emoji-modifier-base: New file.
	* modules/unictype/property-emoji-modifier-base-tests: New file.
	* modules/unictype/property-emoji-component: New file.
	* modules/unictype/property-emoji-component-tests: New file.
	* modules/unictype/property-extended-pictographic: New file.
	* modules/unictype/property-extended-pictographic-tests: New file.
	* modules/unictype/property-all (Depends-on): Depend on the new modules.

2021-12-29  Bruno Haible  <bruno@clisp.org>

	uniwidth: Give width 0 to conjoining Hangul Jamo jungseong, jongseong.
	Reported by Luis Javier Merino <ninjalj@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-libunistring/2021-12/msg00006.html>.
	* lib/gen-uni-tables.c (is_nonspacing): Return true for the conjoining
	Hangul Jamo jungseong and jongseong characters.
	* lib/uniwidth/width.c (nonspacing_table_data, nonspacing_table_ind):
	Regenerated.
	* tests/uniwidth/test-uc_width2.sh: Expect width 0 for the characters
	0x1160..0x11FF, 0xD7B0..0xD7C6, 0xD7CB..0xD7FB.

2021-12-29  Bruno Haible  <bruno@clisp.org>

	uniwidth: Update to Unicode 10.0.0.
	* lib/uniwidth/width.c (uc_width): Assign width 2 to the characters
	0x231A..0x231B, 0x23E9..0x23EC, 0x23F0, 0x23F3, 0x25FD..0x25FE,
	0x2614..0x2615, 0x2648..0x2653, 0x267F, 0x2693, 0x26A1, 0x26AA..0x26AB,
	0x26BD..0x26BE, 0x26C4..0x26C5, 0x26CE, 0x26D4, 0x26EA, 0x26F2..0x26F3,
	0x26F5, 0x26FA, 0x26FD, 0x2705, 0x270A..0x270B, 0x2728, 0x274C, 0x274E,
	0x2753..0x2755, 0x2757, 0x2795..0x2797, 0x27B0, 0x27BF, 0x2B1B..0x2B1C,
	0x2B50, 0x2B55, 0xA960..0xA97C, 0x16FE0..0x16FE1, 0x17000..0x187EC,
	0x18800..0x18AF2, 0x1B000..0x1B11F, 0x1B170..0x1B2FB, 0x1F004, 0x1F0CF,
	0x1F18E, 0x1F191..0x1F19A, 0x1F200..0x1F320, 0x1F32D..0x1F335,
	0x1F337..0x1F37C, 0x1F37E..0x1F393, 0x1F3A0..0x1F3CA, 0x1F3CF..0x1F3D3,
	0x1F3E0..0x1F3F0, 0x1F3F4, 0x1F3F8..0x1F43E, 0x1F440, 0x1F442..0x1F4FC,
	0x1F4FF..0x1F53D, 0x1F54B..0x1F54E, 0x1F550..0x1F567, 0x1F57A,
	0x1F595..0x1F596, 0x1F5A4, 0x1F5FB..0x1F64F, 0x1F680..0x1F6C5, 0x1F6CC,
	0x1F6D0..0x1F6D2, 0x1F6EB..0x1F6EC, 0x1F6F4..0x1F6F8, 0x1F910..0x1F9E6.
	Assign ambiguous width to the characters 0x3248..0x324F.
	* tests/uniwidth/test-uc_width2.sh: Expect these changes.

2021-12-29  Bruno Haible  <bruno@clisp.org>

	unilbrk: Improve support for strings that contain CR-LF sequences.
	* lib/gen-uni-tables.c (LBP_CR, LBP_LF): New enum values.
	(get_lbp): For '\r' and '\n', return LBP_CR and LBP_LF, respectively,
	instead of LBP_BK.
	(debug_output_lbp, fill_org_lbp, debug_output_org_lbp,
	lbp_value_to_string): Handle LBP_CR, LBP_LF.
	* lib/unilbrk/lbrkprop2.h: Regenerated.
	* lib/unilbrk/lbrktables.h (LBP_CR, LBP_LF): New enum values.
	* lib/unilbrk.in.h (UC_BREAK_CR_BEFORE_LF): New enum value.
	(u8_possible_linebreaks, u16_possible_linebreaks,
	u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
	u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks):
	Declare also a _v2 variant, and use a C macro to activate it by default.
	* lib/unilbrk/internal.h: New file.
	* lib/unilbrk/u8-possible-linebreaks.c: Include unilbrk/internal.h.
	(u8_possible_linebreaks_loop): Renamed from u8_possible_linebreaks. Add
	'cr' parameter.
	(u8_possible_linebreaks, u8_possible_linebreaks_v2): New functions.
	(main): Update.
	* lib/unilbrk/u16-possible-linebreaks.c: Include unilbrk/internal.h.
	(u16_possible_linebreaks_loop): Renamed from u16_possible_linebreaks.
	Add 'cr' parameter.
	(u16_possible_linebreaks, u16_possible_linebreaks_v2): New functions.
	* lib/unilbrk/u32-possible-linebreaks.c: Include unilbrk/internal.h.
	(u32_possible_linebreaks_loop): Renamed from u32_possible_linebreaks.
	Add 'cr' parameter.
	(u32_possible_linebreaks, u32_possible_linebreaks_v2): New functions.
	* lib/unilbrk/ulc-possible-linebreaks.c: Include unilbrk/internal.h,
	unilbrk/lbrktables.h.
	(ulc_possible_linebreaks_internal): Renamed from
	ulc_possible_linebreaks. Add 'cr' parameter.
	(ulc_possible_linebreaks, ulc_possible_linebreaks_v2): New functions.
	(main): Update.
	* lib/unilbrk/u8-width-linebreaks.c: Include unilbrk/internal.h,
	unilbrk/lbrktables.h.
	(u8_width_linebreaks_internal): Renamed from u8_width_linebreaks. Add
	'cr' parameter.
	(u8_width_linebreaks, u8_width_linebreaks_v2): New functions.
	(main): Update.
	* lib/unilbrk/u16-width-linebreaks.c: Include unilbrk/internal.h,
	unilbrk/lbrktables.h.
	(u16_width_linebreaks_internal): Renamed from u16_width_linebreaks. Add
	'cr' parameter.
	(u16_width_linebreaks, u16_width_linebreaks_v2): New functions.
	* lib/unilbrk/u32-width-linebreaks.c: Include unilbrk/internal.h,
	unilbrk/lbrktables.h.
	(u32_width_linebreaks_internal): Renamed from u32_width_linebreaks. Add
	'cr' parameter.
	(u32_width_linebreaks, u32_width_linebreaks_v2): New functions.
	* lib/unilbrk/ulc-width-linebreaks.c: Include unilbrk/internal.h,
	unilbrk/lbrktables.h.
	(ulc_width_linebreaks_internal): Renamed from ulc_width_linebreaks. Add
	'cr' parameter.
	(ulc_width_linebreaks, ulc_width_linebreaks_v2): New functions.
	(main): Update.
	* modules/unilbrk/u8-possible-linebreaks (Files): Add
	lib/unilbrk/internal.h.
	* modules/unilbrk/u16-possible-linebreaks (Files): Likewise.
	* modules/unilbrk/u32-possible-linebreaks (Files): Likewise.
	* modules/unilbrk/u8-width-linebreaks (Files): Likewise.
	* tests/unilbrk/test-u8-possible-linebreaks.c (test_function): New
	function, extracted from main. Add a test of CR-LF handling.
	(main): Invoke it twice.
	* tests/unilbrk/test-u16-possible-linebreaks.c (test_function): New
	function, extracted from main. Add a test of CR-LF handling.
	(main): Invoke it twice.
	* tests/unilbrk/test-u32-possible-linebreaks.c (test_function): New
	function, extracted from main. Add a test of CR-LF handling.
	(main): Invoke it twice.
	* tests/unilbrk/test-ulc-possible-linebreaks.c (test_function): New
	function, extracted from main.
	(main): Invoke it twice.
	* tests/unilbrk/test-u8-width-linebreaks.c (test_function): New
	function, extracted from main.
	(main): Invoke it twice.
	* tests/unilbrk/test-u16-width-linebreaks.c (test_function): New
	function, extracted from main.
	(main): Invoke it twice.
	* tests/unilbrk/test-u32-width-linebreaks.c (test_function): New
	function, extracted from main.
	(main): Invoke it twice.
	* tests/unilbrk/test-ulc-width-linebreaks.c (test_function): New
	function, extracted from main.
	(main): Invoke it twice.

2021-12-29  Bruno Haible  <bruno@clisp.org>

	uniwbrk: Add unit tests of CR-LF sequences.
	* tests/uniwbrk/test-u8-wordbreaks.c (main): Add test of a string with
	CR-LF.
	* tests/uniwbrk/test-u16-wordbreaks.c (main): Likewise.
	* tests/uniwbrk/test-u32-wordbreaks.c (main): Likewise.

2021-12-29  Bruno Haible  <bruno@clisp.org>

	unigbrk: Add unit tests of CR-LF sequences.
	* tests/unigbrk/test-u8-grapheme-breaks.c (main): Add test of a string
	with CR-LF.
	* tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
	* tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.

2021-12-29  Bruno Haible  <bruno@clisp.org>

	unilbrk: Update handling of Hebrew letter + hyphen for Unicode 10.0.0.
	* lib/unilbrk/lbrktables.h (LBP_HL_BA): New enum value.
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Add
	code for handling break-after character after Hebrew letter.
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
	Likewise.
	* tests/unilbrk/test-u8-possible-linebreaks.c (main): Add a test
	regarding break-after character after Hebrew letter.
	* tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.

2021-12-28  Paul Eggert  <eggert@cs.ucla.edu>

	nstrftime: improve handling of invalid formats
	* lib/nstrftime.c (__strftime_internal): Without this change,
	‘date +'%0_-+^#1%A'’ would output ‘%A’; with it, it outputs
	something like ‘%0_-+^#1Tuesday’ which is easier to debug and to
	write wrappers for (such as the nstrftime/fprintftime usage in GNU
	‘date’).

2021-12-28  Bruno Haible  <bruno@clisp.org>

	unilbrk: Update handling of regional indicators for Unicode 10.0.0.
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Add
	code for handling regional indicators.
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
	Likewise.
	* tests/unilbrk/test-u8-possible-linebreaks.c (main): Add a test
	regarding regional indicators.
	* tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.

2021-12-28  Bruno Haible  <bruno@clisp.org>

	unilbrk: Update handling of zero-width joiner for Unicode 10.0.0.
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Update
	code for zero-width joiner handling to match UAX #14 for Unicode 10.0.0.
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
	Likewise.
	* tests/unilbrk/test-u8-possible-linebreaks.c (main): Add a test
	regarding zero-width joiner.
	* tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.

2021-12-28  Bruno Haible  <bruno@clisp.org>

	unilbrk: Update handling of combining marks for Unicode 10.0.0.
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Update
	code for combining characters to match UAX #14 for Unicode 10.0.0.
	Remove legacy support for space + combining mark.
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
	Likewise.
	* tests/unilbrk/test-u8-possible-linebreaks.c (main): Add a test
	regarding combining characters.
	* tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.

2021-12-28  Bruno Haible  <bruno@clisp.org>

	unilbrk: Restore deviation for (IS,AL) pair.
	* lib/gen-uni-tables.c (output_lbrk_rules_as_tables): Disable rule LB29.
	* lib/unilbrk/lbrktables.c: Regenerated.
	* tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test case with
	HTML markup.
	* tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.

2021-12-28  Bruno Haible  <bruno@clisp.org>

	unilbrk: Change algorithm to be closer to Unicode Standard Annex #14.
	* lib/gen-uni-tables.c (lbp_value_to_string): New function, extracted
	from output_lbp.
	(output_lbp): Invoke it.
	(output_lbrk_rules_as_tables): New function.
	(main): Invoke it.
	* lib/unilbrk/lbrktables.c: Now automatically generated.
	* tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
	result.
	* tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.

2021-12-28  Bruno Haible  <bruno@clisp.org>

	uniwbrk: Add unit tests of regional indicators.
	* tests/uniwbrk/test-u8-wordbreaks.c (main): Add test of regional
	indicators.
	* tests/uniwbrk/test-u16-wordbreaks.c (main): Likewise.
	* tests/uniwbrk/test-u32-wordbreaks.c (main): Likewise.

2021-12-28  Bruno Haible  <bruno@clisp.org>

	unigbrk: Simplify code for regional indicators.
	* lib/unigbrk/u-grapheme-breaks.h (FUNC): Make code for regional
	indicators more future-proof.
	* tests/unigbrk/test-u8-grapheme-breaks.c (main): Add test of regional
	indicators.
	* tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
	* tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.

2021-12-28  Paul Eggert  <eggert@cs.ucla.edu>

	clock_getres: document portability issues better
	* doc/posix-functions/clock_getres.texi:
	* doc/posix-functions/timespec_getres.texi:
	Document problems with timestamp resolution.

	timespec_getres: new module
	* lib/time.in.h (timespec_getres): New decl.
	* lib/timespec_getres.c, m4/timespec_getres.m4:
	* modules/timespec_getres, modules/timespec_getres-tests:
	* tests/test-timespec_getres.c:
	New files.
	* m4/time_h.m4 (gl_TIME_H_REQUIRE_DEFAULTS, gl_TIME_H_DEFAULTS):
	* modules/time (time.h):
	Support timespec_getres.

	gettime-res: new module
	* lib/gettime-res.c, modules/gettime-res: New files.
	* lib/timespec.h (gettime_res): New decl.
	* m4/clock_time.m4 (gl_CLOCK_TIME): Also check for clock_getres.
	* m4/gettime.m4 (gl_GETTIME_RES): New macro.

	gettime: port better to non-POSIX C2x
	C2x requires a function timespec_get; prefer that to
	gettimeofday, since it has better resolution.
	* lib/gettime.c (gettime): Prefer timespec_get to gettimeofday.
	* m4/gettime.m4 (gl_GETTIME): Check for timespec_get.
	Omit a check for gettimeofday; not needed because
	the gettime module depends on the gettimeofday module.

2021-12-28  Bruno Haible  <bruno@clisp.org>

	gen-uni-tables: Produce license notices suitable for Gnulib.
	* lib/gen-uni-tables.c (output_library_license, output_tests_license):
	Produce license notices that are consistent with the
	gnulib/etc/license-notices/ files.
	* All generated files under lib/uni* and tests/uni*: Regenerate.

2021-12-28  Bruno Haible  <bruno@clisp.org>

	unigbrk, uniwbrk: No-op tweaks.
	* lib/unigbrk/u-grapheme-breaks.h: Comment tweaks.
	* lib/uniwbrk/u-wordbreaks.h: Coding style and comment tweaks.
	* lib/uniwbrk/wbrktable.c: Comment tweaks.

2021-12-28  Paul Eggert  <eggert@cs.ucla.edu>

	perl: let caller see whether perl was found
	Problem reported for coreutils by Serge Belyshev (Bug#52844).
	* m4/perl.m4 (gl_PERL): Use AC_CACHE_CHECK, so that
	an invoker of gl_PERL can later inspect gl_cv_prog_perl
	to see whether perl was found.

2021-12-28  Bruno Haible  <bruno@clisp.org>

	Fix --automake-subdir breakage (regression 2021-12-24).
	Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-12/msg00156.html>.
	* build-aux/prefix-gnulib-mk (prefix_assignment): Don't change
	SED_HEADER_* variables.

2021-12-26  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 10.0.0.

	* lib/gen-uni-tables.c (PROP_REGIONAL_INDICATOR): New enum value.
	(fill_properties): Recognize property "Regional_Indicator".
	(is_property_regional_indicator): New function.
	(output_properties): Also output the data for regional_indicator.
	(get_lbp): Update such that unilbrk/lbrkprop.txt comes out as expected.
	Use is_property_regional_indicator.
	(get_wbp): Update such that uniwbrk/wbrkprop.txt comes out as expected.
	Use is_property_regional_indicator.
	(UC_JOINING_GROUP_MALAYALAM_*): New enum values.
	(fill_arabicshaping, joining_group_as_c_identifier): Recognize these
	joining groups.

	* lib/uniname/gen-uninames.lisp (main): Ignore empty lines and comment
	lines in the aliases file. Needed because since 2015-06-20, we use the
	unmodified Unicode NameAliases.txt file. Remove reference to undefined
	variable. Correct indentation.

	* lib/unictype.in.h (UC_PROPERTY_REGIONAL_INDICATOR,
	uc_is_property_regional_indicator): New declarations.
	* lib/unictype/pr_regional_indicator.c: New file.
	* modules/unictype/property-regional-indicator: New file.
	* modules/unictype/property-regional-indicator-tests: New file.
	* modules/unictype/property-all (Depends-on): Add
	unictype/property-regional-indicator.

	* lib/unictype.in.h (UC_JOINING_GROUP_MALAYALAM_*): New enum values.
	* lib/unictype/joininggroup_name.h: Add the MALAYALAM_* joining groups.
	* lib/unictype/joininggroup_byname.gperf: Likewise.

	* lib/uniwidth/width.c (nonspacing_table_data, nonspacing_table_ind):
	Update.
	* tests/uniwidth/test-uc_width2.sh: Expect width 0 for the characters
	0x0AFA..0x0AFF, 0x0D00, 0x0D3B..0x0D3C, 0x1DF6..0x1DF9,
	0x11A01..0x11A06, 0x11A09..0x11A0A, 0x11A33..0x11A38, 0x11A3B..0x11A3E,
	0x11A47, 0x11A51..0x11A56, 0x11A59..0x11A5B, 0x11A8A..0x11A96,
	0x11A98..0x11A99, 0x11D31..0x11D36, 0x11D3A, 0x11D3C..0x11D3D,
	0x11D3F..0x11D45, 0x11D47.

	* All generated files under lib/uni* and tests/uni*: Regenerate.
	* tests/uniname/NameAliases.txt: Update.
	* tests/uniname/UnicodeData.txt: Update.
	* tests/uninorm/NormalizationTest.txt: Update.
	* tests/unigbrk/GraphemeBreakTest.txt: Update.
	* tests/uniwbrk/WordBreakTest.txt: Update.

	* All the affected modules: Bump required libunistring version.

2021-12-26  Bruno Haible  <bruno@clisp.org>

	pselect: Fix compilation error in C++ mode on AIX 7.
	* lib/sys_select.in.h (pselect): Use _GL_CXXALIAS_SYS_CAST instead of
	_GL_CXXALIAS_SYS.
	* doc/posix-functions/pselect.texi: Mention the AIX problem.

2021-12-25  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix handling of module libtextstyle-optional.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-12/msg00152.html>.
	* gnulib-tool (func_repeat_module_in_tests): New function.
	(func_emit_tests_Makefile_am, func_create_testdir): Use it for the file
	list and when creating tests/Makefile.am.

2021-12-25  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Respect applicability 'all' without --single-configure.
	* gnulib-tool (func_verify_tests_module): Treat modules with
	applicability 'all' like 'tests' modules, not like 'main' modules.

2021-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	maint: avoid empty lines in recipes
	AIX 7.2 ‘make’ complains about recipe lines that are empty after
	macro expansion, and I suppose there’s a good chance some
	non-POSIX ‘make’ would prohibit them.  Rework macros so
	that we can avoid them.
	* gnulib-tool (func_emit_lib_Makefile_am)
	(func_emit_tests_Makefile_am): Support @!NMD@ too.
	* modules/gen-header (@gl_V_at): New macro.
	* modules/alloca-opt, modules/argz, modules/assert-h:
	* modules/byteswap, modules/configmake, modules/ctype:
	* modules/dirent, modules/errno, modules/execinfo, modules/fcntl-h:
	* modules/float, modules/fnmatch-h, modules/getopt-posix:
	* modules/glob-h, modules/iconv-h, modules/ieee754-h:
	* modules/inttypes-incomplete, modules/langinfo:
	* modules/libtextstyle-optional, modules/limits-h, modules/locale:
	* modules/malloc-h, modules/math, modules/monetary, modules/netdb:
	* modules/openmp-init, modules/poll-h, modules/posix-shell:
	* modules/pthread-h, modules/pty, modules/sched, modules/search:
	* modules/signal-h, modules/sigsegv, modules/snippet/link-warning:
	* modules/spawn, modules/stdalign, modules/stdarg, modules/stdbool:
	* modules/stddef, modules/stdint, modules/stdio, modules/stdlib:
	* modules/stdnoreturn, modules/string, modules/strings:
	* modules/sysexits, modules/termios, modules/threads-h:
	* modules/time, modules/uchar, modules/unicase/base:
	* modules/uniconv/base, modules/unictype/base, modules/unigbrk/base:
	* modules/unilbrk/base, modules/uniname/base, modules/uninorm/base:
	* modules/unistd, modules/unistdio/base, modules/unistr/base:
	* modules/unitypes, modules/uniwbrk/base, modules/uniwidth/base:
	* modules/utime-h, modules/wchar, modules/wctype-h:
	Use it.

	maint: tight-scope.mk need not be read-only
	* top/maint.mk (tight-scope.mk): Don’t bother to make
	tight-scope.mk read-only either.

	maint: break out '&& mv $@-t $@'
	* build-aux/git-version-gen, config/argz.mk, modules/configmake:
	* modules/posix_spawnp-tests, modules/snippet/link-warning:
	* top/maint.mk:
	Break out '&& mv $@-t $@' to a separate line in the Make recipe,
	as this makes things a bit easier to debug.

	gen-header: new module
	Simplify header generation by using Makefile variables
	defined by a new gen-header module.
	* modules/gen-header: New module.
	* modules/alloca-opt, modules/argz, modules/arpa_inet:
	* modules/assert-h, modules/byteswap:
	* modules/ctype, modules/dirent, modules/dynarray, modules/errno:
	* modules/execinfo, modules/fcntl-h, modules/float:
	* modules/fnmatch-h, modules/getopt-posix, modules/glob-h:
	* modules/iconv-h, modules/ieee754-h, modules/inttypes-incomplete:
	* modules/langinfo, modules/libtextstyle-optional, modules/limits-h:
	* modules/locale, modules/malloc-h, modules/math, modules/monetary:
	* modules/net_if, modules/netdb, modules/netinet_in:
	* modules/openmp-init, modules/poll-h:
	* modules/pthread-h, modules/pty, modules/sched:
	* modules/scratch_buffer, modules/search, modules/selinux-h:
	* modules/signal-h, modules/sigsegv:
	* modules/spawn, modules/stdalign, modules/stdarg, modules/stdbool:
	* modules/stddef, modules/stdint, modules/stdio, modules/stdlib:
	* modules/stdnoreturn, modules/string, modules/strings:
	* modules/sys_file, modules/sys_ioctl, modules/sys_random:
	* modules/sys_resource, modules/sys_select, modules/sys_socket:
	* modules/sys_stat, modules/sys_time, modules/sys_times:
	* modules/sys_types, modules/sys_uio, modules/sys_utsname:
	* modules/sys_wait, modules/sysexits, modules/termios:
	* modules/threads-h, modules/time, modules/uchar:
	* modules/unicase/base, modules/unicase/special-casing:
	* modules/uniconv/base, modules/unictype/base, modules/unigbrk/base:
	* modules/unilbrk/base, modules/uniname/base, modules/uninorm/base:
	* modules/unistd, modules/unistdio/base, modules/unistr/base:
	* modules/unitypes, modules/uniwbrk/base, modules/uniwidth/base:
	* modules/utime-h, modules/wchar, modules/wctype-h:
	Depend on gen-header, and use its macros to simplify
	header generation.

2021-12-24  Bruno Haible  <bruno@clisp.org>

	passfd: Fix compilation error on IRIX.
	* lib/passfd.c (sendfd): On IRIX, ignore CMSG_FIRSTHDR.
	(recvfd): Likewise. Produce a fake error ENOTCONN.

2021-12-24  Bruno Haible  <bruno@clisp.org>

	tests: Fix link errors on AIX.
	* modules/fnmatch-h-c++-tests (Makefile.am): Link test-fnmatch-h-c++
	with $(LIB_MBRTOWC).
	* modules/glob-h-c++-tests (Makefile.am): Link test-glob-h-c++ with
	$(LIB_MBRTOWC).
	* modules/stdlib-c++-tests (Makefile.am): Link test-stdlib-c++ with
	$(GETLOADAVG_LIBS).
	* modules/sys_stat-c++-tests (Makefile.am): Link test-sys_stat-c++ with
	$(LIB_MBRTOWC).
	* modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
	$(LIBUNISTRING).

2021-12-24  Bruno Haible  <bruno@clisp.org>

	hamt tests: Fix compilation error with AIX xlc.
	* tests/test-hamt.c (test_iterator): Don't use compound initializer.

2021-12-24  Bruno Haible  <bruno@clisp.org>

	strerrorname_np: Fix compilation error on IRIX.
	* lib/strerrorname_np.c (strerrorname_np): Handle conflict between
	EDIRCORRUPTED and EFSCORRUPTED.
	* tests/test-strerrorname_np.c (main): Likewise.

2021-12-24  Bruno Haible  <bruno@clisp.org>

	hamt: Fix compilation error on NetBSD 7.
	* lib/hamt.h (GL_HAMT_THREAD_SAFE): Define to 0 if the compiler is a
	GCC version < 4.9.

2021-12-24  Bruno Haible  <bruno@clisp.org>

	search: Fix compilation errors with SunPRO C++ on Solaris 10.
	* lib/search.in.h (_gl_lsearch_compar_fn): New type.
	(lfind, lsearch): Use it.

2021-12-24  Bruno Haible  <bruno@clisp.org>

	qsort_r: Fix compilation error with SunPRO C++ on Solaris 10.
	* lib/stdlib.in.h (_gl_qsort_r_compar_fn): New type.
	(qsort_r): Use it.
	* tests/test-stdlib-c++.cc (qsort_r): Don't test with SunPRO C++.

2021-12-24  Bruno Haible  <bruno@clisp.org>

	threads-h tests: Avoid clang warnings.
	* tests/test-threads.c (main): Add 'default' to switch statements.

2021-12-24  Bruno Haible  <bruno@clisp.org>

	doc: Small updates.
	* doc/glibc-functions/ptsname_r.texi: Update info regarding Mac OS X.
	* doc/posix-functions/getlogin_r.texi: Update info regarding FreeBSD.

2021-12-22  Paul Eggert  <eggert@cs.ucla.edu>

	libgmp: omit redundant 'mkdir -p .'
	* modules/libgmp: Mark $(MKDIR) with @NMD@; this was missed
	in a previous pass.

	maint: omit unnecessary ‘rm -f $@-t $@’
	* modules/alloca-opt, modules/argz, modules/arpa_inet:
	* modules/assert-h, modules/byteswap, modules/configmake:
	* modules/ctype, modules/dirent, modules/dynarray, modules/errno:
	* modules/execinfo, modules/fcntl-h, modules/float:
	* modules/fnmatch-h, modules/getopt-posix, modules/glob-h:
	* modules/iconv-h, modules/ieee754-h, modules/inttypes-incomplete:
	* modules/langinfo, modules/libtextstyle-optional:
	* modules/limits-h, modules/langinfo, modules/libgmp, modules/limits-h:
	* modules/locale, modules/malloc-h, modules/math, modules/monetary:
	* modules/net_if, modules/netdb, modules/netinet_in:
	* modules/openmp-init, modules/poll-h, modules/posix-shell:
	* modules/posix_spawnp-tests, modules/pthread-h, modules/pty:
	* modules/sched, modules/scratch_buffer, modules/search:
	* modules/selinux-h, modules/signal-h, modules/sigsegv:
	* modules/snippet/link-warning, modules/spawn, modules/stdalign:
	* modules/stdarg, modules/stdbool, modules/stddef, modules/stdint:
	* modules/stdio, modules/stdlib, modules/stdnoreturn:
	* modules/string, modules/strings, modules/sys_file:
	* modules/sys_ioctl, modules/sys_random, modules/sys_resource:
	* modules/sys_select, modules/sys_socket, modules/sys_stat:
	* modules/sys_time, modules/sys_times, modules/sys_types:
	* modules/sys_uio, modules/sys_utsname, modules/sys_wait:
	* modules/sysexits, modules/termios, modules/threads-h:
	* modules/time, modules/uchar, modules/unicase/base:
	* modules/unicase/special-casing, modules/uniconv/base:
	* modules/unictype/base, modules/unigbrk/base, modules/unilbrk/base:
	* modules/uniname/base, modules/uninorm/base, modules/unistd:
	* modules/unistdio/base, modules/unistr/base, modules/unitypes:
	* modules/uniwbrk/base, modules/uniwidth/base, modules/utime-h:
	* modules/wchar, modules/wctype-h:
	Don’t bother to do a ‘rm -f $@-t $@’ at the start of recipes that
	create .h and similar files.  This is a revenant of a style in
	which the files were created read-only.  Also, consistently use
	use plain ‘mv $@-t $@’ afterwards, instead of usually using
	‘mv -f’ but sometimes plain ‘mv’.

2021-12-21  Paul Eggert  <eggert@cs.ucla.edu>

	maint: fix __clang_major__ misspellings
	The intprops.h typo fix should fix a bug in Emacs on Debian testing
	with clang <https://bugs.gnu.org/52711>.
	* lib/asyncsafe-spin.c, lib/intprops.h, lib/pthread-spin.c:
	Fix some misspellings of ‘__clang_major__’.
	I left one misspelling alone, in lib/cdefs.h,
	and instead reported that bug upstream here:
	https://sourceware.org/pipermail/libc-alpha/2021-December/134512.html

2021-12-21  Bruno Haible  <bruno@clisp.org>

	get_ppid_of, get_progname_of: Fix runtime error on Mac OS X < 10.5.
	Reported by Evan Miller <emmiller@gmail.com>
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-12/msg00081.html>.
	* lib/get_ppid_of.c (proc_pidinfo): Declare with WEAK_IMPORT_ATTRIBUTE.
	(get_ppid_of): Test whether the symbol declared weak evaluates to
	non-NULL before invoking it.
	* lib/get_progname_of (proc_pidinfo): Declare with
	WEAK_IMPORT_ATTRIBUTE.
	(get_progname_of): Test whether the symbol declared weak evaluates to
	non-NULL before invoking it.

2021-12-21  Paul Eggert  <eggert@cs.ucla.edu>

	Move AM_V_GEN to recipe start
	This is especially needed when building Emacs, as it uses
	‘AM_V_GEN=@$(info GEN $@)', which means the GEN line is output by
	GNU make just before the recipe runs, regardless of where AM_V_GEN
	appears in the recipe.  And it’s also good practice even if the
	default Automake ‘AM_V_GEN=@echo GEN $@;’ is used, as it’s better
	to output the GEN line consistently at the start of every recipe,
	even if this precedes a preparatory command that almost always
	works silently.
	* modules/arpa_inet, modules/dynarray, modules/net_if:
	* modules/netinet_in, modules/scratch_buffer, modules/selinux-h:
	* modules/sys_file, modules/sys_ioctl, modules/sys_random:
	* modules/sys_resource, modules/sys_select, modules/sys_socket:
	* modules/sys_stat, modules/sys_time, modules/sys_times:
	* modules/sys_types, modules/sys_uio, modules/sys_utsname:
	* modules/sys_wait, modules/unicase/special-casing, top/maint.mk:
	Use AM_V_GEN only at the start of each recipe.

2021-12-21  Bruno Haible  <bruno@clisp.org>

	c-xvasprintf: Fix declarations (regression 2021-08-07).
	* lib/c-xvasprintf.h (c_xasprintf, c_xvasprintf): Remove
	_GL_ATTRIBUTE_RETURNS_NONNULL attribute.

2021-12-21  Bruno Haible  <bruno@clisp.org>

	snippet/warn-on-use: Fix compilation error in C++ mode on OpenBSD 7.0.
	* lib/warn-on-use.h (_GL_WARN_ON_USE): In C++ mode, declare function
	with "C" linkage.

2021-12-21  Bruno Haible  <bruno@clisp.org>

	Optimize redundant 'mkdir -p .' invocations.
	Reported by Paul Eggert.
	* gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
	Eliminate @NMD@ tokens.
	* modules/alloca-opt (Makefile.am): Prefix the "$(MKDIR_P) '%reldir%'"
	line with @NMD@.
	* modules/argz (Makefile.am): Likewise.
	* modules/assert-h (Makefile.am): Likewise.
	* modules/byteswap (Makefile.am): Likewise.
	* modules/configmake (Makefile.am): Likewise.
	* modules/ctype (Makefile.am): Likewise.
	* modules/dirent (Makefile.am): Likewise.
	* modules/errno (Makefile.am): Likewise.
	* modules/execinfo (Makefile.am): Likewise.
	* modules/fcntl-h (Makefile.am): Likewise.
	* modules/float (Makefile.am): Likewise.
	* modules/fnmatch-h (Makefile.am): Likewise.
	* modules/getopt-posix (Makefile.am): Likewise.
	* modules/glob-h (Makefile.am): Likewise.
	* modules/iconv-h (Makefile.am): Likewise.
	* modules/ieee754-h (Makefile.am): Likewise.
	* modules/inttypes-incomplete (Makefile.am): Likewise.
	* modules/langinfo (Makefile.am): Likewise.
	* modules/libtextstyle-optional (Makefile.am): Likewise.
	* modules/limits-h (Makefile.am): Likewise.
	* modules/locale (Makefile.am): Likewise.
	* modules/malloc-h (Makefile.am): Likewise.
	* modules/math (Makefile.am): Likewise.
	* modules/monetary (Makefile.am): Likewise.
	* modules/netdb (Makefile.am): Likewise.
	* modules/openmp-init (Makefile.am): Likewise.
	* modules/poll-h (Makefile.am): Likewise.
	* modules/posix-shell (Makefile.am): Likewise.
	* modules/pthread-h (Makefile.am): Likewise.
	* modules/pty (Makefile.am): Likewise.
	* modules/sched (Makefile.am): Likewise.
	* modules/search (Makefile.am): Likewise.
	* modules/signal-h (Makefile.am): Likewise.
	* modules/sigsegv (Makefile.am): Likewise.
	* modules/snippet/link-warning (Makefile.am): Likewise.
	* modules/spawn (Makefile.am): Likewise.
	* modules/stdalign (Makefile.am): Likewise.
	* modules/stdarg (Makefile.am): Likewise.
	* modules/stdbool (Makefile.am): Likewise.
	* modules/stddef (Makefile.am): Likewise.
	* modules/stdint (Makefile.am): Likewise.
	* modules/stdio (Makefile.am): Likewise.
	* modules/stdlib (Makefile.am): Likewise.
	* modules/stdnoreturn (Makefile.am): Likewise.
	* modules/string (Makefile.am): Likewise.
	* modules/strings (Makefile.am): Likewise.
	* modules/sysexits (Makefile.am): Likewise.
	* modules/termios (Makefile.am): Likewise.
	* modules/threads-h (Makefile.am): Likewise.
	* modules/time (Makefile.am): Likewise.
	* modules/uchar (Makefile.am): Likewise.
	* modules/unicase/base (Makefile.am): Likewise.
	* modules/uniconv/base (Makefile.am): Likewise.
	* modules/unictype/base (Makefile.am): Likewise.
	* modules/unigbrk/base (Makefile.am): Likewise.
	* modules/unilbrk/base (Makefile.am): Likewise.
	* modules/uniname/base (Makefile.am): Likewise.
	* modules/uninorm/base (Makefile.am): Likewise.
	* modules/unistd (Makefile.am): Likewise.
	* modules/unistdio/base (Makefile.am): Likewise.
	* modules/unistr/base (Makefile.am): Likewise.
	* modules/unitypes (Makefile.am): Likewise.
	* modules/uniwbrk/base (Makefile.am): Likewise.
	* modules/uniwidth/base (Makefile.am): Likewise.
	* modules/utime-h (Makefile.am): Likewise.
	* modules/wchar (Makefile.am): Likewise.
	* modules/wctype-h (Makefile.am): Likewise.

2021-12-19  Bruno Haible  <bruno@clisp.org>

	non-recursive-gnulib-prefix-hack: Deprecate module.
	* modules/non-recursive-gnulib-prefix-hack (Status, Notice): New
	sections.

2021-12-19  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Don't insist on ACLOCAL_AMFLAGS.
	Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-12/msg00112.html>.
	* gnulib-tool (func_import): Mention an AC_CONFIG_MACRO_DIRS invocation
	as an alternative to augmenting ACLOCAL_AMFLAGS.
	(--import, --add-import, --remove-import, --update): To find the m4
	directories, look also for AC_CONFIG_MACRO_DIR and AC_CONFIG_MACRO_DIRS
	invocations in configure.ac.

2021-12-18  Bruno Haible  <bruno@clisp.org>

	nstrftime: Update meta info.
	* config/srclist.txt: Fix typo from 2017-07-23.

2021-12-18  Bruno Haible  <bruno@clisp.org>

	stdint: Fix handling of limits.h (regression 2021-12-16).
	* modules/stdint (configure.ac): Revert last change.
	* gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
	If --gnu-make is used, assume that AC_SUBSTed variables for conditionals
	are constructed by appending the suffix '_CONDITION'.

2021-12-18  Paul Eggert  <eggert@cs.ucla.edu>

	nstrftime: simplify by using libc-config.h.
	* lib/nstrftime.c [!_LIBC]: Include libc-config.h
	instead of config.h.
	(iso_week_days): Simplify via libc-config.h’s __inline.
	(my_strftime): Simplify via libc-config.h’s libc_hidden_def.
	* modules/nstrftime (Depends-on): Add libc-config.

2021-12-18  Bruno Haible  <bruno@clisp.org>

	libtextstyle-optional: Fix generation of textstyle.h (regr. 2021-12-15).
	* m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Invoke
	gl_CONDITIONAL_HEADER.

2021-12-18  Bruno Haible  <bruno@clisp.org>

	Fix support for --gnu-make in tests (regression 2021-12-15).
	* gnulib-tool (func_emit_tests_Makefile_am): When producing output for
	GNU make, eliminate %reldir% tokens.

2021-12-17  Bruno Haible  <bruno@clisp.org>

	getopt-posix: Fix build on AIX (regression 2021-12-15).
	* modules/getopt-posix (configure.ac): Arrange to generate
	getopt-cdefs.h.
	(Makefile.am): Separate the rules for getopt.h and getopt-cdefs.h.

2021-12-16  Paul Eggert  <eggert@cs.ucla.edu>

	getopt-posix: omit unnessary building of getopt.h
	* modules/getopt-posix (getopt.h, getopt-cdefs.h):
	Build only if GL_GENERATE_GETOPT_H.

	stdint: omit duplicate gl_CONFIGURE_HEADER calls
	* modules/stdint (configure.ac): Omit
	‘gl_CONDITIONAL_HEADER([limits.h])’, since stdint depends on
	limits-h and doing gl_CONDITIONAL_HEADER twice can result in
	‘configure’ failing with “*** GL_GENERATE_LIMITS_H is not set
	correctly”.

2021-12-15  Bruno Haible  <bruno@clisp.org>

	automake-subdir support: Support the libunistring modules.
	* m4/libunistring-base.m4 (gl_LIBUNISTRING_LIBHEADER): Use the value of
	the gl_source_base_prefix variable.

2021-12-15  Bruno Haible  <bruno@clisp.org>

	automake-subdir support: Support arbitrary --source-base value.
	Reported by Marc Nieper-Wißkirchen in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-12/msg00066.html>.
	* build-aux/prefix-gnulib-mk ($canon_prefix): New variable.
	(prefix): Initialize it.
	(prefix_assignment): Use it.

2021-12-15  Bruno Haible  <bruno@clisp.org>

	automake-subdir support: Look for 'subdir-objects' also in configure.ac.
	* gnulib-tool: Look for the automake options also in the first argument
	of the AM_INIT_AUTOMAKE invocation in configure.ac.

2021-12-15  Bruno Haible  <bruno@clisp.org>

	Add simple examples.
	* examples: New directory.

2021-12-15  Bruno Haible  <bruno@clisp.org>

	Accommodate non-recursive Automake in a less hacky way.
	* gnulib-tool: New option --automake-subdir.
	(automake_subdir): New variable.
	(func_emit_initmacro_end): Add a second argument. Use it to prefix each
	object file name in *_LIBOBJS and *_LTLIBOBJS.
	(func_emit_shellvars_init): New function.
	(func_import): Add support for --automake-subdir. Invoke
	prefix-gnulib-mk. Update calls to func_emit_initmacro_end. Call
	func_emit_shellvars_init.
	(func_create_testdir): Update calls to func_emit_initmacro_end. Call
	func_emit_shellvars_init.
	* m4/gnulib-tool.m4 (gl_AUTOMAKE_SUBDIR): New macro.
	* m4/gnulib-common.m4 (gl_CONDITIONAL_HEADER): Use the value of the
	gl_source_base_prefix variable.
	* build-aux/prefix-gnulib-mk: New options --from-gnulib-tool, --prefix.
	(contents_of_file): Renamed from contents.
	(contents_of_stdin): New function.
	(process): Inline and remove function.
	* doc/gnulib-tool.texi (Non-recursive make): New section.

2021-12-15  Bruno Haible  <bruno@clisp.org>

	Move .h file names out of the *.m4 files.
	This is useful because Autoconf macros defined in *.m4 files can be
	AC_REQUIREd. In the configure file, they are then expanded before
	gl_INIT, i.e. at a place where it is not known whether they are required
	for the lib/ or for the tests/ directory (or both).
	* m4/gnulib-common.m4 (gl_CONDITIONAL_HEADER): New macro.
	* m4/alloca.m4 (gl_FUNC_ALLOCA): Set GL_GENERATE_ALLOCA_H instead of
	ALLOCA_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	* modules/alloca-opt (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/argz.m4 (gl_FUNC_ARGZ): Set GL_GENERATE_ARGZ_H instead of ARGZ_H.
	Drop AC_SUBST and AM_CONDITIONAL invocations.
	* modules/argz (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/assert_h.m4 (gl_ASSERT_H): Set GL_GENERATE_ASSERT_H instead of
	ASSERT_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	* modules/assert-h (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/byteswap.m4 (gl_BYTESWAP): Set GL_GENERATE_BYTESWAP_H instead of
	BYTESWAP_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	* modules/byteswap (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Set GL_GENERATE_ERRNO_H instead of
	ERRNO_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	(gl_REPLACE_ERRNO_VALUE): Update.
	* m4/perror.m4 (gl_FUNC_PERROR): Update.
	* m4/strerror.m4 (gl_FUNC_STRERROR): Update.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
	Update.
	* modules/errno (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/execinfo.m4 (gl_EXECINFO_H): Set GL_GENERATE_EXECINFO_H instead of
	EXECINFO_H. Drop AC_SUBST and AM_CONDITIONAL invocations. Drop AC_LIBOBJ
	invocation.
	* modules/execinfo (configure.ac): Invoke gl_CONDITIONAL_HEADER and
	AC_LIBOBJ.
	* m4/float_h.m4 (gl_FLOAT_H): Set GL_GENERATE_FLOAT_H instead of
	FLOAT_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	* modules/float (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/fnmatch_h.m4 (gl_FNMATCH_H, gl_REPLACE_FNMATCH_H): Set
	GL_GENERATE_FNMATCH_H instead of FNMATCH_H. Drop AC_SUBST and
	AM_CONDITIONAL invocations.
	* modules/fnmatch-h (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* modules/fnmatch (configure.ac): Likewise.
	* m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_GETOPT_SUBSTITUTE_HEADER): Set
	GL_GENERATE_GETOPT_H instead of GETOPT_H. Set GL_GENERATE_GETOPT_CDEFS_H
	instead of GETOPT_CDEFS_H. Drop AC_SUBST invocations.
	* modules/getopt-posix (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/glob_h.m4 (gl_GLOB_H, gl_REPLACE_GLOB_H): Set GL_GENERATE_GLOB_H
	instead of GLOB_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	* modules/glob-h (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* modules/glob (configure.ac): Likewise.
	* m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS, gl_REPLACE_ICONV_H): Set
	GL_GENERATE_ICONV_H instead of ICONV_H. Drop AC_SUBST and AM_CONDITIONAL
	invocations.
	(gl_ICONV_H): Update.
	* modules/iconv-h (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* modules/iconv_open (configure.ac): Likewise.
	* m4/ieee754-h.m4 (gl_IEEE754_H): Set GL_GENERATE_IEEE754_H instead of
	IEEE754_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	* modules/ieee754-h (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/libgmp.m4 (gl_LIBGMP): Set GL_GENERATE_GMP_H instead of GMP_H. Drop
	AC_SUBST invocation.
	* modules/libgmp (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	(Makefile.am): Use GL_GENERATE_GMP_H.
	* m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Set
	GL_GENERATE_TEXTSTYLE_H instead of TEXTSTYLE_H. Drop AC_SUBST and
	AM_CONDITIONAL invocations.
	* modules/libtextstyle-optional (configure.ac): Invoke
	gl_CONDITIONAL_HEADER.
	* m4/limits-h.m4 (gl_LIMITS_H, gl_REPLACE_LIMITS_H): Set
	GL_GENERATE_LIMITS_H instead of LIMITS_H. Drop AC_SUBST and
	AM_CONDITIONAL invocations.
	* modules/limits-h (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/monetary_h.m4 (gl_MONETARY_H): Set GL_GENERATE_MONETARY_H instead
	of MONETARY_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	* modules/monetary (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/net_if_h.m4 (gl_HEADER_NET_IF): Set GL_GENERATE_NET_IF_H instead of
	NET_IF_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	* modules/net_if (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Set
	GL_GENERATE_NETINET_IN_H instead of NETINET_IN_H. Drop AC_SUBST and
	AM_CONDITIONAL invocations.
	* modules/netinet_in (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Set
	GL_GENERATE_SELINUX_CONTEXT_H instead of SELINUX_CONTEXT_H. Drop
	AC_SUBST and AM_CONDITIONAL invocations.
	* m4/selinux-label-h.m4 (gl_HEADERS_SELINUX_LABEL_H): Set
	GL_GENERATE_SELINUX_LABEL_H instead of SELINUX_LABEL_H. Drop AC_SUBST
	and AM_CONDITIONAL invocations.
	* modules/selinux-h (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/stdalign.m4 (gl_STDALIGN_H): Set GL_GENERATE_STDALIGN_H instead of
	STDALIGN_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	* modules/stdalign (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/stdarg.m4 (gl_STDARG_H): Set GL_GENERATE_STDARG_H instead of
	STDARG_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	* modules/stdarg (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/stdbool.m4 (gl_STDBOOL_H): Renamed from AM_STDBOOL_H. Set
	GL_GENERATE_STDBOOL_H instead of STDBOOL_H. Drop AC_SUBST and
	AM_CONDITIONAL invocations.
	* m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don't require AM_STDBOOL_H.
	* modules/stdbool (configure.ac): Invoke gl_STDBOOL_H instead of
	AM_STDBOOL_H. Invoke gl_CONDITIONAL_HEADER.
	* m4/stddef_h.m4 (gl_STDDEF_H): Set GL_GENERATE_STDDEF_H instead of
	STDDEF_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	* modules/stddef (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/stdint.m4 (gl_STDINT_H): Set GL_GENERATE_STDINT_H instead of
	STDINT_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	* m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Update.
	* modules/stdint (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/stdnoreturn.m4 (gl_STDNORETURN_H): Set GL_GENERATE_STDNORETURN_H
	instead of STDNORETURN_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	* modules/stdnoreturn (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* m4/sys_socket_h.m4 (gl_SYS_SOCKET_H): Set GL_GENERATE_SYS_SOCKET_H
	instead of SYS_SOCKET_H.
	* m4/sysexits.m4 (gl_SYSEXITS): Set GL_GENERATE_SYSEXITS_H instead of
	SYSEXITS_H. Drop AC_SUBST and AM_CONDITIONAL invocations.
	* modules/sysexits (configure.ac): Invoke gl_CONDITIONAL_HEADER.
	* modules/sigsegv (configure.ac): Set GL_GENERATE_SIGSEGV_H instead of
	SIGSEGV_H. Drop AC_SUBST and AM_CONDITIONAL invocations. Invoke
	gl_CONDITIONAL_HEADER.

2021-12-15  Bruno Haible  <bruno@clisp.org>

	Fix creation of build directories with non-recursive-gnulib-prefix-hack.
	This is necessary for executing "make" in a VPATH build of a package
	that uses prefix-gnulib-mk and a module such as alloca-opt.
	* modules/alloca-opt (Makefile.am): Before generating the .h-t file,
	ensure that the directory in which we want to create it exists.
	(configure.ac): Invoke AC_PROG_MKDIR_P.
	* modules/argz: Likewise.
	* modules/arpa_inet: Likewise.
	* modules/assert-h: Likewise.
	* modules/byteswap: Likewise.
	* modules/configmake: Likewise.
	* modules/ctype: Likewise.
	* modules/dirent: Likewise.
	* modules/dynarray: Likewise.
	* modules/errno: Likewise.
	* modules/execinfo: Likewise.
	* modules/fcntl-h: Likewise.
	* modules/float: Likewise.
	* modules/fnmatch-h: Likewise.
	* modules/getopt-posix: Likewise.
	* modules/glob-h: Likewise.
	* modules/iconv-h: Likewise.
	* modules/ieee754-h: Likewise.
	* modules/inttypes-incomplete: Likewise.
	* modules/langinfo: Likewise.
	* modules/libgmp: Likewise.
	* modules/libtextstyle-optional: Likewise.
	* modules/limits-h: Likewise.
	* modules/locale: Likewise.
	* modules/malloc-h: Likewise.
	* modules/math: Likewise.
	* modules/monetary: Likewise.
	* modules/net_if: Likewise.
	* modules/netdb: Likewise.
	* modules/netinet_in: Likewise.
	* modules/openmp-init: Likewise.
	* modules/poll-h: Likewise.
	* modules/posix-shell: Likewise.
	* modules/pthread-h: Likewise.
	* modules/pty: Likewise.
	* modules/sched: Likewise.
	* modules/scratch_buffer: Likewise.
	* modules/search: Likewise.
	* modules/selinux-h: Likewise.
	* modules/signal-h: Likewise.
	* modules/sigsegv: Likewise.
	* modules/snippet/link-warning: Likewise.
	* modules/spawn: Likewise.
	* modules/stdalign: Likewise.
	* modules/stdarg: Likewise.
	* modules/stdbool: Likewise.
	* modules/stddef: Likewise.
	* modules/stdint: Likewise.
	* modules/stdio: Likewise.
	* modules/stdlib: Likewise.
	* modules/stdnoreturn: Likewise.
	* modules/string: Likewise.
	* modules/strings: Likewise.
	* modules/sys_file: Likewise.
	* modules/sys_ioctl: Likewise.
	* modules/sys_random: Likewise.
	* modules/sys_resource: Likewise.
	* modules/sys_select: Likewise.
	* modules/sys_socket: Likewise.
	* modules/sys_stat: Likewise.
	* modules/sys_time: Likewise.
	* modules/sys_times: Likewise.
	* modules/sys_types: Likewise.
	* modules/sys_uio: Likewise.
	* modules/sys_utsname: Likewise.
	* modules/sys_wait: Likewise.
	* modules/sysexits: Likewise.
	* modules/termios: Likewise.
	* modules/threads-h: Likewise.
	* modules/time: Likewise.
	* modules/uchar: Likewise.
	* modules/unicase/base: Likewise.
	* modules/unicase/special-casing: Likewise.
	* modules/uniconv/base: Likewise.
	* modules/unictype/base: Likewise.
	* modules/unigbrk/base: Likewise.
	* modules/unilbrk/base: Likewise.
	* modules/uniname/base: Likewise.
	* modules/uninorm/base: Likewise.
	* modules/unistd: Likewise.
	* modules/unistdio/base: Likewise.
	* modules/unistr/base: Likewise.
	* modules/unitypes: Likewise.
	* modules/uniwbrk/base: Likewise.
	* modules/uniwidth/base: Likewise.
	* modules/utime-h: Likewise.
	* modules/wchar: Likewise.
	* modules/wctype-h: Likewise.
	* gnulib-tool (func_emit_lib_Makefile_am): When producing output for
	GNU make, eliminate %reldir% tokens.

2021-12-15  Bruno Haible  <bruno@clisp.org>

	non-recursive-gnulib-prefix-hack: Remove obsolete code.
	* build-aux/prefix-gnulib-mk (prefix): Remove handling of t-$@ pattern.

2021-12-15  Bruno Haible  <bruno@clisp.org>

	Indentation fix.
	* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Correct indentation.

2021-12-14  Paul Eggert  <eggert@cs.ucla.edu>

	renameatu: port to macOS tmpfs
	Problem reported by Sudhip Nashi (Bug#52193).
	* lib/renameatu.c (renameat2ish) [HAVE_RENAMEAT]: New function.
	(renameatu): Use the new function, to avoid a bug when
	renameatx_np fails with errno == ENOTSUP.  Don’t try to support
	RENAME_EXCHANGE; the old code didn’t work and nobody using using
	RENAME_EXCHANGE anyway.

2021-12-12  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Try to support non-recursive-gnulib-prefix-hack with tests.
	* gnulib-tool (func_import): Synthesize an AC_CONFIG_LIBOBJ_DIR
	invocation.
	* m4/non-recursive-gnulib-prefix-hack.m4
	(gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't invoke
	AC_CONFIG_LIBOBJ_DIR.

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

	bootstrap: refactor for GNU tar
	* build-aux/bootstrap (gitignore_entries, insert_if_absent)
	(insert_vc_ignore, symlink_to_dir): Define these shell functions
	before including bootstrap.conf.  This is for GNU tar, whose
	bootstrap.conf uses symlink_to_dir.

2021-12-12  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Support different basenames for the lib/,tests/ Makefiles.
	* gnulib-tool: New option --tests-makefile-name.
	(tests_makefile_name): New variable.
	(func_import): Add support for --tests-makefile-name. Replace local
	variable makefile_am with two local variables source_makefile_am,
	tests_makefile_am.
	* m4/gnulib-tool.m4 (gl_TESTS_MAKEFILE_NAME): New macro.

2021-12-11  Bruno Haible  <bruno@clisp.org>

	get_ppid_of, get_progname_of: Fix compilation error on Mac OS X < 10.5.
	Reported by Ryan Schmidt <gnulib@ryandesign.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-12/msg00011.html>.
	* lib/get_ppid_of.c: Include AvailabilityMacros.h
	(get_ppid_of): Use MAC_OS_X_VERSION_MAX_ALLOWED and
	MAC_OS_X_VERSION_MIN_REQUIRED.
	* lib/get_progname_of: Include AvailabilityMacros.h
	(get_progname_of): Use MAC_OS_X_VERSION_MAX_ALLOWED and
	MAC_OS_X_VERSION_MIN_REQUIRED.

2021-12-10  Paul Eggert  <eggert@cs.ucla.edu>

	backupfile: assume C99 decls
	* lib/backupfile.c: Use C99-style decls after statements.

	backupfile: prefer signed integers
	* lib/backupfile.c: Include ialloc.h instead of idx.h.
	Prefer idx_t to size_t where either will do.
	Use imalloc and irealloc instead of malloc and realloc.

	* modules/backupfile, modules/backup-rename (Depends-on):
	Depend on ialloc not idx.

	backupfile: fix numbered backups for XXX/
	* lib/backupfile.c (check_extension): Return a bool indicating
	whether the original extension was OK.  Caller changed.
	(numbered_backup): Require that FILELEN does not count
	trailing slashes after a non-slash, and don’t require
	that *BUF be null-terminated.  Caller changed.
	This fixes a bug where the numbered backup file name for X/ was
	incorrectly computed because the slash messed up the code
	looking for X.~1~, X.~2~, etc., and this caused numbered_backup
	to loop forever.  Also, check that check_extension doesn’t
	truncate a file name leading to an infloop.

2021-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	regex: pacify Coverity clean_state_log_if_needed
	Problem reported by Robbie Harwood in:
	https://lists.gnu.org/r/bug-gnulib/2021-12/msg00005.html
	* lib/regexec.c (clean_state_log_if_needed):
	Add a DEBUG_ASSERT; this both pacifies Coverity and
	will help to debug in case some other change mistakenly
	causes the assertion to become false.

2021-12-07  Bruno Haible  <bruno@clisp.org>

	gettext-h: Optimize also for clang.
	* lib/gettext.h (pgettext_aux, npgettext_aux, dcpgettext_expr,
	dcnpgettext_expr): Inline also on clang.

2021-12-06  Bruno Haible  <bruno@clisp.org>

	intprops: Break sync with glibc.
	* config/srclist.txt: Comment out intprops.h.

2021-12-06  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: streamline and get ready for Clang 14
	* lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW):
	Rely on __has_builtin first, since GCC didn’t introduce it until
	GCC 9 so we don’t need to special-case GCC first.
	(_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
	Look at __EDG__ rather than __ICC, since icc defines __EDG__ too.
	(_GL_HAS_BUILTIN_MUL_OVERFLOW): Define to 1 in Clang 14 and later,
	as a bug fix is scheduled for Clang 14.
	(_GL_HAS_BUILTIN_OVERFLOW_P): Do not bother to special-case
	__clang__, since __has_builtin should do the right thing anyway.

2021-12-06  Bruno Haible  <bruno@clisp.org>

	intprops: Treat EDG-based compilers like Intel compilers.
	Reported by Ilya Kurdyukov <ilyakurdyukov@altlinux.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-12/msg00028.html>.
	* lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P): Define to 0 on EDG-based
	compilers.

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

	sigsegv: Fix build on some more embedded CPUs.
	* m4/stack-direction.m4 (SV_STACK_DIRECTION): Assume the stack grows
	negative, when the GCC 11 sources say so.

2021-11-30  Paul Eggert  <eggert@cs.ucla.edu>

	sys_random: port better to uClibc < 1.0.35
	Problem reported by Fabrice Fontaine in:
	https://lists.gnu.org/r/bug-gnulib/2021-11/msg00043.html
	* lib/sys_random.in.h [HAVE_SYS_RANDOM_H && !__GLIBC__ && __UCLIBC__]:
	Include <stddef.h>, in case this file is included before
	__UCLIBC__ is defined.

2021-11-27  Paul Eggert  <eggert@cs.ucla.edu>

	gettext-h: document GNULIB_NO_VLA
	* doc/gnulib-readme.texi (C99 features avoided):
	Document GNULIB_NO_VLA.

	gettext-h: use VLA test similar to regex
	* lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Assuming
	GNULIB_NO_VLA, define if (defined __STDC_VERSION__ && 199901L <=
	__STDC_VERSION__ \ + && !defined __STDC_NO_VLA___), not if
	((__GNUC__ >= 3 || __GNUG__ >= 2) && !defined __STRICT_ANSI__).
	This is more consistent with what the regex module does.
	* modules/gettext-h (Depends-on): Depend on vararrays, since
	lib/gettext.h uses __STDC_NO_VLA__.

	regex: port to tcc
	Problem reported by Benno Schulenberg in:
	https://lists.gnu.org/r/bug-gnulib/2021-11/msg00038.html
	* modules/regex (Depends-on): Depend on vararrays, since
	lib/regex.h uses __STDC_NO_VLA__.
	* modules/vararrays: Change license from LGPL to LGPLv2+.

2021-11-25  Bernhard Voelker  <mail@bernhard-voelker.de>

	test-framework-sh: remove unsafe entries from PATH
	Running tests with '.' in the PATH may yield unspecified results,
	and is deemed unsafe per se.  This includes empty entries as well
	which are treated like a '.' entry as per POSIX.
	* tests/init.sh (setup_): Add snippet to remove relative and non-
	accessible entries from the PATH environment variable.

2021-11-24  Paul Eggert  <eggert@cs.ucla.edu>

	regex: merge from glibc
	The main change here, imported from Glibc, is for the regex
	code to stop using nested functions when _LIBC is defined.
	The intent is for the result to be copied back to Glibc
	so that the two implementations can resync.
	* lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
	(lookup_collation_sequence_value, build_range_exp)
	(build_collating_symbol):
	* lib/regexec.c (acquire_init_state_context):
	Declare with __always_inline instead of with
	‘inline __attribute__ ((always_inline))’.
	* lib/regexec.c (init_word_char):
	Move uint64_t comment to regex_internal.h.
	(parse_byte): Change multibyte-detecting arg from re_charset_t *
	to re_dfa_t const *.  All callers changed.
	(build_range_exp, build_collating_symbol) [!_LIBC]:
	Change signature to match _LIBC well enough so that the caller can
	be simplified to assume _LIBC.
	(parse_bracket_exp): Pull its nested functions
	seek_collating_symbol_entry, lookup_collation_sequence_value,
	build_range_exp, build_collating_symbol out to the top level,
	adding args to pass the information instead of having them access
	nonlocal vars.  Use types in local vars that do not assume glibc.
	* lib/regex_internal.h: Explain uint64_t etc. here.

2021-11-23  Paul Eggert  <eggert@cs.ucla.edu>

	regex: assume RE_ENABLE_I18N
	These days there is no longer any need to port to platforms
	lacking iswctype etc., since Gnulib now has substitutes.
	* config/srclist.txt: Comment out regex_internal.c and
	regex_internal.h for now, since they no longer match glibc.
	The intent is to merge them again soon.
	* lib/regex_internal.h (RE_ENABLE_I18N): Remove.
	All uses changed to assume that RE_ENABLE_I18N is 1.
	* modules/regex (Depends-on): Add iswctype.

2021-11-15  Paul Eggert  <eggert@cs.ucla.edu>

	lseek: port around macOS SEEK_HOLE glitch
	Problem reported by Sudhip Nashi (Bug#51857#47).
	* lib/lseek.c (rpl_lseek): Work around macOS lseek+SEEK_HOLE
	returning -1 with ENXIO if there are no holes before EOF,
	contrary to the macOS documentation.

	lseek: port around macOS SEEK_DATA glitch
	Problem reported by Sudhip Nashi (Bug#51857).
	* doc/posix-functions/lseek.texi (lseek): Mention macOS SEEK_DATA
	issue.
	* lib/lseek.c (rpl_lseek): Work around macOS portability glitch.
	* m4/lseek.m4 (gl_FUNC_LSEEK): Replace lseek on Darwin.
	* modules/lseek (Depends-on): Depend on msvc-nothrow
	and fstat only if needed.

2021-11-11  Fabrice Fontaine  <fontaine.fabrice@gmail.com>  (tiny change)

	sigsegv: fix builds on microblazeel, or1k
	* m4/stack-direction.m4 (SV_STACK_DIRECTION):
	Assume it grows negative on microblaze* and or1k.

2021-11-09  Paul Eggert  <eggert@cs.ucla.edu>

	exclude: yield proper errno on failure
	* lib/exclude.c (add_exclude_file): Do not assume that fclose
	preserves errno on success.

2021-11-07  Paul Eggert  <eggert@cs.ucla.edu>

	regex: break regcomp.c link with glibc
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2021-11/msg00005.html
	* config/srclist.txt: Comment out regcomp.c for now.
	* lib/regcomp.c: Revert previous change.

2021-10-24  Bruno Haible  <bruno@clisp.org>

	string: Avoid syntax error re strdup in string.in.h (regr. 2021-09-07).
	Reported by Jan Engelhardt <jengelh@inai.de>
	and by Arash Esbati <arash@gnu.org> via Andy Moreton in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-10/msg00058.html>.
	* lib/string.in.h (_GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_DEALLOC_FREE,
	_GL_ATTRIBUTE_MALLOC): Add fallback declarations, like in
	lib/stdlib.in.h.
	* lib/wchar.in.h (_GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_DEALLOC_FREE,
	_GL_ATTRIBUTE_MALLOC): Likewise.

2021-10-19  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc: new function xinmalloc
	* lib/xmalloc.c (xinmalloc): New function, which is like
	xnmalloc but for idx_t instead of size_t.

2021-10-18  Paul Eggert  <eggert@cs.ucla.edu>

	regex: fix buffer read overrrun
	* lib/regexec.c (re_search_internal):
	Fix buffer read overrun reported by Benno Schulenberg in:
	https://lists.gnu.org/r/bug-gnulib/2021-10/msg00035.html

2021-10-15  Paul Eggert  <eggert@cs.ucla.edu>

	nproc: port better to macOS 10.14
	* lib/nproc.c (num_processors_ignoring_omp)
	[HAVE_SYSCTL && !defined __GLIBC__ && defined HW_NCPU]:
	Do not use a const mib, as macOS 10.14 rejects this.

2021-10-13  Paul Eggert  <eggert@cs.ucla.edu>

	sigsegv: fix quoting problem
	Problem reported for FreeBSD ports by Alexey Dokuchaev in:
	https://bugs.gnu.org/51144
	* m4/stack-direction.m4 (SV_STACK_DIRECTION): Quote brackets.

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

	nproc: port better to OpenBSD
	Problem reported by Omar Polo in:
	https://lists.gnu.org/r/emacs-devel/2021-10/msg00692.html
	* lib/nproc.c (num_processors_ignoring_omp): Prefer HW_NCPUONLINE
	to HW_NCPU, for OpenBSD.  Also, make mib const.

2021-10-02  Paul Eggert  <eggert@cs.ucla.edu>

	timer-time: port better to OpenBSD 6.9
	* m4/timer_time.m4 (gl_TIMER_TIME): Also require timer_settime to
	be declared, as it exists in OpenBSD but always fails with ENOSYS.

	sys_select: port better to OpenBSD 6.9
	OpenBSD 6.9’s <sys/time.h> includes <sys/select.h> which then
	includes <signal.h>, which caused coreutils/lib/nproc.c compiles
	to fail with "/usr/include/signal.h:57: warning: 'struct
	sigaction' declared inside parameter list".  Fix this.
	* lib/sys_select.in.h [__OpenBSD__]: Simply delegate to the system
	header if being included from <sys/time.h>.

2021-09-22  Bruno Haible  <bruno@clisp.org>

	doc: Fix outdated statement about Spanish collation.
	Reported by Dietmar Schindler in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-09/msg00095.html>.
	* doc/regex.texi (Collating Elements vs. Characters): Choose another
	example of a digraph with special collation.

	doc: Don't assume that the output format is TeX-based or info.
	Reported by Dietmar Schindler in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-09/msg00095.html>.
	* doc/regex.texi (Collating Elements vs. Characters): Assume a texinfo
	version that groks UTF-8 encoded ISO-8859-1 characters.

2021-09-21  Paul Eggert  <eggert@cs.ucla.edu>

	regex: sync with glibc
	* config/srclist.txt: Uncomment-out posix/regex.c and related
	files, as the Gnulib versions have now been copied to glibc.
	* lib/intprops.h: Remove authorship comment, as per glibc guidelines.

2021-09-20  Simon Josefsson  <simon@josefsson.org>

	maint: Avoid syntax-check failure for empty gnulib submodule.
	* top/maint.mk (gnulib_dir): Fall back to GNULIB_SRCDIR if
	submodule is not checked out.

2021-09-19  Bruno Haible  <bruno@clisp.org>

	Relicense qemu.h under LGPLv2+.
	* tests/qemu.h: Change license header.

2021-09-19  Bruno Haible  <bruno@clisp.org>

	ialloc: Update license headers after license change from 2021-08-29.
	* lib/ialloc.h: Update license header.
	* lib/ialloc.c: Likewise.

2021-09-19  Bruno Haible  <bruno@clisp.org>

	Improve 'configure --help' output for crypto modules.
	* m4/af_alg.m4 (gl_AF_ALG): List the hash functions for which we use the
	Linux crypto. Also mention that we use it on files only.
	* m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use manual line breaking, not the
	line-filling style of AS_HELP_STRING. Show that --with-openssl takes an
	optional argument. List the hash functions for which we use the OpenSSL
	library. Don't mention --with-linux-crypto if the af_alg module is not
	in use. Mention that --with-linux-crypto applies only to the Linux
	kernel. Mention that it gets used only when available. Mention that it
	takes precedence only for files. In the error or warning, mention the
	pre-built package name that people can install.

2021-09-18  Bruno Haible  <bruno@clisp.org>

	string, wchar: Don't require undefined m4 macros (regr. today).
	Reported by Colin Watson <cjwatson@debian.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-09/msg00078.html>.
	* m4/string_h.m4 (gl_STRING_H_REQUIRE_DEFAULTS): Don't use m4_require
	directly. Instead, invoke gl_STDLIB_H_REQUIRE_DEFAULTS.
	* m4/wchar_h.m4 (gl_WCHAR_H_REQUIRE_DEFAULTS): Likewise.

2021-09-18  Bruno Haible  <bruno@clisp.org>

	sm3-buffer tests: New module.
	* tests/test-sm3-buffer.c: Renamed from tests/test-sm3.c.
	* modules/crypto/sm3-buffer-tests: Renamed from
	modules/crypto/sm3-tests. Test tests/test-sm3-buffer.c instead of
	tests/test-sm3.c.

	sm3-buffer: New module.
	* lib/sm3-stream.c: New file, extracted from lib/sm3.c.
	* lib/sm3.c: Don't include stdlib.h, unlocked-io.h.
	(BLOCKSIZE, sm3_stream): Moved to sm3-stream.c.
	* lib/sm3.h: Tweak.
	* modules/crypto/sm3-buffer: New file, based on modules/crypto/sm3.
	* modules/crypto/sm3: Rewritten.

2021-09-18  Bruno Haible  <bruno@clisp.org>

	sha512-buffer tests: New module.
	* tests/test-sha512-stream.c: Renamed from tests/test-sha512.c.
	* modules/crypto/sha512-buffer-tests: New file, based on
	modules/crypto/sha512-tests.
	* modules/crypto/sha512-tests: Remove tests that are now in
	modules/crypto/sha512-buffer-tests. Test tests/test-sha512-stream.c
	instead of tests/test-sha512.c.

	sha512: Clarify module to source relation.
	* lib/sha512-stream.c: New file, extracted from lib/sha512.c.
	* lib/sha512.c: Don't include stdlib.h, unlocked-io.h.
	(BLOCKSIZE, shaxxx_stream, sha512_stream, sha384_stream): Moved to
	sha512-stream.c.
	* lib/sha512.h: Tweak.
	* modules/crypto/sha512 (Files): Add lib/sha512-stream.c.
	(configure.ac): Don't define GL_COMPILE_CRYPTO_STREAM.
	(Makefile.am): Arrange to compile sha512-stream.c.
	(Link): Mention $(LIB_CRYPTO).

2021-09-18  Bruno Haible  <bruno@clisp.org>

	sha256-buffer tests: New module.
	* tests/test-sha256-stream.c: Renamed from tests/test-sha256.c.
	* modules/crypto/sha256-buffer-tests: New file, based on
	modules/crypto/sha256-tests.
	* modules/crypto/sha256-tests: Remove tests that are now in
	modules/crypto/sha256-buffer-tests. Test tests/test-sha256-stream.c
	instead of tests/test-sha256.c.

	sha256: Clarify module to source relation.
	* lib/sha256-stream.c: New file, extracted from lib/sha256.c.
	* lib/sha256.c: Don't include stdlib.h, unlocked-io.h.
	(BLOCKSIZE, shaxxx_stream, sha256_stream, sha224_stream): Moved to
	sha256-stream.c.
	* lib/sha256.h: Tweak.
	* modules/crypto/sha256 (Files): Add lib/sha256-stream.c.
	(configure.ac): Don't define GL_COMPILE_CRYPTO_STREAM.
	(Makefile.am): Arrange to compile sha256-stream.c.
	(Link): Mention $(LIB_CRYPTO).

2021-09-18  Bruno Haible  <bruno@clisp.org>

	sha1-buffer tests: New module.
	* tests/test-sha1-buffer.c: New file, based on tests/test-sha1.c.
	* tests/test-sha1-stream.c: Renamed from tests/test-sha1.c.
	(main): Remove sha1-buffer tests.
	* modules/crypto/sha1-buffer-tests: New file, based on
	modules/crypto/sha1-tests.
	* modules/crypto/sha1-tests: Remove tests that are now in
	modules/crypto/sha1-buffer-tests. Test tests/test-sha1-stream.c instead
	of tests/test-sha1.c.

	sha1: Clarify module to source relation.
	* lib/sha1-stream.c: New file, extracted from lib/sha1.c.
	* lib/sha1.c: Don't include stdlib.h, unlocked-io.h.
	(BLOCKSIZE, sha1_stream): Moved to sha1-stream.c.
	* lib/sha1.h: Correct indentation.
	* modules/crypto/sha1 (Files): Add lib/sha1-stream.c.
	(configure.ac): Don't define GL_COMPILE_CRYPTO_STREAM.
	(Makefile.am): Arrange to compile sha1-stream.c.
	(Link): Mention $(LIB_CRYPTO).

2021-09-18  Bruno Haible  <bruno@clisp.org>

	md5-buffer tests: New module.
	* tests/test-md5-buffer.c: New file, based on tests/test-md5.c.
	* tests/test-md5-stream.c: Renamed from tests/test-md5.c.
	(main): Remove md5-buffer tests.
	* modules/crypto/md5-buffer-tests: New file, based on
	modules/crypto/md5-tests.
	* modules/crypto/md5-tests: Remove tests that are now in
	modules/crypto/md5-buffer-tests. Test tests/test-md5-stream.c instead
	of tests/test-md5.c.

	md5: Clarify module to source relation.
	* lib/md5-stream.c: New file, extracted from lib/md5.c.
	* lib/md5.c: Don't include stdlib.h, unlocked-io.h.
	(BLOCKSIZE, md5_stream): Moved to md5-stream.c.
	* lib/md5.h: Tweak.
	* modules/crypto/md5 (Files): Add lib/md5-stream.c.
	(configure.ac): Don't define GL_COMPILE_CRYPTO_STREAM.
	(Makefile.am): Arrange to compile md5-stream.c.
	(Link): Mention $(LIB_CRYPTO).

2021-09-18  Bruno Haible  <bruno@clisp.org>

	md4-buffer tests: New module.
	* tests/test-md4-buffer.c: Renamed from tests/test-md4.c.
	* modules/crypto/md4-buffer-tests: Renamed from
	modules/crypto/md4-tests. Test tests/test-md4-buffer.c instead of
	tests/test-md4.c.

	md4-buffer: New module.
	* lib/md4-stream.c: New file, extracted from lib/md4.c.
	* lib/md4.c: Don't include stdlib.h, unlocked-io.h.
	(BLOCKSIZE, md4_stream): Moved to md4-stream.c.
	* lib/md4.h: Reorder declarations.
	* modules/crypto/md4-buffer: New file, based on modules/crypto/md4.
	* modules/crypto/md4: Rewritten.

2021-09-18  Bruno Haible  <bruno@clisp.org>

	md2-buffer tests: New module.
	* tests/test-md2-buffer.c: Renamed from tests/test-md2.c.
	* modules/crypto/md2-buffer-tests: Renamed from
	modules/crypto/md2-tests. Test tests/test-md2-buffer.c instead of
	tests/test-md2.c.

	md2-buffer: New module.
	* lib/md2-stream.c: New file, extracted from lib/md2.c.
	* lib/md2.c: Don't include stdlib.h, unlocked-io.h.
	(BLOCKSIZE, md2_stream): Moved to md2-stream.c.
	* lib/md2.h: Reorder declarations.
	* modules/crypto/md2-buffer: New file, based on modules/crypto/md2.
	* modules/crypto/md2: Rewritten.

2021-09-18  Bruno Haible  <bruno@clisp.org>

	string, wchar: Don't cause link errors for rpl_free (regr. 2021-09-07).
	Reported by Simon Josefsson in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-09/msg00042.html>.
	* lib/string.in.h (free, rpl_free): Consider GNULIB_FREE_POSIX variable.
	* lib/wchar.in.h (free, rpl_free): Likewise.
	* m4/string_h.m4 (gl_STRING_H_REQUIRE_DEFAULTS): Require module
	indicator variable initializations from the stdlib module.
	* m4/wchar_h.m4 (gl_WCHAR_H_REQUIRE_DEFAULTS): Likewise.
	* modules/string (Makefile.am): Substitute GNULIB_FREE_POSIX in string.h.
	* modules/wchar (Makefile.am): Substitute GNULIB_FREE_POSIX in wchar.h.

2021-09-17  Bruno Haible  <bruno@clisp.org>

	threadlib: Avoid crashes in thread-related functions on Cygwin 3.2.0.
	Reported by Brian Inglis via Akim Demaille in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-09/msg00063.html>.
	* m4/threadlib.m4 (gl_WEAK_SYMBOLS): Force a "guessing no" result on
	Cygwin.

2021-09-13  Bruno Haible  <bruno@clisp.org>

	simple-atomic: Port to Oracle Studio 12.6.
	* lib/simple-atomic.c (asm) [0x590 <= __SUNPRO_C && __STDC__]:
	#define to __asm.

2021-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	asyncsafe-spin: port to Oracle Studio 12.6 sparc
	Problem reported by Dennis Clarke via Eric Blake in:
	https://lists.gnu.org/r/bug-gnulib/2021-09/msg00056.html
	* lib/asyncsafe-spin.c (asm) [0x590 <= __SUNPRO_C && __STDC__]:
	#define to __asm.

2021-09-12  Paul Eggert  <eggert@cs.ucla.edu>

	stdint-tests: long long preproc on recent Sun C
	* tests/test-stdint.c: Test long long preprocessor constants on
	Oracle Developer Studio 12.6, where they should work.

2021-09-13  Bruno Haible  <bruno@clisp.org>

	extern-inline: Fix syntax error on macOS with GCC 11 (regr. 2021-08-22).
	Reported by Akim Demaille in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-09/msg00052.html>.
	* m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Put _GL_UNUSED
	before, not after, 'static'.

2021-09-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)

	sigsegv: port to OpenBSD 6.8+ powerpc64
	* lib/sigsegv.c (SIGSEGV_FAULT_STACKPOINTER):
	Special case for __OpenBSD__ && __powerpc64__, needed due to:
	https://github.com/openbsd/src/commit/5e649a8714ba05cf482011b7b7d1e5437b7c17db
	which is part of the oldest currently-supported OpenBSD (6.8),
	so we needn’t worry about older versions.

2021-09-09  Pádraig Brady  <P@draigBrady.com>

	maintainer-makefile: add 'can' to sc_prohibit_doubled_word
	* top/maint.mk (sc_prohibit_doubled_word): Check for "can can".

2021-09-08  Paul Eggert  <eggert@cs.ucla.edu>

	strerror_r-posix: port even better to Android
	* lib/strerror_r.c: Use STRERROR_R_CHAR_P to decide whether the
	system strerror_r returns char *, and HAVE_DECL_STRERROR_R to
	decide whether it either does that or returns an integer.  In the
	former case, use the system strerror_r even on platforms like
	Android API level 23 that don’t have __xpg_strerror_r; also
	check for strerror_r failure just in case.
	* m4/error.m4 (gl_PREREQ_ERROR):
	* m4/strerror_r.m4 (gl_PREREQ_STRERROR_R):
	Use system extensions on Android, to avoid mishandling strerror_r
	on API level 23 and later.
	* modules/error, modules/strerror_r-posix (configure.ac):
	Surround gl_PREREQ_ERROR with AS_IF instead of plain if, so that
	AC_REQUIREs are propagated out.

	strerror_r-posix: port better to Android
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move requirement of
	gl_USE_SYSTEM_EXTENSIONS from here ...
	(gl_FUNC_STRERROR_R_WORKS): ... to here, which is the macro that
	actually needs it.  This avoids a bug where 'configure' tests
	whether strerror_r has the POSIX API before enabling GNU
	extensions.  On Android, enabling GNU extensions switches from the
	POSIX to the GNU API.  Problem reported by Lucy Phipps in:
	https://lists.gnu.org/r/bug-gnulib/2021-09/msg00026.html

	string, wchar: port rpl_free decl to Android
	* lib/string.in.h, lib/wchar.in.h:
	(free): When replacing it, declare the unreplaced version too.
	Problem reported by Lucy Phipps in:
	https://lists.gnu.org/r/bug-gnulib/2021-09/msg00026.html

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

	string, wchar: avoid some namespace pollution
	* lib/string.in.h, lib/wchar.in.h:
	(free): Declare by hand instead of including stdlib.h.
	This avoids some namespace pollution.  It should also avoid some
	nested-include problems described by Lucy Phipps in:
	https://lists.gnu.org/r/bug-gnulib/2021-09/msg00018.html
	* modules/string, modules/wchar:
	(Depends-on): Add stdlib, so that REPLACE_FREE has the right value.
	(Makefile.am): Replace @REPLACE_FREE@ when creating the include file.

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

	idx: break copying from glibc
	* config/srclist.txt: Comment out idx.h, and bring back recent change.

2021-09-04  Sun Haiyong  <youbest@sina.com>  (tiny change)

	sigsegv: Improve cross-compilation support for LoongArch CPU.
	* m4/stack-direction.m4 (SV_STACK_DIRECTION): Assume the stack grows
	down on LoongArch.

2021-09-04  Simon Josefsson  <simon@josefsson.org>

	doc: Improve help related to bootstrap script.
	* doc/gnulib-tool.texi (VCS Issues): Make title more positive,
	s/Issues/Integration/.  Some more bootstrap-related hints,
	including changing suggested submodule path from .gnulib to gnulib
	as this seems to be more wide-spread.

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

	intprops: fix minor doc glitches
	* doc/intprops.texi (Integer Properties): Fix doc glitches.

2021-09-04  Simon Josefsson  <simon@josefsson.org>

	doc: Add suggestions on FDL texinfo usage.
	* doc/licenses-texi.texi (License Texinfo sources): Add texinfo
	examples.

2021-09-03  Simon Josefsson  <simon@josefsson.org>

	maintainer-makefile: Add indentation syntax-check rule.
	* top/maint.mk (indent): Use AM_V_GEN and indent_args.
	(sc_indent): New rule.
	(indent_args): New variable.
	(C_SOURCES): New variable, initialized to reasonable C files.
	(exclude_file_name_regexp--indent): New variable.

2021-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	idx: add commentary
	* lib/idx.h: Add comments about ssize_t and strlen, in
	response to comments from Simon Josefsson in:
	https://lists.gnu.org/r/bug-gnulib/2021-08/msg00196.html

2021-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	attribute: keep up with gnulib-common.m4
	* lib/attribute.h (ATTRIBUTE_DEALLOC, ATTRIBUTE_DEALLOC_FREE):
	New macros, aliases for the _GL_-prefixed macros added
	to gnulib-common.m4 last month.

2021-08-29  Bruno Haible  <bruno@clisp.org>

	supersede: Fix test failure under QEMU user-mode for Linux/mips.
	* tests/test-supersede-open.h (test_open_supersede): Copy statbuf.st_dev
	into a local variable of type dev_t.
	* tests/test-supersede-fopen.h (test_fopen_supersede): Likewise.

2021-08-29  Bruno Haible  <bruno@clisp.org>

	spawn-pipe: Fix test failure when running under QEMU user-mode.
	* tests/test-spawn-pipe-child.c: Include <stdbool.h>, <string.h>,
	qemu.h.
	(main): Under QEMU user-mode, allow fd 2 or fd 3 to be open.
	* modules/spawn-pipe-tests (Files): Add qemu.h.
	(Depends-on): Add stdbool.

2021-08-29  Bruno Haible  <bruno@clisp.org>

	execute: Fix test failure when running under QEMU user-mode.
	* tests/test-execute-child.c: Include <stdbool.h>, qemu.h.
	(main): Under QEMU user-mode, allow fd 3 to be open.
	* modules/execute-tests (Files): Add qemu.h.
	(Depends-on): Add stdbool.

2021-08-29  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addfchdir: Avoid test failure under QEMU.
	* tests/test-posix_spawn-fchdir.c: Include qemu.h.
	(is_qemu): New variable.
	(test): Under QEMU user-mode, don't expect that "pwd" produces the
	result "/".
	(main): Initialize is_qemu. Under QEMU user-mode, skip the relative file
	name test.
	* modules/posix_spawn_file_actions_addfchdir-tests (Files): Add qemu.h.
	(Depends-on): Add stdbool.

2021-08-29  Bruno Haible  <bruno@clisp.org>

	getcwd tests: Avoid test failure when running under QEMU user-mode.
	* modules/getcwd-tests (Files): Add qemu.h.
	(Depends-on): Add stdbool.
	* tests/test-getcwd.c: Include qemu.h.
	(test_long_name): Skip this test when running under QEMU user-mode.
	(main): Consider return code 77 from test_long_name.

2021-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	base32, base64: treat negative sizes as overflows
	* lib/base64.c (base64_encode_alloc):
	* lib/base32.c (base32_encode_alloc):
	Treat negative sizes as overflows, for better compatibility
	with previous API.

2021-08-29  Bruno Haible  <bruno@clisp.org>

	explicit_bzero test: Fix test failure due to GCC optimizations.
	* tests/test-explicit_bzero.c (do_secret_stuff): Use static variable
	'last_stackbuf'.
	(main): Use an 'if' to combine the two do_secret_stuff invocations.

2021-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: port to non-gnulib
	Suggested by Arnold Robbins in:
	https://lists.gnu.org/r/bug-gnulib/2021-08/msg00181.html
	* lib/dfa.h (_GL_ATTRIBUTE_DEALLOC) [!_GL_ATTRIBUTE_MALLOC]:
	Add missing definition.

2021-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	base32, base64: fix broken tests
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2021-08/msg00170.html
	* lib/base32.c, lib/base64.c: Do not include verify.h,
	and omit all uses of ‘assume’.
	* modules/base32, modules/base64 (Depends-on): Remove verify.
	* tests/test-base32.c, tests/test-base64.c:
	Don’t pass out-of-range values to allocator,
	as converting them to idx_t relies on implementation-defined
	behavior that could trap.

	ialloc: relicense
	* modules/ialloc (License): Change from LGPL to LGPLv2+.

2021-08-28  Bruno Haible  <bruno@clisp.org>

	fma: Fix compilation error on Linux/sh4.
	* lib/fma.c (FUNC): Don't test for FE_DOWNWARD or FE_UPWARD when these
	rounding modes are not defined.

2021-08-28  Bruno Haible  <bruno@clisp.org>

	Skip some tests when running under QEMU user-mode.
	* tests/qemu.h: New file.
	* tests/test-get-rusage-as.c: Include qemu.h.
	(main): Skip the test when running under QEMU.
	* tests/test-get-rusage-data.c: Include qemu.h.
	(main): Skip the test when running under QEMU.
	* tests/test-printf-posix2.c: Include qemu.h.
	(main): Return with code 77 when running under QEMU.
	* tests/test-fprintf-posix2.c: Include qemu.h.
	(main): Return with code 77 when running under QEMU.
	* tests/test-fprintf-posix3.c: Include qemu.h.
	(main): Return with code 79 when running under QEMU.
	* tests/test-fprintf-posix3.sh: Skip the test when the return code was
	79.
	* tests/test-dprintf-posix2.c: Include qemu.h.
	(main): Return with code 79 when running under QEMU. Use return code 80
	instead of 78.
	* tests/test-dprintf-posix2.sh: Skip the test when the return code was
	79. Update for changed return code.
	* modules/get-rusage-as-tests (Files): Add qemu.h.
	(Depends-on): Add stdbool.
	* modules/get-rusage-data-tests (Files): Add qemu.h.
	(Depends-on): Add stdbool.
	* modules/fprintf-posix-tests (Files): Add qemu.h.
	(Depends-on): Add stdbool.
	* modules/dprintf-posix-tests (Files): Add qemu.h.
	(Depends-on): Add stdbool.

2021-08-28  Bruno Haible  <bruno@clisp.org>

	sigabbrev_np, sigdescr_np: Fix compilation error on Linux/alpha.
	* lib/sigabbrev_np.c (sigabbrev_np): When SIGINFO and SIGPWR have the
	same value, give precendence to SIGPWR.
	* lib/sigdescr_np.c (sigdescr_np): Likewise.
	* tests/test-sigabbrev_np.c (main): Likewise.
	* tests/test-sigdescr_np.c (main): Likewise.

2021-08-28  Bruno Haible  <bruno@clisp.org>

	execle, execve, execvpe tests: Fix test failures under qemu user-mode.
	* test-execle-main.c: Include <string.h>.
	(get_environ_assignment, create_minimal_env): New functions.
	(main): Call create_minimal_env.
	* test-execve-main.c: Likewise.
	* test-execvpe-main.c: Likewise.

2021-08-27  Paul Eggert  <eggert@cs.ucla.edu>

	base32, base64: prefer signed to unsigned integers
	* lib/base32.c, lib/base64.c: Include ialloc.h instad of stdlib.h.
	Include intprops.h, verify.h.
	* lib/base32.c (base32_encode, base32_encode_alloc, get_8, decode_8)
	(base32_decode_ctx, base32_decode_alloc_ctx):
	* lib/base32.h (struct base32_decode_context):
	* lib/base64.c (base64_encode_fast, base64_encode)
	(base64_encode_alloc, get_4, decode_4, base64_decode_ctx)
	(base64_decode_alloc_ctx):
	* lib/base64.h (struct base64_decode_context):
	* tests/test-base32.c (main):
	* tests/test-base64.c (main):
	Prefer signed to unsigned integers.
	* lib/base32.c (base32_encode_alloc):
	* lib/base64.c (base64_encode_alloc):
	Use simpler and more-direct check for overflow, removing a TODO.
	* lib/base32.h, lib/base64.h: Include idx.h instead of stddef.h.
	* modules/base32, modules/base64 (Depends-on): Add ialloc, verify.

2021-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	regex: use __attr_access and C99-style array arg
	This should help with some static checking.
	Derived from a suggestion by Martin Sebor in:
	https://sourceware.org/pipermail/libc-alpha/2021-August/130336.html
	* config/srclist.txt: Remove lib/regex.c for now.
	* lib/regex.c: Ignore -Wvla for the whole file.
	* lib/regex.h (_REGEX_NELTS, _Attr_access_): New macros.
	Ignore -Wvla when declaring regexec.
	(re_compile_pattern, re_search, re_search2, re_match, re_match_2)
	(regerror): Mark with _Attr_access_, as glibc does.
	* lib/regex.h (regexec):
	* lib/regexec.c (regexec, __compat_regexec):
	Use _REGEX_NELTS for each array parameter whose size is another arg
	but with an access pattern that cannot be captured with __attr_access.

2021-08-25  Bruno Haible  <bruno@clisp.org>

	execute tests: Fix test failure when libtool is in use.
	* modules/execute-tests (Makefile.am): Link test-execute-child without
	using libtool.
	* modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-child
	without using libtool.
	* modules/system-quote-tests (Makefile.am): Link test-system-quote-child
	without using libtool.

2021-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: prefer idx_t to ptrdiff_t for nonnegative
	* lib/dfa.c (struct dfa, dfaexec_main, dfaexec_mb, dfaexec_sb)
	(dfaexec_noop, dfaexec):
	* lib/dfa.h (dfaparse, dfacomp, dfaexec):
	Prefer idx_t to ptrdiff_t for counts, which should be nonnegative.
	* lib/dfa.h: Include idx.h.

2021-08-22  Bruno Haible  <bruno@clisp.org>

	snippet/unused-parameter: Mark unused module obsolete.
	* modules/snippet/unused-parameter (Status, Notice): Mark as obsolete.

2021-08-22  Bruno Haible  <bruno@clisp.org>

	Make generated .in.h files as standalone as possible.
	Reported by Jan Engelhardt <jengelh@inai.de>.
	* lib/stdlib.in.h (_GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_DEALLOC_FREE,
	_GL_ATTRIBUTE_MALLOC): Add fallback definitions.
	* lib/dirent.in.h (_GL_ATTRIBUTE_DEALLOC, _GL_ATTRIBUTE_MALLOC): Add
	fallback definitions.
	* lib/stdio.in.h (_GL_ATTRIBUTE_DEALLOC): Add fallback definition.
	* lib/math.in.h (_GL_ATTRIBUTE_CONST): Add fallback definition.
	* lib/pthread.in.h (_GL_ATTRIBUTE_PURE): Add fallback definition.
	* lib/threads.in.h (_GL_ATTRIBUTE_PURE): Likewise.
	* lib/uchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
	* lib/string.in.h (_GL_ATTRIBUTE_PURE): Move definition, for consistency
	with the other *.in.h files.
	* lib/se-context.in.h (_GL_ATTRIBUTE_MAYBE_UNUSED): Add fallback
	definition.
	* lib/se-label.in.h (_GL_ATTRIBUTE_MAYBE_UNUSED): Likewise.
	* lib/se-selinux.in.h (_GL_ATTRIBUTE_MAYBE_UNUSED): Likewise.
	* lib/textstyle.in.h: Use _GL_ATTRIBUTE_MAYBE_UNUSED instead of
	_GL_UNUSED.
	(_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD, _GL_ATTRIBUTE_MAYBE_UNUSED): Add
	fallback definitions.

2021-08-22  Bruno Haible  <bruno@clisp.org>

	gnulib-common.m4: Clarify logic behind _GL_UNUSED_LABEL.
	Reported by Paul Eggert.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Add comment and write the
	condition in a way that is close to the comment.

2021-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	c-stack: depend on inttypes, mempcpy
	* modules/c-stack (Depends-on): Add inttypes, mempcpy.
	mempcpy problem reported by Evan Miller in:
	https://debbugs.gnu.org/50098#31

2021-08-22  Bruno Haible  <bruno@clisp.org>

	mountlist: Use recommended syntax for _GL_UNUSED_LABEL.
	* lib/mountlist.c (read_file_system_list): Add semicolon after
	_GL_UNUSED_LABEL.

2021-08-22  Bruno Haible  <bruno@clisp.org>

	gnulib-common.m4: Make _GL_UNUSED_LABEL effective for clang.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Make _GL_UNUSED_LABEL use
	_GL_ATTRIBUTE_UNUSED also for clang.

2021-08-22  Bruno Haible  <bruno@clisp.org>

	gnulib-common.m4: Use C2x [[maybe_unused]] when possible.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_UNUSED as an alias of
	_GL_ATTRIBUTE_MAYBE_UNUSED, not of _GL_ATTRIBUTE_UNUSED.
	* lib/binary-io.h (__gl_setmode): Put _GL_UNUSED before, not after, the
	declaration.
	* lib/c-stack.c (null_action, segv_handler, overflow_handler,
	c_stack_action): Likewise.
	* lib/chown.c (chown): Likewise.
	* lib/clean-temp-simple.c (cleanup_action): Likewise.
	* lib/fts.c (dirent_inode_sort_may_be_useful, leaf_optimization,
	fts_set): Likewise.
	* lib/getgroups.c (getgroups): Likewise.
	* lib/getopt.c (_getopt_initialize): Likewise.
	* lib/getugroups.c (getugroups): Likewise.
	* lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
	gl_locale_name_posix, gl_locale_name_environ): Likewise.
	* lib/mkdir.c (rpl_mkdir): Likewise.
	* lib/mkfifo.c (mkfifo): Likewise.
	* lib/mkfifoat.c (mkfifoat): Likewise.
	* lib/mknod.c (mknod): Likewise.
	* lib/mknodat.c (mknodat): Likewise.
	* lib/mountlist.c (me_remote): Likewise.
	* lib/openpty.c (openpty): Likewise.
	* lib/parse-datetime.y (yyerror): Likewise.
	* lib/passfd.c (sendfd, recvfd): Likewise.
	* lib/pthread-cond.c (pthread_condattr_destroy, pthread_cond_init,
	pthread_cond_wait, pthread_cond_timedwait, pthread_cond_signal,
	pthread_cond_broadcast, pthread_cond_destroy): Likewise.
	* lib/pthread-mutex.c (pthread_mutexattr_destroy, pthread_mutex_init,
	pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
	pthread_mutex_unlock, pthread_mutex_destroy): Likewise.
	* lib/pthread-rwlock.c (pthread_rwlockattr_destroy, pthread_rwlock_init,
	pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock): Likewise.
	* lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
	pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy):
	Likewise.
	* lib/pthread-thread.c (pthread_attr_destroy): Likewise.
	* lib/readlink.c (readlink): Likewise.
	* lib/rename.c (rpl_rename): Likewise.
	* lib/set-permissions.c (set_permissions): Likewise.
	* lib/sockets.c (gl_sockets_startup): Likewise.
	* lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime,
	stat_time_normalize): Likewise.
	* lib/strptime.c (__strptime_internal): Likewise.
	* lib/strtod.c (LDEXP): Likewise.
	* lib/symlink.c (symlink): Likewise.
	* lib/symlinkat.c (symlinkat): Likewise.
	* lib/tempname.c (try_dir, try_nocreate): Likewise.
	* lib/textstyle.in.h (styled_ostream_begin_use_class,
	styled_ostream_end_use_class, styled_ostream_get_hyperlink_ref,
	styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
	styled_ostream_flush_to_current_style, fd_ostream_create,
	term_ostream_get_color, term_ostream_set_color,
	term_ostream_get_bgcolor, term_ostream_set_bgcolor,
	term_ostream_get_weight, term_ostream_set_weight,
	term_ostream_get_posture, term_ostream_set_posture,
	term_ostream_get_underline, term_ostream_set_underline,
	term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
	term_ostream_set_hyperlink, term_ostream_create,
	term_styled_ostream_create, html_styled_ostream_create,
	handle_color_option, handle_style_option, style_file_prepare,
	styled_ostream_create, libtextstyle_set_failure_exit_code): Likewise.
	* lib/unicodeio.c (exit_failure_callback, fallback_failure_callback):
	Likewise.
	* lib/wait-process.c (cleanup_slaves_action): Likewise.
	* tests/signature.h (SIGNATURE_CHECK2): Likewise.
	* tests/test-areadlink.c (do_areadlink): Likewise.
	* tests/test-areadlinkat.c (do_areadlinkat): Likewise.
	* tests/test-ceilf-ieee.c (main): Likewise.
	* tests/test-ceilf1.c (main): Likewise.
	* tests/test-dirent.c (dir): Likewise.
	* tests/test-fchownat.c (main): Likewise.
	* tests/test-fdopendir.c (main): Likewise.
	* tests/test-filenamecat.c (main): Likewise.
	* tests/test-floor1.c (main): Likewise.
	* tests/test-floorf-ieee.c (main): Likewise.
	* tests/test-floorf1.c (main): Likewise.
	* tests/test-fseeko.c (main): Likewise.
	* tests/test-fstatat.c (main): Likewise.
	* tests/test-ftello.c (main): Likewise.
	* tests/test-getdomainname.c (main): Likewise.
	* tests/test-getgroups.c (main): Likewise.
	* tests/test-gethostname.c (main): Likewise.
	* tests/test-math-c++.cc (OVERLOADED_CHECK): Likewise.
	* tests/test-mkdirat.c (main): Likewise.
	* tests/test-openat.c (main): Likewise.
	* tests/test-parse-datetime.c (main): Likewise.
	* tests/test-quotearg-simple.c (main): Likewise.
	* tests/test-quotearg.c (main): Likewise.
	* tests/test-sethostname2.c (main): Likewise.
	* tests/test-unlinkat.c (main): Likewise.
	* tests/test-version-etc.c (main): Likewise.
	* tests/test-xalloc-die.c (main): Likewise.
	* tests/test-xfprintf-posix.c (main): Likewise.
	* tests/test-xprintf-posix.c (main): Likewise.
	* tests/test-xvasprintf.c (main): Likewise.

2021-08-22  Bruno Haible  <bruno@clisp.org>

	gnulib-common.m4: Document the gnulib-internal _GL_ATTRIBUTE_* macros.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Add comments to the
	_GL_ATTRIBUTE_* macros, based on lib/attribute.h.

2021-08-22  Bernhard Voelker  <mail@bernhard-voelker.de>

	doc: fix order of stdlib functions
	* doc/gnulib.texi (node Glibc stdlib.h): Move mrand48_r after mkstemps.
	Reported by Benno Schulenberg.

2021-08-21  Bruno Haible  <bruno@clisp.org>

	c-stack: Test for libsigsegv once, not twice.
	* m4/sigsegv.m4: New file, based on modules/sigsegv.
	* modules/sigsegv (Files): Add it.
	(configure.ac): Require gl_SIGSEGV. Test gl_sigsegv_uses_libsigsegv
	instead of with_libsigsegv and gl_cv_lib_sigsegv.
	* m4/c-stack.m4 (gl_C_STACK): Likewise.

2021-08-21  Bruno Haible  <bruno@clisp.org>

	rawmemchr: Fix use in relocatable-prog-wrapper (regression 2021-08-20).
	* lib/rawmemchr.c: Restore test of HAVE_RAWMEMCHR.
	* modules/relocatable-prog-wrapper (Depends-on): Add stdalign.

2021-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	rawmemchr: modernize and simplify
	* lib/rawmemchr.c (HAVE_RAWMEMCHR): Assume it’s not defined;
	otherwise this file would not be compiled.  Include limits.h,
	stdalign.h, stdint.h, verify.h.
	(rawmemchr): Prefer uintptr_t to unsigned long and to size_t when
	it’s the better type.  Verify that longword lacks padding.  Use
	alignof rather than sizeof when checking alignment.  Simplify by
	assuming C99 decl-after-statement, and by using multiplication
	rather than repeated shifting and OR (modern compilers can
	optimize the multiplication if needed).  Avoid unnecessary casts.
	Don’t assume CHAR_WIDTH is 8.  Convert back and forth between void *
	to suppress bogus GCC warnings about alignment.  Omit a
	duplicate assignment to char_ptr.
	* modules/rawmemchr (Depends-on): Add stdalign, stdint, verify.

2021-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	c-stack: fix libsigsegv dependency (regression 2021-05-18)
	Problem reported for GNU grep by Evan Miller (Bug#50098).
	* m4/c-stack.m4 (gl_C_STACK): Call gl_LIBSIGSEGV before
	testing gl_cv_lib_sigsegv.

2021-08-14  Bruno Haible  <bruno@clisp.org>

	doc: Update for glibc 2.34.
	* doc/posix-functions/timespec_getres.texi: New file.
	* doc/glibc-functions/_Fork.texi: New file.
	* doc/glibc-functions/closefrom.texi: New file.
	* doc/glibc-functions/dn_comp.texi: New file.
	* doc/glibc-functions/dn_skipname.texi: New file.
	* doc/glibc-functions/execveat.texi: New file.
	* doc/glibc-functions/posix_spawn_file_actions_addclosefrom_np.texi: New
	file.
	* doc/glibc-functions/res_dnok.texi: New file.
	* doc/glibc-functions/res_hnok.texi: New file.
	* doc/glibc-functions/res_mailok.texi: New file.
	* doc/glibc-functions/res_nmkquery.texi: New file.
	* doc/glibc-functions/res_nquery.texi: New file.
	* doc/glibc-functions/res_nquerydomain.texi: New file.
	* doc/glibc-functions/res_nsearch.texi: New file.
	* doc/glibc-functions/res_nsend.texi: New file.
	* doc/glibc-functions/res_ownok.texi: New file.
	* doc/glibc-functions/res_send.texi: New file.
	* doc/gnulib.texi: Include them.
	* doc/glibc-functions/inet_neta.texi: Remove file.
	* doc/glibc-functions/malloc_get_state.texi: Remove file.
	* doc/glibc-functions/malloc_set_state.texi: Remove file.
	* doc/glibc-functions/pthread_mutex_consistent_np.texi: Remove file.
	* doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: Remove file.
	* doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: Remove file.
	* doc/glibc-functions/pthread_yield.texi: Remove file.
	* doc/gnulib.texi: Don't include them.
	* doc/glibc-headers/resolv.texi: Update.
	* doc/pastposix-functions/h_errno.texi: Likewise.
	* doc/posix-functions/*.texi: Likewise.
	* doc/glibc-functions/*.texi: Likewise.

2021-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	memrchr-tests: port to GCC 12
	* tests/test-memrchr.c: Bug#101494 is fixed in GCC 12.

2021-08-12  Akim Demaille  <akim@lrde.epita.fr>

	snippet/_Noreturn: Fix typo
	* lib/_Noreturn.h: Fix spelling of 4.

2021-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	dynarray: merge from glibc
	This also helps document glibc’s direction in using GCC’s
	memory-allocation checking.
	* lib/cdefs.h: Omit comments that glibc rejected.
	(__returns_nonnull, __attr_access_none, __attr_dealloc)
	(__attr_dealloc_free): New macros.
	* lib/libc-config.h: Undef the new macros that are defined
	unconditionally.
	* lib/malloc/dynarray_at_failure.c [_LIBC]: Do not include stdlib.h.
	(__libc_dynarray_at_failure) [_LIBC]: Call __libc_fatal,
	fixing a bad merge previously.

2021-08-08  Bruno Haible  <bruno@clisp.org>

	canonicalize-lgpl: Fix conflict with z/OS <sys/stat.h>.
	Reported by Mike Fulton <mikefultonpersonal@gmail.com> in
	<https://lists.gnu.org/archive/html/m4-discuss/2021-08/msg00000.html>
	via Eric Blake.
	* lib/canonicalize-lgpl.c (__stat): Remove macro.
	(file_accessible): Use 'stat' instead.

2021-08-08  Bruno Haible  <bruno@clisp.org>

	ptsname_r: Drop sync with glibc.
	* lib/ptsname_r.c: Drop _LIBC code.
	(__set_errno, __isatty, __stat, __ttyname_r, __ptsname_r): Remove
	macros.
	(ptsname_r): Rename local variable 'save_errno'.

2021-08-08  Bruno Haible  <bruno@clisp.org>

	config: Update after glibc changed.
	* config/srclist.txt: Remove two files that glibc dropped on 2013-12-17.

2021-08-08  Bruno Haible  <bruno@clisp.org>

	relocatable-lib-lgpl: Fix a memory leak related to a Windows DLL.
	Reported by Jonathan Boeing <jonathan@claws-mail.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-08/msg00048.html>.
	* lib/relocatable.c (DllMain): Avoid memory leak in a special case
	of repeated attach/detach.

2021-08-08  Bruno Haible  <bruno@clisp.org>

	fopen: Fix link error on native Windows.
	* modules/fopen (Depends-on): Add close.

2021-08-08  Bruno Haible  <bruno@clisp.org>

	fopen: Fix compilation error on AIX (regression from 2020-05-28).
	* modules/fopen (Depends-on): Add fcntl-h.

2021-08-08  Bruno Haible  <bruno@clisp.org>

	stdio: Improve GCC 11 allocation-deallocation checking.
	* lib/stdio.in.h (fdopen, fopen, tmpfile): For GCC >= 11: Declare nearly
	always.
	(popen): For GCC >= 11: Declare also when the platform already declares
	the function or when the module 'popen' is not in use.

2021-08-08  Bruno Haible  <bruno@clisp.org>

	dirent: Improve GCC 11 allocation-deallocation checking.
	* lib/dirent.in.h (opendir): For GCC >= 11: Declare also when the
	platform already declares the function or when the module 'opendir' is
	not in use.
	(fdopendir): For GCC >= 11: Declare also when the platform already
	declares the function or when the module 'fdopendir' is not in use.

2021-08-08  Bruno Haible  <bruno@clisp.org>

	stdlib, string, wchar: Improve GCC 11 allocation-deallocation checking.
	* lib/stdlib.in.h (aligned_alloc): For GCC >= 11: Declare also when the
	platform already declares the function or when the module
	'aligned_alloc' is not in use.
	(calloc): For GCC >= 11: Declare nearly always.
	(canonicalize_file_name): For GCC >= 11: Declare also when the platform
	already declares the function or when the module 'canonicalize-lgpl' is
	not in use.
	(malloc, realloc): For GCC >= 11: Declare nearly always.
	* lib/malloc.in.h: Remove redundant include.
	(memalign): For GCC >= 11: Declare also when the platform already
	declares the function or when the module 'memalign' is not in use.
	* lib/string.in.h: Include <stdlib.h> always.
	(strdup): For GCC >= 11: Declare also when the platform already declares
	the function or when the module 'strdup' or 'strdup-posix' is not in
	use.
	* lib/wchar.in.h: Include <stdlib.h> always.
	(wcsdup): For GCC >= 11: Declare also when the platform already declares
	the function or when the module 'wcsdup' is not in use.
	* modules/free-posix (Depends-on): Add string, wchar.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Add support for Automake 1.16.4.
	Reported by <shoober420@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-libunistring/2021-08/msg00000.html>.
	* build-aux/test-driver-1.16.3.diff: Renamed from
	build-aux/test-driver.diff.
	* build-aux/test-driver.diff: Update to match Automake 1.16.4.
	* gnulib-tool (func_create_testdir, func_create_megatestdir): Try both
	.diff files.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	gnulib-common.m4: Minor style fix.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Keep list of attributes sorted
	alphabetically.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	uninorm, unistr: Improve GCC 11 allocation-deallocation checking.
	* lib/uninorm.in.h (uninorm_filter_free): Move declaration up.
	(uninorm_filter_create): Declare that deallocation must happen through
	'uninorm_filter_free'.
	* lib/unistr.in.h: Include <stdlib.h>.
	(u8_strdup, u16_strdup, u32_strdup): Declare that deallocation must
	happen through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	ialloc: Prepare for allocation-deallocation checking.
	* lib/ialloc.h (imalloc, irealloc, icalloc): Add comment that
	deallocation must happen through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	aligned-malloc: Prepare for allocation-deallocation checking.
	* lib/aligned-malloc.h (aligned_free): Move declaration up.
	(aligned_malloc): Add comment that deallocation must happen through
	'aligned_free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	list, set, oset, map, omap: Prepare allocation-deallocation checking.
	* lib/gl_list.h (gl_list_create_empty, gl_list_nx_create_empty,
	gl_list_create, gl_list_nx_create): Add comment that deallocation must
	happen through 'gl_list_free'.
	* lib/gl_xlist.h (gl_list_create_empty, gl_list_create): Likewise.
	* lib/gl_sublist.h (gl_sublist_create, gl_sublist_nx_create): Likewise.
	* lib/gl_xsublist.h (gl_sublist_create): Likewise.
	* lib/gl_set.h (gl_set_create_empty, gl_set_nx_create_empty): Add
	comment that deallocation must happen through 'gl_set_free'.
	* lib/gl_xset.h (gl_set_create_empty): Likewise.
	* lib/gl_oset.h (gl_oset_create_empty, gl_oset_nx_create_empty): Add
	comment that deallocation must happen through 'gl_oset_free'.
	* lib/gl_xoset.h (gl_oset_create_empty): Likewise.
	* lib/gl_map.h (gl_map_create_empty, gl_map_nx_create_empty): Add
	comment that deallocation must happen through 'gl_map_free'.
	* lib/gl_xmap.h (gl_map_create_empty): Likewise.
	* lib/gl_omap.h (gl_omap_create_empty, gl_omap_nx_create_empty): Add
	comment that deallocation must happen through 'gl_omap_free'.
	* lib/gl_xomap.h (gl_omap_create_empty): Likewise.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	xgetdomainname: Improve GCC 11 allocation-deallocation checking.
	* lib/xgetdomainname.h: Include <stdlib.h>.
	(xgetdomainname): Declare that deallocation must happen through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	xgetdomainname: Ensure .c file starts with '#include <config.h>'.
	* lib/xgetaname-impl.h: New file, based on lib/xgethostname.c.
	* lib/xgethostname.c: Move implementation to lib/xgetaname-impl.h.
	* lib/xgetdomainname.c: Include <config.h>. Include xgetaname-impl.h
	instead of xgethostname.c.
	* modules/xgethostname (Files): Add lib/xgetaname-impl.h.
	* modules/xgetdomainname (Files): Likewise.
	(Depends-on): Remove xgethostname. Add free-posix, xalloc.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	xstrndup: Improve GCC 11 allocation-deallocation checking.
	* lib/xstrndup.h: Include <stdlib.h> instead of <stddef.h>.
	(xstrndup): Declare that deallocation must happen through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	xstriconveh: Improve GCC 11 allocation-deallocation checking.
	* lib/xstriconveh.h: Include <stdlib.h> instead of <stddef.h>.
	(xstr_cd_iconveh, xstr_iconveh): Declare that deallocation must happen
	through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	xmemdup0: Improve GCC 11 allocation-deallocation checking.
	* lib/xmemdup0.h: Include <stdlib.h> instead of <stddef.h>.
	(xmemdup0): Declare that deallocation must happen through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	windows-spawn: Improve GCC 11 allocation-deallocation checking.
	* lib/windows-spawn.h: Include <stdlib.h>.
	(compose_command, compose_envblock): Declare that deallocation must
	happen through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	string-buffer: Improve GCC 11 allocation-deallocation checking.
	* lib/string-buffer.h: Include <stdlib.h> instead of <stddef.h>.
	(sb_dupfree): Declare that deallocation must happen through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	striconveha: Improve GCC 11 allocation-deallocation checking.
	* lib/striconveha.h: Include <stdlib.h> instead of <stddef.h>.
	(str_iconveha): Declare that deallocation must happen through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	striconveh: Improve GCC 11 allocation-deallocation checking.
	* lib/striconveh.h: Include <stdlib.h> instead of <stddef.h>.
	(str_cd_iconveh, str_iconveh): Declare that deallocation must happen
	through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	striconv: Improve GCC 11 allocation-deallocation checking.
	* lib/striconv.h: Include <stdlib.h> instead of <stddef.h>.
	(str_cd_iconv, str_iconv): Declare that deallocation must happen through
	'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	relocatable-lib-lgpl: Improve GCC 11 allocation-deallocation checking.
	* lib/relocatable.h: Include <stdlib.h>.
	(compute_curr_prefix): Declare that deallocation must happen through
	'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	regex-quote: Improve GCC 11 allocation-deallocation checking.
	* lib/regex-quote.h: Include <stdlib.h> instead of <stddef.h>.
	(regex_quote): Declare that deallocation must happen through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	readline: Improve GCC 11 allocation-deallocation checking.
	* lib/readline.h: Include <stdlib.h>.
	(readline): Declare that deallocation must happen through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	read-file: Improve GCC 11 allocation-deallocation checking.
	* lib/read-file.h: Include <stdlib.h> instead of <stddef.h>.
	(fread_file, read_file): Declare that deallocation must happen through
	'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	pipe-filter-gi: Improve GCC 11 allocation-deallocation checking.
	* lib/pipe-filter.h (pipe_filter_gi_close): Move declaration up.
	(pipe_filter_gi_create): Declare that deallocation must happen through
	'pipe_filter_gi_close'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	javaversion: Improve GCC 11 allocation-deallocation checking.
	* lib/javaversion.h: Include <stdlib.h>.
	(javaexec_version): Declare that deallocation must happen through
	'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	ino-map: Improve GCC 11 allocation-deallocation checking.
	* lib/ino-map.h (ino_map_free): Move declaration up.
	(ino_map_alloc): Declare that deallocation must happen through
	'ino_map_free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	hash: Improve GCC 11 allocation-deallocation checking.
	* lib/hash.h (hash_free): Move declaration up.
	(hash_initialize, hash_xinitialize): Declare that deallocation must
	happen through 'hash_free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	hamt: Improve GCC 11 allocation-deallocation checking.
	* lib/hamt.h (hamt_free): Move declaration up.
	(hamt_create, hamt_copy): Declare that deallocation must happen through
	'hamt_free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	get_progname_of: Improve GCC 11 allocation-deallocation checking.
	* lib/get_progname_of.h: Include <stdlib.h>.
	(get_progname_of): Declare that deallocation must happen through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	fts: Improve GCC 11 allocation-deallocation checking.
	* lib/fts_.h (fts_open): Declare that deallocation must happen through
	'fts_close'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	eealloc: Improve GCC 11 allocation-deallocation checking.
	* lib/eealloc.h (eemalloc): Declare that deallocation must happen
	through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	di-set: Improve GCC 11 allocation-deallocation checking.
	* lib/di-set.h (di_set_free): Move declaration up.
	(di_set_alloc): Declare that deallocation must happen through
	'di_set_free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	[x]concat-filename: Improve GCC 11 allocation-deallocation checking.
	* lib/concat-filename.h: Include <stdlib.h>.
	(concatenated_filename, xconcatenated_filename): Declare that
	deallocation must happen through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	clean-temp: Improve GCC 11 allocation-deallocation checking.
	* lib/clean-temp.h (cleanup_temp_dir): Move declaration up.
	(create_temp_dir): Declare that deallocation must happen through
	'cleanup_temp_dir'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	canon-host: Improve GCC 11 allocation-deallocation checking.
	* lib/canon-host.h: Include <stdlib.h>.
	(canon_host, canon_host_r): Declare that deallocation must happen
	through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	c-xvasprintf: Improve GCC 11 allocation-deallocation checking.
	* lib/c-xvasprintf.h: Include <stdlib.h>.
	(c_xasprintf, c_xvasprintf): Declare that deallocation must happen
	through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	bitsetv: Improve GCC 11 allocation-deallocation checking.
	* lib/bitsetv.h (bitsetv_free): Move declaration up.
	(bitsetv_alloc, bitsetv_create): Declare that deallocation must happen
	through 'bitsetv_free'.

	bitset: Improve GCC 11 allocation-deallocation checking.
	* lib/bitset.h (bitset_free): Move declaration up.
	(bitset_alloc, bitset_create): Declare that deallocation must happen
	through 'bitset_free'.
	(bitset_obstack_free): Move declaration up.
	(bitset_obstack_alloc): Declare that deallocation must happen through
	'bitset_obstack_free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	argv-iter: Improve GCC 11 allocation-deallocation checking.
	* lib/argv-iter.h (argv_iter_free): Move declaration up.
	(argv_iter_init_argv, argv_iter_init_stream): Declare that deallocation
	must happen through 'argv_iter_free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	argp: Improve GCC 11 allocation-deallocation checking.
	* lib/argp-fmtstream.h (__argp_fmtstream_free, argp_fmtstream_free):
	Move declarations up.
	(__argp_make_fmtstream): Declare that deallocation must happen through
	'__argp_fmtstream_free'.
	(argp_make_fmtstream): Declare that deallocation must happen through
	'argp_fmtstream_free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	areadlink, areadlinkat: Improve GCC 11 allocation-deallocation checking.
	* lib/areadlink.h: Include <stdlib.h> instead of <stddef.h>.
	(areadlink, areadlink_with_size, areadlinkat, areadlinkat_with_size):
	Declare that deallocation must happen through 'free'.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	stdio: Improve GCC 11 allocation-deallocation checking.
	* lib/stdio.in.h (fdopen, fopen, tmpfile): Declare that deallocation
	must happen through 'fclose'.
	(popen): Declare that deallocation must happen through 'pclose'.
	* lib/stdio-safer.h (fopen_safer, tmpfile_safer): Declare that
	deallocation must happen through 'fclose'.
	(popen_safer): Declare that deallocation must happen through 'pclose'.
	(freopen_safer): Declare that arguments must be non-NULL.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	dirent: Improve GCC 11 allocation-deallocation checking.
	* lib/dirent.in.h (closedir): Move declaration up.
	(opendir, fdopendir): Declare that deallocation must happen through
	'closedir'.
	* lib/dirent-safer.h (opendir_safer): Likewise.
	* lib/opendirat.h (opendirat): Likewise.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	stdlib, string, wchar: Improve GCC 11 allocation-deallocation checking.
	* lib/stdlib.in.h (free): Move declaration up.
	(aligned_alloc, calloc, canonicalize_file_name, malloc, realloc):
	Declare that deallocation must happen through 'free' (which may actually
	be 'rpl_free').
	* lib/string.in.h: Include <stdlib.h>.
	(strdup): Declare deallocation.
	* lib/wchar.in.h: Include <stdlib.h>.
	(wcsdup): Declare deallocation.
	* lib/malloc.in.h: Include <stdlib.h>.
	(memalign): Declare deallocation.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	year2038: Fix recommendation regarding -m64 flag.
	* m4/year2038.m4 (gl_YEAR2038_BODY): Recommend to put option --m64 in
	CC, not in CPPFLAGS and LDFLAGS.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	quotearg: Tweak last commit.
	* lib/quotearg.h: Don't include <stddef.h>. Remove stray semicolon.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	malloca: Tweak last commit.
	* lib/malloca.h: Keep use and declaration of mmalloca close together.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	dirname-lgpl, sh-quote, system-quote, xstriconv: Clean up includes.
	* lib/dirname.h: Don't include <stddef.h>.
	* lib/sh-quote.h: Likewise.
	* lib/system-quote.h: Likewise.
	* lib/xstriconv.h: Likewise.

2021-08-07  Bruno Haible  <bruno@clisp.org>

	dfa: Improve GCC 11 allocation-deallocation checking.
	* lib/dfa.h (dfamust): Declare that deallocation must happen through
	dfamustfree.

2021-08-06  Paul Eggert  <eggert@cs.ucla.edu>

	glob: merge from glibc
	* lib/glob-libc.h, lib/glob.c: Merge changes from glibc 2.34.
	The result should be copyable directly into glibc.
	* modules/glob-h (glob-libc.gl.h): Also omit __THROWNL.

2021-08-03  Simon Josefsson  <simon@josefsson.org>

	announce-gen: Print SHA1/B64(SHA256) instead of MD5/SHA1.
	* build-aux/announce-gen (%digest_classes): Removed.
	(usage): Doc fix.
	(print_checksums): Instead of MD5/SHA1, print SHA1 and
	B64(SHA256), inspired by OpenSSH announcements.

	maintainer-makefile: Print checksums by default.
	* top/maint.mk (announcement): Drop --no-print-checksums.

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

	manywarnings: enable some malloc warnings
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Stop adding
	-Wno-analyzer-double-free, -Wno-analyzer-null-dereference, and
	-Wno-analyzer-use-after-free, as these false alarms don’t seem
	to be as much of an issue now that we’ve pacified a couple
	of individual modules and GCC has some bug fixes.

	dfa: omit unneeded malloc+free
	Problem indirectly found by Coverity.
	* lib/dfa.c (enlistnew): New function, with most of the body of
	the old ‘enlist’.  It assumes its arg NEW has been malloced and
	can be freed eventually.
	(enlist, addlists, dfamust): Use it.
	(dfamust): Omit an unnecessary malloc+free.

	year2038: port to unusual time_t platforms
	* m4/year2038.m4 (gl_YEAR2038_TEST_INCLUDES): Check that time_t
	can go to 2**32 - 1, not to 2**63 - 1, as the former is enough to
	be year 2038 safe.  Unsigned 32-bit time_t (AmigaOS) and signed
	40-bit time_t (Unisys ClearPath) have occurred in the wild, and
	even if Gnulib code is rarely or never ported to them there’s no
	need to exclude them merely because of year 2038 issues.
	(gl_YEAR2038_BODY): Adjust messages to match.  Use 2**32 - 1,
	not 2**32, as the test timestamp, to allow unsigned 32-bit time_t.

2021-08-01  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc: no attribute (malloc (free)) on inline
	The GCC manual says you can’t use __attribute__ ((__malloc__
	(free, 1))) on inline functions.  Problem discovered when
	compiling diffutils 3.8 on RHEL 8.4 using a GCC 11.2.0 that I
	built myself.  Perhaps the problem was not discovered earlier
	because the attribute works with ‘free’ (which is what I was
	seeing before on Fedora 34) but not with ‘rpl_free’ (seen on RHEL
	8.4).  Anyway, the GCC manual says it shouldn’t work at all, so
	don’t use it.
	* lib/xalloc.h (xnmalloc, xcharalloc): No longer inline.
	* lib/xmalloc.c (xcharalloc, xnmalloc): Move function bodies here.
	* m4/gnulib-common.m4 (_GL_ATTRIBUTE_DEALLOC)
	(_GL_ATTRIBUTE_DEALLOC_FREE): Document that these cannot be
	used on inline functions, as per the GCC 11.2.1 manual.

	sigsegv-tests: make more things static
	* tests/test-sigsegv-catch-segv1.c:
	* tests/test-sigsegv-catch-stackoverflow1.c:
	* tests/test-sigsegv-catch-stackoverflow2.c:
	Declare some functions and variables static, to pacify GCC when
	warning about external functions missing declarations.

	maint: improve -fanalyzer malloc checking
	* lib/backup-internal.h, lib/backupfile.h:
	* lib/canonicalize.h, lib/dfa.h, lib/dirname.h, lib/exclude.h:
	* lib/filenamecat.h, lib/malloca.h, lib/modechange.h:
	* lib/mountlist.h, lib/pagealign_alloc.h, lib/quotearg.h:
	* lib/readutmp.h, lib/savedir.h, lib/sh-quote.h, lib/system-quote.h:
	* lib/trim.h, lib/xgetcwd.h, lib/xgethostname.h, lib/xmalloca.h:
	* lib/xreadlink.h, lib/xstriconv.h, lib/xvasprintf.h:
	Add malloc-related attributes and include stdlib.h as needed.
	* lib/dfa.c: Include verify.h.
	(assume_nonnull): New macro.
	(dfamust): Use it to pacify GCC.
	* lib/malloca.c (mmalloca): Redo to pacify GCC, to cut down on the
	number of casts, and to avoid signed integer overflow on
	theoretical platforms.
	* lib/vasnprintf.c, tests/test-argmatch.c:
	Disable -Wanalyzer-null-argument here.
	* m4/manywarnings.m4: Update GCC bug report number in comment.

2021-08-01  Jim Meyering  <meyering@fb.com>

	regex: pacify GCC 11.2.1's -fanalyzer
	* lib/regex_internal.c (re_node_set_merge):
	Add a debug assertion to pacify GCC 11.2.1's -fanalyzer.

2021-08-01  Bruno Haible  <bruno@clisp.org>

	limits-h tests: Add tests for BOOL_MAX and BOOL_WIDTH.
	* tests/test-limits-h.c (bool_attrs): New variable.
	Check value of BOOL_MAX.

2021-07-31  Paul Eggert  <eggert@cs.ucla.edu>

	regex: pacify GCC 11.2 -fanalyzer
	* lib/regex_internal.c (re_node_set_insert):
	Add a debug assertion to pacify GCC 11.2 -fanalyzer.

	maint: pacify GCC 11.2 -fanalyzer in crypto tests
	* tests/bench-digest.h (main): Report an error after memory
	exhaustion, instead of using a null pointer.

2021-07-30  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc: add malloc-related function attributes
	* lib/quotearg.h, lib/xalloc.h: Include stdlib.h, for
	the benefit of _GL_ATTRIBUTE_RETURNS_NONNULL.
	* lib/quotearg.h (clone_quoting_options):
	* lib/xalloc.h (xmalloc, ximalloc, xzalloc, xizalloc, xcalloc)
	(xicalloc, xrealloc, xirealloc, xireallocarray, x2realloc)
	(x2nrealloc, xmemdup, ximemdup, xstrdup, xnmalloc, xcharalloc):
	Add _GL_ATTRIBUTE_DALLOC_FREE and _GL_ATTRIBUTE_RETURNS_NONNULL
	attributes as appropriate.

	gnulib-common: update for gcc -Wmismatched-dealloc
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Define the macros
	_GL_ATTRIBUTE_DEALLOC and _GL_ATTRIBUTE_DEALLOC_FREE.  These can
	be useful with gcc -Wmismatched-dealloc.

	gnulib-common: update for C2x 2020-12-11 draft
	Use blessed-by-draft-standard way to test for [[__deprecated__]]
	etc.; this is supported by GCC 11 and the fallback code should
	work fine with GCC 10 and earlier.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Define the macro
	_GL_HAS_C_ATTRIBUTE, and use it instead of __STDC_VERSION__ in
	deciding whether to use C2x attributes like [[__deprecated__]].

	manywarnings: document GCC 11 warnings
	* build-aux/gcc-warning.spec: Add warnings introduced in GCC 11.
	None of them require Gnulib code changes, so this is just
	a documentation change.

	limits-h: add BOOL_MAX, BOOL_WIDTH
	* doc/posix-headers/limits.texi (limits.h): Document them.
	* lib/limits.in.h: Also define CHAR_WIDTH etc. if C2x.
	(BOOL_MAX, BOOL_WIDTH): New macros, from C2x.
	* m4/limits-h.m4 (gl_LIMITS_H): Also check BOOL_WIDTH.

2021-07-28  Simon Josefsson  <simon@josefsson.org>

	maintainer-makefile: Respect cfg.mk setting announcement_Cc_,
	reverting most of the previous patch.
	* top/maint.mk (announcement_mail_Cc_stable): Rename back to
	announcement_Cc_stable.
	(announcement_Cc_alpha): Rename back to
	announcement_mail_Cc_alpha.
	(announcement_Cc_): Renamed from announcement_mail_Cc_.
	(announcement_mail_headers_stable)
	(announcement_mail_headers_alpha): Use announcement_Cc_ again.

2021-07-28  Simon Josefsson  <simon@josefsson.org>

	maintainer-makefile: Fix announcement mail CC's.
	* top/maint.mk (announcement_Cc_stable): Rename to
	announcement_mail_Cc_stable.
	(announcement_Cc_alpha): Rename to announcement_mail_Cc_alpha.
	(announcement_mail_headers_stable)
	(announcement_mail_headers_alpha): Use announcement_mail_Cc_
	instead of announcement_Cc_.

2021-07-25  Bruno Haible  <bruno@clisp.org>

	Assume GNU gettext >= 0.17.
	* modules/vasprintf (Notice): Remove.
	* modules/xvasprintf (Notice): Remove.
	* modules/xprintf (Notice): Remove.
	* modules/error (Notice): Remove.
	* modules/verror (Notice): Remove.
	* modules/argp (Notice): Remove.
	* modules/propername (Notice): Remove.
	* lib/propername.h: Remove outdated comment.

2021-07-19  Simon Josefsson  <simon@josefsson.org>

	gendocs.sh: Fix local rendering of HTML manuals.
	* build-aux/gendocs.sh (htmlarg): Don't use relative URLs.

2021-07-18  Paul Eggert  <eggert@cs.ucla.edu>

	explicit_bzero-tests: pacify GCC better
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2021-07/msg00039.html
	* tests/test-explicit_bzero.c: Ignore -Wmaybe-uninitialized.
	(stackbuf): Remove this static pointer, reverting recent change.
	(do_secret_stuff, test_stack): Revert these related changes too.

2021-07-17  Paul Eggert  <eggert@cs.ucla.edu>

	memrchr-tests: pacify GCC
	Pacify GCC 11.1.1 20210531 (Red Hat 11.1.1-3) x86-64.
	* tests/test-memrchr.c: Disable -Wmaybe-uninitialized.

	explicit_bzero-tests: pacify GCC
	Redo to pacify -Wmaybe-uninitialized with
	GCC 11.1.1 20210531 (Red Hat 11.1.1-3) x86-64.
	* tests/test-explicit_bzero.c (stackbuf): New static pointer.
	(do_secret_stuff): Use it.
	(test_stack): Set it to a local buffer.

	posixtm: pacify latest GCC
	Also, modernize while I’m at it.
	* lib/posixtm.c: Include c-ctype.h, idx.h, intprops.h, verify.h
	instead of stdlib.h.
	(ISDIGIT): Remove.  All uses replaced by c_isdigit.
	(year, posix_time_parse): Prefer idx_t to size_t.  Use assume
	instead of abort.
	(posixtime): Do not parse twice; once is enough.  That way, we
	needn’t worry about a bogus warning about strcpy overrunning a
	buffer from GCC 11.1.1 20210531 (Red Hat 11.1.1-3) x86-64
	when coreutils is configured with --enable-gcc-warnings.
	* modules/posixtm (Depends-on): Add c-ctype, intprops, verify.
	Remove stpcpy.

2021-07-17  Bruno Haible  <bruno@clisp.org>

	Don't use '#pragma weak' for thread functions in Linux/glibc>=2.34.
	Suggested by Florian Weimer <fweimer@redhat.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-04/msg00211.html>.
	* m4/threadlib.m4 (gl_PTHREADLIB_BODY): Set gl_pthread_in_glibc and set
	LIBPMULTITHREAD accordingly.
	(gl_STDTHREADLIB_BODY): Update comments.
	(gl_THREADLIB_BODY): Define USE_POSIX_THREADS_FROM_LIBC.
	* lib/glthread/thread.h (c11_threads_in_use): Define to 1 if all POSIX
	thread functions are in libc.
	* lib/glthread/lock.h (c11_threads_in_use): Likewise.
	* lib/glthread/cond.h (c11_threads_in_use): Likewise.
	* lib/glthread/tls.h (c11_threads_in_use): Likewise.

2021-07-17  Bruno Haible  <bruno@clisp.org>

	Fix cross-compilation test results.
	* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, include
	<string.h> before testing __GNU_LIBRARY__.
	* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.

2021-07-14  Paul Eggert  <eggert@cs.ucla.edu>

	regex: modernize to newer regex bugset
	Problem reported by Hiroo Hayashi in:
	https://lists.gnu.org/r/bug-gnulib/2021-07/msg00024.html
	* m4/regex.m4 (gl_REGEX): Allow newer glibc behavior for ()0|\1,
	behavior where the regex compiles but does not match.
	Test for glibc bug 11053.
	* tests/test-regex.c (bug_regex11, main): Add casts needed
	for printf portability.
	(main): Allow newer glibc behavior for ()0|\1.

	regex: fix shell quoting problem in configuration
	* m4/regex.m4 (gl_REGEX): Fix quoting problems.
	These C programs are put into unquoted here-documents,
	so $ and \ need to be quoted.

2021-07-08  Paul Eggert  <eggert@cs.ucla.edu>

	select: port better to MinGW
	Problem reported by Eli Zaretskii in:
	https://lists.gnu.org/r/bug-gnulib/2021-07/msg00017.html
	* lib/select.c (rpl_select) [_WIN32 && !__CYGWIN__]:
	Pass a SOCKET, not a HANDLE, to FD_ISSET.

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

	year2038: Add --disable-year2038 option
	Also, document this stuff better.  Suggested by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2021-07/msg00011.html
	* doc/year2038.texi: Document --disable-year2038.
	* m4/year2038.m4 (gl_YEAR2038_BODY): Support ‘./configure
	--disable-year2038’ to disable 64-bit time_t when that is not the
	default.  Arg is now either empty or nonempty (not a shell
	command) and is evaluated at m4 expansion time instead of at
	runtime; all callers changed.

	doc: clarify which module fixes 32-bit time_t
	* doc/posix-headers/time.texi: Make it clear that the 32-bit
	time_t problem is addressed by the year2038 module, not
	by the time module.

2021-07-01  Paul Eggert  <eggert@cs.ucla.edu>

	year2038: support glibc 2.34 _TIME_BITS=64
	In glibc 2.34 on Linux kernels where time_t is traditionally 32-bit,
	defining _FILE_OFFSET_BITS=64 and _TIME_BITS=64 makes time_t 64-bit.
	Apps must define both macros.  Gnulib applications that use either
	the largefile or the year2038 modules will want this behavior;
	largefile because it deals with the off_t and ino_t components of
	struct stat already, and so should also deal with time_t.
	* NEWS, doc/largefile.texi, doc/posix-headers/time.texi:
	Mention this.
	* m4/largefile.m4: Override two macros even in Autoconf 2.70 and later.
	(_AC_SYS_LARGEFILE_MACRO_VALUE): #undef $1 before #defining it, in
	case some other Gnulib macro has #defined it.
	(AC_SYS_LARGEFILE): Use AS_IF and AS_CASE to propagate AC_REQUIREs.
	Invoke gl_YEAR2038_BODY if we need to set _FILE_OFFSET_BITS=64.
	* m4/year2038.m4 (gl_YEAR2038_TEST_INCLUDES): New macro.
	(gl_YEAR2038_BODY): New macro, with gl_YEAR2038’s old body; this
	macro is designed to be used directly instead of being
	AC_REQUIREd.  It takes an argument specifying whether 64-bit is
	required.  Set _TIME_BITS=64 if this makes a difference in time_t
	width when setting _FILE_OFFSET_BITS=64.  Do not warn about
	32-bit time_t more than once.
	* modules/largefile (Files): Add year2038.m4.
	(Depends-on): Require gl_YEAR2038_EARLY.

	relocatable-prog-wrapper: add m4 files
	Add .m4 files needed for standalone relocatable-prog-wrapper, so
	that ‘./gnulib-tool --test relocatable-prog-wrapper’ does not fail
	with diagnostics like ‘configure.ac:63: error: possibly undefined
	macro: gl_FUNC_MALLOC_POSIX’.
	* modules/relocatable-prog-wrapper (Files): Add m4/free.m4,
	m4/malloc.m4, m4/mempcpy.m4, m4/rawmemchr.m4, m4/realloc.m4.

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

	strerror-override: Fix possible compilation error.
	Reported by Thomas Klausner <wiz@netbsd.org>.
	* lib/strerror-override.h (GNULIB_defined_strerror_override_macro): New
	macro.
	* lib/strerror-override.c (strerror_override): Don't define if
	GNULIB_defined_strerror_override_macro is set.

2021-06-27  Bruno Haible  <bruno@clisp.org>

	environ: Fix wrong autoconf test result in C++ mode.
	* m4/environ.m4 (gt_CHECK_VAR_DECL): Use a typedef'ed type, not an
	anonymous type.

2021-06-22  Egor Ignatov  <egori@altlinux.org>  (tiny change)

	regex: fix undefined behavior
	Problem reported by Paul Eggert in:
	https://lists.gnu.org/r/bug-gnulib/2021-06/msg00115.html
	* lib/regexec.c (proceed_next_node):
	Don’t insert already-inserted node.

2021-06-21  Eric Blake  <eblake@redhat.com>

	sigsegv, sigsegv-tests: Assign my contributions to the FSF.
	* m4/sigaltstack.m4: Change copyright notice: Write "Copyright (C) FSF"
	instead of "Copyright (C) Eric Blake".
	* tests/altstack-util.h: Likewise.
	* tests/test-sigsegv-catch-stackoverflow1.c: Likewise.
	* tests/test-sigsegv-catch-stackoverflow2.c: Likewise.

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

	unistd: Avoid compilation error in C++ mode on Solaris, HP-UX, mingw.
	Reported by Eli Zaretskii <eliz@gnu.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00135.html>.
	* lib/unistd.in.h (swab): Consider different declarations on Solaris,
	HP-UX, and old mingw.

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

	Sync with GNU gettext.
	* lib/printf-parse.c: Ignore IN_LIBINTL and IN_LIBASPRINTF.
	* lib/vasnprintf.c: Ignore IN_LIBINTL.

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

	Sync with GNU gettext.
	* lib/tsearch.c: Ignore IN_LIBINTL.
	* lib/localename-table.h: Likewise.
	* lib/localename.c: Ignore IN_LIBINTL in some places.

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

	unistd: Improve conflict resolution between gnulib and textstyle.h.
	* lib/unistd.in.h (GNULIB_overrides_isatty): New macro.

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

	stdio: Improve conflict resolution between gnulib and libintl.h.
	* lib/stdio.in.h (GNULIB_overrides_snprintf, GNULIB_overrides_sprintf,
	GNULIB_overrides_asprintf, GNULIB_overrides_vasprintf,
	GNULIB_overrides_vsnprintf, GNULIB_overrides_vsprintf): New macros.

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

	declared.sh: Allow parsing 'extern "C"' lines.
	* build-aux/declared.sh: Don't concatenate lines to an 'extern "C" {'
	line.

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

	unitypes: Fix trouble caused by installed older versions of unitypes.h.
	* modules/unitypes (configure.ac): Define _UC_RESTRICT through config.h.

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

	sigsegv, sigsegv-tests: Assign my contributions to the FSF.
	* lib/sigsegv.in.h: Change copyright notice: Write "Copyright (C) FSF"
	instead of "Copyright (C) Bruno Haible".
	* lib/sigsegv.c: Likewise.
	* lib/stackvma.h: Likewise.
	* lib/stackvma.c: Likewise.
	* m4/sigaltstack.m4: Likewise.
	* m4/stack-direction.m4: Likewise.
	* tests/altstack-util.h: Likewise.
	* tests/mmap-anon-util.h: Likewise.
	* tests/test-sigsegv-catch-segv1.c: Likewise.
	* tests/test-sigsegv-catch-segv2.c: Likewise.
	* tests/test-sigsegv-catch-stackoverflow1.c: Likewise.
	* tests/test-sigsegv-catch-stackoverflow2.c: Likewise.

2021-06-18  Darren Kenny  <darren.kenny@oracle.com>  (tiny change)

	argp: Avoid possible NULL access in argp_help.
	Reported by Coverity. The invocation chain is:
	argp_help -> _help -> fill_in_uparams -> validate_uparams.
	* lib/argp-help.c (validate_uparams): Don't crash if state == NULL.

2021-06-16  Bruno Haible  <bruno@clisp.org>

	tsearch: Relicense under LGPLv2+.
	* modules/tsearch (License): Change to LGPLv2+.
	* lib/tsearch.c: Update license notice.

2021-06-15  Bruno Haible  <bruno@clisp.org>

	pipe-filter-ii tests: Fix long-standing failure on native Windows.
	* tests/test-pipe-filter-ii2-main.c: Include binary-io.h.
	(main): Avoid NL to CRLF conversion on standard output.
	* tests/test-pipe-filter-ii2-child.c: Include <unistd.h>, binary-io.h.
	(main): Avoid NL to CRLF conversion on standard output.

2021-06-15  Bruno Haible  <bruno@clisp.org>

	xnanosleep: Improve module description.
	* modules/xnanosleep (Description): Improve.
	* lib/xnanosleep.h: Add comment. Make includable from C++.
	* lib/xnanosleep.c: Update comment.

2021-06-15  Bruno Haible  <bruno@clisp.org>

	xfreopen: Improve module description.
	* modules/xfreopen (Description): Improve.
	* lib/xfreopen.h: Add comments. Make includable from C++.
	* lib/xfreopen.c: Update comment.

2021-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	idx: new printf/scanf length modifier macro
	* lib/idx.h (pIDX): New macro.

2021-06-13  Bruno Haible  <bruno@clisp.org>

	Align 2011-11-26 patch to 2021-04-11 patch (regression from 2021-04-11).
	Reported by Paul Eggert.
	* m4/unistd_h.m4 (gl_UNISTD_H_REQUIRE_DEFAULTS): Also initialize
	GNULIB_UNISTD_H_GETOPT variable.
	* modules/getopt-posix (configure.ac): Set GNULIB_UNISTD_H_GETOPT
	variable.
	* modules/unistd (Makefile.am): Rely on ${gl_include_guard_prefix}
	processing done by gnulib-tool since 2021-04-11.
	* gnulib-tool: Revert last change.
	* pygnulib/GLEmiter.py: Likewise.

2021-06-13  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/stack.h (_GL_STACK_PREFIX): Omit stray semicolon.

	getopt-gnu: port back to Solaris 10
	* gnulib-tool (func_emit_lib_Makefile_am)
	(func_emit_tests_Makefile_am): Don’t substitute things like
	$(GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT),
	as this mishandles unistd and getopt-gnu, which breaks
	‘make check’ on Solaris 10 with getopt-gnu.
	* pygnulib/GLEmiter.py (lib_Makefile_am, tests_Makefile_am):
	Likewise, albeit hackier since I did not test this and
	so went with a trivial hack instead.

2021-06-13  Bruno Haible  <bruno@clisp.org>

	ialloc: Put appropriate license notice in source files.
	* lib/ialloc.h: Use LGPLv3+ notice.
	* lib/ialloc.c: Likewise.

2021-06-11  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc: new idx_t-based allocators
	This is for code that prefers to use idx_t for sizes.
	* lib/basename.c (base_name):
	* lib/dfa.c (mbs_to_wchar, state_index, dfaoptimize, dfaanalyze)
	(icatalloc, enlist, allocmust, dfamust):
	* lib/exclude.c (struct exclude_pattern, free_exclude_segment)
	(file_pattern_matches, add_exclude, add_exclude_fp):
	* lib/getusershell.c (line_size, readname):
	* lib/linebuffer.c (readlinebuffer_delim):
	* lib/linebuffer.h (struct linebuffer):
	* lib/readtokens.c (readtoken, readtokens):
	* lib/readutmp.c (read_utmp):
	* lib/savedir.c (streamsavedir):
	* lib/stack.h (_GL_STACK_TYPE, _GL_STACK_PREFIX):
	* lib/userspec.c (parse_with_separator):
	* lib/xgethostname.c (XGETANAME):
	Prefer idx_t to size_t for indexes, and use idx_t-related allocators.
	* lib/basename.c: Do not include xstrndup.h.
	(basename): Simplify by always using memcpy.
	* lib/xalloc.h (ximalloc, xizalloc, xicalloc, xirealloc)
	(xireallocarray, ximemdup, ximemdup0) [GNULIB_XALLOC]:
	New decls.
	(x2nrealloc): Now just a decl, as the body is moved into xmalloc.c.
	* lib/xmalloc.c: Include ialloc.h.
	Rename some local parameters to be consistent with the .h files.
	(nonnull): New static function.
	(xmalloc, xcalloc): Simplify by using nonnull.
	(ximalloc, xirealloc, xireallocarray, xizalloc, xicalloc)
	(ximemdup, ximemdup0): New functions.
	(x2nrealloc): Moved here from xalloc.h.
	* modules/xalloc (Depends-on): Add ialloc.
	* modules/dirname (Depends-on): Removbe xstrndup.
	* modules/linebuffer (Depends-on): Add idx.

	ialloc: new module
	* lib/ialloc.c, lib/ialloc.h, modules/ialloc: New files.

	exclude: improve wide-character hashing
	* lib/exclude.c (string_hasher_ci): Take the modulo at the end
	rather than each time a wide character is retrieved; this should
	be more efficient and should hash better.

2021-06-11  Bruno Haible  <bruno@clisp.org>

	Make message in last commit more precise.
	Suggested by Eric Blake.
	* gnulib-tool (func_emit_tests_Makefile_am): Add more precision to
	'check-notice' message.

2021-06-10  Bruno Haible  <bruno@clisp.org>

	Clarify where to report test failures from Gnulib tests.
	* gnulib-tool (func_emit_tests_Makefile_am): Emit a dependency of
	'check-am' on 'check-notice' that prints a notice.

2021-06-10  Bruno Haible  <bruno@clisp.org>

	Clarify that compiler warnings in the Gnulib tests can be ignored.
	* gnulib-tool (func_emit_tests_Makefile_am): Emit overrides for CFLAGS
	and CXXFLAGS. Emit a dependency of 'all' on 'all-notice' that prints a
	notice.
	(func_emit_initmacro_start): Add a second argument. If it is true, emit
	code to require gl_CC_ALLOW_WARNINGS and gl_CXX_ALLOW_WARNINGS.
	(func_import, func_create_testdir): All callers updated.
	* m4/gnulib-common.m4 (gl_CC_ALLOW_WARNINGS, gl_CXX_ALLOW_WARNINGS): New
	macros.

2021-06-09  Bruno Haible  <bruno@clisp.org>

	sigsegv tests: Hide a null pointer from the compiler's optimizations.
	Patch by Paul Eggert.
	* tests/test-sigsegv-catch-stackoverflow2.c
	(null_pointer_to_volatile_int): New variable.
	(main): Use it.

2021-06-07  Bruno Haible  <bruno@clisp.org>

	get_ppid_of: Add support for DragonFly BSD.
	* lib/get_ppid_of.c: Treat DragonFly BSD like FreeBSD.

2021-06-07  Bruno Haible  <bruno@clisp.org>

	sigsegv: Document context type for DragonFly BSD.
	* lib/sigsegv.in.h (stackoverflow_context_t): On DragonFly BSD, it is a
	pointer to 'struct sigcontext'.

2021-06-07  Bruno Haible  <bruno@clisp.org>

	dynarray, scratch_buffer: Fix VPATH builds (regression from yesterday).
	* modules/dynarray (configure.ac): Invoke AC_PROG_MKDIR_P.
	(Makefile.am): Create malloc/ directory before creating
	malloc/dynarray.gl.h and malloc/dynarray-skeleton.gl.h.
	* modules/scratch_buffer (configure.ac): Invoke AC_PROG_MKDIR_P.
	(Makefile.am): Create malloc/ directory before creating
	malloc/scratch_buffer.gl.h.

2021-06-07  Bruno Haible  <bruno@clisp.org>

	ptsname_r: Add support for DragonFly BSD 6.0.
	* lib/ptsname_r.c (__ptsname_r): Add implementation for DragonFly BSD.
	* tests/test-ptsname_r.c (main): Treat Dragonfly BSD like Solaris.

2021-06-07  Bruno Haible  <bruno@clisp.org>

	Avoid some test failures on DragonFly BSD 6.0.
	* tests/test-c32isalnum.c (main): On Dragonfly BSD, disable tests that
	fail.
	* tests/test-c32isalpha.c (main): Likewise.
	* tests/test-c32islower.c (main): Likewise.
	* tests/test-c32isupper.c (main): Likewise.
	* tests/test-ptsname.c (main): Treat Dragonfly BSD like Solaris.

2021-06-07  Kamil Dudka  <kdudka@redhat.com>

	mountlist: recognize fuse.portal as dummy file system
	* lib/mountlist.c [ME_DUMMY_0]: Add "fuse.portal" as
	a dummy file system (used in flatpak implementations).

2021-06-07  Bruno Haible  <bruno@clisp.org>

	host-os: Add support for DragonFly BSD.
	* m4/host-os.m4 (gl_HOST_OS): On DragonFly BSD, set
	HOST_OPERATING_SYSTEM to "DragonFly BSD", not "Dragonfly".

2021-06-07  Bruno Haible  <bruno@clisp.org>

	thread: Fix test link error on DragonFly BSD 6.0.
	* lib/glthread/thread.c (gl_thread_create): Moved to here...
	* lib/glthread/thread.h (gl_thread_create): ...from here.
	(_GLTHREAD_THREAD_INLINE): Remove macro.
	Remove _GL_INLINE_HEADER_BEGIN/END invocations.

2021-06-06  Bruno Haible  <bruno@clisp.org>

	sigsegv: Avoid a gcc warning "declaration of 'sig' shadows a parameter".
	Reported by Dmitry V. Levin <ldv@altlinux.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-06/msg00018.html>.
	* lib/sigsegv.c (sigsegv_handler): Use a different local variable name
	than 'sig'.

2021-06-06  Bruno Haible  <bruno@clisp.org>

	scratch_buffer: Avoid conflict with prepr. macros owned by the system.
	* lib/scratch_buffer.h: Don't include <libc-config.h>. Define
	_GL_LIKELY, _GL_UNLIKELY. Include malloc/scratch_buffer.gl.h instead of
	malloc/scratch_buffer.h.
	* modules/scratch_buffer (Depends-on): Add builtin-expect.
	(Makefile.am): Arrange to create malloc/scratch_buffer.gl.h from
	malloc/scratch_buffer.h.

2021-06-06  Bruno Haible  <bruno@clisp.org>

	dynarray: Avoid conflict with preprocessor macros owned by the system.
	* lib/dynarray.h: Don't include <libc-config.h>. Define _GL_LIKELY,
	_GL_UNLIKELY. Include malloc/dynarray.gl.h instead of malloc/dynarray.h.
	Include malloc/dynarray-skeleton.gl.h instead of
	malloc/dynarray-skeleton.c.
	* modules/dynarray (Depends-on): Add builtin-expect.
	(Makefile.am): Arrange to create malloc/dynarray.gl.h from
	malloc/dynarray.h and malloc/dynarray-skeleton.gl.h from
	malloc/dynarray-skeleton.c.

2021-06-06  Bruno Haible  <bruno@clisp.org>

	glob-h: Avoid conflict with preprocessor macros owned by the system.
	This fixes a compilation error on DragonFly BSD 6.0.
	* lib/glob.in.h: Don't include <libc-config.h>. Don't define __USE_GNU.
	Include glob-libc.gl.h instead of glob-libc.h.
	* modules/glob-h (Makefile.am): Arrange to create glob-libc.gl.h from
	glob-libc.h.
	* lib/libc-config.h: Add comment.

2021-06-06  Dmitry V. Levin  <ldv@altlinux.org>

	* tests/test-regex.c (tests): Add test cases for *+ and ** regressions
	fixed by the previous commit.

	* tests/test-regex.c (tests): Remove the comment saying that some tests
	are not used.  That comment was copied along with tests from glibc
	where some of these tests are commented out.

2021-06-06  Egor Ignatov  <egori@altlinux.org>  (tiny change)

	* lib/regexec.c (set_regs): Pop if CUR_NODE has already been checked
	only when we have a fail stack.

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

	lib-symbol-visibility: Make configure check work for newer GCC.
	Reported by Ozkan Sezer <sezeroz@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-05/msg00117.html>.
	* m4/visibility.m4 (gl_VISIBILITY): Add a function definition for each
	declaration in the test program.

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

	vasnprintf: Don't leak memory when memory allocation fails.
	Found by Coverity. Reported by Mike Fabian <mfabian@redhat.com> in
	<https://lists.gnu.org/archive/html/bug-libunistring/2021-06/msg00000.html>.
	* lib/vasnprintf.c (VASNPRINTF): In places where a local variable points
	to heap-allocated storage, free that storage before doing
	'goto out_of_memory;'.

2021-06-04  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Stop doing license notice replacements.
	* gnulib-tool: Don't document --more-symlinks and --more-hardlinks any
	more.
	(do_copyrights): Remove variable.
	(func_import): Don't perform license updates on imported files any more.
	* pygnulib/GLInfo.py: Don't document --more-symlinks any more.
	* doc/gnulib-intro.texi (Copyright): Document the new situation.
	* doc/gnulib.texi (Module description): Likewise.
	* NEWS: Mention the change.

2021-06-04  Bruno Haible  <bruno@clisp.org>

	git-merge-changelog: Fix license.
	* modules/git-merge-changelog (License): Change back to GPL.
	* lib/git-merge-changelog.c: Use a GPLv3+ notice.

2021-06-04  Bruno Haible  <bruno@clisp.org>

	Put GPLv3+ notices in source files where appropriate.
	* lib/*.{h,c}: Use GPLv3+ notice whenever the module description says
	so.
	* build-aux/pmccabe.css: Likewise.

2021-06-04  Bruno Haible  <bruno@clisp.org>

	Put LGPLv3+ notices in source files where appropriate.
	* lib/*.{h,c}: Use LGPLv3+ notice whenever the module description says
	so.

2021-06-04  Bruno Haible  <bruno@clisp.org>

	Put "LGPLv3+ or GPLv2+" notices in source files where appropriate.
	* lib/**.{h,c,gperf}: Use "LGPLv3+ or GPLv2+" notice whenever the module
	description says so.

2021-06-04  Bruno Haible  <bruno@clisp.org>

	Generate correct license notices in libunistring files.
	* lib/gen-uni-tables.c (output_library_license, output_tests_license):
	New functions.
	(output_predicate, output_category, output_combclass,
	output_bidi_category, output_decimal_digit, output_digit,
	output_numeric, output_mirror, output_joining_type,
	output_joining_group, output_scripts, output_scripts_byname,
	output_blocks, output_ident_category, output_lbrk_tables,
	output_wbrk_tables, output_gbp_table, output_decomposition_tables,
	output_composition_tables, output_simple_mapping, output_casing_rules):
	Invoke output_library_license.
	(output_predicate_test, output_decimal_digit_test, output_digit_test,
	output_numeric_test, output_joining_type_test,
	output_joining_group_test, output_gbp_test, output_simple_mapping_test):
	Invoke output_tests_license.
	* lib/uni*/*.h, lib/uni*/*.gperf: Regenerated.
	* tests/uni*/*.h: Likewise.

2021-06-04  Bruno Haible  <bruno@clisp.org>

	Generate correct license notices in libunistring files.
	* lib/uniname/gen-uninames.lisp (main): Emit a copyright and license
	notice.
	* lib/uniname/uninames.h: Regenerated.

2021-06-04  Bruno Haible  <bruno@clisp.org>

	Put LGPLv2+ notices in source files where appropriate.
	* lib/**.{h,c,gperf}: Use LGPLv2+ notice whenever the module description
	says so.

2021-06-04  Bruno Haible  <bruno@clisp.org>

	Put "unlimited" notices in source files where appropriate.
	* build-aux/prefix-gnulib-mk: Use "unlimited" notice, since the module
	description says so.

2021-06-04  Bruno Haible  <bruno@clisp.org>

	Put public domain notices in source files where appropriate.
	* lib/{alloca.c,atexit.c,memmove.c}: Use public domain notice.

2021-06-04  Bruno Haible  <bruno@clisp.org>

	Revamp check-copyright script.
	* check-copyright: Search only the first 50 lines of each file.
	Recognize 'LGPLv3+ or GPLv2+', 'unlimited', and 'public domain' license
	notices. For files that are part of several modules, consider the
	weakest among the licenses. Allocate more room for the first output
	column.

2021-06-04  Bruno Haible  <bruno@clisp.org>

	gnupload, git-merge-changelog: Fix module description.
	* gnulib-tool (func_import, func_create_testdir): Treat
	'GPLv2+ build tool' like 'GPLed build tool'.
	* pygnulib/GLImport.py (prepare): Likewise.
	* modules/gnupload (License): Change to 'GPLv2+ build tool'.
	* modules/git-merge-changelog (License): Change to GPLv2+.

2021-06-04  Bruno Haible  <bruno@clisp.org>

	New directory with license notices.
	* etc/license-notices/*: New files.

2021-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	reallocarray-tests: port to weird platforms
	* tests/test-reallocarray.c (main): Don’t assume that
	PTRDIFF_MAX / 2 + 1 <= SIZE_MAX.  POSIX allows platforms
	where this isn’t true, though I don’t know of any examples.

	dfa, etc.: prefer xreallocarray to older name
	* lib/dfa.c (addtok_mb, realloc_trans_if_necessary, enlist):
	* lib/readtokens.c (readtokens):
	* tests/uninorm/test-u32-normalize-big.c:
	(read_normalization_test_file):
	Prefer xreallocarray to the equivalent xnrealloc.
	The newer name follows the glibc lead of ‘reallocarray’.

2021-05-30  Bruno Haible  <bruno@clisp.org>

	Write 'LGPLv3+ or GPLv2+' instead of 'LGPLv3+ or GPLv2'.
	* modules/* (License): Change.
	* gnulib-tool (func_import, func_create_testdir): Likewise.

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

	sigsegv: Port to Solaris 11
	Problem reported by Kiyoshi KANAZAWA in:
	https://lists.gnu.org/r/bug-m4/2021-05/msg00020.html
	* lib/stackvma.c (_FILE_OFFSET_BITS): #undef on Solaris and Android.

2021-05-24  Bruno Haible  <bruno@clisp.org>

	c-stack: Document another restriction.
	Triggered by a discussion with Paul Eggert.
	* lib/c-stack.h: Mention that ACTION should not use nested functions.

2021-05-22  Bruno Haible  <bruno@clisp.org>

	stdio: Fix compilation error on DragonFly BSD.
	* lib/stdio.in.h (fcloseall): Treat DragonFly BSD like FreeBSD.

2021-05-22  Larkin Nickle  <me@larbob.org>  (tiny change)

	getprogname: port to Tru64
	* lib/getprogname.c: Treat __osf__ like __sgi, except
	with /proc/123 instead of /proc/pinfo/123.

2021-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	sigsegv: don’t assume SIGSTKSZ is a constant
	* m4/sigaltstack.m4 (SV_SIGALTSTACK): Don’t attempt to override
	SIGSTKSZ.  Instead, use an array that is plenty large, while
	checking that it’s large enough.  Also, be consistent about
	putting that array in static storage rather than on the stack.
	* tests/altstack-util.h (SIGSTKSZ): Don’t define.
	(MYSTACK_SIZE): New macro, used instead of SIGSTKSZ.
	(mystack_storage, mystack): Now static.
	(prepare_alternate_stack) [SIGSTKSZ]:
	Check that MYSTACK_SIZE is large enough.

2021-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	fstatat: doc improvement
	* doc/posix-functions/fstatat.texi (fstatat):
	Mention AT_EMPTY_PATH when talking about empty strings.

2021-05-18  Bruno Haible  <bruno@clisp.org>

	c-stack: Support catching stack overflow on most platforms without libsigsegv.
	* lib/c-stack.c: Remove all Solaris-specific code. Include <sigsegv.h>
	always.
	* m4/c-stack.m4: Remove all Solaris-specific code.
	(gl_C_STACK): Test $with_libsigsegv from module 'sigsegv'.
	* modules/c-stack (Files): Remove m4/libsigsegv.m4.
	(Depends-on): Add sigsegv. Remove havelib, intprops, inttypes, mempcpy,
	sigaction, stdbool.

2021-05-16  Bruno Haible  <bruno@clisp.org>

	sigsegv, c-stack: Avoid compilation error with glibc >= 2.34.
	* lib/sigsegv.in.h (SIGSTKSZ): On glibc systems, redefine to a suitable
	constant.
	* m4/sigaltstack.m4 (SV_SIGALTSTACK): Likewise.
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.

2021-05-16  Bruno Haible  <bruno@clisp.org>

	sigsegv: Add tests.
	* tests/test-sigsegv-catch-segv1.c: New file, from GNU libsigsegv with
	modifications.
	* tests/test-sigsegv-catch-segv2.c: Likewise.
	* tests/test-sigsegv-catch-stackoverflow1.c: Likewise.
	* tests/test-sigsegv-catch-stackoverflow2.c: Likewise.
	* tests/altstack-util.h: Likewise.
	* tests/mmap-anon-util.h: Likewise.
	* modules/sigsegv-tests: New file.

	sigsegv: New module.
	* lib/sigsegv.in.h: New file, from GNU libsigsegv with modifications.
	* lib/sigsegv.c: Likewise.
	* lib/stackvma.h: Likewise.
	* lib/stackvma.c: Likewise.
	* m4/sigaltstack.m4: Likewise.
	* m4/stack-direction.m4: Likewise.
	* modules/sigsegv: New file.

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

	realloc-gnu: avoid glibc MALLOC_CHECK_ issue
	* tests/test-realloc-gnu.c (main): if MALLOC_CHECK_ env var
	is set then don't check ENOMEM is returned from realloc().
	See https://sourceware.org/bugzilla/show_bug.cgi?id=27870
	Note it doesn't suffice to unsetenv() this var within the program,
	as the hooks have already been set up at that stage.

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

	c-stack: work around Solaris 11 bugs
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2021-05/msg00062.html
	* lib/c-stack.c: Always include sigsegv.h if HAVE_LIBSIGSEGV.
	(USE_LIBSIGSEGV): Do not use libsigsegv if the kernel
	has the si_addr bug and libsigsegv is too old to work
	around it.
	(segv_handler) [!USE_LIBSIGSEGV]: Do not trust si_addr
	if BOGUS_SI_ADDR_UPON_STACK_OVERFLOW.
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
	Define BOGUS_SI_ADDR_UPON_STACK_OVERFLOW on Solaris 2.11 SPARC.
	And do not define HAVE_XSI_STACK_OVERFLOW_HEURISTIC.

2021-05-14  Bruno Haible  <bruno@clisp.org>

	fcntl tests: Avoid failure in MacPorts.
	Reported by Nicholas Gaya <nicholasgaya@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-05/msg00014.html>.
	* tests/test-fcntl.c (main): Close fd 10 before assuming that it is
	closed.
	* tests/test-execute-main.c: Update comment.

2021-05-14  Bruno Haible  <bruno@clisp.org>

	linked-list-unportable-test: New module.
	* modules/linked-list-unportable-tests: New file, based on
	modules/linked-list-tests.
	* modules/linked-list-tests: Remove the unportable tests from here.
	Depend on linked-list-unportable-tests.

2021-05-14  Simon Josefsson  <simon@josefsson.org>

	valgrind-tests: Doc fix and introduce AM_VALGRINDFLAGS.
	* doc/valgrind-tests.texi (Using valgrind automatically): Clarify
	when the parallel vs serial test harness is used, suggested by
	Bruno Haible <bruno@clisp.org>.
	* m4/valgrind-tests.m4: Add VALGRIND_PROGRAM and AM_VALGRINDFLAGS.

2021-05-14  Bruno Haible  <bruno@clisp.org>

	malloc-gnu, realloc-gnu, calloc-gnu: Ensure errno gets set to ENOMEM.
	* m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Set gl_cv_func_malloc_posix to
	'no' also on Solaris.

2021-05-14  Bruno Haible  <bruno@clisp.org>

	DEPENDENCIES: Mention the requirement for 'join'.
	Reported by Simon Josefsson <simon@josefsson.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-05/msg00047.html>.
	* DEPENDENCIES: Mention 'join' among the core POSIX utilities.

2021-05-14  Bruno Haible  <bruno@clisp.org>

	*alloc-gnu tests: Use ASSERT macro.
	* tests/test-malloc-gnu.c: Include "macros.h".
	(main): Use ASSERT.
	* tests/test-calloc-gnu.c: Include "macros.h".
	(main): Use ASSERT.
	* tests/test-realloc-gnu.c: Include "macros.h".
	(main): Use ASSERT.
	* tests/test-reallocarray.c: Include "macros.h".
	(main): Use ASSERT.
	* modules/malloc-gnu-tests (Files): Add tests/macros.h.
	* modules/calloc-gnu-tests (Files): Likewise.
	* modules/realloc-gnu-tests (Files): Likewise.
	* modules/reallocarray-tests (Files): Likewise.

2021-05-14  Simon Josefsson  <simon@josefsson.org>

	valgrind-tests: Fix 'sh: yes: unknown operand' error.
	* m4/valgrind-tests.m4: Protect variable usage.

2021-05-14  Simon Josefsson  <simon@josefsson.org>

	valgrind-tests: Fix LOG_VALGRIND when valgrind is missing.
	* m4/valgrind-tests.m4: Clear all variables when missing.

2021-05-14  Simon Josefsson  <simon@josefsson.org>

	valgrind-tests: Better option handling.
	* m4/valgrind-tests.m4: Support new variables VALGRINDFLAGS and
	DEFAULT_VALGRINDFLAGS.
	* doc/valgrind-tests.texi (Running self-tests under valgrind):
	Improve.

2021-05-14  Markus Mützel  <markus.muetzel@gmx.de>  (tiny change)

	windows-spawn: Don't assume that UNICODE is not defined.
	* lib/windows-spawn.h (compose_handles_block): Use type STARTUPINFOA.

2021-05-13  Bruno Haible  <bruno@clisp.org>

	getrandom: Produce a better error code.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-05/msg00025.html>.
	* lib/getrandom.c (getrandom): When open() fails with an error that does
	not indicate the absence of the file, fail with that error code, not
	with ENOSYS.

2021-05-13  Bruno Haible  <bruno@clisp.org>

	fstatat: Document a glibc 2.7 bug.
	* doc/posix-functions/fstatat.texi: Document an old glibc 2.7 bug.

2021-05-13  Bruno Haible  <bruno@clisp.org>

	posix_spawn, posix_spawnp: Fix build error on Minix 3.3.
	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): If posix_spawn does not exist
	but is declared, set REPLACE_POSIX_SPAWN.
	* doc/posix-functions/posix_spawn.texi: Update platforms list.
	* doc/posix-functions/posix_spawnp.texi: Likewise.

2021-05-13  Bruno Haible  <bruno@clisp.org>

	reallocarray tests: Avoid test failure on NetBSD.
	* tests/test-reallocarray.c (main): Accept EOVERFLOW error code.

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

	gnulib-tool: Fail properly if the 'join' program is not found.
	Reported by Simon Josefsson <simon@josefsson.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-05/msg00029.html>.
	* gnulib-tool: Bail out early of the 'join' program is not found.

2021-05-09  Bruno Haible  <bruno@clisp.org>

	{realloc,calloc}-gnu: Fix autoconf macro (regression 2021-04-18).
	* m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Don't reset REPLACE_REALLOC
	to 0 if it is already 1 after gl_FUNC_REALLOC_GNU was executed.
	* m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Don't reset REPLACE_CALLOC
	to 0 if it is already 1 after gl_FUNC_CALLOC_GNU was executed.

	{malloc,realloc,calloc}-gnu: Fix autoconf macro (regression 2021-04-18).
	* m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Don't assume that
	_AC_FUNC_MALLOC_IF expands to a single shell statement.
	* m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Don't assume that
	_AC_FUNC_REALLOC_IF expands to a single shell statement.
	* m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Don't assume that
	_AC_FUNC_CALLOC_IF expands to a single shell statement.

2021-05-09  Bruno Haible  <bruno@clisp.org>

	malloc-gnu, realloc-gnu, calloc-gnu: Ensure errno gets set on IRIX.
	* m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Require AC_CANONICAL_HOST. Set
	gl_cv_func_malloc_posix to 'no' also on IRIX.

	malloc-gnu, realloc-gnu, calloc-gnu tests: Verify errno is set.
	* tests/test-malloc-gnu.c: Include <errno.h>.
	(main): Verify that, when an allocation larger than PTRDIFF_MAX failed,
	errno is ENOMEM.
	* tests/test-realloc-gnu.c: Likewise.
	* tests/test-calloc-gnu.c: Likewise.

2021-05-09  Bruno Haible  <bruno@clisp.org>

	getrandom: Fail with ENOSYS when the system has no randomness source.
	* lib/getrandom.c (getrandom): When open() fails, set errno to ENOSYS.

2021-05-09  Bruno Haible  <bruno@clisp.org>

	free tests: Avoid test failure on glibc < 2.15.
	* tests/test-free.c (main): Skip the hairy test on glibc < 2.15.

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

	Fix build error when libintl is installed.
	* modules/posix_spawn_file_actions_addchdir-tests (Makefile.am): Link
	test-posix_spawn-chdir with libintl.
	* modules/posix_spawn_file_actions_addfchdir-tests (Makefile.am): Link
	test-posix_spawn-fchdir with libintl.

2021-05-07  Bruno Haible  <bruno@clisp.org>

	Fix build when an older libunistring is installed (regr. 2020-02-23).
	* modules/unitypes (configure.ac): Arrange to generate the .h file if
	the installed one is from a version < 0.9.11.
	* modules/unicase/base (configure.ac): Likewise.
	* modules/uniconv/base (configure.ac): Likewise.
	* modules/unilbrk/base (configure.ac): Likewise.
	* modules/uninorm/base (configure.ac): Likewise.
	* modules/unistdio/base (configure.ac): Likewise.
	* modules/unistr/base (configure.ac): Likewise.
	* modules/uniwbrk/base (configure.ac): Likewise.
	* modules/uniwidth/base (configure.ac): Likewise.
	* modules/unictype/base (configure.ac): Arrange to generate the .h file
	if the installed one is from a version < 0.9.8.
	* modules/unigbrk/base (configure.ac): Likewise.

2021-04-30  Bruno Haible  <bruno@clisp.org>

	immutable: Fix crash when immmalloc() fails.
	Found by GCC 11 '-fanalyzer'.
	* lib/immutable.c (immstrdup): Don't crash when immmalloc() fails.

2021-04-30  Bruno Haible  <bruno@clisp.org>

	supersede: Fix crash when malloc() fails.
	Found by GCC 11 '-fanalyzer'.
	* lib/supersede.c (create_temp_file): Don't crash when malloc() fails.

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

	libc-config: fix include problem on older Debian
	https://lists.gnu.org/r/bug-gnulib/2021-04/msg00198.html
	* lib/cdefs.h: Use __GNULIB_CDEFS, not __GLIBC__,
	to determine whether to include the bits/* files.
	* lib/libc-config.h (__WORDSIZE): Remove.
	(__GNULIB_CDEFS): New macro.

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

	gnulib-tool: port better to current Autoconf
	* doc/gnulib-tool.texi (Initial import): Don’t mention
	AC_PROG_CC_STDC as it’s deprecated in current Autoconf.
	* gnulib-tool (func_done_dir): Suggest replacing
	AC_PROG_CC_STDC and AC_PROG_CC_C99, as per current Autoconf.

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

	reallocarray: a bit more tuning
	* lib/reallocarray.c: Include intprops.h.
	(reallocarray): Use INT_MULTIPLY_WRAPV instead of
	xalloc_oversized, as it now suffices and is likely a bit more
	efficient (five fewer machine insns on Ubuntu 20.10 x86-64).
	* modules/reallocarray (Depends-on): Depend on intprops, not
	xalloc-oversized.  Use conditional dependencies to avoid building
	realloc-gnu when not needed.

	reallocarray: don’t crash if item size is 0
	This problem affects only platforms where xalloc_oversized
	divides a number by the size arg.  Fix this by defining
	xalloc_oversized (n, s) to work even if s == 0.
	* lib/malloca.h, lib/xalloc-oversized.h: Document new behavior.
	* lib/xalloc-oversized.h (__xalloc_oversized): Do not crash if S==0.
	* tests/test-reallocarray.c (main): Test for the bug.

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

	xmalloca, etc.: avoid unlikely trap
	* lib/malloca.h (nmalloca):
	* lib/xmalloca.h (xnmalloca):
	Use size_t, not ptrdiff_t, to avoid implementation-defined
	behavior (which could include a trap) if N is 0 and S exceeds
	PTRDIFF_MAX.
	* lib/xalloc-oversized.h: Adjust comment to match.

	xmalloca, etc.: fix some xalloc-oversized issues
	* lib/malloca.h (nmalloca):
	* lib/xmalloca.h (xnmalloca): Convert S to ptrdiff_t to avoid
	arithmetic overflow if N and S are both narrower than ptrdiff_t.
	* lib/xalloc-oversized.h (xalloc_oversized):
	Don’t say that args must be ptrdiff_t or size_t or wider.
	The macro returns the correct answer even when that is not
	the case, and it’s the caller’s responsibility to avoid
	howlers like (xalloc_oversized (n, s) ? NULL : malloc (n * s))
	when N and S are both narrower than ptrdiff_t and size_t.
	Add a comment to that effect.
	* lib/xmalloca.h: Include xalloc-oversized.h, since this file uses
	xalloc_oversized.  Add comments about side effects and avoid
	unnecessary parens.
	* modules/xmalloca (Depends-on): Add xalloc-oversized.

	reallocarray: check for ptrdiff_t overflow
	* doc/glibc-functions/reallocarray.texi (reallocarray):
	Mention ptrdiff_t overflow.
	* lib/reallocarray.c (reallocarray): Reindent as per usual GNU.
	* lib/stdlib.in.h (reallocarray): Allow reallocarray to be replaced.
	* m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY):
	Check for ptrdiff_t overflow.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set up REPLACE_REALLOCARRAY.
	* modules/reallocarray (Files): Add malloc.m4.
	(configure.ac): Also test REPLACE_REALLOCARRAY.
	* modules/reallocarray-tests (Depends-on): Add stdint.
	* modules/stdlib (stdlib.h): Substitute REPLACE_REALLOCARRAY.
	* tests/test-reallocarray.c: Include stdint.h.
	(main): Check for ptrdiff_t overflow.

	calloc-gnu-tests: add overflow tests
	* tests/test-calloc-gnu.c (identity): New function, replacing ‘eight’.
	(main): Do 2 * log2(SIZE_MAX) tests instead of just two tests.
	Don’t bother to free on failure.

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

	libc-config: port better to Fedora Rawhide
	Problem reported by Eric Blake in:
	https://lists.gnu.org/r/bug-gnulib/2021-04/msg00181.html
	* lib/cdefs.h: Make this closer to glibc, so that we can
	merge Gnulib into glibc here.
	(__attribute_maybe_unused__): Make identical to glibc’s
	definition, though with an additional comment.
	(__attribute_nonnull__): Add clarifying comment.
	Make inclusion of bits/wordsize.h, bits/long-double.h
	dependent on __GLIBC__, not on !__WORDSIZE.
	* lib/libc-config.h: Use __attribute_nonnull__,
	not __attribute_maybe_unused__, to detect whether
	to include sys/cdefs.h.

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

	realloc: port to AIX 7.1
	* lib/realloc.c (_GL_USE_STDLIB_ALLOC): Do not define.  This
	module relies on GNU malloc.  This fixes a test failure on AIX 7.1.

	malloc: simplify
	* lib/malloc.c: Omit unnecessary "#undef malloc".
	I recently introduced it by mistake.  This module defines
	_GL_USE_STDLIB_ALLOC and so malloc isn’t redefined to rpl_malloc.

	malloca: avoid ptrdiff_t overflow
	* lib/malloca.c: Include idx.h, intprops.h.
	(mmalloca): Check for ptrdiff_t overflow.  Since this module uses
	_GL_USE_STDLIB_ALLOC, it cannot assume GNU malloc semantics.
	* modules/malloca (Depends-on): Add idx, intprops.

	careadlinkat: avoid ptrdiff_t overflow
	* lib/careadlinkat.c: Include idx.h, minmax.h.
	(readlink_stk): Avoid ptrdiff_t overflow in object allocation.
	Since this module uses arbitrary allocators (including
	stdlib_allocator), it cannot assume GNU malloc semantics.
	* modules/careadlinkat (Depends-on): Add idx, minmax.

	execute-tests: pacify compiler
	* tests/test-execute-main.c (main): Use 0x7DEADBEE rather than
	0xDEADBEEF for nonces, to avoid provoking AIX XLC compiler warning
	that the latter is out of int range.

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

	malloc-gnu-tests, etc.: use volatile for clang
	In some more test locations, store the result of malloc etc. into
	a volatile pointer so that clang doesn’t optimize away the malloc
	and thus bypass the test.  This fixes a malloc-gnu test failure on
	macOS 11.2.3 with clang 12.0.0 on ARM.
	* tests/test-alloca-opt.c (do_allocation):
	* tests/test-malloc-gnu.c (main):
	* tests/test-malloca.c (do_allocation):
	* tests/test-realloc-gnu.c (main):
	* tests/test-reallocarray.c (main):
	* tests/test-aligned-malloc.c (main):
	* tests/test-aligned_alloc.c (main):
	Store malloc etc. results into a volatile pointer.

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

	malloc-gnu-tests: pacify -Walloc-size-larger-than
	* tests/test-malloc-gnu.c (main):
	* tests/test-realloc-gnu.c (main): Hide true intentions from GCC,
	to prevent diagnostics like “warning: argument 1 value
	‘9223372036854775808’ exceeds maximum object size
	9223372036854775807 [-Walloc-size-larger-than=]”.

	safe-alloc: fix pointer implementation
	The old implementation assumed that all pointers use the same
	internal representation, but the C standard doesn’t guarantee
	this.  Use void * (pointer) not void ** (pointer-to-pointer) for
	the internal functions’ API.  The internal functions now return
	NULL if and only if they failed, and the macros translate that
	into -1 or 0 to satisfy the existing API.
	* doc/safe-alloc.texi (Safe Allocation Macros): Mention overflow.
	* lib/safe-alloc.c: Major rewrite.  Now this simply
	defines SAFE_ALLOC_INLINE and includes safe-alloc.h.
	* lib/safe-alloc.h: Include stddef.h, not stdlib.h.
	(SAFE_ALLOC_INLINE): New macro; use Gnulib inline function style.
	(safe_alloc_realloc_n): New API, which passes and returns
	the pointer, and which returns NULL if and only if failure occurs.
	(safe_alloc_check): New function.
	(ALLOC, ALLOC_N, ALLOC_N_UNINITIALIZED, REALLOC_N):
	Redo using the new API for internal functions, and using calloc
	which is good enough since it’s GNU-compatible now.
	(FREE): Expand to an expression rather than merely to something
	that needs a following ‘;’ to become a statement.
	* modules/safe-alloc (Depends-on): Add calloc-gnu.

	calloc-gnu: now LGPLv2+
	* modules/calloc-gnu (License): Change from GPL to LGPLv2+.
	The old value was evidently a longstanding typo, and calloc
	will be needed by LGPLv2+ modules that will want to rely
	on GNU behavior.

	safe-alloc: simplify via reallocarray
	* lib/safe-alloc.c: Do not include xalloc-oversized.h.
	(safe_alloc_alloc_n, safe_alloc_realloc_n):
	Use reallocarray to check for size or ptrdiff_t overflow.
	* modules/reallocarray (License): Switch from LGPL to LGPLv2+, as
	this is needed for safe-alloc and anyway is more appropriate for
	this library function common with BSD.
	* modules/safe-alloc (Depends-on): Depend on reallocarray
	rather than xalloc-oversized.

	xalloc-oversized: fix SIZE_MAX optimization bug
	* lib/xalloc-oversized.h (xalloc_count_t): Remove; no longer
	needed and was evidently error-prone anyway.
	(xalloc_oversized): Omit some over-optimization that caused
	SIZE_MAX to not be treated as too large (the Gnulib convention) on
	unusual platforms where PTRDIFF_MAX == SIZE_MAX.  This change
	should not affect typical platforms where PTRDIFF_MAX < SIZE_MAX.
	When optimizing, simply use ptrdiff_t instead of xalloc_count_t.

	xalloc: new function xreallocarray
	This is the same as xnrealloc, which perhaps should be deprecated.
	The name xreallocarray should be easier to remember now that
	reallocarray is a standard GNU function.
	* lib/xalloc.h [GNULIB_XALLOC]: Do not include xalloc-oversized.h.
	(xnmalloc, xnrealloc, x2nrealloc): Simplify by using xreallocarray.
	* lib/xmalloc.c (xreallocarray): New function.
	* modules/xalloc (Depends-on): Add reallocarray;
	remove xalloc-oversized.

	group-member: simplify via realloc-gnu
	* lib/group-member.c, modules/group-member:
	Simplify similarly to backupfile.

	backupfile: simplify via realloc-gnu
	* lib/backupfile.c: Do not include xalloc-oversized.h.
	(numbered_backup): Simplify now that realloc will do the right
	thing about ptrdiff_t overflow.
	* modules/backupfile (Depends-on): Add realloc-gnu;
	remove xalloc-oversized.

	safe-alloc: improve doc
	* doc/safe-alloc.texi: Clarify that reallocating an array appends
	uninitialized storage.  Say ‘sizeof *p’ rather than ‘sizeof(*p)’
	which would need a space before the paren to follow GNU style.

	malloc-gnu-tests, etc.: test ptrdiff_t overflow
	* modules/calloc-gnu-tests (Depends-on):
	* modules/malloc-gnu-tests (Depends-on):
	* modules/realloc-gnu-tests (Depends-on): Add stdint.
	* tests/test-calloc-gnu.c (main):
	* tests/test-malloc-gnu.c (main):,
	* tests/test-realloc-gnu.c (main): Test for ptrdiff_t overflow.

	malloc-gnu, etc.: prefer AS_CASE to woolly AS_IF
	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Use AS_CASE.

	malloc-gnu, etc.: sync better with Autoconf
	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
	Avoid some unnecessary differences from Autoconf’s versions.
	Separate our platforms into a different line so that it’s easier
	to diff.  Use AS_IF in case the args use AC_REQUIRE.
	However, don’t bother with omitting the first newline, as
	omitting the newline is not Gnulib style and the difference
	doesn’t seem to matter here.

2021-04-18  Bruno Haible  <bruno@clisp.org>

	malloc-posix, realloc-posix, calloc-posix: Document affected platforms.
	* doc/posix-functions/malloc.texi: Re-add platforms list.
	* doc/posix-functions/realloc.texi: Likewise.
	* doc/posix-functions/calloc.texi: Likewise.

2021-04-18  Bruno Haible  <bruno@clisp.org>

	More systematic file naming.
	* m4/ctype_h.m4: Renamed from m4/ctype.m4.
	* m4/threads_h.m4: Renamed from m4/threads.m4.
	* m4/uchar_h.m4: Renamed from m4/uchar.m4.

2021-04-18  Bruno Haible  <bruno@clisp.org>

	Add comments after 2021-04-11 change.
	* m4/*_h.m4: Add comments regarding *_REQUIRE_DEFAULTS and
	*_MODULE_INDICATOR macros.

2021-04-18  Bruno Haible  <bruno@clisp.org>

	doc: Update for FreeBSD 13.0/arm64.
	* doc/posix-headers/stdint.texi: Mention FreeBSD 13 bug.
	* m4/stdint.m4: Update comment.

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

	xalloc: adjust to malloc ptrdiff_t change
	* lib/xmalloc.c (HAVE_GNU_CALLOC, HAVE_GNU_MALLOC, HAVE_GNU_REALLOC):
	Remove.
	(xmalloc, xrealloc, xcalloc): Simplify by assuming GNU behavior.
	* modules/xalloc (Depends-on): Add calloc-gnu, malloc-gnu,
	realloc-gnu.

	malloc, etc.: check for ptrdiff_t overflow
	In glibc 2.30 and later, malloc, realloc and calloc reject
	attempts to create objects larger than PTRDIFF_MAX bytes.
	This patch changes malloc-gnu etc. to support this behavior
	on non-GNU hosts.  It also makes this change for malloc-posix etc.
	since it’s a safety measure that ought to be in POSIX (perhaps
	we can talk them into that...).

	In writing this patch I found a complicated set of code that had
	accumulated over the years, some written by yours truly.  I got
	rid of the code I couldn’t see the need for nowadays.  Among other
	things, the GNU realloc behavior is no longer incompatible with
	the C standard, because in C17 the latter was relaxed to allow the
	former.  If I went too far in cleaning up, the old stuff can be
	resurrected.

	This change is mostly for 32-bit platforms, since practical 64-bit
	platforms cannot create objects larger than PTRDIFF_MAX bytes anyway.
	* doc/posix-functions/calloc.texi:
	* doc/posix-functions/malloc.texi:
	* doc/posix-functions/realloc.texi:
	Mention ptrdiff_t issues, and go into more detail about what
	the gnu extension module does.
	* doc/posix-functions/realloc.texi: Fix now-obsolete commentary
	about C99 vs glibc, as C17 allows the glibc behavior and POSIX
	will follow suit when it gets around to it.
	* lib/calloc.c, lib/malloc.c, lib/realloc.c:
	Simplify by always supplying a GNU-compatible version,
	as that suffices for correctness and is good enough for performance.
	Include xalloc-oversized.h, and use xalloc_oversized to
	check for ptrdiff_t overflow.
	(NEED_CALLOC_GNU, NEED_MALLOC_GNU, NEED_REALLOC_GNU): Remove.
	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
	Don’t start with a newline.  Fix message to match behavior.
	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don’t test for size_t overflow,
	as the ptrdiff_t test is good enough.
	* m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
	* m4/malloc.m4 (gl_FUNC_MALLOC_GNU):
	* m4/realloc.m4 (gl_FUNC_REALLOC_GNU):
	Do not define HAVE_CALLOC_GNU, HAVE_MALLOC_GNU, HAVE_REALLOC_GNU.
	It’s not worth the aggravation of maintaining these, as they
	are confusing (they don’t really mean GNU-compatible anyway).
	Don’t bother testing for GNU behavior if we have already decided
	to replace the function, since the replacement is always GNUish.
	* m4/calloc.m4 (gl_FUNC_CALLOC_POSIX):
	* m4/realloc.m4 (gl_FUNC_REALLOC_POSIX):
	Defer to gl_FUNC_MALLOC_POSIX.
	* m4/malloc.m4 (gl_FUNC_MALLOC_PTRDIFF, gl_CHECK_MALLOC_PTRDIFF):
	New macros.
	(gl_FUNC_MALLOC_POSIX): Use them to check for ptrdiff_t overflow.
	* modules/calloc-gnu, modules/malloc-gnu, modules/realloc-gnu:
	Remove no-longer-needed module indicators.
	* modules/calloc-posix, modules/malloc-posix, modules/realloc-posix:
	Depend on xalloc-oversized.
	* modules/malloc-posix: Require gl_FUNC_MALLOC_POSIX instead of
	calling it directly, so that other code can require it.
	* modules/realloc-posix: Depend on free-posix and malloc-posix.

2021-04-17  Bruno Haible  <bruno@clisp.org>

	stdio: Fix build error in some configurations (regression 2021-04-11).
	* m4/stdio_h.m4 (gl_STDIO_H): Move gl_STDIO_MODULE_INDICATOR and
	gl_MODULE_INDICATOR invocations from here...
	* modules/stdio (configure.ac): ... to here.

2021-04-17  Bruno Haible  <bruno@clisp.org>

	doc: Update for FreeBSD 11.0, 12.0, 13.0.
	* doc/posix-headers/*.texi: Update.
	* doc/glibc-headers/*.texi: Update.
	* doc/posix-functions/*.texi: Likewise.
	* doc/pastposix-functions/*.texi: Likewise.
	* doc/glibc-functions/*.texi: Likewise.
	* m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Update cross-compilation guess.

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

	malloc, realloc: fix recently-introduced #undef typos
	* lib/malloc.c (malloc):
	* lib/realloc.c (malloc, realloc): #undef before using.

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

	hamt tests: Fix link error.
	* modules/hamt-tests (Makefile.am): Link test-hamt against @LIBINTL@.

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

	c-stack: Don't use an undefined C macro (regression from 2020-10-04).
	* lib/c-stack.c: Test GNU C version directly, without __GNUC_PREREQ.

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

	doc: Fix confusion between LIBADD and LDADD.
	Reported by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-04/msg00102.html>.
	* doc/gnulib-tool.texi (Multiple instances): For programs, use LDADD,
	not LIBADD.

2021-04-11  Bruno Haible  <bruno@clisp.org>

	malloc, realloc, calloc: Support restricted library symbols on AIX.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-04/msg00119.html>.
	* lib/malloc.c: Drop the code that intends to collaborate with
	AC_FUNC_MALLOC.
	* lib/realloc.c: Drop the code that intends to collaborate with
	AC_FUNC_REALLOC.
	* lib/calloc.c: Drop the code that intends to collaborate with the
	nonexistent macro AC_FUNC_CALLOC.

2021-04-11  Bruno Haible  <bruno@clisp.org>

	Support several gnulib-tool invocations under the same configure.ac.
	Reported by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-04/msg00104.html>.
	This is done by defining the Gnulib module indicator variables per
	gnulib-tool invocation. So that a generated .h file is no longer
	influenced by the set of modules used in other gnulib-tool invocations.
	* gnulib-tool (func_compute_include_guard_prefix): Set
	module_indicator_prefix.
	(func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use it to
	modify $(GNULIB_*) variable references in the Automake snippets.
	(func_emit_initmacro_start): Push macro definitions for GL_MACRO_PREFIX
	and GL_MODULE_INDICATOR_PREFIX.
	(func_emit_initmacro_end): Pop these macro definitions.
	* pygnulib/GLConfig.py (GLConfig.getIncludeGuardPrefix): New method.
	* pygnulib/GLEmiter.py (GLEmiter.initmacro_start): Push macro
	definitions for GL_MACRO_PREFIX and GL_MODULE_INDICATOR_PREFIX.
	(GLEmiter.initmacro_end): Pop these macro definitions.
	(GLEmiter.lib_Makefile_am, GLEmiter.tests_Makefile_am): Use the module
	indicator prefix to modify $(GNULIB_*) variable references in the
	Automake snippets.
	* m4/gnulib-common.m4 (gl_MODULE_INDICATOR_INIT_VARIABLE,
	gl_MODULE_INDICATOR_SET_VARIABLE): Use the value of
	GL_MODULE_INDICATOR_PREFIX.
	* m4/arpa_inet_h.m4: Use new idiom for header files that contain
	references to Gnulib module indicator variables:
	- Define the main macro through AC_DEFUN_ONCE.
	- Define a macro gl_*_H_REQUIRE_DEFAULTS that initializes the Gnulib
	  module indicator variables (each prefixed with
	  GL_MODULE_INDICATOR_PREFIX).
	- Invoke this macro in the gl_*_MODULE_INDICATOR macro.
	* m4/ctype.m4: Likewise.
	* m4/dirent_h.m4: Likewise.
	* m4/fcntl_h.m4: Likewise.
	* m4/fnmatch_h.m4: Likewise.
	* m4/glob_h.m4: Likewise.
	* m4/iconv_h.m4: Likewise.
	* m4/inttypes.m4: Likewise.
	* m4/langinfo_h.m4: Likewise.
	* m4/locale_h.m4: Likewise.
	* m4/malloc_h.m4: Likewise.
	* m4/math_h.m4: Likewise.
	* m4/monetary_h.m4: Likewise.
	* m4/netdb_h.m4: Likewise.
	* m4/poll_h.m4: Likewise.
	* m4/pthread_h.m4: Likewise.
	* m4/pty_h.m4: Likewise.
	* m4/sched_h.m4: Likewise.
	* m4/search_h.m4: Likewise.
	* m4/signal_h.m4: Likewise.
	* m4/spawn_h.m4: Likewise.
	* m4/stddef_h.m4: Likewise.
	* m4/stdio_h.m4: Likewise.
	* m4/stdlib_h.m4: Likewise.
	* m4/string_h.m4: Likewise.
	* m4/strings_h.m4: Likewise.
	* m4/sys_file_h.m4: Likewise.
	* m4/sys_ioctl_h.m4: Likewise.
	* m4/sys_random_h.m4: Likewise.
	* m4/sys_resource_h.m4: Likewise.
	* m4/sys_select_h.m4: Likewise.
	* m4/sys_socket_h.m4: Likewise.
	* m4/sys_stat_h.m4: Likewise.
	* m4/sys_time_h.m4: Likewise.
	* m4/sys_times_h.m4: Likewise.
	* m4/sys_types_h.m4: Likewise.
	* m4/sys_uio_h.m4: Likewise.
	* m4/sys_utsname_h.m4: Likewise.
	* m4/sys_wait_h.m4: Likewise.
	* m4/termios_h.m4: Likewise.
	* m4/threads.m4: Likewise.
	* m4/time_h.m4: Likewise.
	* m4/uchar.m4: Likewise.
	* m4/unistd_h.m4: Likewise.
	* m4/utime_h.m4: Likewise.
	* m4/wchar_h.m4: Likewise.
	* m4/wctype_h.m4: Likewise.
	* modules/arpa_inet (configure.ac): Invoke the macro
	gl_*_H_REQUIRE_DEFAULTS explicitly.
	* modules/ctype (configure.ac): Likewise.
	* modules/dirent (configure.ac): Likewise.
	* modules/fcntl-h (configure.ac): Likewise.
	* modules/fnmatch-h (configure.ac): Likewise.
	* modules/glob-h (configure.ac): Likewise.
	* modules/iconv-h (configure.ac): Likewise.
	* modules/inttypes-incomplete (configure.ac): Likewise.
	* modules/langinfo (configure.ac): Likewise.
	* modules/locale (configure.ac): Likewise.
	* modules/malloc-h (configure.ac): Likewise.
	* modules/math (configure.ac): Likewise.
	* modules/monetary (configure.ac): Likewise.
	* modules/netdb (configure.ac): Likewise.
	* modules/poll-h (configure.ac): Likewise.
	* modules/pthread-h (configure.ac): Likewise.
	* modules/pty (configure.ac): Likewise.
	* modules/sched (configure.ac): Likewise.
	* modules/search (configure.ac): Likewise.
	* modules/signal-h (configure.ac): Likewise.
	* modules/spawn (configure.ac): Likewise.
	* modules/stddef (configure.ac): Likewise.
	* modules/stdio (configure.ac): Likewise.
	* modules/stdlib (configure.ac): Likewise.
	* modules/string (configure.ac): Likewise.
	* modules/strings (configure.ac): Likewise.
	* modules/sys_file (configure.ac): Likewise.
	* modules/sys_ioctl (configure.ac): Likewise.
	* modules/sys_random (configure.ac): Likewise.
	* modules/sys_resource (configure.ac): Likewise.
	* modules/sys_select (configure.ac): Likewise.
	* modules/sys_socket (configure.ac): Likewise.
	* modules/sys_stat (configure.ac): Likewise.
	* modules/sys_time (configure.ac): Likewise.
	* modules/sys_times (configure.ac): Likewise.
	* modules/sys_types (configure.ac): Likewise.
	* modules/sys_uio (configure.ac): Likewise.
	* modules/sys_utsname (configure.ac): Likewise.
	* modules/sys_wait (configure.ac): Likewise.
	* modules/termios (configure.ac): Likewise.
	* modules/threads-h (configure.ac): Likewise.
	* modules/time (configure.ac): Likewise.
	* modules/uchar (configure.ac): Likewise.
	* modules/unistd (configure.ac): Likewise.
	* modules/utime-h (configure.ac): Likewise.
	* modules/wchar (configure.ac): Likewise.
	* modules/wctype-h (configure.ac): Likewise.
	* m4/af_alg.m4: Update after a macro name changed.
	* m4/ctime.m4: Likewise.
	* m4/explicit_bzero.m4: Likewise.
	* m4/ffs.m4: Likewise.
	* m4/ffsl.m4: Likewise.
	* m4/ffsll.m4: Likewise.
	* m4/flock.m4: Likewise.
	* m4/fstat.m4: Likewise.
	* m4/getaddrinfo.m4: Likewise.
	* m4/getdomainname.m4: Likewise.
	* m4/gettimeofday.m4: Likewise.
	* m4/hostent.m4: Likewise.
	* m4/ioctl.m4: Likewise.
	* m4/localtime.m4: Likewise.
	* m4/mbslen.m4: Likewise.
	* m4/memchr.m4: Likewise.
	* m4/memmem.m4: Likewise.
	* m4/mempcpy.m4: Likewise.
	* m4/memrchr.m4: Likewise.
	* m4/mktime.m4: Likewise.
	* m4/nanosleep.m4: Likewise.
	* m4/passfd.m4: Likewise.
	* m4/pselect.m4: Likewise.
	* m4/rawmemchr.m4: Likewise.
	* m4/select.m4: Likewise.
	* m4/servent.m4: Likewise.
	* m4/sigabbrev_np.m4: Likewise.
	* m4/sigdescr_np.m4: Likewise.
	* m4/sockpfaf.m4: Likewise.
	* m4/stat.m4: Likewise.
	* m4/stpcpy.m4: Likewise.
	* m4/stpncpy.m4: Likewise.
	* m4/strcase.m4: Likewise.
	* m4/strcasestr.m4: Likewise.
	* m4/strchrnul.m4: Likewise.
	* m4/strdup.m4: Likewise.
	* m4/strerror.m4: Likewise.
	* m4/strerror_r.m4: Likewise.
	* m4/strerrorname_np.m4: Likewise.
	* m4/strftime-fixes.m4: Likewise.
	* m4/strncat.m4: Likewise.
	* m4/strndup.m4: Likewise.
	* m4/strnlen.m4: Likewise.
	* m4/strpbrk.m4: Likewise.
	* m4/strptime.m4: Likewise.
	* m4/strsep.m4: Likewise.
	* m4/strsignal.m4: Likewise.
	* m4/strstr.m4: Likewise.
	* m4/strtok_r.m4: Likewise.
	* m4/strverscmp.m4: Likewise.
	* m4/time_r.m4: Likewise.
	* m4/time_rz.m4: Likewise.
	* m4/timegm.m4: Likewise.
	* m4/timespec_get.m4: Likewise.
	* m4/tzset.m4: Likewise.
	* modules/accept (configure.ac): Likewise.
	* modules/bind (configure.ac): Likewise.
	* modules/connect (configure.ac): Likewise.
	* modules/flock (configure.ac): Likewise.
	* modules/getpeername (configure.ac): Likewise.
	* modules/getsockname (configure.ac): Likewise.
	* modules/getsockopt (configure.ac): Likewise.
	* modules/listen (configure.ac): Likewise.
	* modules/recv (configure.ac): Likewise.
	* modules/recvfrom (configure.ac): Likewise.
	* modules/send (configure.ac): Likewise.
	* modules/sendto (configure.ac): Likewise.
	* modules/setsockopt (configure.ac): Likewise.
	* modules/shutdown (configure.ac): Likewise.
	* modules/socket (configure.ac): Likewise. Use the
	gl_*_H_REQUIRE_DEFAULTS macros.
	* modules/nonblocking (configure.ac): Use the gl_*_H_REQUIRE_DEFAULTS
	and gl_MODULE_INDICATOR_INIT_VARIABLE macros.
	* modules/sigpipe (configure.ac): Likewise.
	* modules/windows-stat-override (configure.ac): Likewise.
	* m4/nonblocking.m4: Update a comment.
	* m4/sigpipe.m4: Likewise.

2021-04-11  Bruno Haible  <bruno@clisp.org>

	Rename GNULIB_OVERRIDES_CHAR16_T, GNULIB_OVERRIDES_CHAR32_T.
	* GNULIBHEADERS_OVERRIDE_CHAR16_T: Renamed from
	GNULIB_OVERRIDES_CHAR16_T.
	* GNULIBHEADERS_OVERRIDE_CHAR32_T: Renamed from
	GNULIB_OVERRIDES_CHAR32_T.

	Rename GNULIB_OVERRIDES_WINT_T.
	* GNULIBHEADERS_OVERRIDE_WINT_T: Renamed from GNULIB_OVERRIDES_WINT_T.

2021-04-11  Bruno Haible  <bruno@clisp.org>

	increment-serial: New program.
	* build-aux/increment-serial: New file.

2021-04-11  Bruno Haible  <bruno@clisp.org>

	useless-if-before-free: Implement --version option according to GCS.
	* build-aux/useless-if-before-free (copyright_year): New variable.
	(GetOptions): Print also a short copyright and license notice and
	author statement.

	libtool-next-version: Implement --version option according to GCS.
	* build-aux/libtool-next-version (scriptversion): New variable.
	(func_version): Deduce the copyright year from it. Terminate sentences
	with '.'.

	gnupload: Implement --version option according to GCS.
	* build-aux/gnupload (copyright_year, copyright): New variables.
	(--version): Print also a short copyright and license notice.

	git-version-gen: Implement --version option according to GCS.
	* build-aux/git-version-gen (version): State the license. Use wording
	from GCS.

	bootstrap: Implement --version option according to GCS.
	* build-aux/bootstrap (copyright_year, copyright): New variables.
	(--version): New option processing.

	announce-gen: Implement --version option according to GCS.
	* build-aux/announce-gen (copyright_year): New variable.
	(GetOptions): Print also a short copyright and license notice and
	author statement.

2021-04-10  Bruno Haible  <bruno@clisp.org>

	Simplify GNULIB_* variable initializations.
	* modules/gnulib-common.m4 (gl_MODULE_INDICATOR_INIT_VARIABLE): New
	macro.
	* m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Use it.
	* m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
	* m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Likewise.
	* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Likewise.
	* m4/fnmatch_h.m4 (gl_FNMATCH_H_DEFAULTS): Likewise.
	* m4/glob_h.m4 (gl_GLOB_H_DEFAULTS): Likewise.
	* m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Likewise.
	* m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Likewise.
	* m4/langinfo_h.m4 (gl_LANGINFO_H_DEFAULTS): Likewise.
	* m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Likewise.
	* m4/malloc_h.m4 (gl_MALLOC_H_DEFAULTS): Likewise.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise.
	* m4/monetary_h.m4 (gl_MONETARY_H_DEFAULTS): Likewise.
	* m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Likewise.
	* m4/poll_h.m4 (gl_POLL_H_DEFAULTS): Likewise.
	* m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Likewise.
	* m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Likewise.
	* m4/sched_h.m4 (gl_SCHED_H_DEFAULTS): Likewise.
	* m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise.
	* m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Likewise.
	* m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Likewise.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
	* m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Likewise.
	* m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
	* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
	* m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Likewise.
	* m4/sys_resource_h.m4 (gl_SYS_RESOURCE_H_DEFAULTS): Likewise.
	* m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Likewise.
	* m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Likewise.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
	* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): Likewise.
	* m4/sys_times_h.m4 (gl_SYS_TIMES_H_DEFAULTS): Likewise.
	* m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
	* m4/sys_wait_h.m4 (gl_SYS_WAIT_H_DEFAULTS): Likewise.
	* m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Likewise.
	* m4/threads.m4 (gl_THREADS_H_DEFAULTS): Likewise.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise.
	* m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
	* m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise.
	* m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise.
	* m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Likewise.

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

	realloc: fix undef typo
	* lib/realloc.c: #undef realloc if config.h defines it.
	This fixes a typo that I introduced in
	2011-04-08T18:39:01Z!eggert@cs.ucla.edu.
	Apparently nobody uses Gnulib realloc in that way?

2021-04-07  Bruno Haible  <bruno@clisp.org>

	execute tests: Avoid test failure in certain environments.
	Reported by Dmitry V. Levin <ldv@altlinux.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-04/msg00082.html>.
	* tests/test-execute-main.c (main): Close file descriptors 3..19.
	* tests/test-execute-child.c (main): Remove NetBSD workaround.
	* modules/execute-tests (configure.ac): Test for close_range function.

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

	utimens: fix confusing arg type in internal func
	Although the old code was technically correct, this was accidental
	and it confused a GCC 11 prerelease.  Reported by Ondrej Dubaj in:
	https://lists.gnu.org/r/bug-tar/2021-04/msg00000.html
	* lib/utimens.c (update_timespec): Change arg type from ‘struct
	timespec *[2]’ (pointer to array of 2 pointers to timespecs) to
	‘struct timespec **’ (pointer to pointer to the first timespec in
	an array of 2 timespecs).  Although the old code happened to be
	technically correct, it was misleading and confused Coverity.
	And though the type ‘struct timespec (**)[2]’ (pointer to pointer
	to array of 2 timespecs) would perhaps be more technically
	correct, it would be almost as confusing and would require changes
	elsewhere in this file; let’s quit while we’re ahead.

	xalloc: simplify integer overflow test
	* lib/xalloc.h (x2nrealloc): Simplify integer overflow detection.
	This is easier to maintain, and (unlike the old code) exact.

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

	group-member: minor tweak to omit a *
	* lib/group-member.c: Include intprops.h.
	(get_group_info): Use INT_MULTIPLY_WRAPV instead of
	xalloc_oversized (which does a multiplication) followed by the
	same multiplication.  The code was OK as-is; this is just
	conceptual simplification, possible now that we have xalloc_count_t.
	* modules/group-member: Depend on intprops.

	backupfile: less-aggressive buffer growth
	* lib/backupfile.c: Include intprops.h.
	(numbered_backup): Grow buffer by the usual 50%, not 100%.
	This is easier to do now that we have xalloc_count_t.
	* modules/backup-rename, modules/backupfile: Depend on intprops.

	xalloc-oversized: export xalloc_count_t
	* lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
	* lib/xmalloca.h (nmalloca):
	Comment re restrictions on arg types.
	* lib/xalloc-oversized.h (xalloc_count_t): Rename from
	__xalloc_count_type; all uses changed.  This publicizes the type.

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

	xalloc: try to pacify gcc -Wsign-compare
	Problem reported by Marc Nieper-Wißkirchen in:
	https://lists.gnu.org/r/bug-gnulib/2021-04/msg00034.html
	* lib/xmalloc.c (xpalloc): For odd platforms where SIZE_MAX < IDX_MAX,
	use a tricky destination for INT_MULTIPLY_WRAPV instead of an
	explicit comparison to SIZE_MAX.  This should be more likely to
	pacify gcc -Wsign-compare.

2021-04-05  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	hamt: Fix coding errors.
	Reported by Bruno Haible in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-04/msg00047.html>
	after a Coverity run.
	* lib/hamt.c (bucket_do_while, hamt_iterator): Add missing
	derefencing operator and silence a bogus warning on uninitialized
	variables.
	* tests/test-hamt.c (test_general): Replace two errorneous
	assignment operators with comparison operators.

2021-04-05  Fabrice Fontaine  <fontaine.fabrice@gmail.com>

	pthread-cond: Fix compilation error.
	* lib/pthread-cond.c (pthread_cond_wait): Use tv.nsec instead of
	tv.usec.

2021-04-04  Fabrice Fontaine  <fontaine.fabrice@gmail.com>

	pthread-cond: Fix wrong configure results when <pthread.h> is absent.
	* m4/pthread-cond.m4 (gl_PTHREAD_COND): When <pthread.h> does not exist,
	set HAVE_PTHREAD_COND_* to 0, not to 1.

2021-04-04  Bruno Haible  <bruno@clisp.org>

	backupfile, backup-rename: Trim dependencies.
	* lib/backupfile.h: Add comment.
	* lib/backupfile.c: Include <dirent.h>, for readdir() declaration.
	* modules/backup-rename (Depends-on): Remove dirent-safer, fcntl. Add
	fcntl-h.
	* modules/backupfile (Depends-on): Likewise. Remove xalloc. Add
	xalloc-die.

2021-04-04  Bruno Haible  <bruno@clisp.org>

	doc: Fix syntax error (regression from 2021-04-02).
	* doc/posix-functions/strtol.texi: Put @item inside @itemize block.

2021-04-04  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	hamt: Document the module in the Gnulib manual.
	Suggested by Bruno Haible in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-04/msg00026.html>.
	* doc/containers.texi: Add a subsection to section 15.11 Container
	data types.
	* lib/hamt.h: Improve documentation on how Hamt_entry is supposed
	to be used.

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

	savedir: avoid unlikely undefined behavior
	* lib/savedir.c (streamsavedir): Prefer idx_to size_t where
	either will do.  Simplify reallocation of entries.
	Use xpalloc to reallocate name_space, to avoid some unlikely
	integer overflows.

	quotearg: avoid undefined and/or O(N**2)
	Avoid undefined and O(N**2) behavior in some very unlikely cases.
	* lib/quotearg.c (quotearg_n_options): Document that N must
	be less than MIN (INT_MAX, IDX_MAX), and add this to the
	abort test; this also avoids a conditional branch.
	Use xpalloc instead of xrealloc, to avoid O(N**2) behavior in
	very-unlikely cases.

	xgethostname: reorganize / simplify
	xgethostname and xgetdomainname were essentially copies long
	ago, but they’ve diverged.  Bring them back together again
	by implementing the (rarely used) latter in terms of the former.
	And avoid some unnecessary realloc calls while we’re at it.
	* lib/xgetdomainname.c: Rewrite from scratch so that it merely
	includes xgethostname.c with a few preliminaries.
	* lib/xgethostname.c: Generalize so that it can be included
	from xgetdomainname.c.
	(GETANAME, XGETANAME): New macros.
	(INITIAL_HOSTNAME_LENGTH): Remove.  No need for this parameter.
	Use 100 instead, as few hostnames are longer than that.
	(XGETANAME): Try getting the hostname into the stack first,
	as that avoids a malloc call in the usual case.
	Check for both POSIX-style truncation and SunOS 5.5 bug
	in a cleaner way, by simply checking string length.
	Don’t use x2realloc, which wastes time preserving buffer garbage;
	use xpalloc with NULL instead.  Don’t bother shrinking buffer
	in the very rare case where the hostname is longer than sizeof
	buf; it’s not worth the aggravation.
	* modules/xgetdomainname (Depends-on): Remove free-posix, xalloc.
	Add xgethostname.

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

	*-list tests: Add more tests.
	* tests/test-array_list.c (check_equals_by_forward_iteration,
	check_equals_by_backward_iteration): New functions.
	(main): Invoke them.
	* tests/test-carray_list.c: Likewise.
	* tests/test-linked_list.c: Likewise.
	* tests/test-linkedhash_list.c: Likewise.
	* tests/test-avltree_list.c: Likewise.
	* tests/test-avltreehash_list.c: Likewise.
	* tests/test-rbtree_list.c: Likewise.
	* tests/test-rbtreehash_list.c: Likewise.

	list: Add operations first_node, last_node.
	Reported by Marc Nieper-Wißkirchen in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-04/msg00005.html>.
	* lib/gl_list.h (gl_list_first_node, gl_list_last_node): New functions.
	(struct gl_list_implementation): Add members first_node, last_node.
	* lib/gl_array_list.c (gl_array_first_node, gl_array_last_node): New
	functions.
	(gl_array_list_implementation): Add the new operations.
	* lib/gl_carray_list.c (gl_carray_first_node, gl_carray_last_node): New
	functions.
	(gl_carray_list_implementation): Add the new operations.
	* lib/gl_anylinked_list2.h (gl_linked_first_node, gl_linked_last_node):
	New functions.
	* lib/gl_linked_list.c (gl_linked_list_implementation): Add the new
	operations.
	* lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
	Likewise.
	* lib/gl_anytree_list2.h (gl_tree_first_node, gl_tree_last_node): New
	functions.
	* lib/gl_avltree_list.c (gl_avltree_list_implementation): Add the new
	operations.
	* lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
	Likewise.
	* lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
	* lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
	Likewise.
	* lib/gl_sublist.c (gl_sublist_first_node, gl_sublist_last_node): New
	functions.
	(gl_sublist_list_implementation): Add the new operations.
	* lib/gl_list.hh (class gl_List): Add member functions first_node,
	last_node.
	* doc/containers.texi: Update table.

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

	xalloc-die: Fix compilation error (regression from 2021-03-28).
	* lib/xalloc.h: Don't include idx.h and xalloc-oversized.h if the module
	'xalloc' is not in use.
	* modules/xalloc-die (Depends-on): Remove xalloc-oversized.

2020-04-03  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	hamt: New module.
	This module provides (persistent) hash array mapped tries.
	* MODULES.html.sh: Add hamt.
	* lib/hamt.c: New file.
	* lib/hamt.h: New file.
	* modules/hamt: New file.
	* modules/hamt-tests: New file.
	* tests/test-hamt.c: New file.

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

	strtoul, strtoll, strtoull: Fix compilation warning.
	* lib/strtol.c (strtol): Undefine before defining as a macro.

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

	strtoll: Work around a bug on native Windows and Minix.
	* lib/stdlib.in.h (strtoll): Override if REPLACE_STRTOLL is 1.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_STRTOLL.
	* m4/strtoll.m4 (gl_FUNC_STRTOLL): Test whether strtoll works. Set
	REPLACE_STRTOLL.
	* modules/stdlib (Makefile.am): Substitute REPLACE_STRTOLL.
	* modules/strtoll (configure.ac): Test REPLACE_STRTOLL.
	* tests/test-strtoll.c (main): Add tests of hexadecimal integer syntax.
	* doc/posix-functions/strtoll.texi: Mention the bug.

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

	strtol: Work around a bug on native Windows and Minix.
	* lib/stdlib.in.h (strtol): New declaration.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtol is declared.
	(gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOL, HAVE_STRTOL,
	REPLACE_STRTOL.
	* m4/strtol.m4 (gl_FUNC_STRTOL): Require gl_STDLIB_H_DEFAULTS. Test
	whether strtol works. Set REPLACE_STRTOL.
	* modules/stdlib (Makefile.am): Substitute GNULIB_STRTOL, HAVE_STRTOL,
	REPLACE_STRTOL.
	* modules/strtol (Status, Notice): Remove.
	(Depends-on): Add stdlib.
	(configure.ac): Test HAVE_STRTOL and REPLACE_STRTOL. Invoke
	gl_STDLIB_MODULE_INDICATOR.
	* tests/test-strtol.c (main): Add tests of hexadecimal integer syntax.
	* doc/posix-functions/strtol.texi: Mention the bug.

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

	strtoull: Work around a bug on native Windows and Minix.
	* lib/stdlib.in.h (strtoull): Override if REPLACE_STRTOULL is 1.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_STRTOULL.
	* m4/strtoull.m4 (gl_FUNC_STRTOULL): Test whether strtoull works. Set
	REPLACE_STRTOULL.
	* modules/stdlib (Makefile.am): Substitute REPLACE_STRTOULL.
	* modules/strtoull (configure.ac): Test REPLACE_STRTOULL.
	* tests/test-strtoull.c (main): Add tests of hexadecimal integer syntax.
	* doc/posix-functions/strtoull.texi: Mention the bug.

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

	strtoul: Work around a bug on native Windows and Minix.
	Reported by Eric Blake <eblake@redhat.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00082.html>.
	* lib/stdlib.in.h (strtoul): New declaration.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtoul is declared.
	(gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOUL, HAVE_STRTOUL,
	REPLACE_STRTOUL.
	* m4/strtoul.m4 (gl_FUNC_STRTOUL): Require gl_STDLIB_H_DEFAULTS. Test
	whether strtoul works. Set REPLACE_STRTOUL.
	* modules/stdlib (Makefile.am): Substitute GNULIB_STRTOUL, HAVE_STRTOUL,
	REPLACE_STRTOUL.
	* modules/strtoul (Status, Notice): Remove.
	(Depends-on): Add stdlib.
	(configure.ac): Test HAVE_STRTOUL and REPLACE_STRTOUL. Invoke
	gl_STDLIB_MODULE_INDICATOR.
	* tests/test-strtoul.c (main): Add tests of hexadecimal integer syntax.
	* doc/posix-functions/strtoul.texi: Mention the bug.

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

	strtol, strtoul, strtoll, strtoull: Optimize.
	* lib/strtol.c (GROUP_PARAM_PROTO): New macro.
	(INTERNAL): Define differently if !USE_NUMBER_GROUPING.
	(INTERNAL (strtol)): Define without 'int group' parameter if
	!USE_NUMBER_GROUPING.
	(strtol): Don't define if !USE_NUMBER_GROUPING.

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

	strto*l: Don't pass invalid arguments to isspace, isalnum, toupper.
	* lib/strtol.c (ISSPACE, ISALPHA, TOUPPER): Cast argument to
	'unsigned char' before passing it to the functions isspace(), isalpha(),
	toupper().

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

	glob: Reject ~user syntax, when flag GLOB_TILDE_CHECK is given.
	Reported and patch suggested by Eli Zaretskii <eliz@gnu.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00136.html>.
	* lib/glob.c (__glob) [WINDOWS32]: If flag GLOB_TILDE_CHECK is given, do
	error handling like when ~user is allowed by the user is unknown.

2021-03-31  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc: delay setting size until success
	* lib/xalloc.h (x2nrealloc): Don’t change *PN until after xrealloc
	succeeds, in case xalloc_die or one of its callees or longjmp
	targets uses *PN.  Similar code in xpalloc already does this.

2021-03-28  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc: new function xpalloc, from dfa
	Move xpalloc from dfa.c to xmalloc.c and change it from static to
	extern.  The function is useful in other contexts; I’m about to
	use it in coreutils.
	* lib/dfa.c: Include idx.h, instead of rolling our own idx_t and
	IDX_MAX.  Do not include intprops.h; no longer needed.
	(xpalloc): Move from here ...
	* lib/xmalloc.c (xpalloc): ... to here, and make it extern.
	Include intprops.h and minmax.h, needed by xpalloc.
	* lib/xalloc.h: Include idx.h, for idx_t.
	* modules/dfa (Depends-on): Add idx; remove intprops.
	* modules/xalloc (Depends-on): Add idx, intprops, minmax.

2021-03-28  Bruno Haible  <bruno@clisp.org>

	linked-list tests: Add another test for SIGNAL_SAFE_LIST.
	* tests/test-asyncsafe-linked_list-strong.c: Renamed from
	tests/test-asyncsafe-linked_list.c.
	* tests/test-asyncsafe-linked_list-strong.sh: Renamed from
	tests/test-asyncsafe-linked_list.sh.
	* tests/test-asyncsafe-linked_list-weak.c: New file, based on
	tests/test-asyncsafe-linked_list.c.
	* tests/test-asyncsafe-linked_list-weak.sh: New file, based on
	tests/test-asyncsafe-linked_list.sh.
	* modules/linked-list-tests (Files): Add
	tests/test-asyncsafe-linked_list-weak.*,
	tests/test-asyncsafe-linked_list-strong.*.
	(Makefile.am): Arrange to test also
	tests/test-asyncsafe-linked_list-weak.sh. Mark
	test-asyncsafe-linked_list-weak.sh and
	test-asyncsafe-linked_list-strong.sh as expected failures.

2021-03-27  Bruno Haible  <bruno@clisp.org>

	renameatu tests: Add unit test for bug found on macOS.
	* tests/test-renameatu.c (main): Add test for identical rename with
	RENAME_NOREPLACE.

2021-03-26  Bruno Haible  <bruno@clisp.org>

	unistdio/*-vasnprintf: Fix errno value (regression from yesterday).
	* modules/unistdio/u8-vasnprintf (Depends-on): Add free-posix.
	* modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.

2021-03-26  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Fix memory leak (regression from yesterday).
	* lib/vasnprintf.c (VASNPRINTF): Restore omitted CLEANUP invocation.
	Some more simplifications of errno around free().

2021-03-26  Akim Demaille  <akim@lrde.epita.fr>

	fprintf-posix: fix typo
	* modules/fprintf-posix (Depends-on): Fix typo.

2021-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	free-posix: use more often in other modules
	This lets us simplify cleanup code that calls ‘free’.
	* lib/amemxfrm.c (amemxfrm):
	* lib/areadlink-with-size.c (areadlink_with_size):
	* lib/areadlinkat-with-size.c (areadlinkat_with_size):
	* lib/astrxfrm.c (astrxfrm):
	* lib/dprintf.c (dprintf):
	* lib/execute.c (execute):
	* lib/execvpe.c (execvpe):
	* lib/fchdir.c (get_name):
	* lib/file-has-acl.c (file_has_acl):
	* lib/fprintf.c (fprintf):
	* lib/getcwd-lgpl.c (rpl_getcwd):
	* lib/getgroups.c (rpl_getgroups):
	* lib/link.c (link, rpl_link):
	* lib/linkat.c (link_immediate, link_follow, linkat_follow):
	* lib/localename.c (newlocale, duplocale):
	* lib/mgetgroups.c (mgetgroups):
	* lib/mountlist.c (read_file_system_list):
	* lib/pipe-filter-gi.c (pipe_filter_gi_close):
	* lib/putenv.c (_unsetenv, putenv):
	* lib/read-file.c (read_file):
	* lib/rename.c (rpl_rename):
	* lib/savedir.c (streamsavedir, savedir):
	* lib/spawni.c (do_open, __spawni):
	* lib/spawn-pipe.c (create_pipe):
	* lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv):
	* lib/striconveh.c (mem_cd_iconveh_internal, str_cd_iconveh)
	(mem_iconveh, str_iconveh):
	* lib/supersede.c (open_supersede, close_supersede):
	* lib/vasnprintf.c (VASNPRINTF):
	* lib/vdprintf.c (vdprintf):
	* lib/vfprintf.c (vfprintf):
	* lib/wcscoll-impl.h (wcscoll):
	* lib/wcsxfrm-impl.h (wcsxfrm):
	* lib/xgetdomainname.c (xgetdomainname):
	* lib/xgethostname.c (xgethostname):
	Simplify by assuming that ‘free’ preserves errno.
	* lib/localename.c: Do not include errno.h.
	* modules/amemxfrm, modules/areadlink-with-size:
	* modules/areadlinkat-with-size, modules/astrxfrm:
	* modules/c-vasnprintf, modules/dprintf, modules/execute:
	* modules/execvpe, modules/fchdir, modules/file-has-acl:
	* modules/fprintf-posix, modules/getcwd-lgpl, modules/getgroups:
	* modules/link, modules/linkat, modules/localename:
	* modules/mgetgroups, modules/mountlist, modules/pipe-filter-gi:
	* modules/posix_spawn-internal, modules/putenv, modules/read-file:
	* modules/rename, modules/savedir, modules/spawn-pipe:
	* modules/striconv, modules/striconveh, modules/supersede:
	* modules/vasnprintf, modules/vdprintf, modules/vfprintf-posix:
	* modules/wcscoll, modules/wcsxfrm, modules/xgetdomainname:
	* modules/xgethostname:
	Depend on free-posix.

2021-03-24  Paul Eggert  <eggert@cs.ucla.edu>

	renameatu: work around macOS 11.2 renameatx_np bug
	* lib/renameatu.c (renameatu) [RENAME_EXCL]: Use lstatat test here too.

2021-03-22  Bruno Haible  <bruno@clisp.org>

	clean-temp-simple: Fix a rare memory leak.
	* lib/clean-temp-simple.c (register_temporary_file): Fix cleanup code.

2021-03-22  Bruno Haible  <bruno@clisp.org>

	clean-temp-simple: Relicense under LGPLv2+.
	* modules/clean-temp-simple (License): Change to LGPLv2+.

2021-03-22  Bruno Haible  <bruno@clisp.org>

	clean-temp-simple: Remove dependency upon xalloc, xalloc-die, xlist.
	* lib/clean-temp-private.h (clean_temp_init): Change return type to
	'int'.
	* lib/clean-temp-simple.h (register_temporary_file): Change return type
	to 'int'.
	* lib/clean-temp-simple.c: Don't include xalloc.h, gl_xlist.h. Include
	gl_list.h instead.
	(init_failed): New variable.
	(do_clean_temp_init): Set it.
	(clean_temp_init): Return an error indicator.
	(register_temporary_file): Invoke gl_list_nx_create_empty instead of
	gl_list_create_empty. Invoke strdup instead of xstrdup. Invoke
	gl_list_nx_add_first instead of gl_list_add_first. Return an error
	indicator.
	* lib/clean-temp.c (create_temp_dir, gen_register_open_temp): Call
	xalloc_die() if clean_temp_init or register_temporary_file failed.
	* modules/clean-temp-simple (Depends-on): Remove xalloc, xalloc-die,
	xlist.

2021-03-22  Bruno Haible  <bruno@clisp.org>

	clean-temp-simple: New module.
	* lib/clean-temp-simple.h: New file, based on lib/clean-temp.h.
	* lib/clean-temp-private.h: New file, based on lib/clean-temp.c.
	* lib/clean-temp-simple.c: New file, based on lib/clean-temp.c.
	* lib/clean-temp.h: Include clean-temp-simple.h.
	(register_temporary_file, unregister_temporary_file,
	cleanup_temporary_file): Remove declarations.
	* lib/clean-temp.c: Don't include <limits.h>, <stdint.h>. Include
	<signal.h>, <stdio.h>, clean-temp-simple.h, clean-temp-private.h.
	(file_cleanup_list_lock, file_cleanup_list): Moved to
	clean-temp-simple.c.
	(struct tempdir, dir_cleanup_list, struct closeable_fd, descriptors):
	Moved to clean-temp-private.h.
	(string_equals, SIZE_BITS, string_hash, fatal_signal_set,
	init_fatal_signal_set, asyncsafe_close): Moved to clean-temp-simple.c.
	(asyncsafe_fclose_variant): Use get_fatal_signal_set() here.
	(cleanup_action, do_init_clean_temp, clean_temp_once, init_clean_temp,
	register_temporary_file, unregister_temporary_file, do_unlink,
	cleanup_temporary_file): Moved to clean-temp-simple.c.
	(create_temp_dir, cleanup_temp_file, cleanup_temp_dir_contents,
	gen_register_open_temp, close_temp): Update for changed function names.
	(fclose_variant_temp): Don't call init_fatal_signal_set().
	* modules/clean-temp-simple: New file, based on modules/clean-temp.
	* modules/clean-temp (Depends-on): Add clean-temp-simple, list. Remove
	stdint.
	(configure.ac): Don't define SIGNAL_SAFE_LIST here.

2021-03-22  Bruno Haible  <bruno@clisp.org>

	error: Relicense under LGPLv2+.
	Pino Toscano's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00109.html>.
	Paul Eggert's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00110.html>.
	* modules/error (License): Change to LGPLv2+.

2021-03-22  Bruno Haible  <bruno@clisp.org>

	getprogname: Relicense under LGPLv2+.
	Pino Toscano's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00109.html>.
	Paul Eggert's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00110.html>.
	Jim Meyering's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00107.html>.
	Gisle Vanem's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00115.html>.
	Daniel Richard G's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00112.html>.
	John David Anglin's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00108.html>.
	Benji Wiebe's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00114.html>.
	* modules/getprogname (License): Change to LGPLv2+.

2021-03-22  Bruno Haible  <bruno@clisp.org>

	fatal-signal: Relicense under LGPLv2+.
	Eric Blake's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00111.html>.
	* modules/fatal-signal (License): Change to LGPLv2+.

2021-03-22  Bruno Haible  <bruno@clisp.org>

	doc: Mention an open glibc bug.
	* doc/posix-functions/mbrtowc.texi: Mention the possible out-of-range
	wchar_t values returned by this function on glibc.
	* doc/posix-functions/mbtowc.texi: Likewise.

2021-03-22  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)

	mbrtowc: Remove a redundant condition.
	* lib/mbrtowc-impl-utf8.h: There is no need to check for c == 0xf4
	when !(c < 0xf4), as ten lines earlier c <= 0xf4 was established.

2021-03-22  Bruno Haible  <bruno@clisp.org>

	linkedhash-list: Relicense under LGPLv2+.
	Paul Eggert's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00102.html>.
	* modules/linkedhash-list (License): Change to LGPLv2+.

2021-03-21  Bruno Haible  <bruno@clisp.org>

	fatal-signal: Remove dependency upon xalloc.
	* lib/fatal-signal.h (at_fatal_signal): Change return type to 'int'.
	* lib/fatal-signal.c: Don't include xalloc.h.
	(at_fatal_signal): Return an error indicator.
	* modules/fatal-signal (Depends-on): Remove xalloc.
	* NEWS: Mention the change.
	* lib/term-style-control.c: Include xalloc.h.
	(ensure_other_signal_handlers): Test return value of at_fatal_signal.
	* lib/clean-temp.c (do_init_clean_temp): Likewise.
	* lib/wait-process.c (register_slave_subprocess): Likewise.
	* modules/term-style-control (Depends-on): Add xalloc-die.
	* modules/clean-temp (Depends-on): Likewise.
	* modules/wait-process (Depends-on): Likewise.

2021-03-21  Paul Eggert  <eggert@cs.ucla.edu>

	diacrit: remove
	* MODULES.html.sh (func_all_modules), NEWS: Remove diacrit.
	* lib/diacrit.c, lib/diacrit.h, modules/diacrit: Remove.

	tests: fix signed overflow issues
	* tests/test-dynarray.c (value_at): Avoid undefined behavior
	in signed integer multiplication.
	* tests/test-scratch-buffer.c (byte_at): Likewise, for the
	theoretically-possible case where size_t is narrower than int.

2021-03-21  Bruno Haible  <bruno@clisp.org>

	doc: More updates.
	* doc/glibc-functions/sethostname.texi: Update regarding macOS.
	* doc/glibc-functions/sethostname.texi: List the affected platforms.

	doc: Update for macOS 11.1.
	* doc/posix-headers/*.texi: Update.
	* doc/glibc-headers/*.texi: Update.
	* doc/posix-functions/*.texi: Likewise.
	* doc/pastposix-functions/*.texi: Likewise.
	* doc/glibc-functions/*.texi: Likewise.
	* m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Update cross-compilation
	guess.

2021-03-21  Bruno Haible  <bruno@clisp.org>

	ftell: Document bug in macOS >= 10.15.
	* doc/posix-functions/ftell.texi: Mention the macOS bug.

2021-03-20  Bruno Haible  <bruno@clisp.org>

	ftello: Work around bug in macOS >= 10.15.
	Reported by Martin Storsjö <martin@martin.st> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00002.html>.
	* m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): On macOS, don't define
	FUNC_UNGETC_BROKEN. Instead, set gl_ftello_broken_after_ungetc to yes.
	* m4/ftello.m4 (gl_FUNC_FTELLO): Invoke gl_FUNC_UNGETC_WORKS, and
	arrange to provide the workaround if ftello is broken after ungetc.
	* lib/ftello.c: Include <errno.h>, intprops.h.
	(ftello) [FTELLO_BROKEN_AFTER_UNGETC]: Implement from scratch.
	* modules/ftello (Files): Add m4/ungetc.m4.
	(Depends-on): Add intprops.
	* doc/posix-functions/ftello.texi: Mention the macOS bug.

2021-03-20  Bruno Haible  <bruno@clisp.org>

	math C++ tests: Fix compilation error on macOS 11.2.
	* lib/math.in.h (isnan): For clang >= 12 on macOS, declare 'rpl_isnan',
	not 'isnan'.

2021-03-18  Bruno Haible  <bruno@clisp.org>

	simple-atomic tests: Fix compilation error on Solaris 10.
	Reported by Tom G. Christensen <tgc@jupiterrise.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00085.html>.
	* tests/test-simple-atomic.c (yield): Define only after all #includes.

2021-03-18  Bruno Haible  <bruno@clisp.org>

	simple-atomic: Fix compilation error on Solaris 10/x86_64 with cc.
	* lib/simple-atomic.c (atomic_compare_and_swap_ptr): Correct asm
	instruction.

2021-03-18  Paul Eggert  <eggert@cs.ucla.edu>

	argmatch: fix testing typo
	Problem and fix reported by Gisle Vanem in:
	https://lists.gnu.org/r/bug-gnulib/2021-03/msg00083.html
	* lib/argmatch.c (main) [TEST]: Fix address-of typo.

2021-03-14  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: improve commentary
	* lib/intprops.h: Improve comments about promotion etc.

2021-03-14  Bruno Haible  <bruno@clisp.org>

	time_rz: Put reference documentation into the .h file.
	* lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
	Add comments, based on modules/time_rz.
	* modules/time_rz (Comment): Remove section.

2021-03-14  Bruno Haible  <bruno@clisp.org>

	parse-datetime tests: Avoid a test failure on NetBSD.
	Reported by Thomas Klausner <tk@giga.or.at> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00069.html>.
	* tests/test-parse-datetime.c (main): Skip two tests on NetBSD.

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

	libc-config: port to DragonFlyBSD 5.9
	DragonFlyBSD defines __nonnull incompatibly with glibc,
	so avoid the use of __nonnull in Gnulib code.
	Problem reported by Gavin Smith in:
	https://lists.gnu.org/r/bug-gnulib/2021-03/msg00066.html
	* lib/cdefs.h (__attribute_nonnull__): Rename from __nonnull.
	All uses in Gnulib changed.  There should be no need to change
	glibc code that is not shared with Gnulib.
	(__nonnull): New macro, defined in terms of __attribute_nonnull__,
	and which can be used in glibc code that is not shared with Gnulib.

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

	manywarnings: modernize documentation
	Problem reported by Reuben Thomas in:
	https://lists.gnu.org/r/bug-gnulib/2021-03/msg00046.html
	* doc/manywarnings.texi (manywarnings): Update in
	the light of recent changes to the manywarnings module.

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

	sysexits: Fix for Haiku.
	* lib/sysexits.in.h: Don't assume that <sysexits.h>, when it exists,
	defines anything.
	* doc/glibc-headers/sysexits.texi: Mention the Haiku bug.

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

	Rename GNULIB_WCHAR_SINGLE to GNULIB_WCHAR_SINGLE_LOCALE.
	* lib/lc-charset-dispatch.c: Test GNULIB_WCHAR_SINGLE_LOCALE instead of
	GNULIB_WCHAR_SINGLE.
	* lib/wcwidth.c: Likewise.
	* tests/test-wcwidth.c: Likewise.
	* doc/multithread.texi: Document GNULIB_WCHAR_SINGLE_LOCALE instead of
	GNULIB_WCHAR_SINGLE.
	* NEWS: Document the change.

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

	mbrtowc: Allow locking optimization independently of 'unlocked-io'.
	* lib/mbtowc-lock.h: Test GNULIB_MBRTOWC_SINGLE_THREAD instead of
	USE_UNLOCKED_IO.
	* doc/multithread.texi: Document GNULIB_MBRTOWC_SINGLE_THREAD.

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

	regex: Allow locking optimization independently of 'unlocked-io'.
	* lib/regex_internal.h: Test GNULIB_REGEX_SINGLE_THREAD instead of
	USE_UNLOCKED_IO.
	* doc/multithread.texi: Document GNULIB_REGEX_SINGLE_THREAD.

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

	exclude: Allow stdio optimization independently of 'unlocked-io'.
	* lib/exclude.c: Test GNULIB_EXCLUDE_SINGLE_THREAD instead of
	USE_UNLOCKED_IO.
	* modules/exclude (Depends-on): Add unlocked-io-internal.
	* doc/multithread.texi: Document GNULIB_EXCLUDE_SINGLE_THREAD.

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

	readutmp: Optimize stdio accesses.
	* lib/readutmp.c: Include unlocked-io.h unconditionally.
	* modules/readutmp (Depends-on): Add unlocked-io-internal.

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

	mountlist: Optimize stdio accesses.
	* lib/mountlist.c: Include unlocked-io.h unconditionally.
	* modules/mountlist (Depends-on): Add unlocked-io-internal.

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

	getusershell: Optimize stdio accesses when possible.
	* lib/getusershell.c: Test GNULIB_GETUSERSHELL_SINGLE_THREAD instead of
	USE_UNLOCKED_IO.
	* modules/getusershell (Depends-on): Add unlocked-io-internal.
	* doc/multithread.texi: Document GNULIB_GETUSERSHELL_SINGLE_THREAD.

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

	unlocked-io-internal: New module.
	* m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Don't define
	USE_UNLOCKED_IO here.
	* modules/unlocked-io-internal: New file, based on modules/unlocked-io.
	* modules/unlocked-io (Description): Clarify.
	(Files, Depends-on): Just use the unlocked-io-internal module.
	(configure.ac): Define GNULIB_STDIO_SINGLE_THREAD and USE_UNLOCKED_IO
	here.
	* doc/multithread.texi: Clarify when the 'unlocked-io' module can be
	used.

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

	posixtm: Remove unused includes.
	* lib/posixtm.c: Don't include <stdio.h>, <sys/types.h>, unlocked-io.h.

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

	dynarray: Add tests.
	* tests/test-dynarray.c: New file.
	* modules/dynarray-tests: New file.

	dynarray: Make the module usable on its own.
	* lib/dynarray.h: Document the exported API. Comments taken from
	lib/malloc/dynarray-skeleton.c and lib/malloc/dynarray.h.
	Distinguish an internal include from an include for instantiation.
	In the latter case, include <libc-config.h> and
	<malloc/dynarray-skeleton.c>.
	* modules/dynarray (Depends-on): Add intprops.
	(Include): Reduce to just "dynarray.h".

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

	scratch_buffer: Add comment.
	* lib/scratch_buffer.h: Add comment.

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

	parse-datetime2: fix licensing
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2021-03/msg00017.html
	* gnulib-tool (func_get_license): Treat parse-datetime2
	(actually, anything starting with "parse-datetime")
	like parse-datetime, as far as licenses go.

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

	free-posix: Update documentation.
	* doc/posix-functions/free.texi: Add platform details.

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

	doc: Update for glibc 2.33.
	* doc/glibc-functions/mallinfo2.texi: New file.
	* doc/gnulib.texi: Include it.
	(Glibc sys/vtimes.h): Remove section.
	* doc/glibc-functions/vtimes.texi: Remove file.
	* doc/pastposix-functions/h_errno.texi: Update.
	* doc/posix-functions/*.texi: Likewise.
	* doc/glibc-functions/*.texi: Likewise.

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

	stddef: Generalize tcc workaround to other compilers.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00027.html>.
	* lib/stddef.in.h: Undefine the __need_* macros with all compilers.
	* doc/posix-headers/stddef.texi: Mention that the TinyCC bug also exists
	on macOS.

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

	stdalign: port to tcc + glibc
	* lib/stdalign.in.h (_Alignas): Do not define using __attribute__
	if __attribute__ is defined as a macro, as __attribute__ surely a
	no-op in that case and this is an area where __attribute__ cannot
	simply be ignored.
	* m4/stdalign.m4 (gl_STDALIGN_H): Include <stdint.h> so that
	it #defines __attribute__(x) to nothing on glibc-based systems
	when non-GNU-C-compatible compilers are used.
	This exposes a bug in Tiny C Compiler 0.9.27’s implementation
	of _Alignas on glibc platforms.

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

	asyncsafe-spin, simple-atomic: Add support for tcc/x86.
	* lib/asyncsafe-spin.c (memory_barrier): With tcc/x86, don't use the
	'mfence' instruction.
	* lib/simple-atomic.c (memory_barrier): Likewise.

	asyncsafe-spin, simple-atomic: Add support for tcc.
	* lib/asyncsafe-spin.c (memory_barrier, atomic_compare_and_swap): On
	i386 and x86_64, treat tcc like older GCC or clang.
	* lib/simple-atomic.c (memory_barrier, atomic_compare_and_swap,
	atomic_compare_and_swap_ptr): Likewise.

2021-03-02  Bruno Haible  <bruno@clisp.org>

	stddef: Work around an interoperability problem of tcc with glibc.
	Reported by Luca Saiu <positron@gnu.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-03/msg00011.html>.
	* lib/stddef.in.h [__TINYC__]: In case of the special invocation
	convention, undefine the macros that TinyCC's <stddef.h> should undefine
	but doesn't.
	* doc/posix-headers/stddef.texi: Mention the TinyCC bug.

2021-03-02  Paul Eggert  <eggert@cs.ucla.edu>

	mbrtowc: port to AIX 7.1 with xlc 12.1
	Fix a problem with locks when building GNU Tar (Savannah commit
	55f2a0772e08b9febac3ac0de5cb048d4c60d2f5) on AIX 7.1 with IBM XL
	C/C++ V12.1 using ‘./configure CC=xlc’.  The link fails due to
	missing definitions of pthread_mutex_lock and
	pthread_mutex_unlock.  GNU Tar uses unlocked-io and so
	should not need to worry about multithreading or locks.
	* lib/mbtowc-lock.h (mbtowc_with_lock) [USE_UNLOCKED_IO]:
	Don’t bother with locks, since this app is single-threaded.
	There may be similar linking problems with lib/nl_langinfo.c and
	lib/setlocale_null.c but my GNU Tar build didn’t run into them, so
	I left them alone for now.

2021-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	unlocked-io: do not redefine getc_unlocked etc.
	I ran into this problem on AIX 7.1 with GNU Tar, which
	enables visibility of getc_unlocked etc. after testing
	whether they’re declared, causing argp-namefrob.h and
	unlocked-io.h to redefine the macros.
	* lib/argp-namefrob.h, lib/unlocked-io.h:
	(clearerr_unlocked, feof_unlocked ferror_unlocked)
	(fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
	(fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
	(putc_unlocked, putchar_unlocked): Do not define if already defined.

	parse-datetime2: new module
	This splits the old parse-datetime into two parts; the
	first is parse-datetime2 which supports all the new bells
	and whistles, the second is parse-datetime, which reverts to
	its original intent.  This avoids some bogus diagnostics
	when build GNU Tar with gcc -flto -fanalyze and
	with --enable-gcc-warnings.  And it slims down the
	executable a bit.
	* NEWS: Mention this.
	* lib/parse-datetime.y (parser_control) [!GNULIB_PARSE_DATETIME2]:
	Omit parse_datetime_debug member.
	(debugging): New function.  Use it everywhere the old code
	would load parse_datetime_debug.
	(parse_datetime_body): New static function, with the body
	of the old parse_datetime2.  Set pc.parse_datetime_debug
	only if GNULIB_PARSE_DATETIME2.
	(parse_datetime2, parse_datetime): Use this new function.
	(parse_datetime2) [!GNULIB_PARSE_DATETIME2]: Remove.
	* modules/parse-datetime2: New file.

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

	string-buffer: Fixes.
	* modules/string-buffer (License): Change to LGPL.
	* tests/test-string-buffer.c (main): Add another sb_appendf call, that
	is more likely to fail.

2021-02-25  Bernhard Voelker  <mail@bernhard-voelker.de>

	gitlog-to-changelog: output SHA in "empty commit message" warning
	* build-aux/gitlog-to-changelog: Add $sha to above warning diagnostic.

2021-02-24  Paul Eggert  <eggert@cs.ucla.edu>

	glob: include libc-config.h in a more-standard way
	Inspired by Tom Tromey’s report for RHEL 6 in:
	https://lists.gnu.org/r/bug-gnulib/2021-02/msg00088.html
	* lib/glob.c [!_LIBC]: Include libc-config.h, not just config.h
	* lib/glob.in.h: Include libc-config.h only if needed.

2021-02-21  Bruno Haible  <bruno@clisp.org>

	string-buffer: Add tests.
	* tests/test-string-buffer.c: New file.
	* modules/string-buffer-tests: New file.

	string-buffer: New module.
	* lib/string-buffer.h: New file.
	* lib/string-buffer.c: New file.
	* modules/string-buffer: New file.
	* doc/posix-functions/open_memstream.texi: Mention the new module.

2021-02-21  Bruno Haible  <bruno@clisp.org>

	scratch_buffer: Document the exported API.
	* lib/scratch_buffer.h: Add comments, taken from
	lib/malloc/scratch_buffer.h.

2021-02-21  Bruno Haible  <bruno@clisp.org>

	DEPENDENCIES: Update.
	* DEPENDENCIES: Require GCC >= 3.1. Tell where to find working GNU m4
	tarballs. Mention awk. Point to pre-built packages for gettext, bison,
	gperf, texinfo.

2021-02-20  Bruno Haible  <bruno@clisp.org>

	parse-datetime: Fix comment.
	* modules/parse-datetime (Makefile.am): Fix comment.

2021-02-16  Bruno Haible  <bruno@clisp.org>

	passfd: Fix test failure on FreeBSD >= 12 and NetBSD in 64-bit mode.
	* lib/passfd.c (recvfd): Use the CMSG_SPACE macro to compute the value
	for msg_controllen.

2021-02-16  Paul Eggert  <eggert@cs.ucla.edu>

	Port better to macOS Mojave
	Problem reported by Tom Shields in:
	https://lists.gnu.org/r/bug-gnulib/2021-02/msg00064.html
	* config/srclist.txt: Comment out dynarray_finalize.c.
	* lib/dynarray.h (__libc_dynarray_at_failure): Don’t include
	libc-config.h here, as that’s the includer’s responsibility.
	* lib/malloc/dynarray_at_failure.c:
	* lib/malloc/dynarray_emplace_enlarge.c:
	* lib/malloc/dynarray_finalize.c:
	* lib/malloc/dynarray_resize.c:
	* lib/malloc/dynarray_resize_clear.c:
	If _LIBC is not defined, include libc-config.h.

2021-02-15  Bruno Haible  <bruno@clisp.org>

	linked-list test: Add test for SIGNAL_SAFE_LIST. (It currently fails.)
	* tests/test-asyncsafe-linked_list.sh: New file.
	* tests/test-asyncsafe-linked_list.c: New file.
	* modules/linked-list-tests (Files): Add them.
	(Depends-on): Add thread, yield, nanosleep, sigaction, sigprocmask.
	(Makefile.am): Arrange to compile test-asyncsafe-linked_list.c and run
	test-asyncsafe-linked_list.sh.

2021-02-14  Bruno Haible  <bruno@clisp.org>

	simple-atomic: Add tests.
	* tests/test-simple-atomic.c: New file.
	* modules/simple-atomic-tests: New file.

	simple-atomic: New module.
	* lib/simple-atomic.h: New file.
	* lib/simple-atomic.c: New file, based on lib/asyncsafe-spin.c.
	* modules/simple-atomic: New file.

2021-02-14  Bruno Haible  <bruno@clisp.org>

	Fix distinction of 32-bit/64-bit mode with xlc 13.1.3 on AIX.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI, gl_HOST_CPU_C_ABI_32BIT):
	Test __LP64__ instead of _ARCH_PPC64.
	* m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
	* lib/stddef.in.h: Likewise.

2021-02-13  Ozkan Sezer  <sezeroz@gmail.com>

	lib-symbol-visibility: Make it work with -Wmissing-prototypes.
	* m4/visibility.m4 (gl_VISIBILITY): Avoid error from simultaneous use of
	-Wmissing-prototypes and -Werror.

2021-02-08  Bruno Haible  <bruno@clisp.org>

	stddef: Fix test-stddef compilation error on MidnightBSD/x86.
	* lib/stddef.in.h (_GL_STDDEF_ALIGNAS, rpl_max_align_t, max_align_t):
	Don't ignore HAVE_MAX_ALIGN_T if the compiler is clang.

2021-02-08  Bruno Haible  <bruno@clisp.org>

	Document non-standard prototypes on MidnightBSD.
	* doc/posix-functions/initstate.texi: Mention different prototype on
	MidnightBSD 2.0.
	* doc/posix-functions/srandom.texi: Likewise.
	* doc/posix-functions/getlogin_r.texi: Likewise.
	* doc/glibc-functions/sethostname.texi: Likewise.

2021-02-08  Bruno Haible  <bruno@clisp.org>

	posixtm tests: Fix warnings seen on MidnightBSD/x86.
	* tests/test-posixtm.c (main): Convert two 'time_t' values to 'long' for
	printing.

2021-02-07  Bruno Haible  <bruno@clisp.org>

	Add cross-compilation guesses for MidnightBSD.
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, use the
	result from native compilation.
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
	* m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Likewise.
	* m4/mprotect.m4 (gl_FUNC_MPROTECT_WORKS): Likewise.
	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_SECURE): Likewise.
	* m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
	gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F,
	gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
	gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
	* m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Likewise.
	* m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Use predetermined
	result on MidnightBSD.

2021-02-07  Bruno Haible  <bruno@clisp.org>

	threadlib: Add support for MidnightBSD.
	* m4/threadlib.m4 (gl_WEAK_SYMBOLS, gl_THREADLIB_BODY): On MidnightBSD,
	use the same test as on FreeBSD.

2021-02-07  Bruno Haible  <bruno@clisp.org>

	host-os: Add support for MidnightBSD.
	* m4/host-os.m4 (gl_HOST_OS): On MidnightBSD, set HOST_OPERATING_SYSTEM
	to "MidnightBSD", not "Midnightbsd".

2021-02-07  Bruno Haible  <bruno@clisp.org>

	c-stack: Adjust for MidnightBSD.
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): On MidnightBSD,
	set FAULT_YIELDS_SIGBUS.

2021-02-07  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Add support for MidnightBSD.
	* m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use the ELF $ORIGIN trick
	also on MidnightBSD >= 1.1.
	* build-aux/config.libpath: Treat MidnightBSD like FreeBSD.
	* build-aux/reloc-ldflags: Likewise.

2021-02-07  Bruno Haible  <bruno@clisp.org>

	havelib: Add support for MidnightBSD.
	* build-aux/config.rpath: Treat MidnightBSD like FreeBSD >= 4.

2021-02-07  Bruno Haible  <bruno@clisp.org>

	wcwidth: Document MidnightBSD bug.
	* doc/posix-functions/wcwidth.texi: Mention MidnightBSD as an affected
	platform.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Update comments.

2021-02-07  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Document MidnightBSD bug.
	* doc/posix-functions/pthread_sigmask.texi: Mention MidnightBSD as an
	affected platform.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update
	cross-compilation guess accordingly.

2021-02-07  Bruno Haible  <bruno@clisp.org>

	immutable: Avoid test failures on MidnightBSD.
	* tests/test-immutable.c (install_segv_handler): On FreeBSD, install the
	handler also for SIGBUS.

2021-02-07  Bruno Haible  <bruno@clisp.org>

	c32is*: Avoid test failures on MidnightBSD.
	* tests/test-c32isalnum.c (main): On FreeBSD, disable tests that fail on
	MidnightBSD 1.1.
	* tests/test-c32isalpha.c (main): Likewise.
	* tests/test-c32isblank.c (main): Likewise.
	* tests/test-c32islower.c (main): Likewise.
	* tests/test-c32isupper.c (main): Likewise.

2021-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	regex: fix comment location
	* lib/regexec.c (update_regs): Move comment.

	regex-tests: add bug 11053 test
	* tests/test-regex.c (main): New test case for glibc bug 11053.

	regex: debug check for set member duplicates
	* lib/regex_internal.c (re_node_set_insert): Add a DEBUG_ASSERT
	that would have caught some recently-fixed performance bugs
	that caused sets to contain duplicate members.

	regex: fix longstanding backref match bug
	This fixes a longstanding glibc bug concerning backreferences
	<https://sourceware.org/11053> (2009-12-04).
	* lib/regexec.c (proceed_next_node, push_fail_stack)
	(pop_fail_stack): Push and pop the previous registers
	as well as the current ones.  All callers changed.
	(set_regs): Also pop if CUR_NODE has already been checked,
	so that it does not get added as a duplicate set entry.
	(update_regs): Fix comment location.
	* tests/test-regex.c (tests): New constant.
	(bug_regex11): New test function.
	(main): Bump alarm value.  Call new test function.

	regex: avoid duplicate in espilon closure
	* lib/regcomp.c (calc_eclosure_iter): Insert NODE into epsilon
	closure first rather than last.  Otherwise, the epsilon closure
	might contain a duplicate of NODE.

	regex-tests: fix typo
	* tests/test-regex.c (main): Fix typo that would have caused an
	old test case to report incorrect values on failure.

	regex: make it easier to merge into glibc
	* lib/regex_internal.h [_LIBC]: Do not include Gnulib’s dynarray.h.

	regex: minor refactoring
	* lib/regexec.c (proceed_next_node): Use more-local decls.

	regex: avoid undefined behavior
	* lib/regexec.c (pop_fail_stack): If the stack is empty, return -1
	instead of indulging in undefined behavior.  This simplifies
	callers, and avoids undefined behavior in some cases (see glibc
	bug 11053, though this change does not fix that overall bug).

	regex: improve comments
	* lib/regexec.c: Add and correct comments about return values.

2021-01-31  Bruno Haible  <bruno@clisp.org>

	relocatable-prog-wrapper: Tweak today's patch.
	* build-aux/install-reloc (func_create_wrapper): Clean up free.o.

2021-01-31  Bruno Haible  <bruno@clisp.org>

	fmaf: Document QEMU bug.
	* doc/posix-functions/fmaf.texi: Add note about QEMU bug.

2021-01-31  Bruno Haible  <bruno@clisp.org>

	remainderl: Work around musl libc bug.
	* doc/posix-functions/remainderl.texi: Document musl libc bug.
	* m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): Add more tests. Update
	cross compilation guess.

2021-01-31  Bruno Haible  <bruno@clisp.org>

	log2l: Work around musl libc bugs.
	* doc/posix-functions/log2l.texi: Document musl libc bugs.
	* m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Add more tests. Update cross
	compilation guess.

2021-01-31  Bruno Haible  <bruno@clisp.org>

	log1pl: Work around musl libc bug.
	* doc/posix-functions/log1pl.texi: Document musl libc bug.
	* m4/log1pl.m4 (gl_FUNC_LOG1PL_WORKS): New macro.
	(gl_FUNC_LOG1PL): Invoke it.

2021-01-31  Bruno Haible  <bruno@clisp.org>

	log10l: Document musl libc bug.
	* doc/posix-functions/log10l.texi: Document musl libc bug.
	* m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Update comment and cross
	compilation guess.

2021-01-31  Bruno Haible  <bruno@clisp.org>

	logl: Document musl libc bug.
	* doc/posix-functions/logl.texi: Document musl libc bug.
	* m4/logl.m4 (gl_FUNC_LOGL_WORKS): Update comment and cross
	compilation guess.

2021-01-31  Bruno Haible  <bruno@clisp.org>

	expm1l: Document musl libc bug.
	* doc/posix-functions/expm1l.texi: Document musl libc bug.
	* m4/expm1l.m4 (gl_FUNC_EXPM1L): Update comment and cross
	compilation guess.

2021-01-31  Bruno Haible  <bruno@clisp.org>

	expl: Document musl libc bug.
	* doc/posix-functions/expl.texi: Document musl libc bug.
	* m4/expl.m4 (gl_FUNC_EXPL): Update comment and cross
	compilation guess.

2021-01-31  Bruno Haible  <bruno@clisp.org>

	relocatable-prog-wrapper: Update after recent changes.
	* lib/relocwrapper.c: Update comments.
	* modules/relocatable-prog-wrapper (Files): Add lib/scratch_buffer.h,
	lib/malloc/scratch_buffer*, lib/malloc.c, lib/realloc.c, lib/free.c,
	lib/mempcpy.c, lib/rawmemchr.c, m4/lstat.m4. Remove lib/lstat.c.
	(Depends-on): Add c99, eloop-threshold, fcntl-h, idx, intprops,
	libc-config, stddef, sys_stat. Remove alloca-opt.
	(configure.ac): Invoke gl_FUNC_MALLOC_POSIX, gl_FUNC_REALLOC_POSIX,
	gl_FUNC_FREE, gl_FUNC_MEMPCPY, gl_FUNC_RAWMEMCHR.
	* lib/canonicalize-lgpl.c (memmove): Undefine in the relocwrapper.
	* build-aux/install-reloc (func_create_wrapper): Compile also
	malloc/scratch_buffer_*.c, malloc.c, realloc.c, free.c, mempcpy.c,
	rawmemchr.c. Don't compile lstat.c.

	Make it possible to compile rawmemchr.c separately, unconditionally.
	* lib/rawmemchr.c: Don't define rawmemchr if not needed.

	Make it possible to compile mempcpy.c separately, unconditionally.
	* lib/mempcpy.c: Don't define mempcpy if not needed.

	Make it possible to compile free.c separately, unconditionally.
	* m4/free.m4 (gl_FUNC_FREE): Define HAVE_FREE_POSIX.
	* lib/free.c: Don't define rpl_free if not needed.

	Make it possible to compile realloc.c separately, unconditionally.
	* modules/realloc-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/realloc.c: Don't define rpl_realloc if not needed.

	Make it possible to compile malloc.c separately, unconditionally.
	* modules/malloc-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/malloc.c: Don't define rpl_malloc if not needed.

2021-01-31  Bruno Haible  <bruno@clisp.org>

	canonicalize-lgpl: Simplify.
	* lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC): Remove macro.

2021-01-30  Bruno Haible  <bruno@clisp.org>

	canonicalize, canonicalize-lgpl: Straighten dependencies.
	* modules/canonicalize-lgpl (Depends-on): Remove free-posix,
	malloc-posix. Add unistd.
	* modules/canonicalize (Depends-on): Remove free-posix, xalloc.
	Add unistd.

2021-01-30  Bruno Haible  <bruno@clisp.org>

	scratch_buffer: Fix dependencies.
	* modules/scratch_buffer (Depends-on): Add malloc-posix, realloc-posix,
	free-posix.

2021-01-26  Bruno Haible  <bruno@clisp.org>

	doc: More precise wording.
	Reported by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00300.html>.
	* doc/relocatable.texi (Enabling Relocatability): Talk about package
	management systems in general.

	doc: Remove obsolete text.
	Suggested by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00299.html>.
	* doc/relocatable.texi (Enabling Relocatability): Stop mentioning an
	issue of libtool 1.5.x.

2021-01-26  Simon Josefsson  <simon@josefsson.org>

	maintainer-makefile: Mimic bootstrap's gnulib-srcdir guessing.
	* top/maint.mk (gnulib_dir): If $(srcdir)/gnulib doesn't exist,
	fall back to $GNULIB_SRCDIR.

2021-01-25  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_* tests: Fix module dependencies.
	* modules/posix_spawn_file_actions_addclose-tests (Depends-on): Add
	posix_spawn_file_actions_destroy.
	* modules/posix_spawn_file_actions_addopen-tests (Depends-on): Likewise.
	* modules/posix_spawn_file_actions_adddup2-tests (Depends-on): Likewise.
	* modules/posix_spawn_file_actions_addchdir-tests (Depends-on):
	Likewise.
	* modules/posix_spawn_file_actions_addfchdir-tests (Depends-on):
	Likewise.

2021-01-25  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addclose: Relax configure test.
	* m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): Test a
	negative file descriptor, not an out-of-range file descriptor.
	* tests/test-posix_spawn_file_actions_addclose.c (main): Add comment.
	* doc/posix-functions/posix_spawn_file_actions_addclose.texi: Update.

2021-01-25  Simon Josefsson  <simon@josefsson.org>

	getaddrinfo: Doc fix.
	* doc/posix-functions/getaddrinfo.texi (getaddrinfo): Gnulib does
	not support IDN.

2021-01-24  Bruno Haible  <bruno@clisp.org>

	getcwd: Fix cross-compilation guess for musl libc.
	* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Guess no also on
	musl libc.
	* doc/posix-functions/getcwd.texi: Update platform info.

2021-01-24  Bruno Haible  <bruno@clisp.org>

	expm1l: Fix configure test result with GCC 10 on powerpc64le.
	* m4/expm1l.m4 (gl_FUNC_EXPM1L): Change test to avoid GCC optimization.

2021-01-23  Bruno Haible  <bruno@clisp.org>

	utime: Fix configure test (regression 2020-12-04).
	Reported by Ryan Schmidt <wget@ryandesign.com> via Tim Rühsen in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00282.html>.
	* m4/utime.m4 (gl_FUNC_UTIME): In the test program, include <utime.h>,
	not <time.h>.

2021-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	libc-config: port to Xcode 7
	Problem reported by Mattias Engdegård in:
	https://lists.gnu.org/r/emacs-devel/2021-01/msg01089.html
	* lib/cdefs.h (__nonnull): If already defined but glibc is not in
	use, override the definition with Gnulib’s _GL_ATTRIBUTE_NONNULL.
	This is needed for Xcode 7, which has a ‘#define __nonnull
	_Nonnull’ builtin for backwards-compatibility with an older Xcode
	syntax that GNUish code never uses.

2021-01-23  Bastien Roucariès  <rouca@debian.org>

	explicit_bzero: Add fallback for other compilers.
	* lib/explicit_bzero.c (explicit_bzero): For other compilers, invoke
	memset through a volatile function pointer.

	explicit_bzero: Add support for clang.
	* lib/explicit_bzero.c (explicit_bzero): Add a compiler barrier for
	clang.

2021-01-21  Paul Eggert  <eggert@cs.ucla.edu>

	Port FALLTHROUGH to clang 3.4 and earlier
	Problem reported by Akim Demaille in:
	https://lists.gnu.org/r/bug-gnulib/2021-01/msg00241.html
	* lib/cdefs.h (__glibc_has_attribute):
	* m4/gnulib-common.m4 (gl_COMMON_BODY):
	Do not trust __has_attribute in clang 3.4 and earlier, as
	<https://releases.llvm.org/3.5.0/tools/clang/docs/ReleaseNotes.html>
	says that __has_attribute is unreliable in these old versions.

2021-01-20  Bruno Haible  <bruno@clisp.org>

	gc-random: Fix link error in tests.
	* modules/crypto/gc-random (Link): New section.
	* modules/crypto/gc-tests (Makefile.am): Link test-gc with
	$(LIB_GETRANDOM).

2021-01-20  Simon Josefsson  <simon@josefsson.org>

	gc-random: Replace implementation with call to getrandom.
	* lib/gc-gnulib.c [GNULIB_GC_RANDOM]: Replace #include's with
	those needed for getrandom.
	(gc_init): Remove old randomness code.
	(gc_done): Likewise.
	(randomize): Rewrite using getrandom, inspired by getentropy.
	* m4/gc-random.m4: Remove file.
	* modules/crypto/gc-random: Drop gc-random.m4, gl_GC_RANDOM, and
	LIB_GC_RANDOM.  Add conditional dependency on getrandom.
	* modules/crypto/gc-tests (test_gc_LDADD): Drop LIB_GC_RANDOM.

2021-01-20  Bruno Haible  <bruno@clisp.org>

	exec*e tests: Avoid test failures on Cygwin.
	* tests/test-execle-main.c (main): On Cygwin, add /bin to the new PATH.
	* tests/test-execve-main.c (main): Likewise.
	* tests/test-execvpe-main.c (main): Likewise.

2021-01-20  Bruno Haible  <bruno@clisp.org>

	canonicalize-lgpl: Work around a Cygwin bug.
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Test for lstat. Add a
	test case that involves a symbolic link to an existing file.
	* doc/posix-functions/realpath.texi: Mention the Cygwin bug.

2021-01-20  Bruno Haible  <bruno@clisp.org>

	doc: Document ptsname_r bug on Cygwin.
	* doc/glibc-functions/ptsname_r.texi: Mention Cygwin bug.

2021-01-20  Bruno Haible  <bruno@clisp.org>

	sethostname tests: Avoid test failure on Cygwin.
	* tests/test-sethostname2.c (main): Treat errno EACCESS like EPERM.

2021-01-19  Paul Eggert  <eggert@cs.ucla.edu>

	fnmatch, regex, fts: FALLTHROUGH consistency
	Be more consistent about how FALLTHROUGH is defined.
	For Gnulib, use attribute.h.  For glibc, use __GNUC__ >= 7.
	Problem for glibc reported by Vaseeharan Vinayagamoorthy in:
	https://sourceware.org/pipermail/libc-alpha/2021-January/121778.html
	* lib/fnmatch.c (FALLTHROUGH) [_LIBC]:
	* lib/regex_internal.h (FALLTHROUGH) [_LIBC]:
	Don’t worry about Clang, as it’s not needed and provokes GCC.
	* lib/fts.c (FALLTHROUGH) [!_LIBC]:
	* lib/regex_internal.h (FALLTHROUGH) [!_LIBC]:
	Rely on attribute.h for FALLTHROUGH
	* modules/regex: Depend on attribute module.

2021-01-19  KO Myung-Hun  <komh78@gmail.com>

	spawn-pipe: Fix SIGSEGV on OS/2 kLIBC.
	* lib/spawn-pipe.c [OS/2 kLIBC]: Check directory correctly if it means
	a current directory.

2021-01-19  KO Myung-Hun  <komh78@gmail.com>

	dirent: Fix compilation error in C++ mode on OS/2 kLIBC.
	* lib/dirent.in.h (dirfd): Redefine dirfd macro as a rpl function
	always.

2021-01-19  KO Myung-Hun  <komh78@gmail.com>

	zerosize-ptr: Fix compilation on OS/2 kLIBC.
	* tests/zerosize-ptr.h [OS/2 kLIBC]: Don't use mmap().

2021-01-19  KO Myung-Hun  <komh78@gmail.com>

	stddef: Fix compilation for max_align_t on OS/2 kLIBC.
	* lib/stddef.in.h [OS/2 kLIBC]: Include <cstddef> in C++ mode.

2021-01-19  KO Myung-Hun  <komh78@gmail.com>

	yield: Implement for OS/2 kLIBC.
	* modules/yield (Depends-on): Add sched_yield.

	sched_yield: Implement for OS/2 kLIBC.
	* lib/sched_yield.c (sched_yield) [OS/2 kLIBC]: New implementation.

2021-01-19  KO Myung-Hun  <komh78@gmail.com>

	spawn: Use special invocation for <spawn.h> on OS/2 kLIBC.
	* lib/spawn.in.h: Use special invocation to include <spawn.h> properly
	on OS/2 kLIBC.

2021-01-18  Bruno Haible  <bruno@clisp.org>

	noreturn tests: Avoid test failure on Solaris 10/x86 with cc.
	* tests/test-noreturn.c (main): Return 0.

2021-01-18  Bruno Haible  <bruno@clisp.org>

	uninorm tests: Fix compilation error on Cygwin.
	* tests/uninorm/test-nfc.c (n): Don't define when using a preinstalled
	libunistring on Windows.
	* tests/uninorm/test-nfd.c (n): Likewise.
	* tests/uninorm/test-nfkc.c (n): Likewise.
	* tests/uninorm/test-nfkd.c (n): Likewise.

2021-01-17  Bruno Haible  <bruno@clisp.org>

	immutable: Implement on native Windows.
	* lib/immutable.h (IMMUTABLE_EFFECTIVE): Set to 1 on native Windows.
	* lib/immutable.c: Include <windows.h>.
	(CreateFileMapping): New macro.
	(init_pagesize, init_mmap_file, alloc_pages, free_pages): Add
	implementation for native Windows.

2021-01-17  Bruno Haible  <bruno@clisp.org>

	canonicalize-lgpl tests: Fix link error.
	* modules/canonicalize-lgpl-tests (Makefile.am): Link
	test-canonicalize-lgpl with $(LIBINTL).

2021-01-17  Bruno Haible  <bruno@clisp.org>

	canonicalize-lgpl: Work around // handling in realpath() of musl 1.2.2.
	Reported by Natanael Copa <ncopa@alpinelinux.org> in
	<https://lists.gnu.org/archive/html/bug-gettext/2021-01/msg00021.html>.
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add a test whether // is
	the same as /, on Linux only.
	* lib/canonicalize-lgpl.c: Correct indentation of preprocessor
	directives.
	* doc/posix-functions/realpath.texi: Mention the musl 1.2.2 bug.

2021-01-17  Bruno Haible  <bruno@clisp.org>

	canonicalize[-lgpl] tests: Add more tests.
	* tests/test-canonicalize.c (main): Add detailed tests for // handling.
	* tests/test-canonicalize-lgpl.c (main): Likewise.

2021-01-17  Bruno Haible  <bruno@clisp.org>

	argp tests: Avoid test failures on Alpine Linux.
	* tests/test-argp-2.sh: Use the test framework (init.sh). Use the
	'compare' function instead of 'diff -c'.
	* tests/test-argp-version-etc-1.sh: Likewise.

2021-01-17  Bruno Haible  <bruno@clisp.org>

	get-rusage-data tests: Avoid test failure on musl libc.
	* modules/get-rusage-data-tests (Files): Add m4/musl.m4.
	(configure.ac): Invoke gl_MUSL_LIBC.
	* tests/test-get-rusage-data.c (main): Treat musl libc like glibc.

2021-01-17  Bruno Haible  <bruno@clisp.org>

	immutable, get-rusage-data: Fix autoconf warning.
	* m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Define through AC_DEFUN_ONCE.

2021-01-16  Bruno Haible  <bruno@clisp.org>

	vma-iter: Port to 64-bit Haiku.
	* lib/vma-iter.c (vma_iterate): Adapt to changed signature of
	get_next_area_info.

2021-01-15  Bruno Haible  <bruno@clisp.org>

	doc: Update doc about realpath.
	* doc/posix-functions/realpath.texi: Update info about macOS.

2021-01-13  Paul Eggert  <eggert@cs.ucla.edu>

	verify: simplify static_assert configuration
	* lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1):
	Do not define for C++.  This should be good enough nowadays,
	since recent-enough C++ compilers have static_assert.
	(_GL_HAVE_STATIC_ASSERT_CXX11, _GL_HAVE_STATIC_ASSERT_CXX17):
	Remove.  All uses replaced by simply checking __cpp_static_assert.

2021-01-13  Simon Josefsson  <simon@josefsson.org>

	lib-msvc-compat: Update libtool usage recommendation.
	* doc/ld-output-def.texi (Visual Studio Compatibility): Install
	.def files into libdir, not bindir.  Have libfoo-*.def file depend
	on libfoo.la to fix parallell builds.

2021-01-12  Bruno Haible  <bruno@clisp.org>

	verify: Use C++11 static_assert when available.
	Reported by Alexandre Duret-Lutz <adl@lrde.epita.fr> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00177.html>.
	* lib/verify.h (_GL_HAVE_STATIC_ASSERT_CXX11): New macro.
	(_GL_HAVE_STATIC_ASSERT_CXX17): Renamed from _GL_HAVE_STATIC_ASSERT1.
	(_GL_VERIFY): Use static_assert when available with C++11 syntax.

2021-01-11  Paul Eggert  <eggert@cs.ucla.edu>

	tempname: consume less entropy
	Derived from a glibc patch proposed by Adhemerval Zanella in:
	https://sourceware.org/pipermail/libc-alpha/2021-January/121302.html
	* lib/tempname.c: Include stdbool.h.
	(random_bits): New arg use_getrandom.
	(try_tempname_len): Skip getrandom on the first try,
	unless __GT_NOCREATE.
	* modules/tempname (Depends-on): Add stdbool.

2021-01-10  Bruno Haible  <bruno@clisp.org>

	lchmod-tests: Fix link error.
	* modules/lchmod-tests (Makefile.am): Don't assume that LIBINTL is set.

2021-01-10  Simon Josefsson  <simon@josefsson.org>

	Correct preceeding change.
	* top/gitsub.sh: Update link.

2021-01-09  Bruno Haible  <bruno@clisp.org>

	immutable: Add tests.
	* tests/test-immutable.sh: New file.
	* tests/test-immutable.c: New file.
	* modules/immutable-tests: New file.

	immutable: New module.
	* lib/immutable.h: New file.
	* lib/immutable.c: New file.
	* m4/immutable.m4: New file.
	* m4/mprotect.m4: New file, based on libffcall/m4/codeexec.m4.
	* modules/immutable: New file.

2021-01-10  Simon Josefsson  <simon@josefsson.org>

	Use https:// instead of git://.
	* build-aux/bootstrap (default_gnulib_url): Ditto.
	* config/srclistvars.sh: Ditto.
	* doc/gnulib-readme.texi (Git Checkout): Ditto.
	* doc/gnulib-tool.texi (VCS Issues): Ditto.
	* top/gitsub.sh: Update link.

2021-01-09  Paul Eggert  <eggert@cs.ucla.edu>

	snippet/_Noreturn: port to pedantic clang
	Problem reported by Joe Nelson in:
	https://lists.gnu.org/r/bug-gnulib/2021-01/msg00152.html
	* doc/noreturn.texi: Improve.
	* lib/_Noreturn.h (_Noreturn):
	* m4/gnulib-common.m4 (gl_COMMON_BODY):
	Do not assume _Noreturn works as-is when __STRICT_ANSI__ is
	defined, unless __STDC_VERSION__ indicates C11 or later.
	* lib/_Noreturn.h (_Noreturn): Fall back on __attribute__
	((__noreturn__)) if Clang; this merges the
	2020-08-10T23:53:13Zbruno@clisp.org patch to m4/gnulib-common.m4.

2021-01-09  Darshit Shah  <darnir@gnu.org>

	Allow setting CVS username for gnu-web-doc-update.
	* build-aux/gnu-web-doc-update: Introduce new option --user to set the
	name of the user on Savannah, when it doesn't match $USER.

2021-01-09  Bruno Haible  <bruno@clisp.org>

	exp* tests: Work around clang 6.0.1 optimization bugs on x86.
	* tests/test-exp-ieee.h (test_function): Mark some variable as
	'volatile'.
	* tests/test-exp2-ieee.h (test_function): Likewise.

2021-01-09  Bruno Haible  <bruno@clisp.org>

	fchmodat: Work around trailing slash bug in fchmodat() on AIX 7.2.
	* m4/fchmodat.m4 (gl_FUNC_FCHMODAT): In the test whether fchmodat works,
	also test for the trailing slashes behaviour. Define
	HAVE_NEARLY_WORKING_FCHMODAT if this is the only missing feature.
	* lib/fchmodat.c (fchmodat): If HAVE_NEARLY_WORKING_FCHMODAT, handle
	trailing slashes here.
	* modules/fchmodat (Depends-on): Sort by condition, not alphabetically.
	* doc/posix-functions/fchmodat.texi: Document the AIX bug.

2021-01-09  Bruno Haible  <bruno@clisp.org>

	fchmod-tests, fchmodat tests, lchmod tests: Add more tests.
	* tests/test-fchmod.c: Include <fcntl.h>.
	(BASE): New macro.
	(main): Add more tests.
	* tests/test-fchmodat.c (main): Add more tests.
	* tests/test-lchmod.c (main): Likewise.

2021-01-09  Bruno Haible  <bruno@clisp.org>

	utimensat: Fix typo in last commit.
	* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Fix typo in macro explanation.

2021-01-09  Bruno Haible  <bruno@clisp.org>

	truncate: Document last workaround.
	* doc/posix-functions/truncate.texi: Document the AIX bug.

2021-01-08  Paul Eggert  <eggert@cs.ucla.edu>

	dynarray: work even if ‘free’ is replaced
	Problem reported by Darshit Shah in:
	https://lists.gnu.org/r/bug-gnulib/2021-01/msg00140.html
	* lib/malloc/dynarray-skeleton.c (DYNARRAY_FREE): New macro.
	Use it everywhere instead of DYNARRAY_NAME (free).

	tempname: don’t block for minutes
	Derived from a patch proposed by Adhemerval Zanella in:
	https://sourceware.org/pipermail/libc-alpha/2021-January/121302.html
	* lib/tempname.c (random_bits): Use GRND_NONBLOCK.

	tempname: sync with proposed glibc patch
	This is from Adhemerval Zanella in:
	https://sourceware.org/pipermail/libc-alpha/2021-January/121301.html
	* lib/tempname.c (__lxstat64): Remove.
	(__lstat64, __stat64): New replacement macros.  All uses changed.

	regex: stop using alloca
	* lib/regex_internal.h: Do not include <alloca.h> or define
	__libc_use_alloca or alloca.  Patch written by Adhemerval Zanella:
	https://sourceware.org/pipermail/libc-alpha/2021-January/121374.html
	* modules/regex (Depends-on): Remove alloca-opt.

	regexec: remove alloca usage in build_trtable
	Prompted by this different change proposed by Adhemerval Zanella:
	https://sourceware.org/pipermail/libc-alpha/2021-January/121373.html
	* lib/regexec.c (build_trtable): Prevent inlining,
	so that it doesn’t bloat the caller’s stack.
	Use auto variables instead of alloca/malloc.
	After these changes, build_trtable’s total stack allocation is
	only 20 KiB on a 64-bit machine, and this is less than glibc’s 64
	KiB cutoff so there’s little point to using alloca to shrink it.
	Although Gnulib traditionally has used a 4 KiB cutoff, going to 20
	KiB here should not be a significant problem in practice;
	Gnulib-using packages concerned about overflow of tiny stacks can
	compile with something like gcc -fstack-clash-protection.

	scratch_buffer: add scratch_buffer_dupfree macro
	* lib/scratch_buffer.h (__libc_scratch_buffer_dupfree):
	New macro, needed to support recent changes in this module.

	regex: remove alloca usage on regex set_regs
	Derived from this patch by Adhemerval Zanella:
	https://sourceware.org/pipermail/libc-alpha/2021-January/121372.html
	* lib/regex_internal.h: Include dynarray.h, for Gnulib.
	* lib/regexec.c (DYNARRAY_STRUCT, DYNARRAY_ELEMENT)
	(DYNARRAY_PREFIX): New macros.
	Include malloc/dynarray-skeleton.c.
	(set_regs): Use dynarray rather than alloca.
	* modules/regex (Depends-on): Add dynarray.

	dynarray: new module
	* config/srclist.txt: Mention the new files.
	* lib/cdefs.h (__attribute_maybe_unused__): New macro,
	like Gnulib’s _GL_ATTRIBUTE_MAYBE_UNUSED but with glibc
	naming conventions.
	* lib/libc-config.h: Use it instead of __glibc_likely.
	* lib/dynarray.h, modules/dynarray: New files.
	* lib/malloc/dynarray-skeleton.c, lib/malloc/dynarray.h:
	* lib/malloc/dynarray_at_failure.c:
	* lib/malloc/dynarray_emplace_enlarge.c:
	* lib/malloc/dynarray_finalize.c, lib/malloc/dynarray_resize.c:
	* lib/malloc/dynarray_resize_clear.c, modules/dynarray:
	New files, from glibc with the following changes needed for
	portability to compilers that are not recent-enough GCC.
	* lib/malloc/dynarray_at_failure.c: Include stdlib.h, for abort.
	(__libc_dynarray_at_failure) [!_LIBC]: Simply abort.
	* lib/malloc/dynarray_emplace_enlarge.c:
	* lib/malloc/dynarray_resize.c:
	Include intprops.h, and use INT_MULTIPLY_WRAPV instead
	of __builtin_mul_overflow.
	* lib/malloc/dynarray.h (__libc_dynarray_at_failure):
	Use _Noreturn instead of __attribute__ ((noreturn)).
	* lib/malloc/dynarray_resize_clear.c: Do not include stdlib.h;
	it’s not needed.
	(__libc_dynarray_resize_clear): Do not do arithmetic on void *.
	* lib/malloc/dynarray-skeleton.c (struct DYNARRAY_STRUCT):
	Do not use anonymous unions, as they are not in C99. All uses changed.
	Use __nonnull (X) instead of __attribute__ ((nonnull X)),
	and __attribute_maybe_unused__ instead of __attribute__ ((unused)).

2021-01-06  Simon Josefsson  <simon@josefsson.org>

	bootstrap: Fix parsing of package name.
	* build-aux/bootstrap (package): Attempt to use autoconf --trace
	to parse AC_INIT before falling back to sed expression.

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

	localename: Fix link error with duplocale on AIX 7.2 (regr. 2019-12-18).
	* m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
	LOCALENAME_ENHANCE_LOCALE_FUNCS.
	* m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE):
	Set gt_working_uselocale.
	(gt_INTL_THREAD_LOCALE_NAME): Set gt_fake_locales, gt_good_uselocale,
	gt_localename_enhances_locale_funcs, LOCALENAME_ENHANCE_LOCALE_FUNCS.
	Define HAVE_GOOD_USELOCALE, LOCALENAME_ENHANCE_LOCALE_FUNCS.
	* m4/localename.m4 (gl_LOCALENAME): Test
	gt_localename_enhances_locale_funcs instead of gt_nameless_locales.
	* modules/locale (Makefile.am): Substitute
	LOCALENAME_ENHANCE_LOCALE_FUNCS.
	* lib/locale.in.h (newlocale, duplocale, freelocale): Don't override if
	module 'localename' is in use but LOCALENAME_ENHANCE_LOCALE_FUNCS is 0.
	* lib/localename.c (HAVE_GOOD_USELOCALE): Don't define here.
	(get_locale_t_name, newlocale, duplocale, freelocale): Define if
	LOCALENAME_ENHANCE_LOCALE_FUNCS.

2021-01-06  Bruno Haible  <bruno@clisp.org>

	logb: Fix test failure on glibc/powerpc.
	* doc/posix-functions/logb.texi: Update platform info.
	* m4/logb.m4 (gl_FUNC_LOGB_WORKS): Test against bug with negative
	subnormal numbers.

2021-01-06  Paul Eggert  <eggert@cs.ucla.edu>

	libc-config: simplify clang __has_* macros
	cdefs.h sometimes used names like __glibc_clang_has_attribute and
	sometimes __glibc_has_attribute.  There is no need in glibc or
	Gnulib to distinguish clang from other compilers here, so be
	consistent and use the simpler names.
	* lib/cdefs.h (__glibc_has_builtin, __glibc_has_extension):
	Rename from __glibc_clang_has_builtin, __glibc_clang_has_extension.
	All uses changed.
	(__glibc_clang_has_attribute): Remove. All uses replaced
	by __glibc_has_attribute.
	* lib/libc-config.h [!__glibc_likely]: Undef them here too.
	This fixes a problem where __glibc_has_attribute was not undeffed.

2021-01-06  Bruno Haible  <bruno@clisp.org>

	flock: Update documentation.
	* doc/glibc-functions/flock.texi: Document what to expect on AIX and
	Solaris.

2021-01-06  Bruno Haible  <bruno@clisp.org>

	ilogbl: Fix compilation error with xlclang on AIX 7.2.
	* lib/math.in.h (ilogbl): Undefine macro before declaration.

2021-01-06  Bruno Haible  <bruno@clisp.org>

	ilogbl: Fix test failures on AIX 7.1 in 64-bit mode.
	* m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test also some denormalized
	argument.
	* doc/posix-functions/ilogbl.texi: Mention the AIX bug.

2021-01-06  Bruno Haible  <bruno@clisp.org>

	ilogb: Fix test failures on AIX 7.1 in 64-bit mode.
	* m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Test also some denormalized
	argument.
	* doc/posix-functions/ilogb.texi: Mention the AIX bug.

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

	fclose: Fix test failure on AIX 7.2.
	* m4/fclose.m4 (gl_FUNC_FCLOSE_STDIN): New macro.
	(gl_FUNC_FCLOSE): Invoke it. Set REPLACE_FCLOSE accordingly.
	* doc/posix-functions/fclose.texi: Update platform information.
	* doc/posix-functions/fflush.texi: Likewise.

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

	pipe-filter-gi: Fix test failure on AIX 7.2.
	* lib/pipe-filter-aux.h (SSIZE_MAX) [AIX]: Set to 4096.

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

	utimens, utimensat, fdutimensat: Avoid test failures on AIX 7.2.
	* lib/utimecmp.c (utimecmpat): On AIX, declare equality when the two
	times differ by less than 0.01 seconds.
	* tests/test-futimens.h (test_futimens): Pass UTIMECMP_TRUNCATE_SOURCE
	flag.

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

	utimensat: Work around trailing slash bug in utimensat() on AIX 7.2.
	* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Require AC_CANONICAL_HOST. Add a
	test for trailing slash handling. Improve cross-compilation guesses.
	Conditionally define HAVE_NEARLY_WORKING_UTIMENSAT.
	* lib/utimensat.c (rpl_utimensat): Add alternative implementation when
	HAVE_NEARLY_WORKING_UTIMENSAT is defined.
	* lib/utimens.c: Use the overridden utimensat when
	HAVE_NEARLY_WORKING_UTIMENSAT is defined.
	* doc/posix-functions/utimensat.texi: Mention the AIX bug.

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

	ptsname_r, ptsname: Avoid test failures on AIX 7.2.
	* tests/test-ptsname_r.c (main): On AIX, set a 20-seconds timer.
	* tests/test-ptsname.c (main): Likewise. On AIX, open a pty through
	/dev/ptc and don't test the BSD ptys.

2021-01-05  Paul Eggert  <eggert@cs.ucla.edu>

	libc-config: merge from glibc
	Use a better way of keeping glibc <sys/cdefs.h> and gnulib
	lib/cdefs.h mostly in sync, by using lib/cdefs.h only on platforms
	where <sys/cdefs.h> does not work well enough for Gnulib.
	* lib/cdefs.h: Go back to using _SYS_CDEFS_H rather than
	_GL_DEFS_H as an include guard.
	(__THROW, __THROWNL, __NTH, __NTHNL):
	Define to noexcept for C++11 and later.
	(__glibc_objsize, __glibc_objsize0): New, for _FORTIFY_SOURCE=3.
	(__warndecl): Remove.
	(__attribute_copy__): New macro, for GCC 9 support.
	(__LDBL_REDIR, __LDBL_REDIR_DECL, __LDBL_REDIR1)
	(__LDBL_REDIR1_DECL, __LDBL_REDIR1_NTH, __REDIRECT_NTH_LDBL)
	(__REDIRECT_LDBL, __LDBL_REDIR_NTH):
	Redirections for IEEE long double on powerpc64le.
	(__LDBL_REDIR2_DECL): New macro.
	(__attr_access): New macro, for GCC 10 bounds checking.
	(__attribute_returns_twice__): New macro, for setjmp etc.
	* lib/libc-config.h: Include <cdefs.h> only if __glibc_likely is
	undefined.  The following changes apply only if __glibc_likely
	is not defined.
	(__LDBL_REDIR2_DECL, __attr_access, __attribute_returns_twice__)
	(__glibc_clang_has_attribute, __glibc_clang_has_extension)
	(__glibc_objsize, __glibc_objsize0):
	Undef these new (or newer) <cdefs.h> macros.
	(__P, __PMT, __always_inline): Do not undef, since cdefs.h does that.
	(__glibc_likely): Do not undef, since this is inside
	ifndef __glibc_likely.
	(__warndecl): Do not undef; no longer defined.

2021-01-05  Jim Meyering  <meyering@fb.com>

	maintainer-makefile: correct preceding change
	* top/maint.mk (syntax-check-rules): Use LC_ALL=C, not LANG=C.

2021-01-05  Paul Eggert  <eggert@cs.ucla.edu>

	maint: note syncs to glibc
	* config/srclist.txt: filename.h, idx.h, scratch_buffer.h and
	scratch_buffer_dupfree.c are now identical to glibc.  Add
	commentary about some other syncs we’d like.
	* modules/filename, modules/idx (Maintainer): Add glibc.

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

	truncate: Work around trailing slash bug in truncate() on AIX 7.2.
	* m4/truncate.m4 (gl_FUNC_TRUNCATE): Add a test whether truncate
	rejects trailing slashes. Set REPLACE_TRUNCATE and define
	TRUNCATE_TRAILING_SLASH_BUG if not.
	* lib/truncate.c (orig_truncate): New function.
	(truncate): Add alternative implementation when
	TRUNCATE_TRAILING_SLASH_BUG is defined.
	* modules/truncate (Depends-on): Add sys_stat, stat.

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

	mkfifoat: Fix cross-compilation guess (regression from 2021-01-04).
	* m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Fix copy-and-paste mistake.

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

	ffsll: Override completely broken implementation on AIX in 32-bit mode.
	* m4/ffsll.m4 (gl_FUNC_FFSLL): Test whether ffsll minimally works. If
	not, set REPLACE_FFSLL.
	* lib/string.in.h (ffsll): Consider REPLACE_FFSLL.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
	REPLACE_FFSLL.
	* modules/string (Makefile.am): Substitute REPLACE_FFSLL.
	* modules/ffsll (Depends-on, configure.ac): Consider REPLACE_FFSLL.
	* doc/glibc-functions/ffsll.texi: Mention the AIX 7.2 bug.

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

	symlinkat: Fix trailing slash handling.
	* lib/symlinkat.c (rpl_symlinkat): Don't follow symlinks during the
	trailing slash handling.
	* modules/symlinkat (Depends-on): Update conditions.

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

	mkfifoat: Update module description.
	* modules/mkfifoat (Depends-on): Update conditions after last commits.

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

	link: Improve trailing slash handling on native Windows.
	* lib/link.c (link): If stat() fails, provide a better errno.

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

	mkfifoat: Work around trailing slash bug in mknodat() on AIX 7.2.
	* m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Set also REPLACE_MKNODAT.
	* lib/sys_stat.in.h (mknodat): Consider REPLACE_MKNODAT.
	* lib/mknodat.c: Add an overriding implementation of mknodat().
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize REPLACE_MKNODAT.
	* modules/sys_stat (Makefile.am): Substitute REPLACE_MKNODAT.
	* modules/mkfifoat (Depends-on, configure.ac): Consider REPLACE_MKNODAT.
	* doc/posix-functions/mknodat.texi: Mention the AIX bug.

	mkfifoat: Work around trailing slash bug in mkfifoat() on AIX 7.2.
	* m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Add a test whether mkfifoat rejects
	trailing slashes. Set REPLACE_MKFIFOAT if not.
	* lib/sys_stat.in.h (mkfifoat): Consider REPLACE_MKFIFOAT.
	* lib/mkfifoat.c: Add an overriding implementation of mkfifoat().
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
	REPLACE_MKFIFOAT.
	* modules/sys_stat (Makefile.am): Substitute REPLACE_MKFIFOAT.
	* modules/mkfifoat (Depends-on): Add fstatat.
	(configure.ac): Consider REPLACE_MKFIFOAT.
	* doc/posix-functions/mkfifoat.texi: Mention the AIX bug.

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

	libc-config: Avoid overriding the headers from an installed newer glibc.
	Reported by Paul E Murphy <murphyp@linux.ibm.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00106.html>.
	* lib/cdefs.h: Use a different include guard than glibc's <sys/cdefs.h>.
	* lib/libc-config.h: Update accordingly.

2021-01-04  Simon Josefsson  <simon@josefsson.org>

	maintainer-makefile: Invoke syntax-checks regardless of locale.
	* top/maint.mk (syntax-check-rules): Invoke sed with LANG=C
	environment because [a-z] may not include 'w' in all locales.

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

	nstrftime, time_rz: Avoid using an obsolete Autoconf macro.
	Reported by Mike Gran <spk121@yahoo.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00067.html>.
	* lib/time-internal.h: Test HAVE_STRUCT_TM_TM_ZONE, not HAVE_TM_ZONE.
	* lib/time_rz.c: Likewise.
	* lib/nstrftime.c: Set and test HAVE_STRUCT_TM_TM_ZONE, not
	HAVE_TM_ZONE.
	* m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Update comments.

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

	expm1f-ieee: Work around AIX 7.2 bug.
	* m4/expm1f.m4 (gl_FUNC_EXPM1F): Initialize gl_expm1f_required. If
	module 'expm1f-ieee' is in use, check whether expm1f works according to
	IEEE.
	* m4/expm1f-ieee.m4: New file.
	* modules/expm1f-ieee (Files): Add it.
	(Depends-on): Update conditions.
	(configure.ac): Invoke gl_FUNC_EXPM1F_IEEE.
	* doc/posix-functions/expm1f.texi: Mention the AIX bug.

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

	ffsl, ffsll: Work around AIX 7.2 problem.
	* lib/string.in.h: On AIX, include <strings.h> for the declarations of
	ffsl and ffsll.
	* doc/glibc-functions/ffsl.texi: Document the AIX 7.2 problem.
	* doc/glibc-functions/ffsll.texi: Likewise.

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

	ssfmalloc: Fix includes.
	* lib/ssfmalloc.h: Include <strings.h>, for ffs().
	* tests/test-ssfmalloc.c: Include <string.h>, for memset().

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

	quotearg tests: Avoid test failures on Solaris 11.3.
	* tests/test-quotearg.sh: Copy the fr/ directory using 'cp -R', not
	'cp -a'.

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

	tests: Fix link errors on Solaris, when libunistring-optional is in use.
	* modules/wcwidth (Link): New section.
	* modules/wcswidth (Link): New section.
	* modules/mbchar (Link): New section.
	* modules/mbfile (Link): Link against libunistring.
	* modules/mbiter (Link): Likewise.
	* modules/mbuiter (Link): Likewise.
	* modules/mbmemcasecmp (Link): Likewise.
	* modules/mbscasecmp (Link): Likewise.
	* modules/mbscasestr (Link): Likewise.
	* modules/mbschr (Link): Likewise.
	* modules/mbscspn (Link): Likewise.
	* modules/mbslen (Link): Likewise.
	* modules/mbsncasecmp (Link): Likewise.
	* modules/mbsnlen (Link): Likewise.
	* modules/mbspbrk (Link): Likewise.
	* modules/mbspcasecmp (Link): Likewise.
	* modules/mbsrchr (Link): Likewise.
	* modules/mbssep (Link): Likewise.
	* modules/mbsspn (Link): Likewise.
	* modules/mbsstr (Link): Likewise.
	* modules/mbstok_r (Link): Likewise.
	* modules/mbswidth (Link): Likewise.
	* modules/exclude (Link): Likewise.
	* modules/propername (Link): Likewise.
	* modules/regex-quote (Link): Likewise.
	* modules/trim (Link): Likewise.
	* modules/mbmemcasecmp-tests (Makefile.am): Link the test program
	against libunistring.
	* modules/mbscasecmp-tests (Makefile.am): Likewise.
	* modules/mbscasestr-tests (Makefile.am): Likewise.
	* modules/mbschr-tests (Makefile.am): Likewise.
	* modules/mbscspn-tests (Makefile.am): Likewise.
	* modules/mbsncasecmp-tests (Makefile.am): Likewise.
	* modules/mbspbrk-tests (Makefile.am): Likewise.
	* modules/mbspcasecmp-tests (Makefile.am): Likewise.
	* modules/mbsrchr-tests (Makefile.am): Likewise.
	* modules/mbsspn-tests (Makefile.am): Likewise.
	* modules/mbsstr-tests (Makefile.am): Likewise.
	* modules/exclude-tests (Makefile.am): Likewise.
	* modules/regex-quote-tests (Makefile.am): Likewise.

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

	c32ispunct tests: Avoid test failures on FreeBSD.
	* tests/test-c32ispunct.c (main): On FreeBSD, disable tests that fail on
	FreeBSD 12.1.1.

2021-01-04  Simon Josefsson  <simon@josefsson.org>

	doc: Repeat warning that --with-tests cannot be used twice.
	* doc/gnulib-tool.texi (Multiple instances): Remind reader of
	--with-tests limitation.

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

	iconv, iconv_open: Improve documentation.
	Reported by Noah Misch <noah@leadboat.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00172.html>.
	* doc/posix-functions/iconv_open.texi: Add new paragraph "Portability
	problems handled by Gnulib".
	* doc/posix-functions/iconv.texi: Likewise. Update info about AIX.
	* m4/iconv.m4 (AM_ICONV_LINK): Improve comments.

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

	iconv-h: Fix module description.
	* modules/iconv-h (Include): Check HAVE_ICONV_H.

2021-01-03  Noah Misch  <noah@leadboat.com>

	iconv_open: Fix module description.
	* modules/iconv_open (Include): Check HAVE_ICONV, like modules/iconv.

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

	stddef: Override wrong max_align_t on AIX 7 with xlc in 64-bit mode.
	* m4/stddef_h.m4 (gl_STDDEF_H): Make check for good max_align_t
	stricter: Add tests for offsetof-based alignof.
	* lib/stddef.in.h (max_align_t): Override on AIX in 64-bit mode.
	* doc/posix-headers/stddef.texi: Document the AIX max_align_t bug.

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

	free-posix: Work around GCC mis-optimization bug.
	Code by Bernhard Voelker <mail@bernhard-voelker.de>.
	* lib/free.c (rpl_free): Add alternative complicated code for GCC.

2021-01-02  Bruno Haible  <bruno@clisp.org>

	valgrind-tests: Disable valgrind if it would cause all tests to fail.
	Suggested by Simon Josefsson <simon@josefsson.org> in
	<https://lists.gnu.org/archive/html/help-gsasl/2021-01/msg00004.html>.
	* m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Test $VALGRIND on an
	executable produced by the current compiler. Set VALGRIND to empty if it
	does not work. Don't set VALGRIND to empty if it merely does not accept
	the --error-exitcode=1 --leak-check=full options.

2021-01-02  Bruno Haible  <bruno@clisp.org>

	valgrind-tests: Really enable the valgrind options test.
	* m4/valgrind-tests.m4 (gl_VALGRIND_TESTS): Don't assume that the
	valgrind options --error-exitcode=1 --leak-check=full always work.

2021-01-02  Bruno Haible  <bruno@clisp.org>

	utimensat: Fix test failures on macOS 10.13.
	* lib/utimensat.c: Include <string.h>, <sys/stat.h>.
	(rpl_utimensat): Check against invalid tv_nsec values. Before calling
	utimensat, recognize a filename ending in a slash that does not point
	to a directory.

2021-01-02  Bruno Haible  <bruno@clisp.org>

	utimens: Fix test failure on macOS 10.13.
	* lib/utimens.c: Include <string.h>.

	utimens: Fix test failure on macOS 10.13.
	* lib/utimens.c (fdutimens): Before calling utimensat, recognize a
	filename ending in a slash that does not point to a directory.

2021-01-02  Bruno Haible  <bruno@clisp.org>

	utimens: Avoid test failures on macOS 10.13.
	Reported by Martin Storsjö <martin@martin.st> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
	* tests/test-utimens-common.h (check_ctime): Define to -1 on macOS.
	* tests/test-utimens.h (test_utimens): Don't expect a ctime change when
	only the atime is requested to change.
	* tests/test-futimens.h (test_futimens): Likewise.
	* tests/test-lutimens.h (test_lutimens): Likewise.

2021-01-02  Bruno Haible  <bruno@clisp.org>

	renameatu: Fix test failures on macOS.
	Reported by Martin Storsjö <martin@martin.st> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
	* lib/renameatu.c (renameatu): Don't call renameatx_np right away.
	Instead, treat it as a variant of renameat, with all possible bugs that
	renameat might have.

2021-01-02  Bruno Haible  <bruno@clisp.org>

	getgroups test: Avoid warning with glibc >= 2.32 and gcc >= 10.
	Reported by Bernhard Voelker <mail@bernhard-voelker.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00090.html>.
	* tests/test-getgroups.c: Silence gcc warnings of type
	-Wstringop-overflow.

2021-01-02  Bruno Haible  <bruno@clisp.org>

	timespec_get: Add tests.
	* tests/test-timespec_get.c: New file.
	* modules/timespec_get-tests: New file.

	timespec_get: New module.
	* lib/time.in.h (timespec_get): New declaration.
	* lib/timespec_get.c: New file.
	* m4/timespec_get.m4: New file.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
	GNULIB_TIMESPEC_GET, HAVE_TIMESPEC_GET.
	* modules/time (Makefile.am): Substitute GNULIB_TIMESPEC_GET,
	HAVE_TIMESPEC_GET.
	* modules/timespec_get: New file.
	* tests/test-time-c++.cc (timespec_get): Check signature.
	* doc/glibc-functions/timespec_get.texi: Mention the new module.

2021-01-01  Bruno Haible  <bruno@clisp.org>

	time: Define TIME_UTC.
	* lib/time.in.h (TIME_UTC, GNULIB_defined_TIME_UTC): New macros.
	* m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Set TIME_H_DEFINES_TIME_UTC.
	* modules/time (Makefile.am): Substitute TIME_H_DEFINES_TIME_UTC.
	* tests/test-time.c: Check that TIME_UTC is defined and a positive
	integer.
	* doc/posix-headers/time.texi: Mention TIME_UTC.

2021-01-01  Bruno Haible  <bruno@clisp.org>

	stddef: Try harder to get max_align_t defined on OpenBSD, part 2.
	* modules/stddef (Depends-on): Add extensions.

2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	canonicalize: remove NARROW_ADDRESSES optimization
	* lib/canonicalize-lgpl.c, lib/canonicalize.c (NARROW_ADDRESSES):
	Remove, and remove all uses, as the optimization is arguably not
	worth the extra complexity.  Suggested by Adhemerval Zanella in:
	https://sourceware.org/pipermail/libc-alpha/2020-December/121203.html

2021-01-01  Bruno Haible  <bruno@clisp.org>

	stddef: Try harder to get max_align_t defined on OpenBSD.
	* m4/stddef_h.m4 (gl_STDDEF_H): Require gl_USE_SYSTEM_EXTENSIONS.

2021-01-01  Bruno Haible  <bruno@clisp.org>

	aligned_alloc: Fix test failure on OpenBSD 6.8.
	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): On OpenBSD, define
	_ISOC11_SOURCE.
	* m4/aligned_alloc.m4 (gl_FUNC_ALIGNED_ALLOC): Require it. Update
	comment.

2021-01-01  Bruno Haible  <bruno@clisp.org>

	posixtm tests: Disable part of the test on plaforms where it fails.
	* tests/test-posixtm.c (T): Disable two tests on macOS as well.

2021-01-01  Bruno Haible  <bruno@clisp.org>

	c32isgraph/c32isprint/c32ispunct tests: Avoid test failures on OmniOS.
	* tests/test-c32isgraph.c (main): On Solaris, disable tests that fail on
	Solaris 11 OmniOS.
	* tests/test-c32isprint.c (main): Likewise.
	* tests/test-c32ispunct.c (main): Likewise.

2021-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	libc-config: port to Sun C 5.9
	* lib/libc-config.h (libc_hidden_proto): Omit ", ..." in macro
	definition.  It’s not needed for Gnulib and elicits a diagnostic
	from Sun C 5.9 Patch 124867-12 2009/11/22.

2021-01-01  Bruno Haible  <bruno@clisp.org>

	quotearg tests: Avoid test failures on Solaris 11.
	* modules/quotearg-tests (Makefile.am): Set host_os in
	TESTS_ENVIRONMENT.
	* tests/test-quotearg.sh: On Solaris 11 systems, make a copy of the fr/
	directory that contains the .mo file.

2021-01-01  Bruno Haible  <bruno@clisp.org>

	maint: Update copyright notices in --version output.
	List the most recent year in which changes were made, per
	<https://www.gnu.org/prep/standards/html_node/_002d_002dversion.html>.
	* build-aux/declared.sh (func_version): Say 2019.
	* build-aux/libtool-next-version (func_version): Likewise.
	* build-aux/run-test (func_version): Likewise.
	* check-module (COPYRIGHT_NOTICE): Say 2012.
	* lib/git-merge-changelog.c (main): Say 2020.

2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	filename: change filename.h comment to LGPLv2.1+
	* lib/filename.h: Change license notice to match what should be in
	glibc, and what modules/filename specifies.  This is to simplify
	syncing with glibc.

	doc: mention year-0 bugs in Solaris etc.
	* doc/posix-functions/gmtime.texi, doc/posix-functions/gmtime_r.texi:
	* doc/posix-functions/localtime.texi:
	* doc/posix-functions/localtime_r.texi:
	* doc/posix-functions/mktime.texi:
	Mention year-0 bugs in localtime etc.

2020-12-31  Bruno Haible  <bruno@clisp.org>

	ptsname_r: Fix test failure on Solaris.
	* lib/ptsname_r.c (__ptsname_r) [__sun]: Don't test the major number of
	the device.

2020-12-31  Bruno Haible  <bruno@clisp.org>

	posixtm tests: Disable part of the test on plaforms where it fails.
	* tests/test-posixtm.c (T): Disable two tests on Solaris.

2020-12-31  Bruno Haible  <bruno@clisp.org>

	poll tests: Avoid test failure on AIX.
	* tests/test-poll.c (test_pipe): Disable the "expecting POLLHUP after
	shutdown" test on AIX.
	* doc/posix-functions/poll.texi: Mention the AIX bug.

2020-12-31  Bruno Haible  <bruno@clisp.org>

	poll tests: Avoid test failure on BSD and Solaris systems.
	* tests/test-poll.c (test_accept_first, test_socket_pair): Disable the
	"expecting POLLHUP after shutdown" test on all platforms except Linux.

2020-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	fnmatch: merge from glibc + proposal
	This merges the change proposed by Adhemerval Zanella in:
	https://sourceware.org/pipermail/libc-alpha/2020-December/121212.html
	which fixes a Gnulib bug that led to a failed assert.
	* lib/fnmatch_loop.c (EXT): Use signed level, not unsigned, and
	check that it stays nonnegative.  Use __flexarr instead of
	FLEXIBLE_ARRAY_MEMBER, to port better to glibc.
	* tests/test-fnmatch.c (main): New test cases, taken from glibc.

	glob: merge proposed glibc changes
	This merges the change proposed by Adhemerval Zanella in:
	https://sourceware.org/pipermail/libc-alpha/2020-December/121211.html
	* lib/glob.c (__lstat64, __stat64) [_LIBC]: Remove.

2020-12-31  Bruno Haible  <bruno@clisp.org>

	memalign: Work around Solaris bug.
	* lib/memalign.c: New file.
	* m4/memalign.m4: New file.
	* modules/memalign (Files): Add them.
	(Depends-on): Add malloc-h.
	(configure.ac): Invoke gl_FUNC_MEMALIGN. Conditionally compile
	memalign.c. Set module indicator.
	(Include): Include <malloc.h> unconditionally.
	* doc/glibc-functions/memalign.texi: Mention the Solaris issues.

	malloc-h: Add tests.
	* tests/test-malloc-h.c: New file.
	* modules/malloc-h-tests: New file.
	* tests/test-malloc-h-c++.cc: New file.
	* modules/malloc-h-c++-tests: New file.

	malloc-h: New module.
	* lib/malloc.in.h: New file.
	* m4/malloc_h.m4: New file.
	* modules/malloc-h: New file.
	* doc/glibc-headers/malloc.texi: New file.
	* doc/gnulib.texi (Glibc Header File Substitutes): Include it.

2020-12-31  Bruno Haible  <bruno@clisp.org>

	unistd: Fix portability warnings.
	* lib/unistd.in.h (fchownat, unlinkat): Fix module name in warning.

2020-12-31  Bruno Haible  <bruno@clisp.org>

	utime: Fix compilation error on macOS and Solaris 9 (regr. 2020-12-24).
	Reported by Tom G. Christensen <tgc@jupiterrise.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00295.html>.
	* lib/utime.c: Include <errno.h>.

2020-12-30  Karl Berry  <karl@freefriends.org>

	config: srclistvars doc.
	* config/srclistvars.sh: doc a couple of unusual source repo urls.

2020-12-30  Bruno Haible  <bruno@clisp.org>

	getlogin tests, getlogin_r tests: Avoid failure on Solaris OpenIndiana.
	* tests/test-getlogin.c (main): Don't fail if getlogin() returns NULL
	with no errno.
	* tests/test-getlogin_r.c (main): Don't fail if getlogin_r() returns
	EINVAL.

2020-12-29  Jim Meyering  <meyering@fb.com>

	regex-tests: tweak to avoid a clang-10 warning
	* tests/test-regex.c: Compare with explicit zero, rather than
	as boolean to avoid this from clang-10:
	test-regex.c:315:9: error: converting the result of '<<' to a \
	  boolean always evaluates to true \
	  [-Werror,-Wtautological-constant-compare]
	if (! REG_STARTEND)

	hash: add casts-to-float to avoid clang-10 warnings
	* lib/hash.c (compute_bucket_size): Cast SIZE_MAX to float
	to avoid this warning from clang-10 (for use in grep):
	  hash.c:501:11: error: implicit conversion from 'unsigned long' \
	    to 'float' changes value from 18446744073709551615 to \
	    18446744073709551616 [-Werror,-Wimplicit-int-float-conversion]
	  if (SIZE_MAX <= new_candidate)
	(hash_insert_if_absent): Likewise.

2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>

	canonicalize: fix size overflow treatment
	This also has some minor cleanups.
	* lib/canonicalize-lgpl.c, lib/canonicalize.c: No need to include
	stddef.h, since the code no longer refers directly to ptrdiff_t.
	* lib/canonicalize-lgpl.c (realpath_stk):
	* lib/canonicalize.c (canonicalize_filename_mode_stk):
	Treat size overflow like other out-of-memory.
	* lib/canonicalize.c: No need to include stdlib.h, since
	the code no longer refers to stdlib.h functions (other
	than those that canonicalize.h must declare).
	* lib/canonicalize.c (canonicalize_filename_mode_stk):
	Do not bother terminating the string result on error.

2020-12-29  Bruno Haible  <bruno@clisp.org>

	list-c++, [o]map-c++, [o]set-c++: Fix conflict with 'free-posix' module.
	* lib/gl_list.hh: Include <stdlib.h>.
	* lib/gl_map.hh: Likewise.
	* lib/gl_omap.hh: Likewise.
	* lib/gl_set.hh: Likewise.
	* lib/gl_oset.hh: Likewise.

2020-12-29  Paul Eggert  <eggert@cs.ucla.edu>

	canonicalize: fix ptrdiff_t overflow bug
	Problem reported by Adhemerval Zanella in:
	https://sourceware.org/pipermail/libc-alpha/2020-December/121182.html
	* lib/canonicalize-lgpl.c, lib/canonicalize.c:
	Include intprops.h.
	(NARROW_ADDRESSES): New constant.
	* lib/canonicalize-lgpl.c (realpath_stk):m
	* lib/canonicalize.c (canonicalize_filename_mode_stk):
	Work even if strlen (END) does not fit in idx_t, or if adding
	N to it overflows.
	* modules/canonicalize, modules/canonicalize-lgpl (Depends-on):
	Add intprops.

2020-12-28  Bruno Haible  <bruno@clisp.org>

	havelib: Fix for Solaris 11 OpenIndiana and Solaris 11 OmniOS.
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): In
	acl_is_expected_elfclass, use 'expr', not 'test'.

2020-12-28  Bruno Haible  <bruno@clisp.org>

	ptsname_r: Fix a compiler warning on Solaris.
	* lib/ptsname_r.c (__ptsname_r): Reduce the scope of variable 'err'.

2020-12-28  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix logic whether to add a dummy.c.
	* gnulib-tool (func_remove_if_blocks): New function.
	(func_modules_add_dummy): Use it to eliminate all conditional statements
	from the automake snippet.

2020-12-28  Paul Eggert  <eggert@cs.ucla.edu>

	faccessat: revert recent EOVERFLOW change
	I misunderstood the glibc source code.  Deduced from
	Adhemerval Zanella’s proposed glibc patch in:
	https://sourceware.org/pipermail/libc-alpha/2020-December/121131.html
	* doc/posix-functions/faccessat.texi: It is not a problem.
	* lib/canonicalize-lgpl.c, lib/canonicalize.c, lib/faccessat.c:
	(FACCESSAT_NEVER_OVERFLOWS): Remove. All uses removed.
	* lib/faccessat.c: Revert to simpler version now that
	LSTAT_FOLLOWS_SLASHED_SYMLINK must be false.
	* m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW):
	Remove.  All uses removed.
	* modules/canonicalize, modules/canonicalize-lgpl (Files):
	Remove m4/faccessat.m4.

	canonicalize-lgpl: accommodate picky cpp
	* lib/canonicalize-lgpl.c: Use "defined FUNC_REALPATH_WORKS" in
	case preprocessor is picky.  Reported by Adhemerval Zanella in:
	https://sourceware.org/pipermail/libc-alpha/2020-December/121130.html

	canonicalize: simplify via scratch_buffer_dupfree
	* config/srclist.txt: Adjust accordingly.
	* lib/canonicalize-lgpl.c (realpath_stk):
	* lib/canonicalize.c (canonicalize_filename_mode_stk):
	Simplify by using scratch_buffer_dupfree.
	* lib/malloc/scratch_buffer.h (scratch_buffer_dupfree): New function.
	* lib/malloc/scratch_buffer_dupfree.c: New file.
	* modules/scratch_buffer (Files, Depends-on):
	Add malloc/scratch_buffer_dupfree.c.

2020-12-27  Paul Eggert  <eggert@cs.ucla.edu>

	regex: remove glibc21.m4
	It doesn’t seem to be needed any more; at least, I couldn’t
	reproduce the circa-2013 problem.  Perhaps the recent
	--conditional-dependencies fixes have removed the need for it.
	* m4/glibc21.m4: Remove.  All uses removed.

2020-12-26  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Make --conditional-dependencies work with --with-tests.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00236.html>.
	* gnulib-tool (func_emit_tests_Makefile_am): Handle conditional
	dependencies like func_emit_lib_Makefile_am.

2020-12-26  Bruno Haible  <bruno@clisp.org>

	execvpe: Make dependency to stdbool explicit.
	* lib/execvpe.c: Include <stdbool.h>.
	* modules/execvpe (Depends-on): Add stdbool.

	execlp: Add tests.
	* tests/test-execlp-main.c: New file.
	* tests/test-execlp.sh: New file.
	* modules/execlp-tests: New file.

	execlp: New module.
	* lib/execlp.c: New file.
	* m4/execlp.m4: New file.
	* modules/execlp: New file.
	* doc/posix-functions/execlp.texi: Mention more Windows problems and the
	new module.

	execle: Add tests.
	* tests/test-execle-main.c: New file.
	* tests/test-execle.sh: New file.
	* modules/execle-tests: New file.

	execle: New module.
	* lib/execle.c: New file.
	* m4/execle.m4: New file.
	* modules/execle: New file.
	* doc/posix-functions/execle.texi: Mention more Windows problems and the
	new module.

	execl: Add tests.
	* tests/test-execl-main.c: New file.
	* tests/test-execl.sh: New file.
	* modules/execl-tests: New file.

	execl: New module.
	* lib/execl.c: New file.
	* m4/execl.m4: New file.
	* modules/execl: New file.
	* doc/posix-functions/execl.texi: Mention more Windows problems and the
	new module.

	execv: Add tests.
	* tests/test-execv-main.c: New file.
	* tests/test-execv.sh: New file.
	* modules/execv-tests: New file.

	execv: New module.
	* lib/execv.c: New file.
	* m4/execv.m4: New file.
	* modules/execv: New file.
	* doc/posix-functions/execv.texi: Mention more Windows problems and the
	new module.

	execvp: Add tests.
	* tests/test-execvp-main.c: New file.
	* tests/test-execvp.sh: New file.
	* modules/execvp-tests: New file.

	execvp: New module.
	* lib/execvp.c: New file.
	* m4/execvp.m4: New file.
	* modules/execvp: New file.
	* doc/posix-functions/execvp.texi: Mention more Windows problems and the
	new module.

	execvpe: Add tests.
	* tests/test-execvpe-main.c: New file.
	* tests/test-execvpe.sh: New file.
	* modules/execvpe-tests: New file.

	execvpe: New module.
	* lib/execvpe.c: New file.
	* m4/execvpe.m4: New file.
	* modules/execvpe: New file.
	* doc/glibc-functions/execvpe.texi: Mention the Windows problems and the
	new module.

	execve: Add tests.
	* tests/test-exec-child.c: New file.
	* tests/test-execve-main.c: New file.
	* tests/test-execve.sh: New file.
	* modules/execve-tests: New file.

	execve: New module.
	* lib/execve.c: New file.
	* m4/execve.m4: New file.
	* modules/execve: New file.
	* doc/posix-functions/execve.texi: Mention more Windows problems and the
	new module.

	execve, execvpe, execvp, execv, execl, execle, execlp: Prepare modules.
	* lib/unistd.in.h (execl, execle, execlp, execv, execve, execvp,
	execvpe): Add declarations for the new modules.
	* m4/unistd_h.m4 (gl_UNISTD_H): Test whether execl, execle, execlp,
	execv, execve, execvp, execvpe are declared.
	(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EXEC*, HAVE_EXECVPE,
	REPLACE_EXEC*.
	* modules/unistd (Makefile.am): Substitute GNULIB_EXEC*, HAVE_EXECVPE,
	REPLACE_EXEC*.
	* tests/test-unistd-c++.cc: Check the signature of execl, execle,
	execlp, execv, execve, execvp, execvpe.

2020-12-26  Bruno Haible  <bruno@clisp.org>

	stack: Fix typo in comments.
	* lib/stack.h: Fix typo in comments.

2020-12-26  Bruno Haible  <bruno@clisp.org>

	bitset: Fix conflict with 'free-posix' module.
	* lib/bitset/base.h: Include <stdlib.h>.

2020-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	idx: change idx.h comment to LGPLv2.1+
	* lib/idx.h: Change license notice to match what should be in glibc.
	gnulib-tool will change it as appropriate anyway, so this is just
	to simplify syncing with glibc.

2020-12-25  Thien-Thi Nguyen  <ttn@gnu.org>

	MODULES.html.sh: Update after 2020-12-19 change.
	* MODULES.html.sh (func_all_modules): Do s/free/free-posix/.

2020-12-25  Bruno Haible  <bruno@clisp.org>

	Make it possible to turn off the mkdir override on Windows.
	* lib/sys_stat.in.h (mkdir): Conditionalize through GNULIB_MKDIR and
	GNULIB_MDA_MKDIR. Also support GNULIB_POSIXCHECK.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_MKDIR,
	GNULIB_MDA_MKDIR.
	* modules/sys_stat (Makefile.am): Substitute GNULIB_MKDIR,
	GNULIB_MDA_MKDIR.
	* modules/mkdir (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
	* doc/posix-functions/mkdir.texi: Mention also the 'sys_stat' module.

	Make it possible to turn off each of the Windows oldnames workarounds.
	* lib/fcntl.in.h (creat, open):  Conditionalize each of the Windows
	oldnames workarounds through a GNULIB_MDA_<func> symbol.
	* lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
	* lib/search.in.h (lfind, lsearch): Likewise.
	* lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
	Likewise.
	* lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
	* lib/string.in.h (memccpy, strdup): Likewise.
	* lib/sys_stat.in.h (chmod, umask): Likewise.
	* lib/time.in.h (tzset): Likewise.
	* lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
	execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
	read, rmdir, swab, unlink, write): Likewise.
	* lib/utime.in.h (utime): Likewise.
	* lib/wchar.in.h (wcsdup): Likewise.
	* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize these
	GNULIB_MDA_<func> symbols.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Likewise.
	* m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Likewise.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
	* m4/utime_h.m4 (gl_UTIME_H_DEFAULTS): Likewise.
	* m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Likewise.
	* modules/fcntl-h (Makefile.am): Substitute these GNULIB_MDA_<func>
	symbols.
	* modules/math (Makefile.am): Likewise.
	* modules/search (Makefile.am): Likewise.
	* modules/stdio (Makefile.am): Likewise.
	* modules/stdlib (Makefile.am): Likewise.
	* modules/string (Makefile.am): Likewise.
	* modules/sys_stat (Makefile.am): Likewise.
	* modules/time (Makefile.am): Likewise.
	* modules/unistd (Makefile.am): Likewise.
	* modules/utime-h (Makefile.am): Likewise.
	* modules/wchar (Makefile.am): Likewise.

2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	canonicalize, canonicalize-lgpl: remove lint
	Pacify GCC.  Some of these problems were reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2020-12/msg00217.html
	* lib/canonicalize-lgpl.c, lib/canonicalize.c:
	Sort shared include directives, for consistency.
	(IF_LINT): New macro.
	(suffix_requires_dir_check): Mark with _GL_ATTRIBUTE_PURE.
	* lib/canonicalize-lgpl.c (GCC_LINT, _GL_ATTRIBUTE_PURE) [_LIBC]:
	New macros.
	(realpath_stk): Suppress bogus -Wmaybe-uninitialized warning.
	* lib/canonicalize.c (canonicalize_filename_mode_stk):
	Omit unused local.  Suppress bogus -Wmaybe-uninitialized warning.

2020-12-24  Bruno Haible  <bruno@clisp.org>

	spawn-pipe: Use posix_spawn by default on native Windows.
	* lib/spawn-pipe.c (SPAWN_PIPE_IMPL_AVOID_POSIX_SPAWN): New macro.
	(create_pipe): Use it to decide among the two possible implementations.
	* modules/spawn-pipe (Depends-on): Add posix_spawnattr_setpgroup.

2020-12-24  Bruno Haible  <bruno@clisp.org>

	unistd-safer: Implement pipe_safer on native Windows.
	* lib/pipe-safer.c (pipe_safer): Don't test HAVE_PIPE.
	* modules/unistd-safer (Depends-on): Add pipe-posix.

2020-12-24  Bruno Haible  <bruno@clisp.org>

	execute: Use posix_spawn by default on native Windows.
	* lib/execute.c (EXECUTE_IMPL_AVOID_POSIX_SPAWN): New macro.
	(execute): Use it to decide among the two possible implementations.

2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	canonicalize-lgpl: merge proposed libc changes
	This merges the changes proposed for glibc in:
	https://sourceware.org/pipermail/libc-alpha/2020-December/121085.html
	https://sourceware.org/pipermail/libc-alpha/2020-December/121086.html
	* lib/canonicalize-lgpl.c: Include idx.h and filename.h
	unconditionally.
	(idx_t, IDX_MAX, FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME)
	(ISSLASH) [_LIBC]: Remove.

2020-12-24  Bruno Haible  <bruno@clisp.org>

	posix_spawn-internal: Implement for native Windows.
	* lib/spawni.c (grow_inheritable_handles, shrink_inheritable_handles,
	close_inheritable_handles, memiszero, sigisempty, open_handle, do_open,
	do_dup2, do_close): New functions.
	(__spawni): Implement on native Windows.
	* modules/posix_spawn-internal (Depends-on): Add filename,
	concat-filename, findprog-in, malloca, windows-spawn.
	* doc/posix-functions/posix_spawn.texi: Update.
	* doc/posix-functions/posix_spawnp.texi: Likewise.

2020-12-24  Bruno Haible  <bruno@clisp.org>

	windows-spawn: Export another auxiliary function.
	* lib/windows-spawn.h (convert_CreateProcess_error): New declaration.
	* lib/windows-spawn.c (convert_CreateProcess_error): New function,
	extracted from spawnpvech.
	(spawnpvech): Use it.

2020-12-24  Bruno Haible  <bruno@clisp.org>

	windows-spawn: Export some more auxiliary functions.
	* lib/windows-spawn.h: Include <stdbool.h>.
	(struct inheritable_handles): New type.
	(init_inheritable_handles, compose_handles_block,
	free_inheritable_handles): New declarations.
	* lib/windows-spawn.c (init_inheritable_handles, compose_handles_block):
	New functions, based on spawnvech.
	(free_inheritable_handles): New function.
	(spawnpvech): Use them.

2020-12-24  Bruno Haible  <bruno@clisp.org>

	windows-spawn: Export another auxiliary function.
	* lib/windows-spawn.h (compose_envblock): New declaration.
	* lib/windows-spawn.c (compose_envblock): New function, extracted from
	spawnpvech.
	(spawnpvech): Use it.

2020-12-24  Bruno Haible  <bruno@clisp.org>

	windows-spawn: Export an auxiliary function.
	* lib/windows-spawn.h (compose_command): New declaration.
	* lib/windows-spawn.c (compose_command): New function, extracted from
	spawnpvech.
	(spawnpvech): Use it.

2020-12-24  Bruno Haible  <bruno@clisp.org>

	posix_spawn* tests: Add support for native Windows.
	* tests/test-posix_spawn-open1.c (DATA_FILENAME): Treat native Windows
	like Cygwin.
	* tests/test-posix_spawn-dup2-stdin.c (main): Don't assume the signals
	SIGHUP and SIGPIPE. On native Windows, don't call
	posix_spawnattr_setsigmask.
	* tests/test-posix_spawn-dup2-stdout.c (main): Likewise.
	* tests/test-posix_spawn-fchdir.c (main): Likewise.
	* tests/test-posix_spawn-chdir.c (test): Likewise. Accept the child
	output from Cygwin's 'pwd' program.
	* tests/test-posix_spawn-script.c (main): On native Windows, skip the
	executable-shell-script part of the test.
	* tests/test-posix_spawnp-script.c (main): Likewise.
	* modules/posix_spawn-tests (Depends-on): Add freopen, waitpid.
	(configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
	(Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
	* modules/posix_spawnp-tests (Depends-on): Add  waitpid.
	(configure.ac): Don't define the POSIX_SPAWN_PORTED conditional.
	(Makefile.am): Don't test the POSIX_SPAWN_PORTED conditional.
	* modules/posix_spawn_file_actions_addchdir-tests (Makefile.am): Don't
	test the POSIX_SPAWN_PORTED conditional.
	* modules/posix_spawn_file_actions_addfchdir-tests (configure.ac):
	Define the POSIX_SPAWN_PORTED conditional here.

2020-12-24  Bruno Haible  <bruno@clisp.org>

	sh-filename: Add support for native Windows.
	* m4/sh-filename.m4 (gl_SH_FILENAME): Treat native Windows like Cygwin.

2020-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	careadlinkat: improve warning line number
	This propagates an idea first used in canonicalize-lgpl.
	* lib/careadlinkat.c (GCC_BOGUS_WRETURN_LOCAL_ADDR):
	New macro.
	(careadlinkat): Use it.

	linkat: use eloop-threshold
	* lib/linkat.c: Include eloop-threshold.h.
	Do not include sys/param.h.
	(MAXSYMLINKS): Remove.
	(link_follow, linkat_follow): Use __eloop_threshold instead
	of MAXSYMLINKS.
	* m4/linkat.m4 (gl_FUNC_LINKAT): Omit sys/param.h check.
	* modules/linkat (Depends-on): Add eloop-threshold.  Sort.

	canonicalize-lgpl: use eloop-threshold
	* lib/canonicalize-lgpl.c [!_LIBC]: Include eloop-threshold.h.
	(MAXSYMLINKS, __eloop_threshold): Remove.
	* modules/canonicalize-lgpl (Depends-on): Add eloop-threshold.

	eloop-threshold: new module
	* config/srclist.txt: Add a comment about it.
	* lib/eloop-threshold.h, modules/eloop-threshold: New files.

	canonicalize: prefer faccessat to stat
	A proper faccessat doesn't have the EOVERFLOW problem, and can be
	more efficient as it needn't gather data from the filesystem to
	fill in struct stat.  So use stat only if faccessat is absent,
	or when checking for symlink loops in canonicalize.c.
	* lib/canonicalize-lgpl.c, lib/canonicalize.c:
	Include fcntl.h, for AT_EACCESS.
	(FACCESSAT_NEVER_EOVERFLOWS): Default to false.
	(file_accessible): New function, based on faccessat but with
	a fallback to stat and with an EOVERFLOW workaround.
	(dir_check): Use it.
	(dir_suffix): New static constant.
	* lib/canonicalize-lgpl.c (FACCESSAT_NEVER_EOVERFLOWS) [_LIBC]:
	Use __ASSUME_FACCESSAT2 to set FACCESSAT_NEVER_EOVERFLOWS
	(__faccessat) [!_LIBC]: Define.
	(realpath_stk): Use dir_suffix now.
	* lib/canonicalize.c (canonicalize_filename_mode_stk):
	If logical, don't check each component's existence; just check
	at the end, as that's enough.
	* m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
	(gl_CANONICALIZE_LGPL_SEPARATE):
	Require gl_FUNC_FACCESSAT_EOVERFLOW,
	gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and check for faccessat.
	(gl_CANONICALIZE_LGPL_SEPARATE): Do not check for readlink,
	as the code does not use HAVE_READLINK.
	* modules/canonicalize, modules/canonicalize-lgpl (Files):
	Add m4/faccessat.m4, m4/lstat.m4.
	(Depends-on): Add fcntl-lh.

	faccessat: work around F_OK EOVERFLOW bug
	* doc/posix-functions/faccessat.texi: Mention the problem.
	* lib/faccessat.c (FACCESSAT_NEVER_EOVERFLOWS): Default to 0.
	(rpl_faccessat): If !FACCESSAT_NEVER_EOVERFLOWS, check
	for F_OK and EOVERFLOW, which means we can return 0.
	* m4/faccessat.m4 (gl_FUNC_FACCESSAT_EOVERFLOW): New macro.
	(gl_FUNC_FACCESSAT): Use it.

	stat failing with EOVERFLOW implies existence
	* lib/euidaccess.c (euidaccess):
	* lib/file-has-acl.c (file_has_acl):
	* lib/link.c (link, rpl_link):
	* lib/mkdir.c (rpl_mkdir):
	* lib/mkfifo.c (rpl_mkfifo):
	* lib/mknod.c (rpl_mknod):
	* lib/ptsname_r.c (__ptsname_r):
	* lib/symlink.c (rpl_symlink):
	* lib/symlinkat.c (rpl_symlinkat):
	* lib/unlink.c (rpl_unlink):
	* lib/unlinkat.c (rpl_unlinkat):
	* lib/utime.c (utime):
	If stat fails with EOVERFLOW the file exists, so treat it that way
	in file-existence tests that do not need struct stat values.

	canonicalize-lgpl: remove freea macro
	* lib/canonicalize-lgpl.c (freea) [_LIBC]: Remove; not needed.

	canonicalize, canonicalize-lgpl: fix symlink bug
	Problem reported by Adhemerval Zanella in:
	https://lists.gnu.org/r/bug-gnulib/2020-12/msg00155.html
	* lib/canonicalize-lgpl.c, lib/canonicalize.c:
	(suffix_requires_dir_check, dir_check): New functions.
	(GCC_BOGUS_WRETURN_LOCAL_ADDR): New macro, to put the diagnostic
	closer to the related GCC diagnostics.
	* lib/canonicalize-lgpl.c (realpath_stk):
	* lib/canonicalize.c (canonicalize_file_mode_stk):
	Use them to fix a bug with .../symlink-to-regular-file/ etc.
	* lib/canonicalize-lgpl.c (__stat) [!_LIBC]: New macro.
	(realpath_stk): New function,
	with the contents of the old __realpath and a new scratch buffer arg.
	This is needed to pacify GCC 10.1, as canonicalize.c is already doing.
	(__realpath): Use it.
	* tests/test-canonicalize-lgpl.c, tests/test-canonicalize.c:
	Add test cases for the bugs.

2020-12-24  Bruno Haible  <bruno@clisp.org>

	execute: Treat signalled processes like wait-process does.
	* lib/execute.c: Include <sys/types.h>, <sys/wait.h>.
	(execute): Recognize the case where the exit code indicates a signalled
	child process.
	* tests/test-execute-main.c (main): Update expected test result.
	* modules/execute (Depends-on): Add sys_wait.

2020-12-24  Bruno Haible  <bruno@clisp.org>

	windows-spawn: Improve errno upon failure on native Windows.
	* lib/windows-spawn.c (spawnpvech): Map the CreateProcess errors
	ERROR_BAD_FORMAT and ERROR_BAD_EXE_FORMAT to ENOEXEC.
	* tests/executable-script.sh: New file.
	* tests/test-posix_spawn-script.c (main): Also try executing
	executable-script.sh.
	* tests/test-posix_spawnp-script.c (main): Likewise.
	* tests/test-execute-script.c (main): Likewise.
	* tests/test-spawn-pipe-script.c (main): Likewise.
	* modules/posix_spawn-tests (Files): Add tests/executable-script.sh.
	* modules/posix_spawnp-tests (Files): Likewise.
	* modules/execute-tests (Files): Likewise.
	* modules/spawn-pipe-tests (Files): Likewise.

2020-12-24  Bruno Haible  <bruno@clisp.org>

	findprog-in: Improve errno upon failure on native Windows.
	* lib/findprog-in.c (find_in_given_path): If the file basename has no
	dot and the search with a suffix returned no result, do also a search
	without a suffix, and set errno = ENOEXEC if we find a file in this way.
	* tests/test-spawn-pipe-script.c (main): Update expected errno.

2020-12-23  Bruno Haible  <bruno@clisp.org>

	posix_spawn, posix_spawnp: Fix execution of scripts.
	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_SECURE): New macro.
	(gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if posix_spawn
	or posix_spawnp allows unsecure execution of scripts.
	* doc/posix-functions/posix_spawn.texi: Document the script execution
	problem.
	* doc/posix-functions/posix_spawnp.texi: Likewise.

2020-12-23  Bruno Haible  <bruno@clisp.org>

	Add unit tests regarding execution of scripts.
	* tests/executable-script: New file.
	* tests/executable-shell-script: New file.
	* tests/test-posix_spawn-script.c: New file.
	* tests/test-posix_spawnp-script.c: New file.
	* tests/test-execute-script.c: New file.
	* tests/test-spawn-pipe-script.c: New file.
	* modules/posix_spawn-tests (Files): Add
	tests/test-posix_spawn-script.c, tests/executable-script,
	tests/executable-shell-script.
	(Makefile.am): Compile and run test-posix_spawn-script.
	* modules/posix_spawnp-tests (Files): Add
	tests/test-posix_spawnp-script.c, tests/executable-script,
	tests/executable-shell-script.
	(Makefile.am): Compile and run test-posix_spawnp-script.
	* modules/execute-tests (Files): Add tests/test-execute-script.c,
	tests/executable-script, tests/executable-shell-script.
	(Makefile.am): Compile and run test-execute-script.
	* modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-script.c,
	tests/executable-script, tests/executable-shell-script.
	(Makefile.am): Compile and run test-spawn-pipe-script.

2020-12-23  Bruno Haible  <bruno@clisp.org>

	Don't execute scripts without '#!' marker through /bin/sh.
	This reflects the change done in glibc through
	<https://sourceware.org/bugzilla/show_bug.cgi?id=13134> and
	<https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d96de9634a334af16c0ac711074c15ac1762b23c>.
	* lib/spawni.c (internal_function): Remove macro.
	(script_execute): Remove function.
	(__spawni): Don't invoke script_execute.
	* lib/execute.c (execute): Disable the ENOEXEC handling.
	* lib/spawn-pipe.c (create_pipe): Likewise.
	* NEWS: Mention the change.

2020-12-23  Bruno Haible  <bruno@clisp.org>

	posix_spawn[p]: Fix compilation error on Windows (regr. 2020-12-14).
	Reported by Adrian Ebeling <devl@adrian-ebeling.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00189.html>.
	* lib/spawni.c (__spawni): Update function parameters.

2020-12-23  Bruno Haible  <bruno@clisp.org>

	posix_spawn tests: Add two more tests.
	* tests/test-posix_spawn-inherit0.c: New file, based on
	tests/test-posix_spawn-open2.c.
	* tests/test-posix_spawn-inherit1.c: New file, based on
	tests/test-posix_spawn-open2.c.
	* modules/posix_spawn-tests (Files): Add them.
	(Depends-on): Add fflush.
	(Makefile.am): Compile and run test-posix_spawn-inherit0 and
	test-posix_spawn-inherit1.

2020-12-23  Bruno Haible  <bruno@clisp.org>

	posix_spawn tests: Add another test.
	* tests/test-posix_spawn-open2.c: New file, based on
	tests/test-posix_spawn-open1.c.
	* modules/posix_spawn-tests (Files): Add it.
	(Makefile.am): Compile and run test-posix_spawn-open1.

2020-12-20  Bruno Haible  <bruno@clisp.org>

	Remove support for broken <wchar.h> in AIX 3.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify test programs.

2020-12-20  Bruno Haible  <bruno@clisp.org>

	Remove support for broken <wchar.h> in BSD/OS and OSF/1.
	* lib/wchar.in.h: Don't include <stdio.h>, <time.h>.
	* lib/mbchar.h: Likewise.
	* lib/mbiter.h: Likewise.
	* lib/mbuiter.h: Likewise.
	* m4/stdint.m4 (gl_STDINT_INCLUDES): Likewise.
	* lib/mbfile.h: Don't include <time.h>.
	* lib/mbswidth.h: Update comment.
	* lib/stdint.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> before
	<wchar.h>.
	* lib/wctype.in.h: Likewise.
	* m4/btowc.m4 (gl_FUNC_BTOWC): Simplify test programs.
	* m4/iswblank.m4 (gl_FUNC_ISWBLANK): Likewise.
	* m4/iswdigit.m4 (gl_FUNC_ISWDIGIT): Likewise.
	* m4/iswxdigit.m4 (gl_FUNC_ISWXDIGIT): Likewise.
	* m4/mbrlen.m4 (gl_FUNC_MBRLEN, gl_MBRLEN_INCOMPLETE_STATE,
	gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL): Likewise.
	* m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Likewise.
	* m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_MBRTOWC_INCOMPLETE_STATE,
	gl_MBRTOWC_SANITYCHECK, gl_MBRTOWC_NULL_ARG1, gl_MBRTOWC_NULL_ARG2,
	gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL, gl_MBRTOWC_STORES_INCOMPLETE,
	AC_FUNC_MBRTOWC): Likewise.
	* m4/mbsinit.m4 (gl_FUNC_MBSINIT): Likewise.
	* m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE):
	Likewise.
	* m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS, gl_MBSRTOWCS_WORKS): Likewise.
	* m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
	* m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Likewise.
	* m4/wchar_h.m4 (gl_WCHAR_H, gl_WCHAR_H_INLINE_OK): Likewise.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
	* m4/wcsdup.m4 (gl_FUNC_WCSDUP): Likewise.
	* m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE):
	Likewise.
	* m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS, gl_WCSRTOMBS_TERMINATION,
	gl_WCSRTOMBS_NULL): Likewise.
	* m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
	* m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
	* m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
	* m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Likewise.
	* m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
	* m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
	* m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
	* m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.

2020-12-20  Bruno Haible  <bruno@clisp.org>

	isnanf: Fix autoconf test.
	* m4/isnanf.m4 (gl_ISNANF_WORKS): Fix one of the NaN tests.

2020-12-20  Bruno Haible  <bruno@clisp.org>

	Remove some of the support for obsolete IRIX 4 and 5.
	* m4/mountlist.m4 (AC_FUNC_GETMNTENT): Don't test for getmntent in
	libsun.
	* tests/init.sh (setup_): Don't talk about IRIX 5.

2020-12-20  Bruno Haible  <bruno@clisp.org>

	filemode: Remove Cray support.
	* lib/filemode.c (IS_MIGRATED_FILE): Remove macro.
	(filemodestring): Don't produce an 'M' type.
	* m4/filemode.m4 (gl_FILEMODE): Don't invoke AC_STRUCT_ST_DM_MODE.
	* m4/st_dm_mode.m4: Remove file.
	* modules/filemode (Files): Remove it.

2020-12-20  Paul Eggert  <eggert@cs.ucla.edu>

	free-posix: assume glibc 2.33 fixes this.
	* m4/free.m4 (gl_FUNC_FREE): Assume glibc 2.33+ is fixed.
	Use compile-time test rather than guessing for cross-builds.

2020-12-20  Bruno Haible  <bruno@clisp.org>

	backupfile: Fix compilation error on native Windows (regr. 2018-10-23).
	Reported by Adrian Ebeling <adrianebeling@gmx.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00156.html>.
	* lib/backupfile.c (fpathconf): Define fallback, like for pathconf.

2020-12-20  Bruno Haible  <bruno@clisp.org>

	float: Fix compilation error when gnulib's float.h exists twice.
	Reported by Santiago Vila <sanvila@unex.es>.
	* lib/float.in.h (GNULIB_defined_long_double_union): New macro.

2020-12-19  Bruno Haible  <bruno@clisp.org>

	free-posix: Assume future POSIX compliance only on OpenBSD and Solaris.
	* m4/free.m4 (gl_FUNC_FREE): Guess yes only on OpenBSD and Solaris.
	Don't trust _POSIX_VERSION for this test.

2020-12-19  Paul Eggert  <eggert@cs.ucla.edu>

	free-posix: port to GNU/Linux
	* m4/free.m4 (gl_FUNC_FREE): Don’t assume GNU hosts are free of
	the bug, as it occurs on Ubuntu 20.10 x86-64 and, I assume, on
	other GNU/Linux hosts.

2020-12-19  Bruno Haible  <bruno@clisp.org>

	free-posix: Add tests.
	* tests/test-free.c: New file.
	* tests/macros.h (ASSERT_NO_STDIO,
	WRITE_MACROEXPANDED_INTEGER_TO_STDERR, WRITE_INTEGER_TO_STDERR,
	WRITE_TO_STDERR): New macros.
	* modules/free-posix-tests: New file.

2020-12-18  Bruno Haible  <bruno@clisp.org>

	free-posix: Add C++ declaration test.
	* tests/test-stdlib-c++.cc (free): New declaration.

2020-12-18  Bruno Haible  <bruno@clisp.org>

	free-posix: New module, renamed from 'free'.
	* modules/free-posix: Renamed from modules/free.
	(configure.ac): Update gl_STDLIB_MODULE_INDICATOR invocation.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE_POSIX,
	not GNULIB_FREE.
	* modules/stdlib (Makefile.am): Substitute GNULIB_FREE_POSIX, not
	GNULIB_FREE.
	* lib/stdlib.in.h (free): Test GNULIB_FREE_POSIX, not GNULIB_FREE.
	* doc/posix-functions/free.texi: Mention the module 'free-posix' and
	what it does.
	* NEWS: Mention that module 'free' no longer exists.
	* modules/canonicalize (Depends-on): Add free-posix. Remove free.
	* modules/canonicalize-lgpl (Depends-on): Likewise.

2020-12-18  Bruno Haible  <bruno@clisp.org>

	free: Remove support for obsolete platforms.
	* m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works. Don't define
	CANNOT_FREE_NULL.
	* lib/free.c (rpl_free): Don't test CANNOT_FREE_NULL.
	* modules/free (Description): Update.
	* doc/posix-functions/free.texi: Don't mention SunOS 4 any more.

2020-12-18  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: port to ICC 2021.1 Beta 20201112
	* lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P):
	Port to ICC 2021.1, which has a non-working __builtin_mul_overflow_p.
	Add a clause for other compilers that claim to support
	__builtin_mul_overflow_p, since we might as well find out about
	slackers other than Clang and ICC.
	(INT_MULTIPLY_WRAPV): ICC 2021 has GCC bug 91450, so treat it
	like older GCCs even when it claims to be a newer one.

2020-12-18  Bruno Haible  <bruno@clisp.org>

	intprops: Avoid potentially buggy __builtin_add_overflow in GCC 5, 6.
	Reported by Stefan Liebler <stli@linux.ibm.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00152.html>.
	* lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Don't define for
	GCC 5.x and 6.x.
	* lib/glob.c (size_add_wrapv): Don't use __builtin_add_overflow for
	GCC 5.x and 6.x.

2020-12-17  Bruno Haible  <bruno@clisp.org>

	free: Fix warning.
	Reported by Pádraig Brady <P@draigBrady.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00148.html>.
	* lib/stdlib.in.h (free): New declaration.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Test whether 'free' is declared.
	(gl_STDLIB_H_DEFAULTS): Initialize GNULIB_FREE, REPLACE_FREE.
	* modules/stdlib (Makefile.am): Substitute GNULIB_FREE, REPLACE_FREE.
	* m4/free.m4 (gl_FUNC_FREE): Set REPLACE_FREE, instead of defining
	'free' as a macro here.
	* modules/free (Depends-on): Add stdlib.
	(configure.ac): Test REPLACE_FREE. Invoke gl_STDLIB_MODULE_INDICATOR.

2020-12-17  Paul Eggert  <eggert@cs.ucla.edu>

	canonicalize-lgpl: fix AIX test failures
	This merges the recent canonicalize.c fix into canonicalize-lgpl.c.
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2020-12/msg00138.html
	* lib/canonicalize-lgpl.c: Include sys/stat.h.
	(__realpath): When testing a file name ending in '/', use stat
	rather than readlink, so that it does the right thing on AIX.
	* modules/canonicalize-lgpl (Depends-on): Add stat, sys_stat.

	canonicalize: omit second readlink when not needed
	* lib/canonicalize.c (canonicalize_filename_mode_stk):
	Omit second readlink when (can_exist != CAN_MISSING
	&& startlen != 0 && !logical).  Simplify.

	canonicalize: remove arbitrary 8192-byte limit
	Remove canonicalize.c’s arbitrary 8192-byte limit on platforms
	like GNU Hurd that do not define the PATH_MAX macro, and similarly
	for canonicalize-lgpl.c’s arbitrary 1024-byte limit.  Do this by
	using scratch buffers.  Lessen the number of differences between
	the two source files, to simplify this and future maintenance.
	* lib/canonicalize-lgpl.c (__realpath):
	* lib/canonicalize.c (canonicalize_filename_mode_stk):
	Use scratch buffers instead of malloc and malloca.  This avoids
	the need for alloca, and avoids the need for malloc in most cases.
	* lib/canonicalize-lgpl.c, lib/canonicalize.c: Make these files
	easier to compare, e.g., by sorting include files and by switching
	to the GNU convention of calling file names "file names", not
	"path names".  Include stdbool.h, scratch_buffer.h.
	* lib/canonicalize-lgpl.c (IDX_MAX) [_LIBC]: New macro.
	(malloca) [_LIBC]: Remove.
	[!_LIBC]: Do not include malloca.h.
	(get_path_max): New function, so that pathconf is called only in
	the rare and dubious case when when RESOLVED is not null and
	PATH_MAX is not defined.  Invoke pathconf on "/" not the input
	file name, as we care about the longest file name starting from
	"/" (not from the input file name), and POSIX does not specify
	what pathconf does on a non-directory file anyway.  If PATH_MAX is
	not defined, do not worry about overriding a path_max of 0, and do
	not let path_max exceed IDX_MAX.
	(__realpath): Remove an assumption that file name components
	cannot exceed 1024 bytes when PATH_MAX is not defined (wrong for
	the Hurd, presumably).
	When allocating the result, allocate it to just the right size;
	this costs nothing when the result is smaller than 1023 bytes,
	and for larger results it's probably worth the CPU to call realloc,
	as canonicalize.c already does.
	* lib/canonicalize.c: Include attribute.h.
	Do not include pathmax.h or xgetcwd.h.
	(PATH_MAX): Do not define, so file names longer than 8192 bytes
	work on platforms with no fixed limit.
	(canonicalize_filename_mode_stk): New function, with
	the content of the old canonicalize_filename_mode.
	Use getcwd instead of xgetcwd, and readlink instead of areadlink,
	since the scratch buffers now do memory management for us.
	Use rawmemchr instead of adding strlen.
	Use mempcpy instead of mempcpy + size.
	Assume free preserves errno.
	(canonicalize_filename_mode): Use it.
	* modules/canonicalize (Depends-on): Remove areadlink, pathmax,
	xgetcwd.  Add attribute, free, getcwd, mempcpy, rawmemchr,
	scratch_buffer, stdbool, xalloc-die.
	* modules/canonicalize-lgpl (Depends-on): Remove alloca-opt,
	malloca, realloc-posix.  Add scratch_buffer, stdbool.

	canonicalize-lgpl: simplify merge to glibc
	This patch lessens the differences between git glibc
	stdlib/canonicalize.c and lib/canonicalize-lgpl.c.
	The (perhaps wishful) goal is to make them identical.
	* lib/canonicalize-lgpl.c [!_LIBC]:
	Include <libc-config.h>, not config.h.
	Omit an unnecessary (!HAVE_CANONICALIZE_FILE_NAME ||
	!FUNC_REALPATH_WORKS || defined _LIBC) #if.
	Do not include alloca.h, since we use malloca now.
	[_LIBC]: Include <eloop-threshold.h>, and define dummy macros
	FILE_SYSTEM_PREFIX_LEN, IS_ABSOLUTE_FILE_NAME, ISSLASH, malloca,
	freea so that the mainline code can be kept #ifdef free.
	[!_LIBC]: Remove dummy macros for SHLIB_COMPAT, versioned_symbol,
	compat_symbol, weak_alias, __set_errno since libc-config.h does that.
	Add redirecting macros __mempcpy, __pathconf, __rawmemchr,
	__eloop_threshold.  All uses of their definiens changed.
	(SIZE_MAX): Remove; no longer needed.
	(alloc_failed): Remove, and remove all instances.
	No need for alloc_failed now that free preserves errno.
	(__realpath): Default path_max to 1024 instead of 8192, as that’s
	the glibc tradition and is safer when the 2nd argument is null.
	Use __rawmemchr instead of strchr.
	Use __mempcpy where appropriate.
	Simplify test for overflow so that it does not need SIZE_MAX.
	Do not preserve errno around free or freea calls; no longer needed.
	Mark __realpath with libc_hidden_def.
	* modules/canonicalize-lgpl (Depends-on): Add free, libc-config,
	malloc-posix, mempcpy, realloc-posix, rawmemchr.
	* modules/free: Now LGPLv2+, for canonicalize-lgpl.

	free: preserve errno
	* lib/free.c (rpl_free): Preserve errno.  Check for null only if
	CANNOT_FREE_NULL is defined, as an optimization for POSIX 2008
	platforms that do not preserve errno.
	* m4/free.m4 (gl_FUNC_FREE): Check whether free preserves errno.
	Also, define CANNOT_FREE_NULL if free cannot free NULL.
	* modules/free (configure.ac): Also replace 'free' if
	it does not preserve errno.

	idx: simplify IDX_MAX, remove IDX_WIDTH
	* lib/idx.h (IDX_MAX): Simplify by removing obsolete reference
	to UNSIGNED_IDX_T.
	(IDX_WIDTH): Remove, since it’s not used and its value
	arguably should be PTRDIFF_WIDTH anyway.

2020-12-16  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addfchdir-tests: Rename test.
	* tests/test-posix_spawn-fchdir.c: Renamed from
	tests/test-posix_spawn5.c.
	* modules/posix_spawn_file_actions_addfchdir-tests (Files, Makefile.am):
	Update.

	posix_spawn_file_actions_addchdir-tests: Rename test.
	* tests/test-posix_spawn-chdir.c: Renamed from
	tests/test-posix_spawn4.c.
	* modules/posix_spawn_file_actions_addchdir-tests (Files, Makefile.am):
	Update.

	posix_spawn-tests: Rename test.
	* tests/test-posix_spawn-open1.c: Renamed from
	tests/test-posix_spawn3.c.
	* modules/posix_spawn-tests (Files, Makefile.am): Update.

	posix_spawnp-tests: Rename test.
	* tests/test-posix_spawn-dup2-stdin.c: Renamed from
	tests/test-posix_spawn2.c.
	* tests/test-posix_spawn-dup2-stdin.in.sh: Renamed from
	tests/test-posix_spawn2.in.sh.
	* modules/posix_spawnp-tests (Files, Makefile.am): Update.

	posix_spawnp-tests: Rename test.
	* tests/test-posix_spawn-dup2-stdout.c: Renamed from
	tests/test-posix_spawn1.c.
	* tests/test-posix_spawn-dup2-stdout.in.sh: Renamed from
	tests/test-posix_spawn1.in.sh.
	* modules/posix_spawnp-tests (Files, Makefile.am): Update.

2020-12-14  Bruno Haible  <bruno@clisp.org>

	findprog-in: Allow overriding the current directory.
	* lib/findprog.h (find_in_given_path): Add directory argument.
	* lib/findprog-in.c (find_in_given_path): Likewise.
	* lib/execute.c (execute): Update caller.
	* lib/spawn-pipe.c (create_pipe): Likewise.
	* lib/windows-spawn.c (spawnpvech): Likewise.
	* NEWS: Mention the change.

2020-12-14  Bruno Haible  <bruno@clisp.org>

	posix_spawn-internal: Make better use of 'const'.
	* lib/spawn_int.h (__spawni): Does not need write access to the elements
	of argv and envp.
	* lib/spawni.c (__spawni, script_execute): Likewise.
	* lib/spawn.c (posix_spawn): Update caller.
	* lib/spawnp.c (posix_spawnp): Likewise.

2020-12-14  Bruno Haible  <bruno@clisp.org>

	spawn: Make it compile on native Windows.
	* modules/spawn (Depends-on): Add signal-h.

2020-12-14  Bruno Haible  <bruno@clisp.org>

	windows-spawn: Avoid shadowing a variable.
	* lib/windows-spawn.c (spawnpvech): Rename local variable 'flags'.

2020-12-13  Paul Eggert  <eggert@cs.ucla.edu>

	string: port memchr macro to AIX 7.2 XLC
	Its <string.h> defines a memchr macro to help inlining.
	* lib/string.in.h (memchr): #undef before #defining.

	canonicalize: fix AIX test failures
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2020-12/msg00109.html
	* lib/canonicalize.c (canonicalize_filename_mode):
	When testing a file name ending in '/', use stat rather than
	readlink, so that it does the right thing on AIX.
	* modules/canonicalize (Depends-on): Add readlink, to pull in the
	recent changes in the Gnulib readlink module.

	Assume readlink/readlinkat ERANGE fix
	* lib/areadlink-with-size.c (areadlink_with_size):
	* lib/areadlinkat-with-size.c (areadlinkat_with_size):
	* lib/careadlinkat.c (readlink_stk):
	Do not worry about readlink or readlinkat failing with errno == ERANGE,
	since the Gnulib readlink and readlinkat modules now fix that.

	getcwd: port to AIX
	* lib/getcwd.c [!_LIBC]: Undef stat64 before #defining it,
	in case our sys/stat.h #defined a function macro with the same name.

	readlink, readlinkat: add ERANGE portability
	Fix some portability issues with Gnulib's readlink and readlinkat,
	notably mostly working around the ERANGE problem in AIX and HP-UX.
	* doc/posix-functions/readlink.texi:
	* doc/posix-functions/readlinkat.texi:
	ERANGE problem is mostly fixed now.  Mention AIX problem with
	trailing / and EINVAL.  Lessen differences between these two files.
	* lib/readlink.c (rpl_readlink):
	* lib/readlinkat.c (rpl_readlinkat):
	If stat ("FILE/", ...) reports EOVERFLOW, treat FILE/ as an
	existing directory.  Mostly work around READLINK_TRUNCATE BUG.
	Lessen spurious differences between the readlink and readlinkat code.
	* lib/readlinkat.c (rpl_readlinkat):
	Fix bug where stat was used where fstatat was intended.
	* m4/readlink.m4 (gl_FUNC_READLINK):
	Rename gl_cv_func_readlink_works to gl_cv_func_readlink_trailing_slash
	to identify readlink problems more precisely.  All uses changed.
	Guess no on AIX or HP-UX for this variable.
	Add check for whether readlink truncates results,
	and define new macro READLINK_TRUCATE_BUG accordingly.
	* m4/readlinkat.m4 (gl_FUNC_READLINKAT):
	Also check gl_cv_func_readlink_trailing_slash when deciding
	whether to replace readlinkat.
	* modules/readlinkat (Depends-on): Most dependencies are also
	needed if replacing readlinkat.  fstatat is different, as it
	is needed only if replacing an existing readlinkat.

2020-12-13  Bruno Haible  <bruno@clisp.org>

	spawn-pipe: Fix hanging processes on Windows (regression 2020-11-30).
	* lib/spawn-pipe.c (create_pipe): After spawning the subprocess, close
	the stdin_handle and/or stdout_handle.

2020-12-12  Bruno Haible  <bruno@clisp.org>

	Fix gnulib-tool error when some modules occur in tests/.
	* doc/gnulib.texi (Specification): Update statistics.
	(Autoconf macros): Don't suggest to use AC_LIBOBJ in a .m4 file.
	(Using AC_LIBOBJ): New section.
	* check-AC_LIBOBJ: New file.
	* modules/fnmatch-gnu (Files): Add lib/fnmatch.c.
	* modules/fopen-gnu (Files): Add lib/fopen.c.
	* modules/memmem (Files): Add lib/memmem.c.
	* modules/renameat (Files): Add lib/at-func2.c.
	* modules/strcasestr (Files): Add lib/strcasestr.c.
	* modules/strstr (Files): Add lib/strstr.c.

2020-12-11  Bruno Haible  <bruno@clisp.org>

	sh-quote, execute, spawn-pipe, etc.: Make better use of 'const'.
	* lib/sh-quote.h (shell_quote_argv): Does not need write access to the
	elements of argv.
	* lib/sh-quote.c (shell_quote_argv): Likewise.
	* lib/windows-spawn.h (prepare_spawn): Add 'const' the argument type and
	the return type.
	* lib/windows-spawn.c (prepare_spawn): Likewise.
	* lib/os2-spawn.h (prepare_spawn): Likewise.
	* lib/os2-spawn.c (prepare_spawn): Likewise.
	* lib/execute.h (execute): Does not need write access to the elements of
	prog_argv.
	* lib/execute.c (execute): Likewise.
	* lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
	Likewise.
	* lib/spawn-pipe.c (create_pipe, create_pipe_bidi, create_pipe_in,
	create_pipe_out): Likewise.
	* lib/pipe-filter.h (pipe_filter_ii_execute, pipe_filter_gi_create):
	Likewise.
	* lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
	* lib/pipe-filter-gi.c (pipe_filter_gi_create): Likewise.
	* lib/javaexec.h (execute_fn): Does not need write access to the
	elements of prog_argv.
	* lib/javaexec.c (execute_java_class): Update variable types and remove
	casts to 'char *'.
	* lib/csharpexec.h (execute_fn): Does not need write access to the
	elements of prog_argv.
	* lib/csharpexec.c (execute_csharp_using_mono,
	execute_csharp_using_sscli): Update variable types and remove casts to
	'char *'.
	* lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
	compile_using_javac, compile_using_jikes, is_envjavac_gcj,
	is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
	is_jikes_present): Update variable types and remove casts to 'char *'.
	* lib/javaversion.c (execute_and_read_line): Does not need write access
	to the elements of prog_argv.
	* lib/csharpcomp.c (compile_csharp_using_mono,
	compile_csharp_using_sscli): Update variable types and remove casts to
	'char *'.
	* tests/test-sh-quote.c (main): Update variable types and remove casts
	to 'char *'.
	* tests/test-execute-main.c (main): Update variable types and remove
	casts to 'char *'.
	* tests/test-spawn-pipe-main.c (test_pipe): Update variable types and
	remove casts to 'char *'.
	* NEWS: Mention the changes.

2020-12-11  Bruno Haible  <bruno@clisp.org>

	execute-tests: Fix compilation error with MSVC.
	* tests/test-execute-child.c (is_device): With _fstat, use
	'struct _stat', not 'struct stat'.

2020-12-11  Paul Eggert  <eggert@cs.ucla.edu>

	vararrays: just use 2.70
	* m4/vararrays.m4 (AC_C_VARARRAYS): Do not override Autoconf 2.70
	and later, since Autoconf 2.70 matches Gnulib now.

	sys_types: just use 2.70
	* m4/sys_types_h.m4 (AC_HEADER_MAJOR):
	Reindent to match Autoconf sources.
	Use Autoconf 2.70 as a prerequisite, not 2.69c.

	stdint: port to Autoconf 2.70
	* m4/stdint.m4 (gl_STDINT_H): Check for inttypes.h and sys/types.h
	instead of assuming that AC_INCLUDES_DEFAULT does it.
	The old code relied on AC_INCLUDES_DEFAULT being called
	and setting ac_cv_header_inttypes_h and ac_cv_header_sys_types_h,
	but this does not occur in Autoconf 2.70.

	pid_t.m4: just use 2.70
	* m4/pid_t.m4 (AC_TYPE_PID_T):
	Use Autoconf 2.70 as a prerequisite, not 2.69c.

	largefile: just use 2.70
	* m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
	Use Autoconf 2.70 as a prerequisite, not 2.69c.

	AC_C_RESTRICT: update from Autoconf
	* m4/gnulib-common.m4 (gl_PROG_CC_C99): Use Autoconf 2.70
	as a prerequisite, not 2.69c, since 2.70 is now out.
	(AC_C_RESTRICT): Define only for 2.70 or earlier.
	Try __restrict__ before __restrict.

	extensions: update from Autoconf
	* m4/extensions.m4 (AC_CHECK_INCLUDES_DEFAULT):
	Provide a default implementation for Autoconf 2.69 or earlier.
	(AC_USE_SYSTEM_EXTENSIONS): Copy from Autoconf git.  Define only
	if Autoconf 2.70 or earlier, since 2.70.1 or later should be OK.

	alloca: update from Autoconf
	* m4/alloca.m4 (gl_PREREQ_ALLOCA):
	Trivial update to match Autoconf 2.70.

2020-12-11  Bruno Haible  <bruno@clisp.org>

	memchr: Work around memory overrun bug on AIX 7.2.
	* m4/memchr.m4 (gl_FUNC_MEMCHR): Test against AIX 7.2 bug.
	* doc/posix-functions/memchr.texi: Mention the AIX bug.

2020-12-11  Bruno Haible  <bruno@clisp.org>

	execute-tests: Fix compilation error on AIX in 32-bit mode.
	* tests/test-execute-child.c: In order to get the original definition of
	fstat, don't use '#undef fstat' and '#undef stat'. Instead, arrange to
	include the system's <sys/stat.h> and use it before including other
	header files.

2020-12-10  Bruno Haible  <bruno@clisp.org>

	windows-spawn: Relicense under LGPLv2+.
	* modules/windows-spawn (License): Change to LGPLv2+.

2020-12-10  Bruno Haible  <bruno@clisp.org>

	execute, spawn-pipe: Fix memory leak on native Windows.
	* lib/windows-spawn.h (prepare_spawn): Add a second parameter.
	* lib/windows-spawn.c: Don't include xalloc.h.
	(quoted_arg_length, quoted_arg_string): New functions, extracted from
	prepare_spawn.
	(prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
	elements of *new_argv together.
	* modules/windows-spawn (Depends-on): Remove xalloc. Add malloc-posix.
	* lib/os2-spawn.h (prepare_spawn): Add a second parameter.
	* lib/os2-spawn.c: Don't include xalloc.h.
	(prepare_spawn): Use malloc instead of XNMALLOC. Allocate memory for all
	elements of *new_argv together.
	* lib/execute.c: Include xalloc.h.
	(execute): Check return value of prepare_spawn. Free the memory
	allocated by prepare_spawn.
	* modules/execute (Depends-on): Add xalloc-die.
	* lib/spawn-pipe.c: Include xalloc.h.
	(create_pipe): Check return value of prepare_spawn. Free the memory
	allocated by prepare_spawn.
	* modules/spawn-pipe (Depends-on): Add xalloc-die.

2020-12-10  Bruno Haible  <bruno@clisp.org>

	findprog-in: Relicense under LGPLv2+.
	Paul Smith's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00072.html>.
	* modules/findprog-in (License): Change to LGPLv2+.

2020-12-10  Bruno Haible  <bruno@clisp.org>

	findprog-in: Don't exit upon out-of-memory.
	* lib/findprog.h (find_in_given_path): Document ENOMEM as possible error
	code.
	* lib/findprog-in.c: Don't include xalloc.h.
	(find_in_given_path): Call concatenated_filename, not
	xconcatenated_filename. Call strdup, not xstrdup. Upon out-of-memory,
	return NULL with errno set.
	* modules/findprog-in (Depends-on): Remove xconcat-filename, xalloc. Add
	concat-filename, strdup-posix, malloc-posix.

2020-12-09  Bruno Haible  <bruno@clisp.org>

	fmaf: Work around a bug on FreeBSD 12.2/arm.
	* m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Add one more test.
	* doc/posix-functions/fmaf.texi: Mention the FreeBSD bug.

2020-12-09  Bruno Haible  <bruno@clisp.org>

	threadlib: Fix test-fstrcmp failure on FreeBSD 11.
	* m4/threadlib.m4 (gl_THREADLIB_BODY): When weak symbols are not present
	on FreeBSD, define PTHREAD_IN_USE_DETECTION_HARD.
	* lib/glthread/threadlib.c: Include <errno.h>.
	(glthread_in_use): For FreeBSD, provide an alternative implementation
	that uses pthread_key_create.

2020-12-09  Bruno Haible  <bruno@clisp.org>

	math C++ tests: Fix compilation error in with clang >= 7 on FreeBSD.
	* lib/math.in.h (isnan): For clang >= 7 on FreeBSD, declare 'rpl_isnan',
	not 'isnan'.

2020-12-08  Bruno Haible  <bruno@clisp.org>

	std-gnu11: Make compatible with Autoconf 2.70.
	* m4/std-gnu11.m4: Disable the entire file if Autoconf >= 2.70 is in
	use.

2020-12-08  Bruno Haible  <bruno@clisp.org>

	argp: Avoid undefined behaviour when invoking qsort().
	This fixes a test-argp-2.sh test failure on macOS and FreeBSD.
	Reported by Jeffrey Walton <noloader@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00085.html>.
	* lib/argp-help.c (group_cmp): Remove third argument.
	(hol_sibling_cluster_cmp, hol_cousin_cluster_cmp): New functions, based
	upon hol_cluster_cmp.
	(hol_cluster_cmp): Use hol_cousin_cluster_cmp.
	(hol_entry_cmp): Rewritten to implement a total order.

2020-12-08  Bruno Haible  <bruno@clisp.org>

	argp: Improve comments.
	* lib/argp-help.c: Add sectioning comments. Write NULL to designate a
	null pointer.
	(struct hol_entry): Fix comment regarding sort order of group.
	(hol_entry_short_iterate, hol_entry_long_iterate): Add comment.
	(until_short, canon_doc_option, hol_entry_qcmp): Improve comment.
	(hol_cluster_is_child, argp_hol): Move functions.
	(HOL_ENTRY_PTRCMP): Remove unused macro.

2020-12-08  Bruno Haible  <bruno@clisp.org>

	argp: Don't pass invalid arguments to isspace() and isalnum().
	* lib/argp-help.c (canon_doc_option): Cast character to 'unsigned int'
	before passing it to isspace() or isalnum().

2020-12-08  Bruno Haible  <bruno@clisp.org>

	argp: Don't rely on undefined behaviour of _tolower().
	Patch by Eric Blake
	<https://lists.gnu.org/archive/html/bug-gnulib/2009-09/msg00287.html>.
	* lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values that are
	not upper-case.  Pass correct range to tolower.

2020-12-07  Bruno Haible  <bruno@clisp.org>

	unicodeio: Fix wrong result on FreeBSD.
	* lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
	characters on all platforms.

2020-12-07  Bruno Haible  <bruno@clisp.org>

	get-rusage-data tests: Avoid test failure on FreeBSD/x86_64.
	* tests/test-get-rusage-data.c (main): Don't expect a strict increase on
	FreeBSD systems.

2020-12-07  Bruno Haible  <bruno@clisp.org>

	get-rusage-data: Fix link error on FreeBSD 12.2/arm64.
	* modules/get-rusage-data (configure.ac): Test whether sbrk exists.
	* lib/get-rusage-data.c (get_rusage_data_via_setrlimit): Define
	trivially of sbrk is not available.
	* doc/glibc-functions/sbrk.texi: Mention that the function does not
	exist in FreeBSD 12.2/arm64.
	* doc/glibc-functions/brk.texi: Likewise.

2020-12-07  Bruno Haible  <bruno@clisp.org>

	Correct interaction between gl_ANSI_CXX and AC_PROG_CXX.
	Suggested by Zack Weinberg in
	<https://savannah.gnu.org/support/?110294>.
	* m4/ansi-c++.m4 (gl_ANSI_CXX): Mark AC_PROG_CXX as provided.
	* modules/uchar-c++-tests: Revert the workaround from 2020-08-18.

2020-12-07  Bruno Haible  <bruno@clisp.org>

	Tweak the Windows oldnames workaround.
	Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00073.html>.
	* lib/unistd.in.h: On native Windows, include <io.h> and <direct.h>
	always.
	(getcwd): Use _GL_CXXALIAS_MDA_CAST.
	* lib/stdlib.in.h (putenv): Likewise.

2020-12-06  Paul Eggert  <eggert@cs.ucla.edu>

	doc: fix flat address space discussion
	* doc/gnulib-readme.texi (Other portability assumptions):
	Move the all-bits-zero assumption outside the flat address space
	section, since the two issues are independent.

	doc: document -static-libubsan more
	* doc/gnulib-readme.texi (High Quality): Document pros and cons of
	-static-libubsan a bit more.  Mostly cons.

2020-12-06  Bruno Haible  <bruno@clisp.org>

	doc: Add more details regarding the undefined behaviour sanitizer.
	* doc/gnulib-readme.texi (High Quality): Describe
	-fsanitize-undefined-trap-on-error better.

2020-12-06  Bruno Haible  <bruno@clisp.org>

	Do the Windows oldnames workaround through the C++ GNULIB_NAMESPACE.
	Reported by Daniel R. Hurtmans <Daniel.Hurtmans@ulb.ac.be> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00029.html>.
	* lib/c++defs.h (_GL_CXXALIAS_MDA_CAST): New macro.
	* lib/fcntl.in.h (creat, open):  In C++ mode, when GNULIB_NAMESPACE is
	defined: 1. Define a symbol in this namespace. 2. Don't redirect using
	a preprocessor #define.
	* lib/math.in.h (j0, j1, jn, y0, y1, yn): Likewise.
	* lib/search.in.h (lfind, lsearch): Likewise.
	* lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
	Likewise.
	* lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
	* lib/string.in.h (memccpy, strdup): Likewise.
	* lib/sys_stat.in.h (chmod, umask): Likewise.
	* lib/time.in.h (tzset): Likewise.
	* lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
	execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
	read, rmdir, swab, unlink, write): Likewise.
	* lib/utime.in.h (utime): Likewise.
	* lib/wchar.in.h (wcsdup): Likewise.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FCLOSEALL.
	(gl_STDIO_H): Set HAVE_DECL_FCLOSEALL.
	* modules/stdio (Makefile.am): Substitute HAVE_DECL_FCLOSEALL.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_ECVT,
	HAVE_DECL_FCVT, HAVE_DECL_GCVT.
	(gl_STDLIB_H): Set HAVE_DECL_ECVT, HAVE_DECL_FCVT, HAVE_DECL_GCVT.
	* modules/stdlib (Makefile.am): Substitute HAVE_DECL_ECVT,
	HAVE_DECL_FCVT, HAVE_DECL_GCVT.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_EXECVPE.
	(gl_UNISTD_H): Set HAVE_DECL_EXECVPE.
	* modules/unistd (Makefile.am): Substitute HAVE_DECL_EXECVPE.
	* m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCSDUP.
	(gl_WCHAR_H): Set HAVE_DECL_WCSDUP.
	* modules/wchar (Makefile.am): Substitute HAVE_DECL_WCSDUP.

2020-12-06  Bruno Haible  <bruno@clisp.org>

	doc: Mention some missing function declarations.
	* doc/glibc-functions/execvpe.texi: Mention the missing declaration on
	AIX.
	* doc/glibc-functions/fcloseall.texi: Mention the missing declaration on
	FreeBSD.
	* doc/pastposix-functions/ecvt.texi: Mention the missing declaration on
	Cygwin.
	* doc/pastposix-functions/fcvt.texi: Likewise.
	* doc/pastposix-functions/gcvt.texi: Likewise.

2020-12-06  Bruno Haible  <bruno@clisp.org>

	doc: Tweak example.
	* doc/intprops.texi (Checking Integer Overflow): Use 'printf', not
	'print'.

2020-12-06  Bruno Haible  <bruno@clisp.org>

	filenamecat-tests: Use idx_t for nonnegative ptrdiff_t variables.
	* tests/test-filenamecat.c: Include idx.h.
	(main): Mark prefixlen as nonnegative.
	* modules/filenamecat-tests (Depends-on): Add idx.

2020-12-06  Bruno Haible  <bruno@clisp.org>

	time_rz: Use idx_t for nonnegative ptrdiff_t variables.
	* lib/time_rz.c: Include idx.h.
	(save_abbr): Mark zone_size as nonnegative.
	* modules/time_rz (Depends-on): Add idx.

2020-12-06  Bruno Haible  <bruno@clisp.org>

	parse-datetime: Use idx_t for nonnegative ptrdiff_t variables.
	* lib/parse-datetime.y: Include idx.h.
	(textint): Mark digits as nonnegative.
	(parser_control): Mark dates_seen, days_seen, local_zones_seen,
	dsts_seen, times_seen, zones_seen as nonnegative.
	(lookup_word): Mark wordlen as nonnegative.
	(yylex): Mark count as nonnegative.
	(parse_datetime2): Mark tzsize as nonnegative.
	* modules/parse-datetime (Depends-on): Add idx.

2020-12-06  Bruno Haible  <bruno@clisp.org>

	fnmatch: Use idx_t for nonnegative ptrdiff_t variables.
	* lib/fnmatch.c: Include idx.h. In glibc, define idx_t directly.
	* lib/fnmatch_loop.c (EXT): Mark slen, new_used, plensize as
	nonnegative.
	* modules/fnmatch (Depends-on): Add idx.

2020-12-06  Bruno Haible  <bruno@clisp.org>

	c-stack: Use idx_t for nonnegative ptrdiff_t variables.
	* lib/c-stack.c: Include idx.h.
	(die): Mark buflen as nonnegative.
	* modules/c-stack (Depends-on): Add idx.

2020-12-06  Bruno Haible  <bruno@clisp.org>

	backupfile: Use idx_t for nonnegative ptrdiff_t variables.
	* lib/backupfile.c: Include idx.h.
	(numbered_backup): Mark base_offset as nonnegative.
	(backupfile_internal): Likewise.
	* modules/backup-rename (Depends-on): Add idx.
	* modules/backupfile (Depends-on): Likewise.

2020-12-05  Paul Eggert  <eggert@cs.ucla.edu>

	doc: fix curved quotes issue
	* doc/gnulib.texi: Set txicodequoteundirected and
	txicodequotebacktick so that ` and ' in examples do not generate
	curved single quotes that do the wrong thing when cut and pasted.

	doc: mention static and dynamic checking
	* doc/gnulib-readme.texi (High Quality): Add a bit of advice
	for static and dynamic checking.

	intprops: Add INT_ADD_OK etc.
	* doc/intprops.texi (Checking Integer Overflow): New section.
	* lib/intprops.h: From a suggestion by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2020-12/msg00051.html
	(SAFE_INT_ADD, SAFE_INT_SUBTRACT, SAFE_INT_MULTIPLY): New macros.

	doc: move exotic platfroms to Target Platforms
	* doc/gnulib-intro.texi (Supported Platforms)
	(Formerly Supported Platforms, Unsupported Platforms):
	New subsections, split off from Target Platforms.
	(Unsupported Platforms): Move the exotic-platform stuff here ...
	* doc/gnulib-readme.texi (Exotic platforms): ... from this removed
	section.

	doc: mention intptr_t etc. and IBM i
	* doc/gnulib-readme.texi (Other portability assumptions):
	Mention intptr_t and uintptr_t, and that arithmetic on them
	works in the usual way.
	(Exotic platforms): New section, containing material from
	the old 'Integer Portability' section.  Also mention IBM i.
	* doc/intprops.texi (Wraparound Arithmetic):
	Say that the macros work on unsigned integers too.
	(Integer Portability): Remove.

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

	utime: Fix a test failure on macOS 10.13.
	Reported by Martin Storsjö <martin@martin.st> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
	* m4/utime.m4 (gl_FUNC_UTIME): Test whether utime handles trailing
	slashes on files.
	* lib/utime.c (utime): Add alternative implementation for Unix
	platforms.
	* modules/utime (Depends-on): Add stat.
	* doc/posix-functions/utime.texi: Mention the macOS 10.13 bug.
	* doc/posix-functions/lstat.texi: Mention that macOS 10.13 also has the
	trailing-slash bug.
	* doc/posix-functions/open.texi: Likewise.
	* doc/posix-functions/stat.texi: Likewise.
	* doc/posix-functions/symlink.texi: Likewise.

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

	intprops: update doc and mention Unisys
	* doc/gnulib-readme.texi (Other portability assumptions):
	Also mention ptrdiff_t when talking about widths and overflow.
	* doc/intprops.texi (Integer Properties): Summarize new section.
	(Arithmetic Type Properties): Document that EXPR_SIGNED no longer
	evaluates its argument.
	(Integer Bounds): Fix typo.
	(Wraparound Arithmetic): Remove obsolete comment about efficiency.
	Document that the _WRAPV macros now support pointers to unsigned
	integers.
	(Integer Range Overflow): Update SEI CERT citation.
	(Integer Portability): New subsection, which mentions
	the oddball Unisys platforms as non-Gnulib targets.

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

	idx: Clarify that idx_t always behaves like a signed type.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00034.html>.
	* lib/idx.h: Clarify that idx_t always behaves like a signed type.
	Don't test UNSIGNED_IDX_T.

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

	idx: New module.
	* lib/idx.h: New file.
	* modules/idx: New file.
	* lib/canonicalize-lgpl.c: Include idx.h. Use idx_t instead of
	ptrdiff_t.
	* lib/canonicalize.c: Likewise.
	* modules/canonicalize-lgpl (Depends-on): Add idx.
	* modules/canonicalize (Depends-on): Likewise.

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

	fprintf-posix-tests: Avoid a test failure on macOS 10.13.
	Reported by Martin Storsjö <martin@martin.st> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
	* tests/test-fprintf-posix3.c: Skip the test on macOS.
	(main): Return a different exit code at each point. Allow 100 KB extra
	memory consumption.
	* tests/test-fprintf-posix3.sh: Update. Remove the "get_rusage_as()
	doesn't work" diagnostic.

2020-12-02  Paul Eggert  <eggert@cs.ucla.edu>

	canonicalize: refactor can_mode flag
	* lib/canonicalize.c (MULTIPLE_BITS_SET): Remove, replacing with ...
	(multiple_bits_set): ... this new static function.  Uses changed.
	(canonicalize_filename_mode): Refactor for clarity to avoid
	modifying the CAN_MODE argument.

	canonicalize: prefer signed integer types
	* lib/canonicalize.c: Include stddef.h, for ptrdiff_t.
	(seen_triple, canonicalize_filename_mode): Prefer signed to
	unsigned types where either will do, as they avoid some glitches
	in comparisons and can trap on overflow when debugging.

	canonicalize: fix most of another EOVERFLOW issue
	* lib/canonicalize.c (canonicalize_filename_mode):
	Do not call stat if fewer than 20 symlinks have been traversed.
	This avoids EOVERFLOW failure in the common case where there
	are not that many symlinks, while continuing to catch loops
	(or fail due to EOVERFLOW) in the unusual case when there
	are many symlinks to traverse.

	canonicalize: do not assume symlinks have st_ino
	* lib/canonicalize.c (canonicalize_filename_mode):
	When checking for loops, use st_dev and st_ino from the parent
	directory not from the symlink, as pre-2017 POSIX says these
	members are not reliable for symlinks.  Couple this with START
	(the remaining file name to be resolved), not NAME (the whole file
	name with START as its suffix).
	* modules/canonicalize (Depends-on): Depend on stat, not lstat.

	canonicalize: fix EOVERFLOW bug
	* lib/canonicalize.c (canonicalize_filename_mode):
	When testing whether a directory entry is a symbolic link, or a
	directory or other, do not use lstat or stat or
	areadlink_with_size.  Just use areadlink, as this suffices and it
	avoids the EOVERFLOW problem that lstat and stat have.
	* modules/canonicalize (Depends-on): Depend on areadlink instead
	of areadlink-with-size and stat.

	canonicalize-lgpl: fix EOVERFLOW bug
	* lib/canonicalize-lgpl.c: Do not include <sys/stat.h>.
	(__realpath): Do not use lstat.  Just use readlink, as this
	suffices and it avoids the EOVERFLOW problem that lstat has.
	* modules/canonicalize-lgpl (Depends-on): Remove lstat, sys_stat.

2020-12-02  Bruno Haible  <bruno@clisp.org>

	strsignal-tests: Fix test failure on macOS 10.13.
	Reported by Martin Storsjö <martin@martin.st> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
	* tests/test-strsignal.c (ASSERT_DESCRIPTION): Allow the actual result
	to be longer than the expected result.

2020-12-02  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors in test-math-c++.cc on FreeBSD 12.2/arm64.
	* lib/math.in.h (_GL_INCLUDING_MATH_H): New macro, to work around
	recursive self-include problem on FreeBSD 12.2 in C++ mode.

2020-12-02  Bruno Haible  <bruno@clisp.org>

	spawn-pipe: Allow caller to specify directory for the subprocess.
	* lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
	Add directory argument.
	* lib/spawn-pipe.c: Include canonicalize.h, filename.h, findprog.h.
	(create_pipe): Add directory argument. If specified, resolve the program
	file name and make it absolute, first. Pass the directory to spawnpvech
	and posix_spawn_file_actions_addchdir.
	(create_pipe_bidi, create_pipe_in, create_pipe_out): Add directory
	argument.
	* modules/spawn-pipe (Depends-on): Add canonicalize, filename,
	findprog-in, posix_spawn, posix_spawn_file_actions_addchdir.
	* tests/test-spawn-pipe-main.c (test_pipe): Update.
	* NEWS: Mention the change.
	* lib/csharpcomp.c (compile_csharp_using_mono,
	compile_csharp_using_sscli): Update.
	* lib/javacomp.c (is_envjavac_gcj, is_envjavac_gcj43, is_gcj_present,
	is_gcj_43): Update.
	* lib/javaversion.c (execute_and_read_line): Update.
	* lib/pipe-filter-gi.c (pipe_filter_gi_create): Update.
	* lib/pipe-filter-ii.c (pipe_filter_ii_execute): Update.

2020-12-02  Bruno Haible  <bruno@clisp.org>

	execute: Allow caller to specify directory for the subprocess.
	* lib/execute.h (execute): Add directory argument.
	* lib/execute.c: Include canonicalize.h, filename.h, findprog.h.
	(execute): Add directory argument. If specified, resolve the program
	file name and make it absolute, first. Pass the directory to spawnpvech
	and posix_spawn_file_actions_addchdir.
	* modules/execute (Depends-on): Add canonicalize, filename, findprog-in,
	posix_spawn, posix_spawn_file_actions_addchdir.
	* tests/test-execute-main.c: Add test for passing a directory.
	* tests/test-execute-child.c: Likewise.
	* tests/test-execute.sh: Update.
	* modules/execute-tests (Depends-on): Add mkdir.
	* NEWS: Mention the change.
	* lib/csharpcomp.c (compile_csharp_using_sscli): Update.
	* lib/csharpexec.c (execute_csharp_using_mono,
	execute_csharp_using_sscli): Update.
	* lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
	compile_using_javac, compile_using_jikes, is_javac_present,
	is_jikes_present): Update.
	* lib/javaexec.c (execute_java_class): Update.

2020-12-01  Bruno Haible  <bruno@clisp.org>

	vma-iter: Add support for macOS11/arm64.
	Patch suggested by Hill Ma <maahiuzeon@gmail.com> in
	<https://gitlab.com/gnu-clisp/clisp/-/issues/27>
	and by Martin Storsjö <martin@martin.st> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00003.html>.
	* lib/vma-iter.c (vma_iterate): On arm64, use 64-bit type definitions.

2020-12-01  Bruno Haible  <bruno@clisp.org>

	spawn-pipe: Fix handling of OS/2 kLIBC.
	Reported by KO Myung-Hun <komh78@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-12/msg00005.html>.
	* modules/spawn-pipe (configure.ac): Use the common idiom for
	recognizing the OS/2 operating system.

2020-11-30  Bruno Haible  <bruno@clisp.org>

	execute: Fix uninitialized use of errno.
	* lib/execute.c (execute): Preserve errno across several system calls.

2020-11-30  Bruno Haible  <bruno@clisp.org>

	access tests: Fix test failure on native Windows.
	* tests/test-access.c (main): Change permissions of f2 file before
	attempting to remove it.

2020-11-30  Paul Eggert  <eggert@cs.ucla.edu>

	faccessat: link with $(LIB_EACCESS)
	* modules/faccessat (Link:): Add $(LIB_EACCESS), since this
	module depends on euidaccess.

2020-11-30  Bruno Haible  <bruno@clisp.org>

	execute, spawn-pipe: Make multithread-safe on native Windows.
	* lib/windows-spawn.h: Include <stdint.h>, <windows.h>.
	(dup_safer_noinherit, undup_safer_noinherit): Remove declarations.
	(spawnpvech): New declaration.
	* lib/windows-spawn.c: Include <stdio.h>, <process.h>, findprog.h.
	Don't include <unistd.h>, cloexec.h, error.h, gettext.h.
	(_): Remove macro.
	(dup_noinherit, fd_safer_noinherit, dup_safer_noinherit,
	undup_safer_noinherit): Remove functions.
	(spawnpvech): New function.
	* modules/windows-spawn (Depends-on): Add findprog-in, stdint. Remove
	cloexec, dup2, error, gettext-h.
	* lib/execute.c: Include msvc-nothrow.h.
	(execute) [WIN32]: Use _get_osfhandle, spawnpvech instead of _spawnvpe.
	* lib/spawn-pipe.c: Include msvc-nothrow.h.
	(create_pipe) [WIN32]: Use _get_osfhandle, DuplicateHandle, spawnpvech
	instead of _spawnvpe.
	* modules/execute (Depends-on): Add msvc-nothrow.
	* modules/spawn-pipe (Depends-on): Likewise.

2020-11-30  Bruno Haible  <bruno@clisp.org>

	execute, spawn-pipe: Improve documentation.
	* lib/execute.h: Describe progname, prog_path, prog_argv.
	* lib/spawn-pipe.h: Likewise.

2020-11-30  Bruno Haible  <bruno@clisp.org>

	execute tests: Add more tests.
	* tests/test-execute-main.c: Add tests for reading, writing, isatty on
	inherited file descriptors >= 3.
	* tests/test-execute-child.c: Likewise.
	* tests/test-execute.sh: Update.

2020-11-30  Bruno Haible  <bruno@clisp.org>

	havelib: Fix for non-ELF platforms (regression 2019-11-17).
	Reported by comex <comexk@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00188.html>.
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On non-ELF platforms,
	don't expect an ELF header.

2020-11-29  Akim Demaille  <akim@lrde.epita.fr>

	bitset: use integer_length in table implementation
	* lib/bitset/table.c (tbitset_list_reverse): Use
	BITSET_FOR_EACH_BIT_REVERSE.

2020-11-29  Akim Demaille  <akim@lrde.epita.fr>

	bitset: use integer_length in list implementation
	* lib/bitset/list.c (lbitset_list_reverse): Use
	BITSET_FOR_EACH_BIT_REVERSE.

2020-11-29  Akim Demaille  <akim@lrde.epita.fr>

	bitset: use integer_length in vector implementation
	* lib/bitset/array.c (vbitset_list_reverse): Use
	BITSET_FOR_EACH_BIT_REVERSE.

2020-11-29  Akim Demaille  <akim@lrde.epita.fr>

	bitset: use integer_length in array implementation
	* modules/bitset (Depends-on): Add integer_length_l.
	* lib/bitset/base.h (bitset_fls_, BITSET_FOR_EACH_BIT_REVERSE): New.
	* lib/bitset/array.c (abitset_list_reverse): Use it.

2020-11-29  Akim Demaille  <akim@lrde.epita.fr>

	bitset: style: use consistent names
	* bitset/list.c (lbitset_list_reverse): Rename 'bcount' as 'bitcnt',
	and 'boffset' as 'bitoff', for consistency with the other
	implementations.
	* bitset/table.c (tbitset_list_reverse): Likewise.

2020-11-29  Akim Demaille  <akim@lrde.epita.fr>

	bitset: style: sort header
	* lib/bitset/base.h (bitset_ffs): Rename as...
	(bitset_ffs_): this.
	(bitset_ffs_, BITSET_FOR_EACH_BIT): Move to better places.

2020-11-29  Akim Demaille  <akim@lrde.epita.fr>

	bitset: tests: check BITSET_FOR_EACH_REVERSE
	* tests/test-bitset.c (compare, check_zero, check_one_bit, check_ones):
	Check BITSET_FOR_EACH_REVERSE.

2020-11-29  Bruno Haible  <bruno@clisp.org>

	spawn-pipe tests: Fix test failure with MSVC.
	* tests/test-spawn-pipe-child.c: Include <stdint.h>.
	(gl_msvc_invalid_parameter_handler): New function.
	(main): Set a global invalid-parameter handler.
	* modules/spawn-pipe-tests (Depends-on): Add msvc-inval, stdint.

2020-11-29  Bruno Haible  <bruno@clisp.org>

	execute: Add tests.
	* tests/test-execute.sh: New file.
	* tests/test-execute-main.c: New file.
	* tests/test-execute-child.c: New file.
	* modules/execute-tests: New file.

2020-11-29  Bruno Haible  <bruno@clisp.org>

	fcntl: Work around NetBSD bug with F_DUPFD_CLOEXEC.
	* m4/fcntl.m4 (gl_FUNC_FCNTL): Test whether F_DUPFD_CLOEXEC actually
	works.
	* lib/fcntl.c (rpl_fcntl_DUPFD_CLOEXEC): On NetBSD, use the same
	fallback implementation as on Haiku.
	* tests/test-fcntl.c (main): Add a test whether F_DUPFD_CLOEXEC is
	effective.
	* doc/posix-functions/fcntl.texi: Mention the NetBSD bug.

2020-11-29  Bruno Haible  <bruno@clisp.org>

	spawn-pipe: Fix build on OS/2 kLIBC (regression 2020-11-28).
	* lib/os2-spawn.h: New file, based on lib/windows-spawn.h.
	* lib/os2-spawn.c: New file, based on lib/windows-spawn.c.
	* lib/spawn-pipe.c: On OS/2 kLIBC, include "os2-spawn.h".
	* lib/windows-spawn.c: Remove modifications for kLIBC.
	* modules/spawn-pipe (Files): Add the new files.
	(configure.ac): Arrange to compile os2-spawn.c on OS/2.

2020-11-28  Bruno Haible  <bruno@clisp.org>

	asyncsafe-spin: Fix compilation error with GCC on 32-bit SPARC.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00066.html>.
	* m4/sparcv8+.m4: New file.
	* modules/sparcv8+: New file.
	* modules/asyncsafe-spin (Depends-on): Add sparcv8+.

2020-11-28  Bruno Haible  <bruno@clisp.org>

	asyncsafe-spin: Fix build error with GCC on 32-bit SPARC.
	* lib/asyncsafe-spin.c: Don't use GCC >= 4.1 primitives on SPARC.

2020-11-28  Bruno Haible  <bruno@clisp.org>

	windows-spawn: New module.
	* lib/windows-spawn.h: Renamed from lib/w32spawn.h. Remove
	implementations.
	* lib/windows-spawn.c: Renamed from lib/w32spawn.h.
	* modules/windows-spawn: New file.
	* lib/execute.c: Include "windows-spawn.h" instead of "w32spawn.h".
	* lib/spawn-pipe.c: Likewise.
	* modules/execute (Files): Remove lib/w32spawn.h.
	(Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
	xalloc.
	(Makefile.am): Remove w32spawn.h from lib_SOURCES.
	* modules/spawn-pipe (Files): Remove lib/w32spawn.h.
	(Depends-on): Add windows-spawn. Remove cloexec, msvc-nothrow, strpbrk,
	xalloc.
	(Makefile.am): Remove w32spawn.h from lib_SOURCES.

2020-11-27  Bruno Haible  <bruno@clisp.org>

	ssfmalloc tests: Port to macOS 11.
	* tests/test-ssfmalloc.c (PAGESIZE_MAX): Set to 16384, not 8192.

2020-11-26  Bruno Haible  <bruno@clisp.org>

	Fix dependencies of modules that use '_exit' on native Windows.
	Reported by Jim Meyering in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00159.html>.
	* modules/_Exit (Depends-on): Add unistd.
	* modules/closein (Depends-on): Likewise.
	* modules/closeout (Depends-on): Likewise.
	* modules/forkpty (Depends-on): Likewise.
	* modules/posix_spawn-internal (Depends-on): Likewise.
	* modules/savewd (Depends-on): Likewise.
	* modules/stat-time-tests (Depends-on): Likewise.

2020-11-26  Bruno Haible  <bruno@clisp.org>

	raise-tests: Fix compilation error on MSVC (regression 2020-11-25).
	* modules/raise-tests (Depends-on): Add unistd.
	* doc/posix-functions/_exit.texi: Mention the 'unistd' module.

2020-11-25  Jim Meyering  <meyering@fb.com>

	setlocale-tests: do not trigger gcc's -Wanalyzer-possible-null-argument
	* tests/test-setlocale1.c (main): Assert that each strcmp argument is
	non-NULL, since we don't bother handing strdup failure.

	raise-tests: avoid GCC 11's new exit-from-signal-handler warning
	gcc's -Wanalyzer-unsafe-call-within-signal-handler exposed this.
	* tests/test-raise.c: Include unistd.h.
	(handler): Use _exit, not exit.

2020-11-23  Bruno Haible  <bruno@clisp.org>

	Use the correct printf format attribute for mingw.
	Reported by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00133.html>.

	* modules/vfprintf-posix (configure.ac): Define GNULIB_VFPRINTF_POSIX.
	* modules/vprintf-posix (configure.ac): Define GNULIB_VPRINTF_POSIX.

	* lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF_STANDARD,
	_GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM): New macros.
	(_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
	_GL_ATTRIBUTE_FORMAT_PRINTF. Use _GL_ATTRIBUTE_SPEC_PRINTF_STANDARD.
	(_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use
	_GL_ATTRIBUTE_SPEC_PRINTF_SYSTEM.

	* modules/vasnprintf (Depends-on): Add stdio.
	* lib/vasnprintf.h: Include <stdio.h>.
	(asnprintf, vasnprintf): Use the standard printf format attribute.

	* modules/xvasprintf (Depends-on): Add stdio.
	* lib/xvasprintf.h: Include <stdio.h>.
	(xasprintf, xvasprintf): Use the standard printf format attribute.

	* modules/xprintf (Depends-on): List stdio first.
	* lib/xprintf.h (xprintf, xvprintf): Use a printf format attribute that
	depends on GNULIB_VPRINTF_POSIX.
	(xfprintf, xvfprintf): Use a printf format attribute that depends on
	GNULIB_VFPRINTF_POSIX.

	* modules/c-vasnprintf (Depends-on): Add stdio.
	* lib/c-vasnprintf.h: Include <stdio.h>.
	(c_vasnprintf): Use the standard printf format attribute.

	* modules/c-vasprintf (Depends-on): Add stdio.
	* lib/c-vasprintf.h: Include <stdio.h>.
	(c_asprintf, c_vasprintf): Use the standard printf format attribute.

	* modules/c-vsnprintf (Depends-on): Add stdio.
	* lib/c-vsnprintf.h: Include <stdio.h>.
	(c_vsnprintf): Use the standard printf format attribute.

	* modules/c-snprintf (Depends-on): Add stdio.
	* lib/c-snprintf.h: Include <stdio.h>.
	(c_snprintf): Use the standard printf format attribute.

	* modules/c-xvasprintf (Depends-on): Add stdio.
	* lib/c-xvasprintf.h: Include <stdio.h>.
	(c_xasprintf, c_xvasprintf): Use the standard printf format attribute.

	* modules/error (Depends-on): Depend on stdio always.
	* lib/error.h: Include <stdio.h>.
	(_GL_ATTRIBUTE_SPEC_PRINTF): Remove macro.
	(error, error_at_line): Use a printf format attribute that depends on
	GNULIB_VFPRINTF_POSIX.
	* lib/error.c (_GL_ATTRIBUTE_FORMAT_PRINTF_STANDARD): Renamed from
	_GL_ATTRIBUTE_FORMAT_PRINTF.

	* modules/verror (Depends-on): Add stdio.
	* lib/verror.h: Include <stdio.h>. Don't include "error.h".
	(verror, verror_at_line): Use the standard printf format attribute.
	* lib/verror.c: Include "error.h".

	* modules/argp (Depends-on): Add stdio.
	* lib/argp.h (argp_error, __argp_error, argp_failure, __argp_failure):
	Use a printf format attribute that depends on GNULIB_VFPRINTF_POSIX.

	* modules/libtextstyle-optional (Depends-on): Add stdio.
	* lib/textstyle.in.h (ostream_printf, ostream_vprintf): Use the standard
	printf format attribute.

	* tests/test-nonblocking-misc.h (dbgfprintf): Use the standard printf
	format attribute.

2020-11-23  Pádraig Brady  <P@draigBrady.com>

	selinux-at, selinux-h: use const correct declarations
	* lib/se-selinux.in.h: Use const for "set" functions,
	to match current selinux, and support cleaner user code.
	* lib/selinux-at.c: Likewise.
	* lib/selinux-at.h: Likewise.

2020-11-22  Paul Eggert  <eggert@cs.ucla.edu>

	canonicalize-lgpl: fix memory leak
	* lib/canonicalize-lgpl.c (__realpath): Fix unlikely memory leak,
	which could have occurred if BUF was so large that malloc was
	called.  Do this by allocating EXTRA_BUF and BUF at the same time;
	this eliminates the need to free BUF separately.

2020-11-22  Bruno Haible  <bruno@clisp.org>

	Fix missing module dependencies to 'xalloc' (regression 2020-10-19).
	* modules/xvasprintf (Depends-on): Add xalloc.
	* modules/pipe-filter-gi (Depends-on): Likewise.
	* modules/execute (Depends-on): Likewise, for w32spawn.h.
	* modules/spawn-pipe (Depends-on): Likewise.

2020-11-22  Jose E. Marchesi  <jemarch@gnu.org>

	bootstrap: add option hooks
	* build-aux/bootstrap (bootstrap_print_option_usage_hook): Define.
	(bootstrap_option_hook): Likewise.
	(usage): Call bootstrap_print_option_usage_hook.

2020-11-22  Bruno Haible  <bruno@clisp.org>

	argp: Don't break getprogname on non-glibc systems.
	* m4/argp.m4 (gl_ARGP): Don't expect <argp.h> to exist when testing for
	program_invocation_name and program_invocation_short_name.

2020-11-22  Bruno Haible  <bruno@clisp.org>

	doc: Document <link.h>.
	* doc/glibc-headers/link.texi: New file.
	* doc/gnulib.texi: Include it.

2020-11-22  Bruno Haible  <bruno@clisp.org>

	doc: Add references to the LSB.
	* doc/glibc-functions/*.texi: Add references to LSB 5.0.
	* doc/posix-functions/*.texi: Likewise.

2020-11-22  Bruno Haible  <bruno@clisp.org>

	doc: Fix a makeinfo warning (regression 2020-11-03).
	* doc/posix-functions/aligned_alloc.texi: Add missing @item.

2020-11-21  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime: fix printf format typo
	* lib/parse-datetime.y (parse_datetime2): Fix format typo in
	previous patch to this file.  Problem reported by Chris Elvidge in
	<https://bugs.gnu.org/44763#32>.

	setlocale-null-tests: work around GCC bug 44511
	* tests/test-setlocale_null-mt-all.c:
	* tests/test-setlocale_null-mt-one.c:
	Ignore -Wreturn-type, to work around GCC bug 44511.

	nl_langinfo-tests: work around GCC bug 44511
	* tests/test-nl_langinfo-mt.c: Ignore -Wreturn-type, to work
	around a GCC bug <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44511>.
	Problem reported for GNU grep by Andreas Schwab
	<https://bugs.gnu.org/44535>.

	selinux-h: add stubs for selabel_open etc.
	Coreutils with --enable-gcc-warnings does not build on Ubuntu 20.10
	because matchpathcon is deprecated in favor of selabel_open etc.,
	so this patch adds stubs for these functions.
	* lib/se-label.c, lib/se-label.in.h, m4/selinux-label-h.m4: New files.
	* lib/se-selinux.in.h (struct selinux_opt): Add incomplete decl,
	as it is needed for selabel_open and selinux/selinux.h declares
	this type here.
	* modules/selinux-h (Files): Add the new files.
	(configure.ac): Add gl_HEADERS_SELINUX_LABEL_H.
	(lib_SOURCES): Add se-label.in.h, se-label.c.
	(BUILT_SOURCES): Add $(SELINUX_LABEL_H).
	(selinux/label.h): New rule, mimicking selinux/context.h.
	(MOSTLYCLEANFILES): Add selinux/label.h, selinux/label.h-t.
	(Include): Add selinux/label.h.

2020-11-21  Bruno Haible  <bruno@clisp.org>

	Update after 'test-driver' in Automake changed.
	* build-aux/test-driver.diff: Rebase.

2020-11-21  Daiki Ueno  <ueno@gnu.org>

	read-file: remove dead assignment
	* lib/read-file.c (fread_file): Remove dead assignment when
	RF_SENSITIVE is set, flagged by clang-analyzer.

2020-11-19  Akim Demaille  <akim@lrde.epita.fr>

	bitset: tests: exercise the stats too

	* tests/test-bitset.c: Display the stats at the end of the test.
	* lib/bitset/stats.c (bitset_log_histogram_print): When diplaying the
	last bin, display "256-..." rather that "256-511", since the last bin
	does count item greater than or equal to 256.

2020-11-19  Akim Demaille  <akim@lrde.epita.fr>

	bitset: tests: try harder to break it
	* tests/test-bitset.c (compare): Be ready to use bitsets larger than
	BITSET_LIST_SIZE.
	(main): Likewise.
	While at it, also exercise super small bitsets.

2020-11-19  Akim Demaille  <akim@lrde.epita.fr>

	bitset: use ffs where possible in the vector implementation
	* lib/bitset/vector.c (vbitset_list): Use BITSET_FOR_EACH_BIT.

2020-11-19  Akim Demaille  <akim@lrde.epita.fr>

	bitset: use ffs where possible in the table implementation
	* lib/bitset/table.c (tbitset_list): Use BITSET_FOR_EACH_BIT.

2020-11-19  Akim Demaille  <akim@lrde.epita.fr>

	bitset: check empty and full bitsets
	* tests/test-bitset.c (check_zero, check_ones): New.
	(check_attributes): Use them.

2020-11-19  Akim Demaille  <akim@lrde.epita.fr>

	bitset: be sure to always return a value
	* lib/bitset/array.c (abitset_small_list): Always update *next and
	return a value.

2020-11-19  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	vcs-to-changelog: Expect spaces in file names
	Reported by Thierry Bothorel <thierry.bothorel@zaclys.net> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00040.html>,
	* build-aux/vcstocl/vcs_git.py (exec_git_cmd): Do not transform
	tabs to spaces.
	(list_changes): Use tabs to identify file names.

2020-11-17  Akim Demaille  <akim@lrde.epita.fr>

	bitset: strengthen tests
	* tests/test-bitset.c (compare): Also check count.
	Deal only with random values, move the one-bit tests to...
	(check_one_bit): this new function.
	(check_attributes): Call it.

2020-11-17  Akim Demaille  <akim@lrde.epita.fr>

	bitset: fix iteration over table bitsets
	* lib/bitset/table.c (tbitset_list): Update bitno when windex is.

2020-11-17  Akim Demaille  <akim@lrde.epita.fr>

	bitset: rename internal details for consistency
	* lib/bitset/table.c: Rename all the EBITSET_ symbols as TBITSET_.

2020-11-17  Akim Demaille  <akim@lrde.epita.fr>

	bitset: test: run deterministic tests on several bitset sizes
	* tests/test-bitset.c (check_attributes): Run it with small and large
	sizes.

2020-11-17  Akim Demaille  <akim@lrde.epita.fr>

	bitset: use ffs where possible in the list implementation
	* lib/bitset/list.c (lbitset_list): Use BITSET_FOR_EACH_BIT.

2020-11-17  Akim Demaille  <akim@lrde.epita.fr>

	bitset: use ffs where possible in array implementation
	* lib/bitset/array.c (abitset_small_list): Use BITSET_FOR_EACH_BIT.

2020-11-17  Bruno Haible  <bruno@clisp.org>

	posixcheck: Don't enable GNULIB_POSIXCHECK in C++ mode.
	Reported by Tom G. Christensen <tgc@jupiterrise.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
	* m4/posixcheck.m4 (gl_POSIXCHECK): Don't define GNULIB_POSIXCHECK in
	C++ mode.

2020-11-17  Bruno Haible  <bruno@clisp.org>

	Fix error when GNULIB_POSIXCHECK is enabled (regression 2019-06-04).
	* lib/unistd.in.h (copy_file_range): Don't assume that copy_file_range
	is always declared.
	* m4/unistd_h.m4 (gl_UNISTD_H): Test whether copy_file_range is
	declared.

2020-11-17  Bruno Haible  <bruno@clisp.org>

	Fix link errors on AIX.
	* modules/clean-temp (Link): Link with $(LIBTHREAD).
	* modules/getumask (Link): Link with $(LIBTHREAD).
	* modules/getumask-tests (Makefile.am): Link test-getumask with
	$(LIBTHREAD).
	* modules/supersede (Link): Link with $(LIBTHREAD).
	* modules/supersede-tests (Makefile.am): Link test-supersede with
	$(LIBTHREAD).
	* modules/fatal-signal (Link): New section.
	* modules/execute (Link): New section.
	* modules/csharpexec (Link): Link with $(LIBTHREAD).
	* modules/javaexec (Link): Link with $(LIBTHREAD).
	* modules/spawn-pipe (Link): New section.
	* modules/spawn-pipe-tests (Makefile.am): Link test-spawn-pipe-main with
	$(LIBTHREAD).
	* modules/csharpcomp (Link): Link with $(LIBTHREAD).
	* modules/javacomp (Link): Link with $(LIBTHREAD).
	* modules/javaversion (Link): Link with $(LIBTHREAD).
	* modules/pipe-filter-gi (Link): New section.
	* modules/pipe-filter-gi-tests (Makefile.am): Link test-pipe-filter-gi1,
	test-pipe-filter-gi2-main with $(LIBTHREAD).
	* modules/pipe-filter-ii (Link): New section.
	* modules/pipe-filter-ii-tests (Makefile.am): Link test-pipe-filter-ii1,
	test-pipe-filter-ii2-main with $(LIBTHREAD).
	* modules/term-style-control (Link): New section.
	* modules/term-style-control-tests (Makefile.am): Link
	test-term-style-control-hello, test-term-style-control-yes with
	$(LIBTHREAD).
	* modules/wait-process (Link): New section.
	* modules/nonblocking-pipe-tests (Makefile.am): Link
	test-nonblocking-pipe-main with $(LIBTHREAD).
	* modules/nonblocking-socket-tests (Makefile.am): Link
	test-nonblocking-socket-main with $(LIBTHREAD).

2020-11-16  Bruno Haible  <bruno@clisp.org>

	Fix link errors on platforms with libunistring.
	* modules/c32isalnum (Link): New section.
	* modules/c32isalnum-tests (Makefile.am): Link test-c32isalnum with
	$(LIBUNISTRING).
	* modules/c32isalpha (Link): New section.
	* modules/c32isalpha-tests (Makefile.am): Link test-c32isalpha with
	$(LIBUNISTRING).
	* modules/c32isblank (Link): New section.
	* modules/c32isblank-tests (Makefile.am): Link test-c32isblank with
	$(LIBUNISTRING).
	* modules/c32iscntrl (Link): New section.
	* modules/c32iscntrl-tests (Makefile.am): Link test-c32iscntrl with
	$(LIBUNISTRING).
	* modules/c32isdigit (Link): New section.
	* modules/c32isdigit-tests (Makefile.am): Link test-c32isdigit with
	$(LIBUNISTRING).
	* modules/c32isgraph (Link): New section.
	* modules/c32isgraph-tests (Makefile.am): Link test-c32isgraph with
	$(LIBUNISTRING).
	* modules/c32islower (Link): New section.
	* modules/c32islower-tests (Makefile.am): Link test-c32islower with
	$(LIBUNISTRING).
	* modules/c32isprint (Link): New section.
	* modules/c32isprint-tests (Makefile.am): Link test-c32isprint with
	$(LIBUNISTRING).
	* modules/c32ispunct (Link): New section.
	* modules/c32ispunct-tests (Makefile.am): Link test-c32ispunct with
	$(LIBUNISTRING).
	* modules/c32isspace (Link): New section.
	* modules/c32isspace-tests (Makefile.am): Link test-c32isspace with
	$(LIBUNISTRING).
	* modules/c32isupper (Link): New section.
	* modules/c32isupper-tests (Makefile.am): Link test-c32isupper with
	$(LIBUNISTRING).
	* modules/c32isxdigit (Link): New section.
	* modules/c32isxdigit-tests (Makefile.am): Link test-c32isxdigit with
	$(LIBUNISTRING).
	* modules/unicodeio (Link): Mention $(LIBUNISTRING).
	* modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
	$(LIBUNISTRING).

2020-11-16  Bruno Haible  <bruno@clisp.org>

	Fix link errors on platforms with libintl (e.g. Solaris and AIX).
	Reported by Tom G. Christensen <tgc@jupiterrise.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00062.html>.
	* modules/getumask-tests (Makefile.am): Link test-getumask with
	$(LIBINTL).
	* modules/stack-tests (Makefile.am): Link test-stack with $(LIBINTL).
	* modules/supersede-tests (Makefile.am): Link test-supersede with
	$(LIBINTL).
	* modules/unicodeio-tests (Makefile.am): Link test-unicodeio with
	$(LIBINTL).

2020-11-16  Bruno Haible  <bruno@clisp.org>

	getumask: Document link dependencies.
	* modules/getumask (Link): New section.

2020-11-16  Bruno Haible  <bruno@clisp.org>

	Update link dependencies in modules after 2020-09-09 change.
	* modules/tempname (Link): Add $(LIB_CLOCK_GETTIME).
	* modules/mkdtemp (Link): Likewise.
	* modules/mkostemp (Link): Likewise.
	* modules/mkostemps (Link): Likewise.
	* modules/mkstemp (Link): Likewise.
	* modules/mkstemps (Link): Likewise.
	* modules/supersede (Link): Likewise.
	* modules/tmpfile (Link): Likewise.
	* modules/tmpfile-safer (Link): Likewise.

2020-11-15  Paul Eggert  <eggert@cs.ucla.edu>

	getumask-tests: port to Solaris 10 etc.
	Problem reported by Tom Christensen in:
	https://lists.gnu.org/r/bug-gnulib/2020-11/msg00062.html
	* modules/getumask-tests (test_getumask_LDADD):
	Add $(LIB_CLOCK_GETTIME).

2020-11-15  Akim Demaille  <akim@lrde.epita.fr>

	bitset: use ffsl to accelerate iterations over set bits
	Suggested by Bruno Haible.
	* modules/bitset: Depend upon ffsl.
	* lib/bitset/base.h (bitset_ffs, BITSET_FOR_EACH_BIT): New.
	* lib/bitset/array.c (abitset_list): Use BITSET_FOR_EACH_BIT.

2020-11-15  Akim Demaille  <akim@lrde.epita.fr>

	bitset: more tests
	* tests/test-bitset.c (compare): Make it clear that the random values
	should not be modified.
	Check bitset_first, bitset_last and BITSET_FOR_EACH.

2020-11-15  Akim Demaille  <akim@lrde.epita.fr>

	bitset: fix the copy from lbitset to other types
	* lib/bitset/list.c (lbitset_copy): Rename as...
	(lbitset_copy_): this.
	(lbitset_copy): New.
	Dispatch to heterogeneous/homogeneous copy.

2020-11-15  Akim Demaille  <akim@lrde.epita.fr>

	bitset: making debug traces more useful
	* lib/bitset.c (bitset_print): Print the bitset type in verbose mode.

	bitset: comment changes
	* lib/bitset.c: Move some documenting comments to...
	* lib/bitset.h: here.
	* lib/bitset/array.c: Fix some comments.

2020-11-14  Paul Eggert  <eggert@cs.ucla.edu>

	careadlinkat: warn better about GCC bug 93644
	* lib/careadlinkat.c (readlink_stk): When --enable-gcc-warnings is
	not in effect, use "#warning" to let builders know more clearly
	about GCC bug 93644, because the bug triggers even if no -W option
	is given to GCC.

2020-11-13  Jim Meyering  <meyering@fb.com>

	hard-locale-tests: avoid a -Wstrict-prototypes warning
	* tests/locale.c (main): Placate gcc's -Wstrict-prototypes by
	changing "main ()" to "main (void)". This was the only case that
	triggered a warning when building grep with --enable-gcc-warnings.

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

	time_rz: simplify CVE-2017-7476 fix
	* lib/time_rz.c: Do not include limits.h; I think it was included
	under the mistaken impression that limits.h defines SIZE_MAX.
	(SIZE_MAX): Remove.
	(save_abbr): Put string length into a ptrdiff_t variable,
	so that the size comparison works naturally.  This
	fixes CVE-2017-7476 in a cleaner way.

	parse-datetime: streamline overflow checking
	When parse-datetime.y’s overflow code was written, INT_ADD_WRAPV
	did not work for unsigned destinations, and since time_t might
	be unsigned that meant it did not work for time_t destinations.
	This limitation of INT_ADD_WRAPV has been fixed, so we can
	now streamline parse-datetime.y a bit.
	* lib/parse-datetime.y: Do not include limits.h, as LONG_MAX
	has not been used for a while.
	(yylex, parse_datetime2): Assume C99 declarations after statements.
	(yyles): Use INT_SUBTRACT_WRAPV instead of an explicit comparison
	to TYPE_MINIMUM.
	(parse_datetime2): No need for time_overflow now that
	INT_ADD_WRAPV works for unsigned results.

	parse-datetime-tests: port to Alpine Linux 3.12.1
	* tests/test-parse-datetime.c: Include errno.h for errno,
	and unistd.h for _SC_TZNAME_MAX and sysconf.
	(main): In the outlandishly-long time zone abbreviation test,
	do not exceed TZNAME_MAX as this has undefined behavior,
	and on Alpine Linux 3.12.1 it makes the test fail.

2020-11-09  Pádraig Brady  <P@draigBrady.com>

	mgetgroups: avoid warning with clang
	* lib/mgetgroups.c: Xcode-12.1 identifies as GCC 4.2.1,
	so disable -Wpointer-sign for all clang versions.

2020-11-07  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix link error with 'version-etc' (regression 2020-05-29).
	Reported by Simon Josefsson in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-11/msg00032.html>.
	* gnulib-tool (func_emit_tests_Makefile_am): Add libtests.a to
	LDADD a third time, after the second occurrence of ../lib/libgnu.a.
	* pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.

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

	tests: pacify Sun C 5.9
	Without these changes, Sun C 5.9 (2009/11/22) issues complaints like
	“"test-nl_langinfo-mt.c", line 75: warning: statement not reached”.
	* tests/test-nl_langinfo-mt.c (thread1_func, thread2_func)
	(thread3_func, thread4_func, thread5_func, thread6_func, threadN_func):
	* tests/test-setlocale_null-mt-all.c (thread1_func, thread2_func):
	* tests/test-setlocale_null-mt-one.c (thread1_func, thread2_func):
	Remove unreachable ‘return NULL;’s.

	tests: port better to XLC 12.01
	* tests/test-argmatch.c (CHECK): Do not use -1 as a subscript,
	even in code that is not executed, as IBM XLC 12.01 complains "The
	subscript -1 is less than zero."
	* tests/test-stdint.c (verify_width): Pass an (unused) 3rd
	argument to _GL_VERIFY, as ISO C requires.  Otherwise, IBM XLC
	12.01 complains "The invocation of macro _GL_VERIFY contains fewer
	arguments than are required by the macro definition."

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

	aligned-malloc: Use fixes from the new modules.
	* modules/aligned-malloc (Depends-on): Add posix_memalign,
	aligned_alloc, memalign.
	(configure.ac): Use AC_CHECK_FUNCS_ONCE.

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

	aligned_alloc: Add tests.
	* tests/test-aligned_alloc.c: New file.
	* modules/aligned_alloc-tests: New file.

	aligned_alloc: New module.
	* lib/stdlib.in.h (aligned_alloc): New declaration.
	* lib/aligned_alloc.c: New file.
	* m4/aligned_alloc.m4: New file.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Test whether aligned_alloc is declared.
	(gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ALIGNED_ALLOC,
	HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
	* modules/stdlib (Makefile.am): Substitute GNULIB_ALIGNED_ALLOC,
	HAVE_ALIGNED_ALLOC, REPLACE_ALIGNED_ALLOC.
	* modules/aligned_alloc: New file.
	* tests/test-stdlib-c++.cc (aligned_alloc): Check signature.
	* doc/posix-functions/aligned_alloc.texi: Mention the new module and the
	AIX bug.

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

	posix_memalign: Add tests.
	* tests/test-posix_memalign.c: New file.
	* modules/posix_memalign-tests: New file.

	posix_memalign: New module.
	* lib/stdlib.in.h (posix_memalign): New declaration.
	* lib/posix_memalign.c: New file.
	* m4/posix_memalign.m4: New file.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Test whether posix_memalign is declared.
	(gl_STDLIB_H_DEFAULTS): Initialize GNULIB_POSIX_MEMALIGN,
	HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
	* modules/stdlib (Makefile.am): Substitute GNULIB_POSIX_MEMALIGN,
	HAVE_POSIX_MEMALIGN, REPLACE_POSIX_MEMALIGN.
	* modules/posix_memalign: New file.
	* tests/test-stdlib-c++.cc (posix_memalign): Check signature.
	* doc/posix-functions/posix_memalign.texi: Mention the new module and
	the OpenBSD bug.

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

	memalign: Add tests.
	* tests/test-memalign.c: New file.
	* modules/memalign-tests: New file.

	memalign: New module.
	* modules/memalign: New file.
	* doc/glibc-functions/memalign.texi: Mention the new module.

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

	verify tests: Fix crash with GCC (regression 2020-11-02).
	* tests/test-verify.c (main): Fix initializer of s.

2020-11-03  Pádraig Brady  <P@draigBrady.com>

	mountlist: recognize more file system types as remote

	* lib/mountlist.c (ME_REMOTE): Sync previously unconsidered
	"remote" file systems from stat.c in coreutils.

2020-11-02  Bernhard Voelker  <mail@bernhard-voelker.de>

	verify tests: Fix -Wuninitialized warning (regression 2020-10-30).
	* tests/test-verify.c (main): Initialize state variable.
	Reported by Bruno Haible for GCC 5.4.0.

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

	dfa.h: support inclusion from C++
	* lib/dfa.h: Allow multiple inclusion, and inclusion from
	C++ code.  The latter was suggested by Arnold Robbins.

2020-11-01  Bruno Haible  <bruno@clisp.org>

	ssfmalloc tests: Portability to Linux/PowerPC and Linux/SPARC.
	* tests/test-ssfmalloc.c: Include <limits.h>.
	(PAGESIZE_MAX): Set to 65536 on Linux/PowerPC.

2020-11-01  Bruno Haible  <bruno@clisp.org>

	verify tests: Fix compilation error with MSVC (regression 2020-10-30).
	* tests/test-verify.c (test_assume_noreturn): Fix declaration.

2020-11-01  Jim Meyering  <meyering@fb.com>

	dfa-tests: test for today's invalid-merge fix
	* tests/test-dfa-invalid-merge.sh: New file.
	* modules/dfa-tests (Files): Add it.
	(TESTS): Add it.

2020-11-01  Norihiro Tanaka  <noritnk@kcn.ne.jp>

	dfa: retain sequences of similar nodes in optimization
	DFA was merging similar nodes when it should not.  For example,
	it would convert a+a+a to a+a.  Now, a sequence of similar nodes
	is not merged.  Problem reported by Gonzalo Padrino in
	https://bugs.gnu.org/44351
	* lib/dfa.c (merge_nfa_state): Skip the follow for repetition in
	optimization.

2020-11-01  Jim Meyering  <meyering@fb.com>

	test-dfa-match-aux.c: accept EREs, not BREs
	* tests/test-dfa-match-aux.c (main): Specify RE_SYNTAX_EGREP, not
	RE_SYNTAX_GREP, so tests can use ERE syntax rather than BRE.

2020-10-30  Bernhard Voelker  <mail@bernhard-voelker.de>

	verify tests: avoid -Wmissing-declarations warnings
	* tests/test-verify.c (test_assume_expressions): Add declaration.
	(test_assume_optimization): Likewise.
	(test_assume_noreturn): Likewise.
	(main): Move down after all other definitions.  While at it, also
	call test_assume_expressions and test_assume_optimization as a
	runtime check.

2020-10-26  Paul Eggert  <eggert@cs.ucla.edu>

	sys_stat: update comments for S_IRWXUGO, S_IXUGO
	* lib/sys_stat.in.h (S_IXUGO, S_IRWXUGO): Update comments.
	Perhaps these macros should be removed, as they’re not in either
	POSIX or GNU.  They could be moved to stat-macros.h, which would
	be cleaner in some sense.

2020-10-25  Bruno Haible  <bruno@clisp.org>

	ssfmalloc tests: Small tweaks.
	* tests/test-ssfmalloc.c: Add comments.
	(alloc_pages): Don't require PROT_EXEC bits.
	(block_sizes): Add more small sizes, for better coverage of
	ssfmalloc-bitmap.h.

	ssfmalloc tests: Portability to Minix.
	* modules/ssfmalloc-tests (Files): Add m4/mmap-anon.m4.
	(configure.ac): Invoke gl_FUNC_MMAP_ANON.
	* m4/mmap-anon.m4: Update comment.

	ssfmalloc: Portability to AIX.
	* modules/ssfmalloc (Include): Add ssfmalloc.h.
	(Link): New section.
	* modules/ssfmalloc-tests (Makefile.am): Link test-ssfmalloc with
	$(LIBTHREAD).

	ssfmalloc: Portability to Cygwin.
	* lib/ssfmalloc.h: Add parameter PAGESIZE_MAX.
	(pg_offset_t): Define depending on PAGESIZE_MAX.
	* tests/test-ssfmalloc.c: Undefine PAGESIZE.
	(PAGESIZE_MAX): New macro.

	ssfmalloc: Fix buffer overrun in bitmap search.
	* lib/ssfmalloc-bitmap.h (find_first_packet_set): Don't access the
	word *words_end.

2020-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	doc: mention ‘restrict’ and C++
	* doc/gnulib-readme.texi (C99 features assumed): Document
	that ‘restrict’ should be avoided in C++ code.

2020-10-20  Bernhard Voelker  <mail@bernhard-voelker.de>

	selinux-at, selinux-h: port to SELinux 3.1
	The new release finally deprecated the typedef 'security_context_t',
	see <https://github.com/SELinuxProject/selinux/commit/7a124ca275>.
	Use the simpler 'char *' instead.
	* lib/getfilecon.c (getfilecon): Adjust type of context parameter.
	(lgetfilecon): Likewise.
	(fgetfilecon): Likewise.
	(map_to_failure): Likewise.
	(rpl_getfilecon): Likewise.
	(rpl_lgetfilecon): Likewise.
	(rpl_fgetfilecon): Likewise.
	* lib/se-selinux.in.h (security_context_t): Remove typedef.
	(getcon): Adjust type of context parameter.
	(freecon): Likewise.
	(getfscreatecon): Likewise.
	(setfscreatecon): Likewise.
	(matchpathcon): Likewise.
	(getfilecon): Likewise.
	(lgetfilecon): Likewise.
	(fgetfilecon): Likewise.
	(setfilecon): Likewise.
	(lsetfilecon): Likewise.
	(fsetfilecon): Likewise.
	(security_check_context): Likewise.
	(security_check_context_raw): Likewise.
	(setexeccon): Likewise.
	(security_compute_create): Likewise.
	* lib/selinux-at.c (getfileconat): Likewise.
	(lgetfileconat): Likewise.
	(setfileconat): Likewise.
	(lsetfileconat): Likewise.
	* lib/selinux-at.h: Likewise.

2020-10-19  Bruno Haible  <bruno@clisp.org>

	xalloc-die: Fix link error with Solaris cc (regression 2020-07-27).
	* lib/xalloc.h (xalloc_die): Don't declare if GNULIB_XALLOC_DIE is 0.
	(xmalloc, xzalloc, xcalloc, xrealloc, x2realloc, xmemdup, xstrdup,
	XMALLOC, XNMALLOC, XZALLOC, XCALLOC, xnmalloc, xnrealloc, x2nrealloc,
	xcharalloc): Don't declare/define if GNULIB_XALLOC is 0.
	* modules/xalloc (configure.ac): Define GNULIB_XALLOC.
	* modules/xalloc-die (configure.ac): Define GNULIB_XALLOC_DIE.

2020-10-18  Bruno Haible  <bruno@clisp.org>

	ssfmalloc: Add tests.
	* tests/test-ssfmalloc.c: New file.
	* modules/ssfmalloc-tests: New file.

	ssfmalloc: New module.
	* lib/ssfmalloc.h: New file.
	* lib/ssfmalloc-bitmap.h: New file.
	* modules/ssfmalloc: New file.

2020-10-18  Bruno Haible  <bruno@clisp.org>

	wchar: Fix configure test result on some versions of AIX.
	Reported by Clément Chigot <clement.chigot@atos.net> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00115.html>.
	* m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Execute the test only on glibc
	systems.

2020-10-18  Bruno Haible  <bruno@clisp.org>

	time: Fix warning about asctime when asctime is not used.
	* lib/time.in.h (asctime_r, ctime, ctime_r): Fix _GL_WARN_ON_USE
	invocation.

2020-10-18  Bruno Haible  <bruno@clisp.org>

	*-list, *-oset, *-omap: Avoid a GCC warning (regression 2020-10-10).
	* lib/gl_anylinked_list2.h (gl_linked_iterator_free): Remove
	'_GL_ATTRIBUTE_CONST'.
	* lib/gl_anytree_list2.h (gl_tree_iterator_free): Likewise.
	* lib/gl_anytree_omap.h (gl_tree_iterator_free): Likewise.
	* lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
	* lib/gl_array_list.c (gl_array_iterator_free): Likewise.
	* lib/gl_array_omap.c (gl_array_iterator_free): Likewise.
	* lib/gl_array_oset.c (gl_array_iterator_free): Likewise.
	* lib/gl_carray_list.c (gl_carray_iterator_free): Likewise.

2020-10-18  Bruno Haible  <bruno@clisp.org>

	obstack: Fix a clang warning.
	* lib/obstack.c (print_and_abort): Mark as __attribute_noreturn__.

2020-10-16  Bruno Haible  <bruno@clisp.org>

	hash: Rename hash_delete to hash_remove.
	* lib/hash.h (hash_remove): Renamed from hash_delete.
	(hash_delete): New declaration.
	* lib/hash.c (hash_remove): Renamed from hash_delete.
	(hash_delete): New function.
	* tests/test-hash.c (main): Update.
	* lib/fts-cycle.c (leave_dir): Likewise.
	* NEWS: Mention the change.

2020-10-16  Bruno Haible  <bruno@clisp.org>

	hash, xhash: Make usable from C++.
	* lib/hash.h: Add extern "C".

2020-10-16  Bruno Haible  <bruno@clisp.org>

	hash, xhash: Move comments to the .h file.
	* lib/hash.c: Move comments meant for the user from here...
	* lib/xhash.c: ... and here...
	* lib/hash.h: ... to here.

2020-10-13  Philipp Klaus Krause  <pkk@spth.de>  (tiny change)

	Don't declare an intention to modify the return value of strerror.
	* tests/test-perror2.c (main): Assign the return value of strerror to a
	'const char *' variable.

2020-10-11  Bruno Haible  <bruno@clisp.org>

	*printf: Avoid "expanded before it was required" warning.
	* m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99): Define through
	AC_DEFUN_ONCE.

2020-10-11  Benji Wiebe  <benjiwiebe14@gmail.com>

	getprogname: Add support for OpenServer 6 and UnixWare 7.
	* lib/getprogname.c: Include <fcntl.h>, <stdlib.h>, <string.h>.
	(getprogname): On OpenServer6 and UnixWare, read /proc/<pid>/cmdline.

2020-10-11  Bruno Haible  <bruno@clisp.org>

	tests: Avoid a name clash on UnixWare.
	Reported by Tim Rice <tim@multitalents.net> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00025.html>.
	* tests/nap.h (nap): Define as gl_nap on OpenServer and UnixWare.

2020-10-11  Bruno Haible  <bruno@clisp.org>

	stdioext: Update comments regarding UnixWare.
	Reported by Tim Rice <tim@multitalents.net> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
	* lib/fbufmode.c: Update comments.
	* lib/fflush.c: Likewise.
	* lib/fpending.c: Likewise.
	* lib/fpurge.c: Likewise.
	* lib/freadable.h: Likewise.
	* lib/freadable.c: Likewise.
	* lib/freadahead.c: Likewise.
	* lib/freading.h: Likewise.
	* lib/freading.c: Likewise.
	* lib/freadptr.c: Likewise.
	* lib/freadseek.c: Likewise.
	* lib/fseeko.c: Likewise.
	* lib/fseterr.c: Likewise.
	* lib/fwritable.h: Likewise.
	* lib/fwritable.c: Likewise.
	* lib/fwriting.h: Likewise.
	* lib/fwriting.c: Likewise.

2020-10-11  Bruno Haible  <bruno@clisp.org>

	stdioext: Treat OpenServer 6 and UnixWare 7 like OpenServer 5.
	Reported by Tim Rice <tim@multitalents.net> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00005.html>.
	Uses the info from
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00028.html>.
	* lib/stdio-impl.h: Test also __SCO_VERSION__ and __sysv5__.

2020-10-11  Bruno Haible  <bruno@clisp.org>

	stdioext: Avoid compilation errors on UnixWare 7.
	Reported by Tim Rice <tim@multitalents.net> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00127.html>.
	* lib/fbufmode.c: Don't include <stdio_ext.h> if it does not exist.
	* lib/fpurge.c: Likewise.
	* lib/freadable.h: Likewise.
	* lib/freading.h: Likewise.
	* lib/fwritable.h: Likewise.
	* lib/fwriting.h: Likewise.
	* m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether <stdio_ext.h> exists.
	* m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
	* m4/freadable.m4 (gl_FUNC_FREADABLE): Likewise.
	* m4/freading.m4 (gl_FUNC_FREADING): Likewise.
	* m4/fwritable.m4 (gl_FUNC_FWRITABLE): Likewise.
	* m4/fwriting.m4 (gl_FUNC_FWRITING): Likewise.

2020-10-11  Bruno Haible  <bruno@clisp.org>

	stdioext: Update comments regarding Cygwin.
	* lib/fpending.c: Update comments.
	* lib/fpurge.c: Likewise.
	* lib/freadable.h: Likewise.
	* lib/freadable.c: Likewise.
	* lib/freading.h: Likewise.
	* lib/freading.c: Likewise.
	* lib/fwritable.h: Likewise.
	* lib/fwritable.c: Likewise.
	* lib/fwriting.h: Likewise.
	* lib/fwriting.c: Likewise.

2020-10-11  KO Myung-Hun  <komh78@gmail.com>

	Fix "warning: implicit declaration of function 'pthread_sigmask'".
	* lib/signal.in.h [__KLIBC__]: Include <pthread.h>.
	* lib/sys_select.in.h [__KLIBC__]: Do not include <signal.h>.

2020-10-10  Bruno Haible  <bruno@clisp.org>

	*-list, *-oset, *-omap: Avoid possible compiler warnings.
	Reported by Marc Nieper-Wißkirchen in
	<https://lists.gnu.org/r/bug-gnulib/2020-10/msg00025.html>.
	* lib/gl_anylinked_list2.h (gl_linked_iterator,
	gl_linked_iterator_from_to): Mark as 'pure'.
	(gl_linked_iterator_free): Mark as 'const'.
	* lib/gl_anytree_list2.h (gl_tree_size, gl_tree_node_value,
	gl_tree_search_from_to, gl_tree_indexof_from_to, gl_tree_iterator,
	gl_tree_iterator_from_to, gl_tree_sortedlist_search,
	gl_tree_sortedlist_search_from_to, gl_tree_sortedlist_indexof,
	gl_tree_sortedlist_indexof_from_to): Mark as 'pure'.
	(gl_tree_iterator_free): Mark as 'const'.
	* lib/gl_anytree_omap.h (gl_tree_size, gl_tree_iterator): Mark as
	'pure'.
	(gl_tree_iterator_free): Mark as 'const'.
	* lib/gl_anytree_oset.h (gl_tree_size, gl_tree_next_node,
	gl_tree_prev_node, gl_tree_iterator): Mark as 'pure'.
	(gl_tree_iterator_free): Mark as 'const'.
	* lib/gl_anytreehash_list1.h (node_position, compare_by_position,
	compare_position_threshold): Mark as 'pure'.
	* lib/gl_array_list.c (gl_array_size, gl_array_indexof_from_to,
	gl_array_search_from_to, gl_array_iterator, gl_array_iterator_from_to,
	gl_array_sortedlist_indexof_from_to, gl_array_sortedlist_indexof,
	gl_array_sortedlist_search_from_to, gl_array_sortedlist_search): Mark as
	'pure'.
	(gl_array_iterator_free): Mark as 'const'.
	* lib/gl_array_omap.c (gl_array_size, gl_array_indexof, gl_array_search,
	gl_array_search_atleast, gl_array_iterator): Mark as 'pure'.
	(gl_array_iterator_free): Mark as 'const'.
	* lib/gl_array_oset.c (gl_array_size, gl_array_indexof, gl_array_search,
	gl_array_indexof_atleast, gl_array_search_atleast, gl_array_iterator,
	gl_array_iterator_atleast): Mark as 'pure'.
	(gl_array_iterator_free): Mark as 'const'.
	* lib/gl_carray_list.c (gl_carray_size, gl_carray_node_value,
	gl_carray_next_node, gl_carray_previous_node, gl_carray_get_at,
	gl_carray_indexof_from_to, gl_carray_search_from_to, gl_carray_iterator,
	gl_carray_iterator_from_to, gl_carray_sortedlist_indexof_from_to,
	gl_carray_sortedlist_indexof, gl_carray_sortedlist_search_from_to,
	gl_carray_sortedlist_search): Mark as 'pure'.
	(gl_carray_iterator_free): Mark as 'const'.

2020-10-10  Bruno Haible  <bruno@clisp.org>

	rbtree-list: Avoid possible compiler warnings.
	This mirrors the change of avltree-list on 2014-09-16.
	* lib/gl_rbtree_list.c (gl_rbtree_list_check_invariants): Add extern
	declaration. Add cast to void for ignored value of check_invariants.

2020-10-10  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	stack: New module.
	* MODULES.html.sh: Add entry for the stack module.
	* modules/stack: New file.
	* modules/stack-tests: New file.
	* lib/stack.h: New file.
	* tests/test-stack.c: New file.

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

	attribute: improve const, pure doc
	Problem reported by Marc Nieper-Wißkirchen in:
	https://lists.gnu.org/r/bug-gnulib/2020-10/msg00035.html
	* lib/attribute.h (ATTRIBUTE_CONST, ATTRIBUTE_PURE): Improv doc.  See:
	https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51971#c1

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

	thread: pacify GCC on Solaris 10
	Problem reported by Kiyoshi KANAZAWA for grep (Bug#43666#29).
	* lib/glthread/thread.h (gl_thread_self): Use ‘(pthread_t) 0’
	instead of ‘(pthread_t) NULL’, to pacify GCC on Solaris 10
	where pthread_t is unsigned int.

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

	c-stack: avoid AS_IF
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2020-10/msg00018.html
	* m4/c-stack.m4 (gl_PREREQ_C_STACK): No need for AS_IF.

	c-stack: pacify GCC 9.3.1 when using libsigsegv
	* lib/c-stack.c [USE_LIBSIGSEGV]: Disable --suggest-attribute=pure.

2020-10-04  Bruno Haible  <bruno@clisp.org>

	localename: Fix a couple of "unused parameter" warnings.
	Reported by Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00014.html>.
	* lib/localename.c (gl_locale_name_thread_unsafe, gl_locale_name_thread,
	gl_locale_name_posix, gl_locale_name_environ): Add _GL_UNUSED in
	parameter list.

2020-10-04  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Don't use %n on modern, ISO C 99 compliant platforms.
	Suggested by Jeremie Courreges-Anglas <jca@wxcvbn.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-10/msg00010.html>.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Define
	HAVE_SNPRINTF_TRUNCATION_C99.
	* lib/vasnprintf.c (VASNPRINTF): Don't use %n if
	HAVE_SNPRINTF_RETVAL_C99 && HAVE_SNPRINTF_TRUNCATION_C99.

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

	c-stack: streamline Solaris configuration
	* lib/c-stack.c: Omit mention of HAVE_SIGALTSTACK, since
	the code is used only if a test for sigaltstack worked
	in some other way.
	* m4/c-stack.m4 (gl_PREREQ_C_STACK): Do not require gl_LIBSIGSEGV;
	instead, execute gl_LIBSIGSEGV only if needed (because the XSI
	heuristic does not work).
	* modules/c-stack (Files): Add m4/libsigsegv.m4, since
	we no longer require the libsigsegv module.
	(Depends-on): Depend on havelib, not libsigsegv.

	c-stack: stop using SIGSTKSZ
	It’s been proposed to stop making SIGSTKSZ an integer constant:
	https://sourceware.org/pipermail/libc-alpha/2020-September/118028.html
	Also, using SIGSTKSZ in #if did not conform to current POSIX.
	Also, avoiding SIGSTKSZ makes the code simpler and easier to grok.
	* lib/c-stack.c (SIGSTKSZ): Remove.
	(alternate_signal_stack): Now a 64 KiB array, for simplicity.
	All uses changed.

	c-stack: fix libsigsegv typo
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2020-09/msg00175.html
	* lib/c-stack.c (USE_LIBSIGSEGV): Fix typo that caused libsigsegv
	to be used only on Solaris (exactly where it is not needed!).

2020-10-03  Thien-Thi Nguyen  <ttn@gnuvola.org>

	MODULES.html.sh: Fix typo.
	* MODULES.html.sh (Numeric conversion functions <stdlib.h>): Fix typo.

2020-09-28  Paul Eggert  <eggert@cs.ucla.edu>

	version-etc: pacify Oracle Studio 12.6
	Without this patch, it complains: "version-etc.h", line 64:
	warning: token-less macro argument (E_TOKENLESS_MACRO)" when in
	pedantic mode.
	* lib/version-etc.h (version_etc): Port to C89 macro rules.

2020-09-27  Bruno Haible  <bruno@clisp.org>

	Avoid "warning: The macro `AC_DECL_SYS_SIGLIST' is obsolete".
	Reported by Gavin Smith <gavinsmith0123@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
	* m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check for sys_siglist
	ourselves; don't use AC_DECL_SYS_SIGLIST.

2020-09-27  Bruno Haible  <bruno@clisp.org>

	Avoid "warning: The macro `_AC_COMPUTE_INT' is obsolete".
	Reported by Gavin Smith <gavinsmith0123@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
	* m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Use AC_COMPUTE_INT
	instead of _AC_COMPUTE_INT.

2020-09-27  Bruno Haible  <bruno@clisp.org>

	Avoid "warning: The macro `AC_HEADER_STDC' is obsolete".
	Reported by Gavin Smith <gavinsmith0123@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00154.html>.
	Based on a patch by Paul Eggert.
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Don't require AC_HEADER_STDC. Don't
	test STDC_HEADERS. Assume <stdlib.h> exists.
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.

2020-09-27  Bruno Haible  <bruno@clisp.org>

	Enable testing of prereleases of Autoconf 2.70.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00160.html>.
	* m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Test for Autoconf >= 2.69c, not
	>= 2.70.
	* m4/largefile.m4 (AC_SYS_LARGEFILE): Likewise.
	* m4/pid_t.m4 (AC_TYPE_PID_T): Likewise.
	* m4/sys_types_h.m4 (AC_HEADER_MAJOR): Likewise.

2020-09-27  Bruno Haible  <bruno@clisp.org>

	Avoid "warning: The macro `AC_PROG_CC_STDC' is obsolete".
	Reported by Gavin Smith <gavinsmith0123@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
	* m4/gnulib-common.m4 (gl_PROG_CC_C99): Use AC_PROG_CC_C99 or
	AC_PROG_CC, depending on the Autoconf version.

2020-09-27  Gavin Smith  <gavinsmith0123@gmail.com>

	Avoid "warning: The macro `AC_HELP_STRING' is obsolete".
	* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Use AS_HELP_STRING instead
	of AC_HELP_STRING.
	* m4/libgcrypt.m4 (AM_PATH_LIBGCRYPT): Likewise.

2020-09-27  Bruno Haible  <bruno@clisp.org>

	Avoid "warning: $as_echo_n is obsolete" from autoconf 2.69c.
	Reported by Gavin Smith <gavinsmith0123@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00151.html>.
	* m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): Use gl_SILENT.

2020-09-27  Bruno Haible  <bruno@clisp.org>

	extensions: Simplify last commit.
	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't require
	AC_GNU_SOURCE ever.

2020-09-26  Paul Eggert  <eggert@cs.ucla.edu>

	extensions: require AC_GNU_SOURCE only for <=2.63
	Problem reported by Gavin Smith in:
	https://lists.gnu.org/r/autoconf/2020-09/msg00012.html
	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS):
	Require AC_GNU_SOURCE only for Autoconf 2.63 and earlier, since it
	shouldn’t be needed after that, and Autoconf 2.70 complains about
	it being obsolete.

2020-09-26  Bruno Haible  <bruno@clisp.org>

	regex-tests: Make test more robust.
	* tests/test-regex.c (main): Make sure to revert the locale to "C" after
	the test in "tr_TR.UTF-8" locale. Exit if we can't revert it.

2020-09-25  Paul Eggert  <eggert@cs.ucla.edu>

	regex-tests: fix possible Turkish false-alarm
	* modules/regex-tests (Depends-on): Add wctype-h.
	* tests/test-regex.c: Include wctype.h.
	(main): Check that ‘i’ uppercases to ‘İ’ in Turkish,
	as the Turkish regex test assumes this.

	regex-tests: fix test and add debug output
	Perhaps this will fix the recent grep test failure reported at:
	https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/199
	At least, the debug output should help narrow down the failure.
	* tests/test-regex.c: Include stdarg.h, stdio.h.
	(exit_status): New var.
	(report_error): New function.
	(main): Use it to report failures to stdout instead of merely
	exiting with some nonzero status.  The status info alone isn’t
	enough to do remote debugging.  In the new tr_TR.UTF-8 test, clear
	regex before calling re_compile_pattern, fixing a portability bug.

	regex: no longer match glibc
	* config/srclist.txt: Comment out regex_internal.c for now.

2020-09-23  Paul Eggert  <eggert@cs.ucla.edu>

	regex: fix ignore-case Turkish bug
	* lib/regex_internal.c (build_wcs_upper_buffer):
	Do not assume that converting single-byte character to upper
	yields a single-byte character.  This is not true for Turkish,
	where towupper (L'i') yields L'İ', which is not single-byte.
	* tests/test-regex.c (main): Test for this bug.

	regex: port to weird isascii platforms
	* lib/regex_internal.h (isascii) [!_LIBC]: Supply glibc version.

2020-09-20  Norihiro Tanaka  <noritnk@kcn.ne.jp>

	dfa: make dfasupported a global function
	* lib/dfa.c (dfasupported): Rename, and make it global.
	Update caller.
	* lib/dfa.h (dfasupported): Add prototype.

2020-09-20  Bruno Haible  <bruno@clisp.org>

	canonicalize: Add support for UNC file names on native Windows.
	Reported and initial patch by Vaclav Slavik <vaclav@slavik.io> in
	<https://savannah.gnu.org/bugs/?59079>.
	* lib/canonicalize.c (canonicalize_filename_mode): For UNC file names,
	extend the prefix to include the server.

2020-09-20  Bruno Haible  <bruno@clisp.org>

	supersede: Fix test failures on native Windows.
	* lib/supersede.c (open_supersede): Handle non-regular files on native
	Windows like on Solaris.
	* tests/test-supersede-open.h (test_open_supersede): Use O_BINARY flag.

2020-09-20  Paul Eggert  <eggert@cs.ucla.edu>

	test-stdalign: test Oracle Studio better
	* doc/posix-headers/stdalign.texi (stdalign.h):
	* tests/test-stdalign.c (main):
	Sun Studio Bug #2125432 seems to be fixed.

	c-stack: output diagnostic in single 'write'
	* lib/c-stack.c (die): In the typical case, use just one 'write'
	syscall to output the diagnostic, as this lessens interleaving.
	(die, c_stack_action): Assume C99.
	* modules/c-stack (Depends-on): Add c99, mempcpy.

	c-stack: improve checking if !libsigsegv
	If SIGINFO_WORKS, do not treat a null pointer dereference as if it
	were a stack overflow.  Use uintptr_t and INT_ADD_WRAPV to avoid
	unlikely pointer overflow.  Also, fix some obsolete code and typos.
	I found these problems while looking into this bug report:
	https://lists.gnu.org/r/grep-devel/2020-09/msg00053.html
	* lib/c-stack.c: Include c-stack.h first, to test interface.
	Include inttypes.h for UINTPTR_MAX, stdbool.h, stddef.h for
	max_align_t, intprops.h for INT_ADD_WRAPV.
	(USE_LIBSIGSEGV): New macro; use it to simplify later code.
	(SIGSTKSZ): Simplify setup.  Work around libsigsegv bug only
	for libsigsegv 2.8 and earlier since the bug should be fixed
	after that.
	(alternate_signal_stack): Use max_align_t instead of doing it by hand.
	(segv_handler, overflow_handler, segv_handler) [DEBUG]:
	Assume sprintf returns byte count; this assumption is safe now.
	(page_size): New static volatile variable, since sysconf isn’t
	documented to be async-signal-safe on Solaris.  This variable is
	present and used if (!USE_LIBSIGSEGV && HAVE_SIGALTSTACK &&
	HAVE_DECL_SIGALTSTACK && HAVE_STACK_OVERFLOW_HANDLING &&
	SIGINFO_WORKS).
	(segv_handler): Use it if present.  Never report null pointer
	dereference as a stack overflow.  Check for (unlikely) unsigned
	and/or pointer overflow.
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
	Rename cache variables to gl_cv_sys_stack_overflow_works
	and gl_cv_sys_xsi_stack_overflow_heuristic.
	All uses changed.
	(gl_PREREQ_C_STACK): Do not require AC_FUNC_ALLOCA, since
	c-stack no longer uses STACK_DIRECTION.
	Do not check for unistd.h, since we depend on unistd.
	Fix shell typo ‘$"ac_cv_sys_xsi_stack_overflow_heuristic"’.
	* modules/c-stack (Depends-on): Sort.  Add intprops, inttypes,
	stdbool, stddef.

2020-09-20  Bruno Haible  <bruno@clisp.org>

	Revert now-unnecessary override of config.guess on Alpine Linux 3.10.
	* m4/musl.m4: Revert 2020-09-19 patch.
	* m4/setlocale_null.m4: Likewise.
	* modules/setlocale-null: Likewise.

2020-09-19  Ben Pfaff  <blp@cs.stanford.edu>
            Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Fix for multiple relocatable library directories.
	* build-aux/reloc-ldflags: Fix handling of multiple relocatable library
	directories.  Each one needs its own -Wl,-rpath,$dir option, instead of
	being attached to a single one.

2020-09-19  Jim Meyering  <meyering@fb.com>

	test-verify.c: avoid -Wshadow warnings
	* tests/test-verify.c (gx): Rename global from "x". Adjust use.
	(enum): Capitalize member names. Adjust uses.

2020-09-19  Bruno Haible  <bruno@clisp.org>

	havelib: Avoid linking with libc.a on GNU systems.
	Reported by Bruce Dubbs <bruce.dubbs@gmail.com> in
	<https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00052.html>.
	* m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When processing the
	dependency_libs value of a .la file, ignore '-lc' options on GNU
	systems.

2020-09-19  Bruno Haible  <bruno@clisp.org>

	Fix recognition of musl libc on Alpine Linux 3.10.
	Reported by Jeffrey Walton <noloader@gmail.com> in
	<https://lists.gnu.org/archive/html/grep-devel/2020-09/msg00020.html>.
	* m4/musl.m4 (gl_MUSL_CANONICAL_HOST): New macro.
	(gl_MUSL_LIBC): Require it.
	* m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Likewise.
	* modules/setlocale-null (Files): Add m4/musl.m4.

2020-09-19  Bruno Haible  <bruno@clisp.org>

	nl_langinfo: Make multithread-safe on Solaris 10 and Solaris 11.3.
	Reported for Solaris 10 by Dagobert Michelsen via Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00023.html>
	and for Solaris 11.3 by Jeffrey Walton <noloader@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-grep/2020-06/msg00013.html>.
	* lib/nl_langinfo-lock.c: New file, based on lib/setlocale_null-lock.c.
	* lib/nl_langinfo.c: Include <stdlib.h> and <windows.h> or <pthread.h>
	or <threads.h>.
	(ITEMS, MAX_RESULT_LEN): New macros.
	(nl_langinfo_unlocked): New function.
	(gl_get_nl_langinfo_lock): New declaration.
	(nl_langinfo_with_lock): New function, based on lib/setlocale_null.c.
	(rpl_nl_langinfo): Use nl_langinfo_with_lock instead of nl_langinfo.
	* m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require gl_PTHREADLIB. Define
	HAVE_THREADS_H. Set NL_LANGINFO_MTSAFE. If setting it to 0, also set
	REPLACE_NL_LANGINFO.
	(gl_PREREQ_NL_LANGINFO_LOCK): New macro.
	* modules/nl_langinfo (Files): Add lib/nl_langinfo-lock.c,
	lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
	(configure.ac): Compile nl_langinfo-lock.c when NL_LANGINFO_MTSAFE is 0.
	* doc/posix-functions/nl_langinfo.texi: Mention the Solaris bug.

2020-09-18  Bruno Haible  <bruno@clisp.org>

	fsusage, getaddrinfo: Produce more regular configure output.
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove AC_MSG_CHECKING without
	corresponding AC_MSG_RESULT.
	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.

2020-09-18  Bruno Haible  <bruno@clisp.org>

	Add back gl_SILENT.
	* m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): New macros.

2020-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	c-stack-tests: fix -fsanitize=undefined false alarm
	* tests/test-c-stack2.sh: Skip the test-harness self-test
	if ‘gcc -fsanitize=undefined’ is in use.

2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>

	signalblocking: simplify and remove gl_SILENT
	gl_SILENT was problematic because if a trap was sprung, stderr
	generated during the trap was lost.  Avoid the problem by
	removing the need for gl_SILENT.
	* m4/gnulib-common.m4 (GL_TMP_FD, gl_SILENT): Remove.
	* m4/signalblocking.m4 (gl_SIGNALBLOCKING):
	Simplify, avoiding the need for gl_SILENT while preserving the
	ability of the user to override the value of the cache variable,
	now ac_cv_func_sigprocmask.

2020-09-17  Bruno Haible  <bruno@clisp.org>

	sigprocmask: Fix configuration failure on Solaris 10 (regr. 2020-07-25).
	* m4/gnulib-common.m4 (GL_TMP_FD): New macro.
	(gl_SILENT): Use 'exec', not a compound statement, to redirect
	AS_MESSAGE_FD.

2020-09-17  Paul Eggert  <eggert@cs.ucla.edu>

	intprops, xalloc: avoid __builtin_mul_overflow_p with Clang
	Problem reported by Nelson H. F. Beebe for clang 9.0.1 in:
	https://lists.gnu.org/r/grep-devel/2020-09/msg00028.html
	* lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P) [__clang__]:
	Define to 0.
	* lib/xalloc-oversized.h (xalloc_oversized) [__clang__]:
	Do not use __builtin_mul_overflow_p.

	libc-config: port __THROW to Ubuntu 4
	* lib/cdefs.h (__THROW): Do not use __attribute__ ((__nothrow__))
	for GCC 3.3.  Problem reported by Jeffrey Walton in:
	https://lists.gnu.org/r/bug-gnulib/2019-07/msg00058.html
	The GCC 3.3.4 documentation says the attribute should work, but
	apparently it does not work on Ubuntu 4’s GCC 3.3.  There seems
	little point or desire to research this circa-2004 platform further,
	so just avoid the attribute there.

2020-09-17  Jim Meyering  <meyering@fb.com>

	test-dfa-match.sh: port timeout work-around to newer Busybox
	* tests/test-dfa-match.sh: Update timeout -t portability test to
	accommodate Busybox 1.30.0 and newer.

2020-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	fnmatch: adjust to match glibc fix
	This fixes handling of collating symbols in fnmatch (glibc bug 26620).
	This does not affect Gnulib; it merely keeps Gnulib and glibc
	closer together, to help with any eventual merge, by incorporating
	a recent glibc patch.  The patch and the following commentary is
	by Andreas Schwab.
	* lib/fnmatch_loop.c (FCT) [WIDE_CHAR_VERSION]: The variable idx
	contains the index into the extra array, whereas wextra points
	into the extra array at this index, containing the length of the
	following collating sequence in the wide character representation.

2020-09-16  Bruno Haible  <bruno@clisp.org>

	stat, fstat: Fix compilation error with old mingw headers.
	Reported by Eli Zaretskii <eliz@gnu.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
	* lib/stat-w32.c (VOLUME_NAME_NONE): Define if the Windows headers don't
	define it.

2020-09-16  Bruno Haible  <bruno@clisp.org>

	stat, fstat: Fix when compiling for versions older than Windows Vista.
	Reported by Eli Zaretskii <eliz@gnu.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00027.html>.
	* lib/stat-w32.c: Include <sdkddkver.h>. Test the value of _WIN32_WINNT
	that was originally set before we redefined it.
	* m4/stat.m4 (gl_PREREQ_STAT_W32): New macro.
	(gl_PREREQ_STAT): Require it.
	* m4/fstat.m4 (gl_PREREQ_FSTAT): Likewise.

2020-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: remove dfa-heap-overrun workaround
	* lib/dfa.c (reorder_tokens): Go back to a single pass that
	both sets map[*] and does other things.  This reverts
	2020-09-14T01:20:01Z!eggert@cs.ucla.edu, which is no longer
	neeeded now that 2020-09-14T13:21:05Z!noritnk@kcn.ne.jp
	fixed the underlying problem.

2020-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: avoid use of uninitialized constraint
	* lib/dfa.c (merge_nfa_state): Do not initialize the constraint
	to zero here.
	(dfaoptimize): Do it here instead, via xcalloc.  This prevents the
	use of an uninitialized constraint by later code when ! (flags[i]
	& OPT_QUEUED) means merge_nfa_state was not called to initialize
	the constraint.  Problem found by running 'valgrind src/grep -E
	'(^| )*(a|b)*(c|d)*( |$)' < /dev/null' on Ubuntu 18.04.5 x86-64.

	dfa: assume C99 in reorder_tokens
	* lib/dfa.c (reorder_tokens): Assume C99 and simplify.

	dfa: fix dfa-heap-overrun failure
	* lib/dfa.c (reorder_tokens): When setting
	map[d->follows[i].elems[j].index], instead of incorrectly assuming
	that (i < d->follows[i].elems[j].index), use two loops, one to set
	the map array and the other to use it.  The incorrect assumption
	caused some elements to be missed, and this in turn caused grep's
	dfa-heap-overrun test to fail on Solaris 10 sparc when compiled
	with GCC.  I found this bug while investigating
	https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/183
	and I think the bug also occurs on GNU/Linux but with more-subtle
	symptoms.  The bug predates the recent dfa.c changes; perhaps the
	recent changes make the bug more likely.

2020-09-13  Bruno Haible  <bruno@clisp.org>

	parse-datetime: Make the build rule work with parallel 'make'.
	Reported by Daiki Ueno <ueno@gnu.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-09/msg00036.html>.
	* modules/parse-datetime (Makefile.am): Use a phony target and the
	general idiom for rules that produce multiple files.

2020-09-13  Ben Pfaff  <blp@cs.stanford.edu>

	getpass: Check for nonnull prompt argument while avoiding warnings.
	* lib/getpass.c (_GL_ARG_NONNULL): Define to empty.
	(getpass) [!_WIN32]: Print prompt only if nonnull.

2020-09-12  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: epsilon-closure tweaks (Bug#40634)
	Rename BACKWORD to BACKWARD consistently.
	* lib/dfa.c (struct dfa): Reorder members to reduce fragmentation.
	(addtok_mb): Redo slightly to make it act more like a state machine.
	Check depth only when it increases.
	(epsclosure): Let the switch test the tokens.
	(dfaanalyze): Cache tindex.  Simplify position loops.
	Prefer xcalloc to xnmalloc + explicit zeroing.  Free BACKWARD
	only if it is not null, since we're testing that anyway.
	(dfaanalyze, build_state): Use merge2 instead of doing it by hand.

2020-09-12  Norihiro Tanaka  <noritnk@kcn.ne.jp>

	dfa: use backward set in removal of epsilon closure
	When removing in epsilon closure, the code searched all nodes
	sequentially, and this was slow for some cases.  Build a backward
	set before search, and only check previous position with the set.
	Problem reported in <https://bugs.gnu.org/40634>.
	* lib/dfa.c (struct dfa): New member 'epsilon'.
	(addtok_mb): Check whether a pattern has epsilon node or not.
	(epsclosure): New arg BACKWORD; caller changed.  When removing
	epsilon node and reconnecting, check only previous positions.
	Treat BEG as if it were character.
	(dfaanalyze): Build backward set.

2020-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	canonicalize: fix pointer indexing bugs
	Problem reported by Florian Weimer in:
	https://lists.gnu.org/r/bug-gnulib/2020-09/msg00025.html
	* lib/canonicalize-lgpl.c (__realpath):
	* lib/canonicalize.c (canonicalize_filename_mode):
	Do not generate a pointer past the end of the array.
	* lib/canonicalize.c (canonicalize_filename_mode):
	Do not use a pointer after passing it to realloc.

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

	tempname: help merge with glibc
	Inspired by draft patches by Adhemerval Zanella in:
	https://sourceware.org/pipermail/libc-alpha/2020-September/117501.html
	https://sourceware.org/pipermail/libc-alpha/2020-September/117502.html
	* lib/tempname.c: Include stdalign.h, time.h.
	If _LIBC, do not include random-bits.h.
	(__getrandom, __clock_gettime64, __timespec64) [!_LIBC]: New macros.
	(RANDOM_BITS): Remove, replacing with ...
	(random_bits): ... this new static function.  All uses changed.
	Add entropy each time if getrandom is not supported.
	(RANDOM_VALUE, BASE_62_DIGITS, BASE_62_POWER):
	Assume 64-bit support a la C99.
	(try_tempname_len): Take advantage of ASLR when initializing
	random value.
	* modules/tempname (Depends-on): Add clock-time, stdalign, time.

	getcwd: merge recent glibc changes
	* lib/getcwd.c (GETCWD_RETURN_TYPE) [!_LIBC]: New macro.
	(__getcwd, getcwd) [_LIBC && !GETCWD_RETURN_TYPE]: Add aliases.

2020-09-06  Bruno Haible  <bruno@clisp.org>

	attribute: Clarify which file to include.
	* modules/attribute (Include): Add "attribute.h".

2020-09-06  Bruno Haible  <bruno@clisp.org>

	pipe-filter-ii, pipe-filter-gi: Fix warnings on native Windows.
	* lib/pipe-filter-ii.c: Include <process.h>.
	* lib/pipe-filter-gi.c: Likewise.

2020-09-05  Paul Eggert  <eggert@cs.ucla.edu>

	verify: avoid __builtin_assume
	Our latest attempt to use Clang’s __builtin_assume caused a crash
	in GNU Emacs that we spent quite some time tracking down as being
	caused by the switch to __builtin_assume.  It’s not known whether
	the crash is due is a Clang bug or a portability bug in GNU Emacs.
	For now, play it safe and avoid __builtin_assume.
	* lib/verify.h (_GL_HAS_BUILTIN_ASSUME): Remove.
	(assume): Simplify by not trying to use Clang’s __builtin_assume.

2020-09-05  Bruno Haible  <bruno@clisp.org>

	Fix several "warning: no previous prototype for function".
	* modules/unicase/locale-language (Makefile.am): Add a 'static' keyword
	in front of the declaration of the lookup function in
	unicase/locale-languages.h.
	* modules/unictype/bidiclass-byname (Makefile.am): Likewise in
	unictype/bidi_byname.h.
	* modules/unictype/category-byname (Makefile.am): Likewise in
	unictype/categ_byname.h.
	* modules/unictype/combining-class-byname (Makefile.am): Likewise in
	unictype/combiningclass_byname.h.
	* modules/unictype/joininggroup-byname (Makefile.am): Likewise in
	unictype/joininggroup_byname.h.
	* modules/unictype/joiningtype-byname (Makefile.am): Likewise in
	unictype/joiningtype_byname.h.
	* modules/unictype/property-byname (Makefile.am): Likewise in
	unictype/pr_byname.h.
	* modules/unictype/scripts (Makefile.am): Likewise in
	unictype/scripts_byname.h.
	* modules/uninorm/composition (Makefile.am): Likewise in
	uninorm/composition-table.h.

2020-09-05  Bruno Haible  <bruno@clisp.org>

	select: Fix "warning: no previous prototype for function".
	* lib/select.c: Include <sys/select.h>.

2020-09-05  Bruno Haible  <bruno@clisp.org>

	Use module 'c99' when needed for variadic macros with '...' syntax.
	* modules/crypto/sm3 (Depends-on): Add c99.

2020-09-05  Bruno Haible  <bruno@clisp.org>

	Use module 'c99' when needed for subobject initializer syntax.
	* modules/tempname (Depends-on): Add c99.
	* modules/nstrftime-tests (Depends-on): Likewise.

2020-09-05  Bruno Haible  <bruno@clisp.org>

	Use module 'c99' when needed for declaration-after-statement syntax.
	* modules/backup-rename (Depends-on): Add c99.
	* modules/backupfile (Depends-on): Likewise.
	* modules/bitset-tests (Depends-on): Likewise.
	* modules/bitsetv (Depends-on): Likewise.
	* modules/c-strtod (Depends-on): Likewise.
	* modules/c-strtold (Depends-on): Likewise.
	* modules/clean-temp (Depends-on): Likewise.
	* modules/copy-file (Depends-on): Likewise.
	* modules/crypto/hmac-md5-tests (Depends-on): Likewise.
	* modules/crypto/hmac-sha1-tests (Depends-on): Likewise.
	* modules/crypto/hmac-sha256-tests (Depends-on): Likewise.
	* modules/crypto/hmac-sha512-tests (Depends-on): Likewise.
	* modules/crypto/md5-buffer (Depends-on): Likewise.
	* modules/crypto/md5-tests (Depends-on): Likewise.
	* modules/crypto/sha1-buffer (Depends-on): Likewise.
	* modules/crypto/sha1-tests (Depends-on): Likewise.
	* modules/crypto/sha256-buffer (Depends-on): Likewise.
	* modules/crypto/sha256-tests (Depends-on): Likewise.
	* modules/crypto/sha512-buffer (Depends-on): Likewise.
	* modules/crypto/sha512-tests (Depends-on): Likewise.
	* modules/diffseq (Depends-on): Likewise.
	* modules/fatal-signal (Depends-on): Likewise.
	* modules/fchmodat (Depends-on): Likewise.
	* modules/fstrcmp (Depends-on): Likewise.
	* modules/fsusage (Depends-on): Likewise.
	* modules/fts (Depends-on): Likewise.
	* modules/fts-tests (Depends-on): Likewise.
	* modules/getumask (Depends-on): Likewise.
	* modules/git-merge-changelog (Depends-on): Likewise.
	* modules/hash-map (Depends-on): Likewise.
	* modules/hash-set (Depends-on): Likewise.
	* modules/lchmod (Depends-on): Likewise.
	* modules/libgmp-tests (Depends-on): Likewise.
	* modules/libtextstyle-optional-tests (Depends-on): Likewise.
	* modules/linkedhash-map (Depends-on): Likewise.
	* modules/linkedhash-set (Depends-on): Likewise.
	* modules/long-options (Depends-on): Likewise.
	* modules/mbrtoc32 (Depends-on): Likewise.
	* modules/memchr2-tests (Depends-on): Likewise.
	* modules/memmem-tests (Depends-on): Likewise.
	* modules/memrchr-tests (Depends-on): Likewise.
	* modules/mktime-internal (Depends-on): Likewise.
	* modules/nstrftime (Depends-on): Likewise.
	* modules/opendirat (Depends-on): Likewise.
	* modules/parse-datetime (Depends-on): Likewise.
	* modules/quotearg-simple-tests (Depends-on): Likewise.
	* modules/same (Depends-on): Likewise.
	* modules/supersede (Depends-on): Likewise.
	* modules/supersede-tests (Depends-on): Likewise.
	* modules/time_rz (Depends-on): Likewise.
	* modules/unistr/u16-chr-tests (Depends-on): Likewise.
	* modules/unistr/u32-chr-tests (Depends-on): Likewise.
	* modules/unistr/u8-chr-tests (Depends-on): Likewise.
	* modules/xalloc (Depends-on): Likewise.
	* modules/xnanosleep (Depends-on): Likewise.

2020-09-05  Bruno Haible  <bruno@clisp.org>

	Fix "warning: array initialized from parenthesized string constant".
	* tests/test-memmem.c (main): Remove parentheses around string constant.
	* tests/test-c-strcasestr.c (main): Likewise.
	* tests/test-strcasestr.c (main): Likewise.

2020-09-05  Bruno Haible  <bruno@clisp.org>

	argmatch tests: Fix ISO C compliance warning.
	* tests/test-argmatch.c: Omit semicolon after ARGMATCH_DEFINE_GROUP
	invocation.

2020-09-05  Bruno Haible  <bruno@clisp.org>

	uniname/uniname: Fix -Wshadow warning.
	* lib/uniname/uniname.c (unicode_name_word): Don't declare i upfront.
	* modules/uniname/uniname (Depends-on): Add c99.

2020-09-05  Bruno Haible  <bruno@clisp.org>

	uniname/uniname: Fix -Wshorten-64-to-32 warnings.
	* lib/uniname/uniname.c (unicode_name_word_lookup): Change type of last
	argument to size_t.
	(unicode_name_character): Change type of len, n1, n2, n3, words_length,
	n to size_t.

2020-09-05  Bruno Haible  <bruno@clisp.org>

	unistr/u{8,16,32}-uctomb: Avoid possible trouble with huge strings.
	* lib/unistr.in.h (u8_uctomb_aux, u8_uctomb, u16_uctomb_aux, u16_uctomb,
	u32_uctomb): Change type of last argument to ptrdiff_t.
	* lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
	* lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
	* lib/unistr/u16-uctomb.c (u16_uctomb): Likewise.
	* lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise.
	* lib/unistr/u32-uctomb.c (u32_uctomb): Likewise.

2020-09-01  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: remove -Wchkp and -Wabi from C++ too
	Suggested by Reuben Thomas in:
	https://lists.gnu.org/r/bug-gnulib/2020-09/msg00001.html
	At some point somebody should merge the many other manywarnings-c.m4
	changes into manywarnings-c++.m4 too, e.g.,
	2020-07-02T00:00:51Z!eggert@cs.ucla.edu.
	* m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
	Remove -Wchkp, -Wabi.

2020-08-30  Bruno Haible  <bruno@clisp.org>

	strerrorname_np: Add tests.
	* tests/test-strerrorname_np.c: New file.
	* modules/strerrorname_np-tests: New file.

	strerrorname_np: New module.
	* lib/string.in.h (strerrorname_np): New declaration.
	* lib/strerrorname_np.c: New file.
	* m4/strerrorname_np.m4: New file.
	* m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether strerrorname_np
	is declared.
	(gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERRORNAME_NP,
	HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
	* modules/string (Makefile.am): Substitute GNULIB_STRERRORNAME_NP,
	HAVE_STRERRORNAME_NP, REPLACE_STRERRORNAME_NP.
	* modules/strerrorname_np: New file.
	* tests/test-string-c++.cc: Verify the signature of strerrorname_np.
	* doc/glibc-functions/strerrorname_np.texi: Mention the new module and
	the glibc 2.32 bug.

2020-08-27  Paul Eggert  <eggert@cs.ucla.edu>

	perror, strerror_r: remove unportable tests
	Problem reported by Florian Weimer in:
	https://lists.gnu.org/r/bug-gnulib/2020-08/msg00220.html
	* tests/test-perror2.c (main):
	* tests/test-strerror_r.c (main): Omit unportable tests.

2020-08-26  Bruno Haible  <bruno@clisp.org>

	stdint, wchar, wctype-h: Change configure message.
	* m4/wint_t.m4 (gt_TYPE_WINT_T): Say "checking whether wint_t is large
	enough..." instead of "checking whether wint_t is too small...".

2020-08-26  Bruno Haible  <bruno@clisp.org>

	time_rz: Change configure message.
	* m4/time_rz.m4 (gl_TIME_RZ): Say "checking whether localtime works even
	near extrema..." instead of "checking whether localtime loops forever
	near extrema...".

2020-08-26  Bruno Haible  <bruno@clisp.org>

	stdint: Change configure message.
	* m4/stdint.m4 (gl_STDINT_H): Say "checking whether stdint.h works
	without ISO C predefines..." instead of "checking whether stdint.h
	predates C++11...".

2020-08-26  Bruno Haible  <bruno@clisp.org>

	socketlib: Change configure message.
	* m4/socketlib.m4 (gl_SOCKETLIB): Say "checking for WSAStartup..."
	instead of "checking if we need to call WSAStartup in winsock2.h and
	-lws2_32...".

2020-08-26  Bruno Haible  <bruno@clisp.org>

	include_next: Change configure message.
	* m4/include_next.m4 (gl_INCLUDE_NEXT): Say "checking whether source
	code line length is unlimited..." instead of "checking whether system
	header files limit the line length...".

2020-08-26  Bruno Haible  <bruno@clisp.org>

	getcwd: Change configure message.
	* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Say "checking
	whether getcwd succeeds when 4k < cwd_length < 16k..." instead of
	"checking whether getcwd aborts when 4k < cwd_length < 16k...".

2020-08-26  Bruno Haible  <bruno@clisp.org>

	chdir-long: Change configure message.
	* m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Say "checking whether this
	system supports file names of any length..." instead of "checking
	whether this system has an arbitrary file name length limit...".
	Set gl_cv_have_unlimited_file_name_length instead of
	gl_cv_have_arbitrary_file_name_length_limit.
	* modules/chdir-long (Depends-on, configure.ac): Update accordingly.

2020-08-26  Bruno Haible  <bruno@clisp.org>

	ceill: Change configure message.
	* m4/ceill.m4 (gl_FUNC_CEILL): Say "checking whether ceill() works..."
	instead of "checking whether ceill() breaks with small values...".

2020-08-26  Bruno Haible  <bruno@clisp.org>

	iconv: Change configure message.
	* m4/iconv.m4 (AM_ICONV): Say "checking whether iconv is compatible
	with its POSIX signature..." instead of "checking for iconv
	declaration...". Remove K&R C support.

2020-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	getcwd: help the merge back into glibc
	This patch was inspired by Adhemerval Zanella’s proposed glibc patches:
	https://sourceware.org/pipermail/libc-alpha/2020-August/117294.html
	The idea is to make it easier for Gnulib lib/getcwd.c to match
	glibc io/getcwd-generic.c.
	* lib/getcwd.c [_LIBC]: Do not include pathmax.h.
	Include not-cancel.h.
	(HAVE_OPENAT, D_INO_IN_DIRENT, HAVE_MSVC_INVALID_PARAMETER_HANDLER)
	(HAVE_MINIMALLY_WORKING_GETCWD): Define for the _LIBC case.
	(__getcwd, __lstat, __readdir) [!_LIBC]: Remove these macros.
	(__close_nocancel_nostatus, __getcwd_generic, stat64, __fstat64)
	(__fstatat64, __lstat64, __readdir64, __fdopendir, __openat)
	(__rewinddir, __openat64, dirent64) [_LIBC]: New macros.
	(__getcwd_generic): Rename from __getcwd.
	Use the abovementioned macros for consistency with glibc.
	(weak_alias): Remove.

2020-08-25  Bruno Haible  <bruno@clisp.org>

	verify: Avoid warnings when assume(0) is used.
	Reported by Mattias Engdegård <mattiase@acm.org> via Paul Eggert in
	<https://lists.gnu.org/archive/html/emacs-devel/2020-08/msg00838.html>.
	* lib/verify.h (assume): Use __builtin_unreachable if the argument is
	the constant 0.
	* tests/test-verify.c (f): New function.
	(state): New type.
	(test_assume_expressions, test_assume_optimization,
	test_assume_noreturn): New functions.

2020-08-25  Bruno Haible  <bruno@clisp.org>

	fstrcmp: Clarification regarding NOTE_ORDERED.
	* lib/fstrcmp.c (NOTE_ORDERED): Define to false.

2020-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	diffseq: new option NOTE_ORDERED
	Problem reported by Phil Sainty <https://bugs.gnu.org/42931>.
	* NEWS: Mention this.
	* lib/diffseq.h (NOTE_ORDERED): New macro.
	(IF_LINT2): Remove; no longer needed.
	(compareseq): If (!NOTE_ORDERED), recurse on the smaller
	subproblem and iterate to do the larger.

2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	sys_types: let Autoconf 2.70 do pid_t
	* m4/pid_t.m4 (AC_TYPE_PID_T): Redefine this Autoconf macro
	only for Autoconf versions 2.69 and earlier, since 2.70
	will be fixed.

2020-08-23  Bruno Haible  <bruno@clisp.org>

	tests: Don't assume that pid_t fits in an 'int'.
	* tests/test-nonblocking-pipe-main.c (main): Use type 'pid_t' instead
	of 'int'.
	* tests/test-nonblocking-socket-main.c (main): Likewise.

	sys_types: Fix definition of pid_t on 64-bit MSVC.
	* m4/pid_t.m4: New file.
	* modules/sys_types (Files): Add it.
	* modules/dirent (Files): Likewise.
	* modules/fcntl-h (Files): Likewise.
	* modules/sched (Files): Likewise.
	* modules/signal-h (Files): Likewise.
	* modules/spawn (Files): Likewise.
	* modules/sys_stat (Files): Likewise.
	* modules/sys_wait (Files): Likewise.
	* modules/termios (Files): Likewise.
	* modules/unistd (Files): Likewise.

2020-08-23  Bruno Haible  <bruno@clisp.org>

	inttypes: Fix {PRI,SCN}*PTR on 32-bit native Windows (regr. 2020-07-21).
	* m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Fix syntax error in test
	program.

2020-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: be consistent about +X vs X+0
	* lib/intprops.h (_GL_SIGNED_INT_MAXIMUM): Simplify.

	intprops: fix INT_MULTIPLY_WRAPV bit-field bug
	The bug occurs when using INT_MULTIPLY_WRAPV (a, b, c) where B
	is a bit-field, on older GCC or non-GCC compilers where we do
	things ourselves instead of using __builtin_mul_overflow.
	Without this fix, INT_MULTIPLY_WRAPV would not compile, due
	to applying sizeof to a bit-field.
	* lib/intprops.h (_GL_INT_MULTIPLY_RANGE_OVERFLOW):
	Promote B before giving it to TYPE_WIDTH, in case B is a bit-field.

2020-08-23  Bruno Haible  <bruno@clisp.org>

	supersede: Avoid a failure when writing to /dev/null in Solaris zones.
	Reported by Jörg Sonnenberger <joerg@netbsd.org>
	via Thomas Klausner <tk@giga.or.at> in
	<https://pkgsrc.se/files.php?messageId=20200812233110.30230FB28@cvs.NetBSD.org>.
	* lib/supersede.c (open_supersede): When opening an existing non-regular
	file on Solaris, use O_CREAT although it should not be necessary.

2020-08-23  Bruno Haible  <bruno@clisp.org>

	verify: Make assume work on bit field expressions (regr. 2020-08-22).
	Reported by Benno Schulenberg <bensberg@telfort.nl> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00202.html>.
	* lib/verify.h (assume): Use '_Bool' or 'bool' as type of the temporary
	variable.

2020-08-23  Bruno Haible  <bruno@clisp.org>

	libc-config: Improve comments.
	* lib/cdefs.h (__warndecl, __warnattr, __errordecl): Explain why we
	cannot use clang's __diagnose_if__ here.

2020-08-22  Bruno Haible  <bruno@clisp.org>

	verify: Do use __builtin_assume on clang.
	* lib/verify.h (assume): Use clang’s __builtin_assume, with a temporary
	variable in a statement expression.

2020-08-22  Bruno Haible  <bruno@clisp.org>

	sig2str: Add more signals.
	* lib/sig2str.c (numname_table): Add SIGCPUFAIL, SIGTHR, SIGBREAK.

2020-08-22  Bruno Haible  <bruno@clisp.org>

	doc: Update for OpenBSD 6.0, 6.7.
	* doc/*/*.texi: Update.
	* m4/printf.m4: Update comments and cross-compilation guesses.
	* m4/ceill.m4: Update comments.
	* m4/getcwd-abort-bug.m4: Likewise.
	* m4/ilogb.m4: Likewise.
	* m4/ilogbf.m4: Likewise.
	* m4/langinfo_h.m4: Likewise.
	* m4/modf.m4: Likewise.
	* m4/modff.m4: Likewise.

2020-08-22  Bruno Haible  <bruno@clisp.org>

	doc: Mention sig2str module.
	* doc/glibc-functions/sigabbrev_np.texi: Mention the sig2str module.

2020-08-21  Bruno Haible  <bruno@clisp.org>

	sigdescr_np: Add tests.
	* tests/test-sigdescr_np.c: New file.
	* modules/sigdescr_np-tests: New file.

	sigdescr_np: New module.
	* lib/string.in.h (sigdescr_np): New declaration.
	* lib/sigdescr_np.c: New file.
	* m4/sigdescr_np.m4: New file.
	* m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigdescr_np is
	declared.
	(gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGDESCR_NP,
	HAVE_SIGDESCR_NP.
	* modules/string (Makefile.am): Substitute GNULIB_SIGDESCR_NP,
	HAVE_SIGDESCR_NP.
	* modules/sigdescr_np: New file.
	* tests/test-string-c++.cc: Verify the signature of sigdescr_np.
	* doc/glibc-functions/sigdescr_np.texi: Mention the new module.

2020-08-20  Bruno Haible  <bruno@clisp.org>

	sigabbrev_np: Add tests.
	* tests/test-sigabbrev_np.c: New file.
	* modules/sigabbrev_np-tests: New file.

	sigabbrev_np: New module.
	* lib/string.in.h (sigabbrev_np): New declaration.
	* lib/sigabbrev_np.c: New file.
	* m4/sigabbrev_np.m4: New file.
	* m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Test whether sigabbrev_np is
	declared.
	(gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_SIGABBREV_NP,
	HAVE_SIGABBREV_NP.
	* modules/string (Makefile.am): Substitute GNULIB_SIGABBREV_NP,
	HAVE_SIGABBREV_NP.
	* modules/sigabbrev_np: New file.
	* tests/test-string-c++.cc: Verify the signature of sigabbrev_np.
	* doc/glibc-functions/sigabbrev_np.texi: Mention the new module.

2020-08-20  Bruno Haible  <bruno@clisp.org>

	stdalign tests: Skip test with AIX xlclang.
	* tests/test-stdalign.c (main): Skip alignas tests with AIX xlclang.

2020-08-20  Bruno Haible  <bruno@clisp.org>

	stdalign: Fix test failures on 32-bit platforms with clang versions < 8.
	* lib/stdalign.in.h (_Alignof): For clang versions < 8, use the same
	workaround as for GCC versions < 4.9.

2020-08-20  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	Sync up ProjectQuirks comments and documentation
	Transform the ProjectQuirks comments into a docstring so that it can
	be accessed from python as ProjectQuirks.__doc__ and harmonize
	descriptions with the documentation.
	* build-aux/vcstocl/projectquirks.py (ProjectQuirks):
	Transform comments into a docstring.
	* doc/vcs-to-changelog.texi: Sync up description with comments.

	Split ProjectQuirks out into its own file
	ProjectQuirks is used by external quirks files and importing it from
	vcs-to-changelog.py is broken since it was renamed to use hyphens.  It
	is cleaner to put it in its own file anyway.
	* build-aux/vcstocl/projectquirks.py: A new file...
	* build-aux/vcs-to-changelog.py (ProjectQuirks): ...to which
	we move ProjectQuirks and import the file.

2020-08-19  Bruno Haible  <bruno@clisp.org>

	uchar: Fix compilation errors in C++ mode on macOS.
	* m4/uchar.m4 (gl_UCHAR_H): Require gl_ANSI_CXX if present. Include some
	system header file before attempting to use 'char16_t' and 'char32_t'.

2020-08-19  Bruno Haible  <bruno@clisp.org>

	ansi-c++-opt: Work around an autoconf macro reordering problem.
	* modules/ansi-c++-opt: Require gl_ANSI_CXX already in the early
	section.

2020-08-19  Bruno Haible  <bruno@clisp.org>

	math C++ tests: Fix compilation error in with GCC 10.
	* lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
	hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder, rint,
	round, trunc): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.

2020-08-19  Bruno Haible  <bruno@clisp.org>

	uchar: Fix compilation errors in C++ mode on OpenBSD.
	* lib/uchar.in.h (char16_t, char32_t): Don't define in C++ mode if
	CXX_HAS_UCHAR_TYPES is 1.
	* m4/uchar.m4 (gl_UCHAR_H): Determine whether the C++ compiler
	predefines char16_t and char32_t. Substitute CXX_HAS_UCHAR_TYPES.
	* modules/uchar (Makefile.am): Substitute CXX_HAS_UCHAR_TYPES.

2020-08-19  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors in C++ mode on OpenBSD.
	* lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on
	OpenBSD with clang, use the approach without C preprocessor macro.

2020-08-18  Bruno Haible  <bruno@clisp.org>

	uchar C++ tests: Fix side effect on math modules (regr. 2020-08-17).
	* modules/uchar-c++-tests (configure.ac): Don't use AC_LANG_PUSH and
	AC_LANG_POP.

2020-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	verify: avoid __built_assume on Clang
	* lib/verify.h (assume): Do not use Clang’s __builtin_assume, as
	Clang 9 incorrectly diagnoses arguments as having side effects
	even when they do not.  I guess Clang 9 considers any function
	call as if it had a side effect here.

	libc-config: avoid Clang’s __diagnose_if__
	* lib/cdefs.h (__warndecl, __warnattr, __errordecl):
	For now, do not use __diagnose_if__ here, as this fails
	on Fedora 31 with Clang 9.0.1, with diagnostic
	"/usr/include/bits/stdio2.h:263:9: error: fgets called with bigger
	size than length of destination buffer
	[-Werror,-Wuser-defined-warnings]".  I guess Clang 9 warns even
	for functions that are not called?

	careadlinkat: speedup for GCC 10 with GCC_LINT
	Inspired by a suggestion by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2020-08/msg00155.html
	* lib/careadlinkat.c (STACK_BUF_SIZE): New constant.
	(readlink_stk): New function, with most of the old careadlinkat
	contents and with a new STACK_BUF arg.  Inline it in GCC 10
	if GCC_LINT.
	(careadlinkat): Use the new function for everything but the
	stack buffer.

	* build-aux/gcc-warning.spec: Update comments.

2020-08-17  Bruno Haible  <bruno@clisp.org>

	Assume autoconf >= 2.64.
	* m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO_LIMIT always.

2020-08-17  Bruno Haible  <bruno@clisp.org>

	Revert autoupdate's revert.
	* config/srclist.txt: Mark regcomp.c as needing sync with glibc.

2020-08-17  Bruno Haible  <bruno@clisp.org>

	uchar C++ tests: Fix build error on FreeBSD 12.
	* modules/uchar-c++-tests (configure.ac): Test whether <cuchar> exists.
	(Makefile.am): Don't include test-uchar-c++2.cc in the compilation if
	<cuchar> does not exist.

2020-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	time_rz: remove unused functions
	* lib/time_rz.c (isdst_differ, equal_tm): Remove; no longer used.

	time_rz: fix issues with mktime_z failures
	* lib/time_rz.c (mktime_z): Do not update *TM if revert_tz fails.
	Use a cheaper tm_yday test for failed mktime.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	intprops test: Strengthen on clang.
	* tests/test-intprops.c (VERIFY): Use verify_stmt.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	nstrftime: Guide inlining also on clang.
	* lib/nstrftime.c (iso_week_days): Inline also on clang.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	intprops: Avoid bogus "warning: division by zero is undefined" on clang.
	* lib/intprops.h (_GL__GENERIC_BOGUS): Define to 1 on clang.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	log2l: Disable MSVC workaround on clang.
	* lib/log2l.c (log2l): On clang, use the expression 0.0L/0.0L.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	argp: Emit a warning also with clang.
	* lib/argp-help.c (__argp_short_program_name): Use #warning also on
	clang.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	libc-config: Enable __REDIRECT macro also on clang.
	* lib/cdefs.h (__REDIRECT, __REDIRECT_NTH, __REDIRECT_NTHNL, __ASMNAME,
	__ASMNAME2): Define on clang like on GCC.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	regex: Use initializer shorthand syntax also with clang.
	* lib/regcomp.c (utf8_sb_map): Use the initializer shorthand syntax also
	with clang.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	regex: Use space optimization also with clang.
	* lib/regex_internal.h (re_token_t): Use a single byte for the type also
	with clang.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	Use _Static_assert and static_assert primitives when present on clang.
	* lib/cdefs.h (_Static_assert): Don't define as a macro on clang.
	* lib/verify.h (_GL_HAVE__STATIC_ASSERT, _GL_HAVE__STATIC_ASSERT1,
	_GL_HAVE_STATIC_ASSERT1): Define as appropriate on clang.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	Use 'throw ()' for optimization in C++ mode also on clang.
	* lib/cdefs.h (__THROW): Define to 'throw ()' also on clang.
	* lib/getopt-cdefs.in.h (__THROW): Likewise.
	* lib/md5.h (__THROW): Likewise.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	absolute-header: Add support for clang.
	* modules/absolute-header (Makefile.am): Include '__clang__' in the
	HAVE_INCLUDE_NEXT expression.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	Fix "warning: implicitly declaring library function 'strcasecmp'".
	* lib/argp-help.c: Include <strings.h>.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	stdio: Don't break attribute 'scanf' on clang.
	* lib/stdio.in.h (scanf): Treat clang like GCC.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	Use __restrict also on clang.
	* lib/argp.h (__restrict): Don't define as a macro on clang >= 3.
	* lib/glob.in.h (_Restrict_): Use __restrict on clang >= 3.
	* lib/unitypes.in.h (_UC_RESTRICT): Likewise.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	pthread-spin: Use GCC built-ins also on clang.
	* lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
	pthread_spin_trylock, pthread_spin_unlock): Use the newer GCC built-ins
	also on clang.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	asyncsafe-spin tests: Update.
	* tests/test-asyncsafe-spin2.c: Update to match the change in
	lib/asyncsafe-spin.c from 2020-08-11.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	setenv: Use tree code also with clang.
	* lib/setenv.c (USE_TSEARCH): Treat clang like GCC.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	math: Optimize signbit also on clang.
	* lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Optimize also
	on clang.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	avltreehash-list, rbtreehash-list: Optimize also on clang.
	* lib/gl_anytreehash_list1.h (add_nodes_to_buckets): Use
	__builtin_expect also on clang.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	Fix "warning: 'WSASocketA' is deprecated: Use WSASocketW() instead".
	* lib/socket.c: Use WSASocketW, not WSASocketA.

	Fix "warning: format specifies type 'unsigned long'".
	* tests/test-nonblocking-writer.h (main_writer_loop): Cast dbgfprintf
	argument to match the format directive.

	Fix "warning: no case matching constant switch condition '0'".
	* tests/test-fcntl.c (check_flags): Add a 'default' case.

	Fix "warning: integer overflow in expression".
	* tests/test-strtol.c (main): Use an 'unsigned long' expression to
	remove a 'long' overflow.

	Fix "warning: "getpagesize" redefined".
	* tests/test-getcwd.c (getpagesize): Don't redefine if defined as a
	macro.

	Fix "warning: implicitly declaring library function 'strncasecmp'".
	* lib/strptime.c: Include <strings.h>.

	Fix "warning: 'snprintf' macro redefined".
	* lib/strerror_r.c (snprintf): Undefine before redefining.

	Fix "warning: address of array 'locale' will always evaluate to 'true'".
	* lib/nl_langinfo.c (ctype_codeset): Remove redundant NULL test.

	Fix "warning: '__stat64' macro redefined".
	* lib/glob.c (__stat64): Undefine also on MSVC/clang.

	Fix "warning: 'format' attribute argument not supported: rpl_printf".
	* lib/stdio.in.h (printf): Treat clang like GCC.

	Fix "warning: attribute declaration must precede definition" with clang.
	* lib/math.in.h (acosl, asinl, atanl, ceill, cosl, expl, fabsf, fabsl,
	floorl, fmodl, frexpf, frexpl, hypotf, hypotl, ldexpf, ldexpl, logl,
	log10l, modfl, sinl, sqrtl, tanl): Disable _GL_CXXALIASWARN invocation
	on non-glibc systems.
	* lib/netdb.in.h (gai_strerror): Likewise.
	* lib/stdio.in.h (snprintf, vfscanf, vscanf, vsnprintf): Likewise.
	* lib/sys_stat.in.h (fstat): Likewise.
	* lib/utime.in.h (utime): Likewise.

	Fix undesired warnings.
	* lib/sys_select.in.h: Disable all _GL_WARN_ON_USE invocations with
	clang.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	C++ tests: Fix link errors on MSVC (regression from 2020-05-31).
	* modules/stdio-c++-tests (Makefile.am): Link test-stdio-c++ with
	$(LIB_GETRANDOM), needed for the rpl_tmpfile symbol.
	* modules/stdlib-c++-tests (Makefile.am): Link test-stdlib-c++ with
	$(LIB_GETRANDOM), needed for the mkdtemp and mkstemp symbols.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	Don't use Autoconf quadrigraphs.
	* m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Use '#' instead of the corresponding
	Autoconf quadrigraph.
	* m4/free.m4 (gl_FUNC_FREE): Likewise.
	* m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
	* m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES,
	_AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
	* m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
	* m4/math_h.m4 (gl_MATH_H): Likewise.
	* m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	Fix quoting of AC_LANG_PROGRAM arguments.
	* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Quote the AC_LANG_PROGRAM
	arguments through [[...]].
	* m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
	* m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
	* m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
	* m4/ld-output-def.m4 (gl_LD_OUTPUT_DEF): Likewise.
	* m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Likewise.
	* m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
	* m4/mountlist.m4 (gl_MOUNTLIST): Likewise.
	* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
	* m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
	* m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
	* m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
	* m4/wcstok.m4 (gl_FUNC_WCSTOK): Likewise.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	Assume autoconf >= 2.64.
	* gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Set to 2.64.
	* DEPENDENCIES: Require Autoconf 2.64 or newer.
	* NEWS: Mention the changed requirement.
	* m4/00gnulib.m4 (_m4_divert_diversion, AC_DEFUN_ONCE): Remove macros.
	* m4/gnulib-common.m4 (AS_VAR_IF, AS_VAR_COPY): Remove macros.
	* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Quote pushdef'ed
	variables.
	* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
	* m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Likewise.
	* m4/warnings.m4 (gl_COMPILER_OPTION_IF): Likewise.
	(gl_UNKNOWN_WARNINGS_ARE_ERRORS(C), gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++),
	gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): Define through AC_DEFUN.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C), gl_MANYWARN_ALL_GCC(C++)):
	Likewise.
	* m4/iconv.m4 (AM_ICONV): Define through AC_DEFUN_ONCE directly.
	* m4/libunistring.m4 (gl_LIBUNISTRING): Likewise.
	* m4/configmake.m4: Update comment.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	sys_ioctl: Simplify.
	* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Remove confusing use of
	AC_INCLUDES_DEFAULT.

2020-08-16  Bruno Haible  <bruno@clisp.org>

	Fix quoting of AC_LANG_SOURCE arguments.
	* m4/printf.m4 (gl_PRINTF_ENOMEM): Fix an m4 quoting bug in the
	GL_NOCRASH expansion.
	* m4/locale-ar.m4 (gt_LOCALE_AR): Simplify m4 quoting.
	* m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
	* m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
	* m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.

2020-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	nstrftime: be more predictable about errno
	This aligns nstrftime better with draft POSIX 202x strftime.
	* lib/nstrftime.c: Include errno.h.
	(width_add, __strftime_internal): Set errno on failure,
	and preserve it on success.  Check for mktime_z failure.
	* modules/nstrftime (Depends-on): Add errno.
	* modules/nstrftime-tests (Depends-on): Add atoll, intprops.
	* tests/test-nstrftime.c: Include intprops.h, limits.h.
	(errno_test): New test function.
	(main): Call it.

2020-08-15  Bruno Haible  <bruno@clisp.org>

	canonicalize: Fix a problem of the autoconf test on MSVC/clang.
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Remove undesired file
	from dependency analysis first.

2020-08-15  Bruno Haible  <bruno@clisp.org>

	Determine asm output option and filename suffix for MSVC/clang.
	* m4/asm-underscore.m4 (gl_C_ASM): Distinguish clang from cl and
	clang-cl.

2020-08-15  Bruno Haible  <bruno@clisp.org>

	doc: Update for MSVC/clang.
	* doc/*-functions/*printf.texi: Mention that MSVC/clang has two bugs
	that MSVC 14 does not have.

2020-08-15  Bruno Haible  <bruno@clisp.org>

	Revert autoupdate's revert.
	* config/srclist.txt: Mark mktime.c as needing sync with glibc.

2020-08-15  Bruno Haible  <bruno@clisp.org>

	frexpl: Fix configuration test result on MSVC.
	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Avoid a division by a constant
	zero.

2020-08-15  Bruno Haible  <bruno@clisp.org>

	Support compiling without -loldnames on native Windows.
	* m4/gnulib-common.m4 (GL_MDA_DEFINES, _GL_MDA_DEFINES): New macros.
	* m4/chown.m4 (AC_FUNC_CHOWN): In the test programs, use GL_MDA_DEFINES.
	(gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
	* m4/dup.m4 (gl_FUNC_DUP): Likewise.
	* m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
	* m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Likewise.
	* m4/fchownat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Likewise.
	* m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
	* m4/fcntl.m4 (gl_FUNC_FCNTL): Likewise.
	* m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
	* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
	* m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
	* m4/fopen.m4 (gl_FUNC_FOPEN_GNU): Likewise.
	* m4/freopen.m4 (gl_FUNC_FREOPEN): Likewise.
	* m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
	* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL, gl_FUNC_GETCWD_SIGNATURE):
	Likewise.
	* m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Likewise.
	* m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
	* m4/lseek.m4 (gl_FUNC_LSEEK): Likewise.
	* m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
	* m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
	* m4/open-slash.m4 (gl_OPEN_TRAILING_SLASH_BUG): Likewise.
	* m4/poll.m4 (gl_FUNC_POLL): Likewise.
	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
	* m4/pread.m4 (gl_FUNC_PREAD): Likewise.
	* m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Likewise.
	* m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
	* m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
	* m4/pwrite.m4 (gl_FUNC_PWRITE): Likewise.
	* m4/rename.m4 (gl_FUNC_RENAME): Likewise.
	* m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
	* m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
	* m4/select.m4 (gl_FUNC_SELECT): Likewise.
	* m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
	* m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
	* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
	* m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
	* m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
	* m4/utimens.m4 (gl_UTIMENS): Likewise.
	* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
	* m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
	* m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): On native Windows, don't
	test for getcwd.
	* m4/utime.m4 (gl_FUNC_UTIME): On native Windows, don't test for utime.
	* m4/wcsdup.m4 (gl_FUNC_WCSDUP): To test for wcsdup, use a test program
	with GL_MDA_DEFINES.
	* lib/c++defs.h (_GL_CXXALIAS_MDA): New macro.
	* lib/fcntl.in.h (creat, open):  On native Windows, use the underscore-
	prefixed symbol.
	* lib/search.in.h (lfind, lsearch): Likewise.
	* lib/stdio.in.h (fcloseall, fdopen, fileno, getw, putw, tempnam):
	Likewise.
	* lib/stdlib.in.h (ecvt, fcvt, gcvt, mktemp, putenv): Likewise.
	* lib/string.in.h (memccpy, strdup): Likewise.
	* lib/sys_stat.in.h (chmod, umask): Likewise.
	* lib/time.in.h (tzset): Likewise.
	* lib/unistd.in.h (access, chdir, close, dup, dup2, execl, execle,
	execlp, execv, execve, execvp, execvpe, getcwd, getpid, isatty, lseek,
	read, rmdir, swab, unlink, write): Likewise.
	* lib/utime.in.h (utime): Likewise.
	* lib/wchar.in.h (wcsdup): Likewise.
	* lib/math.in.h (j0, j1, jn, y0, y1, yn):  Likewise.
	(isfinite, isinf, isnan, signbit): On native Windows, don't define as an
	rpl_-prefixed macro.
	* lib/canonicalize-lgpl.c (__getcwd): On native Windows, use _getcwd.
	* lib/close.c (close_nothrow): On native Windows, use _close.
	* lib/creat.c (orig_creat): On native Windows, use _creat.
	* lib/dup.c (dup_nothrow): On native Windows, use _dup.
	* lib/dup2.c (dup2_nothrow): Use _dup2.
	* lib/fdopen.c (fdopen_nothrow): On native Windows, use _fdopen.
	* lib/getcwd-lgpl.c: On native Windows, use _getcwd.
	* lib/getcwd.c (getcwd_nothrow): Use _getcwd also on mingw.
	* lib/open.c (orig_open): On native Windows, use _open.
	* lib/read.c (read_nothrow): Use _read.
	* lib/rmdir.c: On native Windows, use _rmdir.
	* lib/unlink.c: On native Windows, use _unlink.
	* lib/write.c (write_nothrow): Use _write.
	* lib/sys_select.in.h (close): With clang, don't attach a warning on an
	undefined symbol.
	* lib/sys_socket.in.h (close): Likewise.
	* lib/sys_time.in.h (close): Likewise.
	* tests/test-spawn-pipe-child.c: On native Windows, use _fdopen.

2020-08-15  Bruno Haible  <bruno@clisp.org>

	Fix "unknown pragma ignored" warnings with clang on native Windows.
	* lib/cbrt.c: Don't use '#pragma fenv_access (off)' with clang.
	* lib/cbrtf.c: Likewise.
	* lib/ceil.c: Likewise.
	* lib/floor.c: Likewise.
	* lib/fma.c: Likewise.
	* lib/fmod.c: Likewise.
	* lib/rint.c: Likewise.
	* lib/round.c: Likewise.
	* lib/trunc.c: Likewise.
	* tests/test-ceil2.c: Likewise.
	* tests/test-ceilf2.c: Likewise.
	* tests/test-floor2.c: Likewise.
	* tests/test-floorf2.c: Likewise.
	* tests/test-trunc2.c: Likewise.
	* tests/test-truncf2.c: Likewise.
	* m4/round.m4 (gl_FUNC_ROUND): Likewise.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.

2020-08-15  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors in C++ mode with clang on native Windows.
	* lib/pthread.in.h (pthread_*): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.
	* lib/sched.in.h (sched_yield): Likewise.

2020-08-14  Bruno Haible  <bruno@clisp.org>

	stdnoreturn: Work around problem with MSVC/clang.
	* m4/stdnoreturn.m4 (gl_STDNORETURN_H): On native Windows, include some
	system header after <stdnoreturn.h>.
	* doc/posix-headers/stdnoreturn.texi: Mention the issue.

2020-08-14  Bruno Haible  <bruno@clisp.org>

	utime-h: Generate an utime.h file always.
	* modules/utime-h (Makefile.am): Generate utime.h always.
	* m4/utime_h.m4 (gl_UTIME_H): Don't set UTIME_H. Don't define
	GL_GENERATE_UTIME_H.

2020-08-14  Bruno Haible  <bruno@clisp.org>

	mktime, mktime-internal: Remove obsolete code.
	* m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't #undef putenv.

2020-08-14  Bruno Haible  <bruno@clisp.org>

	getcwd: Remove obsolete code.
	* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't #undef mkdir.
	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.

2020-08-14  Bruno Haible  <bruno@clisp.org>

	tzset: Assume the function exists.
	* lib/time.in.h (tzset): Assume HAVE_TZSET is 1.
	* lib/tzset.c: Define rpl_tzset, not tzset. Assume HAVE_TZSET is 1.
	* modules/tzset (configure.ac): Don't test HAVE_TZSET.
	* m4/tzset.m4 (gl_FUNC_TZSET): Don't test for tzset. Don't set
	HAVE_TZSET.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Don't initialize HAVE_TZSET.
	* modules/time (Makefile.am): Don't substitute HAVE_TZSET.

	nstrftime: Assume tzset exists.
	* lib/nstrftime.c (HAVE_TZSET): Remove macro.
	(__strftime_internal): Test my_strftime, not HAVE_TZSET.
	* m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't test for tzset.

	mktime, mktime-internal: Assume tzset exists.
	* lib/mktime.c (my_tzset): Assume HAVE_TZSET is 1.
	* m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Don't test for tzset.

2020-08-14  Bruno Haible  <bruno@clisp.org>

	strdup: Assume the function exists.
	* m4/strdup.m4 (gl_FUNC_STRDUP, gl_FUNC_STRDUP_POSIX): Don't test
	whether strdup exists.
	* modules/strdup (Files): Remove lib/strdup.c.
	(configure.ac): Don't compile strdup.c.
	* modules/strdup-posix (Depends-on, configure.ac): Don't test
	ac_cv_func_strdup.
	* doc/posix-functions/strdup.texi: Update.
	* lib/unistr/u8-strdup.c: Assume HAVE_STRDUP is 1.
	* modules/unistr/u8-strdup (Files): Remove lib/unistr/u-strdup.h.
	(Depends-on): Remove unistr/u8-strlen.

2020-08-13  Bruno Haible  <bruno@clisp.org>

	sys_random: Work around an uClibc bug.
	Reported by akater <nuclearspace@gmail.com>
	via Stefan Kangas <stefan@marxist.se>
	in <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=42236>.
	* lib/sys_random.in.h: On uClibc, include <stddef.h> first.
	* m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Update comment.
	* m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
	* doc/glibc-headers/sys_random.texi: Mention the uClibc bug.

2020-08-12  Bruno Haible  <bruno@clisp.org>

	Avoid implicit conversion from 'unsigned int' to 'int' in initializers.
	Reported by Florian Weimer in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-08/msg00086.html>.
	* lib/gen-uni-tables.c (output_predicate): Change the element type of
	the level3 array to 'unsigned int'.
	* lib/unictype/bitmap.h (bitmap_lookup): Access an 'unsigned int'.
	* lib/unictype/categ_*.h: Regenerated.
	* lib/unictype/ctype_*.h: Regenerated.
	* lib/unictype/pr_*.h: Regenerated.
	* lib/unictype/sy_*.h: Regenerated.
	* lib/unicase/cased.h: Regenerated.
	* lib/unicase/ignorable.h: Regenerated.

2020-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	stdint: port intptr_t to more-recent MinGW
	Problem reported by Eli Zaretskii in <https://bugs.gnu.org/36597#106>.
	* lib/stdint.in.h (intptr_t, uintptr_t): Do not define on MinGW,
	even if _INTPTR_T_DEFINED and _UINTPTR_T_DEFINED are not defined.
	Apparently those two macros were removed in mingwrt-3.22
	dated 2016-07-14.

2020-08-12  Bruno Haible  <bruno@clisp.org>

	thread-optim: Export function-like macros only.
	Suggested by Paul Eggert.
	* lib/thread-optim.h (gl_multithreaded): New macro.
	(IF_MT_DECL, IF_MT): Remove macros.
	* doc/multithread.texi (Multithreading Optimizations): Add a small
	example.
	* lib/fatal-signal.c: Update all uses.
	* lib/clean-temp.c: Likewise.
	* lib/localename.c: Likewise.
	* modules/localename (Depends-on): Add stdbool.

2020-08-12  Bruno Haible  <bruno@clisp.org>

	Revert autoupdate's revert.
	* config/srclist.txt: Mark regex.h as needing sync with glibc.

2020-08-11  Bruno Haible  <bruno@clisp.org>

	thread-optim: Fix a compiler warning.
	* lib/thread-optim.h (IF_MT_DECL): Define differently.

2020-08-11  Bruno Haible  <bruno@clisp.org>

	Use __restrict also on clang.
	* lib/cdefs.h (__restrict): Don't define as a macro on clang.
	(__restrict_arr): On clang, define like on GCC.
	* lib/regex.h (_Restrict_): Use '__restrict' also on clang.
	(_Restrict_arr_): Use _Restrict_ also on clang.
	* lib/spawn.in.h (_Restrict_): Use '__restrict' also on clang.
	(_Restrict_arr_): Use _Restrict_ also on clang.

2020-08-11  Bruno Haible  <bruno@clisp.org>

	Use flexible array syntax also on clang.
	* lib/cdefs.h (__flexarr, __glibc_c99_flexarr_available): For clang,
	define like for GCC 3.

2020-08-11  Bruno Haible  <bruno@clisp.org>

	fcntl: On native Windows, use _setmode, not setmode.
	* lib/fcntl.c (dupfd): Use _setmode, not setmode.
	* lib/binary-io.h: Update comment.
	* tests/test-cloexec.c: Call set_binary_mode, not setmode.
	* tests/test-dup2.c: Likewise.
	* tests/test-dup-safer.c: Likewise.
	* tests/test-fcntl.c: Likewise.

2020-08-11  Bruno Haible  <bruno@clisp.org>

	execute, spawn-pipe: Use _spawnvpe, not spawnvpe.
	* lib/execute.c (execute): Use _spawnvpe, not spawnvpe.
	* lib/spawn-pipe.c (create_pipe): Likewise.
	* tests/test-nonblocking-pipe-main.c (main): Likewise.
	* tests/test-nonblocking-socket-main.c (main): Likewise.
	* lib/wait-process.c: Update comment.
	* doc/posix-functions/fork.texi: Update.

2020-08-11  Bruno Haible  <bruno@clisp.org>

	asyncsafe-spin: Use GCC built-ins also on clang.
	* lib/asyncsafe-spin.c (asyncsafe_spin_init, do_lock, do_unlock): Use
	the newer GCC built-ins also on clang.

2020-08-11  Bruno Haible  <bruno@clisp.org>

	Use expression statements also on clang.
	* lib/cdefs.h (__extension__): Don't define to empty on clang.
	* lib/obstack.h (__extension__): Likewise.
	(obstack_object_size, obstack_room, obstack_make_room, obstack_empty_p,
	obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
	obstack_int_grow, obstack_ptr_grow_fast, obstack_int_grow_fast,
	obstack_blank, obstack_alloc, obstack_copy, obstack_copy0,
	obstack_finish, obstack_free): Enable as optimized macros also on clang.
	* lib/fpucw.h (fpucw_t etc.): Enable the definitions also on clang.

2020-08-10  Bruno Haible  <bruno@clisp.org>

	Use many __attribute__s with clang.
	* m4/gnulib-common.m4 (_Noreturn): Use __attribute__ __noreturn__ also
	on clang.
	* lib/cdefs.h (__glibc_clang_has_attribute, __glibc_clang_has_builtin):
	New macros.
	(__THROW, __THROWNL, __NTH, __NTHNL): Use __attribute__ __nothrow__ also
	on clang.
	(__warndecl, __warnattr, __errordecl): Use __attribute__ __diagnose_if__
	also on older clang versions.
	(__attribute__): Don't define to empty on clang.
	(__attribute_malloc__): Use __attribute__ __malloc__ also on clang.
	(__attribute_pure__): Use __attribute__ __pure__ also on clang.
	(__attribute_const__): Use __attribute__ __const__ also on clang.
	(__attribute_used__): Use __attribute__ __used__ also on clang.
	(__attribute_noinline__): Use __attribute__ __noinline__ also on clang.
	(__attribute_deprecated__): Use __attribute__ __deprecated__ also on
	clang.
	(__attribute_format_arg__): Use __attribute__ __format_arg__ also on
	clang.
	(__attribute_format_strfmon__): Use __attribute__ __format__ __strfmon__
	also on clang.
	(__nonnull): Use __attribute__ __nonnull__ also on clang.
	(__attribute_warn_unused_result__): Use __attribute__
	__warn_unused_result__ also on clang.
	(__always_inline): Use __attribute__ __always_inline__ also on clang.
	(__attribute_artificial__): Use __attribute__ __artificial__ also on
	clang >= 7.
	(__glibc_unlikely, __glibc_likely): Use __builtin_expect also on older
	clang versions.
	(_Noreturn): Don't redefine on clang >= 3.5.
	* lib/arg-nonnull.h (_GL_ARG_NONNULL): Use __attribute__ __nonnull__
	also on clang.
	* lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Use __attribute__ __pure__ also
	on clang.
	* lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
	* lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
	* lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.
	* lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Use __attribute__ __format__
	also on clang.
	* lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.
	* lib/textstyle.in.h (ostream_printf, ostream_vprintf): Likewise.
	* lib/unitypes.in.h (_UC_ATTRIBUTE_CONST): Use __attribute__ __const__
	also on clang.
	(_UC_ATTRIBUTE_PURE): Use __attribute__ __pure__ also on clang.
	* lib/noreturn.h (_GL_NORETURN_FUNC, _GL_NORETURN_FUNCPTR): Use
	__attribute__ __noreturn__ also on clang.
	* lib/obstack.h (__attribute_noreturn__): Likewise.
	* lib/file-set.h (record_file): Use __attribute__ __nonnull__ also on
	clang.
	* lib/argp-help.c (hol_entry_long_iterate): Use __attribute__
	always_inline also on clang.
	* tests/test-printf-posix.c (func1, func2, func3, func4): Test also on
	clang.

2020-08-10  Bruno Haible  <bruno@clisp.org>

	c-ldtoastr tests: Fix test failure.
	* tests/test-c-ldtoastr.c (main): Support platforms where 'long double'
	is longer than 'double'.

2020-08-10  Bruno Haible  <bruno@clisp.org>

	Revert autoupdate's revert.
	* config/srclist.txt: Mark intprops.h as needing sync with glibc.

2020-08-09  Bruno Haible  <bruno@clisp.org>

	string: Fix build error in C++ mode with clang (regression from today).
	* lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): Expect two rettype
	parameters, one for GCC, one for clang.
	* lib/c++defs.h (_GL_CXXALIASWARN1_2): Update.
	* lib/string.in.h (strchr, strpbrk, strrchr): For clang, pass 'char *'
	as return type.

2020-08-09  Bruno Haible  <bruno@clisp.org>

	ftruncate: Use _chsize, not chsize.
	* m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Test for _chsize, not chsize.
	* lib/ftruncate.c: Test HAVE__CHSIZE.
	(chsize_nothrow): Use _chsize, not chsize.

2020-08-09  Bruno Haible  <bruno@clisp.org>

	Silence warnings from clang 10 with -Wimplicit-fallthrough.
	* lib/dfa.c (FALLTHROUGH): Use __attribute__ __fallthrough__ also on
	clang >= 10.
	* lib/fnmatch.c (FALLTHROUGH): Likewise.
	* lib/fts.c (FALLTHROUGH): Likewise.
	* tests/macros.h (FALLTHROUGH): Likewise.
	* lib/regex_internal.h (FALLTHROUGH): Likewise.
	* config/srclist.txt: Mark it as needing sync with glibc.

2020-08-09  Bruno Haible  <bruno@clisp.org>

	stdbool tests: Enable the stricter tests also on clang.
	* tests/test-stdbool.c (ADDRESS_CHECK_OKAY): Define also on clang.
	(e): Enable the address-to-bool conversion test also on clang.

2020-08-09  Bruno Haible  <bruno@clisp.org>

	count-one-bits: Use __builtin_popcount{,l,ll} on clang.
	* lib/count-one-bits.h (COUNT_ONE_BITS): Use the GCC built-in.

2020-08-09  Bruno Haible  <bruno@clisp.org>

	Use attribute __aligned__ with clang.
	* lib/stdalign.in.h (_Alignas): Treat clang like GCC.
	* lib/stddef.in.h (_GL_STDDEF_ALIGNAS): Likewise.

2020-08-09  Bruno Haible  <bruno@clisp.org>

	Use __alignof__ with clang.
	* m4/stddef_h.m4 (gl_STDDEF_H): Test the alignment of max_align_t also
	on clang.
	* lib/alignof.h (alignof_type): Use __alignof__ also on clang.
	* lib/stdalign.in.h (_Alignof): Don't activate the GCC workaround on
	clang.
	* lib/malloca.h (sa_alignof): Use __alignof__ also on clang.
	* lib/bitset/list.c (lbitset_elt_alloc): Use __alignof__ also on clang.
	* lib/bitset/table.c (tbitset_elt_alloc): Likewise.
	* tests/test-stddef.c: Very the behaviour of __alignof__ also on clang.

2020-08-09  Bruno Haible  <bruno@clisp.org>

	ignore-value: Simplify on clang.
	* lib/ignore-value.h (ignore_value): With clang, no need to use the GCC
	workaround.

2020-08-09  Bruno Haible  <bruno@clisp.org>

	Use __typeof__ with clang.
	* m4/stdint.m4 (gl_STDINT_H): Check for SIZE_MAX also on
	"clang -std=gnu99".
	* lib/intprops.h (_GL_HAVE___TYPEOF__): Define to 1 also on clang.
	* tests/test-stdint.c (verify_same_types): Enable the check also on
	clang.

2020-08-09  Bruno Haible  <bruno@clisp.org>

	Add ability to emit user-defined warnings and errors with clang.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Define _GL_ATTRIBUTE_ERROR,
	_GL_ATTRIBUTE_WARNING using an attribute for clang.
	* lib/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_ATTRIBUTE,
	_GL_WARN_ON_USE_CXX): Define using an attribute for clang.
	* lib/cdefs.h (__warndecl, __warnattr, __errordecl): Define using an
	attribute for clang.

2020-08-09  Bruno Haible  <bruno@clisp.org>

	intprops: Fix typo in comment.
	* lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_P): Fix typo in comment.

2020-08-09  Bruno Haible  <bruno@clisp.org>

	Use __builtin_signbit* with clang.
	* lib/math.in.h (signbit): Use __builtin_signbit{,f,l} also on clang.
	* m4/signbit.m4 (gl_SIGNBIT): Use __builtin_signbit{,f,l} also on clang.
	Set REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
	REPLACE_SIGNBIT_USING_BUILTINS, not REPLACE_SIGNBIT_USING_GCC.
	* modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_BUILTINS,
	not REPLACE_SIGNBIT_USING_GCC.

2020-08-09  Bruno Haible  <bruno@clisp.org>

	Use __builtin_isnan with clang.
	* lib/isnanf-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
	not __builtin_isnanf. Also on clang.
	* m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Use the GCC
	built-in __builtin_isnan, not __builtin_isnanf. Also on clang.
	* lib/isnand-nolibm.h (isnand): With clang, use the GCC built-in.
	* m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): With clang, use the GCC
	built-in.
	* lib/isnanl-nolibm.h (isnanf): Use the GCC built-in __builtin_isnan,
	not __builtin_isnanl. Also on clang.
	* m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_FUNC_ISNANL_WORKS): Use the
	GCC built-in __builtin_isnan, not __builtin_isnanl. Also on clang.
	* lib/math.in.h (__has_builtin): Remove macro.
	(isnanf, gl_isnan_f): Use the GCC built-in __builtin_isnan, not
	__builtin_isnanf. Also on clang.
	(isnand, gl_isnan_d): With clang, use the GCC built-in.
	(isnanl, gl_isnan_l): Use the GCC built-in __builtin_isnan, not
	__builtin_isnanl. Also on clang.
	(isnan): Use the GCC built-in __builtin_isnan in all three cases. Also
	on clang.

2020-08-09  Bruno Haible  <bruno@clisp.org>

	thread-optim: Fix logic error.
	Reported by Paul Eggert.
	* lib/thread-optim.h (IF_MT): Fix logic error.

2020-08-08  Bruno Haible  <bruno@clisp.org>

	localename: Use module 'thread-optim'.
	* lib/localename.c: Include thread-optim.h.
	(struniq): Use IF_MT macro.
	* modules/localename (Depends-on): Add thread-optim.

	clean-temp: Use module 'thread-optim'.
	* lib/clean-temp.c: Include thread-optim.h.
	(register_temporary_file, unregister_temporary_file, create_temp_dir,
	register_temp_file, unregister_temp_file, register_temp_subdir,
	unregister_temp_subdir, cleanup_temp_dir_contents, register_fd,
	close_temp, fclose_variant_temp): Use IF_MT macro.
	* modules/clean-temp (Depends-on): Add thread-optim.

	fatal-signal: Use module 'thread-optim'.
	* lib/fatal-signal.c: Include thread-optim.h.
	(at_fatal_signal, block_fatal_signals, unblock_fatal_signals): Use IF_MT
	macro.
	* modules/fatal-signal (Depends-on): Add thread-optim.

2020-08-08  Bruno Haible  <bruno@clisp.org>

	New module 'thread-optim'.
	* lib/thread-optim.h: New file.
	* modules/thread-optim: New file.
	* doc/multithread.texi (Multithreading Optimizations): New section.

2020-08-07  Paul Eggert  <eggert@cs.ucla.edu>

	doc: more updates for glibc 2.32
	* doc/glibc-functions/lchmod.texi, doc/posix-functions/faccessat.texi:
	* doc/posix-functions/fchmodat.texi: Update.

2020-08-07  Bruno Haible  <bruno@clisp.org>

	doc: Update for glibc 2.32.
	* doc/glibc-functions/__libc_single_threaded.texi: New file.
	* doc/glibc-functions/pthread_attr_getsigmask_np.texi: New file.
	* doc/glibc-functions/pthread_attr_setsigmask_np.texi: New file.
	* doc/glibc-functions/sigabbrev_np.texi: New file.
	* doc/glibc-functions/sigdescr_np.texi: New file.
	* doc/glibc-functions/strerrordesc_np.texi: New file.
	* doc/glibc-functions/strerrorname_np.texi: New file.
	* doc/gnulib.texi: Include them.
	(Glibc sys/single_threaded.h): New section.
	* doc/pastposix-functions/h_errno.texi: Update.
	* doc/posix-functions/*.texi: Likewise.
	* doc/glibc-functions/*.texi: Likewise.

2020-08-07  Bruno Haible  <bruno@clisp.org>

	alloca: No need to compile alloca.c with clang.
	* lib/alloca.c: Skip all code with clang.

	Use __builtin_alloca with clang.
	* lib/alloca.in.h (alloca): Define as __builtin_alloca on clang.

2020-08-06  Bruno Haible  <bruno@clisp.org>

	Use __builtin_assume with clang.
	* lib/verify.h (_GL_HAS_BUILTIN_ASSUME): New macro.
	(assume): Use __builtin_assume when available.

2020-08-06  Paul Eggert  <eggert@cs.ucla.edu>

	libgmp: add <gmp/gmp.h> support
	* m4/libgmp.m4 (gl_LIBGMP):
	* modules/libgmp (configure.ac, Makefile.am):
	Support platforms requiring ‘#include <gmp/gmp.h>’ instead of
	‘#include <gmp.h>’.

2020-08-06  Bruno Haible  <bruno@clisp.org>

	Consider that clang defines __OPTIMIZE__ like GCC does.
	* lib/streq.h: Define the inline functions also on clang.
	* lib/c-strcaseeq.h: Likewise.
	* lib/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't enable
	the GCC workaround to clang.

2020-08-06  Bruno Haible  <bruno@clisp.org>

	safe-alloc: Remove unused code.
	* lib/safe-alloc.h (__GNUC_PREREQ): Remove macro.

2020-08-06  Bruno Haible  <bruno@clisp.org>

	Use __builtin_expect with clang everywhere.
	* lib/cdefs.h (__glibc_unlikely, __glibc_likely): Use the GCC built-in
	also on clang.

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

	Use __builtin_ctz{,l,ll} and __builtin_ffs{,l,ll} with clang everywhere.
	* lib/count-trailing-zeros.h (COUNT_TRAILING_ZEROS): Use the GCC
	built-in also on clang.
	* lib/ffs.c: With clang, use the GCC built-in, not <intrin.h>.
	* lib/ffsl.h: Likewise. Assume GCC_BUILTIN is defined.

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

	Use __builtin_clz{,l,ll} with clang, also on Windows.
	* lib/integer_length.c: With clang, use the GCC built-in, not
	<intrin.h>.
	* lib/integer_length_l.c: Likewise.
	* lib/count-leading-zeros.h (COUNT_LEADING_ZEROS): Use the GCC built-in
	also on clang.
	* lib/vasnprintf.c (divide): Likewise.

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

	Update srclist.txt as per recent glibc changes
	* config/srclist.txt: Uncomment lines to reflect recent merges
	from Gnulib to glibc.

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

	Prefer documented autoconf macro 'm4_if' over 'ifelse'.
	* m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Use m4_if instead of ifelse.

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

	integer_length_ll: Optimize for MSVC in 64-bit mode.
	* lib/integer_length_l.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
	(FUNC): On MSVC, use MSVC_BUILTIN if defined.

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

	integer_length_ll: Optimize for MSVC in 32-bit mode.
	* lib/integer_length_l.c: Include <intrin.h>.
	(integer_length): Define as inline function, like in
	lib/integer_length.c.

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

	integer_length: Optimize for MSVC.
	* lib/integer_length.c: Include <intrin.h>.
	(integer_length): With MSVC, use the _BitScanReverse built-in.

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

	ffsll: Optimize for MSVC in 64-bit mode.
	* lib/ffsl.h (FUNC): On MSVC, use MSVC_BUILTIN if defined.
	* lib/ffsll.c (MSVC_BUILTIN): Define for MSVC in 64-bit mode.
	* lib/ffsl.c (MSVC_BUILTIN): Define for MSVC.

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

	ffsll: Optimize for MSVC in 32-bit mode.
	* lib/ffsl.h: Include <intrin.h>.
	(ffs): Define as inline function, like in lib/ffs.c.

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

	ffs: Optimize for MSVC.
	* lib/ffs.c: Include <intrin.h>.
	(ffs): With MSVC, use the _BitScanForward built-in.

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

	sigprocmask: Try to avoid breakage for people who use an Autoconf cache.
	* m4/signalblocking.m4 (gl_SIGNALBLOCKING): Change the name of the cache
	variable.

2020-08-03  Harald van Dijk  <harald@gigawatt.nl>  (tiny change)

	fopen: Avoid undesired interactions with glibc headers.
	* lib/fopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this instead of
	__need_FILE, as the latter does not work with glibc.

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

	fcntl: document some F_SETLK errno variations
	* doc/posix-functions/fcntl.texi (fcntl): Document
	OpenIndiana, GNU/Linux, FreeBSD on NFS files.

2020-08-02  Bruno Haible  <bruno@clisp.org>

	oset: Add an 'iterator_atleast' operation.
	* lib/gl_array_oset.c (gl_array_indexof_atleast): New function,
	extracted from gl_array_search_atleast.
	(gl_array_search_atleast): Use it.
	(gl_array_iterator_atleast): New function.
	(gl_array_oset_implementation): Use it.
	* lib/gl_anytree_oset.h (gl_tree_iterator_atleast): New function.
	* lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Use it.
	* lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Likewise.
	* lib/gl_oset.h (struct gl_oset_implementation): Add 'iterator_atleast'
	member.
	(gl_oset_iterator_atleast): New function.
	* lib/gl_oset.hh (gl_OSet): Add 'begin_atleast' member.
	(gl_OSet::iterator): Add another auxiliary constructor.
	* tests/test-array_oset.c (is_at_least, gl_sortedlist_indexof_atleast):
	New functions.
	(main): Test also gl_oset_iterator_atleast.
	* tests/test-avltree_oset.c (is_at_least): New function.
	(main): Test also gl_oset_iterator_atleast.
	* tests/test-rbtree_oset.c (is_at_least): New function.
	(main): Test also gl_oset_iterator_atleast.
	* tests/test-oset-c++.cc (is_at_most): New function.
	(main): Test also gl_OSet::begin_atleast.

2020-08-02  Bruno Haible  <bruno@clisp.org>

	oset-c++, omap-c++: Remove restriction for search_atleast method.
	* lib/gl_oset.hh (gl_OSet::search_atleast): Allow the threshold to be of
	a different type than the element.
	* lib/gl_omap.hh (gl_OMap::search_atleast): Allow the threshold to be of
	a different type than the key.

2020-08-01  Paul Eggert  <eggert@cs.ucla.edu>

	gnumakefile: say ‘$(MAKE)’ not ‘make’
	* top/GNUmakefile (abort-due-to-no-makefile):
	Prefer ‘$(MAKE)’ to ‘make’ in a diagnostic.
	This change is backported from Autoconf.

2020-08-01  Bruno Haible  <bruno@clisp.org>

	Prefer documented autoconf macro 'm4_if' over 'ifelse'.
	* m4/autobuild.m4 (AB_INIT): Use m4_if instead of ifelse.
	* m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
	* m4/javacomp.m4 (gt_JAVACOMP): Likewise.
	* m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
	* m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Likewise.

2020-08-01  Bruno Haible  <bruno@clisp.org>

	libtextstyle-optional: Update tests.
	* modules/libtextstyle-optional-tests (configure.ac): Invoke
	gl_LIBTEXTSTYLE_OPTIONAL.

2020-08-01  Bruno Haible  <bruno@clisp.org>

	parse-datetime: Fix wrong #line statements.
	* modules/parse-datetime (Makefile.am): Correct #line statements also in
	parse-datetime-gen.h.

2020-08-01  Bruno Haible  <bruno@clisp.org>

	libtextstyle[-optional]: Allow requesting a minimum version.
	* m4/libtextstyle.m4 (gl_LIBTEXTSTYLE): Allow an optional argument.
	(gl_LIBTEXTSTYLE_NEWEST_VERSION, gl_LIBTEXTSTYLE_INITIALIZE,
	gl_LIBTEXTSTYLE_SEARCH): New macros.
	* modules/libtextstyle (configure.ac): Don't invoke gl_LIBTEXTSTYLE.
	* m4/libtextstyle-optional.m4 (gl_LIBTEXTSTYLE_OPTIONAL): Allow an
	optional argument. Invoke, not require, gl_LIBTEXTSTYLE.
	* modules/libtextstyle-optional (configure.ac): Don't invoke
	gl_LIBTEXTSTYLE_OPTIONAL.
	* NEWS: Mention the changes.

2020-07-31  Bruno Haible  <bruno@clisp.org>

	_GL_CMP: Improve documentation.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00188.html>.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Clarify what arguments can be
	passed.

2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>

	largefile: sync with Autoconf master
	* m4/largefile.m4 (_AC_SYS_LARGEFILE_TEST_INCLUDES):
	Avoid undefined behavior on platforms where off_t is 32 bits.
	See: https://bugs.debian.org/742780

	alloca: sync with Autoconf master
	* m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
	Do not define if Autoconf 2.70 or later, since Autoconf master
	now matches us.

2020-07-30  Bruno Haible  <bruno@clisp.org>

	unicodeio: Add comment.
	* lib/unicodeio.c (unicode_to_mb): Clarify why the code distinguishes
	different iconv behaviours.

2020-07-30  Paul Eggert  <eggert@cs.ucla.edu>

	Work around some Oracle Studio attribute bugs
	These were discovered when building bleeding-edge Emacs with
	Oracle Studio.
	* m4/gnulib-common.m4 (_GL_ATTRIBUTE_COLD, _GL_ATTRIBUTE_MAY_ALIAS):
	Port to Oracle Studio 12.6, which mishandles __attribute__
	((__cold__)) and __attribute__ ((__may_alias__)) even though
	__has_attribute says they work.

2020-07-29  Bruno Haible  <bruno@clisp.org>

	unicodeio: Fix wrong result on musl libc.
	Reported by A. Wilcox <awilfox@adelielinux.org> in
	<https://www.openwall.com/lists/musl/2020/07/29/2>.
	* lib/unicodeio.c (unicode_to_mb): Handle asterisk fallback characters
	on musl libc.
	* m4/unicodeio.m4 (gl_UNICODEIO): Invoke gl_MUSL_LIBC.
	* modules/unicodeio (Files): Add m4/musl.m4.

2020-07-29  Paul Eggert  <eggert@cs.ucla.edu>

	fsusage, regex, stat-size: remove Cray support
	As near as I can make out this is actually support for UNICOS/mp,
	last released 2005, and Cray hasn’t supported that for years.
	* config/srclist.txt: Comment out regex.h for now.
	* lib/fsusage.c (get_fs_usage):
	* lib/regex.h (re_comp, re_exec):
	* lib/stat-size.h (ST_NBLOCKSIZE):
	Don’t worry about _CRAY.

2020-07-29  Bruno Haible  <bruno@clisp.org>

	parse-datetime: Fix compilation error with bison 3.7.
	* modules/parse-datetime (Makefile.am): Create a generated header file
	parse-datetime-gen.h in the source directory. Correct #include and
	#line statements during preprocessing.

2020-07-28  Bruno Haible  <bruno@clisp.org>

	fopen-gnu: Create files correctly (regression from 2020-05-24).
	* lib/fopen.c (rpl_open): Pass a third argument to open().

2020-07-27  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc-die: don’t depend on xalloc
	This removes a circular dependency, as xalloc depends on xalloc-die.
	* modules/xalloc-die (Files): Add lib/xalloc.h.
	(Depends-on): Remove xalloc.
	Add extern-inline, stdint, xalloc-oversized (this is for xalloc.h).

	dfa-tests: port to MSVC
	Problem reported by Gisle Vanem in:
	https://lists.gnu.org/r/bug-gnulib/2020-07/msg00159.html
	Also, remove an unnecessary dependency on getprogname.
	* modules/dfa-tests (Depends-on): Remove getprogname.
	* tests/test-dfa-match-aux.c: Do not include getprogname.h.
	(exit_status): New static var.
	(dfawarn): Set it instead of exiting.
	Do not declare as _Noreturn, to pacify MSVC.
	(main): Return exit_status.

2020-07-26  Paul Eggert  <eggert@cs.ucla.edu>

	argz: pacify MSVC
	* lib/argz.in.h: Avoid "*/*" to pacify MSVC.
	Problem reported by Gisle Vanem.

	libgmp: remove dependency on havelib
	* m4/libgmp.m4 (gl_LIBGMP): If gl_HAVE_MODULE_HAVELIB is not defined,
	use the more-traditional AC_SEARCH_LIBS approach.
	This should work better with GNU Emacs configuration,
	which uses pkg-config instead of a havelib-style approach.
	* modules/havelib (gl_HAVE_MODULE_HAVELIB): New witness macro.
	* modules/libgmp (Depends-on): Remove havelib.

	libgmp: remove HAVE_GMP, LIB_GMP
	* m4/libgmp.m4 (gl_LIBGMP): Do not define HAVE_GMP and LIB_GMP, as
	they’re redundant.  I’ll adjust GNU Coreutils accordingly.

2020-07-26  Bruno Haible  <bruno@clisp.org>

	inttypes: Remove support for AIX 4.
	* lib/inttypes.in.h: Assume that PRI_MACROS_BROKEN is 0.
	* m4/inttypes-pri.m4: Remove file.
	* m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): Don't require gt_INTTYPES_PRI.
	(gl_INTTYPES_H_DEFAULTS): Don't initialize PRI_MACROS_BROKEN.
	* modules/inttypes-incomplete (Makefile.am): Don't substitute
	PRI_MACROS_BROKEN.
	* modules/inttypes (Files): Remove m4/inttypes-pri.m4.

2020-07-26  Bruno Haible  <bruno@clisp.org>

	gettimeofday: Remove workaround for Mac OS X 10.0.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Remove macro.
	(gl_FUNC_GETTIMEOFDAY): Don't invoke it.
	* lib/gettimeofday.c: Don't include localtime-buffer.h.
	(gettimeofday): Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
	* lib/localtime.c: Don't test GETTIMEOFDAY_CLOBBERS_LOCALTIME.
	* modules/gettimeofday (Depends-on): Remove localtime-buffer.
	* modules/localtime-buffer: Remove file.
	* lib/localtime-buffer.h: Remove file.
	* lib/localtime-buffer.c: Remove file.
	* m4/localtime-buffer.m4: Remove file.
	* MODULES.html.sh (Date and time <time.h>): Remove localtime-buffer.

2020-07-26  Bruno Haible  <bruno@clisp.org>

	tzset: Remove workaround for Solaris 2.6.
	* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Remove macro.
	(gl_FUNC_TZSET): Don't invoke it. Don't define TZSET_CLOBBERS_LOCALTIME.
	Don't require gl_LOCALTIME_BUFFER_DEFAULTS.
	* lib/localtime-buffer.h: Don't test TZSET_CLOBBERS_LOCALTIME.
	* lib/localtime-buffer.c: Likewise.
	* lib/localtime.c: Likewise.
	* lib/tzset.c: Don't include localtime-buffer.h.
	(tzset): Don't test TZSET_CLOBBERS_LOCALTIME.
	* lib/nstrftime.c (__strftime_internal): Assume HAVE_RUN_TZSET_TEST
	is 1.
	* modules/tzset (Depends-on): Remove localtime-buffer.

2020-07-26  Bruno Haible  <bruno@clisp.org>

	expl: Simplify autoconf test.
	* m4/expl.m4 (gl_FUNC_EXPL): Merge the "checking whether expl() breaks
	with small values..." test into the "checking whether expl works..."
	test.

2020-07-26  Bruno Haible  <bruno@clisp.org>

	alloca: Remove Cray-2 and Cray Y-MP support.
	* m4/alloca.m4 (_AC_LIBOBJ_ALLOCA): Don't define CRAY_STACKSEG_END.
	Enable also on Autoconf >= 2.69.
	* lib/alloca.c (ADDRESS_FUNCTION, struct stack_control_header,
	struct stack_segment_linkage, struct stk_stat, struct stk_trailer,
	i00afunc): Remove.

2020-07-25  Bruno Haible  <bruno@clisp.org>

	multiarch: Prepare for x86_64+arm64 universal binaries in macOS 11.
	* m4/multiarch.m4 (gl_MULTIARCH): Recognize also the ARM architectures.

2020-07-25  Bruno Haible  <bruno@clisp.org>

	sigprocmask: Small autoconf macro improvement.
	* m4/signalblocking.m4 (gl_SIGNALBLOCKING): Make it possible for the
	user to override the value of gl_cv_func_sigprocmask.
	* m4/gnulib-common.m4 (gl_SILENT): New macro.

2020-07-25  Bruno Haible  <bruno@clisp.org>

	Small autoconf macro improvements.
	* m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Make it possible for the user to
	override the value of gl_cv_func_working_mktime.
	* m4/multiarch.m4 (gl_MULTIARCH): Show a line "checking whether the
	compiler produces multi-arch binaries..." in the configure output.
	* m4/size_max.m4 (gl_SIZE_MAX): When not found, say "no".
	* m4/parse-datetime.m4 (gl_C_COMPOUND_LITERALS): Improve indentation.

2020-07-25  Bruno Haible  <bruno@clisp.org>

	doc: Update for NetBSD 7.1, 8.0, 9.0.
	* doc/*/*.texi: Update.
	* m4/exp2l.m4: Update comments.
	* m4/expl.m4: Likewise.
	* m4/ilogb.m4: Likewise.
	* m4/ilogbf.m4: Likewise.
	* m4/log10l.m4: Likewise.
	* m4/logl.m4: Likewise.
	* m4/printf.m4: Likewise.
	* m4/rintl.m4: Likewise.
	* m4/wcwidth.m4: Likewise.

2020-07-24  Bruno Haible  <bruno@clisp.org>

	doc: Update for Mac OS X 10.13.
	* doc/*/*.texi: Update.
	* m4/expm1l.m4: Update comments.
	* m4/getgroups.m4: Likewise.
	* m4/getlogin_r.m4: Likewise.
	* m4/linkat.m4: Likewise.
	* m4/printf.m4: Likewise.

2020-07-24  Bruno Haible  <bruno@clisp.org>

	doc: Update for Cygwin 2.9.0.
	* doc/*/*.texi: Update.

2020-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime: modernize doc
	* doc/parse-datetime.texi: Use more-current examples.
	Don’t lead with 32-bit time_t, as it’s on its way out.
	Capitalize “Epoch” to be consistent with POSIX.

	timespec: remove dependence on ‘verify’
	* lib/timespec.h: Do not include verify.h; no longer needed.
	* modules/timespec (Depends-on): Remove ‘verify’.

	Optimize a few more three-valued comparisons
	* lib/timespec.h (timespec_cmp, timespec_sign):
	* lib/utimecmp.c (utimecmpat):
	Avoid conditional branches by using _GL_CMP.

	Fix _GL_CMP parenthesization typo
	* m4/gnulib-common.m4 (_GL_CMP): Properly parenthesize.

2020-07-24  Bruno Haible  <bruno@clisp.org>

	dfa: Revert breaking gawk.
	Reported by Arnold Robbins <arnold@skeeve.com>.
	* lib/dfa.c (compare): Don't reference the _GL_CMP macro.

2020-07-23  Bruno Haible  <bruno@clisp.org>

	Optimize three-valued comparison between integers.
	(a > b ? 1 : a < b ? -1 : 0) is the same as (a > b) - (a < b).
	* m4/gnulib-common.m4 (gl_COMMON): Define _GL_CMP.
	* lib/c-strcasecmp.c (c_strcasecmp): Use _GL_CMP.
	* lib/c-strncasecmp.c (c_strncasecmp): Likewise.
	* lib/dfa.c (compare): Likewise.
	* lib/fts.c (fts_compare_ino): Likewise.
	* lib/mbmemcasecmp.c (mbmemcasecmp): Likewise.
	* lib/mbscasecmp.c (mbscasecmp): Likewise.
	* lib/mbsncasecmp.c (mbsncasecmp): Likewise.
	* lib/memcasecmp.c (memcasecmp): Likewise.
	* lib/memcmp2.c (memcmp2): Likewise.
	* lib/savedir.c (direntry_cmp_inode): Likewise.
	* lib/strcasecmp.c (strcasecmp): Likewise.
	* lib/strncasecmp.c (strncasecmp): Likewise.
	* lib/unistr/u-cmp2.h (FUNC): Likewise.

2020-07-23  Bruno Haible  <bruno@clisp.org>

	lchmod: Use /proc on Cygwin.
	* lib/lchmod.c (lchmod): Use /proc on Cygwin.

2020-07-23  Ken Brown  <kbrown@cornell.edu>

	fchmodat: Use /proc on Cygwin
	* lib/fchmodat.c (fchmodat): Use /proc on Cygwin.

2020-07-21  Bruno Haible  <bruno@clisp.org>

	aligned-malloc: Optionally use aligned_alloc.
	* lib/aligned-malloc.h: Verify the alignment.
	(aligned_malloc): Use aligned_alloc as an alternative.
	* modules/aligned-malloc (configure.ac): Test for aligned_alloc.
	* doc/posix-functions/aligned_alloc.texi: Mention the modules
	'aligned-malloc' and 'pagealign_alloc'.

2020-07-21  Bruno Haible  <bruno@clisp.org>

	aligned-malloc: Add tests.
	* tests/test-aligned-malloc.c: New file.
	* modules/aligned-malloc-tests: New file.

	aligned-malloc: New module.
	* lib/aligned-malloc.h: New file.
	* m4/malloc-align.m4: New file.
	* modules/aligned-malloc: New file.
	* doc/posix-functions/posix_memalign.texi: Mention the new module.
	* doc/glibc-functions/memalign.texi: Likewise.

2020-07-21  Bruno Haible  <bruno@clisp.org>

	inttypes: Fix PRI*PTR and SCN*PTR on 64-bit native Windows.
	* m4/inttypes.m4 (gl_INTTYPES_PRI_SCN): On 64-bit native Windows, make
	sure PRIPTR_PREFIX is defined to "ll", not "l".

2020-07-21  Bruno Haible  <bruno@clisp.org>

	printf-posix: Make an autoconf test more future-proof.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): Include <inttypes.h> before
	using uintptr_t.

2020-07-20  Bruno Haible  <bruno@clisp.org>

	list, oset, omap: Relicense some of the container modules under LGPLv2+.
	* modules/list (License): Change to LGPLv2+.
	* modules/array-list (License): Likewise.
	* modules/carray-list (License): Likewise.
	* modules/linked-list (License): Likewise.
	* modules/avltree-list (License): Likewise.
	* modules/rbtree-list (License): Likewise.
	* modules/oset (License): Likewise.
	* modules/array-oset (License): Likewise.
	* modules/avltree-oset (License): Likewise.
	* modules/rbtree-oset (License): Likewise.
	* modules/omap (License): Likewise.
	* modules/array-omap (License): Likewise.
	* modules/avltree-omap (License): Likewise.
	* modules/rbtree-omap (License): Likewise.

2020-07-20  Bruno Haible  <bruno@clisp.org>

	oset: Add an 'update' operation.
	* lib/gl_array_oset.c (gl_array_update): New function.
	(gl_array_oset_implementation): Use it.
	* lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
	* lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Add parameters.
	* lib/gl_avltree_ordered.h (gl_tree_add_node_before): New function,
	extracted from gl_tree_nx_add_before.
	(gl_tree_nx_add_before): Invoke it.
	(gl_tree_add_node_after): New function, extracted from
	gl_tree_nx_add_after.
	(gl_tree_nx_add_after): Invoke it.
	(gl_tree_remove_node_no_free): New function, extracted from
	gl_tree_remove_node.
	(gl_tree_remove_node): Invoke it.
	* lib/gl_rbtree_ordered.h (gl_tree_add_node_before): New function,
	extracted from gl_tree_nx_add_before.
	(gl_tree_nx_add_before): Invoke it.
	(gl_tree_add_node_after): New function, extracted from
	gl_tree_nx_add_after.
	(gl_tree_nx_add_after): Invoke it.
	(gl_tree_remove_node_no_free): New function, extracted from
	gl_tree_remove_node.
	(gl_tree_remove_node): Invoke it.
	* lib/gl_anytree_oset.h (gl_tree_next_node): New function, extracted
	from gl_tree_iterator_next.
	(gl_tree_iterator_next): Invoke it.
	(gl_tree_prev_node, gl_tree_update): New functions.
	* lib/gl_avltree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
	(gl_avltree_oset_implementation): Use gl_tree_update.
	* lib/gl_rbtree_oset.c (NODE_PAYLOAD_DISPOSE): Add parameters.
	(gl_rbtree_oset_implementation): Use gl_tree_update.
	* lib/gl_oset.h (struct gl_oset_implementation): Add 'update' member.
	(gl_oset_update): New function.
	* lib/gl_oset.hh (gl_OSet): Add 'update' member.
	* modules/avltree-oset (configure.ac): Require AC_C_INLINE.
	* modules/rbtree-oset (configure.ac): Likewise.
	* tests/test-oset-update.h: New file.
	* tests/test-array_oset.c: Include test-oset-update.h.
	(main): Invoke test_update.
	* tests/test-avltree_oset.c: Likewise.
	* tests/test-rbtree_oset.c: Likewise.
	* modules/array-oset-tests (Files): Add tests/test-oset-update.h.
	* modules/avltree-oset-tests (Files): Likewise.
	* modules/rbtree-oset-tests (Files): Likewise.
	* tests/test-oset-c++.cc (action): New function.
	(main): Test the 'update' member function.

2020-07-15  Paul Eggert  <eggert@cs.ucla.edu>

	md5, sha1, sha256, sha512: pacify Autoconf 2.70
	* m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Use m4_if rather than a
	shell if, so that the argument to AC_CHECK_HEADERS is
	a simple string that does not require shell evaluation.
	This fixes a warning generated by Autoconf 2.69b.

2020-07-12  Bruno Haible  <bruno@clisp.org>

	libgmp: Avoid warning when --without-libgmp is used.
	* lib/mini-gmp-gnulib.c: Ignore -Wsuggest-attribute=malloc only for
	GCC >= 8, not for GCC >= 4.6.

2020-07-12  Bruno Haible  <bruno@clisp.org>

	libgmp: Link to the correct shared library.
	* m4/libgmp.m4 (gl_LIBGMP): Invoke AC_LIB_HAVE_LINKFLAGS.
	* modules/libgmp (Depends-on): Add havelib.
	(Link): Mention $(LIBGMP) and $(LTLIBGMP).
	* modules/libgmp-tests (Makefile.am): Link test-libgmp with $(LIBGMP).

2020-07-12  Bruno Haible  <bruno@clisp.org>

	libgmp tests: Add some safety checks.
	* modules/libgmp-tests (Depends-on): Add verify.
	* tests/test-libgmp.c: Verify GMP_NUMB_BITS value.
	(main): Verify that gmp.h and libgmp versions match.

2020-07-10  Bruno Haible  <bruno@clisp.org>

	unicodeio: Fix wrong result on NetBSD.
	* lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
	characters also on NetBSD.

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

	unicodeio: Fix wrong result on Solaris 11.
	Reported by Kiyoshi Kanazawa <yoi_no_myoujou@yahoo.co.jp>
	via Akim Demaille <akim.demaille@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00036.html>.
	* lib/unicodeio.c (unicode_to_mb): Handle question mark fallback
	characters on Solaris.
	* tests/test-unicodeio.c (main): In the "C" locale, expect either the
	UTF-8 output or the specified fallback.

2020-07-08  Bruno Haible  <bruno@clisp.org>

	unicodeio: Add tests.
	* tests/test-unicodeio.c: New file.
	* tests/test-unicodeio1.sh: New file.
	* tests/test-unicodeio2.sh: New file.
	* tests/test-unicodeio3.sh: New file.
	* modules/unicodeio-tests: New file.

2020-07-08  Bruno Haible  <bruno@clisp.org>

	unicodeio: Document link requirements.
	* modules/unicodeio (Link): New section.

2020-07-07  Bruno Haible  <bruno@clisp.org>

	doc: Remove support for some very old platforms.
	* doc/posix-functions/memcmp.texi: Don't mention "older platforms".
	* doc/posix-functions/memcpy.texi: Likewise.
	* doc/posix-functions/memmove.texi: Likewise.
	* doc/posix-functions/memset.texi: Likewise.
	* doc/posix-functions/getcwd.texi: Likewise.

	memchr: Remove support for some very old platforms.
	* m4/memchr-obsolete.m4: Remove file.
	* modules/memchr-obsolete: Remove file.
	* m4/memchr.m4 (gl_FUNC_MEMCHR): Assume module 'memchr-obsolete' is
	absent. Don't define HAVE_MEMCHR.
	* lib/string.in.h (memchr): Assume HAVE_MEMCHR is 1.
	* modules/memchr (Depends-on): Remove memchr-obsolete.
	(configure.ac): Assume HAVE_MEMCHR is 1.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
	HAVE_MEMCHR.
	* modules/string (Makefile.am): Don't substitute HAVE_MEMCHR.
	* doc/posix-functions/memchr.texi: Don't mention module
	'memchr-obsolete'.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Assume HAVE_MEMCHR is 1.
	* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Assume HAVE_MEMCHR is 1.
	* modules/strnlen (Depends-on): Remove memchr-obsolete.

	dup2: Remove support for some very old platforms.
	* m4/dup2-obsolete.m4: Remove file.
	* modules/dup2-obsolete: Remove file.
	* m4/dup2.m4 (gl_FUNC_DUP2): Assume module 'dup2-obsolete' is absent.
	Don't define HAVE_DUP2.
	* lib/unistd.in.h (dup2): Assume HAVE_DUP2 is 1.
	* lib/dup2.c: Likewise.
	* modules/dup2 (Depends-on, configure.ac): Likewise.
	(Depends-on): Remove dup2-obsolete.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize HAVE_DUP2.
	* modules/unistd (Makefile.am): Don't substitute HAVE_DUP2.
	* doc/posix-functions/dup2.texi: Don't mention module 'dup2-obsolete'.

2020-07-07  Bruno Haible  <bruno@clisp.org>

	canonicalize: Trim module dependencies.
	* lib/hash-triple.h: Group declarations.
	* lib/hash-triple-simple.c: New file, extracted from lib/hash-triple.c.
	* lib/hash-triple.c: Don't include <stdlib.h>, <string.h>, hash-pjw.h.
	(STREQ): Remove macro.
	(triple_hash, triple_compare_ino_str, triple_free): Remove functions.
	* modules/hash-triple-simple: New file, based on modules/hash-triple.
	* modules/hash-triple (Files): Remove lib/hash-triple.h.
	(Depends-on): Add hash-triple-simple. Remove hash-pjw.
	* modules/canonicalize (Depends-on): Remove hash-triple. Add
	hash-triple-simple.
	* modules/file-set (Depends-on): Likewise.

2020-07-07  Bruno Haible  <bruno@clisp.org>

	Clarify dependencies to double-slash-root.
	* modules/canonicalize (Files): Remove m4/double-slash-root.m4.
	(Depends-on): Add double-slash-root.
	* modules/canonicalize-lgpl (Depends-on): Add double-slash-root.
	* modules/dirname-lgpl (Depends-on): Add double-slash-root.

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

	libgmp: new module
	The idea is to let programs simply include <gmp.h>, and
	so long as they live within the mini-gmp subset they need
	not worry about whether the GMP libraries are installed.
	* MODULES.html.sh: Mention it.
	* config/srclist.txt: Mention files copied from GMP source.
	* config/srclistvars.sh (GMP): New var.
	* lib/mini-gmp-gnulib.c, m4/libgmp.m4, modules/libgmp:
	* modules/libgmp-tests, tests/test-libgmp.c: New files.
	* lib/mini-gmp.c, lib/mini-gmp.h: New files, copied from GMP.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	mkancesdirs: Trim module dependencies.
	* lib/mkancesdirs.c: Include filename.h instead of dirname.h.
	* modules/mkancesdirs (Depends-on): Remove dirname-lgpl. Add filename.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	getprogname: Trim module dependencies.
	* lib/getprogname.c: Include basename-lgpl.h instead of dirname.h.
	* modules/getprogname (Depends-on): Remove dirname-lgpl. Add
	basename-lgpl.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	filenamecat-lgpl: Trim module dependencies.
	* lib/filenamecat-lgpl.c: Include basename-lgpl.h, filename.h instead of
	dirname.h.
	* modules/filenamecat-lgpl (Depends-on): Remove dirname-lgpl. Add
	basename-lgpl, filename.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	backupfile, backup-rename: Trim module dependencies.
	* lib/backupfile.c: Include basename-lgpl.h instead of dirname.h.
	* modules/backupfile (Depends-on): Remove dirname-lgpl. Add
	basename-lgpl.
	* modules/backup-rename (Depends-on): Likewise.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	argp: Trim module dependencies.
	* lib/argp-namefrob.h: Include basename-lgpl.h instead of dirname.h.
	* modules/argp (Depends-on): Remove dirname-lgpl. Add basename-lgpl.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	basename-lgpl: New module.
	* lib/basename-lgpl.h: New file, based on lib/dirname.h and
	lib/basename-lgpl.c.
	* lib/basename-lgpl.c: Include basename-lgpl.h, not dirname.h. Include
	<stdbool.h>, filename.h.
	(last_component): Rename a local variable.
	* lib/dirname.h: Include basename-lgpl.h.
	(DOUBLE_SLASH_IS_DISTINCT_ROOT): Remove macro.
	(last_component, base_len): Remove declarations.
	* modules/basename-lgpl: New file.
	* modules/dirname-lgpl (Files): Remove lib/basename-lgpl.c.
	(Depends-on): Add basename-lgpl. Remove double-slash-root.
	(Makefile.am): Don't compile basename-lgpl.c.
	* doc/posix-functions/basename.texi: Mention the module 'basename-lgpl',
	not 'dirname'.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	dirname, dirname-lgpl: Simplify.
	* m4/dirname.m4: Remove file.
	* modules/dirname (configure.ac): Don't invoke gl_DIRNAME.
	* modules/dirname-lgpl (Files): Remove m4/dirname.m4.
	(configure.ac): Don't invoke gl_DIRNAME_LGPL.

2020-07-05  Bernhard Voelker  <mail@bernhard-voelker.de>

	tests: avoid shadowing warning
	* tests/test-memchr.c (main): Give page_boundary variable a tight scope.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	supersede: Add tests.
	* tests/test-supersede.c: New file.
	* tests/test-supersede-open.h: New file.
	* tests/test-supersede-fopen.h: New file.
	* modules/supersede-tests: New file.

	supersede: New module.
	* lib/supersede.h: New file.
	* lib/supersede.c: New file.
	* m4/supersede.m4: New file.
	* modules/supersede: New file.

2020-07-05  Bruno Haible  <bruno@clisp.org>

	Add some copyright headers.
	* lib/dev-ino.h: Add copyright header.
	* lib/di-set.h: Likewise.
	* lib/fchown-stub.c: Likewise.
	* lib/file-set.h: Likewise.
	* lib/hash-triple.h: Likewise.
	* lib/idcache.h: Likewise.
	* lib/ino-map.h: Likewise.
	* lib/mkancesdirs.h: Likewise.
	* lib/scratch_buffer.h: Likewise.
	* lib/se-context.in.h: Likewise.
	* lib/stdopen.h: Likewise.
	* lib/userspec.h: Likewise.

2020-07-04  Bruno Haible  <bruno@clisp.org>

	getrandom: Relicense under LGPLv2+.
	Paul Eggert's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-07/msg00023.html>.
	* modules/getrandom (License): Change to LGPLv2+.

2020-07-04  Bruno Haible  <bruno@clisp.org>

	getumask: Add tests.
	* tests/test-getumask.c: New file.
	* modules/getumask-tests: New file.

	getumask: New module.
	* lib/sys_stat.in.h (getumask): New declaration.
	* lib/getumask.c: New file.
	* m4/getumask.m4: New file.
	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether getumask is
	declared.
	(gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_GETUMASK, HAVE_GETUMASK.
	* modules/sys_stat (Makefile.am): Substitute GNULIB_GETUMASK,
	HAVE_GETUMASK.
	* modules/getumask: New file.
	* tests/test-sys_stat-c++.cc (getumask): Check signature.
	* doc/glibc-functions/getumask.texi: New file.
	* doc/gnulib.texi (Glibc sys/stat.h): Include it.

2020-07-04  Bruno Haible  <bruno@clisp.org>

	clean-temp: Add support for temporary files with given mode.
	* lib/clean-temp.h (gen_register_open_temp): Add mode argument.
	* lib/clean-temp.c (struct try_create_file_params): New type.
	(try_create_file): New function.
	(gen_register_open_temp): Add mode argument. Use try_tempname instead of
	gen_tempname.

2020-07-04  Bruno Haible  <bruno@clisp.org>

	clean-temp: Document limitations.
	* lib/clean-temp.h: Document limitations.

2020-07-04  Bruno Haible  <bruno@clisp.org>

	clean-temp: Add support for temporary files with unpredictable names.
	* lib/clean-temp.h (gen_register_open_temp): New declaration.
	* lib/clean-temp.c: Include tempname.h.
	(gen_register_open_temp): New function.
	* modules/tempname (configure.ac): Define a module indicator.

2020-07-04  Bruno Haible  <bruno@clisp.org>

	clean-temp: Add support for temporary files anywhere in the file system.
	* lib/clean-temp.h (register_temporary_file, unregister_temporary_file,
	cleanup_temporary_file): New declarations.
	* lib/clean-temp.c (file_cleanup_list_lock, file_cleanup_list): New
	variables.
	(dir_cleanup_list_lock): Renamed from cleanup_list_lock.
	(dir_cleanup_list): Renamed from cleanup_list.
	(cleanup_action): Process the file_cleanup_list as well.
	(do_init_clean_temp): New function.
	(clean_temp_once): New variable.
	(init_clean_temp): New function.
	(create_temp_dir): Invoke it.
	(register_temporary_file, unregister_temporary_file,
	cleanup_temporary_file): New functions.
	(do_unlink, do_rmdir): Remove 'dir' argument. Add 'cleanup_verbose'
	argument.

2020-07-04  Bruno Haible  <bruno@clisp.org>

	clean-temp: Improve comments.
	* lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
	fwriteerror_temp, close_stream_temp): Clarify intended use.
	* lib/clean-temp.c: Likewise.

2020-07-04  Bruno Haible  <bruno@clisp.org>

	clean-temp: Make multithread-safe, part 2.
	* lib/fatal-signal.h: Include <signal.h>.
	(get_fatal_signal_set): New declaration.
	* lib/fatal-signal.c (get_fatal_signal_set): New function.
	* lib/clean-temp.c: Include asyncsafe-spin.h, gl_linked_list.h.
	(struct closeable_fd): New type.
	(fatal_signal_set): New variable.
	(init_fatal_signal_set): New function.
	(asyncsafe_close, asyncsafe_fclose_variant): New functions.
	(cleanup_action): Invoke asyncsafe_close instead of close.
	(create_temp_dir): Invoke init_fatal_signal_set.
	(register_fd): Use a plain linked list. Add a 'struct closeable_fd *'
	element.
	(unregister_fd): Remove function.
	(close_temp): Cleanup descriptors list on the fly. Invoke
	init_fatal_signal_set. Invoke asyncsafe_close instead of close.
	(fclose_variant_temp): New function.
	(fclose_temp, fwriteerror_temp, close_stream_temp): Use it.
	* modules/clean-temp (Depends-on): Add asyncsafe-spin, linked-list.

2020-07-04  Bruno Haible  <bruno@clisp.org>

	clean-temp: Make multithread-safe, part 1.
	* lib/clean-temp.c: Include glthread/lock.h.
	(cleanup_list_lock): New variable.
	(register_temp_file, unregister_temp_file, register_temp_subdir,
	unregister_temp_subdir, cleanup_temp_dir_contents): Use it.
	(create_temp_dir): Likewise. Don't free the old array.
	(descriptors_lock): New variable.
	(register_fd, unregister_fd): Use it.
	* modules/clean-temp (Depends-on): Add lock.

2020-07-04  Bruno Haible  <bruno@clisp.org>

	fatal-signal: Make multithread-safe.
	* lib/fatal-signal.c (init_fatal_signals): Add comment.
	(do_init_fatal_signal_set): New function, extracted from
	init_fatal_signal_set.
	(fatal_signal_set_once): New variable.
	(init_fatal_signal_set): Use gl_once.

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

	getrandom: Fix compilation error on native Windows (regr. 2020-06-28).
	* lib/getrandom.c: Don't include <ntdef.h>. Instead, define NTSTATUS.
	* m4/getrandom.m4 (gl_FUNC_GETRANDOM): Include <windows.h> before
	<bcrypt.h>.

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

	dfa tests: Follow common file naming conventions.
	* tests/test-dfa-match-aux.c: Renamed from tests/dfa-match-aux.c.
	* tests/test-dfa-match.sh: Renamed from tests/dfa-match.sh. Update.
	* tests/test-dfa-invalid-char-class.sh: Renamed from
	tests/dfa-invalid-char-class.sh. Update.
	* modules/dfa-tests (Files, Makefile.am): Update.

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

	asyncsafe-spin: Use GCC extended asm syntax for SunStudio 12 compiler.
	* lib/asyncsafe-spin.c (memory_barrier, atomic_compare_and_swap): Use
	the GCC extended asm syntax also for the Sun Studio 12 compilers.

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

	asyncsafe-spin: Reduce code duplication.
	* lib/asyncsafe-spin.c (do_lock, do_unlock): New functions.
	(asyncsafe_spin_lock, asyncsafe_spin_unlock): Use them.
	* modules/asyncsafe-spin (configure.ac): Require AC_C_INLINE.

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

	lchmod: Simplify after 2020-02-22 change.
	* m4/lchmod.m4 (gl_FUNC_LCHMOD): Don't require AC_C_INLINE.

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

	gen-uni-tables: Make sure the compiler does not barf on 'inline'.
	* modules/gen-uni-tables (configure.ac): Require AC_C_INLINE.

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

	dfa: Make sure the compiler does not barf on 'inline'.
	* modules/dfa (configure.ac): Require AC_C_INLINE.

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

	bitset: Make sure the compiler does not barf on 'inline'.
	* modules/bitset (configure.ac): New section.

2020-07-01  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: improve port to GCC 10.1
	* build-aux/gcc-warning.spec: Also list warnings that are default
	or are enabled by already-given flags.  This lets us speed up
	checking for attributes, and makes the generated compilation
	commands shorter.  Add -Wanalyzer-too-complex (too much noise).
	* m4/manywarnings.m4 (gl_MANYWARN_COMPLEMENT)
	(gl_MANYWARN_ALL_GCC): Use gl_AS_VAR_APPEND to append
	to shell variables that may have long values.
	(gl_MANYWARN_ALL_GCC): Omit flags that are default or are
	consequences of other flags, to speed up checking and
	shorten commands.

	tests: pacify gcc -fanalyzer on zerosize_ptr
	* tests/test-memcasecmp.c (main):
	* tests/test-memchr.c (main):
	* tests/test-memchr2.c (main):
	* tests/test-memcmp.c (main):
	* tests/test-memmem.c (main):
	* tests/test-memrchr.c (main):
	* tests/unistr/test-chr.h (main):
	* tests/unistr/test-cmp.h (test_cmp):
	Check whether zerosize_ptr returns NULL before using it.
	This pacifies GCC 10.1’s new fanalyzer option, and matches
	other uses of zerosize_ptr.

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

	asyncsafe-spin: Add tests.
	* tests/test-asyncsafe-spin1.c: New file.
	* tests/test-asyncsafe-spin2.c: New file, based on tests/test-lock.c and
	tests/test-pthread-spin.c.
	* modules/asyncsafe-spin-tests: New file.

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

	asyncsafe-spin: New module.
	* lib/asyncsafe-spin.h: New file.
	* lib/asyncsafe-spin.c: New file, based on lib/pthread-spin.c.
	* modules/asyncsafe-spin: New file.

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

	windows-spin: Fix race condition on multiprocessor systems.
	* lib/windows-spin.c (glwthread_spin_init): Add a memory barrier.

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

	pthread-spin: Add optimized fallback for GCC versions >= 4.1, < 4.7.
	* lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
	pthread_spin_trylock, pthread_spin_unlock): For GCC >= 4.1, < 4.7, use
	an implementation based on other GCC built-ins.

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

	pthread-spin: Optimize fallback for GCC versions >= 4.7.
	* lib/pthread-spin.c (pthread_spin_init, pthread_spin_lock,
	pthread_spin_trylock, pthread_spin_unlock): Use a lock word instead of a
	lock byte.

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

	pthread-spin: Add error checking.
	* lib/pthread-spin.c: Include <stdbool.h>.
	(pthread_spin_init, pthread_spin_lock, pthread_spin_trylock,
	pthread_spin_unlock) [GCC>=4.7]: Prefer an implementation that verifies
	the unlocks.
	* modules/pthread-spin (Depends-on): Add stdbool.

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

	pthread-spin: Add tests.
	* tests/test-pthread-spin.c: New file, based on tests/test-lock.c.
	* modules/pthread-spin-tests: New file.

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

	tests: Reduce code duplication.
	* tests/atomic-int-posix.h: New file, extracted from
	tests/test-pthread-mutex.c.
	* tests/test-pthread-mutex.c: Include it. Remove the corresponding code.
	* tests/test-pthread-rwlock.c: Likewise.
	* modules/pthread-mutex-tests (Files): Add tests/atomic-int-posix.h.
	* modules/pthread-rwlock-tests (Files): Likewise.

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

	tests: Refactor.
	* tests/atomic-int-isoc.h: New file, extracted from tests/test-mtx.c.
	* tests/test-mtx.c: Include it. Remove the corresponding code.
	* modules/mtx-tests (Files): Add tests/atomic-int-isoc.h.

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

	tests: Refactor.
	* tests/atomic-int-gnulib.h: New file, extracted from tests/test-lock.c.
	* tests/test-lock.c: Include it. Remove the corresponding code.
	* modules/lock-tests (Files): Add tests/atomic-int-gnulib.h.

2020-06-29  Bruno Haible  <bruno@clisp.org>

	sys_socket: Don't define socklen_t if it is already defined on mingw.
	Reported by Keith Marshall <keith.d.marshall@ntlworld.com> in
	<https://savannah.gnu.org/bugs/?57725>,
	by Rahul Das <bokul_4u@yahoo.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00081.html>,
	and by Eli Zaretskii <eliz@gnu.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00068.html>.
	* lib/sys_socket.in.h (socklen_t): Remove definition.

2020-06-29  Bruno Haible  <bruno@clisp.org>

	alloca-opt: Fix warning on mingw.
	Reported and solution by Eli Zaretskii <eliz@gnu.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00069.html>.
	* lib/alloca.in.h: On mingw, include <alloca.h> and then test again
	whether alloca is defined.

2020-06-28  Paul Eggert  <eggert@cs.ucla.edu>

	getrandom: do not depend on ‘open’ on mingw
	Similarly for at-internal, getloadavg.  These modules do not call
	the ‘open’ function when they are compiled on mingw.  On mingw,
	this avoids having to compile open.c when building Emacs, which
	does its own thing with ‘open’.
	* modules/at-internal, modules/getloadavg, modules/getrandom:
	(Depends-on): Don’t depend on ‘open’ on mingw.
	(Depends-on): Require AC_CANONICAL_HOST, for host_os.
	* modules/getloadavg (Depends-on):
	Depend on intprops, open, stdbool, stdlib only if compiling
	getloadavg.c.

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

	doc: Add a note about sigprocmask vs. pthread_sigmask.
	* doc/posix-functions/sigprocmask.texi: Add note.

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

	getrandom: Fix compilation errors on older versions of mingw.
	Reported by Eli Zaretskii <eliz@gnu.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00059.html>.
	* m4/getrandom.m4 (gl_FUNC_GETRANDOM): Test whether <bcrypt.h> exists.
	* lib/getrandom.c: If <bcrypt.h> is not available, include <ntdef.h> and
	define/declare BCRYPT_ALG_HANDLE, BCRYPT_USE_SYSTEM_PREFERRED_RNG,
	BCryptGenRandom ourselves.

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

	clean-temp: Fix wrong errno in error message.
	* lib/clean-temp.c (create_temp_dir): Save errno around
	unblock_fatal_signals call.

2020-06-27  Bruno Haible  <bruno@clisp.org>

	fatal-signal: Make multithread-safe.
	* lib/fatal-signal.c (at_fatal_signal): Don't free the old actions array.

2020-06-27  Bruno Haible  <bruno@clisp.org>

	clean-temp: Don't force deletion of temporary files on native Windows.
	* lib/clean-temp.h (open_temp, fopen_temp): Add delete_on_close
	argument.
	* lib/clean-temp.c (open_temp, fopen_temp): Likewise.
	* NEWS: Mention the change.
	* lib/javacomp.c (write_temp_file): Update.

2020-06-27  Bruno Haible  <bruno@clisp.org>

	fatal-signal: Make multithread-safe.
	* lib/fatal-signal.c: Include glthread/lock.h.
	(at_fatal_signal_lock): New variable.
	(at_fatal_signal): Use it.
	(fatal_signals_block_lock, fatal_signals_block_counter): New variables.
	(block_fatal_signals, unblock_fatal_signals): Use them.
	* modules/fatal-signal (Depends-on): Add lock.

2020-06-27  Paul Eggert  <eggert@cs.ucla.edu>

	getloadavg: don’t depend on fopen-gnu
	This is for Emacs, which does not need fopen-gnu for anything else,
	and which would need it only on a NetBSD platform where getloadavg
	does not work (does that even happen?).
	* lib/getloadavg.c (getloadavg) [__NetBSD__]: Use open, not fopen.
	* modules/getloadavg (Depends-on): Remove fopen-gnu.

	* tests/test-getloadavg.c (main): Fix typo.

2020-06-27  Bruno Haible  <bruno@clisp.org>

	tempname et al.: Fix link errors on MSVC (regression from 2020-05-31).
	* modules/tempname (Link): New section.
	* modules/mkdtemp (Link): Likewise.
	* modules/clean-temp (Link): Likewise.
	* modules/mkstemp (Link): Likewise.
	* modules/stdlib-safer (Link): Likewise.
	* modules/mkstemps (Link): Likewise.
	* modules/mkostemp (Link): Likewise.
	* modules/mkostemps (Link): Likewise.
	* modules/tmpfile (Link): Likewise.
	* modules/tmpfile-safer (Link): Likewise.
	* modules/javacomp (Link): Add $(LIB_GETRANDOM).
	* modules/argv-iter-tests (Makefile.am): Link test-argv-iter with
	$(LIB_GETRANDOM).
	* NEWS: Mention the changes.

2020-06-27  Bruno Haible  <bruno@clisp.org>

	fopen-gnu: Simplify code.
	* lib/fopen.c: Include <stdbool.h>.
	(rpl_fopen): Use a single variable open_flags instead of
	open_flags_standard and open_flags_gnu. Make open_flags_gnu a bool.
	* modules/fopen (Depends-on): Add stdbool.

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

	canonicalize: Improve documentation.
	* lib/canonicalize.h (canonicalize_filename_mode): Document the failure
	return convention.

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

	xgetcwd: Improve documentation.
	* lib/xgetcwd.c (xgetcwd): Document the failure return convention.

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

	getcwd: Improve documentation.
	* lib/getcwd.c (__getcwd): Document the failure return convention.

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

	fchdir: Improve documentation.
	* lib/fchdir.c (get_name, _gl_register_fd): Document the failure return
	convention.

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

	filenamecat-lgpl: Set errno upon failure.
	* lib/filenamecat-lgpl.c (mfile_name_concat): Document the failure
	return convention.
	* modules/filenamecat-lgpl (Depends-on): Add malloc-posix.

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

	areadlink-with-size: Set errno upon failure.
	* lib/areadlink-with-size.c (areadlink_with_size): Set errno when malloc
	fails.
	* lib/areadlinkat-with-size.c (areadlinkat_with_size): Add comment.

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

	copy-file: Shrink dependencies.
	* modules/copy-file (Depends-on): Remove acl. Add acl-permissions,
	qcopy-acl.

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

	doc: Mention declaration fixes implemented by some modules.
	* doc/posix-functions/chdir.texi: Mention the module 'chdir'.
	* doc/posix-functions/close.texi: Mention that Gnulib makes the function
	declaration appear in <unistd.h>.
	* doc/posix-functions/dup.texi: Likewise.
	* doc/posix-functions/dup2.texi: Likewise.
	* doc/posix-functions/gethostname.texi: Likewise.
	* doc/posix-functions/isatty.texi: Likewise.
	* doc/posix-functions/lseek.texi: Likewise.
	* doc/posix-functions/unlink.texi: Likewise.
	* doc/posix-functions/read.texi: Mention the module 'read'.
	* doc/posix-functions/write.texi: Mention the effects of the module
	'write'.

2020-06-25  Marc Nieper-Wißkirchen  <marc@nieper-wisskirchen.de>

	c-dtoastr, c-ldtoastr: new modules
	These modules provide the same functionality as the modules
	dtoastr and ldtoastr except for the formatting taking place in the
	C locale.
	* MODULES.html.sh: Add c-dtoastr and c-ldtoastr.
	* lib/c-dtoastr.c, lib/c-ldtoastr.c: New files.
	* lib/ftoastr.c: Prefix exported functions when the macro C_LOCALE is
	defined.  Use c_snprintf and c_strtod/c_strtold instead of
	snprintf and strtod/strtold whhen the macro C_LOCALE is defined.
	* lib/ftoastr.h: Add prototypes for c_dtoastr and c_ldtoastr.
	* modules/c-dtoastr, modules/c-dtoastr-tests, modules/c-ldtoastr,
	modules/c-ldtoastr-tests: New files.
	* tests/test-c-dtoastr.c, tests/test-c-dtoastr.sh,
	tests-c-ldtoastr.c tests-c-ldtoastr.sh: New files.

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

	tzset: Fix compilation warnings on mingw (regression from 2017-05-01).
	* lib/tzset.c: Include <stdlib.h>, <string.h>.

2020-06-16  Bruno Haible  <bruno@clisp.org>

	thread: Avoid possible compiler warnings in uses of gl_thread_exit.
	* lib/glthread/thread.h (gl_thread_exit): Add a cast to void.

2020-06-16  Bruno Haible  <bruno@clisp.org>

	thread, thrd: Avoid a compiler warning.
	* lib/windows-thread.h (glwthread_thread_exit): Mark as non-returning.

2020-06-16  Biswapriyo Nath  <nathbappai@gmail.com>  (tiny change)

	windows-thread: Avoid a compiler warning.
	* lib/windows-thread.h (glwthread_thread_exit): Change return type to
	void.
	* lib/windows-thread.c (glwthread_thread_exit): Likewise.

2020-06-15  Bruno Haible  <bruno@clisp.org>

	unictype/joininggroup-name: Fix warning on 64-bit mingw.
	Reported by Biswapriyo Nath <nathbappai@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-06/msg00036.html>.
	* lib/unictype/joininggroup_name.c (ELEM): Cast struct offset to size_t
	first.

2020-06-06  Bruno Haible  <bruno@clisp.org>

	calloc-gnu tests: Avoid a test failure with clang.
	* tests/test-calloc-gnu.c (main): Mark the pointer variable as
	'volatile', to defeat compiler optimizations.

2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	getloadavg: fix double-increment bug
	* lib/getloadavg.c (getloadavg): Fix double-increment typo on
	Linux without glibc, Android, Cygwin.  This fixes a bug I
	introduced in 2011-02-08T20:23:29Z!eggert@cs.ucla.edu.
	Problem and fix reported by Semen Verchenko in:
	https://lists.gnu.org/r/bug-gnulib/2020-06/msg00007.html

	tempname: use getrandom, not getentropy
	This removes a dependency, as getentropy depends on getrandom.
	* lib/tempname.c: Include sys/random.h instead of unistd.h.
	(RANDOM_BITS) [!_LIBC]: Use getrandom, not getentropy.
	* modules/tempname (Depends-on): Depend on getrandom, not getentropy.

2020-06-01  Bruno Haible  <bruno@clisp.org>

	doc: New chapter 'Multithreading'.
	* doc/multithread.texi: New file.
	* doc/gnulib.texi: Include it.

2020-06-01  Bruno Haible  <bruno@clisp.org>

	doc: Move 'Running self-tests under valgrind' section.
	* doc/gnulib.texi (Build Infrastructure Modules): Include
	valgrind-tests.texi here...
	(Miscellaneous Notes): ... not here.

2020-06-01  Bruno Haible  <bruno@clisp.org>

	doc: Move 'Visual Studio Compatibility' section.
	* doc/gnulib.texi (Native Windows Support): Include ld-output-def.texi
	here...
	(Build Infrastructure Modules): ... not here.

2020-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	doc: improve randomness discussion
	Inspired by comments from Jeffrey Walton in:
	https://lists.gnu.org/r/bug-gnulib/2020-06/msg00002.html
	* doc/glibc-functions/getentropy.texi (getentropy):
	* doc/glibc-functions/getrandom.texi (getrandom):
	Improve discussion of problems with "random" data,
	and cite Ristenpart & Yilek.  Also, mention GRND_INSECURE.

2020-06-01  Bruno Haible  <bruno@clisp.org>

	doc: Fix Texinfo syntax error.
	* doc/glibc-functions/getrandom.texi: Add missing '@item'.

2020-06-01  Asher Gordon  <AsDaGo@posteo.net>

	doc: Change '.' to '@.' where appropriate.
	* doc/c-ctype.texi: Change '.' to '@.' where appropriate.
	* doc/glibc-functions/fstatfs.texi: Likewise.
	* doc/glibc-functions/fts_children.texi: Likewise.
	* doc/glibc-functions/fts_read.texi: Likewise.
	* doc/glibc-functions/getdirentries.texi: Likewise.
	* doc/glibc-functions/mkostemp.texi: Likewise.
	* doc/glibc-functions/mkostemps.texi: Likewise.
	* doc/glibc-functions/mkstemps.texi: Likewise.
	* doc/glibc-functions/preadv.texi: Likewise.
	* doc/glibc-functions/pwritev.texi: Likewise.
	* doc/glibc-functions/sendfile.texi: Likewise.
	* doc/glibc-functions/statfs.texi: Likewise.
	* doc/gnulib-intro.texi: Likewise.
	* doc/gnulib-tool.texi: Likewise.
	* doc/intprops.texi: Likewise.
	* doc/lib-symbol-visibility.texi: Likewise.
	* doc/licenses-texi.texi: Likewise.
	* doc/pastposix-functions/bcmp.texi: Likewise.
	* doc/pastposix-functions/bcopy.texi: Likewise.
	* doc/pastposix-functions/bzero.texi: Likewise.
	* doc/pastposix-functions/ecvt.texi: Likewise.
	* doc/pastposix-functions/fcvt.texi: Likewise.
	* doc/pastposix-functions/ftime.texi: Likewise.
	* doc/pastposix-functions/gcvt.texi: Likewise.
	* doc/pastposix-functions/getwd.texi: Likewise.
	* doc/pastposix-functions/index.texi: Likewise.
	* doc/pastposix-functions/mktemp.texi: Likewise.
	* doc/pastposix-functions/rindex.texi: Likewise.
	* doc/pastposix-functions/wcswcs.texi: Likewise.
	* doc/posix-functions/aio_cancel.texi: Likewise.
	* doc/posix-functions/aio_error.texi: Likewise.
	* doc/posix-functions/aio_fsync.texi: Likewise.
	* doc/posix-functions/aio_read.texi: Likewise.
	* doc/posix-functions/aio_return.texi: Likewise.
	* doc/posix-functions/aio_suspend.texi: Likewise.
	* doc/posix-functions/aio_write.texi: Likewise.
	* doc/posix-functions/creat.texi: Likewise.
	* doc/posix-functions/ctime.texi: Likewise.
	* doc/posix-functions/daylight.texi: Likewise.
	* doc/posix-functions/fgetpos.texi: Likewise.
	* doc/posix-functions/fopen.texi: Likewise.
	* doc/posix-functions/freopen.texi: Likewise.
	* doc/posix-functions/fseeko.texi: Likewise.
	* doc/posix-functions/fsetpos.texi: Likewise.
	* doc/posix-functions/fstatat.texi: Likewise.
	* doc/posix-functions/fstatvfs.texi: Likewise.
	* doc/posix-functions/ftello.texi: Likewise.
	* doc/posix-functions/ftruncate.texi: Likewise.
	* doc/posix-functions/getrlimit.texi: Likewise.
	* doc/posix-functions/lio_listio.texi: Likewise.
	* doc/posix-functions/localtime.texi: Likewise.
	* doc/posix-functions/lseek.texi: Likewise.
	* doc/posix-functions/mkstemp.texi: Likewise.
	* doc/posix-functions/mktime.texi: Likewise.
	* doc/posix-functions/open.texi: Likewise.
	* doc/posix-functions/openat.texi: Likewise.
	* doc/posix-functions/opendir.texi: Likewise.
	* doc/posix-functions/pread.texi: Likewise.
	* doc/posix-functions/pwrite.texi: Likewise.
	* doc/posix-functions/readdir.texi: Likewise.
	* doc/posix-functions/readdir_r.texi: Likewise.
	* doc/posix-functions/scandir.texi: Likewise.
	* doc/posix-functions/seekdir.texi: Likewise.
	* doc/posix-functions/setrlimit.texi: Likewise.
	* doc/posix-functions/statvfs.texi: Likewise.
	* doc/posix-functions/strftime.texi: Likewise.
	* doc/posix-functions/telldir.texi: Likewise.
	* doc/posix-functions/timezone.texi: Likewise.
	* doc/posix-functions/tmpfile.texi: Likewise.
	* doc/posix-functions/truncate.texi: Likewise.
	* doc/posix-functions/tzname.texi: Likewise.
	* doc/posix-functions/wcsftime.texi: Likewise.
	* doc/windows-sockets.texi: Likewise.

2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>

	getrandom-tests: do not assume GRND_RANDOM yields short read
	* tests/test-getrandom.c (main): Omit assertion that
	getrandom (b, sizeof b, GRND_RANDOM | GRND_NONBLOCK) < sizeof b
	when b’s size is 100000.  This assertion fails with Linux kernel
	5.6.13, as that kernel ignores the GRND_RANDOM flag.
	The separate blocking pool is going away in the Linux kernel, and
	they’ve added a flag GRND_INSECURE instead; see:
	https://lore.kernel.org/linux-api/705c5a091b63cc5da70c99304bb97e0109be0a26.1577088521.git.luto@kernel.org/
	The assertion was iffy anyway; what’s to prevent a kernel from
	lazily filling a large buffer with random bytes?

	read-file-test: pacify --enable-gcc-warnings
	* tests/test-read-file.c (test_read_file): Now static.

	tempname: merge from glibc and coreutils
	Also, merge in Gnulib’s more-recent methods of making it easier
	to share between Gnulib and glibc, and fix a few randomness
	glitches.
	* lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
	(__set_errno): Remove; libc-config.h does that for us.
	Do not include <sys/time.h>.
	(__secure_getenv) [_LIBC]: New macro.
	(__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
	(RANDOM_BITS): Rewrite.
	(RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
	(random_value): New typedef.
	(try_file, try_dir, try_nocreate): Move up.
	(gen_tempname_len, try_tempname_len): New functions.
	(gen_tempname_len): Use a constant array rather than a switch.
	(try_tempname_len): Don’t assume string length fits in int.
	Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
	has enough entropy (it’s a bit short).
	(__gen_tempname): Rewrite in terms of gen_tempname_len.
	(__try_tempname): Rewrite in terms of try_tempname_len.
	* lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
	* modules/tempname (Depends-on): Remove gettimeofday, sys_time.
	Add getentropy, libc-config.

2020-05-31  Bruno Haible  <bruno@clisp.org>

	getrandom, getentropy: Mention the crypto/gc-random module.
	Suggested by Simon Josefsson in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00400.html>.
	* doc/glibc-functions/getrandom.texi: Mention the quality issues and the
	crypto/gc-random module.
	* doc/glibc-functions/getentropy.texi: Likewise.

2020-05-31  Bruno Haible  <bruno@clisp.org>

	getentropy: Enhance tests.
	* tests/test-getentropy.c (main): Add one more test.
	* tests/test-unistd-c++.cc: Check the signature of getentropy.

2020-05-31  Bruno Haible  <bruno@clisp.org>

	getentropy: Work around a macOS and Solaris problem.
	* lib/unistd.in.h: Include <sys/random.h>, when needed for the
	'getentropy' module.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
	UNISTD_H_HAVE_SYS_RANDOM_H.
	* m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Set
	UNISTD_H_HAVE_SYS_RANDOM_H.
	* modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_SYS_RANDOM_H.
	* doc/glibc-functions/getentropy.texi: Document the macOS and Solaris
	problem. List more platforms.

2020-05-31  Paul Eggert  <eggert@cs.ucla.edu>

	fnmatch: merge from glibc
	Also, merge in Gnulib’s more-recent methods of making it easier
	to share between Gnulib and glibc.
	* lib/fnmatch.c: Reorder includes to match glibc better.
	Include libc-config.h instead of config.h.
	Include alloca.h only if _LIBC || HAVE_ALLOCA.
	Do not include "../locale/elem-hash.h" if _LIBC.
	Define macros for btowc, etc. if _LIBC.  All uses simplified.
	Define FALLTHROUGH if _LIBC, instead of including attribute.h.
	Include intprops.h, since glibc has it now.
	(SIZE_MAX): Remove; use (size_t) -1 instead.
	Omit the "Comment out all this code" ifdef, since Gnulib
	has never really needed it.
	(STREQ): Remove; no longer used.
	(__libc_use_alloca, alloca, alloca_account): Define as
	needed if !_LIBC.
	(ISWCTYPE): Remove; all uses replaced by iswctype.
	(HANDLE_MULTIBYTE): Remove.  All uses removed by assuming true.
	(internal_function): Remove.  All uses removed.
	(STRUCT): New macro.
	(WIDE_CHAR_VERSION): Define to 0 instead of leaving undefined.
	(WMEMCMP): New macro.
	(FINDIDX): Define if _LIBC, and include <locale/weight.h>
	and <locale/weightwc.h>.
	(fnmatch): Prefer __glibc_likely and __glibc_unlikely to
	__builtin_expect.  Check for integer overflow more
	systematically.  Account for alloca storage better when
	recursive.  Use strnlen instead of strlen for efficiency.
	* lib/fnmatch_loop.c: Include stdint.h if _LIBC, for int32_t etc.
	(struct STRUCT): New type.
	(FCT, EXT): New ENDS and ALLOCA_USED args.
	All callers changed.
	(FCT): Prefer __glibc_unlikely to __builtin_expect.
	Simplify by assuming WIDE_CHAR_SUPPORT.
	Copy _LIBC code from glibc without worrying Gnulib compatibility.
	Cast cold to UCHAR to avoid signedness warning.
	(END): Check for invalid pattern.
	(EXT): Improve alloca/malloc checking (taken from glibc),
	and improve it some more by using intprops.h and checking
	for integer overflow and using bool for booleans.
	* lib/libc-config.h (compat_symbol): New macro.
	(versioned_symbol): Make it ‘extern int dummy’ so that it’s
	acceptable to non-GCC when a trailing semicolon is added.
	* modules/fnmatch (Depends-on): Add alloca-opt, intprops,
	libc-config, strnlen.  Remove alloca.

2020-05-31  Bruno Haible  <bruno@clisp.org>

	getrandom: Doc and test tweaks.
	* lib/getrandom.c (getrandom): Mention that it never returns 0, and that
	it sets errno when failing.
	* tests/test-getrandom.c (main): Disable the high-quality check on those
	platforms on which it fails.
	* doc/glibc-functions/getrandom.texi: Add Minix, AIX, HP-UX, IRIX,
	Cygwin to the list of platforms that don't have the function. Add a note
	about the quality of the result.
	* doc/glibc-headers/sys_random.texi: Don't mention the 'getrandom'
	declaration; this is fixed by module 'getrandom'.

2020-05-31  Bruno Haible  <bruno@clisp.org>

	getrandom: Add support for native Windows.
	* lib/getrandom.c: Include <errno.h>, <windows.h>, <bcrypt.h>,
	<wincrypt.h>.
	(CRYPT_VERIFY_CONTEXT): New macro.
	(LoadLibrary, CryptAcquireContext): Redirect to the variant with suffix
	'A'.
	(GetProcAddress): New macro.
	(BCryptGenRandomFuncType): New type.
	(BCryptGenRandomFunc, initialized): New variables.
	(initialize): New function.
	(getrandom): On native Windows, use <bcrypt.h> API when available, and
	<wincrypt.h> API as fallback.
	* m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set LIB_GETRANDOM.
	* modules/getrandom (Link): New section.
	* modules/getentropy (Link): Likewise.
	* modules/getrandom-tests (Makefile.am): Link test-getrandom against
	$(LIB_GETRANDOM).
	* modules/getentropy-tests (Makefile.am): Link test-getentropy against
	$(LIB_GETRANDOM).
	* modules/sys_random-c++-tests (Makefile.am): Link test-sys_random-c++
	against $(LIB_GETRANDOM).
	* doc/glibc-functions/getrandom.texi: Mention the native Windows
	support.

2020-05-31  Bruno Haible  <bruno@clisp.org>

	getrandom: Simplify the determination of the random number devices.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00383.html>.
	* lib/getrandom.c (NAME_OF_RANDOM_DEVICE, NAME_OF_NONCE_DEVICE): New
	macros.
	* modules/getrandom (Depends-on): Remove crypto/gc-random.

2020-05-31  Bruno Haible  <bruno@clisp.org>

	crypto/gc-random: Fix list of crypto devices for Solaris.
	* m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case Solaris.

2020-05-31  Akim Demaille  <akim@lrde.epita.fr>

	list: fix GCC warnings
	* lib/gl_anytree_list2.h (gl_tree_iterator_free)
	(gl_tree_next_node, gl_tree_node_nx_set_value)
	(gl_tree_previous_node, gl_tree_next_node):
	Mark unused arguments.
	* lib/gl_anytree_oset.h (gl_tree_iterator_free): Likewise.
	* lib/gl_anylinked_list2.h (gl_linked_node_value)
	(gl_linked_node_nx_set_value, gl_linked_iterator_free): Likewise.

	* lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Avoid using
	the same variable name in nested scopes.

2020-05-31  Bruno Haible  <bruno@clisp.org>

	list-c++, set-c++, oset-c++, map-c++, omap-c++: Don't fool the compiler.
	Reported by Akim Demaille in
	<https://lists.gnu.org/archive/html/bug-bison/2020-05/msg00102.html>.
	* lib/gl_list.hh (gl_List::iterator::next): Avoid a reinterpret_cast.
	* lib/gl_set.hh (gl_Set::iterator::next): Likewise.
	* lib/gl_oset.hh (gl_OSet::iterator::next): Likewise.
	* lib/gl_map.hh (gl_Map::iterator::next): Likewise.
	* lib/gl_omap.hh (gl_OMap::iterator::next): Likewise.

2020-05-30  Bruno Haible  <bruno@clisp.org>

	wmemchr: Relicense under LGPLv2+.
	* modules/wmemchr (License): Set to LGPLv2+.

2020-05-30  Bruno Haible  <bruno@clisp.org>

	wmempcpy: New module.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00387.html>.
	* lib/wchar.in.h (wmempcpy): New declaration.
	* lib/wmempcpy.c: New file.
	* m4/wmempcpy.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmempcpy is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMPCPY, HAVE_WMEMPCPY.
	* modules/wchar (Makefile.am): Substitute GNULIB_WMEMPCPY,
	HAVE_WMEMPCPY.
	* modules/wmempcpy: New file.
	* tests/test-wchar-c++.cc: Check the signature of wmempcpy.
	* doc/glibc-functions/wmempcpy.texi: Mention the new module.
	* modules/mempcpy (Description): Fix typo.

2020-05-30  Bruno Haible  <bruno@clisp.org>

	crypto/gc-random: Fix list of crypto devices for NetBSD, OpenBSD.
	* m4/gc-random.m4 (gl_GC_RANDOM): Don't special-case NetBSD and OpenBSD.

2020-05-30  Bruno Haible  <bruno@clisp.org>

	sys_random: Work around macOS bug.
	* m4/sys_random_h.m4 (gl_HEADER_SYS_RANDOM): Include <sys/types.h> and
	<stdlib.h> before <sys/random.h>.
	* m4/getrandom.m4 (gl_FUNC_GETRANDOM): Likewise.
	* lib/sys_random.in.h: On macOS, include <sys/types.h> and <stdlib.h>
	first.
	* doc/glibc-headers/sys_random.texi: Mention the macOS problem.

2020-05-30  Bruno Haible  <bruno@clisp.org>

	getrandom: Override incompatible system function on Solaris 11.
	* lib/sys_random.in.h (getrandom): Override if REPLACE_GETRANDOM is 1.
	* lib/getrandom.c (getrandom): When the system has getrandom, just
	invoke it.
	* m4/getrandom.m4 (gl_FUNC_GETRANDOM): Set REPLACE_GETRANDOM if the
	system's getrandom function's prototype is not the expected one.
	* m4/sys_random_h.m4 (gl_SYS_RANDOM_H_DEFAULTS): Initialize
	REPLACE_GETRANDOM.
	* modules/sys_random (Makefile.am): Substitute REPLACE_GETRANDOM.
	* modules/getrandom (modules/getrandom): Consider REPLACE_GETRANDOM.
	* tests/test-getrandom.c (main): Allow error EINVAL as an alternative to
	EAGAIN.
	* doc/glibc-functions/getrandom.texi: Mention the new module and the
	Solaris problem.

2020-05-30  Bruno Haible  <bruno@clisp.org>

	sys_random: Add C++ tests.
	* tests/test-sys_random-c++.cc: New file.
	* modules/sys_random-c++-tests: New file.
	* modules/sys_random-tests (Depends-on): Depend on it.

	sys_random: Add tests.
	* tests/test-sys_random.c: New file.
	* modules/sys_random-tests: New file.

	sys_random: New module.
	* lib/sys_random.in.h: Use the common idioms for overridable header
	files.
	* m4/sys_random_h.m4: New file.
	* m4/getrandom.m4 (gl_FUNC_GETRANDOM): Require gl_SYS_RANDOM_H_DEFAULTS.
	* modules/sys_random: New file.
	* modules/getrandom (Files): Remove lib/sys_random.in.h.
	(Depends-on): Add sys_random.
	(configure.ac): Use gl_SYS_RANDOM_MODULE_INDICATOR, not
	gl_UNISTD_MODULE_INDICATOR.
	(Makefile.am): Don't generate sys/random.h here.
	* doc/glibc-headers/sys_random.texi: New file.
	* doc/gnulib.texi: Include it.

2020-05-30  Bruno Haible  <bruno@clisp.org>

	unistd: Remove conflicting declaration of getrandom().
	* lib/unistd.in.h (getrandom): Remove declaration.
	* m4/unistd_h.m4 (gl_UNISTD_H): Don't test whether getrandom is
	declared.
	(gl_UNISTD_H_DEFAULTS): Don't initialize GNULIB_GETRANDOM,
	HAVE_GETRANDOM.
	* modules/unistd (Makefile.am): Don't substitute GNULIB_GETRANDOM,
	HAVE_GETRANDOM.

2020-05-30  Bruno Haible  <bruno@clisp.org>

	getrandom: Add tests.
	* tests/test-getrandom.c: New file.
	* modules/getrandom-tests: New file.

2020-05-30  Bruno Haible  <bruno@clisp.org>

	crypto/gc-random: Fix link error on MSVC.
	* m4/gc-random.m4 (gl_GC_RANDOM): Set LIB_GC_RANDOM.
	* modules/crypto/gc-random (Link): New section.
	* modules/crypto/gc-tests (Makefile.am): Link test-gc against
	$(LIB_GC_RANDOM).

2020-05-30  Bruno Haible  <bruno@clisp.org>

	Don't assume that UNICODE is not defined.
	Many Windows API functions are defined differently (redirecting to a
	function with suffix 'W') if the application defines the macro UNICODE
	than by default (redirecting to a function with suffix 'A').
	* lib/clean-temp.c (OSVERSIONINFO, GetVersionEx): Redirect to the
	variant with suffix 'A'.
	* lib/dirent-private.h (WIN32_FIND_DATA): Likewise.
	* lib/gc-gnulib.c (CryptAcquireContext): Likewise.
	* lib/getaddrinfo.c (GetModuleHandle): Likewise.
	* lib/getlogin.c (GetUserName): Likewise.
	* lib/getlogin_r.c (GetUserName): Likewise.
	* lib/gettimeofday.c (LoadLibrary): Likewise.
	* lib/isatty.c (LoadLibrary, QueryFullProcessImageName): Likewise.
	* lib/link.c (GetModuleHandle, CreateHardLink): Likewise.
	* lib/localename.c (GetLocaleInfo, EnumSystemLocales): Likewise.
	* lib/mountlist.c (GetDriveType): Likewise.
	* lib/nonblocking.c (GetNamedPipeHandleState): Likewise.
	* lib/opendir.c (WIN32_FIND_DATA, GetFullPathName, FindFirstFile):
	Likewise.
	* lib/physmem.c (GetModuleHandle): Likewise.
	* lib/poll.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
	PeekMessage, DispatchMessage): Likewise.
	* lib/progreloc.c (GetModuleFileName): Likewise.
	* lib/putenv.c (SetEnvironmentVariable): Likewise.
	* lib/read.c (GetNamedPipeHandleState): Likewise.
	* lib/readdir.c (FindNextFile): Likewise.
	* lib/relocatable.c (GetModuleFileName): Likewise.
	* lib/rename.c (MoveFileEx): Likewise.
	* lib/rewinddir.c (FindFirstFile): Likewise.
	* lib/select.c (GetModuleHandle, PeekConsoleInput, CreateEvent,
	PeekMessage, DispatchMessage): Likewise.
	* lib/sethostname.c (GetComputerNameEx, SetComputerNameEx): Likewise.
	* lib/socket.c (WSASocket): Likewise.
	* lib/stat-w32.c (LoadLibrary, GetFinalPathNameByHandle): Likewise.
	* lib/stat.c (WIN32_FIND_DATA, CreateFile, FindFirstFile): Likewise.
	* lib/stdio-read.c (GetNamedPipeHandleState): Likewise.
	* lib/stdio-write.c (GetNamedPipeHandleState): Likewise.
	* lib/tmpdir.c (GetTempPath): Likewise.
	* lib/tmpfile.c (OSVERSIONINFO, GetVersionEx, GetTempPath): Likewise.
	* lib/uname.c (OSVERSIONINFO, GetVersionEx): Likewise.
	* lib/utime.c (CreateFile, GetFileAttributes): Likewise.
	* lib/windows-cond.c (CreateEvent): Likewise.
	* lib/windows-rwlock.c (CreateEvent): Likewise.
	* lib/windows-timedmutex.c (CreateEvent): Likewise.
	* lib/windows-timedrecmutex.c (CreateEvent): Likewise.
	* lib/windows-timedrwlock.c (CreateEvent): Likewise.
	* lib/write.c (GetNamedPipeHandleState): Likewise.

2020-05-30  Bruno Haible  <bruno@clisp.org>

	physmem: Fix compilation errors on MSVC.
	* lib/physmem.c (PFN_MS_EX): Use BOOL, not WINBOOL.
	* modules/physmem (Depends-on): Add unistd.

2020-05-29  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix link errors with a particular set of modules on mingw.
	* gnulib-tool (func_emit_tests_Makefile_am): Add ../lib/libgnu.a to
	LDADD a second time, after the second occurrence of libtests.a.
	* pygnulib/GLEmiter.py (tests_Makefile_am): Likewise.

2020-05-29  Bruno Haible  <bruno@clisp.org>

	fnmatch: Rely on more gnulib modules.
	* modules/fnmatch (Depends-on): Add btowc, isblank, iswctype, wmemchr,
	wmempcpy, mempcpy.
	* lib/fnmatch.c: Assume that HAVE_WCTYPE_H, HAVE_BTOWC, HAVE_ISWCTYPE,
	HAVE_WMEMCHR, HAVE_WMEMPCPY, HAVE_ISBLANK, HAVE_DECL_ISBLANK,
	HAVE_MEMPCPY are all 1.
	* m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't test for btowc, isblank,
	iswctype, mempcpy, wmemchr, wmemcpy, wmempcpy, <wctype.h>.

2020-05-29  Bruno Haible  <bruno@clisp.org>

	Avoid dynamic lookup of Windows API functions when possible.
	* lib/getaddrinfo.c (GetProcAddress, getaddrinfo_func,
	freeaddrinfo_func, getnameinfo_func, getaddrinfo_ptr, freeaddrinfo_ptr,
	getnameinfo_ptr): Don't define in a build for Windows XP or higher.
	(use_win32_p): Define differently.
	* lib/link.c (GetProcAddress, CreateHardLinkFuncType,
	CreateHardLinkFunc, initialized, initialize): Don't define in a build
	for Windows XP or higher.

2020-05-29  Daiki Ueno  <ueno@gnu.org>

	read-file: disable buffering if RF_SENSITIVE is set
	* lib/read-file.c (read_file): Call setvbuf if RF_SENSITIVE.
	Suggested by Glenn Strauss.
	(fread_file): Suggest calling setvbuf before calling this
	function.  Suggested by Bruno Haible.

2020-05-29  Bruno Haible  <bruno@clisp.org>

	wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset: Fix autoconf test.
	* m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Link, not only compile, the test
	program.
	* m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Likewise.
	* m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Likewise.
	* m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Likewise.
	* m4/wmemset.m4 (gl_FUNC_WMEMSET): Likewise.

2020-05-29  Bruno Haible  <bruno@clisp.org>

	Fix compilation error on native Windows (regression from 2020-05-28).
	Reported by Daiki Ueno.
	* lib/gettimeofday.c (GetSystemTimePreciseAsFileTimeFunc): Define as
	macro when not using dynamic loading.
	* lib/isatty.c (GetNamedPipeClientProcessIdFunc,
	QueryFullProcessImageNameFunc): Likewise.
	* lib/stat-w32.c (GetFileInformationByHandleExFunc,
	GetFinalPathNameByHandleFunc): Likewise.

2020-05-29  Daiki Ueno  <ueno@gnu.org>

	fopen-gnu-tests: fix "\x" escape usage
	* tests/test-fopen-gnu.c (DATA): Use safer escape sequence.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	Avoid dynamic loading of Windows API functions when possible.
	Reported by Steve Lhomme <robux4@ycbcr.xyz> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00182.html>.
	* lib/gettimeofday.c (GetProcAddress,
	GetSystemTimePreciseAsFileTimeFuncType,
	GetSystemTimePreciseAsFileTimeFunc, initialized, initialize): Don't
	define in a build for Windows 8 or higher.
	* lib/isatty.c (GetProcAddress, GetNamedPipeClientProcessIdFuncType,
	GetNamedPipeClientProcessIdFunc, QueryFullProcessImageNameFuncType,
	QueryFullProcessImageNameFunc, initialized, initialize): Don't define
	in a build for Windows Vista or higher.
	* lib/stat-w32.c (GetProcAddress, GetFileInformationByHandleExFuncType,
	GetFileInformationByHandleExFunc, GetFinalPathNameByHandleFuncType,
	GetFinalPathNameByHandleFunc, initialized, initialize): Likewise.

2020-05-28  Paul Eggert  <eggert@cs.ucla.edu>

	explicit_bzero-tests: improve -Wmissing-declarations pacification
	* tests/test-explicit_bzero.c: Now noinline.
	Suggested by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2020-05/msg00300.html

2020-05-28  Bruno Haible  <bruno@clisp.org>

	Fix build errors due to read-file changes (regression from 2020-05-27).
	* lib/git-merge-changelog.c (read_changelog_file): Update read_file
	invocation.
	* tests/test-sameacls.c (main): Likewise.
	* tests/test-pipe-filter-gi1.c (main): Call read_file instead of
	read_binary_file.
	* tests/test-pipe-filter-ii1.c (main): Likewise.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	fts: Make more robust in multithreaded applications.
	* lib/fts.c (fts_open): Pass an O_CLOEXEC flag to open().
	* modules/fts (Depends-on): Add 'open'.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Make more robust in multithreaded applications.
	* lib/progreloc.c (O_CLOEXEC): Define fallback to 0 when use from module
	relocatable-prog-wrapper.
	(find_executable): Pass an O_CLOEXEC flag to open().
	* modules/relocatable-prog (Depends-on): Add 'open'.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	getloadavg: Make more robust in multithreaded applications.
	* lib/getloadavg.c (getloadavg): Pass an O_CLOEXEC flag to open().
	Simplify use of O_CLOEXEC.
	* modules/getloadavg (Depends-on): Add 'open'.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	vma-iter: Make more robust in multithreaded applications.
	* lib/vma-iter.c (rof_open, vma_iterate): Pass an O_CLOEXEC flag to
	open().
	* modules/vma-iter (Depends-on): Add 'open'.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	truncate: Make more robust in multithreaded applications.
	* lib/truncate.c (truncate): Pass an O_CLOEXEC flag to open().

2020-05-28  Bruno Haible  <bruno@clisp.org>

	pagealign_alloc: Make more robust in multithreaded applications.
	* lib/pagealign_alloc.c (pagealign_alloc): Pass an O_CLOEXEC flag to
	open().
	* modules/pagealign_alloc (Depends-on): Add 'open'.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	openat: Make more robust in multithreaded applications.
	* lib/openat.c (openat_needs_fchdir): Pass an O_CLOEXEC flag to open().

2020-05-28  Bruno Haible  <bruno@clisp.org>

	at-internal: Make more robust in multithreaded applications.
	* lib/openat-proc.c (openat_proc_name): Pass an O_CLOEXEC flag to
	open().

2020-05-28  Bruno Haible  <bruno@clisp.org>

	mountlist: Make more robust in multithreaded applications.
	* lib/mountlist.c (read_file_system_list): Pass an O_CLOEXEC flag to
	open().
	* modules/mountlist (Depends-on): Add 'open'.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	login_tty: Make more robust in multithreaded applications.
	* lib/login_tty.c (login_tty): Pass an O_CLOEXEC flag to open().
	* modules/login_tty (Depends-on): Add 'open'.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	javacomp: Make more robust in multithreaded applications.
	* lib/javacomp.c (get_classfile_version): Pass an O_CLOEXEC flag to
	open().
	* modules/javacomp (Depends-on): Add 'open'.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	getprogname: Make more robust in multithreaded applications.
	* lib/getprogname.c (getprogname): Pass an O_CLOEXEC flag to open().
	* modules/getprogname (Depends-on): Add 'open'.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	get_progname_of: Make more robust in multithreaded applications.
	* lib/get_progname_of.c (get_progname_of): Pass an O_CLOEXEC flag to
	open().
	* modules/get_progname_of (Depends-on): Add 'open'.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	get_ppid_of: Make more robust in multithreaded applications.
	* lib/get_ppid_of.c (get_ppid_of): Pass an O_CLOEXEC flag to open().
	* modules/get_ppid_of (Depends-on): Add 'open'.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	get-rusage-as: Make more robust in multithreaded applications.
	* lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Pass an O_CLOEXEC
	flag to open().
	* modules/get-rusage-as (Depends-on): Add 'open'.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	crypto/gc: Make more robust in multithreaded applications.
	* lib/gc-gnulib.c (randomize): Pass an O_CLOEXEC flag to open().
	* modules/crypto/gc (Depends-on): Add 'open'.

2020-05-28  Bruno Haible  <bruno@clisp.org>

	copy-file: Make more robust in multithreaded applications.
	* lib/copy-file.c (qcopy_file_preserving): Pass an O_CLOEXEC flag to
	open().

2020-05-28  Bruno Haible  <bruno@clisp.org>

	chown: Make more robust in multithreaded applications.
	* lib/chown.c (rpl_chown): Pass an O_CLOEXEC flag to open().

2020-05-28  Bruno Haible  <bruno@clisp.org>

	doc: Fix statement about O_CLOEXEC (wrong since 2017-08-14).
	* doc/posix-headers/fcntl.texi: Gnulib no longer defines O_CLOEXEC to 0.

2020-05-28  Daiki Ueno  <ueno@gnu.org>

	fopen-gnu: make 'b' flag can be used with 'e' on Windows
	* lib/fopen.c (rpl_fopen): Pass O_BINARY to open, if a 'b' flag is
	specified on Windows.
	* tests/test-fopen-gnu.c (DATA): New define.
	(main): Add test for reading binary files with an 'e' flag.

2020-05-27  Bruno Haible  <bruno@clisp.org>

	Don't assume that UNICODE is not defined.
	Some Windows types, such as TCHAR, LPTSTR, LPCTSTR, are defined
	differently if the application defines the macro UNICODE.
	Reported by Steve Lhomme <robux4@ycbcr.xyz> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00184.html>.
	* lib/link.c (CreateHardLinkFuncType): Use LPCSTR, not LPCTSTR.
	* lib/localename.c (enum_locales_fn): Use LPSTR, not LPTSTR.
	* lib/stat-w32.c (GetFinalPathNameByHandleFuncType): Likewise.

2020-05-27  Bruno Haible  <bruno@clisp.org>

	Improve pattern for defining _WIN32_WINNT.
	Newer versions of the Windows API may not only add, but also remove API
	functions. Therefore, when the user is e.g. building for Windows 10, we
	should not set _WIN32_WINNT to e.g. Windows 8, as this may enable the
	use of APIs that were present in Windows 8 but removed in Windows 10.
	Suggested by Steve Lhomme <robux4@ycbcr.xyz> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00318.html>.
	* lib/ftruncate.c (_WIN32_WINNT): Don't set to a smaller value.
	* lib/sethostname.c (_WIN32_WINNT): Likewise.
	* lib/stat-w32.c (_WIN32_WINNT): Likewise.

2020-05-27  Bruno Haible  <bruno@clisp.org>

	javacomp: Make more robust in multithreaded applications.
	* lib/javacomp.c (write_temp_file): Pass an 'e' flag to fopen_temp.
	* modules/javacomp (Depends-on): Add fopen-gnu.

2020-05-27  Bruno Haible  <bruno@clisp.org>

	mountlist: Make more robust in multithreaded applications.
	* lib/mountlist.c (setmntent, read_file_system_list): Pass an 'e' flag
	to fopen.
	* modules/mountlist (Depends-on): Add fopen-gnu.

2020-05-27  Bruno Haible  <bruno@clisp.org>

	sethostname: Make more robust in multithreaded applications.
	* lib/sethostname.c (sethostname): Pass an 'e' flag to fopen.
	* modules/sethostname (Depends-on): Add fopen-gnu.

2020-05-27  Bruno Haible  <bruno@clisp.org>

	readutmp: Make more robust in multithreaded applications.
	* lib/readutmp.c (read_utmp): Pass an 'e' flag to fopen.
	* modules/readutmp (Depends-on): Add fopen-gnu.

2020-05-27  Bruno Haible  <bruno@clisp.org>

	getpass: Make more robust in multithreaded applications.
	* lib/getpass.c (getpass): Pass an 'e' flag to fopen.
	* modules/getpass (Depends-on): Add fopen-gnu.

2020-05-27  Bruno Haible  <bruno@clisp.org>

	getloadavg: Make more robust in multithreaded applications.
	* lib/getloadavg.c (getloadavg): Pass an 'e' flag to fopen.
	* modules/getloadavg (Depends-on): Add fopen-gnu.

2020-05-27  Bruno Haible  <bruno@clisp.org>

	exclude: Make more robust in multithreaded applications.
	* lib/exclude.c (add_exclude_file): Pass an 'e' flag to fopen.
	* modules/exclude (Depends-on): Add fopen-gnu.

2020-05-27  Bruno Haible  <bruno@clisp.org>

	bitset: Make more robust in multithreaded applications.
	* lib/bitset/stats.c (bitset_stats_read, bitset_stats_write): Pass an
	'e' flag to fopen.
	* modules/bitset (Depends-on): Add fopen-gnu.

2020-05-27  Daiki Ueno  <ueno@gnu.org>

	read-file: add RF_SENSITIVE flag
	* lib/read-file.h (RF_SENSITIVE): New define.
	* lib/read-file.c (fread_file, read_file): Take into account of
	RF_SENSITIVE flag.
	* modules/read-file (Depends-on): Add explicit_bzero.
	This adds an alternative behavior of those functions to explicitly
	clear the internal memory block when it becomes unused.  This is
	useful for reading sensitive information from a file.

2020-05-27  Daiki Ueno  <ueno@gnu.org>

	read-file: add flags to modify reading behavior
	* lib/read-file.h (RF_BINARY): New define.
	(fread_file, read_file): Take FLAGS argument.
	(read_binary_file): Remove.
	* lib/read-file.c (internal_read_file): Merge into ...
	(read_file): ... here.
	* modules/read-file-tests (Files): Add "tests/macros.h".
	* tests/test-read-file.c (main): Refactor using ASSERT macro.
	* NEWS: Mention this change.

2020-05-26  Bernhard Voelker  <mail@bernhard-voelker.de>

	doc/gnulib-intro.texi: add missing "to" in sentence
	Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00316.html>.
	* doc/gnulib-intro.texi (Collaborative Development): Add "to".

2020-05-26  Bruno Haible  <bruno@clisp.org>

	count-one-bits: Fix MSVC specific code.
	Reported by Gisle Vanem <gisle.vanem@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00309.html>.
	* lib/count-one-bits.h (COUNT_ONE_BITS_GENERIC): Don't define if we're
	using GCC.
	[_MSC_VER]: Use correct syntax for #pragma intrinsic.
	(__popcnt64): In 32-bit mode, define as an inline function.
	(COUNT_ONE_BITS): Rename first argument to GCC_BUILTIN.

2020-05-26  Bruno Haible  <bruno@clisp.org>

	argz: Avoid name clashes through argz.h.
	Reported by Gisle Vanem <gisle.vanem@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00308.html>.
	* lib/argz.h: Don't use __ prefixed identifiers.
	(const): Remove definition.
	(argz_next): Remove inline definitions.

2020-05-26  Daiki Ueno  <ueno@gnu.org>

	read-file: make use of fopen-gnu
	* lib/read-file.c (read_file): Pass an 'e' flag to fopen.
	(read_binary_file): Likewise.
	* modules/read-file (Depends-on): Add fopen-gnu.

2020-05-25  Paul Eggert  <eggert@cs.ucla.edu>

	getentropy, getrandom: new modules
	* MODULES.html.sh (func_all_modules):
	* lib/unistd.in.h (getentropy, getrandom):
	* m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS):
	* modules/unistd (unistd.h):
	Add support for getentropy, getrandom.
	* doc/glibc-functions/getentropy.texi (getentropy):
	* doc/glibc-functions/getrandom.texi (getrandom):
	These are now fixed on some platforms.
	* lib/getentropy.c, lib/getrandom.c, lib/sys_random.in.h:
	* m4/getentropy.m4, m4/getrandom.m4:
	* modules/getentropy, modules/getentropy-tests:
	* modules/getrandom, modules/getrandom-tests:
	* tests/test-getentropy.c, tests/test-getrandom.c:
	New files.

2020-05-25  Bruno Haible  <bruno@clisp.org>

	Add missing C99 dependencies.
	Reported by Paul Smith <psmith@gnu.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00290.html>.
	* modules/assert (Depends-on): Add c99.
	* modules/filenamecat-lgpl (Depends-on): Likewise.
	* modules/libc-config (Depends-on): Likewise.
	* modules/mktime (Depends-on): Likewise.
	* modules/random_r (Depends-on): Likewise.
	* modules/regex (Depends-on): Likewise.
	* modules/scratch_buffer (Depends-on): Likewise.
	* modules/timespec-add (Depends-on): Likewise.
	* modules/timespec-sub (Depends-on): Likewise.
	* modules/verify (Depends-on): Likewise.

2020-05-24  Paul Eggert  <eggert@cs.ucla.edu>

	explicit_bzero-tests: pacify -Wmissing-declarations
	* tests/test-explicit_bzero.c (do_secret_stuff, test_stack):
	Now static.

2020-05-24  Bruno Haible  <bruno@clisp.org>

	fopen-gnu: Add tests.
	* tests/test-fopen-gnu.c: New file.
	* modules/fopen-gnu-tests: New file.

	fopen-gnu: New module.
	Suggested by Tim Rühsen <tim.ruehsen@gmx.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00119.html>.
	* lib/fopen.c (rpl_fopen): When the fopen-gnu module is enabled and the
	mode contains an 'x' or 'e' flag, use open() followed by fdopen().
	* m4/fopen.m4 (gl_FUNC_FOPEN_GNU): New macro.
	* modules/fopen-gnu: New file.
	* doc/posix-functions/fopen.texi: Document the 'fopen-gnu' module.

2020-05-24  Bruno Haible  <bruno@clisp.org>

	open, openat: Really support O_CLOEXEC.
	* lib/open.c (open): When have_cloexec is still undecided, do pass a
	O_CLOEXEC flag to orig_open.
	* lib/openat.c (rpl_openat): When have_cloexec is still undecided, do
	pass a O_CLOEXEC flag to orig_openat.
	* tests/test-open.h (test_open): Verify that O_CLOEXEC is honoured.
	* modules/open-tests (Depends-on): Add fcntl.
	* modules/openat-tests (Depends-on): Likewise.
	* modules/fcntl-safer-tests (Depends-on): Likewise.

2020-05-24  Bruno Haible  <bruno@clisp.org>

	fopen: Fix the trailing slash workaround.
	* lib/fopen.c (rpl_fopen): Parse the mode string. Recognize "r+" as a
	write access. Pass the right flags to open().
	* tests/test-fopen.h (test_fopen): Add a few more tests on directories.

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

	assure: new macro ‘affirm’
	* lib/assure.h: Include verify.h.
	(affirm): New macro, after a suggestion by Marc Nieper-Wißkirchen in:
	https://lists.gnu.org/r/bug-gnulib/2020-05/msg00263.html
	and commentary by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2020-05/msg00278.html
	* modules/assure (Depends-on:): Add verify.

2020-05-23  Bruno Haible  <bruno@clisp.org>

	calloc-gnu: Make test work in non-flat address spaces.
	Uses code by Paul Eggert.
	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Allow a calloc() implementation
	to return more than SIZE_MAX bytes, but only without wrap-around bugs.

2020-05-23  Bruno Haible  <bruno@clisp.org>

	calloc-gnu: Avoid wrong configure results with GCC's AddressSanitizer.
	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Split the AC_RUN_IFELSE into two
	AC_RUN_IFELSE invocations.

2020-05-23  Bruno Haible  <bruno@clisp.org>

	isnanf, isnanl, isnan: Don't use nonexistent builtins with clang.
	* m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM,
	gl_ISNANF_WORKS): Don't use __builtin_isnanf on clang versions that
	don't have it.
	* m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
	gl_FUNC_ISNANL_WORKS): Don't use __builtin_isnanl on clang versions that
	don't have it.
	* lib/isnanf-nolibm.h (__has_builtin): New macro.
	(isnanf): Don't use __builtin_isnanf on clang versions that don't have
	it.
	* lib/isnanl-nolibm.h (__has_builtin): New macro.
	(isnanl): Don't use __builtin_isnanl on clang versions that don't have
	it.
	* lib/math.in.h (__has_builtin): New macro.
	(isnanf): Don't use __builtin_isnanf on clang versions that don't have
	it.
	(isnanl): Don't use __builtin_isnanl on clang versions that don't have
	it.
	(isnan): Don't use the builtins on clang versions that don't have
	__builtin_isnanf and __builtin_isnanl.

2020-05-23  Bruno Haible  <bruno@clisp.org>

	calloc-gnu: Avoid wrong configure results with clang.
	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Mark the pointer variable as
	'volatile', to defeat compiler optimizations.

2020-05-23  Bruno Haible  <bruno@clisp.org>

	isnanl, isnanl-nolibm: Make a test work better with "gcc -O2" on x86_64.
	* m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Pass the
	'long double' values by reference, with values taken from a statically
	allocated array.

2020-05-23  Bruno Haible  <bruno@clisp.org>

	findprog-in: Ignore directories.
	Reported by Frederick Eaton via Dmitry Goncharov in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.
	* lib/findprog-in.c (find_in_given_path): When the file found is a
	directory, set errno to EACCES and, during a PATH search, continue
	searching.
	* modules/findprog-in (Depends-on): Add sys_stat, stat.

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

	verify: document ‘assume’ better
	* lib/verify.h (assume): Say it’s for static analysis, not dynamic.

2020-05-22  Asher Gordon  <AsDaGo@posteo.net>

	gendocs: Clarify licenses for templates.
	* doc/gendocs_template: Add a GNU All-Permissive license notice
	and bump Parent-Version.
	* doc/gendocs_template_min: Add a GNU All-Permissive license
	notice and copy the explanatory comment about the license notice
	at the bottom from gendocs_template.

2020-05-21  Bruno Haible  <bruno@clisp.org>

	group-member: Relicense under LGPLv2+.
	Jim Meyering's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00218.html>.
	Paul Eggert's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00225.html>.
	Eric Blake's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00217.html>.
	* modules/group-member (License): Change to LGPLv2+.

2020-05-21  Bruno Haible  <bruno@clisp.org>

	memmem: Avoid wrong configure results with "clang -fsanitize=undefined".
	Reported by Tim Rühsen in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
	* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Use NULL + 1, not NULL.

2020-05-21  Bruno Haible  <bruno@clisp.org>

	regex: Avoid wrong configure results with "clang -fsanitize=leak".
	Reported by Tim Rühsen in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
	* m4/regex.m4 (gl_REGEX): Free compiled regexes and allocated registers
	before returning with status 0.

2020-05-21  Bruno Haible  <bruno@clisp.org>

	glob: Avoid wrong configure results with "clang -fsanitize=leak".
	Reported by Tim Rühsen in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
	* m4/glob.m4 (gl_GLOB): Free allocated memory before returning.

2020-05-21  Bruno Haible  <bruno@clisp.org>

	fchownat: Support clang -fsanitize=implicit-integer-sign-change better.
	Reported by Tim Rühsen in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00207.html>.
	* m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
	gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Cast -1 to uid_t or git_t,
	respectively.

2020-05-18  Tim Rühsen  <tim.ruehsenqgmx.de>

	getdelim: Avoid wrong configure results with gcc -fsanitize=address.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Fix memleak.

2020-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	ftoastr: fix ifndef typo
	* lib/ftoastr.h (_GL_FTOASTR_H): Define.

2020-05-19  Bruno Haible  <bruno@clisp.org>

	havelib: Tweak documentation.
	* doc/havelib.texi (Searching for Libraries): Fix typo.

2020-05-18  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	vcs-to-changelog: Rename vcs_to_changelog.py to use hyphens.
	This was needed earlier because modules had to import the main script,
	but that is no longer true.  Rename the script so that it is
	consistent with all other scripts in gnulib and uses hyphens.
	* build-aux/vcs_to_changelog.py: Rename to...
	* build-aux/vcs-to-changelog.py: ... this.
	* doc/vcs-to-changelog.texi (VCS To ChangeLog): Update reference.
	* modules/vcs-to-changelog: Likewise.

2020-05-17  Bruno Haible  <bruno@clisp.org>

	Clarify intended usage of the license file modules.
	Reported by Asher Gordon <AsDaGo@posteo.net> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00126.html>.
	* doc/licenses-texi.texi (License Texinfo sources): Mention the
	GNU AGPL. Explain the intended usage of the modules.
	* modules/fdl (Notice): Discourage use as a module.
	* modules/fdl-1.3 (Notice): Likewise.

2020-05-17  Akim Demaille  <akim@lrde.epita.fr>

	hash: add hash_xinsert
	* lib/hash.h, lib/xhash.c (hash_xinsert): New.

2020-05-16  Bruno Haible  <bruno@clisp.org>

	findprog-lgpl: Fix link error (existing since 2008-09-02).
	* modules/findprog-lgpl (Makefile.am): Arrange to compile
	findprog-lgpl.c, not findprog.c.
	* lib/findprog.c (find_in_path): Add LGPLed replacement code for
	XNMALLOC.

2020-05-15  Paul Eggert  <eggert@cs.ucla.edu>

	c-stack: pacify -Wunused-result when DEBUG
	Problem reported by Marc Nieper-Wißkirchen in:
	https://lists.gnu.org/r/bug-gnulib/2020-05/msg00132.html
	* lib/c-stack.c (segv_handler, overflow_handler, segv_handler) [DEBUG]:
	Explicitly ignore write failures.

2020-05-13  Jim Meyering  <meyering@fb.com>

	announce-gen: improve a comment
	* build-aux/announce-gen: Improve comment.

2020-05-12  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc: pacify -Wanalyzer-possible-null-argument
	Problem reported for GCC 10.1.0 by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2020-05/msg00118.html
	* lib/xmalloc.c (HAVE_GNU_MALLOC, HAVE_GNU_REALLOC): New constants.
	(xmalloc): Suppress unnecessary check if HAVE_GNU_MALLOC.
	(xrealloc): Suppress unnecssary check if HAVE_GNU_REALLOC.

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

	careadlinkat: fix GCC 10 workaround
	* lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
	Massage the code so that it’s closer to what it was before
	the GCC 10.1.0 workaround was introduced.  This fixes
	a loop when !buffer and the bug workaround is in effect.
	Remove unnecessary casts.  Defend in a different way
	against (buffer && !buffer_size), by adding at least 1
	to buf_size each time through the loop.

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

	doc: Mark HP-UX as unsupported.
	* doc/gnulib-intro.texi (Target Platforms): List HP-UX as unsupported.

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

	careadlinkat: limit GCC workaround
	* lib/careadlinkat.c (careadlinkat): Limit workaround to GCC
	10.1.0 and later, since the workaround is pretty bad and the GCC
	bug should get fixed.

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

	havelib: Enhance documentation.
	* doc/havelib.texi (Searching for Libraries): Mention the bad
	consequences of using LIBxxx instead of LTLIBxxx and vice versa.

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

	attribute: Clarify list of attributes.
	* lib/attribute.h: Reorder the list of attributes, and group them by
	purpose.

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

	string: Fix compilation error in C++ mode.
	* lib/warn-on-use.h (_GL_WARN_ON_USE_CXX): In C mode, use plain
	_GL_WARN_ON_USE.
	* lib/string.in.h (strchr, strpbrk, strrchr): Use _GL_WARN_ON_USE_CXX
	instead of _GL_WARN_ON_USE.

2020-05-10  Akim Demaille  <akim@lrde.epita.fr>

	announce-gen: add support for dist-lzip
	* build-aux/announce-gen (@archive_suffixes): Add tar.lz.

2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: port to GCC 10.1
	* build-aux/gcc-warning.spec:
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)):
	Add GCC 10.1.0 warnings.

	careadlinkat: pacify -Wreturn-local-addr
	* lib/careadlinkat.c (careadlinkat) [GCC_LINT]:
	Pacify gcc 10’s -Wreturn-local-addr option.
	Simplify some of the later code.

2020-05-09  Paul Eggert  <eggert@cs.ucla.edu>

	attribute: remove ATTRIBUTE_DEPRECATED
	* lib/attribute.h: Improve recently-added comments, mostly
	by shortening them (use active voice, etc.).
	(ATTRIBUTE_DEPRECATED): Remove, as it duplicates DEPRECATED.
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2020-05/msg00089.html

2020-05-09  Bruno Haible  <bruno@clisp.org>

	attribute: Add comments.
	* lib/attribute.h: Document each macro.

2020-05-09  Akim Demaille  <akim@lrde.epita.fr>

	bitset: use the attribute module
	* modules/bitset: Depend on 'attribute'.
	* lib/bitset/base.h (ATTRIBUTE_UNUSED): Remove.
	* lib/bitset.c, lib/bitset/array.c, lib/bitset/list.c,
	* lib/bitset/stats.c, lib/bitset/table.c, lib/bitset/vector.c:
	Use MAYBE_UNUSED instead of ATTRIBUTE_UNUSED.

2020-05-09  Bruno Haible  <bruno@clisp.org>

	c-stack: Fix warning when DEBUG is enabled.
	Patch suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00081.html>.
	* lib/c-stack.c: Include <stdio.h>.

2020-05-09  Bruno Haible  <bruno@clisp.org>

	Remove redundant definitions of _GL_ATTRIBUTE_FORMAT.
	* lib/argp.h (_GL_ATTRIBUTE_FORMAT): Remove macro.
	* lib/argp-fmtstream.h (_GL_ATTRIBUTE_FORMAT): Likewise.
	* lib/c-snprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
	* lib/c-vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
	* lib/c-vasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
	* lib/c-vsnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
	* lib/c-xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
	* lib/error.h (_GL_ATTRIBUTE_FORMAT): Likewise.
	* lib/parse-datetime.y (_GL_ATTRIBUTE_FORMAT): Likewise.
	* lib/vasnprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
	* lib/xprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.
	* lib/xvasprintf.h (_GL_ATTRIBUTE_FORMAT): Likewise.

2020-05-09  Bruno Haible  <bruno@clisp.org>

	Remove redundant definitions of _GL_ATTRIBUTE_ALLOC_SIZE.
	Reported by Akim Demaille in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00077.html>.
	* lib/eealloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Remove macro.
	* lib/pagealign_alloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.
	* lib/xalloc.h (_GL_ATTRIBUTE_ALLOC_SIZE): Likewise.

2020-05-09  Bruno Haible  <bruno@clisp.org>

	stdio, monetary: Don't redefine _GL_ATTRIBUTE_FORMAT.
	* lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT): Don't override the definition
	that usually comes from m4/gnulib-common.m4.
	* lib/monetary.in.h (_GL_ATTRIBUTE_FORMAT): Likewise.

2020-05-09  Bruno Haible  <bruno@clisp.org>

	dirent, stdlib, wchar, string: Don't redefine _GL_ATTRIBUTE_PURE.
	* lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Don't override the definition
	that usually comes from m4/gnulib-common.m4.
	* lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Likewise.
	* lib/string.in.h (_GL_ATTRIBUTE_PURE): Likewise.
	* lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Likewise.

2020-05-09  Bruno Haible  <bruno@clisp.org>

	uchar: Work around incorrect char16_t, char32_t types on Haiku 2020.
	* lib/uchar.in.h (char16_t): Define as macro if
	GNULIB_OVERRIDES_CHAR16_T.
	(char32_t): Define as macro if GNULIB_OVERRIDES_CHAR32_T.
	* m4/uchar.m4 (gl_TYPE_CHAR16_T, gl_TYPE_CHAR32_T): New macros.
	(gl_UCHAR_H): Invoke them.
	(gl_UCHAR_H_DEFAULTS): Initialize GNULIB_OVERRIDES_CHAR16_T,
	GNULIB_OVERRIDES_CHAR32_T.
	* m4/mbrtoc32.m4 (gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Require
	gl_TYPE_CHAR32_T and test GNULIB_OVERRIDES_CHAR32_T.
	* modules/uchar (Makefile.am): Substitute GNULIB_OVERRIDES_CHAR16_T,
	GNULIB_OVERRIDES_CHAR32_T.

2020-05-09  Bruno Haible  <bruno@clisp.org>

	Macro tweaks.
	* m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Correct config.h comment.
	* m4/wint_t.m4 (gt_TYPE_WINT_T): Correct indentation.

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

	c32rtomb: Avoid compilation failure on Haiku.
	* m4/c32rtomb.m4 (gl_FUNC_C32RTOMB): Test for c32rtomb without excluding
	inline definitions.
	* doc/posix-functions/c32rtomb.texi: Mention the Haiku problem.

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

	mbrtoc32: Avoid compilation failure on Haiku.
	* m4/mbrtoc32.m4 (gl_CHECK_FUNC_MBRTOC32): New macro.
	(gl_FUNC_MBRTOC32, gl_MBRTOC32_SANITYCHECK): Use it instead of
	AC_CHECK_FUNCS_ONCE.
	* doc/posix-functions/mbrtoc32.texi: Mention the Haiku problem.

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

	limits-h: Define LONG_BIT correctly on Haiku/x86_64.
	* lib/limits.in.h: Define and test _GL_ALREADY_INCLUDING_LIMITS_H.

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

	list: Update documentation.
	Reported by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00062.html>.
	* doc/containers.texi (Container data types): Document the new list
	operations and their complexity.

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

	ignore-value tests: Use module 'attribute'.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Fix a typo.
	* tests/test-ignore-value.c: Include attribute.h.
	(_GL_ATTRIBUTE_RETURN_CHECK): Remove macro. Use NODISCARD instead.
	* modules/ignore-value-tests (Depends-on): Add attribute.

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

	uniname/uniname: Use module 'attribute'.
	* lib/uniname/gen-uninames.lisp: Emit a reference to ATTRIBUTE_PACKED.
	* lib/uniname/uninames.h: Regenerated.
	* lib/uniname/uniname.c: Include attribute.h.
	* modules/uniname/uniname (Depends-on): Add attribute.

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

	c32rtomb: Use module 'attribute'.
	* lib/c32rtomb.c: Include attribute.h.
	(FALLTHROUGH): Remove macro.
	* modules/c32rtomb (Depends-on): Add attribute.

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

	xsize: Use module 'attribute'.
	* lib/xsize.h: Include attribute.h. Use ATTRIBUTE_PURE.
	* modules/xsize (Depends-on): Add attribute.

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

	* m4/gnulib-common.m4 (gl_COMMON_BODY): Minor style fixes.

	* lib/attribute.h: Minor style fixes.

	Fix version-etc glitch on OpenIndiana
	Problem reported by Mats Erik Andersson in:
	https://lists.gnu.org/r/bug-gnulib/2020-05/msg00067.html
	* lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Remove defn
	that now clashes with gnulib-common.h.  All uses changed.

2020-05-03  Paul Eggert  <eggert@cs.ucla.edu>

	attribute: new module
	This simplifies use of GCC and C2x attributes like ‘deprecated’.
	* MODULES.html.sh: Add attribute.
	* doc/attribute.texi, lib/attribute.h, modules/attribute: New files.
	* doc/gnulib.texi (Particular Modules): Add Attributes.
	* lib/backupfile.c, lib/fnmatch.c, lib/freopen-safer.c:
	* lib/mbrtoc32.c, lib/mbrtowc.c, lib/nstrftime.c, lib/quotearg.c:
	* lib/savewd.c, lib/unistr/u8-uctomb-aux.c, lib/unistr/u8-uctomb.c:
	* lib/vasnprintf.c:
	Include attribute.h, and let it define FALLTHROUGH.
	* lib/bitset/base.h, lib/c-stack.c (__attribute__): Remove macro.
	* lib/bitset/base.h (ATTRIBUTE_UNUSED): Define in terms of
	_GL_ATTRIBUTE_MAYBE_UNUSED, for forwards compatibility to C2x.
	* lib/dfa.c (FALLTHROUGH): Define consistently with gl_COMMON_BODY.
	This is a copy since Gawk doesn’t use Gnulib.
	* lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Remove definition that
	is incompatible with gl_COMMON_BODY’s.  All uses changed.
	* lib/fts.c: Include attribte.h, for FALLTHROUGH.
	Keep the existing FALLTHROUGH definition since Glibc might use it,
	and it does no harm to Gnulib’s FALLTHROUGH.
	* lib/fts_.h, lib/inttostr.h:
	(__GNUC_PREREQ): Remove; no longer needed.
	(__attribute_warn_unused_result__): Remove.  All uses
	replaced by _GL_ATTRIBUTE_NODISCARD.
	* lib/gl_list.h, lib/gl_map.h, lib/gl_omap.h, lib/gl_oset.h:
	* lib/gl_set.h: Prefer _GL_ATTRIBUTE_NODISCARD to an ifdeffed
	__attribute__ ((__warn_unused_result__)), for forward
	compatibility to C2x.
	* lib/hash.h (_GL_ATTRIBUTE_WUR): Remove.  All uses replaced by
	_GL_ATTRIBUTE_NODISCARD.
	(_GL_ATTRIBUTE_DEPRECATED): Remove, since gl_COMMON_BODY defines it.
	* lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Remove.  All uses
	replaced by gl_COMMON_BODY’s implementation, which has a
	slightly different signature.
	* lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK):
	Remove.  All uses replaced by _GL_ATTRIBUTE_NODISCARD.
	* lib/unused-parameter.h (_GL_UNUSED_PARAMETER):
	Define in terms of _GL_ATTRIBUTE_MAYBE_UNUSED.
	No doubt all uses should be replaced, at some point.
	* m4/gnulib-common.m4 (_GL_GNUC_PREREQ): New macro.
	(_Noreturn): Use it.
	(_GL_HAS_ATTRIBUTE, _GL_ATTRIBUTE_ALLOC_SIZE)
	(_GL_ATTRIBUTE_ALWAYS_INLINE, _GL_ATTRIBUTE_ARTIFICIAL)
	(_GL_ATTRIBUTE_COLD)
	(_GL_ATTRIBUTE_DEPRECATED, _GL_ATTRIBUTE_ERROR)
	(_GL_ATTRIBUTE_WARNING, _GL_ATTRIBUTE_EXTERNALLY_VISIBLE)
	(_GL_ATTRIBUTE_FALLTHROUGH, _GL_ATTRIBUTE_FORMAT)
	(_GL_ATTRIBUTE_LEAF, _GL_ATTRIBUTE_MAY_ALIAS)
	(_GL_ATTRIBUTE_MAYBE_UNUSED)
	(_GL_ATTRIBUTE_NODISCARD, _GL_ATTRIBUTE_NOINLINE)
	(_GL_ATTRIBUTE_NONNULL, _GL_ATTRIBUTE_NONSTRING)
	(_GL_ATTRIBUTE_NOTHROW, _GL_ATTRIBUTE_PACKED, _GL_ATTRIBUTE_PURE)
	(_GL_ATTRIBUTE_RETURNS_NONNULL)
	(_GL_ATTRIBUTE_SENTINEL): New macros.
	* modules/backup-rename, modules/backupfile, modules/c-vasnprintf:
	* modules/fnmatch, modules/freopen-safer, modules/fts:
	* modules/mbrtoc32, modules/mbrtowc, modules/nstrftime:
	* modules/quotearg, modules/savewd:
	* modules/unistdio/u16-u16-vasnprintf:
	* modules/unistdio/u16-vasnprintf:
	* modules/unistdio/u32-u32-vasnprintf:
	* modules/unistdio/u32-vasnprintf:
	* modules/unistdio/u8-u8-vasnprintf:
	* modules/unistdio/u8-vasnprintf:
	* modules/unistdio/ulc-vasnprintf:
	* modules/unistr/u8-uctomb, modules/vasnprintf:
	(Depends-on:): Add attribute module.

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

	bison: Fix today's commit.
	* m4/bison.m4 (gl_PROG_BISON): Set ac_verc_fail to 'yes', not 'true'.

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

	list-c++: Add get_first, get_last, set_first, set_last operations.
	* lib/gl_list.hh (class gl_List): Add methods get_first, get_last,
	set_first, set_last.
	* lib/gl_list.h: Tweak comments.

2020-05-03  Akim Demaille  <akim@lrde.epita.fr>

	bison: rely on bison's %require to check a version requirement
	See https://lists.gnu.org/archive/html/bug-gnulib/2020-05/msg00021.html.
	* m4/bison.m4 (gl_PROG_BISON): Let bison itself decide if it it recent
	enough of not.
	So far it is the only know Yacc tool that supports '%require'.
	Other yaccs will actually even choke on seeing the -o option after the
	input file name.
	* m4/parse-datetime.m4: Simplify gl_PROG_BISON invocation.

2020-05-02  Bruno Haible  <bruno@clisp.org>

	list: Add get_first, get_last, set_first, set_last operations.
	* lib/gl_list.h (gl_list_get_first, gl_list_get_last,
	gl_list_nx_set_first, gl_list_nx_set_last): New functions.
	* lib/gl_xlist.h (gl_list_set_first, gl_list_set_last): New functions.

2020-05-02  Bruno Haible  <bruno@clisp.org>

	list: Remove redundant code for remove_first and remove_last operations.
	* lib/gl_list.h (struct gl_list_implementation): Remove fields
	remove_first, remove_last.
	(gl_list_remove_first, gl_list_remove_last): Implement in a generic way.
	* lib/gl_array_list.c: Revert last change.
	* lib/gl_carray_list.c: Likewise.
	* lib/gl_anylinked_list2.h: Likewise.
	* lib/gl_linked_list.c: Likewise.
	* lib/gl_linkedhash_list.c: Likewise.
	* lib/gl_anytree_list2.h: Likewise.
	* lib/gl_avltree_list.c: Likewise.
	* lib/gl_avltreehash_list.c: Likewise.
	* lib/gl_rbtree_list.c: Likewise.
	* lib/gl_rbtreehash_list.c: Likewise.
	* lib/gl_sublist.c: Likewise.

2020-05-02  Bruno Haible  <bruno@clisp.org>

	bison-i18n: Add support for cross-compilation.
	Reported by Hongxu Jia <hongxu.jia@windriver.com> in
	<https://lists.gnu.org/archive/html/bison-patches/2016-02/msg00000.html>
	via Akim Demaille <akim@lrde.epita.fr>.
	* m4/bison-i18n.m4 (BISON_I18N): Accept a configure option
	--with-bison-prefix=PREFIX and use it to determine BISON_LOCALEDIR.
	Don't use bison's --print-localedir option when cross-compiling.
	Also, fix an error message and a comment.

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

	list: Add remove_first and remove_last operations.
	Suggested by Marc Nieper-Wißkirchen <marc.nieper+gnu@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-04/msg00092.html>.
	* lib/gl_list.h (struct gl_list_implementation): Add fields
	remove_first, remove_last.
	(gl_list_remove_first, gl_list_remove_last): New functions.
	* lib/gl_array_list.c (gl_array_remove_first, gl_array_remove_last): New
	functions, based on gl_array_remove_at.
	(gl_array_list_implementation): Implement the new operations.
	* lib/gl_carray_list.c (gl_carray_remove_first, gl_carray_remove_last):
	New functions, based on gl_carray_remove_at.
	(gl_carray_list_implementation): Implement the new operations.
	* lib/gl_anylinked_list2.h (gl_linked_remove_first,
	gl_linked_remove_last): New functions, based on gl_linked_remove_at.
	* lib/gl_linked_list.c (gl_linked_list_implementation): Implement the
	new operations.
	* lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation):
	Likewise.
	* lib/gl_anytree_list2.h (gl_tree_remove_first, gl_tree_remove_last):
	New functions, based on gl_tree_remove_at.
	* lib/gl_avltree_list.c (gl_avltree_list_implementation): Implement the
	new operations.
	* lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
	Likewise.
	* lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Likewise.
	* lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation):
	Likewise.
	* lib/gl_sublist.c (gl_sublist_remove_first, gl_sublist_remove_last):
	New functions, based on gl_sublist_remove_at.
	(gl_sublist_list_implementation): Implement the new operations.
	* lib/gl_list.hh (class gl_List): Add methods remove_first,
	remove_last.
	* tests/test-array_list.c (main): Test also gl_list_remove_first and
	gl_list_remove_last.
	* tests/test-avltree_list.c (main): Likewise.
	* tests/test-avltreehash_list.c (main): Likewise.
	* tests/test-carray_list.c (main): Likewise.
	* tests/test-linked_list.c (main): Likewise.
	* tests/test-linkedhash_list.c (main): Likewise.
	* tests/test-rbtree_list.c (main): Likewise.
	* tests/test-rbtreehash_list.c (main): Likewise.

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

	parse-datetime: Fix a build failure with an older bison version.
	* modules/parse-datetime (Makefile.am): Don't do the post-processing of
	parse-datetime.tab.c if a suitable version of bison was not found.

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

	bison: New module.
	* m4/bison.m4 (gl_PROG_BISON): New macro, extracted from
	m4/parse-datetime.m4.
	* m4/parse-datetime.m4 (gl_PARSE_DATETIME): Invoke gl_PROG_BISON.
	* modules/bison: New file.
	* modules/parse-datetime (Files): Remove m4/bison.m4.
	(Depends-on): Add bison.

2020-05-01  Jose E. Marchesi  <jemarch@gnu.org>

	Update users.txt.
	* users.txt: Add poke.

2020-04-28  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addfchdir tests: Enhance test.
	* tests/test-posix_spawn5.c: Include findprog.h.
	(test): New function, extracted from main.
	(main): Invoke it. Also, invoke it with a program name such as
	"bin/pwd".
	* modules/posix_spawn_file_actions_addfchdir-tests (Depends-on): Add
	findprog.

2020-04-28  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addchdir tests: Enhance test.
	* tests/test-posix_spawn4.c: Include findprog.h.
	(test): New function, extracted from main.
	(main): Invoke it. Also, invoke it with a program name such as
	"bin/pwd".
	* modules/posix_spawn_file_actions_addchdir-tests (Depends-on): Add
	findprog.

2020-04-28  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_destroy: Fix a crash (bug from 2019-06-10).
	* lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Don't
	access elements of the wrong union member.

2020-04-27  Bruno Haible  <bruno@clisp.org>

	getdate: Remove deprecated module.
	* modules/getdate: Remove file.
	* doc/getdate.texi: Remove file.
	* lib/getdate.h: Remove file.
	* NEWS: Mention the removal.

2020-04-27  Bruno Haible  <bruno@clisp.org>

	realloc: Remove deprecated module.
	* modules/realloc: Remove file.
	* NEWS: Mention the removal.

2020-04-27  Bruno Haible  <bruno@clisp.org>

	calloc: Remove deprecated module.
	* modules/calloc: Remove file.
	* NEWS: Mention the removal.

2020-04-27  Bruno Haible  <bruno@clisp.org>

	malloc: Remove deprecated module.
	* modules/malloc: Remove file.
	* NEWS: Mention the removal.

2020-04-27  Bruno Haible  <bruno@clisp.org>

	fnmatch-posix: Remove deprecated module.
	* modules/fnmatch-posix: Remove file.
	* MODULES.html.sh (Enhancements for POSIX:2008 functions): Update.
	* NEWS: Mention the removal.

2020-04-27  Bruno Haible  <bruno@clisp.org>

	pipe: Remove deprecated module.
	* modules/pipe: Remove file.
	* lib/pipe.h: Remove file.
	* NEWS: Mention the removal.

2020-04-27  Bruno Haible  <bruno@clisp.org>

	getopt: Remove deprecated module.
	* modules/getopt: Remove file.
	* NEWS: Mention the removal.

2020-04-27  Bruno Haible  <bruno@clisp.org>

	remove-dest-slash: Remove deprecated module.
	* modules/rename-dest-slash: Remove file.
	* MODULES.html.sh (Compatibility checks for POSIX:2008 functions):
	Update.
	* NEWS: Mention the removal.

2020-04-27  Bruno Haible  <bruno@clisp.org>

	unictype/bidicategory-*: Remove deprecated modules.
	* modules/unictype/bidicategory-all: Remove file.
	* modules/unictype/bidicategory-byname: Remove file.
	* modules/unictype/bidicategory-name: Remove file.
	* modules/unictype/bidicategory-of: Remove file.
	* modules/unictype/bidicategory-test: Remove file.
	* MODULES.html.sh (Unicode string functions): Update.
	* NEWS: Mention the removals.

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

	Tune fts for FTS_LOGICAL+FTS_NOSTAT
	From a suggestion by Askar Safin in:
	https://lists.gnu.org/r/bug-gnulib/2020-04/msg00074.html
	* lib/fts.c (fts_build): If file types are known, optimize
	FTS_LOGICAL+FTS_NOSTAT for non-symlinks and non-directories the
	same way that we already optimize FTS_PHYSICAL+FTS_NOSTAT for
	non-directories.

2020-04-19  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Add support for printing wide characters using escapes.
	* lib/vasnprintf.c (ENABLE_WCHAR_FALLBACK): Document optional macro.
	(wctomb_fallback): New function.
	(local_wctomb): New function.
	(local_wcrtomb): New function or macro.
	(MAX_ROOM_NEEDED): Adjust estimate for %lc.
	(VASNPRINTF): Simplify %ls code by use of local_wcrtomb. Add code for
	%lc.

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

	fts: remove NOSTAT_LEAF_OPTIMIZATION
	It caused ‘find’ and ‘du’ to dump core, and it was useful
	only for obsolescent Linux filesystems anyway.  Problem reported in:
	https://lists.gnu.org/r/bug-gnulib/2020-04/msg00068.html
	Quite possibly there is still a serious underlying fts bug with
	tight-loop-check and mutating file systems, but if so this patch
	should cause the bug to be triggered less often.
	* lib/fts.c (enum leaf_optimization): Remove
	NOSTAT_LEAF_OPTIMIZATION, as it’s problematic.
	(S_MAGIC_REISERFS, S_MAGIC_XFS): Remove; no longer needed.
	(leaf_optimization): Remove special cases for ReiserFS and XFS.
	(fts_read): Remove NOSTAT_LEAF_OPTIMIZATION code.
	* lib/fts_.h (struct _ftsent.fts_n_dirs_remaining):
	Remove.  All uses removed.

2020-04-13  Bastien Roucariès  <rouca@debian.org>

	explicit_bzero: Improve code style.
	* lib/explicit_bzero.c (explicit_bzero): Use '\0' instead of 0.

2020-04-13  Bastien Roucariès  <rouca@debian.org>

	explicit_bzero: On native Windows, use SecureZeroMemory().
	* lib/explicit_bzero.c: Include <windows.h>.
	(explicit_bzero): On native Windows, use SecureZeroMemory.

2020-04-13  Bastien Roucariès  <rouca@debian.org>

	explicit_bzero: Use memset_s() when available.
	* lib/explicit_bzero.c (__STDC_WANT_LIB_EXT1__): Define.
	(explicit_bzero): Use memset_s when available.
	* m4/explicit_bzero.m4 (gl_PREREQ_EXPLICIT_BZERO): Test for memset_s.

2020-04-13  Bastien Roucariès  <rouca@debian.org>

	explicit_bzero tests: Fix test failure on OpenBSD 6.5.
	* tests/test-explicit_bzero.c (test_heap): Handle implementations of
	free() that overwrite the memory with canaries.

2020-04-13  Akim Demaille  <akim@lrde.epita.fr>

	bootstrap: recommend git submodule update --init
	Reported by Bruno Haible.
	<https://lists.gnu.org/r/bug-gnulib/2020-03/msg00101.html>
	* build-aux/bootstrap: recommand "git submodule update --init"
	rather than "git submodule init".

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

	explicit_bzero: Add tests.
	* tests/test-explicit_bzero.c: New file.
	* modules/explicit_bzero-tests: New file.

2020-04-11  Bruno Haible  <bruno@clisp.org>

	explicit_bzero: Relicense under LGPLv2+.
	Approved by Paul Eggert.
	* modules/explicit_bzero (License): Change to LGPLv2+.

2020-04-10  Bruno Haible  <bruno@clisp.org>

	findprog, relocatable-prog: Ignore directories during PATH search.
	Reported by Frederick Eaton via Dmitry Goncharov in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00003.html>.

	* lib/findprog.c (find_in_path): When the file found in a PATH element
	is a directory, continue searching.
	* modules/findprog (Depends-on): Add sys_stat, stat.
	* modules/findprog-lgpl (Depends-on): Likewise.

	* lib/progreloc.c (maybe_executable): When the file found in a PATH
	element is a directory, continue searching.
	* lib/relocwrapper.c: Update comments.
	* modules/relocatable-prog-wrapper (Files): Add m4/largefile.m4.
	(configure.ac-early): New section.

2020-04-10  Bruno Haible  <bruno@clisp.org>

	MODULES.html.sh: Support for reproducible builds from git-less tarballs.
	Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00061.html>.
	* MODULES.html.sh: In a git-less tarball, use the date of the first
	ChangeLog entry.

2020-04-04  Bruno Haible  <bruno@clisp.org>

	Fix comments: The gettext library is under LGPL 2.1, not LGPL 2.0.
	* m4/gettext.m4: Fix comments regarding the gettext library.
	* m4/intl-thread-locale.m4: Likewise.
	* m4/intlmacosx.m4: Likewise.
	* m4/lcmessage.m4: Likewise.
	* m4/nls.m4: Likewise.
	* m4/po.m4: Likewise.
	* m4/progtest.m4: Likewise.

2020-04-04  Jim Meyering  <meyering@fb.com>

	maint: remove a stray inter-word space in a 6x-repeated comment
	Induce the changes by running this:
	  re='by  perl'; git grep -l "$re"|xargs perl -pi -e "s/$re/by perl/"
	* build-aux/announce-gen: Change "by  perl" to "by perl".
	* build-aux/gitlog-to-changelog: Likewise.
	* build-aux/prefix-gnulib-mk: Likewise.
	* build-aux/update-copyright: Likewise.
	* build-aux/useless-if-before-free: Likewise.
	* tests/test-update-copyright.sh: Likewise.

2020-03-28  Bruno Haible  <bruno@clisp.org>

	Use module 'filename' instead of module 'dosname'.

	* lib/at-func.c: Include filename.h instead of dosname.h.
	* lib/unlinkat.c: Likewise.
	* modules/areadlinkat (Depends-on): Add filename. Remove dosname.
	* modules/areadlinkat-with-size (Depends-on): Likewise.
	* modules/faccessat (Depends-on): Likewise.
	* modules/fchmodat (Depends-on): Likewise.
	* modules/fchownat (Depends-on): Likewise.
	* modules/fstatat (Depends-on): Likewise.
	* modules/mkdirat (Depends-on): Likewise.
	* modules/mkfifoat (Depends-on): Likewise.
	* modules/readlinkat (Depends-on): Likewise.
	* modules/selinux-at (Depends-on): Likewise.
	* modules/symlinkat (Depends-on): Likewise.
	* modules/unlinkat (Depends-on): Likewise.
	* modules/utimensat (Depends-on): Likewise.

	* lib/at-func2.c: Include filename.h instead of dosname.h.
	* modules/linkat (Depends-on): Add filename. Remove dosname.
	* modules/renameatu (Depends-on): Likewise.

	* lib/canonicalize.c: Include filename.h instead of dosname.h.
	* lib/canonicalize-lgpl.c: Likewise.
	* modules/canonicalize (Depends-on): Add filename.
	* modules/canonicalize-lgpl (Depends-on): Likewise.

	* lib/dirname.h: Include filename.h instead of dosname.h.
	* modules/dirname-lgpl (Depends-on): Add filename. Remove dosname.

	* lib/fchdir.c: Include filename.h instead of dosname.h.
	* modules/fchdir (Depends-on): Add filename. Remove dosname.

	* lib/openat.c: Include filename.h instead of dosname.h.
	* modules/openat (Depends-on): Add filename. Remove dosname.

	* lib/rmdir.c: Include filename.h instead of dosname.h.
	* modules/rmdir (Depends-on): Add filename. Remove dosname.

	* lib/savewd.c: Include filename.h instead of dosname.h.
	* modules/savewd (Depends-on): Add filename. Remove dosname.

	* lib/unlink.c: Include filename.h instead of dosname.h.
	* modules/unlink (Depends-on): Add filename. Remove dosname.

	* modules/relocatable-prog-wrapper (Depends-on): Add filename.
	* lib/relocwrapper.c: Update comments.

	* modules/lstat (Depends-on): Remove dosname.

2020-03-28  Bruno Haible  <bruno@clisp.org>

	dosname: Redirect to 'filename'.
	Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00042.html>.
	* lib/dosname.h: Remove all definitions. Just include filename.h.
	* modules/dosname (Status, Notice): Mark as deprecated.
	(Depends-on): Add 'filename'.

2020-03-28  Bruno Haible  <bruno@clisp.org>

	dosname: Change IS_RELATIVE_FILE_NAME.
	* lib/dosname.h (IS_RELATIVE_FILE_NAME): On native Windows, OS/2, DOS,
	change the definition so that IS_RELATIVE_FILE_NAME("c:") is false.
	* NEWS: Mention the change.

2020-03-28  Bruno Haible  <bruno@clisp.org>

	filename: Copy some definitions from module 'dosname'.
	* lib/filename.h: Include <string.h>, for IS_FILE_NAME_WITH_DIR.
	(HAS_DEVICE): Document macro.
	(FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New macro.
	(IS_ABSOLUTE_FILE_NAME): Consider
	FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE.
	(IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New macros.
	(IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Define as deprecated aliases.
	* lib/relocatable.c (IS_FILE_NAME_WITH_DIR): Renamed from
	IS_PATH_WITH_DIR.
	(DllMain): Update.
	* lib/progreloc.c (IS_FILE_NAME_WITH_DIR): Renamed from
	IS_PATH_WITH_DIR.
	(find_executable): Update.
	* NEWS: Document the deprecations.

2020-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	getopt-posix: port __GETOPT_PREFIX to macOS
	* lib/getopt-pfx-core.h (_GETOPT) [__APPLE__ && __GETOPT_PREFIX]:
	Define to work around a problem with asm on macOS (Bug#40205).

2020-03-22  Bruno Haible  <bruno@clisp.org>

	MODULES.html.sh: Add support for reproducible builds.
	Reported by Bernhard M. Wiedemann <bwiedemann@suse.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00024.html>.
	* MODULES.html.sh: Print the date of the last gnulib commit, not the
	current date.

2020-03-22  Bruno Haible  <bruno@clisp.org>

	Several modules: Depend on stat.
	* modules/acl-permissions (Depends-on): Add stat.
	* modules/canonicalize (Depends-on): Likewise.
	* modules/file-has-acl (Depends-on): Likewise.
	* modules/fstat (Depends-on): Likewise.
	* modules/fstatat (Depends-on): Likewise.
	* modules/glob (Depends-on): Likewise.
	* modules/javacomp (Depends-on): Likewise.
	* modules/linkat (Depends-on): Likewise.
	* modules/mkdir (Depends-on): Likewise.
	* modules/pt_chown (Depends-on): Likewise.
	* modules/ptsname_r (Depends-on): Likewise.
	* modules/readlinkat (Depends-on): Likewise.
	* modules/rename (Depends-on): Likewise.
	* modules/renameatu (Depends-on): Likewise.
	* modules/tmpdir (Depends-on): Likewise.
	* modules/utimens (Depends-on): Likewise.
	* modules/relocatable-prog-wrapper (Depends-on): Add largefile.
	* modules/same (Depends-on): Remove stat.

2020-03-22  Bruno Haible  <bruno@clisp.org>

	acl-permissions: Improve autoconf macro.
	* m4/acl.m4 (gl_FUNC_ACL): Test the value of gl_need_lib_has_acl
	more reliably.

2020-03-22  Bruno Haible  <bruno@clisp.org>

	file-has-acl: Fix module description.
	* modules/file-has-acl (Files): Add lib/acl-internal.h, m4/acl.m4.
	(Depends-on): Depend on acl-permissions unconditionally.

2020-03-21  Bruno Haible  <bruno@clisp.org>

	unlink: Ensure errno also on native Windows.
	* modules/unlink (Depends-on): Add malloc-posix.

2020-03-21  Paul Eggert  <eggert@cs.ucla.edu>

	unlink: fix malloc errno typo
	Problem reported by Tim Rühsen in:
	https://lists.gnu.org/r/bug-gnulib/2020-03/msg00044.html
	* lib/unlink.c (rpl_unlink): Don’t mask malloc errno.

2020-03-16  Bruno Haible  <bruno@clisp.org>

	*printf-posix: Fix m4 error (regression from 2020-03-08).
	* m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): Enable interpretation of
	brackets in AC_COMPILE_IFELSE invocation.

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

	crypto/af_alg, renameatu, same, term-style-control: Depend on fstat.
	* modules/crypto/af_alg (Depends-on): Add fstat.
	* modules/renameatu (Depends-on): Likewise.
	* modules/same (Depends-on): Likewise.
	* modules/term-style-control (Depends-on): Likewise.

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

	*printf-posix: Document why it's overridden on some glibc systems.
	Reported by Adrian Bunk <bunk@stusta.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00011.html>.
	* doc/posix-functions/*printf.texi: Document the problem with the %n
	directive on some glibc systems.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Adjust
	the cross-compilation guesses accordingly.

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

	open, openat: port to (O_RDWR | O_RDONLY) != 0
	Potential portability problem reported by Dan Gohman in:
	https://lists.gnu.org/r/bug-gnulib/2020-03/msg00000.html
	* lib/open.c (open):
	* lib/openat.c (rpl_openat):
	Don’t assume O_RDONLY is disjoint from O_RDWR.

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

	openat: Fix theoretically possible issue on GNU/Hurd.
	Reported by Dan Gohman <sunfish@mozilla.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-03/msg00000.html>.
	* lib/openat.c (rpl_openat): When testing whether flags contains O_RDWR,
	ignore the bits that are also set in O_RDONLY.

2020-02-24  Bruno Haible  <bruno@clisp.org>

	getloadavg: Don't use /usr/local when cross-compiling on AIX.
	Reported by Jens Rehsack <sno@netbsd.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00136.html>.
	* m4/getloadavg.m4 (gl_GETLOADAVG): Don't look in /usr/local/lib when
	cross-compiling.

2020-02-24  Bruno Haible  <bruno@clisp.org>

	fcntl: Add witness of gnulib override.
	Reported by Jens Rehsack <sno@netbsd.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00137.html>.
	* lib/fcntl.in.h (GNULIB_defined_rpl_fcntl, GNULIB_defined_fcntl): New
	macros.

2020-02-23  Assaf Gordon  <assafgordon@gmail.com>

	Update users.txt.
	* users.txt: Add datamash, time.

2020-02-23  Bruno Haible  <bruno@clisp.org>

	uni*/base: Use 'restrict'.
	* lib/unitypes.in.h (_UC_RESTRICT): New macro, based on '_Restrict_'
	from lib/regex.h.
	* lib/unistr.in.h (u8_cpy, u16_cpy, u32_cpy, u8_strcpy, u16_strcpy,
	u32_strcpy, u8_stpcpy, u16_stpcpy, u32_stpcpy, u8_strncpy, u16_strncpy,
	u32_strncpy, u8_stpncpy, u16_stpncpy, u32_stpncpy, u8_strcat,
	u16_strcat, u32_strcat, u8_strncat, u16_strncat, u32_strncat, u8_strtok,
	u16_strtok, u32_strtok): Use '_UC_RESTRICT'.
	* lib/uninorm.in.h (u8_normalize, u16_normalize, u32_normalize): Use
	'_UC_RESTRICT'.
	* lib/uniconv.in.h (u8_conv_to_encoding, u16_conv_to_encoding,
	u32_conv_to_encoding): Use '_UC_RESTRICT'.
	* lib/unicase.in.h (u8_toupper, u16_toupper, u32_toupper, u8_tolower,
	u16_tolower, u32_tolower, u8_totitle, u16_totitle, u32_totitle,
	u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
	u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
	u32_ct_totitle, u8_casefold, u16_casefold, u32_casefold, u8_ct_casefold,
	u16_ct_casefold, u32_ct_casefold, u8_casexfrm, u16_casexfrm,
	u32_casexfrm, ulc_casexfrm): Use '_UC_RESTRICT'.
	* lib/unilbrk.in.h (u8_possible_linebreaks, u16_possible_linebreaks,
	u32_possible_linebreaks, ulc_possible_linebreaks, u8_width_linebreaks,
	u16_width_linebreaks, u32_width_linebreaks, ulc_width_linebreaks): Use
	'_UC_RESTRICT'.
	* lib/uniwbrk.in.h (ulc_wordbreaks): Use '_UC_RESTRICT'.
	* lib/unistdio.in.h (ulc_sprintf, ulc_snprintf, ulc_asnprintf,
	ulc_vsprintf, ulc_vsnprintf, ulc_vasnprintf, u8_u8_sprintf,
	u8_u8_snprintf, u8_u8_asnprintf, u8_u8_vsprintf, u8_u8_vsnprintf,
	u8_u8_vasnprintf, u16_u16_sprintf, u16_u16_snprintf, u16_u16_asnprintf,
	u16_u16_vsprintf, u16_u16_vsnprintf, u16_u16_vasnprintf,
	u32_u32_sprintf, u32_u32_snprintf, u32_u32_asnprintf, u32_u32_vsprintf,
	u32_u32_vsnprintf, u32_u32_vasnprintf): Use '_UC_RESTRICT'.

2020-02-23  Bruno Haible  <bruno@clisp.org>

	glob, spawn: Use improved '_Restrict_' definition.
	* lib/glob.in.h (_Restrict_): Use same definition as in lib/regex.h.
	* lib/spawn.in.h (_Restrict_, _Restrict_arr_): Likewise.

2020-02-23  Bruno Haible  <bruno@clisp.org>

	crypto/gc: Use 'restrict'.
	* lib/gc.h (gc_pbkdf2_hmac, gc_pbkdf2_sha1): Use 'restrict'.
	* m4/gc.m4 (gl_GC): Require AC_C_RESTRICT.

	crypto/hmac-*: Use 'restrict'.
	* lib/hmac.h (hmac_md5, hmac_sha1, hmac_sha256, hmac_sha512): Use
	'restrict'.
	* modules/crypto/hmac-md5 (configure.ac): Require AC_C_RESTRICT.
	* modules/crypto/hmac-sha1 (configure.ac): Likewise.
	* modules/crypto/hmac-sha256 (configure.ac): Likewise.
	* modules/crypto/hmac-sha512 (configure.ac): Likewise.

	crypto/sm3: Use 'restrict'.
	* lib/sm3.h (sm3_finish_ctx, sm3_read_ctx, sm3_buffer): Use 'restrict'.
	* m4/sm3.m4 (gl_SM3): Require AC_C_RESTRICT.

	crypto/*-buffer: Use 'restrict'.
	* lib/gl_openssl.h (GL_CRYPTO_FN (_finish_ctx), GL_CRYPTO_FN (_buffer),
	GL_CRYPTO_FN (_read_ctx)): Use 'restrict'.

	crypto/sha512-buffer: Use 'restrict'.
	* lib/sha512.h (sha512_finish_ctx, sha384_finish_ctx, sha512_read_ctx,
	sha384_read_ctx, sha512_buffer, sha384_buffer): Use 'restrict'.
	* modules/crypto/sha512-buffer (configure.ac): Require AC_C_RESTRICT.

	crypto/sha256-buffer: Use 'restrict'.
	* lib/sha256.h (sha256_finish_ctx, sha224_finish_ctx, sha256_read_ctx,
	sha224_read_ctx, sha256_buffer, sha224_buffer): Use 'restrict'.
	* modules/crypto/sha256-buffer (configure.ac): Require AC_C_RESTRICT.

	crypto/sha1-buffer: Use 'restrict'.
	* lib/sha1.h (sha1_finish_ctx, sha1_read_ctx, sha1_buffer): Use
	'restrict'.
	* modules/crypto/sha1-buffer (configure.ac): Require AC_C_RESTRICT.

	crypto/md5-buffer: Use 'restrict'.
	* lib/md5.h (__md5_finish_ctx, __md5_read_ctx, __md5_buffer): Use
	'restrict'.
	* modules/crypto/md5-buffer (configure.ac): Require AC_C_RESTRICT.

	crypto/md4: Use 'restrict'.
	* lib/md4.h (md4_finish_ctx, md4_read_ctx, md4_buffer): Use 'restrict'.
	* modules/crypto/md4 (configure.ac): Require AC_C_RESTRICT.

	crypto/md2: Use 'restrict'.
	* lib/md2.h (md2_finish_ctx, md2_read_ctx, md2_buffer): Use 'restrict'.
	* modules/crypto/md2 (configure.ac): Require AC_C_RESTRICT.

	crypto/rijndael: Use 'restrict'.
	* lib/rijndael-api-fst.h (rijndaelBlockEncrypt, rijndaelPadEncrypt,
	rijndaelBlockDecrypt, rijndaelPadDecrypt): Use 'restrict'.
	* modules/crypto/rijndael (configure.ac): Require AC_C_RESTRICT.

	crypto/arctwo: Use 'restrict'.
	* lib/arctwo.h (arctwo_encrypt, arctwo_decrypt): Use 'restrict'.
	* modules/crypto/arctwo (configure.ac): Require AC_C_RESTRICT.

	crypto/arcfour: Use 'restrict'.
	* lib/arcfour.h (arcfour_stream): Use 'restrict'.
	* modules/crypto/arcfour (configure.ac): Require AC_C_RESTRICT.

	careadlinkat: Use 'restrict'.
	* lib/careadlinkat.h (careadlinkat): Use 'restrict'.
	* modules/careadlinkat (configure.ac): Require AC_C_RESTRICT.
	* modules/relocatable-prog-wrapper (configure.ac): Likewise.

	regex-quote: Use 'restrict'.
	* lib/regex-quote.h (regex_quote_copy): Use 'restrict'.
	* modules/regex-quote (configure.ac): Require AC_C_RESTRICT.

	system-quote: Use 'restrict'.
	* lib/system-quote.h (system_quote_copy): Use 'restrict'.
	* modules/system-quote (configure.ac): Require AC_C_RESTRICT.

	sh-quote: Use 'restrict'.
	* lib/sh-quote.h (shell_quote_copy): Use 'restrict'.
	* modules/sh-quote (configure.ac): Require AC_C_RESTRICT.

	quotearg: Use 'restrict'.
	* lib/quotearg.h (quotearg_buffer): Use 'restrict'.
	* m4/quotearg.m4 (gl_QUOTEARG): Require AC_C_RESTRICT.

	parse-datetime: Use 'restrict'.
	* lib/parse-datetime.h (parse_datetime, parse_datetime2): Use
	'restrict'.
	* m4/parse-datetime.m4 (gl_PARSE_DATETIME): Require AC_C_RESTRICT.

	nstrftime: Use 'restrict'.
	* lib/strftime.h (nstrftime): Use 'restrict'.
	* m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Require AC_C_RESTRICT.

	mbstok_r: Use 'restrict'.
	* lib/string.in.h (mbstok_r): Use 'restrict'.

	xmemcoll: Use 'restrict'.
	* lib/xmemcoll.h (xmemcoll): Use 'restrict'.
	* modules/xmemcoll (configure.ac): Require AC_C_RESTRICT.

	memcoll: Use 'restrict'.
	* lib/memcoll.h (memcoll): Use 'restrict'.
	* m4/memcoll.m4 (gl_MEMCOLL): Require AC_C_RESTRICT.

	vasnprintf: Use 'restrict'.
	* lib/vasnprintf.h (asnprintf, vasnprintf): Use 'restrict'.
	* modules/vasnprintf (configure.ac): Require AC_C_RESTRICT.

	c-vasnprintf: Use 'restrict'.
	* lib/c-vasnprintf.h (c_vasnprintf): Use 'restrict'.
	* modules/c-vasnprintf (configure.ac): Require AC_C_RESTRICT.

	c-vsnprintf: Use 'restrict'.
	* lib/c-vsnprintf.h (c_vsnprintf): Use 'restrict'.
	* modules/c-vsnprintf (configure.ac): Require AC_C_RESTRICT.

	c-snprintf: Use 'restrict'.
	* lib/c-snprintf.h (c_snprintf): Use 'restrict'.
	* modules/c-snprintf (configure.ac): Require AC_C_RESTRICT.

	astrxfrm: Use 'restrict'.
	* lib/astrxfrm.h (astrxfrm): Use 'restrict'.
	* modules/astrxfrm (configure.ac): Require AC_C_RESTRICT.

	amemxfrm: Use 'restrict'.
	* lib/amemxfrm.h (amemxfrm): Use 'restrict'.
	* modules/amemxfrm (configure.ac): Require AC_C_RESTRICT.

2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>

	fchmodat, lchmod: simplify
	It appears that we may have overengineered lchmod and fchmodat,
	in that the code was prepared for some hypothetical platforms but
	was so complicated that it was hard to understand.  I attempted to
	improve the situation by simplifying the code when this
	simplification should not hurt on real platforms; we can re-add
	complexity later to port to platforms I didn’t know about.
	* lib/fchmodat.c (fchmodat):
	* lib/lchmod.c (lchmod):
	Put the ‘defined __linux__ || defined __ANDROID__’ #ifdef only
	around the /proc code that needs it.
	* lib/fchmodat.c (fchmodat): Coalese calls to orig_fchmodat.
	* lib/lchmod.c (__need_system_sys_stat_h): Omit; no longer needed.
	Do not include <config.h> twice.
	(orig_lchmod) [HAVE_LCHMOD]: Remove, since we need not wrap
	lchmod on any known hosts.
	(lchmod): Do not defer to fchmodat, so that the lchmod module
	need not depend on the fchmodat module (which is a circular
	dependency).  Do not use openat, since ‘open’ suffices.
	Coalesce calls to lchmod/chmod.
	* lib/lchmod.c, lib/sys_stat.in.h (lchmod):
	* m4/sys_stat_h.m4 (REPLACE_FSTAT):
	* modules/lchmod (Depends-on, configure.ac):
	* modules/sys_stat (Depends-on):
	Do not worry about replacing lchmod, since that shouldn’t happen.
	* m4/lchmod.m4 (gl_FUNC_LCHMOD): Do not check for fchmodat.
	Do not worry about whether lchmod works on non-symlinks,
	since every known lchmod works on non-symlinks.
	* modules/lchmod (Depends-on):
	Remove circular dependency on fchmodat.

2020-02-22  Bruno Haible  <bruno@clisp.org>

	lchmod: Fix link error on Solaris 10 (regression from 2020-02-16).
	* lib/lchmod.c (lchmod): Use the code with lstat and chmod also when
	NEED_LCHMOD_NONSYMLINK_FIX is not defined.

2020-02-22  Bruno Haible  <bruno@clisp.org>

	Use 'restrict' in all POSIX function declarations.
	* lib/iconv.in.h (iconv): Use 'restrict'.
	* lib/inttypes.in.h (strtoimax, strtoumax): Likewise.
	* lib/monetary.in.h (strfmon_l): Likewise.
	* lib/pthread.in.h (pthread_create, pthread_mutex_init,
	pthread_mutexattr_gettype, pthread_mutexattr_getrobust,
	pthread_mutex_timedlock, pthread_rwlock_init,
	pthread_rwlock_timedrdlock, pthread_rwlock_timedwrlock,
	pthread_cond_init, pthread_cond_wait, pthread_cond_timedwait): Likewise.
	* lib/search.in.h (tdelete): Likewise.
	* lib/signal.in.h (pthread_sigmask, sigprocmask): Likewise.
	* lib/stdio.in.h (dprintf, fgets, fopen, fprintf, fputs, fread, freopen,
	fscanf, fwrite, getdelim, getline, printf, scanf, snprintf, sprintf,
	vdprintf, vfprintf, vfscanf, vprintf, vscanf, vsnprintf, vsprintf):
	Likewise.
	* lib/stdlib.in.h (mbtowc, realpath, strtod, strtold, strtoll,
	strtoull): Likewise.
	* lib/string.in.h (strncat): Likewise.
	* lib/sys_socket.in.h (accept, getpeername, getsockname, getsockopt,
	recvfrom): Likewise.
	* lib/sys_stat.in.h (fstatat, lstat, stat): Likewise.
	* lib/time.in.h (strftime): Likewise.
	* lib/unistd.in.h (readlink, readlinkat): Likewise.
	* lib/wchar.in.h (mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs, wcrtomb,
	wcsrtombs, wcsnrtombs, wmemcpy, wcscpy, wcpcpy, wcsncpy, wcpncpy,
	wcscat, wcsncat, wcsxfrm, wcsstr, wcstok, wcsftime): Likewise.
	* m4/iconv_h.m4 (gl_ICONV_H): Require AC_C_RESTRICT.
	* m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Likewise.
	* m4/monetary_h.m4 (gl_MONETARY_H): Likewise.
	* m4/search_h.m4 (gl_SEARCH_H): Likewise.
	* m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
	* m4/stdio_h.m4 (gl_STDIO_H): Likewise.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
	* m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
	* m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Make consistent with the
	other *_h.m4 files.
	* m4/time_h.m4 (gl_HEADER_TIME_H): Likewise.

2020-02-22  Bruno Haible  <bruno@clisp.org>

	Update NEWS.
	* NEWS: Mention the last change.

2020-02-22  Paul Eggert  <eggert@cs.ucla.edu>

	chmodat, chownat: new modules
	These are split from fchmodat, fchownat.  GNU Emacs needs the
	POSIX-specified fchmodat, but not the gnulib-specified chmodat and
	lchmodat.  Split the latter two into a new module chmodat.
	Similarly for fchownat.  This the same basic idea for why statat
	was split from fstatat on 2013-01-23.
	* lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
	Rename from FCHMODAT_INLINE.  All uses changed.
	* lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
	Rename from FCHOWNAT_INLINE.  All uses changed.
	* lib/openat.h:
	(chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
	(chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
	* modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
	* modules/fchmodat (Files:): Remove lib/fchmodat.c.
	(configure.ac): Remove fchmodat module indicator.
	(Makefile.am): Omit chmodat.c.
	(Maintainer): Add self.
	* modules/fchownat: Similarly, but for chown.
	* tests/test-fchownat.c (BASE): Don't define if already defined.
	(do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.

2020-02-22  Bruno Haible  <bruno@clisp.org>

	users.txt: Add groff.
	Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is>.
	* users.txt: Add groff.

2020-02-22  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Ensure copied files are writable.
	Reported by Benno Fünfstück <benno.fuenfstueck@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00101.html>.
	* gnulib-tool (func_ensure_writable): New function.
	(func_ln_s, func_hardlink, func_lookup_file, func_import,
	func_create_testdir, copy-file): Invoke it after copying a file.

2020-02-22  Bruno Haible  <bruno@clisp.org>

	users.txt: Update.
	* users.txt: Update URLs to projects that have moved or switched to git.
	Use canonical host names. Prefer gitweb over cgit. Prefer the tree view
	over the summary view. Add gawk.

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

	largefile: remove _DARWIN_USE_64_BIT_INODE
	It’s not needed in currently-supported macOS versions, and was
	problematic anyway in MacOS X 10.5 which was the only version that
	could use it.  Problem reported by Peter Eisentraut in:
	https://lists.gnu.org/r/bug-autoconf/2020-02/msg00004.html
	* m4/largefile.m4 (AC_SYS_LARGEFILE):
	Don’t define _DARWIN_USE_64_BIT_INODE.
	This syncs with Autoconf master.

	Add ‘extern "C"’ to count-one-bits.h etc.
	This ports these .h files to C++.
	Problem reported by Simon Marchi in:
	https://lists.gnu.org/r/bug-gnulib/2020-02/msg00110.html
	* lib/count-leading-zeros.h, lib/count-one-bits.h:
	* lib/count-trailing-zeros.h: Add ‘extern "C"’.

2020-02-19  Bruno Haible  <bruno@clisp.org>

	uninorm/decompose-internal: Avoid "no previous prototype" warning.
	Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00105.html>.
	* lib/array-mergesort.h: Accept an optional macro definition
	STATIC_FROMTO.
	* lib/uninorm/decompose-internal.c (STATIC_FROMTO): New macro.

2020-02-16  Bruno Haible  <bruno@clisp.org>

	fchmodat: Make more future-proof.
	* m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Define
	NEED_FCHMODAT_NONSYMLINK_FIX.
	(gl_PREREQ_FCHMODAT): New macro.
	* lib/fchmodat.c (fchmodat): Test NEED_FCHMODAT_NONSYMLINK_FIX. Access
	/proc only on Linux. Return EOPNOTSUPP only on Linux and on platforms
	without lchmod function.
	* modules/fchmodat (configure.ac): Invoke gl_PREREQ_FCHMODAT.

2020-02-16  Bruno Haible  <bruno@clisp.org>

	lchmod: Make more future-proof.
	* m4/lchmod.m4 (gl_FUNC_LCHMOD): Define NEED_LCHMOD_NONSYMLINK_FIX.
	(gl_PREREQ_LCHMOD): New macro.
	* lib/lchmod.c (orig_lchmod): New function.
	(lchmod): Test NEED_LCHMOD_NONSYMLINK_FIX. Access /proc only on Linux.
	Return EOPNOTSUPP only on Linux and on platforms without lchmod
	function.
	* modules/lchmod (configure.ac): Invoke gl_PREREQ_LCHMOD.

	lchmod: Fix buggy override on macOS, HP-UX (regression from 2020-02-08).
	* modules/lchmod (Makefile.am): Don't add lchmod.c to lib_SOURCES.

2020-02-16  Paul Eggert  <eggert@cs.ucla.edu>

	xnanosleep: prefer pause, and get remaining time
	Problem reported by Vladimir Panteleev in:
	https://lists.gnu.org/r/bug-gnulib/2020-02/msg00052.html
	* lib/xnanosleep.c: Include intprops.h, unistd.h.
	(xnanosleep) [HAVE_PAUSE]: Prefer pause when sleeping infinitely.
	(xnanosleep): Obtain remaining time when nanosleep is interrupted.
	* m4/xnanosleep.m4 (gl_XNANOSLEEP): Check for 'pause'.
	* modules/xnanosleep (Depends-on): Add intprops, unistd.

2020-02-16  Bruno Haible  <bruno@clisp.org>

	lchmod: Improve cross-compilation guess.
	* m4/lchmod.m4 (gl_FUNC_LCHMOD): Require AC_CANONICAL_HOST. When
	cross-compiling, guess depending on the platform.

2020-02-16  Bruno Haible  <bruno@clisp.org>

	fstrcmp: Add API to clean up resources.
	Reported by Akim Demaille <akim@lrde.epita.fr> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00080.html>.
	* lib/fstrcmp.h (fstrcmp_free_resources): New declaration.
	* lib/fstrcmp.c (fstrcmp_free_resources): New function.

2020-02-14  Bruno Haible  <bruno@clisp.org>

	wctype-h: Fix compilation errors in C++ (regression from 2020-01-25).
	Reported by Christian Biesinger in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-02/msg00064.html>.
	* lib/wctype.in.h (iswdigit, iswxdigit): Don't declare if the
	corresponding module is not enabled.
	* tests/test-wctype-h-c++.cc (iswdigit, iswxdigit): Don't check the
	prototype if the corresponding module is not enabled.

2020-02-13  Paul Eggert  <eggert@cs.ucla.edu>

	fchmodat, lchmod: port to buggy Linux filesystems
	Problem reported by Florian Weimer in:
	https://www.sourceware.org/ml/libc-alpha/2020-02/msg00534.html
	* lib/fchmodat.c (fchmodat):
	* lib/lchmod.c (lchmod):
	Don’t assume that chmod on the O_PATH-opened fd will do
	the right thing on a symbolic link.
	* lib/fchmodat.c (fchmodat):
	Don’t attempt to special-case
	any flag value other than AT_SYMLINK_NOFOLLOW.

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

	lchmod: pacify Coverity CID 1491216
	* lib/lchmod.c (lchmod): Redo #if nesting so that Coverity does
	not complain about unreachable code at the ‘struct stat st;’
	declaration.

2020-02-10  Bruno Haible  <bruno@clisp.org>

	copysignf: Fix link error on HP-UX with cc.
	* m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Require AC_CANONICAL_HOST. On
	HP-UX, set COPYSIGNF_LIBM to -lm.

2020-02-10  Bruno Haible  <bruno@clisp.org>

	pthread-mutex-tests, pthread-rwlock-tests: Fix link errors on HP-UX.
	* modules/pthread-mutex-tests (Makefile.am): Link test-pthread-mutex
	with $(LIB_SEMAPHORE).
	* modules/pthread-rwlock-tests (Makefile.am): Link test-pthread-rwlock
	with $(LIB_SEMAPHORE).

2020-02-10  Bruno Haible  <bruno@clisp.org>

	ptsname_r-tests: Avoid unused function warning.
	* tests/test-ptsname_r.c: Don't include null-ptr.h if we don't need it.

2020-02-08  Bruno Haible  <bruno@clisp.org>

	lchmod: Add tests.
	* tests/test-lchmod.c: New file.
	* modules/lchmod-tests: New file.

2020-02-08  Bruno Haible  <bruno@clisp.org>

	lchmod: Ensure declaration on HP-UX.
	* lib/sys_stat.in.h (lchown): Declare also on HP-UX.
	* doc/glibc-functions/lchmod.texi: Mention the HP-UX problem.

2020-02-08  Bruno Haible  <bruno@clisp.org>

	fchmodat: Strengthen tests.
	* tests/test-fchmodat.c (BASE): New macro.
	(main): Use it, to avoid conflicts with other unit tests. Verify that
	fchmodat changed the file permission bits.

2020-02-08  Bruno Haible  <bruno@clisp.org>

	fchmodat: Fix endless recursion on Cygwin (regression from 2020-02-07).
	* lib/fchmodat.c (orig_fchmodat): Move definition to immediately after
	'#undef __need_system_sys_stat_h'.

2020-02-08  Bruno Haible  <bruno@clisp.org>

	fchmodat: Improve cross-compilation guesses.
	* m4/fchmodat.m4 (gl_FUNC_FCHMODAT): Require AC_CANONICAL_HOST. When
	cross-compiling, guess depending on the platform.
	* doc/posix-functions/fchmodat.texi: Clarify.

2020-02-08  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors in a testdir created with --with-c++-tests.
	* lib/c++defs.h (_GL_CXXALIASWARN1_2): Do not use __typeof__ (func),
	since it does not work any more with g++ >= 4.4.

2020-02-08  Bruno Haible  <bruno@clisp.org>

	doc: Update for glibc 2.31.
	* doc/glibc-functions/pthread_clockjoin_np.texi: New file.
	* doc/gnulib.texi: Include it.
	* doc/pastposix-functions/h_errno.texi: Update.
	* doc/posix-functions/*.texi: Likewise.

2020-02-08  Kenneth D'souza  <kdsouza@redhat.com>

	mountlist: consider smb3 file systems as remote
	* lib/mountlist.c (ME_REMOTE): Recognize file systems of type
	"smb3" as remote.

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

	fchmodat: AT_SYMLINK_NOFOLLOW fix for non-symlinks
	Fix lchmod, and fchmodat with AT_SYMLINK_NOFOLLOW, so that
	they act like chmod on non-symlinks.
	* NEWS:
	* doc/glibc-functions/lchmod.texi (lchmod):
	* doc/posix-functions/fchmodat.texi (fchmodat):
	Mention this.
	* lib/fchmodat.c: Define __need_system_sys_stat_h before including
	config.h, and undef it after including sys/stat.h the first time.
	Include fcntl.h, stdio.h, unistd.h, intprops.h, and include
	sys/stat.h a second time after defining orig_fchmodat.
	(orig_fchmodat) [HAVE_FCHMODAT]: New function.
	(fchmodat) [HAVE_FCHMODAT]: Work around the AT_SYMLINK_NOFOLLOW bug.
	* lib/lchmod.c: New file.
	* lib/sys_stat.in.h (fchmodat, lchmod):
	Support replacing these functions.
	* m4/fchmodat.m4 (gl_FUNC_FCHMODAT): If fchmodat exists,
	test that AT_SYMLINK_NOFOLLOW works on non-symlinks.
	* m4/lchmod.m4 (gl_FUNC_LCHMOD): Check for lstat.
	Test that lchmod works on non-symlinks.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS):
	Default REPLACE_FCHMODAT and REPLACE_LCHMOD to 0.
	* modules/fchmodat (Depends-on): Add fstatat, intprops, lchmod, unistd.
	(Depends-on, configure.ac): Check REPLACE_FCHMODAT too.
	* modules/lchmod (Files): Add lib/lchmod.c.
	(Depends-on): Add errno, fcntl-h, fchmodat, intprops, lstat, unistd.
	(configure.ac): Compile lchmod.c if needed.
	(lib_SOURCES): Add lchmod.c.
	* modules/sys_stat (sys/stat.h): Substitute REPLACE_FCHMODAT
	and REPLACE_LCHMOD.
	* tests/test-fchmodat.c: Include fcntl.h, sys/stat.h.
	(main): Test fchmodat with AT_SYMLINK_NOFOLLOW on non-symlinks.

2020-02-05  Marc Dionne  <marc.dionne@auristor.com>  (tiny change)

	mountlist: Consider AFS filesystems as remote
	df --local relies on the ME_REMOTE macro to determine if a given
	mount entry should be considered "local".  There is special logic
	for nfs and smb/cifs mounts, but /afs as mounted by OpenAFS, the
	kernel's kafs module or AuriStorFS is treated as a local mount.
	* lib/mountlist.c (ME_REMOTE): Treat mounts of type 'afs'
	(OpenAFS, kernel kafs) and 'auristorfs' (AuriStorFS) as remote.

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

	Port _Noreturn to older Clang
	Problem reported by Jeffery Walton in:
	https://lists.gnu.org/r/bug-gnulib/2020-02/msg00013.html
	* lib/_Noreturn.h (_Noreturn):
	* m4/gnulib-common.m4 (gl_COMMON_BODY):
	Assume _Noreturn works in Clang 3.5 and later.
	It is documented to work in Clang 3.5:
	http://releases.llvm.org/3.5.0/tools/clang/docs/AttributeReference.html
	and is not documented in Clang 3.4:
	https://releases.llvm.org/3.4/tools/clang/docs/LanguageExtensions.html
	Apple sets __clang_version__ to a different value, so use
	__apple_build_version__ there.  See:
	https://lists.gnu.org/r/bug-gnulib/2020-02/msg00017.html

2020-02-04  Pádraig Brady  <P@draigBrady.com>

	test-canonicalize: avoid unused function warning
	* tests/test-canonicalize.c: Protect the inclusion of null-ptr.h
	with the same guard as that used to protect usage of the null_ptr
	function, so that one doesn't get a -Wunused warning.
	* tests/test-canonicalize-lgpl.c: Likewise.

2020-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	libc-config: port to Apple’s Clang variant
	* lib/libc-config.h (__glibc_clang_prereq):
	Port to Apple’s Clang variant, which uses a different
	numbering scheme for __clang_major__.

2020-02-02  Bruno Haible  <bruno@clisp.org>

	Document the new modules list-c++, set-c++, oset-c++, map-c++, omap-c++.
	* doc/containers.texi: Document these new modules.

2020-02-02  Bruno Haible  <bruno@clisp.org>

	omap-c++: Add tests.
	* tests/test-omap-c++.cc: New file.
	* modules/omap-c++-tests: New file.

	omap-c++: New module.
	* lib/gl_omap.hh: New file, based on lib/gl_omap.h.
	* modules/omap-c++: New file.

2020-02-02  Bruno Haible  <bruno@clisp.org>

	map-c++: Add tests.
	* tests/test-map-c++.cc: New file.
	* modules/map-c++-tests: New file.

	map-c++: New module.
	* lib/gl_map.hh: New file, based on lib/gl_map.h.
	* modules/map-c++: New file.

2020-02-02  Bruno Haible  <bruno@clisp.org>

	oset-c++: Add tests.
	* tests/test-oset-c++.cc: New file.
	* modules/oset-c++-tests: New file.

	oset-c++: New module.
	* lib/gl_oset.hh: New file, based on lib/gl_oset.h.
	* modules/oset-c++: New file.

2020-02-02  Bruno Haible  <bruno@clisp.org>

	set-c++: Add tests.
	* tests/test-set-c++.cc: New file.
	* modules/set-c++-tests: New file.

	set-c++: New module.
	* lib/gl_set.hh: New file, based on lib/gl_set.h.
	* modules/set-c++: New file.

2020-02-02  Bruno Haible  <bruno@clisp.org>

	list-c++: Add tests.
	* tests/test-list-c++.cc: New file.
	* modules/list-c++-tests: New file.

	list-c++: New module.
	* lib/gl_list.hh: New file, based on lib/gl_list.h.
	* modules/list-c++: New file.

2020-02-02  Bruno Haible  <bruno@clisp.org>

	xalloc: Fix compilation error in C++ mode on FreeBSD 12.
	* lib/xalloc.h (xalloc_die): Comment out 'extern' keyword before
	'_Noreturn'.
	* lib/sigpipe-die.h (sigpipe_die): Likewise.

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

	read-file: reduce max size from SIZE_MAX to PTRDIFF_MAX
	On x86_64 with glibc-2.30, gcc 9.2 is giving:
	  error: argument 2 value '18446744073709551615'
	  exceeds maximum object size 9223372036854775807
	  [-Werror=alloc-size-larger-than=]
	The details of this restriction are discussed at:
	https://stackoverflow.com/q/42574890/4421
	* lib/read-file.c: s/SIZE_MAX/PTRDIFF_MAX/

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

	sysctl.h: avoid including on glibc
	* lib/nproc.c: Avoid including deprecated and unneeded header on GLIBC.
	* lib/physmem.c: Likewise.

2020-02-02  Bruno Haible  <bruno@clisp.org>

	list, set, oset, map, omap: Avoid imperative voice in documentation.
	* lib/gl_list.h: Use descriptive sentences instead of imperative voice
	in the specification of functions.
	* lib/gl_set.h: Likewise.
	* lib/gl_oset.h: Likewise.
	* lib/gl_map.h: Likewise.
	* lib/gl_omap.h: Likewise.
	* lib/gl_*.h: Likewise.

2020-02-01  Bruno Haible  <bruno@clisp.org>

	ansi-c++-opt: Set CXXFLAGS to "-g -O2" by default.
	* m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Determine CXXFLAGS like AC_PROG_CXX
	does.

2020-01-29  Bruno Haible  <bruno@clisp.org>

	array-map, hash-map, linkedhash-map: Fix module description.
	* modules/array-map (Description): Fix description.
	* modules/hash-map (Description): Likewise.
	* modules/linkedhash-map (Description): Likewise.

2020-01-29  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: do not depend on isblank
	This removes a difference between Gawk dfa.c and Gnulib dfa.c.
	* lib/dfa.c (isblank): Define if neither system nor Gnulib does.
	* modules/dfa (Depends-on): Remove isblank.
	* modules/isblank: Add a module indicator, for lib/dfa.c.

	dfa: do not assume 64-bit int
	Problem reported for VAX/VMS C (!) by Arnold Robbins in:
	https://lists.gnu.org/r/bug-gnulib/2020-01/msg00173.html
	* lib/dfa.c (CHARCLASS_PAIR): Bring back this macro.
	(CHARCLASS_WORD_BITS, charclass_word) [!UINT_LEAST64_MAX]:
	Fall back to 32-bit words.
	(CHARCLASS_INIT): Go back to having 8 32-bit args instead
	of 4 64-bit args.  All uses changed.

2020-01-27  Paul Eggert  <eggert@cs.ucla.edu>

	regex: remove limits-h dependency
	* modules/regex (Depends-on): Remove limits-h, since the
	code no longer depends on ULONG_WIDTH already being defined.

	regex: port to non-GCC pre-IEC-60559
	Problem reported by Arnold Robbins in:
	https://lists.gnu.org/r/bug-gnulib/2020-01/msg00154.html
	* lib/regex_internal.h (ULONG_WIDTH): Make this usable in #if.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	c32isxdigit: Add tests.
	* tests/test-c32isxdigit.c: New file, based on tests/test-iswxdigit.c.
	* tests/test-c32isxdigit.sh: New file.
	* modules/c32isxdigit-tests: New file.

	c32isxdigit: New module.
	* lib/c32isxdigit.c: New file.
	* modules/c32isxdigit: New file.
	* doc/posix-functions/iswxdigit.texi: Mention the new module.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	c32isupper: Add tests.
	* tests/test-c32isupper.c: New file.
	* tests/test-c32isupper.sh: New file.
	* modules/c32isupper-tests: New file.

	c32isupper: New module.
	* lib/c32isupper.c: New file.
	* modules/c32isupper: New file.
	* doc/posix-functions/iswupper.texi: Mention the new module.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	c32isspace: Add tests.
	* tests/test-c32isspace.c: New file.
	* tests/test-c32isspace.sh: New file.
	* modules/c32isspace-tests: New file.

	c32isspace: New module.
	* lib/c32isspace.c: New file.
	* modules/c32isspace: New file.
	* doc/posix-functions/iswspace.texi: Mention the new module.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	c32ispunct: Add tests.
	* tests/test-c32ispunct.c: New file.
	* tests/test-c32ispunct.sh: New file.
	* modules/c32ispunct-tests: New file.

	c32ispunct: New module.
	* lib/c32ispunct.c: New file.
	* modules/c32ispunct: New file.
	* doc/posix-functions/iswpunct.texi: Mention the new module.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	c32isprint: Add tests.
	* tests/test-c32isprint.c: New file.
	* tests/test-c32isprint.sh: New file.
	* modules/c32isprint-tests: New file.

	c32isprint: New module.
	* lib/c32isprint.c: New file.
	* modules/c32isprint: New file.
	* doc/posix-functions/iswprint.texi: Mention the new module.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	c32islower: Add tests.
	* tests/test-c32islower.c: New file.
	* tests/test-c32islower.sh: New file.
	* modules/c32islower-tests: New file.

	c32islower: New module.
	* lib/c32islower.c: New file.
	* modules/c32islower: New file.
	* doc/posix-functions/iswlower.texi: Mention the new module.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	c32isgraph: Add tests.
	* tests/test-c32isgraph.c: New file.
	* tests/test-c32isgraph.sh: New file.
	* modules/c32isgraph-tests: New file.

	c32isgraph: New module.
	* lib/c32isgraph.c: New file.
	* modules/c32isgraph: New file.
	* doc/posix-functions/iswgraph.texi: Mention the new module.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	c32isdigit: Add tests.
	* tests/test-c32isdigit.c: New file, based on tests/test-iswdigit.c.
	* tests/test-c32isdigit.sh: New file.
	* modules/c32isdigit-tests: New file.

	c32isdigit: New module.
	* lib/c32isdigit.c: New file.
	* modules/c32isdigit: New file.
	* doc/posix-functions/iswdigit.texi: Mention the new module.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	c32iscntrl: Add tests.
	* tests/test-c32iscntrl.c: New file.
	* tests/test-c32iscntrl.sh: New file.
	* modules/c32iscntrl-tests: New file.

	c32iscntrl: New module.
	* lib/c32iscntrl.c: New file.
	* modules/c32iscntrl: New file.
	* doc/posix-functions/iswcntrl.texi: Mention the new module.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	c32isblank: Add tests.
	* tests/test-c32isblank.c: New file.
	* tests/test-c32isblank.sh: New file.
	* modules/c32isblank-tests: New file.

	c32isblank: New module.
	* lib/c32isblank.c: New file.
	* modules/c32isblank: New file.
	* doc/posix-functions/iswblank.texi: Mention the new module.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	c32isalpha: Add tests.
	* tests/test-c32isalpha.c: New file.
	* tests/test-c32isalpha.sh: New file.
	* modules/c32isalpha-tests: New file.

	c32isalpha: New module.
	* lib/c32isalpha.c: New file.
	* modules/c32isalpha: New file.
	* doc/posix-functions/iswalpha.texi: Mention the new module.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	c32isalnum: Add tests.
	* tests/test-c32isalnum.c: New file.
	* tests/test-c32isalnum.sh: New file.
	* modules/c32isalnum-tests: New file.

	c32isalnum: New module.
	* lib/c32isalnum.c: New file.
	* lib/c32is-impl.h: New file.
	* modules/c32isalnum: New file.
	* doc/posix-functions/iswalnum.texi: Mention the new module.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	uchar: Preparations for modules c32isalnum, ..., c32isxdigit.
	* lib/uchar.in.h (c32isalnum, c32isalpha, c32isblank, c32iscntrl,
	c32isdigit, c32isgraph, c32islower, c32isprint, c32ispunct, c32isspace,
	c32isupper, c32isxdigit): New declarations.
	* m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32ISALNUM,
	GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
	GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
	GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
	GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
	* modules/uchar (Makefile.am): Substitute GNULIB_C32ISALNUM,
	GNULIB_C32ISALPHA, GNULIB_C32ISBLANK, GNULIB_C32ISCNTRL,
	GNULIB_C32ISDIGIT, GNULIB_C32ISGRAPH, GNULIB_C32ISLOWER,
	GNULIB_C32ISPRINT, GNULIB_C32ISPUNCT, GNULIB_C32ISSPACE,
	GNULIB_C32ISUPPER, GNULIB_C32ISXDIGIT.
	* tests/test-uchar-c++.cc: Test the signature of c32isalnum, c32isalpha,
	c32isblank, c32iscntrl, c32isdigit, c32isgraph, c32islower, c32isprint,
	c32ispunct, c32isspace, c32isupper, c32isxdigit.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	mbchar, wctype: Use the corrected iswxdigit function.
	* modules/mbchar (Depends-on): Add iswxdigit.
	* modules/wctype (Depends-on): Likewise.

	iswxdigit: Add tests.
	* tests/test-iswxdigit.c: New file.
	* tests/test-iswxdigit.sh: New file.
	* modules/iswxdigit-tests: New file.

	iswxdigit: New module.
	* m4/iswxdigit.m4: New file.
	* lib/wctype.in.h (iswxdigit): Potentially override.
	(iswxdigit, rpl_iswxdigit): Test REPLACE_ISWXDIGIT, not
	REPLACE_ISWCNTRL. Rely on ISO C compliant definition.
	* lib/iswxdigit.c: New file.
	* m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWXDIGIT,
	REPLACE_ISWXDIGIT.
	* modules/wctype-h (Makefile.am): Substitute GNULIB_ISWXDIGIT,
	REPLACE_ISWXDIGIT.
	* modules/iswxdigit: New file.
	* doc/posix-functions/iswxdigit.texi: Mention the portability problem.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	lseek: Fix the override to not undo the effects of AC_SYS_LARGEFILE.
	Reported by John Donoghue <john.david.donoghue@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00146.html>.
	* lib/lseek.c (rpl_lseek): When AC_SYS_LARGEFILE has enabled a 64-bit
	off_t on mingw, invoke _lseeki64 instead of lseek.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	iswdigit tests: Avoid test failure on Cygwin.
	* tests/test-iswdigit.c (for_character): If mbrtowc cannot convert the
	byte sequence, return 0.

	iswdigit: Fix test failure on native Windows.
	* lib/wctype.in.h (rpl_iswdigit): Rely on ISO C compliant definition.

	mbchar, wctype: Use the corrected iswdigit function.
	* modules/mbchar (Depends-on): Add iswdigit.
	* modules/wctype (Depends-on): Likewise.

	iswdigit: Add tests.
	* tests/test-iswdigit.c: New file.
	* tests/test-iswdigit.sh: New file.
	* modules/iswdigit-tests: New file.

	iswdigit: New module.
	* m4/iswdigit.m4: New file.
	* lib/wctype.in.h (iswdigit): Potentially override.
	(iswdigit, rpl_iswdigit): Test REPLACE_ISWDIGIT, not REPLACE_ISWCNTRL.
	* lib/iswdigit.c: New file.
	* m4/wctype_h.m4 (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWDIGIT,
	REPLACE_ISWDIGIT.
	* modules/wctype-h (Makefile.am): Substitute GNULIB_ISWDIGIT,
	REPLACE_ISWDIGIT.
	* modules/iswdigit: New file.
	* doc/posix-functions/iswdigit.texi: Mention the portability problem.

2020-01-25  Bruno Haible  <bruno@clisp.org>

	hard-locale tests: Make it easy to reuse the musl test.
	* m4/musl.m4: New file, extracted from modules/hard-locale-tests.
	* modules/hard-locale-tests (Files): Add it.
	(configure.ac): Invoke gl_MUSL_LIBC.

2020-01-24  Paul Eggert  <eggert@cs.ucla.edu>

	regex: port to Gawk on nonstandard platforms
	* lib/regex_internal.h (ULONG_WIDTH): Define if not already defined.
	This is useful for Gawk, which does not use the Gnulib stdlib-h
	module.  Problem reported by Arnold Robbins in:
	https://lists.gnu.org/r/bug-gnulib/2020-01/msg00138.html

2020-01-21  Paul Eggert  <eggert@cs.ucla.edu>

	regex: fix bug with >=16 subexpressions
	* lib/regex_internal.h (struct re_backref_cache_entry):
	Use bitset_word_t as the type of eps_reachable_subexps_map,
	instead of unsigned short int.  This fixes a bug I introduced
	to glibc in 2005-09-28T17:33:18Z!drepper@redhat.com (glibc commit
	2c05d33f90861d074dc12808dafbde30f487b1a0, BZ #1302).
	Remove unused member 'unused'.

	regex: simplify definition of BITSET_WORD_BITS
	* config/srclist.txt: Remove regex.c, regex_internal.h temporarily.
	* lib/regex.c (__STDC_WANT_IEC_60559_BFP_EXT__): Define.
	* lib/regex_internal.h (BITSET_WORD_BITS):
	* modules/regex (Depends-on): Add limits-h.
	Simplify now that we can use ULONG_WIDTH.

2020-01-20  Bruno Haible  <bruno@clisp.org>

	mbrtoc32: Add note about FreeBSD 12.
	* m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): Guess no also on FreeBSD.
	* doc/posix-functions/mbrtoc32.texi: Mention that FreeBSD 12 is also
	affected.

2020-01-20  Bruno Haible  <bruno@clisp.org>

	unistr/u8-uctomb: Fix warning.
	Reported by Andreas Schwab <schwab@suse.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00127.html>.
	* lib/unistr/u8-uctomb.c (FALLTHROUGH): New macro.
	(u8_uctomb): Add FALLTHROUGH markers.

2020-01-20  Bruno Haible  <bruno@clisp.org>

	lock: Fix test-once1 failure on FreeBSD 11 (regression from 2020-01-19).
	* lib/glthread/lock.c (glthread_once_multithreaded): New function.
	* lib/glthread/lock.h (glthread_once_multithreaded): New declaration.
	(glthread_once): Use it.

2020-01-19  Bruno Haible  <bruno@clisp.org>

	threadlib: Disable use of weak symbols on FreeBSD 11.
	Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00061.html>.
	* m4/threadlib.m4 (gl_WEAK_SYMBOLS): Require AC_CANONICAL_HOST. Test
	against a bug in FreeBSD 11.

2020-01-19  Bruno Haible  <bruno@clisp.org>

	iconv_open: Improve z/OS support.
	* lib/iconv_open-zos.gperf: Choose better aliases. Add mapping for
	ISO-8859-3, KOI8-R, KOI8-U, CP775, CP857, CP865, CP1129, CP1131, CP1257.
	Remove mapping for EUC-TW.

2020-01-18  Bruno Haible  <bruno@clisp.org>

	Rename ~~gnulib.m4 to zzgnulib.m4.
	Suggested by Paul Eggert.
	* m4/zzgnulib.m4: Renamed from m4/~~gnulib.m4.
	* gnulib-tool (func_get_filelist): Update.
	* pygnulib/GLModuleSystem.py (getFiles): Likewise.

2020-01-18  Bruno Haible  <bruno@clisp.org>

	doc: Update license notices.
	* doc/*.texi: Reference the GFDL 1.3 through a URL, rather than by
	reference to a section or to a "file as part of this distribution".

2020-01-18  Bruno Haible  <bruno@clisp.org>

	Avoid error "m4_require: circular dependency of AC_LANG_COMPILER(C)".
	Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00109.html>.
	* m4/00gnulib.m4 (gl_COMPILER_CLANG): Use _AC_COMPILE_IFELSE, not
	AC_EGREP_CPP.

2020-01-18  Bruno Haible  <bruno@clisp.org>

	Ensure Automake does not drop ~~gnulib.m4.
	* m4/~~gnulib.m4 (gl_ZZGNULIB): New macro.
	* m4/gnulib-common.m4 (gl_COMMON): Require it.

2020-01-18  Bruno Haible  <bruno@clisp.org>

	Fix major regression from 2020-01-10.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00079.html>.
	* m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
	Don't AC_REQUIRE anything.
	(gl_COMPILER_PREPARE_CHECK_DECL): Define through AC_DEFUN, not
	AC_DEFUN_ONCE. Use _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE.
	(_AC_CHECK_DECL_BODY): If ac_compile_for_check_decl has not been set,
	use ac_compile instead.
	(AC_CHECK_DECL): Remove override.
	* m4/~~gnulib.m4: New file.
	* gnulib-tool (func_get_filelist): Add also ~~gnulib.m4.
	* pygnulib/GLModuleSystem.py (getFiles): Likewise.

2020-01-17  Bruno Haible  <bruno@clisp.org>
            Paul Eggert  <eggert@cs.ucla.edu>

	glob: Fix use-after-free bug.
	Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00102.html>.
	* lib/glob.c (__glob): Delay freeing dirname until after the use of
	end_name.

2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	vcs-to-changelog: Fix parsing of fndecl without args.
	* build-aux/vcstocl/frontend_c.py (FNDECL_RE): Fix regular expression
	for empty arguments.

2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	vcs-to-changelog: Add documentation.
	* doc/vcs-to-changelog.texi: New file.
	* doc/gnulib.texi (Build Infrastructure Modules): Add vcs-to-changelog
	section.

2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	vcs-to-changelog: Allow loading of custom quirks file.
	* build-aux/vcs_to_changelog.py: New commandline option -q.

2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	vcs-to-changelog: Fix formatting of ChangeLog output.
	* build-aux/vcstocl/vcs_git.py (list_changes): Add newline in print
	output.

2020-01-16  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	vcs-to-changelog: Drop python3 shebang from frontend_c.py.
	Reported in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00050.html>.
	* build-aux/vcstocl/frontend_c.py: Remove shebang.

2020-01-15  Simon Josefsson  <simon@josefsson.org>

	crypto/gc-pbkdf2: New module.
	* MODULES.html.sh (func_all_modules): Add gc-pbkdf2.
	* NEWS: Deprecated gc-pbkdf2-sha1 in favor of gc-pbkdf2.
	* lib/gc-pbkdf2.c: New file.
	* lib/gc-pbkdf2-sha1.c: Use new interface.
	* lib/gc.h (GC_MAX_DIGEST_SIZE, gc_pbkdf2_hmac): Add.
	* modules/crypto/gc-pbkdf2: New file.
	* modules/crypto/gc-pbkdf2-tests: New file.
	* tests/test-gc-pbkdf2.c: New file.

2020-01-12  Bruno Haible  <bruno@clisp.org>

	c32stombs: Add tests.
	* tests/test-c32stombs.c: New file, based on tests/test-c32srtombs.c.
	* tests/test-c32stombs-1.sh: New file, based on
	tests/test-c32srtombs-1.sh.
	* tests/test-c32stombs-2.sh: New file, based on
	tests/test-c32srtombs-2.sh.
	* tests/test-c32stombs-3.sh: New file, based on
	tests/test-c32srtombs-3.sh.
	* tests/test-c32stombs-4.sh: New file, based on
	tests/test-c32srtombs-4.sh.
	* modules/c32stombs-tests: New file, based on modules/c32srtombs-tests.

	c32stombs: New module.
	* lib/uchar.in.h (c32stombs): New declaration.
	* lib/c32stombs.c: New file.
	* m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32STOMBS.
	* modules/uchar (Makefile.am): Substitute GNULIB_C32STOMBS.
	* modules/c32stombs: New file.
	* tests/test-uchar-c++.cc: Test the signature of c32stombs.
	* doc/posix-functions/wcstombs.texi: Mention the new module.

2020-01-11  Jim Meyering  <meyering@fb.com>

	perl: require the "warnings" module
	* m4/perl.m4: Also "use warnings", so we reject the perl found
	on at least one IRIX 6.5 system. Reported by Bruno Haible in
	https://lists.gnu.org/r/sed-devel/2020-01/msg00004.html

2020-01-10  Bruno Haible  <bruno@clisp.org>

	Fix major regression from 2020-01-04.
	Reported by Mats Erik Andersson <mats.andersson@gisladisker.se> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00072.html>.
	* m4/00gnulib.m4 (gl_COMPILER_PREPARE_CHECK_DECL): Define through
	AC_DEFUN_ONCE.
	(AC_CHECK_DECL): Invoke, not require, it.

2020-01-10  Bruno Haible  <bruno@clisp.org>

	c32snrtombs: Add tests.
	* tests/test-c32snrtombs.c: New file, based on tests/test-wcsnrtombs.c.
	* tests/test-c32snrtombs-1.sh: New file, based on
	tests/test-wcsnrtombs1.sh.
	* tests/test-c32snrtombs-2.sh: New file, based on
	tests/test-wcsnrtombs2.sh.
	* tests/test-c32snrtombs-3.sh: New file, based on
	tests/test-wcsnrtombs3.sh.
	* tests/test-c32snrtombs-4.sh: New file, based on
	tests/test-wcsnrtombs4.sh.
	* modules/c32snrtombs-tests: New file, based on
	modules/wcsnrtombs-tests.

	c32snrtombs: New module.
	* lib/uchar.in.h (c32snrtombs): New declaration.
	* lib/wcsnrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
	INTERNAL_STATE, WCRTOMB.
	* lib/wcsnrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
	* lib/c32snrtombs.c: New file.
	* m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SNRTOMBS.
	* modules/uchar (Makefile.am): Substitute GNULIB_C32SNRTOMBS.
	* modules/c32snrtombs: New file.
	* tests/test-uchar-c++.cc: Test the signature of c32snrtombs.
	* doc/posix-functions/wcsnrtombs.texi: Mention the new module.

2020-01-09  Bruno Haible  <bruno@clisp.org>

	c32srtombs: Add tests.
	* tests/test-c32srtombs.c: New file, based on tests/test-wcsrtombs.c.
	* tests/test-c32srtombs-1.sh: New file, based on
	tests/test-wcsrtombs1.sh.
	* tests/test-c32srtombs-2.sh: New file, based on
	tests/test-wcsrtombs2.sh.
	* tests/test-c32srtombs-3.sh: New file, based on
	tests/test-wcsrtombs3.sh.
	* tests/test-c32srtombs-4.sh: New file, based on
	tests/test-wcsrtombs4.sh.
	* modules/c32srtombs-tests: New file, based on modules/wcsrtombs-tests.

	c32srtombs: New module.
	* lib/uchar.in.h (c32srtombs): New declaration.
	* lib/wcsrtombs-impl.h: Parameterize: Use macros FUNC, SCHAR_T,
	INTERNAL_STATE, WCRTOMB.
	* lib/wcsrtombs.c (FUNC, SCHAR_T, INTERNAL_STATE, WCRTOMB): New macros.
	* lib/c32srtombs.c: New file.
	* lib/c32srtombs-state.c: New file, based on lib/wcsrtombs-state.c.
	* m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32SRTOMBS.
	* modules/uchar (Makefile.am): Substitute GNULIB_C32SRTOMBS.
	* modules/c32srtombs: New file.
	* tests/test-uchar-c++.cc: Test the signature of c32srtombs.
	* doc/posix-functions/wcsrtombs.texi: Mention the new module.

2020-01-08  Bruno Haible  <bruno@clisp.org>

	c32tob: Make consistent with mbrtoc32.
	* lib/c32tob.c: Include <stdio.h>, <string.h>, <wchar.h>.
	(c32tob): If the char32_t encoding and the wchar_t encoding may differ,
	use c32rtomb, not wctob.
	* modules/c32tob (Files): Add m4/mbrtoc32.m4.
	(Depends-on): Add c32rtomb.
	(configure.ac): Require gl_MBRTOC32_SANITYCHECK.

2020-01-08  Bruno Haible  <bruno@clisp.org>

	c32rtomb: Add tests.
	* tests/test-c32rtomb.c: New file, based on tests/test-wcrtomb.c.
	* tests/test-c32rtomb.sh: New file, based on tests/test-wcrtomb.sh.
	* tests/test-c32rtomb-w32.c: New file, based on
	tests/test-wcrtomb-w32.c.
	* tests/test-c32rtomb-w32-1.sh: New file, based on
	tests/test-wcrtomb-w32-1.sh.
	* tests/test-c32rtomb-w32-2.sh: New file, based on
	tests/test-wcrtomb-w32-2.sh.
	* tests/test-c32rtomb-w32-3.sh: New file, based on
	tests/test-wcrtomb-w32-3.sh.
	* tests/test-c32rtomb-w32-4.sh: New file, based on
	tests/test-wcrtomb-w32-4.sh.
	* tests/test-c32rtomb-w32-5.sh: New file, based on
	tests/test-wcrtomb-w32-5.sh.
	* tests/test-c32rtomb-w32-6.sh: New file, based on
	tests/test-wcrtomb-w32-6.sh.
	* tests/test-c32rtomb-w32-7.sh: New file, based on
	tests/test-wcrtomb-w32-7.sh.
	* modules/c32rtomb-tests: New file.

	c32rtomb: New module.
	* lib/uchar.in.h (c32rtomb): New declaration.
	* lib/c32rtomb.c: New file, based on lib/unistr/u8-uctomb-aux.c.
	* m4/c32rtomb.m4: New file.
	* m4/uchar.m4 (gl_UCHAR_H): Test whether c32rtomb is declared.
	(gl_UCHAR_H_DEFAULTS): Initialize GNULIB_C32RTOMB, HAVE_C32RTOMB,
	REPLACE_C32RTOMB.
	* modules/uchar (Makefile.am): Substitute GNULIB_C32RTOMB,
	HAVE_C32RTOMB, REPLACE_C32RTOMB.
	* modules/c32rtomb: New file.
	* tests/test-uchar-c++.cc: Test the signature of c32rtomb.
	* doc/posix-functions/c32rtomb.texi: Document the new module.
	* doc/posix-functions/wcrtomb.texi: Mention the new module.

2020-01-08  Bruno Haible  <bruno@clisp.org>

	mbrtoc32: Use the system's mbrtoc32 if it exists and basically works.
	* m4/mbrtoc32.m4 (gl_MBRTOC32_SANITYCHECK): New macro.
	(gl_FUNC_MBRTOC32): Require it. Set REPLACE_MBRTOC32 if mbrtoc32 exists
	but is not working.
	* lib/mbrtoc32.c: Include hard-locale.h, <locale.h>.
	(mbrtoc32): If the char32_t encoding and the wchar_t encoding may
	differ, use the system's mbrtoc32, adding workarounds.
	* modules/mbrtoc32 (Depends-on): Add hard-locale.
	* doc/posix-functions/mbrtoc32.texi: Mention the Solaris and native
	Windows problem.
	* lib/btoc32.c: Include <stdio.h>, <string.h>.
	(btoc32): If the char32_t encoding and the wchar_t encoding may differ,
	use mbrtoc32, not btowc.
	* modules/btoc32 (Depends-on): Add mbrtoc32.
	* lib/mbsrtoc32s.c (mbsrtoc32s): If the char32_t encoding and the
	wchar_t encoding may differ, use mbrtoc32, not mbsrtowcs.
	* modules/mbsrtoc32s (Depends-on): Update conditions.
	(configure.ac): Compile mbsrtoc32s-state.c unconditionally.
	* lib/mbsnrtoc32s.c (mbsnrtoc32s): If the char32_t encoding and the
	wchar_t encoding may differ, use mbrtoc32, not mbsnrtowcs.
	* modules/mbsnrtoc32s (Depends-on): Update conditions.
	(configure.ac): Compile mbsrtoc32s-state.c unconditionally.

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

	wcrtomb: Make multithread-safe, except possibly on IRIX.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Don't set REPLACE_WCRTOMB to 1 when
	REPLACE_MBSTATE_T is set. Define WCRTOMB_C_LOCALE_BUG and
	WCRTOMB_RETVAL_BUG.
	* lib/wcrtomb.c (wcrtomb): Use original wcrtomb whenever available. Use
	wctomb only on IRIX.

2020-01-05  Jim Meyering  <meyering@fb.com>

	tests: skip thread-using tests when threading is disabled
	sed's configure.ac specifies gl_DISABLE_THREADS, and that caused three
	thread-using gnulib tests to fail. Add an #if-guarded exit (77) to each
	of those, so they are skipped in this case.
	* tests/test-nl_langinfo-mt.c (main): Exit 77 when threading is disabled.
	* tests/test-setlocale_null-mt-all.c (main): Likewise.
	* tests/test-setlocale_null-mt-one.c (main): Likewise.

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

	tests: Avoid GCC over-optimization caused by _GL_ARG_NONNULL attributes.
	Reported by Jim Meyering in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00040.html>.
	* lib/stdlib.in.h (GNULIB_defined_canonicalize_file_name): New macro.
	(GNULIB_defined_ptsname_r): New macro.
	* tests/test-canonicalize.c (_GL_ARG_NONNULL): Define to empty.
	(main): Disable the NULL argument test if canonicalize_file_name does
	not come from gnulib.
	* tests/test-canonicalize-lgpl.c (_GL_ARG_NONNULL): Define to empty.
	(main): Disable the NULL argument test if canonicalize_file_name does
	not come from gnulib.
	* tests/test-ptsname_r.c (_GL_ARG_NONNULL): Define to empty.
	(test_errors): Disable the NULL argument test if ptsname_r does not come
	from gnulib.

2020-01-04  Jim Meyering  <meyering@fb.com>

	update-copyright: reenable its always-skipped test
	* tests/test-update-copyright.sh: Restore the "-pi" options removed
	on 2019-06-15. Without those, an internal preliminary test would
	fail, causing this test always to be skipped.
	Verify that the test is now run and passes via this:
	  ./gnulib-tool --test --dir /tmp/x --with-tests update-copyright

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

	mbstoc32s: Add tests.
	* tests/test-mbstoc32s.c: New file, based on tests/test-mbsrtoc32s.c.
	* tests/test-mbstoc32s-1.sh: New file, based on
	tests/test-mbsrtoc32s-1.sh.
	* tests/test-mbstoc32s-2.sh: New file, based on
	tests/test-mbsrtoc32s-2.sh.
	* tests/test-mbstoc32s-3.sh: New file, based on
	tests/test-mbsrtoc32s-3.sh.
	* tests/test-mbstoc32s-4.sh: New file, based on
	tests/test-mbsrtoc32s-4.sh.
	* modules/mbstoc32s-tests: New file, based on modules/mbsrtoc32s-tests.

	mbstoc32s: New module.
	* lib/uchar.in.h (mbstoc32s): New declaration.
	* lib/mbstoc32s.c: New file.
	* m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSTOC32S.
	* modules/uchar (Makefile.am): Substitute GNULIB_MBSTOC32S.
	* modules/mbstoc32s: New file.
	* tests/test-uchar-c++.cc: Test the signature of mbstoc32s.
	* doc/posix-functions/mbstowcs.texi: Mention the new module.

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

	Tweak recently added tests.
	* tests/test-mbrtoc32.c: Make signature consistent with uchar.in.h.
	* tests/test-mbsrtoc32s.c: Likewise.
	* tests/test-mbsnrtoc32s.c: Likewise.

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

	mbsnrtoc32s: Add tests.
	* tests/test-mbsnrtoc32s.c: New file, based on tests/test-mbsnrtowcs.c.
	* tests/test-mbsnrtoc32s-1.sh: New file, based on
	tests/test-mbsnrtowcs1.sh.
	* tests/test-mbsnrtoc32s-2.sh: New file, based on
	tests/test-mbsnrtowcs2.sh.
	* tests/test-mbsnrtoc32s-3.sh: New file, based on
	tests/test-mbsnrtowcs3.sh.
	* tests/test-mbsnrtoc32s-4.sh: New file, based on
	tests/test-mbsnrtowcs4.sh.
	* modules/mbsnrtoc32s-tests: New file, based on
	modules/mbsnrtowcs-tests.

	mbsnrtoc32s: New module.
	* lib/uchar.in.h (mbsnrtoc32s): New declaration.
	* lib/mbsnrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
	INTERNAL_STATE, MBRTOWC.
	* lib/mbsnrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
	* lib/mbsnrtoc32s.c: New file.
	* m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOC32S.
	* modules/uchar (Makefile.am): Substitute GNULIB_MBSNRTOC32S.
	* modules/mbsnrtoc32s: New file.
	* tests/test-uchar-c++.cc: Test the signature of mbsnrtoc32s.
	* doc/posix-functions/mbsnrtowcs.texi: Mention the new module.

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

	mbsrtoc32s tests: Enhance test.
	* tests/test-mbsrtoc32s.c (main): Include a non-BMP character in the
	test strings for UTF-8 and GB18030.

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

	mbsrtoc32s: Fix bug.
	* modules/mbsrtoc32s (configure.ac): Require gl_UCHAR_H, to make sure
	that SMALL_WCHAR_T is defined.

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

	mbsrtoc32s: Add tests.
	* tests/test-mbsrtoc32s.c: New file, based on tests/test-mbsrtowcs.c.
	* tests/test-mbsrtoc32s-1.sh: New file, based on
	tests/test-mbsrtowcs1.sh.
	* tests/test-mbsrtoc32s-2.sh: New file, based on
	tests/test-mbsrtowcs2.sh.
	* tests/test-mbsrtoc32s-3.sh: New file, based on
	tests/test-mbsrtowcs3.sh.
	* tests/test-mbsrtoc32s-4.sh: New file, based on
	tests/test-mbsrtowcs4.sh.
	* modules/mbsrtoc32s-tests: New file, based on modules/mbsrtowcs-tests.

	mbsrtoc32s: New module.
	* lib/uchar.in.h (mbsrtoc32s): New declaration.
	* lib/mbsrtowcs-impl.h: Parameterize: Use macros FUNC, DCHAR_T,
	INTERNAL_STATE, MBRTOWC.
	* lib/mbsrtowcs.c (FUNC, DCHAR_T, INTERNAL_STATE, MBRTOWC): New macros.
	* lib/mbsrtoc32s.c: New file.
	* lib/mbsrtoc32s-state.c: New file, based on lib/mbsrtowcs-state.c.
	* m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOC32S.
	* modules/uchar (Makefile.am): Substitute GNULIB_MBSRTOC32S.
	* modules/mbsrtoc32s: New file.
	* tests/test-uchar-c++.cc: Test the signature of mbsrtoc32s.
	* doc/posix-functions/mbsrtowcs.texi: Mention the new module.

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

	mbrtowc, mbrtoc32: Tighten dependendies.
	* modules/mbrtowc (Depends-on): Disable hard-locale, mbsinit if
	REPLACE_MBSTATE_T is 1.
	(configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
	REPLACE_MBSTATE_T is 0.
	* modules/mbrtoc32 (Depends-on): Remove hard-locale, mbsinit. Disable
	mbrtowc dependency if REPLACE_MBSTATE_T is 1.
	(configure.ac): Don't compile lc-charset-dispatch.c and mbtowc-lock.c if
	REPLACE_MBSTATE_T is 0.

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

	uchar: Decide about _GL_LARGE_CHAR32_T at configure time.
	* m4/uchar.m4 (gl_UCHAR_H): Set SMALL_WCHAR_T.
	* modules/uchar (Files): Add stdint.m4.
	(Makefile.am): Substitute SMALL_WCHAR_T.
	* lib/uchar.in.h (_GL_LARGE_CHAR32_T): Rely on SMALL_WCHAR_T.

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

	Fix AC_CHECK_DECL so that it deactivates clang's built-in declarations.
	Reported by Martin Storsjö <martin@martin.st> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2020-01/msg00016.html>.
	* m4/00gnulib.m4 (gl_COMPILER_CLANG, gl_COMPILER_PREPARE_CHECK_DECL):
	New macros.
	(_AC_CHECK_DECL_BODY, AC_CHECK_DECL): Augment.

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

	btoc32: Add tests.
	* tests/test-btoc32.c: New file, based on tests/test-btowc.c.
	* tests/test-btoc32-1.sh: New file, based on tests/test-btowc1.sh.
	* tests/test-btoc32-2.sh: New file, based on tests/test-btowc2.sh.
	* modules/btoc32-tests: New file, based on modules/btowc-tests.

	btoc32: New module.
	* lib/uchar.in.h (btoc32): New declaration.
	* lib/btoc32.c: New file.
	* m4/uchar.m4 (gl_UCHAR_H_DEFAULTS): Initialize GNULIB_BTOC32.
	* modules/uchar (Makefile.am): Substitute GNULIB_BTOC32.
	* modules/btoc32: New file.
	* tests/test-uchar-c++.cc: Test the signature of btoc32.
	* doc/posix-functions/btowc.texi: Mention the new module.

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

	uchar tests: Avoid compilation error with HP cc.
	* tests/test-uchar.c: Disable a test when HP cc is in use.

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

	mbrtoc32: Add tests.
	* tests/test-mbrtoc32.c: New file, based on tests/test-mbrtowc.c.
	* tests/test-mbrtoc32-1.sh: New file, based on tests/test-mbrtowc1.sh.
	* tests/test-mbrtoc32-2.sh: New file, based on tests/test-mbrtowc2.sh.
	* tests/test-mbrtoc32-3.sh: New file, based on tests/test-mbrtowc3.sh.
	* tests/test-mbrtoc32-4.sh: New file, based on tests/test-mbrtowc4.sh.
	* tests/test-mbrtoc32-5.sh: New file, based on tests/test-mbrtowc5.sh.
	* tests/test-mbrtoc32-w32.c: New file, based on tests/test-mbrtowc-w32.c.
	* tests/test-mbrtoc32-w32-1.sh: New file, based on
	tests/test-mbrtowc-w32-1.sh.
	* tests/test-mbrtoc32-w32-2.sh: New file, based on
	tests/test-mbrtowc-w32-2.sh.
	* tests/test-mbrtoc32-w32-3.sh: New file, based on
	tests/test-mbrtowc-w32-3.sh.
	* tests/test-mbrtoc32-w32-4.sh: New file, based on
	tests/test-mbrtowc-w32-4.sh.
	* tests/test-mbrtoc32-w32-5.sh: New file, based on
	tests/test-mbrtowc-w32-5.sh.
	* tests/test-mbrtoc32-w32-6.sh: New file, based on
	tests/test-mbrtowc-w32-6.sh.
	* tests/test-mbrtoc32-w32-7.sh: New file, based on
	tests/test-mbrtowc-w32-7.sh.
	* modules/mbrtoc32-tests: New file, based on modules/mbrtowc-tests.

	mbrtoc32: New module.
	* lib/uchar.in.h (mbrtoc32): New declaration.
	* lib/mbrtoc32.c: New file, based on lib/mbrtowc.c.
	* m4/mbrtoc32.m4: New file, based on m4/mbrtowc.m4.
	* m4/uchar.m4 (gl_UCHAR_H): Test whether mbrtoc32 is declared.
	(gl_UCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOC32, HAVE_MBRTOC32,
	REPLACE_MBRTOC32.
	* modules/uchar (Makefile.am): Substitute GNULIB_MBRTOC32,
	HAVE_MBRTOC32, REPLACE_MBRTOC32.
	* modules/mbrtoc32: New file, based on modules/mbrtowc.
	* tests/test-uchar-c++.cc (mbrtoc32): Verify the signature.
	* modules/uchar-c++-tests (Makefile.am): Link test-uchar-c++ with
	$(LIB_MBRTOWC).
	* doc/posix-functions/mbrtoc32.texi: Document the new module.
	* doc/posix-functions/mbrtowc.texi: Mention the new module.

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

	mbrtowc: Refactor to share code with mbrtoc32.
	* lib/mbrtowc-impl.h: New file, extracted from lib/mbrtowc.c.
	* lib/mbrtowc-impl-utf8.h: Likewise.
	* lib/mbrtowc.c (mbrtowc): Define macro FITS_IN_CHAR_TYPE. Include
	mbrtowc-impl.h.
	* modules/mbrtowc (Files): Add the new files.

2020-01-03  Jim Meyering  <meyering@fb.com>

	doc: fix time.texi wording
	* doc/posix-headers/time.texi (time.h): Typo.

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

	mbrtowc: Refactor locale charset dispatching.
	* lib/lc-charset-dispatch.h: New file, extracted from lib/mbrtowc.c.
	* lib/lc-charset-dispatch.c: New file, extracted from lib/mbrtowc.c.
	* lib/mbrtowc.c: Include lc-charset-dispatch.h. Don't include
	localcharset.h, streq.h.
	(enc_t): Remove type.
	(locale_enc): Remove function.
	(cached_locale_enc): Remove variable.
	(locale_enc_cached): Remove function.
	(mbrtowc): Invoke locale_encoding_classification.
	* m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Update comment.
	* modules/mbrtowc (Files): Add lc-charset-dispatch.h,
	lc-charset-dispatch.c.
	(configure.ac): Arrange to compile lc-charset-dispatch.c.

2020-01-03  Paul Eggert  <eggert@cs.ucla.edu>

	doc: mention 32-bit time_t issue
	* doc/posix-headers/sys_stat.texi (sys/stat.h):
	* doc/posix-headers/time.texi (time.h): Mention 2038.

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

	mbrtowc: Ensure the mbtowc_lock is unique.
	* lib/mbtowc-lock.c: New file, based on lib/setlocale-lock.c.
	* lib/mbtowc-lock.h: New file, extracted from lib/mbrtowc.c and
	lib/setlocale_null.c.
	* lib/mbrtowc.c: Include headers needed for mbtowc-lock.h. Don't include
	glthread/lock.h. Include mbtowc-lock.h.
	(mbtowc_lock): Remove declaration.
	(mbrtowc): Use mbtowc_with_lock.
	* m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Require gl_PTHREADLIB. Check for
	threads.h. Set LIB_MBRTOWC.
	(gl_PREREQ_MBTOWC_LOCK): New macro.
	* modules/mbrtowc (Files): Add lib/mbtowc-lock.h, lib/mbtowc-lock.c,
	lib/windows-initguard.h, m4/threadlib.m4, m4/visibility.m4.
	(Depends-on): Remove lock.
	(configure.ac): Arrange to compile mbtowc-lock.c.
	(Link): Mention $(LIB_MBRTOWC) instead of $(LIBTHREAD).
	* modules/acl (Link): Likewise.
	* modules/argmatch (Link): Likewise.
	* modules/backup-rename (Link): Likewise.
	* modules/backupfile (Link): Likewise.
	* modules/closein (Link): Likewise.
	* modules/closeout (Link): Likewise.
	* modules/copy-file (Link): Likewise.
	* modules/csharpcomp (Link): Likewise.
	* modules/csharpexec (Link): Likewise.
	* modules/dfa (Link): Likewise.
	* modules/exclude (Link): Likewise.
	* modules/fnmatch (Link): Likewise.
	* modules/fnmatch-gnu (Link): Likewise.
	* modules/fnmatch-posix (Link): Likewise.
	* modules/glob (Link): Likewise.
	* modules/human (Link): Likewise.
	* modules/javacomp (Link): Likewise.
	* modules/javaexec (Link): Likewise.
	* modules/javaversion (Link): Likewise.
	* modules/mbfile (Link): Likewise.
	* modules/mbiter (Link): Likewise.
	* modules/mbmemcasecmp (Link): Likewise.
	* modules/mbmemcasecoll (Link): Likewise.
	* modules/mbrlen (Link): Likewise.
	* modules/mbscasecmp (Link): Likewise.
	* modules/mbscasestr (Link): Likewise.
	* modules/mbschr (Link): Likewise.
	* modules/mbscspn (Link): Likewise.
	* modules/mbsinit (Link): Likewise.
	* modules/mbslen (Link): Likewise.
	* modules/mbsncasecmp (Link): Likewise.
	* modules/mbsnlen (Link): Likewise.
	* modules/mbsnrtowcs (Link): Likewise.
	* modules/mbspbrk (Link): Likewise.
	* modules/mbspcasecmp (Link): Likewise.
	* modules/mbsrchr (Link): Likewise.
	* modules/mbsrtowcs (Link): Likewise.
	* modules/mbssep (Link): Likewise.
	* modules/mbsspn (Link): Likewise.
	* modules/mbsstr (Link): Likewise.
	* modules/mbstok_r (Link): Likewise.
	* modules/mbswidth (Link): Likewise.
	* modules/mbuiter (Link): Likewise.
	* modules/mkdir-p (Link): Likewise.
	* modules/propername (Link): Likewise.
	* modules/quote (Link): Likewise.
	* modules/quotearg (Link): Likewise.
	* modules/quotearg-simple (Link): Likewise.
	* modules/regex-quote (Link): Likewise.
	* modules/rpmatch (Link): Likewise.
	* modules/sh-quote (Link): Likewise.
	* modules/system-quote (Link): Likewise.
	* modules/trim (Link): Likewise.
	* modules/unistdio/ulc-asnprintf (Link): Likewise.
	* modules/unistdio/ulc-fprintf (Link): Likewise.
	* modules/unistdio/ulc-vasnprintf (Link): Likewise.
	* modules/unistdio/ulc-vasprintf (Link): Likewise.
	* modules/unistdio/ulc-vfprintf (Link): Likewise.
	* modules/unistdio/ulc-vsnprintf (Link): Likewise.
	* modules/unistdio/ulc-vsprintf (Link): Likewise.
	* modules/xfreopen (Link): Likewise.
	* modules/xmemcoll (Link): Likewise.
	* modules/yesno (Link): Likewise.
	* modules/regex (Link): Add $(LIB_MBRTOWC).
	* modules/acl-tests (Makefile.am): Link the programs with $(LIB_MBRTOWC)
	instead of $(LIBTHREAD).
	* modules/argmatch-tests (Makefile.am): Likewise.
	* modules/closein-tests (Makefile.am): Likewise.
	* modules/copy-file-tests (Makefile.am): Likewise.
	* modules/dfa-tests (Makefile.am): Likewise.
	* modules/fnmatch-tests (Makefile.am): Likewise.
	* modules/glob-tests (Makefile.am): Likewise.
	* modules/mbmemcasecmp-tests (Makefile.am): Likewise.
	* modules/mbmemcasecoll-tests (Makefile.am): Likewise.
	* modules/mbrtowc-tests (Makefile.am): Likewise.
	* modules/mbscasecmp-tests (Makefile.am): Likewise.
	* modules/mbscasestr-tests (Makefile.am): Likewise.
	* modules/mbschr-tests (Makefile.am): Likewise.
	* modules/mbscspn-tests (Makefile.am): Likewise.
	* modules/mbsinit-tests (Makefile.am): Likewise.
	* modules/mbsncasecmp-tests (Makefile.am): Likewise.
	* modules/mbsnrtowcs-tests (Makefile.am): Likewise.
	* modules/mbspbrk-tests (Makefile.am): Likewise.
	* modules/mbspcasecmp-tests (Makefile.am): Likewise.
	* modules/mbsrchr-tests (Makefile.am): Likewise.
	* modules/mbsrtowcs-tests (Makefile.am): Likewise.
	* modules/mbsspn-tests (Makefile.am): Likewise.
	* modules/mbsstr-tests (Makefile.am): Likewise.
	* modules/quotearg-simple-tests (Makefile.am): Likewise.
	* modules/quotearg-tests (Makefile.am): Likewise.
	* modules/readtokens-tests (Makefile.am): Likewise.
	* modules/sh-quote-tests (Makefile.am): Likewise.
	* modules/system-quote-tests (Makefile.am): Likewise.
	* modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
	* modules/yesno-tests (Makefile.am): Likewise.
	* modules/exclude-tests (Makefile.am): Link the programs with
	$(LIB_MBRTOWC).
	* modules/regex-tests (Makefile.am): Likewise.
	* modules/regex-quote-tests (Makefile.am): Likewise.

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

	getopt-posix: Fix compilation failure in testdirs.
	* lib/unistd.in.h: Include <getopt-cdefs.h> and <getopt-pfx-core.h> only
	when the gnulib module 'getopt-posix' is enabled.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETOPT_POSIX.
	* modules/getopt-posix (configure.ac): Set GNULIB_GETOPT_POSIX as a
	module indicator.
	* modules/unistd (Makefile.am): Substitute GNULIB_GETOPT_POSIX.

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

	doc: Mention the 64-bit inode number problem.
	* m4/largefile.m4 (AC_SYS_LARGEFILE): Mention that this macro fixes the
	64-bit inode number problem.
	* doc/posix-functions/stat.texi: Mention that this module fixes the
	64-bit inode number problem.
	* doc/posix-functions/lstat.texi: Likewise.
	* doc/posix-functions/fstat.texi: Likewise.
	* doc/posix-functions/readdir.texi: Add more details.
	* doc/posix-functions/readdir_r.texi: Likewise.

2020-01-02  Bruno Haible  <bruno@clisp.org>

	wcrtomb: Add more tests.
	* tests/test-wcrtomb-w32.c: Include localcharset.h.
	(test_one_locale): For the GB18030 and UTF-8 tests, verify that
	locale_charset() returns the expected value; otherwise, skip the test.
	* tests/test-wcrtomb-w32-6.sh: Remove old comment.
	* tests/test-wcrtomb-w32-7.sh: Likewise.
	* modules/wcrtomb-tests (Files): Add these files.
	(Depends-on): Add localcharset.
	(TESTS): Add test-wcrtomb-w32-6.sh, test-wcrtomb-w32-7.sh.

2020-01-02  Bruno Haible  <bruno@clisp.org>

	mbrtowc: Add more tests.
	* tests/test-mbrtowc-w32.c: Include localcharset.h.
	(test_one_locale): For the GB18030 and UTF-8 tests, verify that
	locale_charset() returns the expected value; otherwise, skip the test.
	* tests/test-mbrtowc-w32-6.sh: Remove old comment.
	* tests/test-mbrtowc-w32-7.sh: Likewise.
	* modules/mbrtowc-tests (Files): Add these files.
	(Depends-on): Add localcharset.
	(TESTS): Add test-mbrtowc-w32-6.sh, test-mbrtowc-w32-7.sh.

2020-01-02  Bruno Haible  <bruno@clisp.org>

	mbrtowc: Fix test failures on MSVC (regression by previous commit).
	* m4/mbrtowc.m4 (gl_MBRTOWC_STORES_INCOMPLETE): New macro.
	(gl_FUNC_MBRTOWC): Invoke it. Define MBRTOWC_STORES_INCOMPLETE_BUG.
	* lib/mbrtowc.c (rpl_mbrtowc): Add workaround for
	MBRTOWC_STORES_INCOMPLETE_BUG.
	* doc/posix-functions/mbrtowc.texi: Mention the MSVC bug.

2020-01-02  Paul Eggert  <eggert@cs.ucla.edu>

	doc: mention glibc bug 24269
	* doc/regex.texi (Back-reference Operator): Add glibc bug 24269.
	Reformat slightly so that it looks nicer in the Grep manual.

2020-01-02  Bruno Haible  <bruno@clisp.org>

	mbrtowc: Don't replace mbstate_t on MSVC.
	* m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore
	a missing mbsinit function on native Windows.
	* lib/wchar.in.h (GNULIB_defined_mbstate_t): Likewise.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Strengthen the test, to detect an
	MSVC bug.
	* doc/posix-functions/wcrtomb.texi: Mention the MSVC bug.

2020-01-02  Bruno Haible  <bruno@clisp.org>

	setlocale-null: Avoid crashing the MSVC linker.
	* lib/setlocale-lock.c: Don't define IMP(gl_get_setlocale_null_lock) on
	MSVC.

2020-01-02  Bruno Haible  <bruno@clisp.org>

	wchar: Make the HP-UX workaround work on HP-UX 11.31.
	* modules/wchar (Depends-on): Add inttypes-incomplete.
	* lib/inttypes.in.h: Define _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H.
	* lib/wchar.in.h: Test _GL_FINISHED_INCLUDING_SYSTEM_INTTYPES_H instead
	of strtoimax.

2020-01-02  Bruno Haible  <bruno@clisp.org>

	mbrtowc: Fix compilation error on IRIX (regression from 2019-12-26).
	* lib/mbrtowc.c: Include <stdint.h>.
	* modules/mbrtowc (Depends-on): Add stdint.

2020-01-01  Pádraig Brady  <P@draigBrady.com>

	md5, sha1, sha256, sha512: support --with-openssl=auto-gpl-compat
	* m4/gl-openssl.m4: Add a new "auto-gpl-compat" mode,
	which will auto enable use of openssl, only for >= version 3,
	which is newly licensed under the Apache Software License.

2020-01-01  Bruno Haible  <bruno@clisp.org>

	mbrtowc: Include function name in macro names.
	* m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Define
	MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not C_LOCALE_MAYBE_EILSEQ.
	(gl_MBRTOWC_C_LOCALE): Change cache variable name to
	gl_cv_func_mbrtowc_C_locale_sans_EILSEQ.
	* lib/mbrtowc.c: Test MBRTOWC_IN_C_LOCALE_MAYBE_EILSEQ, not
	C_LOCALE_MAYBE_EILSEQ.

2020-01-01  Bruno Haible  <bruno@clisp.org>

	c32tob: New module.
	* lib/uchar.in.h (_GL_LARGE_CHAR32_T): New macro.
	(c32tob): New declaration.
	* lib/c32tob.c: New file.
	* m4/uchar.m4 (gl_UCHAR_MODULE_INDICATOR, gl_UCHAR_H_DEFAULTS): New
	macros.
	(gl_UCHAR_H): Require gl_UCHAR_H_DEFAULTS.
	* modules/uchar (Depends-on): Add snippet/c++defs.
	(Makefile.am): Include c++defs.h and substitute GNULIB_C32TOB in
	uchar.h.
	* modules/c32tob: New file.
	* tests/test-uchar.c: Verify that _GL_LARGE_CHAR32_T is correctly
	defined.
	* tests/test-uchar-c++.cc: Include signature.h. Test the signature of
	c32tob.
	* modules/uchar-c++-tests (Files): Add tests/signature.h.
	* doc/posix-functions/wctob.texi: Mention the new module.

2020-01-01  Bruno Haible  <bruno@clisp.org>

	locale C++ tests: Fix link error on AIX (regression from 2019-12-18).
	* modules/locale-c++-tests (Makefile.am): Link test-locale-c++ with
	$(LIB_SETLOCALE).

2020-01-01  Bruno Haible  <bruno@clisp.org>

	hard-locale tests: Fix a conflict with the C++ tests.
	* modules/hard-locale-tests (Makefile.am): Build a program named
	'current-locale', not 'locale'.

2020-01-01  Bruno Haible  <bruno@clisp.org>

	doc: Update documentation about wchar_t.
	* doc/*/*wc*.texi: Clarify that 64-bit AIX does not have a too small
	wchar_t type.

2020-01-01  Bruno Haible  <bruno@clisp.org>

	mbrtowc tests: Fix typos.
	* tests/test-mbrtowc.c (main): Fix typo.
	* tests/test-mbrtowc-w32.c (test_one_locale): Likewise.

2019-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	maint: update copyright notices
	Before doing the following changes done by hand, I also ran ‘make
	update-copyright’ and ‘config/srclist-update <config/srclist.txt’
	to do most of the copyright years automatically.  A few upstream
	sources are still in 2019 but these should eventually be changed
	automatically too.
	* build-aux/declared.sh (func_version):
	* build-aux/libtool-next-version (func_version):
	* build-aux/run-test (func_version):
	Update these notices by hand.  Put just the last year
	in output of programs, as per GNU coding standards.

2019-12-31  Bruno Haible  <bruno@clisp.org>

	uchar: Add C++ tests.
	* tests/test-uchar-c++.cc: New file.
	* tests/test-uchar-c++2.cc: New file.
	* modules/uchar-c++-tests: New file.

	uchar: Add tests.
	* tests/test-uchar.c: New file.
	* modules/uchar-tests: New file.

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

2019-12-30  Jim Meyering  <meyering@fb.com>

	localeinfo: ->simple would be wrong for LC_ALL=C
	That would lead to using unnecessary and expensive code paths in dfa.c.
	* lib/localeinfo.c (using_simple_locale): Fix recently-introduced logic
	error that would have made grep many times slower in the C locale.
	With this change, and a file created like this:
	  yes 00 | head -10000000 > in
	Running grep as follows becomes more than 40 times faster:
	  LC_ALL=C grep -Fw 0 in

2019-12-30  Paul Eggert  <eggert@cs.ucla.edu>

	doc: document trouble with back-references
	* doc/regex.texi (Back-reference Operator): Mention bugs etc.

2019-12-29  Paul Eggert  <eggert@cs.ucla.edu>

	doc: use “back-reference” for \1 etc.
	* doc/regex.texi: Consistently spell “back-reference” with
	a hyphen, since that’s how POSIX does it.

2019-12-26  Jim Meyering  <meyering@fb.com>

	test-framework-sh: tighten an internal grep regexp
	* tests/init.sh (gl_shell_test_script_): Tighten the grep regexp
	that helps test for a working printf.

2019-12-26  Bruno Haible  <bruno@clisp.org>

	test-framework-sh: Avoid /bin/sh on AIX 7.2 due to its printf built-in.
	Reported by Paul Eggert in
	<https://lists.gnu.org/archive/html/grep-devel/2019-12/msg00020.html>.
	Simplification by Jim Meyering.
	* tests/init.sh (gl_shell_test_script_): Add a test of printf of an
	octal escape sequence in a UTF-8 locale.

2019-12-26  Paul Eggert  <eggert@cs.ucla.edu>

	mbrtowc: port better to narrow-wchar_t platforms
	* lib/mbrtowc.c (mbrtowc): On platforms like AIX 7.2, where
	wchar_t is too narrow to represent all the Unicode characters,
	consider a byte sequence for an out-of-wchar_t-range character to
	be an encoding error.  This fixes grep’s surrogate-pair test
	failure on AIX 7.2.

2019-12-24  Bruno Haible  <bruno@clisp.org>

	localcharset: Avoid referencing rpl_setlocale on native Windows.
	* lib/localcharset.c (setlocale): Undefine.

2019-12-24  Bruno Haible  <bruno@clisp.org>

	lock tests: Fix link error on HP-UX/hppa (regression from 2019-12-21).
	* m4/semaphore.m4: New file.
	* modules/lock-tests (Files): Add it.
	(configure.ac): Require gl_SEMAPHORE.
	(Makefile.am): Link test-lock with $(LIB_SEMAPHORE).

2019-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	strptime: fix typo in previous patch
	Problem and fix reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2019-12/msg00202.html
	* lib/strptime.c (day_of_the_week): Fix paren bug.

2019-12-24  Bruno Haible  <bruno@clisp.org>

	setlocale-null: Make it easy to rely on the lock in another library.
	* lib/setlocale-lock.c: Do not define anything if OMIT_SETLOCALE_LOCK is
	defined.

2019-12-23  Paul Eggert  <eggert@cs.ucla.edu>

	gethrxtime, mktime, nstrftime, strptime: tweak division performance
	Performanced analyzed by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2019-12/msg00200.html
	* config/srclist.txt: Do not sync mktime.c for now.
	* lib/mktime.c (shr, ydhms_diff):
	* lib/nstrftime.c (SHR, tm_diff, __strftime_internal):
	* lib/strptime.c (day_of_the_week):
	* lib/xtime.h (xtime_sec):
	Redo with neither ‘%’ nor conditional branches.

2019-12-23  Bruno Haible  <bruno@clisp.org>

	setlocale-null: Export the lock function also on non-Windows platforms.
	* lib/setlocale-lock.c (DLL_EXPORTED): New macro.
	(gl_get_setlocale_null_lock): Declare as DLL_EXPORTED.
	* m4/setlocale_null.m4 (gl_PREREQ_SETLOCALE_LOCK): New macro.
	* modules/setlocale-null (configure.ac): Invoke it.
	(Files): Add m4/visibility.m4.

2019-12-22  Paul Eggert  <eggert@cs.ucla.edu>

	gethrxtime: fix rounding bug with negative args
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2019-12/msg00192.html
	* lib/xtime.h (xtime_sec): Simplify calculation and correct bug
	with negative rounding.  Common platforms can compute / and % with
	a single instruction, so the simplified code should be shorter and
	faster on these platforms anyway.

2019-12-22  Bruno Haible  <bruno@clisp.org>

	gethrxtime: remove incorrect overflow detection
	* lib/xtime.h (xtime_make): Remove attempt to prevent internal
	integer overflow, as it didn’t suffice.  This reverts the xtime.h
	part of 2018-10-12T04:46:09Z!akim.demaille@gmail.com, which I
	cannot now see the need for anyway (even in cases where it works),
	as the patch is helpful only when the signs of S and NS disagree,
	and all callers pass nonnegative values for S and NS.

2019-12-22  Bruno Haible  <bruno@clisp.org>

	setlocale-null: Add standalone include file.
	* lib/setlocale_null.h: New file, extracted from lib/locale.in.h.
	* lib/locale.in.h: Include setlocale_null.h.
	(SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX, setlocale_null_r,
	setlocale_null): Remove declarations.
	* lib/setlocale_null.c: Include setlocale_null.h.
	* lib/localename.c: Likewise.
	* modules/setlocale-null (Files): Add lib/setlocale_null.h.
	(Depends-on): Add snippet/arg-nonnull.
	(Include): Allow either "setlocale_null.h" or <locale.h>.

2019-12-22  Bruno Haible  <bruno@clisp.org>

	strfmon_l: Fix test failures on FreeBSD and Cygwin.
	* m4/strfmon_l.m4 (gl_FUNC_STRFMON_L): Require gt_LOCALE_FR_UTF8. Add an
	AC_RUN_IFELSE test.
	* modules/strfmon_l (Files): Add locale-fr.m4, codeset.m4.
	* doc/posix-functions/strfmon_l.texi: Mention the FreeBSD and Cygwin
	problem.

2019-12-22  Bruno Haible  <bruno@clisp.org>

	Prefer lib_SOURCES to unconditional AC_LIBOBJ.
	* modules/at-internal: Prefer a lib_SOURCES augmentation to an
	unconditional AC_LIBOBJ.
	* modules/selinux-at: Likewise.
	* modules/xmemdup0: Likewise.
	* modules/xstrtoll: Likewise.

2019-12-22  Bruno Haible  <bruno@clisp.org>

	longlong: Mark module obsolete.
	* modules/longlong (Status, Notice): New sections.

	stdint: Assume that the compiler supports 'long long'.
	* lib/stdint.in.h (int64_t, uint64_t, intmax_t, uintmax_t, INT64_C,
	UINT64_C, INTMAX_C, UINTMAX_C): Assume HAVE_LONG_LONG_INT and
	HAVE_UNSIGNED_LONG_LONG_INT to be 1.
	* m4/stdint.m4 (gl_STDINT_H): Don't require AC_TYPE_LONG_LONG_INT,
	AC_TYPE_UNSIGNED_LONG_LONG_INT.
	* modules/stdint (Files): Remove longlong.m4.
	(Makefile.am): Don't substitute HAVE_LONG_LONG_INT,
	HAVE_UNSIGNED_LONG_LONG_INT.

	inttypes-incomplete: Assume that the compiler supports 'long long'.
	* lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
	_SCNu64_PREFIX): Assume HAVE_LONG_LONG_INT and
	HAVE_UNSIGNED_LONG_LONG_INT to be 1.
	* m4/inttypes.m4 (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): Assume
	HAVE_LONG_LONG_INT to be 1.
	* modules/inttypes-incomplete (Makefile.am): Don't substitute
	HAVE_LONG_LONG_INT, HAVE_UNSIGNED_LONG_LONG_INT.

	malloca: Assume that the compiler supports 'long long'.
	* lib/malloca.h: Assume HAVE_LONG_LONG_INT to be 1.
	* m4/malloca.m4 (gl_MALLOCA): Don't require AC_TYPE_LONG_LONG_INT.
	* modules/malloca (Files): Remove longlong.m4.
	* modules/relocatable-prog-wrapper (Files): Likewise.

	atoll: Assume that the compiler supports 'long long'.
	* m4/atoll.m4 (gl_FUNC_ATOLL): Don't require AC_TYPE_LONG_LONG_INT.
	* modules/atoll (Files): Remove longlong.m4.

	strtoll: Assume that the compiler supports 'long long'.
	* m4/strtoll.m4 (gl_FUNC_STRTOLL): Don't require AC_TYPE_LONG_LONG_INT.
	* modules/strtoll (Files): Remove longlong.m4.

	strtoull: Assume that the compiler supports 'long long'.
	* m4/strtoull.m4 (gl_FUNC_STRTOULL): Don't require
	AC_TYPE_UNSIGNED_LONG_LONG_INT.
	* modules/strtoull (Files): Remove longlong.m4.

	strtoimax, strtoumax: Assume that the compiler supports 'long long'.
	* lib/strtoimax.c: Assume HAVE_LONG_LONG_INT and
	HAVE_UNSIGNED_LONG_LONG_INT to be 1.
	* m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Don't require
	AC_TYPE_LONG_LONG_INT.
	* m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't require
	AC_TYPE_UNSIGNED_LONG_LONG_INT.
	* modules/strtoimax (Files): Remove longlong.m4.
	* modules/strtoumax (Files): Likewise.

	xstrtoll: Assume that the compiler supports 'long long'.
	* lib/xstrtol.h (xstrtoll, xstrtoull): Declare unconditionally.
	* modules/xstrtoll (configure.ac): Don't invoke AC_TYPE_LONG_LONG_INT.

	vasnprintf: Assume that the compiler supports 'long long'.
	* lib/printf-args.h: Assume HAVE_LONG_LONG_INT to be 1.
	* lib/printf-args.c (PRINTF_FETCHARGS): Likewise.
	* lib/printf-parse.c (PRINTF_PARSE): Likewise.
	* lib/vasnprintf.c (MAX_ROOM_NEEDED, VASNPRINTF): Likewise.
	* m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Don't
	require AC_TYPE_LONG_LONG_INT.
	* m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
	gl_PREREQ_VASNPRINTF): Likewise.
	* modules/vasnprintf (Files): Remove longlong.m4.
	* modules/c-vasnprintf (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.

	gethrxtime: Assume that the compiler supports 'long long'.
	* lib/xtime.h (xtime_t): Define to 'long long int' always.
	(XTIME_PRECISION): Define to 1000000000 always.
	(xtime_make, xtime_sec): Optimize accordingly.
	* m4/gethrxtime.m4 (gl_XTIME): Don't require AC_TYPE_LONG_LONG_INT.
	* modules/gethrxtime (Files): Remove longlong.m4.

	integer_length*: Assume that the compiler supports 'long long'.
	* lib/integer_length.h (integer_length_ll): Declare unconditionally.
	* modules/integer_length (Files): Remove longlong.m4.
	(configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
	* modules/integer_length_l (Files): Remove longlong.m4.
	(configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.
	* modules/integer_length_ll (Files): Remove longlong.m4.
	(configure.ac): Don't require AC_TYPE_UNSIGNED_LONG_LONG_INT.

	count-one-bits: Assume that the compiler supports 'long long'.
	* lib/count-one-bits.h (count_one_bits_ll): Define unconditionally.
	* m4/count-one-bits.m4: Remove file.
	* modules/count-one-bits (Files): Remove it.
	(configure.ac): Don't invoke gl_COUNT_ONE_BITS.
	* tests/test-count-one-bits.c (main): Test count_one_bits_ll
	unconditionally.

	count-trailing-zeros: Assume that the compiler supports 'long long'.
	* lib/count-trailing-zeros.h (count_trailing_zeros_ll): Define
	unconditionally.
	* m4/count-trailing-zeros.m4: Remove file.
	* modules/count-trailing-zeros (Files): Remove it.
	(configure.ac): Don't invoke gl_COUNT_TRAILING_ZEROS.
	* tests/test-count-trailing-zeros.c (main): Test count_trailing_zeros_ll
	unconditionally.

	count-leading-zeros: Assume that the compiler supports 'long long'.
	* lib/count-leading-zeros.h (count_leading_zeros_ll): Define
	unconditionally.
	* m4/count-leading-zeros.m4: Remove file.
	* modules/count-leading-zeros (Files): Remove it.
	(configure.ac): Don't invoke gl_COUNT_LEADING_ZEROS.
	* tests/test-count-leading-zeros.c (main): Test count_leading_zeros_ll
	unconditionally.

2019-12-22  Bruno Haible  <bruno@clisp.org>

	localcharset: Update support for OpenBSD.
	* lib/localcharset.c (alias_table): Map "US-ASCII" to "ASCII".

2019-12-21  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Avoid test failure on NetBSD 8.0.
	* tests/test-pthread_sigmask2.c (main): Skip the error handling test on
	NetBSD.
	* doc/posix-functions/pthread_sigmask.texi: Mention the NetBSD problem.

2019-12-21  Bruno Haible  <bruno@clisp.org>

	threadlib: Improve code structure.
	* m4/threadlib.m4: Reorder macros. Add comments.

2019-12-21  Bruno Haible  <bruno@clisp.org>

	threadlib: Fix LIBMULTITHREAD on FreeBSD with --enable-threads=isoc.
	* m4/threadlib.m4 (gl_STDTHREADLIB_BODY): New macro (some code moved
	here from m4/threads.m4).
	(gl_THREADLIB_BODY): Don't test whether mtx_lock and cnd_timedwait exist
	in libc. Instead, rely on gl_STDTHREADLIB_BODY.
	(gl_STDTHREADLIB): New macro.
	* m4/threads.m4 (gl_THREADS_H): Require gl_STDTHREADLIB instead of
	gl_THREADLIB_BODY and gl_YIELD. Don't set LIBSTDTHREAD here.

2019-12-21  Bruno Haible  <bruno@clisp.org>

	sched_yield: Don't depend on threadlib and yield.
	* m4/threadlib.m4 (gl_PTHREADLIB): Document that it sets
	LIB_SCHED_YIELD.
	(gl_PTHREADLIB_BODY): Set LIB_SCHED_YIELD (code moved here from
	m4/yield.m4).
	* m4/sched_yield.m4 (gl_FUNC_SCHED_YIELD): Require gl_PTHREADLIB, not
	gl_THREADLIB and gl_YIELD.
	* m4/yield.m4 (gl_YIELD): Require gl_PTHREADLIB. Determine YIELD_LIB
	based on $(LIB_SCHED_YIELD).
	* m4/threads.m4 (gl_THREADS_H): Don't require gl_YIELD. Use
	$(LIB_SCHED_YIELD), not $(YIELD_LIB).
	* modules/sched_yield (Files): Remove yield.m4. Add threadlib.m4.
	(Depends-on): Remove threadlib.
	(Link): Mention $(LIB_SCHED_YIELD), not $(YIELD_LIB).
	* modules/threads-h (Files): Remove m4/yield.m4.
	* modules/pthread-cond-tests (Makefile.am): Link the programs against
	$(LIB_SCHED_YIELD), not $(YIELD_LIB).
	* modules/pthread-mutex-tests (Makefile.am): Likewise.
	* modules/pthread-once-tests (Makefile.am): Likewise.
	* modules/pthread-rwlock-tests (Makefile.am): Likewise.
	* modules/pthread-tss-tests (Makefile.am): Likewise.

2019-12-21  Bruno Haible  <bruno@clisp.org>

	threads-h: Don't depend on threadlib.
	* modules/threads-h (configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY,
	not gl_THREADLIB_EARLY.

2019-12-21  Bruno Haible  <bruno@clisp.org>

	nl_langinfo tests: Fix link error (regression from 2019-12-18).
	* modules/nl_langinfo-tests (Makefile.am): Link also test-nl_langinfo
	with $(LIB_SETLOCALE).

2019-12-21  Bruno Haible  <bruno@clisp.org>

	threadlib: Remove unused dependency (left over from 2019-07-06).
	* modules/threadlib (Depends-on): Remove havelib.

2019-12-21  Bruno Haible  <bruno@clisp.org>

	New convention for multithread-safety tests.
	* tests/test-setlocale_null-mt-one.c: Renamed from
	tests/test-setlocale_null-one.c.
	* tests/test-setlocale_null-mt-all.c: Renamed from
	tests/test-setlocale_null-all.c.
	* modules/setlocale-null-tests (Files, Makefile.am): Update.

2019-12-21  Bruno Haible  <bruno@clisp.org>

	quotearg tests: Fix conflict with hard-locale tests.
	* tests/testlocale: Renamed from tests/locale.
	* modules/quotearg-tests (Files): Update.
	* tests/test-quotearg.sh (LOCALEDIR): Likewise.

2019-12-21  Bruno Haible  <bruno@clisp.org>

	pthread-thread, lock: On z/OS, use PTHREAD_RWLOCK_INITIALIZER_NP.
	Reported by Daniel Richard G. in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00167.html>
	* lib/pthread.in.h (PTHREAD_RWLOCK_INITIALIZER): Define to
	PTHREAD_RWLOCK_INITIALIZER_NP when possible.
	* lib/glthread/lock.h: Allow PTHREAD_RWLOCK_INITIALIZER_NP as an
	alternative to PTHREAD_RWLOCK_INITIALIZER.
	* lib/glthread/lock.c: Likewise.

2019-12-21  Bruno Haible  <bruno@clisp.org>

	memcmp tests: Work around the clang bug.
	* tests/test-memcmp.c (main): Use a volatile function pointer to disable
	the clang optimization.

2019-12-20  Bruno Haible  <bruno@clisp.org>

	localcharset: Add support for z/OS encoding names.
	* lib/localcharset.h: Mention which encodings are used as locale
	encodings on z/OS.

2019-12-20  Bruno Haible  <bruno@clisp.org>

	iconv_open: Add support for z/OS encoding names.
	Reported by Daniel Richard G. in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00172.html>.
	* lib/iconv_open-zos.gperf: New file.
	* modules/iconv_open (Files): Add iconv_open-zos.gperf.
	(Makefile.am): Add rules for generating iconv_open-zos.h from it.
	* lib/iconv_open.c (ICONV_FLAVOR_ZOS): New macro.
	* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): On z/OS, use ICONV_FLAVOR_ZOS.
	* doc/posix-functions/iconv_open.texi: Mention z/OS.

2019-12-20  Bruno Haible  <bruno@clisp.org>

	doc: Document the problem of the per-thread locale functions on z/OS.
	* doc/posix-functions/uselocale.texi: Document the z/OS problem.
	* doc/posix-functions/newlocale.texi: Likewise.
	* doc/posix-functions/duplocale.texi: Likewise.
	* doc/posix-functions/freelocale.texi: Likewise.

2019-12-20  Bruno Haible  <bruno@clisp.org>

	localename, gettext: Fix host_os value for z/OS.
	* m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Fix host_os value in
	cross-configuration code.

2019-12-19  Jim Meyering  <meyering@fb.com>

	nstrftime: avoid a shadowing warning
	* lib/nstrftime.c (libc_hidden_def): Rename inner "i" to "j",
	to avoid shadowing an "i" declared hundreds of lines above.

2019-12-19  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: struct dfamust now uses flexible array
	* lib/dfa.c: Include flexmember.h.
	(dfamust, dfamustfree): Adjust to struct dfamust change.
	This saves a call to malloc+free.
	* lib/dfa.h (struct dfamust): Make the final member a
	flexible array member.
	* modules/dfa (Depends-on): Add flexmember.

	dfa: fast->small for array elements
	* lib/dfa.c (charclass_word): Use uint_least64_t not uint_fast64_t,
	since this type is used in arrays.  This change is more for
	documentation than for any practical effect, since the two types
	are the same on all known platforms.

2019-12-19  Bruno Haible  <bruno@clisp.org>

	iconv tests: Test canonicalized, not system-dependent, encoding names.
	* tests/test-iconv.c (main): Revert part of the 2016-08-17 patch.
	* modules/iconv-tests (Depends-on): Add iconv_open.

2019-12-18  Bruno Haible  <bruno@clisp.org>

	localename: Fix test failure on AIX 7.2.
	* m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Enable nameless
	locales on AIX.
	* lib/localename.c (gl_locale_name_thread_unsafe): Handle nameless
	locales on AIX.

2019-12-18  Paul Eggert  <eggert@cs.ucla.edu>

	Improve port of AC_C_RESTRICT to Oracle C++
	Problem reported by Christian Biesinger in:
	https://lists.gnu.org/r/bug-gnulib/2019-12/msg00159.html
	* m4/gnulib-common.m4 (AC_C_RESTRICT): Port better to
	Oracle Developer Studio C++ 12.5 or later.

2019-12-18  Bruno Haible  <bruno@clisp.org>

	wchar: Fix test failures on AIX and MSVC (regression from 2019-12-07).
	* lib/wchar.in.h (GNULIB_defined_mbstate_t): Do define on AIX and MSVC.

2019-12-18  Bruno Haible  <bruno@clisp.org>

	localename: Ensure multithread-safety in future changes.
	* lib/localename.c (setlocale): Reference the system's setlocale().
	(get_locale_t_name): Invoke setlocale_null instead of setlocale.
	(gl_locale_name_posix): Likewise.
	* modules/localename (Depends-on): Add setlocale-null.

2019-12-18  Bruno Haible  <bruno@clisp.org>

	setlocale-null: Make API more useful.
	* lib/locale.in.h (setlocale_null_r): Renamed from setlocale_null. All
	callers changed.
	(setlocale_null): New declaration.
	* lib/setlocale_null.c (setlocale_null_androidfix): New function,
	extracted from setlocale_null_unlocked.
	(setlocale_null_unlocked): Invoke it.
	(setlocale_null_r): Renamed from setlocale_null.
	(setlocale_null): New function, extracted from setlocale_mtsafe in
	setlocale.c.
	* lib/setlocale.c: Don't include <errno.h>.
	(setlocale_mtsafe): Invoke setlocale_null.
	* lib/setlocale-lock.c: Update comments.
	* doc/posix-functions/setlocale.texi: Mention both functions.

2019-12-18  Bruno Haible  <bruno@clisp.org>

	localename: Optimize code for native Windows.
	* lib/localename.c (gl_locale_name_posix): Remove handling of LC_ALL
	category (not allowed here).

2019-12-18  Bruno Haible  <bruno@clisp.org>

	setlocale: Make calls with NULL argument multithread-safe.
	* lib/setlocale.c: Include <errno.h>.
	(setlocale_mtsafe): New function.
	(setlocale_unixlike): Invoke setlocale_mtsafe instead of setlocale.
	(setlocale_improved): Renamed from rpl_setlocale.
	* m4/setlocale.m4 (gl_FUNC_SETLOCALE): Require gl_FUNC_SETLOCALE_NULL.
	Set and define NEED_SETLOCALE_IMPROVED and NEED_SETLOCALE_MTSAFE. Set
	LIB_SETLOCALE.
	* modules/setlocale (Depends-on): Add setlocale-null. Update conditions.
	(Link): New section.
	* tests/locale.c: Undefine setlocale.
	* tests/test-setlocale_null-one.c: Likewise.
	* tests/test-setlocale_null-all.c: Likewise.
	* modules/setlocale-tests (Makefile.am): Link the test programs with
	$(LIB_SETLOCALE).
	* modules/astrxfrm-tests (Makefile.am): Likewise.
	* modules/btowc-tests (Makefile.am): Likewise.
	* modules/c-ctype-tests (Makefile.am): Likewise.
	* modules/c-snprintf-tests (Makefile.am): Likewise.
	* modules/c-strcase-tests (Makefile.am): Likewise.
	* modules/c-vasprintf-tests (Makefile.am): Likewise.
	* modules/c-vsnprintf-tests (Makefile.am): Likewise.
	* modules/c-xvasprintf-tests (Makefile.am): Likewise.
	* modules/dfa-tests (Makefile.am): Likewise.
	* modules/duplocale-tests (Makefile.am): Likewise.
	* modules/hard-locale-tests (Makefile.am): Likewise.
	* modules/localcharset-tests (Makefile.am): Likewise.
	* modules/localename-tests (Makefile.am): Likewise.
	* modules/mbmemcasecmp-tests (Makefile.am): Likewise.
	* modules/mbmemcasecoll-tests (Makefile.am): Likewise.
	* modules/mbrtowc-tests (Makefile.am): Likewise.
	* modules/mbscasecmp-tests (Makefile.am): Likewise.
	* modules/mbscasestr-tests (Makefile.am): Likewise.
	* modules/mbschr-tests (Makefile.am): Likewise.
	* modules/mbscspn-tests (Makefile.am): Likewise.
	* modules/mbsinit-tests (Makefile.am): Likewise.
	* modules/mbsncasecmp-tests (Makefile.am): Likewise.
	* modules/mbsnrtowcs-tests (Makefile.am): Likewise.
	* modules/mbspbrk-tests (Makefile.am): Likewise.
	* modules/mbspcasecmp-tests (Makefile.am): Likewise.
	* modules/mbsrchr-tests (Makefile.am): Likewise.
	* modules/mbsrtowcs-tests (Makefile.am): Likewise.
	* modules/mbsspn-tests (Makefile.am): Likewise.
	* modules/mbsstr-tests (Makefile.am): Likewise.
	* modules/nl_langinfo-tests (Makefile.am): Likewise.
	* modules/quotearg-tests (Makefile.am): Likewise.
	* modules/regex-tests (Makefile.am): Likewise.
	* modules/strfmon_l-tests (Makefile.am): Likewise.
	* modules/strtod-tests (Makefile.am): Likewise.
	* modules/strtold-tests (Makefile.am): Likewise.
	* modules/unicase/locale-language-tests (Makefile.am): Likewise.
	* modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
	* modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
	* modules/unigbrk/ulc-grapheme-breaks-tests (Makefile.am): Likewise.
	* modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
	* modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
	* modules/vasnprintf-posix-tests (Makefile.am): Likewise.
	* modules/wcrtomb-tests (Makefile.am): Likewise.
	* modules/wcsnrtombs-tests (Makefile.am): Likewise.
	* modules/wcsrtombs-tests (Makefile.am): Likewise.
	* modules/wcwidth-tests (Makefile.am): Likewise.
	* doc/posix-functions/setlocale.texi: Mention that the multithread-
	safety fix is also available in module 'setlocale'.

2019-12-18  Bruno Haible  <bruno@clisp.org>

	hard-locale: Make multithread-safe.
	* lib/hard-locale.h (hard_locale): Move documentation to here.
	* lib/hard-locale.c: Don't include <stdlib.h>.
	(GLIBC_VERSION): Remove macro.
	(hard_locale): Assume that all systems name the "C" and "POSIX" locales
	"C" or "POSIX". Invoke setlocale_null instead of setlocale.
	* modules/hard-locale (Depends-on): Remove strdup. Add setlocale-null.
	(configure.ac): Require gl_FUNC_SETLOCALE_NULL. Set LIB_HARD_LOCALE.
	(Link): New section.
	* modules/hard-locale-tests (Makefile.am): Link test-hard-locale against
	$(LIB_HARD_LOCALE).

2019-12-18  Bruno Haible  <bruno@clisp.org>

	hard-locale: Avoid test failure on Haiku.
	* tests/test-hard-locale.c (test_one): Treat Haiku like recent OpenBSD.

2019-12-18  Bruno Haible  <bruno@clisp.org>

	setlocale-null: Handle NULL result from setlocale.
	* lib/locale.in.h (setlocale_null): Document EINVAL return value.
	* lib/setlocale_null.c (setlocale_null_unlocked): Handle NULL result
	from setlocale or _wsetlocale.

2019-12-18  Bruno Haible  <bruno@clisp.org>

	hard-locale: Add test.
	* tests/test-hard-locale.c: New file.
	* tests/locale.c: New file.
	* modules/hard-locale-tests: New file.

2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: do not match invalid UTF-8
	* lib/dfa.c (struct dfa): Grow utf8_anychar_classes member array
	from 5 to 9 tokens; this is needed due to the changes to
	add_utf8_anychar.
	(charclass_index): 2nd arg is now pointer-to-const.
	(add_utf8_anychar): Match only valid UTF-8 byte sequences
	instead of allowing overlong encodings or surrogate halves.

	dfa: simplify charclass by assuming C99
	* lib/dfa.c (CHARCLASS_WORD_BITS): Now always 64.
	(charclass_word): Now always uint_fast64_t.
	(CHARCLASS_PAIR): Remove.
	(CHARCLASS_INIT): Take 4 arguments instead of 8.  All uses changed.

	fts: tune via calloc
	* lib/fts.c (fts_open): Prefer calloc to malloc + memset.

	dfa: tune via xzalloc
	* lib/dfa.c (dfaoptimize): Prefer xzalloc to xmalloc + memset.

2019-12-17  Bruno Haible  <bruno@clisp.org>

	localcharset: Fix multithread-safety bug on Windows and OS/2.
	* lib/localcharset.h (locale_charset): Clarify when the result becomes
	invalid.
	* lib/localcharset.c (locale_charset): Use a stack-allocated buffer to
	assemble the result.

2019-12-17  Bruno Haible  <bruno@clisp.org>

	localcharset: Optimize code for native Windows.
	* lib/localcharset.c (locale_charset): Don't bother calling
	setlocale (LC_ALL, NULL) since we're not interested in its result.

2019-12-17  Bruno Haible  <bruno@clisp.org>

	nl_langinfo: Fix multithread-safety bug on OpenBSD 3.8.
	* lib/nl_langinfo.c (ctype_codeset): Invoke setlocale_null instead of
	setlocale.
	* m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Require
	gl_FUNC_SETLOCALE_NULL. Set LIB_NL_LANGINFO.
	* modules/nl_langinfo (Depends-on): Add setlocale-null.

2019-12-17  Bruno Haible  <bruno@clisp.org>

	nl_langinfo: Fix multithread-safety bug on mingw and MSVC.
	* lib/nl_langinfo.c (ctype_codeset, rpl_nl_langinfo): Use a
	stack-allocated buffer to assemble each result and different static
	buffers to return it.
	* tests/test-nl_langinfo-mt.c: New file.
	* modules/nl_langinfo-tests (Files): Add it.
	(Depends-on): Add thread, nanosleep.
	(Makefile.am): Build test-nl_langinfo-mt test.

2019-12-17  Bruno Haible  <bruno@clisp.org>

	langinfo: Document more details.
	* doc/posix-headers/langinfo.texi: List platform details.
	* doc/posix-functions/nl_langinfo.texi: Likewise.

2019-12-17  Bruno Haible  <bruno@clisp.org>

	mbsinit: Fix compilation error in mingw-w64 7.0 with _UCRT defined.
	Reported by Tom Kacvinsky <tom.kacvinsky@vector.com>
	and Martin Storsjö <martin@martin.st>
	in <https://savannah.gnu.org/bugs/?57406>.
	* lib/mbsinit.c: Accommodate an MSVC-like mbstate_t definition with
	mingw.

2019-12-17  Bruno Haible  <bruno@clisp.org>

	glob: Avoid warning on mingw.
	Reported by Christian Biesinger <cbiesinger@google.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00122.html>.
	* lib/glob.c (__stat64): Undefine first.

2019-12-17  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc: tune xzalloc for fresh allocations
	* lib/xmalloc.c (xzalloc): Use xcalloc rather than xmalloc+memset,
	because when the memory is freshly allocated from the OS via sbrk
	or mmap, calloc can avoid doing the memset.

	dfa: new function dfacopysyntax
	* lib/dfa.c (struct dfa): Move syntax member later so
	that dfacopysyntax can easily clear earlier members.
	(dfacopysyntax): New function, used by Gawk.

2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: port _GL_ATTRIBUTE_MALLOC to Gawk
	Gawk does not use Gnulib, and does not define _GL_ATTRIBUTE_MALLOC.
	* lib/dfa.h (_GL_ATTRIBUTE_MALLOC): Define to empty
	if not already defined.

	dfa: remove one dependency on MB_CUR_MAX
	* lib/dfa.c (dfamust): No need to refer to MB_CUR_MAX here.

	dfa: remove struct lexer_state.cur_mb_len
	* lib/dfa.c (struct lexer_state): Remove cur_mb_len member,
	as it’s not needed and the code is simpler without it.
	All uses removed.

2019-12-16  Bruno Haible  <bruno@clisp.org>

	setlocale-null: Remove need for -lpthread on musl libc, *BSD, Haiku.
	Reported by Arnold Robbins <arnold@skeeve.com>.
	* lib/setlocale_null.c (c11_threads_in_use, pthread_in_use): New macros,
	copied from lib/glthread/lock.h.
	(pthread_mutex_lock, pthread_mutex_unlock): Mark as weak.
	(setlocale_null_with_lock): If pthread_in_use() is false, use
	setlocale_null_unlocked directly.
	* m4/threadlib.m4 (gl_WEAK_SYMBOLS): New macro, extracted from
	gl_THREADLIB_BODY. Define HAVE_WEAK_SYMBOLS.
	(gl_THREADLIB_BODY): Invoke gl_WEAK_SYMBOLS.
	* m4/setlocale_null.m4 (gl_FUNC_SETLOCALE_NULL): Invoke gl_WEAK_SYMBOLS.
	Set LIB_SETLOCALE_NULL to empty if weak symbols are supported.
	* m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Add comment.

2019-12-16  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: make dfasyntax thread-safe
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2019-12/msg00099.html
	* lib/dfa.c: Do not include locale.h.
	(struct dfa): Remove simple_locale member.
	All uses replaced by localeinfo.simple.
	(using_simple_locale): Remove; now present (with some
	changes) in localeinfo.c.
	(dfasyntax): No need to initialize removed member.

	localeinfo: record whether locale is simple
	* lib/localeinfo.c (using_simple_locale): New function,
	copied here from lib/dfa.c but with a change: it uses
	strcoll for its heuristic, instead of using setlocale.
	This lets it be thread-safe.
	* lib/localeinfo.h (struct localeinfo): New member ‘simple’.

2019-12-15  Bruno Haible  <bruno@clisp.org>

	duplocale: Fix multithread-safety bug on AIX.
	* lib/duplocale.c: Don't include <stdlib.h>.
	(rpl_duplocale): Invoke setlocale_null instead of setlocale.
	* m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Require gl_FUNC_SETLOCALE_NULL.
	Set LIB_DUPLOCALE.
	* modules/duplocale (Depends-on): Add setlocale-null.
	(Link): New section.
	* modules/duplocale-tests (Makefile.am): Link test-duplocale with
	$(LIB_DUPLOCALE).

2019-12-15  Bruno Haible  <bruno@clisp.org>

	setlocale-null: Add tests.
	* tests/test-setlocale_null.c: New file.
	* tests/test-setlocale_null-one.c: New file.
	* tests/test-setlocale_null-all.c: New file.
	* modules/setlocale-null-tests: New file.

	setlocale-null: New module.
	* lib/locale.in.h (SETLOCALE_NULL_MAX, SETLOCALE_NULL_ALL_MAX,
	setlocale_null): New declarations.
	* lib/setlocale_null.c: New file.
	* lib/setlocale-lock.c: New file.
	* m4/threadlib.m4 (gl_PTHREADLIB_BODY): Define C macro HAVE_PTHREAD_API.
	* m4/setlocale_null.m4: New file.
	* m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize
	GNULIB_SETLOCALE_NULL.
	* modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE_NULL.
	* modules/setlocale-null: New file.
	* doc/posix-functions/setlocale.texi: Mention the new module.

2019-12-15  Bruno Haible  <bruno@clisp.org>

	lock tests: Skip test when no multithreading is enabled.
	* tests/test-rwlock1.c: Skip the test when no multithreading is enabled.

2019-12-14  Bruno Haible  <bruno@clisp.org>

	locale, duplocale, localename: Fix last patch.
	Reported by Daniel Richard G. in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00093.html>.
	* lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE):
	Don't define if locale_t does not exist.

2019-12-13  Bruno Haible  <bruno@clisp.org>

	locale, duplocale, localename: Fix errors if locale_t does not exist.
	Reported by Daniel Richard G. in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00078.html>.
	* lib/locale.in.h (HAVE_WORKING_NEWLOCALE, HAVE_WORKING_DUPLOCALE): New
	macros.
	* tests/test-locale.c: Test HAVE_WORKING_NEWLOCALE instead of
	HAVE_NEWLOCALE.
	* tests/test-localename.c: Likewise.
	* tests/test-duplocale.c: Test HAVE_WORKING_DUPLOCALE instead of
	HAVE_DUPLOCALE.
	* tests/test-locale-c++.cc: Likewise.

2019-12-13  Bruno Haible  <bruno@clisp.org>

	wcstok: Fix test failure on HP-UX.
	* m4/wcstok.m4 (gl_FUNC_WCSTOK): Set REPLACE_WCSTOK to 1 on HP-UX.
	* doc/posix-functions/wcstok.texi: Mention the HP-UX bug.

2019-12-12  Bruno Haible  <bruno@clisp.org>

	strtod, strtold tests: Avoid test failure on AIX 7.2.
	* tests/test-strtod1.c (main): Allow implementations in which ',' and
	'.' both are radix characters.
	* tests/test-strtold1.c (main): Likewise.

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

	dfa: prefer ptrdiff_t for API, too
	Also, use ‘idx_t’ for ptrdiff_t values that must be nonnegative,
	but do this only for internal use for now.
	* NEWS: Mention the API change.
	* lib/dfa.c (idx_t, IDX_MAX): New type and max value, for internal
	use for now.  Use them instead of ptrdiff_t and PTRDIFF_MAX for
	values known to be nonnegative.
	(dfaparse, dfaexec_mb, dfaexec_sb, dfaexec_noop, dfaexec):
	Prefer idx_t or ptrdiff_t to size_t for API.
	* lib/dfa.h (dfaparse, dfacomp, dfaexec):
	Prefer ptrdiff_t to size_t for API.

	stdalign: port to xlclang 16.01
	Problem reportd by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2019-12/msg00064.html
	* lib/stdalign.in.h (_Alignas): Do not use __attribute__
	((__aligned__ (...))) with xlclang, as a top-level
	‘char __attribute__ ((__aligned__ (8))) c;’ does not work with
	xlclang version 16.01.0000.0001; the alignment directive is ignored.

2019-12-12  Bruno Haible  <bruno@clisp.org>

	duplocale: Fix test failure on AIX 7.2 with xlclang.
	* lib/duplocale.c: Include <stdlib.h>.
	(rpl_duplocale): Use a heap-allocated copy of the first setlocale return
	value.

2019-12-12  Bruno Haible  <bruno@clisp.org>

	stddef: Document the AIX xlc issue.
	* doc/posix-headers/stddef.texi: Document the NULL issue with AIX xlc.

2019-12-12  Bruno Haible  <bruno@clisp.org>

	duplocale: Don't attempt to override if locale_t does not exist.
	Reported by Daniel Richard G. in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00039.html>.
	* m4/duplocale.m4 (gl_FUNC_DUPLOCALE): If locale_t does not exist, set
	HAVE_DUPLOCALE to 0.

2019-12-12  Bruno Haible  <bruno@clisp.org>

	wcwidth: Avoid test failure on AIX 7.2.
	* tests/test-wcwidth.c (main): Don't fail if wcwidth(0x200B) is
	negative.
	* doc/posix-functions/wcwidth.texi: Mention the AIX issue.

2019-12-12  Bruno Haible  <bruno@clisp.org>

	ilogbl: Work around Cygwin bug.
	* m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Test whether ilogbl(0.0L) is
	correct.
	* doc/posix-functions/ilogbl.texi: Mention the Cygwin bug.

2019-12-12  Bruno Haible  <bruno@clisp.org>

	strtold: Work around Cygwin bug.
	* m4/strtold.m4 (gl_FUNC_STRTOLD): Add test for the underflow problem.
	If it is present, define STRTOLD_HAS_UNDERFLOW_BUG.
	* lib/strtod.c (HAVE_UNDERLYING_STRTOD): Set to 0 if
	STRTOLD_HAS_UNDERFLOW_BUG is defined.
	* doc/posix-functions/strtold.texi: Mention the Cygwin bug.

2019-12-12  Bruno Haible  <bruno@clisp.org>

	strtold: Fix autoconf test.
	* m4/strtold.m4 (gl_FUNC_STRTOLD): Test strtold, not strtod.

2019-12-11  Bruno Haible  <bruno@clisp.org>

	fsync tests: Skip test that is known to fail.
	* doc/posix-functions/fsync.texi: Update list of platforms.
	* tests/test-fsync.c (main): Skip test with read-only file descriptors
	that is known to fail on AIX and Cygwin.

2019-12-11  Bruno Haible  <bruno@clisp.org>

	getaddrinfo: Fix calling convention in 32-bit mode on native Windows.
	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Test whether getaddrinfo has a
	non-POSIX signature. If so, set REPLACE_GETADDRINFO. Define
	HAVE_GETADDRINFO as a C macro.
	* lib/netdb.in.h (getaddrinfo, freeaddrinfo): If REPLACE_GETADDRINFO,
	declare as replacement functions.
	* lib/getaddrinfo.c (getaddrinfo, freeaddrinfo): If HAVE_GETADDRINFO,
	define as no-op overrides.
	* m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize REPLACE_GETADDRINFO.
	* modules/netdb (Makefile.am): Substitute REPLACE_GETADDRINFO.
	* modules/getaddrinfo (Depends-on, configure.ac): Test
	REPLACE_GETADDRINFO.
	* doc/posix-functions/getaddrinfo.texi: Mention calling convention
	problem.
	* doc/posix-functions/freeaddrinfo.texi: Mention header file and calling
	convention problems.

2019-12-11  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: prefer signed integers for internals
	Signed integers can be checked more easily for integer overflow.
	* lib/dfa.c (position, struct lexer_state, struct parser_state)
	(struct dfa, mbs_to_wchar, fetch_wc, parse_bracket_exp)
	(struct lexptr, lex, addtok_mb, add_utf8_anychar, atom)
	(nsubtoks, copytoks, closure, alloc_position_set, delete)
	(replace, state_index, epsclosure, charclass_context)
	(state_separate_contexts, merge_nfa_state, dfaoptimize)
	(dfaanalyze, build_state, dfaexec_main, dfa_supported)
	(maybe_disable_superset_dfa, dfassbuild, dfafree, enlist)
	(comsubs, inboth, allocmust):
	Prefer a signed to an unsigned integer when calculating indexes,
	unless the integer is part of the external API (a bigger deal,
	and to be done later).

	dfa: fix index overflow
	* lib/dfa.c (compare): Avoid integer overflow when analyzing
	very large regular expressions.

	dfa: update commentary for previous change
	* NEWS: Mention the change.
	* lib/dfa.c, lib/dfa.h (dfaparse, dfamust, dfacomp): Update comments.

2019-12-11  Norihiro Tanaka  <noritnk@kcn.ne.jp>

	dfa: separate parse and compile phase
	‘dfamust’ must be called after parsing and before tokens are
	reordered, but both are executed in the compilation phase.
	Token reordering was introduced in Gnulib commit
	2018-10-22T15:01:08Z!noritnk@kcn.ne.jp
	(5c7a0371823876cca7a1347fa09ca26bbbff0c98).
	* lib/dfa.c (dfaparse): Change it to global function.
	(dfacomp): If first argument is NULL, skip parse.
	* lib/dfa.h: (dfaparse): Add a prototype.

2019-12-11  Bruno Haible  <bruno@clisp.org>

	unistd tests: Fix link error on MSVC.
	* modules/unistd-c++-tests (Makefile.am): Link test-unistd-c++ against
	$(LIB_GETLOGIN).

2019-12-11  Bruno Haible  <bruno@clisp.org>

	doc: Document that ISO C or POSIX substitutes are supported in C++ mode.
	* doc/gnulib-intro.texi (Various Kinds of Modules): Document that ISO C
	and POSIX substitutes are supported in C++ mode.
	* NEWS: Likewise.

2019-12-11  Bruno Haible  <bruno@clisp.org>

	stddef: Fix compilation error in C++ mode on MSVC.
	* lib/stddef.in.h (max_align_t): With MSVC in C++ mode, don't define it;
	instead, include <cstddef>.

2019-12-11  Bruno Haible  <bruno@clisp.org>

	unistd: Fix compilation error in C++ mode on MSVC.
	* lib/unistd.in.h: Don't do include[_next] <unistd.h> if the platform
	does not have <unistd.h>.

2019-12-11  Bruno Haible  <bruno@clisp.org>

	locale: Fix compilation error in C++ mode on MSVC.
	* m4/locale_h.m4 (gl_LOCALE_H): Don't set REPLACE_STRUCT_LCONV on MSVC.
	* lib/locale.in.h (int_p_cs_precedes, int_p_sign_posn,
	int_p_sep_by_space, int_n_cs_precedes, int_n_sign_posn,
	int_n_sep_by_space): Define as macros on MSVC.

2019-12-11  Bruno Haible  <bruno@clisp.org>

	wchar: Fix compilation error in C++ mode on MSVC.
	* lib/wchar.in.h (mbstate_t): Don't override on MSVC.

2019-12-11  Bruno Haible  <bruno@clisp.org>

	pthread-thread: Fix compilation error in C++ mode on MSVC.
	* lib/pthread.in.h (pthread_exit): Don't use _Noreturn in the
	_GL_CXXALIAS_RPL invocation.

2019-12-08  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors in C++ mode on Haiku.
	* lib/stdio.in.h (vdprintf): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.
	* lib/spawn.in.h (posix_spawnattr_getschedpolicy,
	posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
	posix_spawnattr_setschedparam): Likewise.
	* lib/stdlib.in.h (random, initstate_r, setstate_r): Use
	_GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
	* lib/unistd.in.h (usleep): Likewise.

2019-12-08  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors in 32-bit C++ mode on HP-UX 11/ia64.
	* m4/largefile.m4 (gl_SET_LARGEFILE_SOURCE): New macro.
	* modules/fseeko (configure.ac-early): Require it instead of
	AC_FUNC_FSEEKO.
	* modules/ftello (configure.ac-early): Likewise.
	* modules/fflush (configure.ac-early): Likewise.

2019-12-08  Bruno Haible  <bruno@clisp.org>

	Fix compilation error in C++ mode on HP-UX 11.
	* lib/unistd.in.h (getpagesize): Declare on HP-UX.
	* doc/glibc-functions/getpagesize.texi: Mention the HP-UX problem.

2019-12-08  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors on HP-UX 11/ia64.
	* lib/math.in.h (copysignf, fmaf, fma): Undefine before
	_GL_FUNCDECL_SYS.

2019-12-08  Bruno Haible  <bruno@clisp.org>

	Fix compilation error in C++ mode on OpenBSD.
	* lib/signal.in.h (signal): Declare on OpenBSD.

2019-12-08  Bruno Haible  <bruno@clisp.org>

	math tests: Don't fail if isfinite, isinf, isnan, signbit is a macro.
	* tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Use #warning
	instead of #error.

2019-12-08  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors in C++ mode on FreeBSD.
	* lib/pthread.in.h (pthread_exit): Remove _Noreturn from prototype.
	* tests/test-pthread-c++.cc (GNULIB_NAMESPACE::pthread_exit): Likewise.
	* lib/threads.in.h (thrd_exit): Likewise.
	* tests/test-threads-c++.cc (GNULIB_NAMESPACE::thrd_exit): Likewise.

2019-12-08  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors in C++ mode on macOS and FreeBSD.
	* lib/math.in.h (isfinite, isinf, isnan, signbit): In C++ mode on macOS
	or FreeBSD with clang, use the approach without C preprocessor macro.

2019-12-07  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors in C++ mode on AIX with xlclang++.
	Reported by Christian Biesinger <cbiesinger@google.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
	* lib/wchar.in.h (mbstate_t): Don't override on AIX.

2019-12-07  Bruno Haible  <bruno@clisp.org>

	Document compilation error in C++ mode on NetBSD 8.0.
	* doc/posix-headers/monetary.texi: Mention the NetBSD bug.

2019-12-07  Bruno Haible  <bruno@clisp.org>

	Fix compilation errors in C++ mode on Solaris 10.
	* m4/stdbool.m4 (AM_STDBOOL_H): Require AC_CANONICAL_HOST. Set STDBOOL_H
	to non-empty on Solaris with a non-GCC compiler.
	* doc/posix-headers/stdbool.texi: Mention the Solaris issue.

2019-12-07  Bruno Haible  <bruno@clisp.org>

	Reword NEWS entry.
	* NEWS: Reword the latest NEWS entry.

2019-12-05  Pino Toscano  <ptoscano@redhat.com>

	Move xstrtol_fatal to a new xstrtol-error module.
	* lib/xstrtol.h: Stop including <getopt.h>.
	(xstrtol_fatal): Move ...
	* lib/xstrtol-error.h: ... here.  New file.
	* lib/xstrtol-error.c: Include xstrtol-error.h instead of xstrtol.h.
	* tests/test-xstrtol.c: Likewise.
	* modules/xstrtol (Files): Remove lib/xstrtol-error.c.
	(Depends-on): Remove exitfail, error, getopt-gnu, and gettext-h.
	(Makefile.am): Remove xstrtol-error.c from lib_SOURCES.
	* modules/xstrtol-error: New file.
	* modules/xstrtol-tests (Depends-on): Add xstrtol-error.
	* MODULES.html.sh: Add xstrtol-error.
	* NEWS: Document the change.

2019-12-06  Paul Eggert  <eggert@cs.ucla.edu>

	nstrftime: better width support for %N, %z
	* lib/nstrftime.c (width_add, width_add1, width_cpy):
	New macros, which generalize ‘add’, ‘add1’, ‘cpy’ by adding
	a new WIDTH parameter.
	(add, add1, cpy): Use these macros.
	(width_add): Do not treat digits == 0 as a special case,
	do not pad if padding is ‘-’, and do not use a negative width.
	(__strftime_internal): Redo formatting of nanoseconds and numeric
	timezones to avoid buffer misuse in unusual cases, and so that
	widths make more sense.  Add support for widths greater than 9 to
	the %N format; they are zero filled on the right.
	* tests/test-nstrftime.c (posixtm_test): Add a %12N test.

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

	Fix compilation errors in C++ mode on Solaris 10 and Solaris 11.
	* m4/isfinite.m4 (gl_ISFINITE): Require AC_CANONICAL_HOST. On Solaris,
	set REPLACE_ISFINITE to 1.
	* m4/isinf.m4 (gl_ISINF): Require AC_CANONICAL_HOST. On Solaris, set
	REPLACE_ISINF to 1.
	* m4/signbit.m4 (gl_SIGNBIT): On Solaris, set REPLACE_SIGNBIT to 1.
	* lib/pthread.in.h (pthread_create, pthread_once, pthread_key_create):
	Use _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
	* lib/threads.in.h (call_once): Likewise.
	* lib/iconv.in.h (iconv): Likewise.

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

	wchar: Add more C++ tests.
	Reported by Christian Biesinger <cbiesinger@google.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00009.html>.
	* tests/test-wchar-c++3.cc: New file.
	* modules/wchar-c++-tests (Files): Add it.
	(Makefile.am): Compile it.

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

	Add more C++ tests.

	assert-h: Add C++ tests.
	* tests/test-assert-h-c++.cc: New file.
	* tests/test-assert-h-c++2.cc: New file.
	* modules/assert-h-c++-tests: New file.
	* modules/assert-h-tests: New file.

	ctype: Add C++ tests.
	* tests/test-ctype-c++.cc: New file.
	* tests/test-ctype-c++2.cc: New file.
	* modules/ctype-c++-tests: New file.
	* modules/ctype-tests (Depends-on): Add ctype-c++-tests.

	errno: Add C++ tests.
	* tests/test-errno-c++.cc: New file.
	* tests/test-errno-c++2.cc: New file.
	* modules/errno-c++-tests: New file.
	* modules/errno-tests (Depends-on): Add errno-c++-tests.

	float: Add C++ tests.
	* tests/test-float-c++.cc: New file.
	* tests/test-float-c++2.cc: New file.
	* modules/float-c++-tests: New file.
	* modules/float-tests (Depends-on): Add float-c++-tests.

	inttypes: Add more C++ tests.
	* tests/test-inttypes-c++2.cc: New file.
	* modules/inttypes-c++-tests (Files): Add it.
	(Makefile.am): Compile it.

	limits-h: Add C++ tests.
	* tests/test-limits-h-c++.cc: New file.
	* tests/test-limits-h-c++2.cc: New file.
	* modules/limits-h-c++-tests: New file.
	* modules/limits-h-tests (Depends-on): Add limits-h-c++-tests.

	stdarg: Add C++ tests.
	* tests/test-stdarg-c++.cc: New file.
	* tests/test-stdarg-c++2.cc: New file.
	* modules/stdarg-c++-tests: New file.
	* modules/stdarg-tests: New file.

	stdbool: Add C++ tests.
	* tests/test-stdbool-c++.cc: New file.
	* tests/test-stdbool-c++2.cc: New file.
	* modules/stdbool-c++-tests: New file.
	* modules/stdbool-tests (Depends-on): Add stdbool-c++-tests.

	stddef: Add C++ tests.
	* tests/test-stddef-c++.cc: New file.
	* tests/test-stddef-c++2.cc: New file.
	* modules/stddef-c++-tests: New file.
	* modules/stddef-tests (Depends-on): Add stddef-c++-tests.

	stdint: Add C++ tests.
	* tests/test-stdint-c++.cc: New file.
	* tests/test-stdint-c++2.cc: New file.
	* modules/stdint-c++-tests: New file.
	* modules/stdint-tests (Depends-on): Add stdint-c++-tests.

	wchar: Add more C++ tests.
	* tests/test-wchar-c++2.cc: New file.
	* modules/wchar-c++-tests (Files): Add it.
	(Makefile.am): Compile it.

	wctype-h: Add more C++ tests.
	* tests/test-wctype-h-c++2.cc: New file.
	* modules/wctype-h-c++-tests (Files): Add it.
	(Makefile.am): Compile it.

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

	Fix compilation errors in C++ mode with xlclang++ on AIX.
	* lib/math.in.h (expm1l, fmal, remainderl, roundl): Don't redeclare in
	C++ mode on AIX.
	(isfinite, signbit): In C++ mode on AIX with clang, use the approach
	without C preprocessor macro.
	* lib/pthread.in.h (pthread_exit): Use _GL_CXXALIAS_SYS_CAST instead of
	_GL_CXXALIAS_SYS.
	* lib/threads.in.h (thrd_exit): Likewise.

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

	Fix compilation error in C++ mode on Solaris 11 OpenIndiana.
	* lib/wchar.in.h (wcsnrtombs): Force declaration in C++ mode on Solaris.
	* doc/posix-functions/wcsnrtombs.texi: Mention the issue.

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

	Disable more _GL_CXXALIASWARN on all platforms other than glibc systems.
	* lib/wchar.in.h (wcsnrtombs, wcwidth, wcswidth): Disable
	_GL_CXXALIASWARN invocation on non-glibc systems.
	* lib/wctype.in.h (iswalnum, iswalpha, iswcntrl, iswdigit, iswgraph,
	iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit, wctype,
	iswctype, towlower, towupper): Likewise.

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

	Avoid hassles caused by [[noreturn]] in C++.
	Reported by Christian Biesinger <cbiesinger@google.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-12/msg00010.html>.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Disable the use of [[noreturn]].
	* lib/_Noreturn.h: Likewise.

2019-12-02  Bruno Haible  <bruno@clisp.org>

	Fix mistakes in --enable-threads=isoc fixes from 2019-12-01.
	* m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Use LIBPMULTITHREAD, not
	LIBMULTITHREAD.
	* m4/pthread-rwlock.m4 (gl_PTHREAD_RWLOCK): Likewise.
	* m4/pthread-thread.m4 (gl_PTHREAD_THREAD): Likewise.
	* m4/timer_time.m4 (gl_TIMER_TIME): Likewise. Require gl_PTHREADLIB, not
	gl_THREADLIB.
	* modules/timer-time (Depends-on): Add pthread-h. Remove threadlib.

2019-12-02  Bruno Haible  <bruno@clisp.org>

	Fix some more link errors with --enable-threads=isoc.
	* modules/pthread-mutex (Depends-on): Test $gl_threads_api differently.
	* modules/pthread-rwlock (Depends-on): Likewise.

2019-12-02  Bruno Haible  <bruno@clisp.org>

	Fix link errors with --enable-threads=posix on AIX.
	* modules/string-c++-tests (Makefile.am): Link the test-string-c++
	program with $(LIBTHREAD).
	* modules/wchar-c++-tests (Makefile.am): Link the test-wchar-c++
	program with $(LIBTHREAD).

2019-12-02  Bruno Haible  <bruno@clisp.org>

	Fix link errors with --enable-threads=posix on AIX.
	* modules/mbrtowc (Link): New section.
	* modules/acl (Link): Likewise.
	* modules/argmatch (Link): Likewise.
	* modules/backup-rename (Link): Likewise.
	* modules/backupfile (Link): Likewise.
	* modules/closein (Link): Likewise.
	* modules/closeout (Link): Likewise.
	* modules/copy-file (Link): Likewise.
	* modules/csharpcomp (Link): Likewise.
	* modules/csharpexec (Link): Likewise.
	* modules/dfa (Link): Likewise.
	* modules/exclude (Link): Likewise.
	* modules/fnmatch (Link): Likewise.
	* modules/fnmatch-gnu (Link): Likewise.
	* modules/fnmatch-posix (Link): Likewise.
	* modules/glob (Link): Likewise.
	* modules/human (Link): Likewise.
	* modules/javacomp (Link): Likewise.
	* modules/javaexec (Link): Likewise.
	* modules/javaversion (Link): Likewise.
	* modules/mbfile (Link): Likewise.
	* modules/mbiter (Link): Likewise.
	* modules/mbmemcasecmp (Link): Likewise.
	* modules/mbmemcasecoll (Link): Likewise.
	* modules/mbrlen (Link): Likewise.
	* modules/mbscasecmp (Link): Likewise.
	* modules/mbscasestr (Link): Likewise.
	* modules/mbschr (Link): Likewise.
	* modules/mbscspn (Link): Likewise.
	* modules/mbsinit (Link): Likewise.
	* modules/mbslen (Link): Likewise.
	* modules/mbsncasecmp (Link): Likewise.
	* modules/mbsnlen (Link): Likewise.
	* modules/mbsnrtowcs (Link): Likewise.
	* modules/mbspbrk (Link): Likewise.
	* modules/mbspcasecmp (Link): Likewise.
	* modules/mbsrchr (Link): Likewise.
	* modules/mbsrtowcs (Link): Likewise.
	* modules/mbssep (Link): Likewise.
	* modules/mbsspn (Link): Likewise.
	* modules/mbsstr (Link): Likewise.
	* modules/mbstok_r (Link): Likewise.
	* modules/mbswidth (Link): Likewise.
	* modules/mbuiter (Link): Likewise.
	* modules/mkdir-p (Link): Likewise.
	* modules/propername (Link): Likewise.
	* modules/quote (Link): Likewise.
	* modules/quotearg (Link): Likewise.
	* modules/quotearg-simple (Link): Likewise.
	* modules/regex-quote (Link): Likewise.
	* modules/rpmatch (Link): Likewise.
	* modules/sh-quote (Link): Likewise.
	* modules/system-quote (Link): Likewise.
	* modules/trim (Link): Likewise.
	* modules/unistdio/ulc-asnprintf (Link): Likewise.
	* modules/unistdio/ulc-fprintf (Link): Likewise.
	* modules/unistdio/ulc-vasnprintf (Link): Likewise.
	* modules/unistdio/ulc-vasprintf (Link): Likewise.
	* modules/unistdio/ulc-vfprintf (Link): Likewise.
	* modules/unistdio/ulc-vsnprintf (Link): Likewise.
	* modules/unistdio/ulc-vsprintf (Link): Likewise.
	* modules/xfreopen (Link): Likewise.
	* modules/xmemcoll (Link): Likewise.
	* modules/yesno (Link): Likewise.
	* modules/acl-tests (Makefile.am): Link the programs with $(LIBTHREAD).
	* modules/argmatch-tests (Makefile.am): Likewise.
	* modules/closein-tests (Makefile.am): Likewise.
	* modules/copy-file-tests (Makefile.am): Likewise.
	* modules/dfa-tests (Makefile.am): Likewise.
	* modules/fnmatch-tests (Makefile.am): Likewise.
	* modules/glob-tests (Makefile.am): Likewise.
	* modules/mbmemcasecmp-tests (Makefile.am): Likewise.
	* modules/mbmemcasecoll-tests (Makefile.am): Likewise.
	* modules/mbrtowc-tests (Makefile.am): Likewise.
	* modules/mbscasecmp-tests (Makefile.am): Likewise.
	* modules/mbscasestr-tests (Makefile.am): Likewise.
	* modules/mbschr-tests (Makefile.am): Likewise.
	* modules/mbscspn-tests (Makefile.am): Likewise.
	* modules/mbsinit-tests (Makefile.am): Likewise.
	* modules/mbsncasecmp-tests (Makefile.am): Likewise.
	* modules/mbsnrtowcs-tests (Makefile.am): Likewise.
	* modules/mbspbrk-tests (Makefile.am): Likewise.
	* modules/mbspcasecmp-tests (Makefile.am): Likewise.
	* modules/mbsrchr-tests (Makefile.am): Likewise.
	* modules/mbsrtowcs-tests (Makefile.am): Likewise.
	* modules/mbsspn-tests (Makefile.am): Likewise.
	* modules/mbsstr-tests (Makefile.am): Likewise.
	* modules/quotearg-tests (Makefile.am): Likewise.
	* modules/quotearg-simple-tests (Makefile.am): Likewise.
	* modules/readtokens-tests (Makefile.am): Likewise.
	* modules/regex-quote-tests (Makefile.am): Likewise.
	* modules/sh-quote-tests (Makefile.am): Likewise.
	* modules/system-quote-tests (Makefile.am): Likewise.
	* modules/unistdio/ulc-asnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/ulc-vasprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/ulc-vsnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/ulc-vsprintf-tests (Makefile.am): Likewise.
	* modules/yesno-tests (Makefile.am): Likewise.

2019-12-02  Bruno Haible  <bruno@clisp.org>

	Simplify link sections.
	* modules/threadlib (Link): Stop mentioning LTLIBTHREAD.
	* modules/lock (Link): Likewise.
	* modules/cond (Link): Likewise.
	* modules/tls (Link): Likewise.
	* modules/yield (Link): Likewise.
	* modules/regex (Link): Likewise.
	* modules/localename (Link): Likewise.
	* modules/unicase/locale-language (Link): Likewise.
	* modules/thread (Link): Stop mentioning LTLIBMULTITHREAD.

2019-12-02  Bruno Haible  <bruno@clisp.org>

	thread tests: Avoid link error with --enable-threads=isoc+posix on AIX.
	* tests/test-thread_self.c (main): Disable test on AIX.

2019-12-01  Bruno Haible  <bruno@clisp.org>

	pthread-h: Fix link errors with --enable-threads=isoc on AIX.
	* m4/threadlib.m4 (gl_ANYTHREADLIB_EARLY): New macro, extracted from
	gl_THREADLIB_EARLY_BODY.
	(gl_THREADLIB_EARLY_BODY): Invoke it.
	(gl_PTHREADLIB_BODY): New macro, extracted from gl_THREADLIB_BODY.
	(gl_THREADLIB_BODY): Invoke it.
	(gl_PTHREADLIB): New macro.
	* m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_PTHREADLIB. Require
	gl_THREADLIB and test $gl_threads_api only if module 'threadlib' is
	present. Define LIB_PTHREAD using LIBPMULTITHREAD, not LIBMULTITHREAD.
	* modules/pthread-h (Files): Add threadlib.m4.
	(Depends-on): Remove threadlib.
	(configure.ac-early): Invoke gl_ANYTHREADLIB_EARLY. Don't set _REENTRANT
	and _THREAD_SAFE here.
	(Link): Use LIBPTHREAD, not LIBTHREAD.
	* modules/pthread-thread (Link): Use LIBPMULTITHREAD, not
	LIBMULTITHREAD.
	* modules/pthread-once (Link): Likewise.
	* modules/pthread-mutex (Link): Likewise.
	* modules/pthread-rwlock (Link): Likewise.
	* modules/pthread-cond (Link): Likewise.
	* modules/pthread-tss (Link): Likewise.
	* modules/pthread-spin (Link): Likewise.
	* modules/pthread (Link): Likewise.
	* modules/pthread-h-c++-tests (test_pthread_c___LDADD): Likewise.
	* modules/pthread-thread-tests (test_pthread_thread_LDADD): Likewise.
	* modules/pthread-once-tests (test_pthread_once1_LDADD,
	test_pthread_once2_LDADD): Likewise.
	* modules/pthread-mutex-tests (test_pthread_mutex_LDADD): Likewise.
	* modules/pthread-rwlock-tests (test_pthread_rwlock_LDADD): Likewise.
	* modules/pthread-cond-tests (test_pthread_cond_LDADD): Likewise.
	* modules/pthread-tss-tests (test_pthread_tss_LDADD): Likewise.

2019-12-01  Bruno Haible  <bruno@clisp.org>

	cond: State linking requirements.
	* modules/cond (Link): New section.

2019-12-01  Bruno Haible  <bruno@clisp.org>

	threadlib: Remove unnecessary file (left over from 2019-07-06).
	* modules/threadlib (Files): Remove config.rpath.

2019-11-29  Tim Rühsen  <tim.ruehsen@gmx.de>

	gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.
	Reported by Dagobert Michelsen <dam@opencsw.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>.
	* pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a
	list of strings instead of one string.
	* pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly.
	* pygnulib/GLImport.py (execute): Likewise.

2019-11-27  Bruno Haible  <bruno@clisp.org>

	openpty, forkpty: Fix build error on Solaris 11.4.
	* m4/pty_h.m4 (gl_PTY_H): Test for termios.h. Look for the declarations
	also in <termios.h>.
	* m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Look for the declaration
	of the function also in <termios.h>.
	* doc/glibc-functions/openpty.texi: Mention the Solaris 11.4 problems.
	* doc/glibc-functions/forkpty.texi: Likewise.

2019-11-27  Bruno Haible  <bruno@clisp.org>

	New options --enable-threads=isoc and --enable-threads=isoc+posix.
	* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Accept the options
	--enable-threads=isoc and --enable-threads=isoc+posix.
	(gl_THREADLIB_BODY): Test whether the ISO C threads API is available.
	When both the ISO C and the POSIX threads API are available, choose
	USE_ISOC_AND_POSIX_THREADS instead of USE_POSIX_THREADS if
	--enable-threads=isoc+posix was specified. When only the ISO C threads
	API is available and --enable-threads=iso was specified, choose
	USE_ISOC_THREADS.
	* lib/glthread/lock.h: Add new code for USE_ISOC_THREADS ||
	USE_ISOC_AND_POSIX_THREADS.
	* lib/glthread/lock.c: Likewise.
	* lib/glthread/cond.h: Likewise.
	* lib/glthread/cond.c: Likewise.
	* lib/glthread/tls.h: Likewise.
	* lib/glthread/tls.c: Likewise.
	* lib/glthread/yield.h: Likewise.
	* lib/glthread/thread.h: Add new code for USE_ISOC_THREADS. Treat
	USE_ISOC_AND_POSIX_THREADS like USE_POSIX_THREADS.
	* lib/glthread/thread.c: Likewise.
	* lib/glthread/threadlib.c: Likewise.
	* tests/test-lock.c: Save and restore the values of USE_ISOC_THREADS and
	USE_ISOC_AND_POSIX_THREADS.
	* tests/test-cond.c: Consider USE_ISOC_THREADS and
	USE_ISOC_AND_POSIX_THREADS.
	* tests/test-tls.c: Likewise.
	* tests/test-thread_create.c (main): Likewise.
	* tests/test-pthread-cond.c: Likewise.
	* tests/test-pthread-mutex.c: Likewise.
	* tests/test-pthread-once2.c: Likewise.
	* tests/test-pthread-rwlock.c: Likewise.
	* tests/test-pthread-tss.c: Likewise.
	* tests/test-pthread_sigmask2.c: Treat USE_ISOC_AND_POSIX_THREADS like
	USE_POSIX_THREADS.

2019-11-24  Bruno Haible  <bruno@clisp.org>

	mbrtowc: Modernize autoconf test.
	* m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Require
	gt_LOCALE_FR_UTF8. If a traditional Japanese locale is not available,
	try a UTF-8 locale.
	* doc/posix-functions/mbrtowc.texi: Update info about AIX.

2019-11-24  Bruno Haible  <bruno@clisp.org>

	Fix errors in C++ mode on mingw.
	* lib/arpa_inet.in.h (inet_ntop, inet_pton): Use _GL_CXXALIAS_SYS_CAST
	instead of _GL_CXXALIAS_SYS.
	* lib/signal.in.h (pthread_sigmask): Likewise.
	* lib/spawn.in.h (posix_spawn_file_actions_addopen,
	posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
	Likewise.
	* lib/wchar.in.h (btowc): Likewise.

2019-11-24  Bruno Haible  <bruno@clisp.org>

	sys_time: Fix errors in C++ mode on mingw.
	* lib/sys_time.in.h (timeval): Restore the redirection
	'#define timeval rpl_timeval', for when the symbol timeval is being used
	outside the 'gnulib' namespace.
	* lib/sys_select.in.h (select): In C++, write 'timeval', not
	'struct timeval'.

2019-11-24  Bruno Haible  <bruno@clisp.org>

	iswctype: Fix errors in C++ mode on mingw.
	* lib/wctype.in.h (rpl_iswctype): Override if GNULIB_OVERRIDES_WINT_T
	is 1.
	* lib/iswctype.c (iswctype): Add another implementation, for the
	GNULIB_defined_wint_t case.
	* modules/iswctype (configure.ac): Compile iswctype.c also if
	GNULIB_OVERRIDES_WINT_T is 1.

2019-11-24  Bruno Haible  <bruno@clisp.org>

	windows-timedmutex: Fix errors in C++ mode on mingw.
	* lib/windows-timedmutex.h: Add closing brace.

2019-11-24  Bruno Haible  <bruno@clisp.org>

	Fix errors in C++ mode on Cygwin.
	* lib/sys_wait.in.h (waitpid): Use _GL_CXXALIAS_SYS_CAST instead of
	_GL_CXXALIAS_SYS.

2019-11-24  Bruno Haible  <bruno@clisp.org>

	time_r: Fix for mingw (regression from 2019-11-16).
	* m4/time_r.m4 (gl_TIME_R): Revert to using AC_CHECK_FUNCS_ONCE. Use the
	AC_LINK_IFELSE test only if the function does not appear to exist.

2019-11-24  Bruno Haible  <bruno@clisp.org>

	wcstok: Add tests.
	* tests/test-wcstok.c: New file.
	* modules/wcstok-tests: New file.

2019-11-24  Bruno Haible  <bruno@clisp.org>

	wcstok: Work around wrong signature on native Windows.
	* lib/wchar.in.h (wcstok): Override when REPLACE_WCSTOK is 1.
	* m4/wcstok.m4 (gl_FUNC_WCSTOK): Check for signature of wcstok. Set
	REPLACE_WCSTOK.
	* m4/wchar_h.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSTOK.
	* modules/wchar (Makefile.am): Substitute REPLACE_WCSTOK.
	* modules/wcstok (Depends-on, configure.ac): Consider REPLACE_WCSTOK.
	* doc/posix-functions/wcstok.texi: Mention the problem.

2019-11-22  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: INT_MULTIPLY_WRAPV speedup for GCC 8.4+
	* lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 8.x where 4 <= x,
	remove workaround for GCC bug 91450 as the bug should be fixed
	there too.

2019-11-21  Bruno Haible  <bruno@clisp.org>

	Disable many _GL_CXXALIASWARN on all platforms other than glibc systems.
	Reported by Christian Biesinger <cbiesinger@google.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00066.html>.
	* lib/fnmatch.in.h (fnmatch): Disable _GL_CXXALIASWARN invocation on
	non-glibc systems.
	* lib/locale.in.h (localeconv, setlocale): Likewise.
	* lib/math.in.h (cbrt, ceil, copysign, exp2, expm1, floor, fma, fmod,
	frexp, hypot, ilogb, log, log10, log1p, log2, logb, modf, remainder,
	rint, round, trunc): Likewise.
	* lib/monetary.in.h (strfmon_l): Likewise.
	* lib/pthread.in.h (pthread_mutexattr_getrobust,
	pthread_mutexattr_setrobust, pthread_mutex_lock, pthread_spin_init,
	pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock,
	pthread_spin_destroy): Likewise.
	* lib/signal.in.h (raise, signal): Likewise.
	* lib/stdio.in.h (fclose, fflush, fgetc, fgets, fopen, fprintf, fputc,
	fputs, fread, freopen, fscanf, fseek, ftell, fwrite, getc, getchar,
	perror, printf, putc, putchar, puts, remove, rename, scanf, sprintf,
	tmpfile, vfprintf, vprintf, vsprintf): Likewise.
	* lib/stdlib.in.h (calloc, malloc, mbtowc, realloc, strtod, wctomb):
	Likewise.
	* lib/string.in.h (memchr, strncat, strpbrk, strstr, strerror):
	Likewise.
	* lib/time.in.h (mktime, localtime, ctime, strftime): Likewise.
	* lib/wchar.in.h (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs,
	wcrtomb, wcsrtombs, wmemchr, wmemcmp, wmemcpy, wmemmove, wmemset,
	wcslen, wcscpy, wcsncpy, wcscat, wcsncat, wcscmp, wcsncmp, wcscoll,
	wcsxfrm, wcschr, wcsrchr, wcscspn, wcsspn, wcspbrk, wcsstr, wcstok,
	wcsftime): Likewise.
	* lib/wctype.in.h (iswblank, wctrans, towctrans): Likewise.

2019-11-21  Bruno Haible  <bruno@clisp.org>

	Fix various errors in _GL_CXXALIAS_SYS invocations.
	* lib/locale.in.h (freelocale): Use _GL_CXXALIAS_SYS_CAST instead of
	_GL_CXXALIAS_SYS.
	* lib/pthread.in.h (pthread_mutexattr_gettype,
	pthread_mutexattr_getrobust): Likewise.
	* lib/stdlib.in.h (srandom, initstate, setstate): Likewise.
	* lib/sys_socket.in.h (recv, send): Likewise.
	* lib/unistd.in.h (getdtablesize): Likewise.
	* lib/sys_select.in.h (select): In C++, write 'timeval' instead of
	'struct timeval'.

2019-11-21  Bruno Haible  <bruno@clisp.org>

	math tests: Update after 2019-08-28 change.
	* tests/test-math-c++.cc (isfinite, isinf, isnan, signbit): Expect a
	return type of 'bool', not 'int'.

2019-11-21  Bruno Haible  <bruno@clisp.org>

	pthread-spin: Fix errors in C++ mode.
	* m4/pthread-spin.m4 (gl_PTHREAD_SPIN): Mark the pthread_spin_*
	functions as nonexistent when <pthread.h> exists but does not define
	the pthread_spinlock_t type.

2019-11-21  Bruno Haible  <bruno@clisp.org>

	pthread-mutex: Fix errors in C++ mode.
	* m4/pthread-mutex.m4 (gl_PTHREAD_MUTEX): Test whether
	pthread_mutexattr_getrobust exists. If not, define
	PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
	* lib/pthread-mutex.c (pthread_mutexattr_getrobust,
	pthread_mutexattr_setrobust): Define also if <pthread.h> exists but
	PTHREAD_MUTEXATTR_ROBUST_UNIMPLEMENTED.
	* modules/pthread-mutex (configure.ac): Compile pthread-mutex.c also
	when <pthread.h> exists but pthread_mutexattr_getrobust needs a gnulib
	definition.

2019-11-19  Bruno Haible  <bruno@clisp.org>

	threads-h tests: Fix typo.
	* tests/test-threads-c++.cc: Fix references to undefined type 'mtx'.

2019-11-19  Bruno Haible  <bruno@clisp.org>

	pthread-thread: Fix prototype of pthread_attr_getdetachstate.
	* lib/pthread.in.h (pthread_attr_getdetachstate): Change first parameter
	to 'const pthread_attr_t *'.
	* lib/pthread-thread.c (pthread_attr_getdetachstate): Likewise.
	* tests/test-pthread-c++.cc (pthread_attr_getdetachstate): Likewise.

2019-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: speed up INT_MULTIPLY_WRAPV in GCC 9.3
	* lib/intprops.h (INT_MULTIPLY_WRAPV): If GCC 9.3 or later, do not
	work around GCC bug 91450 as the bug should be fixed there.

2019-11-18  Paul Eggert  <eggert@cs.ucla.edu>

	glob: get closer to glibc glob.c
	Omit differences from glibc when the differences don’t matter.
	* lib/glob.c [_LIBC]: Include shlib-compat.h.
	(__glob) [!_LIBC]: New macro.  All uses of glob changed to __glob.
	(glob_lstat): New function.
	(glob_in_dir): Use it.
	(GLOB_ATTRIBUTE): Define to empty if not already defined.
	Use changed.

2019-11-18  Bruno Haible  <bruno@clisp.org>

	stdint: Define [u]intptr_t correctly on 64-bit native Windows.
	* lib/stdint.in.h (gl_intptr_t, gl_uintptr_t, INTPTR_MIN, INTPTR_MAX,
	UINTPTR_MAX): Consider _WIN64.
	* tests/test-stdint.c: Verify that [u]intptr_t is large enough to hold
	a pointer.

2019-11-18  Bruno Haible  <bruno@clisp.org>

	stdint: Fix value of WINT_MAX when we override wint_t.
	* lib/stdint.in.h (WINT_MIN, WINT_MAX): Don't override a second time
	when GNULIB_OVERRIDES_WINT_T is 1.

2019-11-18  Bruno Haible  <bruno@clisp.org>

	vcs-to-changelog: New module.
	* modules/vcs-to-changelog: New file.
	* MODULES.html.sh (func_all_modules): Add it.

2019-11-01  Siddhesh Poyarekar  <siddhesh@gotplt.org>

	vcs-to-changelog: New script to generate ChangeLog-like output.
	Discussion:
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00062.html>
	* build-aux/vcs_to_changelog.py: New file.
	* build-aux/vcstocl/frontend_c.py: New file.
	* build-aux/vcstocl/misc_util.py: New file.
	* build-aux/vcstocl/vcs_git.py: New file.

2019-11-18  Bruno Haible  <bruno@clisp.org>

	stdint: Avoid triggering a "conflicting types" error on mingw 5.22.
	Reported by Keith Marshall <keith@users.osdn.me> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-10/msg00044.html>
	and <https://osdn.net/projects/mingw/ticket/39677>.
	* lib/stdint.in.h (intptr_t, uintptr_t): Don't define if the types have
	already been defined by mingw's <crtdefs.h>.

2019-11-18  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix build error on macOS with --conditional-dependencies.
	* gnulib-tool (func_modules_add_dummy): Ignore modules that are
	conditionally enabled.

2019-11-18  Bruno Haible  <bruno@clisp.org>

	gc: Mirror libgcrypt.m4 from libgcrypt.
	* config/srclistvars.sh (LIBGCRYPT): New variable.
	* config/srclist.txt: Use it to fetch m4/libgcrypt.m4.

2019-11-17  Bruno Haible  <bruno@clisp.org>

	locale, localename: Improve z/OS support.
	Reported by Daniel Richard G. in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00001.html>.
	* m4/locale_h.m4 (gl_LOCALE_T): New macro, partially extracted from
	gl_LOCALE_H.
	(gl_LOCALE_H): Require it.
	* m4/localename.m4 (gl_LOCALENAME): Likewise. If locale_t is not
	defined, don't even check for newlocale, duplocale, freelocale.
	* m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): Make the test fail when
	locale_t is not defined.

2019-11-17  Bruno Haible  <bruno@clisp.org>

	havelib: Make libdirstems processing more flexible.
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Set 3 libdirstem
	variables: Consider 'lib' always, also on Solaris. Look for lib32 in
	addition to lib64. Don't invoke /usr/bin/gcc (reverting the second
	patch from 2017-02-19).
	* m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Consider up to 3 additional
	libdirs, even when the first one exists as a directory.

2019-11-17  Bruno Haible  <bruno@clisp.org>

	havelib: Match the bitness when searching for libraries.
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Define a function
	acl_is_expected_elfclass.
	* m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): When testing whether a library
	file exists, in ELF, also test whether it has the ELF class that
	corresponds to the host's bitness.

2019-11-17  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Add support for unknown CPUs.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): Set
	gl_cv_host_cpu_c_abi_32bit to 'unknown' if we don't know whether it's
	32-bit or 64-bit.

2019-11-17  Bruno Haible  <bruno@clisp.org>

	havelib: Remove redundant code.
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Remove Solaris specific
	test for 64-bit host. Use gl_HOST_CPU_C_ABI_32BIT result instead.

2019-11-17  Bruno Haible  <bruno@clisp.org>

	havelib: Fix a bug in dependency processing.
	* m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): During dependency processing
	of .la files, don't overwrite the value of additional_libdir for the
	next rounds.

2019-11-16  Bruno Haible  <bruno@clisp.org>

	wctype-h: When overriding wint_t, override also the related functions.
	Reported by Christian Biesinger <cbiesinger@google.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00027.html>.
	* m4/wctype_h.m4 (gl_WCTYPE_H): When GNULIB_OVERRIDES_WINT_T is 1, set
	REPLACE_ISWCNTRL to 1.
	* lib/wctype.in.h (rpl_iswalnum, rpl_iswalpha, rpl_iswblank,
	rpl_iswcntrl, rpl_iswdigit, rpl_iswgraph, rpl_iswlower, rpl_iswprint,
	rpl_iswpunct, rpl_iswspace, rpl_iswupper, rpl_iswxdigit, rpl_towlower,
	rpl_towupper): New definitions when GNULIB_OVERRIDES_WINT_T is 1.
	* doc/posix-headers/wchar.texi: Mention that wint_t is also overridden
	on mingw.
	* doc/posix-headers/wctype.texi: Likewise.

2019-11-16  Bruno Haible  <bruno@clisp.org>

	time_r: Fix for mingw.
	Reported by Christian Biesinger <cbiesinger@google.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00014.html>.
	* lib/time.in.h: On mingw, include <unistd.h>.
	* m4/time_r.m4 (gl_TIME_R): On mingw, include <unistd.h> before
	<time.h>. Test for localtime_r in a way that works when it is defined
	as an inline function.

2019-11-13  Bruno Haible  <bruno@clisp.org>

	havelib: Revert last change.
	* build-aux/config.rpath: Revert last change. We can add msys2 support
	when it has been added to libtool.m4 upstream.

2019-11-09  Paul Eggert  <eggert@cs.ucla.edu>

	config: add msys support
	Requested by Arnold Robbins in:
	https://lists.gnu.org/r/bug-gnulib/2019-11/msg00008.html
	He also requested a change to config.guess, which I’ll forward
	upstream.
	* build-aux/ar-lib (func_file_conv):
	* build-aux/compile (func_file_conv):
	* build-aux/config.rpath (wl, with_gnu_ld)
	(hardcode_libdir_flag_spec, libext, shrext, library_names_spec):
	Treat msys like cygwin.

2019-11-06  Paul Eggert  <eggert@cs.ucla.edu>

	regex: now back in sync with glibc
	* config/srclist.txt: regcomp.c, regex_internal.c, regex_internal.h,
	regexec.c got merged into glibc and are now copies again.

2019-10-27  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Recognize i386 and a couple of other CPUs as 32-bit.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Include i386 in the case
	statement.
	(gl_HOST_CPU_C_ABI_32BIT): Likewise. Also recognize a couple of other
	32-bit CPUs.

2019-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	timespec-add, timespec-sub: simplify
	* lib/timespec-add.c (timespec_add):
	* lib/timespec-sub.c (timespec_sub):
	Simplify, now that INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
	work on unsigned integers.

2019-10-23  Paul Eggert  <eggert@cs.ucla.edu>

	nstrftime: speed up integer overflow checking
	* lib/nstrftime.c: Include intprops.h.
	(INT_STRLEN_BOUND): Remove, as we can use intprops.h’s defn.
	(__strftime_internal): Use INT_MULTIPLY_WRAPV and INT_ADD_WRAPV
	instead of doing it by hand.
	* modules/nstrftime (Depends-on): Add intprops.

	Port better to GCC under macOS
	Work around macOS header that has ‘#define __has_builtin(x) 0’
	when compiled by GCC.  Apple really, really doesn’t want you to
	use GCC, apparently.  Rroblem reported by Akim Demaille in:
	https://lists.gnu.org/r/bug-bison/2019-10/msg00071.html
	The fix is to not trust __has_builtin when being compiled by
	recent-enough GCC.
	* lib/intprops.h (__has_builtin)
	(_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
	* lib/verify.h (__has_builtin, _GL_HAS___builtin_unreachable)
	(_GL_HAS___builtin_trap, _GL_TEMPDEF___has_builtin):
	Remove.  All uses removed.
	* lib/intprops.h (_GL_HAS_BUILTIN_ADD_OVERFLOW): Use __has_builtin
	directly, if defined and if not newer GCC.
	* lib/verify.h (_GL_HAS_BUILTIN_TRAP, _GL_HAS_BUILTIN_UNREACHABLE):
	New macro, that use __has_builtin directly, if defined and if
	not newer GCC.
	(assume): Use them.

2019-10-22  Akim Demaille  <akim@lrde.epita.fr>

	maintainer-makefile: update rule for argmatch.
	* top/maint.mk (sc_prohibit_argmatch_without_use): Add ARGMATCH_DEFINE_GROUP.

2019-10-21  Akim Demaille  <akim@lrde.epita.fr>

	bitset: let freeing functions accept NULL.
	* lib/bitset.c (bitset_free, bitset_obstack_free): Do nothing if
	given NULL.
	* lib/bitset.h: Document that.
	* doc/bitset.texi: Fix the example, and demonstrate bitset_free.

2019-10-15  Paul Eggert  <eggert@cs.ucla.edu>

	inttypes: use more-robust test for int range
	This fixes Bison 3.4.2 when built with Oracle Solaris Studio 12.3.
	Problem reported by Dagobert Michelsen in:
	https://lists.gnu.org/r/bug-gnulib/2019-10/msg00042.html
	* lib/inttypes.in.h: Rely only on limits.h when checking
	int range.

2019-10-15  Bruno Haible  <bruno@clisp.org>

	libtextstyle-optional: Sync with current not-yet-released libtextstyle.
	* libtextstyle-optional (styled_ostream_get_hyperlink_ref,
	styled_ostream_get_hyperlink_id, styled_ostream_set_hyperlink,
	term_ostream_get_hyperlink_ref, term_ostream_get_hyperlink_id,
	term_ostream_set_hyperlink): New functions.
	(term_styled_ostream_get_hyperlink_ref,
	term_styled_ostream_get_hyperlink_id,
	term_styled_ostream_set_hyperlink): New function aliases.

2019-10-14  Paul Eggert  <eggert@cs.ucla.edu>

	update-copyright: use en dashes in .texi ranges
	* build-aux/update-copyright: Match year ranges like "1998--2019",
	which are used in the Autoconf manual.  Also, update ranges in
	.tex, .texi, and .texinfo files to use en dashes instead of
	hyphens.

2019-10-13  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Remove posix/regex_internal.c for now.

2019-10-13  Bruno Haible  <bruno@clisp.org>

	git-version-gen: Allow 'snapshot' as .tarball-version contents.
	* build-aux/git-version-gen: Don't map non-numeric .tarball-version
	contents to the empty string.

2019-10-12  Bruno Haible  <bruno@clisp.org>

	intprops tests: Fix compilation errors on HP-UX/ia64 with cc.
	* tests/test-intprops.c (main): Disable two more tests when using
	HP-UX cc.

2019-10-11  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify and regularize regex use of ‘assert’
	Also, tell GCC about the asserts even when compiling without
	debugging, to give it further optimization opportunities.
	* lib/regex_internal.h (DEBUG_ASSERT): New macro.
	* lib/regcomp.c (link_nfa_nodes, calc_eclosure)
	(parse_expression, parse_bracket_exp):
	* lib/regex_internal.c (build_wcs_buffer)
	(build_wcs_upper_buffer, re_string_reconstruct)
	(re_string_context_at):
	* lib/regexec.c (re_search_stub, re_copy_regs)
	(re_search_internal, prune_impossible_nodes, check_matching)
	(check_halt_state_context, set_regs, sift_states_backward)
	(build_sifted_states, transit_state_mb, transit_state_bkref)
	(check_arrival_add_next_nodes, check_arrival_expand_ecl)
	(match_ctx_add_subtop):
	Use it instead of plain ‘assert’.

2019-10-09  Paul Eggert  <eggert@cs.ucla.edu>

	regex: omit debug assignment when not debugging
	* lib/regexec.c (re_search_internal) [!DEBUG]:
	Remove unnecessary assignment.

	regex: tell compiler there’s at most 256 arcs out
	Partly this is to help the reader (and maybe help GCC);
	partly this is to pacify Coverity.
	* lib/regex_internal.h: Include verify.h.
	* lib/regexec.c (group_nodes_into_DFAstates):
	Tell the compiler that ndests cannot exceed SBC_MAX.
	* modules/regex (Depends-on): Add ‘verify’.

	regex: simplify by assuming C99
	* config/srclist.txt: Comment out regex_internal.h and regexec.c
	temporarily.
	* lib/regex_internal.h (lock_define, re_match_context_t):
	Simplify by assuming C99 macros and const.
	* lib/regexec.c (re_search_internal): Simplify by assuming C99
	initializers.  Remove unnecessary assignment, as mctx is now
	safely initialized earlier.

	regex: avoid copying of uninitialized storage
	* config/srclist.txt: Comment out regcomp.c temporarily.
	* lib/regcomp.c (build_charclass_op, create_tree) [! (GCC_LINT||lint)]:
	Initialize even when not checking for lint, as the behavior is
	arguably undefined otherwise and Coverity warns about it.

2019-10-06  Bruno Haible  <bruno@clisp.org>

	access tests: Fix test failure when run as root.
	* tests/test-access.c: Include root-uid.h.
	(geteuid): Define fallback.
	(main): Don't expect that writing to a read-only file would fail when
	running as root. Also, remove the created files at the end.
	* modules/access-tests (Depends-on): Add root-uid.
	(configure.ac): Test whether geteuid exists.

2019-10-06  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)

	users.txt: add GNU nano
	Nano has been making use of gnulib since March 2017, version 2.8.0.

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

	bootstrap: simplify debugging of wget failures
	Problem reported by Tim Rühsen in:
	https://lists.gnu.org/r/bug-gnulib/2019-10/msg00000.html
	* build-aux/bootstrap (po_download_command_format):
	Invoke wget with -nv instead of -q, to make debugging easier.

2019-09-29  Bruno Haible  <bruno@clisp.org>

	avltree-list: Fix compilation warning (introduced on 2014-09-16).
	* lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Remove
	'const' attribute.

2019-09-29  Bruno Haible  <bruno@clisp.org>

	fbufmode: Fix compilation error on glibc >= 2.28 systems.
	* lib/stdio-impl.h (_IO_UNBUFFERED): Define fallback on glibc >= 2.28.

2019-09-28  Bruno Haible  <bruno@clisp.org>

	Update comments that refer to POSIX.
	* lib/creat.c, lib/fopen.c, lib/open.c, lib/openat.c: Cite the relevant
	sentence about trailing slashes.
	* lib/fflush.c: Clarify the reasoning.
	* tests/test-fflush2.c: Cite the relevant sentence.

2019-09-28  Bruno Haible  <bruno@clisp.org>

	access: Document limitations on Windows.
	Suggested by Zaretskii <eliz@gnu.org>.
	* doc/posix-functions/access.texi: Mention two limitations on Windows.

2019-09-28  Bruno Haible  <bruno@clisp.org>

	findprog-in: Fix comment.
	Reported by Eli Zaretskii <eliz@gnu.org>.
	* lib/findprog.h (find_in_given_path): Extend description of EACCES
	condition.
	* lib/stat.c (rpl_stat): Fix typo in comment.
	* lib/utime.c (_gl_utimens_windows): Likewise.

2019-09-23  Paul Eggert  <eggert@cs.ucla.edu>

	Update URLs and associated text
	(Thanks to Bruno Haible for proofreading this patch.)
	Prefer https: to http: in URLs where either will do, for the usual
	security reasons.  I also updated broken and/or moved URLs
	discovered during the process. In a few places I had to resort to
	archive.org, since I didn't find the originals elsewhere.

2019-09-15  Paul Smith  <psmith@gnu.org>
            Bruno Haible  <bruno@clisp.org>

	findprog-in: Set errno when the search fails.
	* lib/findprog-in.c: Include <errno.h>.
	(find_in_given_path): Set errno before returning NULL.
	* lib/findprog.h (find_in_given_path): Update comment accordingly.
	Define the term "slash".

2019-09-15  Bruno Haible  <bruno@clisp.org>

	findprog, findprog-lgpl, findprog-in: Fix crash on MSVC.
	* modules/findprog (Depends-on): Add access.
	* modules/findprog-lgpl (Depends-on): Likewise.
	* modules/findprog-in (Depends-on): Likewise.

2019-09-15  Bruno Haible  <bruno@clisp.org>

	access: Add tests.
	* tests/test-access.c: New file.
	* modules/access-tests: New file.

	access: New module.
	* lib/unistd.in.h (access): New declaration.
	* lib/access.c: New file.
	* m4/access.m4: New file.
	* m4/unistd_h.m4 (gl_UNISTD_H): Test whether access is declared.
	(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ACCESS, REPLACE_ACCESS.
	* modules/unistd (Makefile.am): Substitute GNULIB_ACCESS,
	REPLACE_ACCESS.
	* modules/access: New file.
	* tests/test-unistd-c++.cc (access): Check signature.
	* doc/posix-functions/access.texi: Mention the new module.

2019-09-15  Bruno Haible  <bruno@clisp.org>

	fcntl-h: Fix compilation error of creat.c on MSVC.
	* lib/fcntl.in.h: Include <io.h> also when __need_system_fcntl_h is
	defined.

2019-09-15  Bruno Haible  <bruno@clisp.org>

	creat: Add tests.
	* tests/test-creat.c: New file, based on tests/test-open.h.
	* modules/creat-tests: New file.

	creat: New module.
	* lib/fcntl.in.h (creat): New declaration.
	* lib/creat.c: New file, based on lib/open.c.
	* m4/creat.m4: New file.
	* m4/open-slash.m4: New file, extracted from m4/open.m4.
	* m4/open.m4 (gl_FUNC_OPEN): Move trailing-slash test to open-slash.m4.
	Invoke gl_OPEN_TRAILING_SLASH_BUG.
	* modules/open (Files): Add m4/open-slash.m4.
	* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_CREAT,
	REPLACE_CREAT.
	* modules/fcntl-h (Makefile.am): Substitute GNULIB_CREAT, REPLACE_CREAT.
	* modules/creat: New file.
	* tests/test-fcntl-h-c++.cc (creat): Check signature.
	* doc/posix-functions/creat.texi: Mention the new module.

2019-09-15  Bruno Haible  <bruno@clisp.org>

	open tests: Enhance test.
	* tests/test-open.h (test_open): Test the creation of an executable
	regular file. Also improve initial cleanup.

2019-09-15  Bruno Haible  <bruno@clisp.org>

	intprops tests: Avoid build failure with HP-UX cc.
	* tests/test-intprops.c: Disable a check that makes HP cc choke with
	"error 4018: Macro param too large after substitution - use -H option.".

2019-09-14  Bruno Haible  <bruno@clisp.org>

	Make autoconf tests work with -Werror=implicit-function-declaration.
	* m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Include <wctype.h>, for
	towupper() declaration.
	* m4/ptsname.m4 (gl_FUNC_PTSNAME): Include <stdlib.h>, for ptsname()
	declaration.

2019-09-14  Bruno Haible  <bruno@clisp.org>

	findprog-in: Better mimic the system on native Windows.
	Reported by Paul Smith <psmith@gnu.org>.
	* lib/findprog-in.c (find_in_given_path): On native Windows, don't try
	non-empty suffixes when the file name already contains a '.'.

2019-09-10  Bruno Haible  <bruno@clisp.org>

	wctob: Fix autoconf test.
	Based on patch by Florian Weimer <fweimer@redhat.com>.
	* m4/wctob.m4 (gl_FUNC_WCTOB): Include <stdlib.h> before using mbtowc.

2019-09-09  Akim Demaille  <akim@lrde.epita.fr>

	xhash: provide hash_xinitialize.
	Suggested by Egor Pugin <egor.pugin@gmail.com>
	https://lists.gnu.org/archive/html/bison-patches/2019-09/msg00026.html
	* modules/xhash, lib/xhash.c: New.
	* lib/hash.h (hash_xinitialize): New.

2019-09-09  Bruno Haible  <bruno@clisp.org>

	findprog-in: Make exec optimization optional.
	* lib/findprog.h: Add double-inclusion guard. Include <stdbool.h>.
	(find_in_given_path): Add optimize_for_exec parameter.
	* lib/findprog-in.c (find_in_given_path): Likewise.

2019-09-08  Bruno Haible  <bruno@clisp.org>

	Add option to assume the best, not the worst, when cross-compiling.
	Suggested by Jonas Termansen <sortie@maxsi.org>.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Add --enable-cross-guesses=...
	option. Set gl_cross_guess_normal and gl_cross_guess_inverted.
	* m4/argz.m4 (gl_FUNC_ARGZ): Obey --enable-cross-guesses for
	lt_cv_sys_argz_works.
	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Obey --enable-cross-guesses for
	ac_cv_func_calloc_0_nonnull.
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Obey
	--enable-cross-guesses for gl_cv_func_realpath_works.
	* m4/cbrtl.m4 (gl_FUNC_CBRTL): Obey --enable-cross-guesses for
	gl_cv_func_cbrtl_ieee.
	* m4/ceil.m4 (gl_FUNC_CEIL): Obey --enable-cross-guesses for
	gl_cv_func_ceil_ieee.
	* m4/ceilf.m4 (gl_FUNC_CEILF): Obey --enable-cross-guesses for
	gl_cv_func_ceilf_ieee.
	* m4/ceill.m4 (gl_FUNC_CEILL): Obey --enable-cross-guesses for
	gl_cv_func_ceill_ieee.
	* m4/chown.m4 (AC_FUNC_CHOWN): Obey --enable-cross-guesses for
	ac_cv_func_chown_works.
	(gl_FUNC_CHOWN): Obey --enable-cross-guesses for
	gl_cv_func_chown_slash_works, gl_cv_func_chown_ctime_works.
	* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Obey
	--enable-cross-guesses for gl_cv_struct_dirent_d_ino.
	* m4/exp2l.m4 (gl_FUNC_EXP2L): Obey --enable-cross-guesses for
	gl_cv_func_exp2l_works, gl_cv_func_exp2l_ieee.
	* m4/expl.m4 (gl_FUNC_EXPL): Obey --enable-cross-guesses for
	gl_cv_func_expl_works.
	* m4/expm1.m4 (gl_FUNC_EXPM1): Obey --enable-cross-guesses for
	gl_cv_func_expm1_ieee.
	* m4/expm1l.m4 (gl_FUNC_EXPM1L): Obey --enable-cross-guesses for
	gl_cv_func_expm1l_works.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Obey --enable-cross-guesses for
	gl_cv_func_open_directory_works.
	* m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Obey
	--enable-cross-guesses for gl_cv_func_fchownat_nofollow_works.
	(gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Obey --enable-cross-guesses for
	gl_cv_func_fchownat_empty_filename_works.
	* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Obey --enable-cross-guesses for
	gl_cv_func_fdopendir_works.
	* m4/floor.m4 (gl_FUNC_FLOOR): Obey --enable-cross-guesses for
	gl_cv_func_floor_ieee.
	* m4/floorf.m4 (gl_FUNC_FLOORF): Obey --enable-cross-guesses for
	gl_cv_func_floorf_ieee.
	* m4/fma.m4 (gl_FUNC_FMA_WORKS): Obey --enable-cross-guesses for
	gl_cv_func_fma_works.
	* m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Obey --enable-cross-guesses for
	gl_cv_func_fmaf_works.
	* m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Obey --enable-cross-guesses for
	gl_cv_func_fmal_works.
	* m4/fmod.m4 (gl_FUNC_FMOD): Obey --enable-cross-guesses for
	gl_cv_func_fmod_ieee.
	* m4/fmodf.m4 (gl_FUNC_FMODF): Obey --enable-cross-guesses for
	gl_cv_func_fmodf_ieee.
	* m4/fmodl.m4 (gl_FUNC_FMODL): Obey --enable-cross-guesses for
	gl_cv_func_fmodl_ieee.
	* m4/fpurge.m4 (gl_FUNC_FPURGE): Obey --enable-cross-guesses for
	gl_cv_func_fpurge_works.
	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Obey
	--enable-cross-guesses for gl_cv_func_getcwd_path_max.
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Obey --enable-cross-guesses for
	gl_cv_func_getcwd_null.
	(gl_FUNC_GETCWD): Update for getcwd-path-max.m4 change.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Obey --enable-cross-guesses for
	gl_cv_func_working_getdelim.
	* m4/getgroups.m4 (AC_FUNC_GETGROUPS): Obey --enable-cross-guesses for
	ac_cv_func_getgroups_works. Keep this macro also in Autoconf >= 2.70.
	(gl_FUNC_GETGROUPS): Obey --enable-cross-guesses for
	gl_cv_func_getgroups_works.
	* m4/getline.m4 (gl_FUNC_GETLINE): Obey --enable-cross-guesses for
	am_cv_func_working_getline.
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Obey --enable-cross-guesses
	for gl_cv_func_getopt_gnu.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Obey
	--enable-cross-guesses for gl_cv_func_gettimeofday_clobber.
	* m4/hypot.m4 (gl_FUNC_HYPOT): Obey --enable-cross-guesses for
	gl_cv_func_hypot_ieee.
	* m4/hypotf.m4 (gl_FUNC_HYPOTF): Obey --enable-cross-guesses for
	gl_cv_func_hypotf_ieee.
	* m4/hypotl.m4 (gl_FUNC_HYPOTL): Obey --enable-cross-guesses for
	gl_cv_func_hypotl_ieee.
	* m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Obey
	--enable-cross-guesses for gl_cv_func_iconv_supports_utf.
	* m4/link.m4 (gl_FUNC_LINK): Obey --enable-cross-guesses for
	gl_cv_func_link_works.
	* m4/linkat.m4 (gl_FUNC_LINKAT): Obey --enable-cross-guesses for
	gl_cv_func_linkat_slash.
	* m4/log.m4 (gl_FUNC_LOG): Obey --enable-cross-guesses for
	gl_cv_func_log_ieee.
	* m4/logf.m4 (gl_FUNC_LOGF): Obey --enable-cross-guesses for
	gl_cv_func_logf_ieee.
	* m4/logl.m4 (gl_FUNC_LOGL_WORKS): Obey --enable-cross-guesses for
	gl_cv_func_logl_works.
	* m4/log10.m4 (gl_FUNC_LOG10): Obey --enable-cross-guesses for
	gl_cv_func_log10_ieee.
	* m4/log10f.m4 (gl_FUNC_LOG10F): Obey --enable-cross-guesses for
	gl_cv_func_log10f_ieee.
	* m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Obey --enable-cross-guesses for
	gl_cv_func_log10l_works.
	* m4/log1p.m4 (gl_FUNC_LOG1P): Obey --enable-cross-guesses for
	gl_cv_func_log1p_ieee.
	* m4/log1pf.m4 (gl_FUNC_LOG1PF): Obey --enable-cross-guesses for
	gl_cv_func_log1pf_ieee.
	* m4/log1pl.m4 (gl_FUNC_LOG1PL): Obey --enable-cross-guesses for
	gl_cv_func_log1pl_ieee.
	* m4/log2.m4 (gl_FUNC_LOG2): Obey --enable-cross-guesses for
	gl_cv_func_log2_ieee.
	* m4/log2f.m4 (gl_FUNC_LOG2F): Obey --enable-cross-guesses for
	gl_cv_func_log2f_ieee.
	* m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Obey
	--enable-cross-guesses for
	gl_cv_func_lstat_dereferences_slashed_symlink.
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Obey --enable-cross-guesses for
	ac_cv_func_malloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
	* m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Obey --enable-cross-guesses for
	gl_cv_C_locale_sans_EILSEQ.
	* m4/memchr.m4 (gl_FUNC_MEMCHR): Obey --enable-cross-guesses for
	gl_cv_func_memchr_works.
	* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Obey --enable-cross-guesses for
	gl_cv_func_memmem_works_always.
	(gl_FUNC_MEMMEM): Obey --enable-cross-guesses for
	gl_cv_func_memmem_works_fast.
	* m4/mkdir.m4 (gl_FUNC_MKDIR): Obey --enable-cross-guesses for
	gl_cv_func_mkdir_trailing_slash_works,
	gl_cv_func_mkdir_trailing_dot_works.
	* m4/mkfifo.m4 (gl_FUNC_MKFIFO): Obey --enable-cross-guesses for
	gl_cv_func_mkfifo_works.
	* m4/mknod.m4 (gl_FUNC_MKNOD): Obey --enable-cross-guesses for
	gl_cv_func_mknod_works.
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Obey --enable-cross-guesses for
	gl_cv_func_working_mkstemp.
	* m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Obey --enable-cross-guesses for
	gl_cv_func_working_mktime.
	* m4/modf.m4 (gl_FUNC_MODF): Obey --enable-cross-guesses for
	gl_cv_func_modf_ieee.
	* m4/modff.m4 (gl_FUNC_MODFF): Obey --enable-cross-guesses for
	gl_cv_func_modff_ieee.
	* m4/modfl.m4 (gl_FUNC_MODFL): Obey --enable-cross-guesses for
	gl_cv_func_modfl_ieee.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Obey --enable-cross-guesses for
	gl_cv_func_nanosleep.
	* m4/perror.m4 (gl_FUNC_PERROR): Obey --enable-cross-guesses for
	gl_cv_func_perror_works.
	* m4/printf.m4 (gl_PRINTF_SIZES_C99): Obey --enable-cross-guesses for
	gl_cv_func_printf_sizes_c99.
	(gl_PRINTF_INFINITE): Obey --enable-cross-guesses for
	gl_cv_func_printf_infinite.
	(gl_PRINTF_INFINITE_LONG_DOUBLE): Obey --enable-cross-guesses for
	gl_cv_func_printf_infinite_long_double.
	(gl_PRINTF_DIRECTIVE_A): Obey --enable-cross-guesses for
	gl_cv_func_printf_directive_a.
	(gl_PRINTF_DIRECTIVE_F): Obey --enable-cross-guesses for
	gl_cv_func_printf_directive_f.
	(gl_PRINTF_FLAG_ZERO): Obey --enable-cross-guesses for
	gl_cv_func_printf_flag_zero.
	(gl_PRINTF_ENOMEM): Obey --enable-cross-guesses for
	gl_cv_func_printf_enomem.
	(gl_SNPRINTF_TRUNCATION_C99): Obey --enable-cross-guesses for
	gl_cv_func_snprintf_truncation_c99.
	(gl_SNPRINTF_RETVAL_C99): Obey --enable-cross-guesses for
	gl_cv_func_snprintf_retval_c99.
	(gl_SNPRINTF_DIRECTIVE_N): Obey --enable-cross-guesses for
	gl_cv_func_snprintf_directive_n.
	(gl_VSNPRINTF_ZEROSIZE_C99): Obey --enable-cross-guesses for
	gl_cv_func_vsnprintf_zerosize_c99.
	* m4/pselect.m4 (gl_FUNC_PSELECT): Obey --enable-cross-guesses for
	gl_cv_func_pselect_detects_ebadf.
	* m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
	Obey --enable-cross-guesses for
	gl_cv_pthread_rwlock_rdlock_prefer_writer.
	* m4/ptsname.m4 (gl_FUNC_PTSNAME): Obey --enable-cross-guesses for
	gl_cv_func_ptsname_sets_errno.
	* m4/putenv.m4 (gl_FUNC_PUTENV): Obey --enable-cross-guesses for
	gl_cv_func_svid_putenv.
	* m4/readlink.m4 (gl_FUNC_READLINK): Obey --enable-cross-guesses for
	gl_cv_func_readlink_works.
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Obey --enable-cross-guesses for
	ac_cv_func_realloc_0_nonnull. Keep this macro also in Autoconf >= 2.70.
	* m4/regex.m4 (gl_REGEX): Obey --enable-cross-guesses for
	gl_cv_func_re_compile_pattern_working.
	* m4/remainder.m4 (gl_FUNC_REMAINDER): Obey --enable-cross-guesses for
	gl_cv_func_remainder_ieee.
	* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Obey --enable-cross-guesses for
	gl_cv_func_remainderf_ieee.
	* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Obey --enable-cross-guesses for
	gl_cv_func_remainderl_ieee.
	* m4/rintl.m4 (gl_FUNC_RINTL): Obey --enable-cross-guesses for
	gl_cv_func_rintl_works.
	* m4/rmdir.m4 (gl_FUNC_RMDIR): Obey --enable-cross-guesses for
	gl_cv_func_rmdir_works.
	* m4/round.m4 (gl_FUNC_ROUND): Obey --enable-cross-guesses for
	gl_cv_func_round_ieee.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Obey --enable-cross-guesses for
	gl_cv_func_roundf_ieee.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Obey --enable-cross-guesses for
	gl_cv_func_roundl_ieee.
	* m4/select.m4 (gl_FUNC_SELECT): Obey --enable-cross-guesses for
	gl_cv_func_select_detects_ebadf.
	* m4/setenv.m4 (gl_FUNC_SETENV): Obey --enable-cross-guesses for
	gl_cv_func_setenv_works.
	(gl_FUNC_UNSETENV): Obey --enable-cross-guesses for
	gl_cv_func_unsetenv_works.
	* m4/signbit.m4 (gl_SIGNBIT): Obey --enable-cross-guesses for
	gl_cv_func_signbit, gl_cv_func_signbit_gcc.
	* m4/sleep.m4 (gl_FUNC_SLEEP): Obey --enable-cross-guesses for
	gl_cv_func_sleep_works.
	* m4/stat.m4 (gl_FUNC_STAT): Obey --enable-cross-guesses for
	gl_cv_func_stat_file_slash.
	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Obey --enable-cross-guesses for
	gl_cv_func_stpncpy.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Obey
	--enable-cross-guesses for gl_cv_func_strcasestr_works_always.
	(gl_FUNC_STRCASESTR): Obey --enable-cross-guesses for
	gl_cv_func_strcasestr_linear.
	* m4/strerror.m4 (gl_FUNC_STRERROR): Obey --enable-cross-guesses for
	gl_cv_func_working_strerror.
	(gl_FUNC_STRERROR_0): Obey --enable-cross-guesses for
	gl_cv_func_strerror_0_works.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Obey
	--enable-cross-guesses for gl_cv_func_strerror_r_works.
	* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Obey --enable-cross-guesses for
	gl_cv_func_strstr_works_always.
	(gl_FUNC_STRSTR): Obey --enable-cross-guesses for
	gl_cv_func_strstr_linear.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Obey --enable-cross-guesses for
	gl_cv_func_strtod_works.
	* m4/strtold.m4 (gl_FUNC_STRTOLD): Obey --enable-cross-guesses for
	gl_cv_func_strtold_works.
	* m4/symlink.m4 (gl_FUNC_SYMLINK): Obey --enable-cross-guesses for
	gl_cv_func_symlink_works.
	* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Obey --enable-cross-guesses for
	gl_cv_func_symlinkat_works.
	* m4/trunc.m4 (gl_FUNC_TRUNC): Obey --enable-cross-guesses for
	gl_cv_func_trunc_ieee.
	* m4/truncf.m4 (gl_FUNC_TRUNCF): Obey --enable-cross-guesses for
	gl_cv_func_truncf_ieee.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Obey --enable-cross-guesses for
	gl_cv_func_truncl_ieee.
	* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Obey --enable-cross-guesses for
	gl_cv_func_tzset_clobber.
	* m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Obey --enable-cross-guesses for
	gl_cv_func_ungetc_works.
	* m4/unlink.m4 (gl_FUNC_UNLINK): Obey --enable-cross-guesses for
	gl_cv_func_unlink_honors_slashes, gl_cv_func_unlink_parent_fails.
	* m4/usleep.m4 (gl_FUNC_USLEEP): Obey --enable-cross-guesses for
	gl_cv_func_usleep_works.
	* m4/utimens.m4 (gl_UTIMENS): Obey --enable-cross-guesses for
	gl_cv_func_futimesat_works.
	* m4/utimes.m4 (gl_FUNC_UTIMES): Obey --enable-cross-guesses for
	gl_cv_func_working_utimes.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Obey --enable-cross-guesses for
	gl_cv_func_wcwidth_works.
	* m4/glob.m4 (gl_GLOB): When cross-compiling, don't create symlinks for
	testing. Obey --enable-cross-guesses for gl_cv_glob_lists_symlinks.
	* m4/rename.m4 (gl_FUNC_RENAME): When cross-compiling, don't create
	links for testing. Obey --enable-cross-guesses for
	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.

2019-09-08  Bruno Haible  <bruno@clisp.org>

	Clarify that cross-compilation guesses are guesses.
	* m4/threads.m4 (gl_THREADS_H): Say "guessing yes" or "guessing no" when
	cross-compiling.

2019-09-08  Bruno Haible  <bruno@clisp.org>

	chown: Fix configure output (regression from 2019-03-23).
	* m4/chown.m4 (gl_FUNC_CHOWN): Fix reference to
	gl_cv_func_chown_follows_symlink variable.

2019-09-08  Bruno Haible  <bruno@clisp.org>

	findprog-in: New module.
	Suggested by Paul Smith <psmith@gnu.org>.
	* lib/findprog.h (find_in_given_path): New declaration.
	* lib/findprog-in.c: New file, based on lib/findprog.c.
	* m4/findprog-in.m4: New file, based on m4/findprog.m4.
	* modules/findprog-in: New file.

2019-09-08  Bruno Haible  <bruno@clisp.org>

	findprog: Remove unused dependency.
	* modules/findprog (Depends-on): Remove strdup.

2019-09-08  Bruno Haible  <bruno@clisp.org>

	findprog: Remove test that is obsolete since 2006-04-24.
	* m4/findprog.m4 (gl_FINDPROG): Don't test for unistd.h.

2019-09-06  Akim Demaille  <akim@lrde.epita.fr>

	bitset: style changes
	* lib/bitset/vector.c (vbitset_resize): Factor computation.
	* lib/bitset.c, lib/bitset/stats.c, lib/bitsetv.c: Prefer
	xzalloc to xcalloc.
	Suggested by Paul Eggert.

2019-09-06  Akim Demaille  <akim@lrde.epita.fr>

	bitset: check memory allocation
	Reported by 江 祖铭 (Zu-Ming Jiang).
	With help from Paul Eggert.
	https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00016.html
	* lib/bitset/table.c (tbitset_resize): When growing, use xrealloc
	instead of realloc.
	When shrinking, accept failures.
	* lib/bitset/vector.c (vbitset_resize): Likewise.

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

	scratch_buffer: sync from glibc
	* config/srclist.txt: Add the scratch_buffer source
	code from glibc, since these should be in sync.
	Autoupdate.

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

	doc: Update for glibc 2.30.
	* doc/glibc-functions/gettid.texi: New file.
	* doc/glibc-functions/pthread_cond_clockwait.texi: New file.
	* doc/glibc-functions/pthread_mutex_clocklock.texi: New file.
	* doc/glibc-functions/pthread_rwlock_clockrdlock.texi: New file.
	* doc/glibc-functions/pthread_rwlock_clockwrlock.texi: New file.
	* doc/glibc-functions/sem_clockwait.texi: New file.
	* doc/glibc-functions/tgkill.texi: New file.
	* doc/glibc-functions/twalk_r.texi: New file.
	* doc/gnulib.texi: Include them.
	(Glibc semaphore.h): New section.
	* doc/pastposix-functions/h_errno.texi: Update.
	* doc/posix-functions/*.texi: Likewise.

2019-09-06  Bruno Haible  <bruno@clisp.org>

	symlink tests: Avoid test failure on Linux with Lustre file system.
	Reported by Thomas C Oppe <Thomas.C.Oppe@erdc.dren.mil>
	at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37312>.
	* tests/test-symlink.h (test_symlink): Accept errno value ENOENT.

2019-09-01  Bruno Haible  <bruno@clisp.org>

	gitsub.sh: Add support for shallow-cloning of subdirectories.
	* top/gitsub.sh (func_usage): Document allowed git options with
	'git pull'.
	(func_pull): Accept GIT_OPTIONS argument.
	(pull): Parse git options before complaining about too many arguments.
	Pass the git options to func_pull.

2019-08-29  Bruno Haible  <bruno@clisp.org>

	lock: Fix cross-compilation guesses.
	* m4/pthread_rwlock_rdlock.m4 (gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER):
	Require AC_CANONICAL_HOST. When cross-compiling, guess no on most
	platforms.

2019-08-28  Bruno Haible  <bruno@clisp.org>

	isfinite, isinf, isnan, signbit: Fix error in C++ mode on mingw.
	Reported by Martin Storsjö <martin@martin.st> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00075.html>.
	* lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Add more arguments.
	(isfinite, isinf, isnan, signbit): On platforms that use C++ include
	files from GCC 6 or newer, use an override through '#define', because
	the inline definitions in the platform's <cmath> cannot be overridden
	in another way.

2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>

	Revert macOS INT_MULTIPLY_WRAPV patch
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2019-08/msg00076.html
	* lib/intprops.h (_GL_HAS___builtin_mul_overflow): Remove.
	(_GL_HAS_BUILTIN_MUL_OVERFLOW):
	Go back to working around the Clang bug on macOS.

2019-08-27  Bruno Haible  <bruno@clisp.org>

	libtool-next-version: Fix error output.
	* build-aux/libtool-next-version (func_fatal_error): Fix the program
	name.

2019-08-27  Paul Eggert  <eggert@cs.ucla.edu>

	Speed up INT_MULTIPLY_WRAPV on macOS
	Assume that __builtin_mul_overflow works OK with Clang on macOS.
	Mattias Engdegård says it’s safe to assume the relevant library
	is always available there.
	* lib/intprops.h (_GL_HAS___builtin_mul_overflow):
	New temporary internal macro.
	(_GL_HAS_BUILTIN_MUL_OVERFLOW):
	No need to work around the Clang bug on macOS.

2019-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	intprops.h, verify.h: port better to clang
	Improve code generated by INT_ADD_WRAPV and INT_SUBTRACT_WRAPV
	with Clang.  Problem reported privately by Mattias Engdegård.
	Also, insulate intprops.h and verify.h better against each other’s
	definitions of __has_builtin on non-Clang hosts.
	* lib/intprops.h (__has_builtin): Define a temporary substitute
	if __has_builtin is not already defined.
	(_GL_HAS___builtin_add_overflow, _GL_TEMPDEF___has_builtin):
	New temporary internal macros.
	(_GL_HAS_BUILTIN_ADD_OVERFLOW, _GL_HAS_BUILTIN_MUL_OVERFLOW):
	Now two separate macros, replacing the old
	_GL_HAS_BUILTIN_OVERFLOW, since we no longer assume that
	__builtin_mul_overflow is like the rest.  All uses changed.
	(INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV):
	Adjust to above changes.
	(_GL_INT_OP_WRAPV): Remove ‘builtin’ arg, since it’s no
	longer relevant.  All uses changed.
	* lib/verify.h (__has_builtin): Treat like intprops.h,
	so that the two .h files do not collide with each other.
	(_GL_HAS___builtin_unreachable, _GL_HAS___builtin_trap)
	(_GL_TEMPDEF___has_builtin): New temporary internal macros.

2019-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: say why not Clang __builtin_add_overflow
	* lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW):
	Mention Clang in comment, responding to a query from
	Mattias Engdegård.

2019-08-24  Bruno Haible  <bruno@clisp.org>

	doc: Document most of the files outside of modules.
	* doc/gnulib.texi (Build Infrastructure Files,
	Release Management Files): New chapters.

2019-08-24  Bruno Haible  <bruno@clisp.org>

	bootstrap: Keep in sync with the 'gettext' module.
	Reported by Assaf Gordon in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00045.html>.
	* build-aux/po/Makefile.in.in: Update to gettext 0.20.
	* build-aux/po/remove-potcdate.sin: Likewise.

2019-08-24  Bruno Haible  <bruno@clisp.org>

	crypto/gc-sha512: Add tests.
	* tests/test-gc-sha512.c: New file, based on tests/test-gc-sha1.c.
	* modules/crypto/gc-sha512-tests: New file.

	crypto/gc-sha256: Add tests.
	* tests/test-gc-sha256.c: New file, based on tests/test-gc-sha1.c.
	* modules/crypto/gc-sha256-tests: New file.

	crypto/gc-sha256, crypto/gc-sha512: New modules.
	* lib/gc.h (gc_sha256, gc_sha512): New declarations.
	* lib/gc-gnulib.c: Include sha256.h, sha512.h.
	(MAX_DIGEST_SIZE): Set to 64.
	(_gc_hash_ctx, gc_hash_open, gc_hash_digest_length, gc_hash_write,
	gc_hash_read, gc_hash_buffer): Add support for sha256 and sha512.
	(gc_sha256, gc_sha512): New functions.
	* lib/gc-libgcrypt.c (gc_sha256, gc_sha512): New functions.
	* modules/crypto/gc-sha256: New file, based on modules/crypto/gc-sha1.
	* modules/crypto/gc-sha512: New file, based on modules/crypto/gc-sha1.

2019-08-24  Bruno Haible  <bruno@clisp.org>

	crypto/gc-sha1 tests: Improve output when the test fails.
	* tests/test-gc-sha1.c (main): In case of mismatch, print the entire
	output.

2019-08-24  Bruno Haible  <bruno@clisp.org>

	crypto/gc-sm3: Fix compilation error with --with-libgcrypt.
	* m4/gc-sm3.m4 (gl_GC_SM3): Test whether libgcrypt supports SM3. Define
	LIBGCRYPT_HAS_MD_SM3.
	* lib/gc-libgcrypt.c: Include sm3.h.
	(_gc_hash_ctx, gc_hash_open, gc_hash_hmac_setkey, gc_hash_write,
	gc_hash_read, gc_hash_close, gc_hash_buffer, gc_sm3): Use the gnulib
	implementation if libgcrypt does not support SM3.

2019-08-24  Bruno Haible  <bruno@clisp.org>

	crypto/gc-md2: Optimize and clarify code.
	* lib/gc-gnulib.c (gc_hash_open): Comment out md2_init_ctx invocation.
	* lib/gc-libgcrypt.c (gc_hash_open): Clarify why md2_init_ctx invocation
	is not needed.

2019-08-24  Bruno Haible  <bruno@clisp.org>

	crypto/gc-md2: Add comment.
	* lib/gc-libgcrypt.c: Add comment.

2019-08-24  Bruno Haible  <bruno@clisp.org>

	crypto/gc-{md[24],rijndael} tests: Fix link error with --with-libgcrypt.
	* modules/crypto/gc-md2-tests (test_gc_md2_LDADD): New variable.
	* modules/crypto/gc-md4-tests (test_gc_md4_LDADD): New variable.
	* modules/crypto/gc-rijndael-tests (test_gc_rijndael_LDADD): New
	variable.

2019-08-24  Bruno Haible  <bruno@clisp.org>

	crypto/gc: Fix link error with --with-libgcrypt.
	* m4/gc.m4 (gl_GC): Set LIB_CRYPTO to the value found by the
	AC_LIB_HAVE_LINKFLAGS invocation.

2019-08-24  Bruno Haible  <bruno@clisp.org>

	crypto/gc: Access the module indicators correctly.
	* lib/gc-gnulib.c: Use '#if GNULIB_GC_*', not '#ifdef GNULIB_GC_*'.
	* lib/gc-libgcrypt.c: Likewise.

2019-08-24  Bruno Haible  <bruno@clisp.org>

	crypto/gc: Fix configuration with --with-libgcrypt.
	* m4/libgcrypt.m4: New file, copied from libgcrypt/src/libgcrypt.m4.
	* modules/crypto/gc (Files): Add it.
	* m4/gc.m4 (gl_GC): Assume AM_PATH_LIBGCRYPT is defined.

2019-08-24  Bruno Haible  <bruno@clisp.org>

	Remove unused file.
	* m4/stat-macros.m4: Remove file.

2019-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	New strip-trailing-space option for srclist-update
	* config/srclist-update (fixfile): Support new option.
	* config/srclist.txt (texinfo.tex, maintain.texi, standards.texi):
	Use it.

2019-08-20  Eric Blake  <eblake@redhat.com>

	accept4: Support SOCK_NONBLOCK, if defined
	* lib/accept4.c (accept4): If SOCK_NONBLOCK is defined, honor it.

	accept4: Fix compilation when native accept4() exists.
	Reported by Richard W.M. Jones <rjones@redhat.com> in
	https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00029.html
	* lib/accept4.c (accept4): Match witness symbol to m4 file update.

2019-08-18  Bruno Haible  <bruno@clisp.org>

	Defeat -flto GCC optimization in math autoconf tests.
	Reported by Tomasz Kłoczko <kloczko.tomasz@gmail.com>
	at <https://savannah.gnu.org/bugs/?56109>.
	* m4/mathfunc.m4 (gl_MATHFUNC): Mark function pointer as 'volatile'.
	* m4/acosl.m4 (gl_FUNC_ACOSL): Likewise.
	* m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
	* m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
	* m4/cosl.m4 (gl_FUNC_COSL): Likewise.
	* m4/exp2.m4 (gl_FUNC_EXP2): Likewise.
	* m4/expl.m4 (gl_FUNC_EXPL): Likewise.
	* m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
	* m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
	* m4/sinl.m4 (gl_FUNC_SINL): Likewise.
	* m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
	* m4/tanl.m4 (gl_FUNC_TANL): Likewise.

2019-08-17  Bruno Haible  <bruno@clisp.org>

	windows-spin: Implement declared functions.
	Reported by Gisle Vanem <gisle.vanem@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-08/msg00024.html>.
	* lib/windows-spin.c (glwthread_spin_trylock): Fix typo in function
	name.

2019-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: port to Oracle Developer Studio 12.6
	* lib/intprops.h (_GL_INT_OP_WRAPV): Fix recently-introduced
	typos that were in a section not compiled by GCC.

2019-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: support uchar, ushort _WRAPV dests
	* lib/intprops.h (_GL_INT_OP_WRAPV_SMALLISH): New macro, defined
	when __builtin_add_overflow etc. and _Generic are not used.
	(_GL_INT_OP_WRAPV): Use it to support destinations that
	are unsigned char or unsigned short, even in compilers
	that lack __typeof__ and are not C11-compatible.

	intprops: pacify picky GCC
	* lib/intprops.h (_GL_BUILTIN_MUL_OVERFLOW):
	Pacify GCC’s complaints about ignoring __builtin_mul_overflow’s
	possibly-incorrect result.
	(_GL_INT_MULTIPLY_RANGE_OVERFLOW): Pacify GCC’s complaints
	about (A) used as a boolean, when A is an expression like 3 * 4.

	intprops: support unsigned *_WRAPV results
	Add support for unsigned, unsigned long, and unsigned long long
	results to INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, and
	INT_MULTIPLY_WRAPV.  Also, work around GCC bug 91450, and fix a
	bug with unsigned inputs reported by Eli Zaretskii in:
	https://lists.gnu.org/r/bug-gnulib/2019-08/msg00012.html
	* config/srclist.txt: Break the glibc connection for intprops.h
	temporarily, while more testing is done in Gnulib-using apps.
	* lib/intprops.h (INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
	(INT_MULTIPLY_WRAPV, _GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH):
	Support unsigned results no narrower than unsigned int.  Report
	overflow correctly if some arguments are unsigned.
	(_GL_BUILTIN_MUL_OVERFLOW): New macro, to work around GCC bug 91450.
	(_GL_INT_OP_CALC): Simplify now that the OVERFLOW argument does
	the right thing with narrow args.
	(_GL_INT_OP_CALC1): Remove.  All callers removed.
	(_GL_INT_ADD_RANGE_OVERFLOW, _GL_INT_SUBTRACT_RANGE_OVERFLOW)
	(_GL_INT_MULTIPLY_RANGE_OVERFLOW): New macros.
	* tests/test-intprops.c: Check for bugs and test new behavior.

2019-08-14  Bruno Haible  <bruno@clisp.org>

	get_progname_of: New module.
	* lib/get_progname_of.h: New file.
	* lib/get_progname_of.c: New file, based on lib/getprogname.c.
	* lib/getprogname.c (getprogname): Tweak coding style.
	* lib/vma-iter.c (vma_iterate_bsd): Update comment.
	* modules/get_progname_of: New file.

2019-08-14  Bruno Haible  <bruno@clisp.org>

	get_ppid_of: New module.
	* lib/get_ppid_of.h: New file.
	* lib/get_ppid_of.c: New file.
	* modules/get_ppid_of: New file.

2019-08-13  Bruno Haible  <bruno@clisp.org>

	libtextstyle-optional tests: Support the NO_COLOR environment variable.
	* tests/test-libtextstyle.c (main): Do not emit styling when the
	environment variable NO_COLOR is set.

2019-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	verify: improve diagnostic quality in recent GCC
	If ‘verify’ fails in a deeply-nested macro, GCC does not output a
	useful line number containing the top-level caller of the macro.
	So, bring back the older way of issuing a diagnostic containing
	the top-level call’s arg, so that it is easier to diagnose
	‘verify’ failures with recent GCC.
	* lib/verify.h (_GL_VERIFY_TRUE, _GL_VERIFY_TYPE):
	Bring back DIAGNOSTIC arg.  All callers changed.
	(verify): Just use _GL_VERIFY.

2019-08-11  Bruno Haible  <bruno@clisp.org>

	localcharset: Add more aliases for OS/2.
	Based on patch by KO Myung-Hun <komh78@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnu-libiconv/2019-08/msg00004.html>.
	* lib/localcharset.c (alias_table) [OS2]: Add more aliases.

2019-08-10  Eric Blake  <eblake@redhat.com>

	configmake: Update advice on usage.
	* modules/configmake (Include): No longer necessary to include
	last, since configmake.h itself worries about collision avoidance.

2019-08-10  Assaf Gordon <assafgordon@gmail.com>

	parse-datetime: fix 'T' military timezone handling
	* lib/parse-datetime.y (zone):
	follow-up to the previous commit: the 'T' case is handled outside the
	conversion table (used as either military timezone UTC-7 or ISO8601
	separator). Change it from "HOUR(7)" to "-HOUR(7)" to match other
	timezone letters.

2019-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime: fix military timezone letters
	Problem and trivial fix reported by Neil Hoggarth in:
	https://lists.gnu.org/r/bug-gnulib/2019-08/msg00005.html
	* lib/parse-datetime.y (military_table):
	Do it the right way, not the RFC 822 way.

2019-08-08  Eric Blake  <eblake@redhat.com>

	configmake: Avoid namespace pollution issue on mingw.
	* modules/configmake (Makefile.am): If the project uses
	<winsock2.h>, include that header before defining DATADIR.

2019-07-28  Bruno Haible  <bruno@clisp.org>

	mbrtowc tests: Fix regression on mingw (regression from 2018-02-24).
	* tests/test-mbrtowc.c (main): Fix expected value of wc.

2019-07-24  Bruno Haible  <bruno@clisp.org>

	pthread-h: Fix definitions of types and macros on mingw.
	* lib/pthread.in.h (pthread_t, pthread_attr_t, PTHREAD_CREATE_JOINABLE,
	PTHREAD_CREATE_DETACHED): Define also when module 'pthread-thread' is
	not in use.
	(pthread_once_t, PTHREAD_ONCE_INIT): Define also when module
	'pthread-once' is not in use.
	(pthread_mutex_t, pthread_mutexattr_t, PTHREAD_MUTEX_INITIALIZER,
	PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK,
	PTHREAD_MUTEX_RECURSIVE): Define also when module 'pthread-mutex' is not
	in use.
	(pthread_rwlock_t, pthread_rwlockattr_t, PTHREAD_RWLOCK_INITIALIZER):
	Define also when module 'pthread-rwlock' is not in use.
	(pthread_cond_t, pthread_condattr_t, PTHREAD_COND_INITIALIZER): Define
	also when module 'pthread-cond' is not in use.
	(pthread_key_t, PTHREAD_DESTRUCTOR_ITERATIONS): Define also when module
	'pthread-tss' is not in use.
	(pthread_spinlock_t): Define also when module 'pthread-spin' is not in
	use.

2019-07-24  Simon Josefsson  <simon@josefsson.org>

	crypto/gc: Cope with libgcrypt without SM3.
	* lib/gc-libgcrypt.c (gc_hash_open): Guard SM3 usage.

2019-07-23  Paul Eggert  <eggert@cs.ucla.edu>

	backupfile: fix resource leak on memory failure
	Problem found by Coverity (CID 1484214).
	* lib/backupfile.c (backupfile_internal): Don’t leak dirp.

2019-07-22  Bruno Haible  <bruno@clisp.org>

	Avoid missing-declarations warning in various tests.
	* tests/test-argp.c (fail, test1, test2, test_file, test3, test4, test5,
	test6, test_optional, test7, test8, test9, test10, test11, test12,
	test13, test14, test15, test_fun): Declare static.
	* tests/test-cnd.c (test_cnd_wait): Likewise.
	* tests/test-cond.c (test_cond): Likewise.

2019-07-22  Bernhard Voelker  <mail@bernhard-voelker.de>

	pthread tests: Avoid missing-declarations warning.
	* tests/test-pthread-cond.c (test_pthread_cond_wait): Declare static.

2019-07-19  Bruno Haible  <bruno@clisp.org>

	parse-datetime: Avoid warnings from bison versions >= 3.3.
	Reported by Bernhard Voelker <mail@bernhard-voelker.de>.
	* modules/parse-datetime (Makefile.am): Don't pass option '-y' to bison.

2019-07-19  Bruno Haible  <bruno@clisp.org>

	parse-datetime: Require Bison 2.4 or newer.
	* m4/parse-datetime.m4 (gl_PARSE_DATETIME): Set PARSE_DATETIME_BISON.
	Code taken from gettext's intl.m4.
	* modules/parse-datetime (Makefile.am): Use PARSE_DATETIME_BISON instead
	of YACC.

2019-07-19  Bruno Haible  <bruno@clisp.org>

	areadlink-with-size, xgethostname, xgetdomainname: Fix GCC warning.
	* lib/areadlink-with-size.c: Include <string.h>.
	* lib/areadlinkat-with-size.c: Likewise.
	* lib/xgethostname.c: Likewise.
	* lib/xgetdomainname.c: Likewise.

2019-07-19  Bernhard Voelker  <mail@bernhard-voelker.de>

	parse-datetime: avoid "%pure-parser" deprecation warning from Bison 3.4
	* lib/parse-datetime.y: Use "%define api.pure" rather than obsolescent
	"%pure-parser".  The former is available since Bison 2.3b (2008),
	while the latter is marked as obsolete since version 3.4 (May 2019).

2019-07-16  Bruno Haible  <bruno@clisp.org>

	update-copyright: Make it work again (regression from 2019-06-15).
	Reported by Brian C. Lane <bcl@redhat.com>.
	* build-aux/update-copyright: Add back the -0777, -p, -i options.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	doc: Update info about <pthread.h>.
	* doc/posix-headers/pthread.texi: Mention the module 'pthread-h' instead
	of 'pthread'.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask tests: Use new multithread modules.
	* tests/test-pthread_sigmask2.c: Include <pthread.h> instead of
	glthread/thread.h.
	(main_thread, killer_thread): Change type to pthread_t.
	(main): Update accordingly.
	* modules/pthread_sigmask-tests (Depends-on): Add pthread-thread. Remove
	thread.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-tss: Add tests.
	* tests/test-pthread-tss.c: New file, based on tests/test-tls.c and
	tests/test-tss.c.
	* modules/pthread-tss-tests: New file.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-cond: Add tests.
	* tests/test-pthread-cond.c: New file, based on tests/test-cond.c and
	tests/test-cnd.c.
	* modules/pthread-cond-tests: New file.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-rwlock: Add tests.
	* tests/test-pthread-rwlock.c: New file, based on tests/test-lock.c.
	* modules/pthread-rwlock-tests: New file.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-mutex: Add tests.
	* tests/test-pthread-mutex.c: New file, based on tests/test-lock.c and
	tests/test-mtx.c.
	* modules/pthread-mutex-tests: New file.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-once: Add tests.
	* tests/test-pthread-once1.c: New file, based on tests/test-once.c and
	tests/test-call_once.c.
	* tests/test-pthread-once2.c: New file, based on tests/test-lock.c and
	tests/test-mtx.c.
	* modules/pthread-once-tests: New file.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-thread: Add tests.
	* tests/test-pthread-thread.c: New file, based on
	tests/test-thread_create.c and tests/test-thrd_create.c.
	* modules/pthread-thread-tests: New file.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread: Turn into a convenience module.
	* lib/pthread.in.h: Remove declarations for extern inline functions.
	* lib/pthread.c: Remove file.
	* modules/pthread (Files): Remove it.
	(Depends-on): Add pthread-thread, pthread-once, pthread-mutex,
	pthread-rwlock, pthread-cond, pthread-tss, pthread-spin.
	(configure.ac): Don't compile lib/pthread.c. Don't set GNULIB_PTHREAD.
	* m4/pthread_h.m4 (gl_PTHREAD_H_DEFAULTS): Don't initialize
	GNULIB_PTHREAD.
	* modules/pthread-h (Makefile.am): Don't substitute GNULIB_PTHREAD.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-spin: New module.
	* lib/pthread.in.h (pthread_spin_init, pthread_spin_destroy,
	pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock): Remove
	inline definitions.
	* lib/pthread-spin.c: New file.
	* m4/pthread-spin.m4: New file.
	* modules/pthread-spin: New file.
	* doc/posix-functions/pthread_spin_init.texi: Mention the new module.
	* doc/posix-functions/pthread_spin_lock.texi: Likewise.
	* doc/posix-functions/pthread_spin_trylock.texi: Likewise.
	* doc/posix-functions/pthread_spin_unlock.texi: Likewise.
	* doc/posix-functions/pthread_spin_destroy.texi: Likewise.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-tss: New module.
	* lib/pthread-tss.c: New file.
	* m4/pthread-tss.m4: New file.
	* modules/pthread-tss: New file.
	* doc/posix-functions/pthread_key_create.texi: Mention the new module.
	* doc/posix-functions/pthread_setspecific.texi: Likewise.
	* doc/posix-functions/pthread_getspecific.texi: Likewise.
	* doc/posix-functions/pthread_key_delete.texi: Likewise.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-cond: New module.
	* lib/pthread.in.h (pthread_cond_destroy, pthread_cond_init,
	pthread_cond_signal, pthread_cond_wait): Remove inline definitions.
	* lib/pthread-cond.c: New file.
	* m4/pthread-cond.m4: New file.
	* modules/pthread-cond: New file.
	* doc/posix-functions/pthread_cond_init.texi: Mention the new module.
	* doc/posix-functions/pthread_condattr_init.texi: Likewise.
	* doc/posix-functions/pthread_condattr_destroy.texi: Likewise.
	* doc/posix-functions/pthread_cond_wait.texi: Likewise.
	* doc/posix-functions/pthread_cond_timedwait.texi: Likewise.
	* doc/posix-functions/pthread_cond_signal.texi: Likewise.
	* doc/posix-functions/pthread_cond_broadcast.texi: Likewise.
	* doc/posix-functions/pthread_cond_destroy.texi: Likewise.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-rwlock: New module.
	* lib/pthread-rwlock.c: New file, based on lib/glthread/lock.c.
	* m4/pthread-rwlock.m4: New file.
	* modules/pthread-rwlock: New file.
	* doc/posix-functions/pthread_rwlock_init.texi: Mention the new module
	and the Android problem.
	* doc/posix-functions/pthread_rwlockattr_init.texi: Likewise.
	* doc/posix-functions/pthread_rwlockattr_destroy.texi: Likewise.
	* doc/posix-functions/pthread_rwlock_rdlock.texi: Likewise.
	* doc/posix-functions/pthread_rwlock_wrlock.texi: Likewise.
	* doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likewise.
	* doc/posix-functions/pthread_rwlock_trywrlock.texi: Likewise.
	* doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.
	* doc/posix-functions/pthread_rwlock_timedwrlock.texi: Likewise.
	* doc/posix-functions/pthread_rwlock_unlock.texi: Likewise.
	* doc/posix-functions/pthread_rwlock_destroy.texi: Likewise.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-mutex: New module.
	* lib/pthread.in.h (pthread_mutexattr_destroy, pthread_mutexattr_init,
	pthread_mutexattr_settype, pthread_mutex_destroy, pthread_mutex_init,
	pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_timedlock,
	pthread_mutex_unlock): Remove inline definitions.
	* lib/pthread-mutex.c: New file.
	* m4/pthread-mutex.m4: New file.
	* modules/pthread-mutex: New file.
	* doc/posix-functions/pthread_mutex_init.texi: Mention the new module.
	* doc/posix-functions/pthread_mutexattr_init.texi: Likewise.
	* doc/posix-functions/pthread_mutexattr_gettype.texi: Likewise.
	* doc/posix-functions/pthread_mutexattr_settype.texi: Likewise.
	* doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
	* doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
	* doc/posix-functions/pthread_mutexattr_destroy.texi: Likewise.
	* doc/posix-functions/pthread_mutex_lock.texi: Likewise.
	* doc/posix-functions/pthread_mutex_trylock.texi: Likewise.
	* doc/posix-functions/pthread_mutex_timedlock.texi: Likewise.
	* doc/posix-functions/pthread_mutex_unlock.texi: Likewise.
	* doc/posix-functions/pthread_mutex_destroy.texi: Likewise.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-once: New module.
	* lib/pthread-once.c: New file.
	* m4/pthread-once.m4: New file.
	* modules/pthread-once: New file.
	* doc/posix-functions/pthread_once.texi: Mention the new module.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-thread: New module.
	* lib/pthread.in.h (pthread_create, pthread_exit, pthread_join): Remove
	inline definitions.
	* lib/pthread-thread.c: New file.
	* m4/pthread-thread.m4: New file.
	* modules/pthread-thread: New file.
	* doc/posix-functions/pthread_create.texi: Mention the new module.
	* doc/posix-functions/pthread_attr_init.texi: Likewise.
	* doc/posix-functions/pthread_attr_getdetachstate.texi: Likewise.
	* doc/posix-functions/pthread_attr_setdetachstate.texi: Likewise.
	* doc/posix-functions/pthread_attr_destroy.texi: Likewise.
	* doc/posix-functions/pthread_self.texi: Likewise.
	* doc/posix-functions/pthread_equal.texi: Likewise.
	* doc/posix-functions/pthread_detach.texi: Likewise.
	* doc/posix-functions/pthread_join.texi: Likewise.
	* doc/posix-functions/pthread_exit.texi: Likewise.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-h: Prepare for adding new modules.
	* lib/pthread.in.h: Define the types and macros for each of the
	facilities separately.
	* m4/pthread_h.m4 (gl_PTHREAD_H): Set HAVE_PTHREAD_CREATE_DETACHED,
	HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
	HAVE_PTHREAD_PROCESS_SHARED.
	(gl_PTHREAD_H_DEFAULTS): Initialize HAVE_PTHREAD_CREATE_DETACHED,
	HAVE_PTHREAD_MUTEX_RECURSIVE, HAVE_PTHREAD_MUTEX_ROBUST,
	HAVE_PTHREAD_PROCESS_SHARED.
	* modules/pthread-h (Makefile.am): Substitute
	HAVE_PTHREAD_CREATE_DETACHED, HAVE_PTHREAD_MUTEX_RECURSIVE,
	HAVE_PTHREAD_MUTEX_ROBUST, HAVE_PTHREAD_PROCESS_SHARED.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-h: Add declarations of essential pthread functions.
	* lib/pthread.in.h: Include snippets.
	(pthread_create, pthread_attr_init, pthread_attr_getdetachstate,
	pthread_attr_setdetachstate, pthread_attr_destroy, pthread_self,
	pthread_equal, pthread_detach, pthread_join, pthread_exit, pthread_once,
	pthread_mutex_init, pthread_mutexattr_init, pthread_mutexattr_gettype,
	pthread_mutexattr_settype, pthread_mutexattr_getrobust,
	pthread_mutexattr_setrobust, pthread_mutexattr_destroy,
	pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock,
	pthread_mutex_destroy, pthread_rwlock_init, pthread_rwlockattr_init,
	pthread_rwlockattr_destroy, pthread_rwlock_rdlock,
	pthread_rwlock_wrlock, pthread_rwlock_tryrdlock,
	pthread_rwlock_trywrlock, pthread_rwlock_timedrdlock,
	pthread_rwlock_timedwrlock, pthread_rwlock_unlock,
	pthread_rwlock_destroy, pthread_cond_init, pthread_condattr_init,
	pthread_condattr_destroy, pthread_cond_wait, pthread_cond_timedwait,
	pthread_cond_signal, pthread_cond_broadcast, pthread_cond_destroy,
	pthread_key_create, pthread_setspecific, pthread_getspecific,
	pthread_key_delete, pthread_spin_init, pthread_spin_lock,
	pthread_spin_trylock, pthread_spin_unlock, pthread_spin_destroy): New
	declarations.
	(pthread_mutex_timedlock): Move declaration.
	* m4/pthread_h.m4 (gl_PTHREAD_H): Check whether the new functions are
	declared.
	(gl_PTHREAD_H_DEFAULTS): Initialize GNULIB_PTHREAD_THREAD,
	GNULIB_PTHREAD_ONCE, GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK,
	GNULIB_PTHREAD_COND, GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the
	HAVE_* and REPLACE_* variables for the new functions.
	* modules/pthread-h (Depends-on): Add snippet/c++defs,
	snippet/_Noreturn, snippet/arg-nonnull, snippet/warn-on-use.
	(Makefile.am): Substitute GNULIB_PTHREAD_THREAD, GNULIB_PTHREAD_ONCE,
	GNULIB_PTHREAD_MUTEX, GNULIB_PTHREAD_RWLOCK, GNULIB_PTHREAD_COND,
	GNULIB_PTHREAD_TSS, GNULIB_PTHREAD_SPIN and the HAVE_* and REPLACE_*
	variables for the new functions. Split the sed script, to avoid the
	limit of 99 commands of HP-UX sed.
	* tests/test-pthread-c++.cc: Check the signature of the new functions.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-h: Respect --enable-threads={posix|windows} option on mingw.
	* m4/pthread_h.m4 (gl_PTHREAD_H): Require gl_THREADLIB. Set
	HAVE_PTHREAD_H if gl_threads_api is 'windows'.
	(LIB_PTHREAD): Rely on $LIBMULTITHREAD from threadlib.m4.
	* modules/pthread (Link): Change to $(LIBMULTITHREAD).
	* modules/pthread-h (Depends-on): Add threadlib.
	(Link): Change to $(LIBTHREAD).
	* modules/pthread-h-c++-tests (test_pthread_c___LDADD): Use
	$(LIBMULTITHREAD) instead of $(LIB_PTHREAD).

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-h: Add C++ tests.
	* tests/test-pthread-c++.cc: New file.
	* modules/pthread-h-c++-tests: New file.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-h: Add tests.
	* tests/test-pthread.c: New file.
	* modules/pthread-h-tests: New file.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	pthread-h: New module.
	* lib/pthread.in.h: Define replacement functions only if GNULIB_PTHREAD
	is 1.
	* m4/pthread_h.m4: Renamed from m4/pthread.m4.
	(gl_PTHREAD_H): Renamed from gl_PTHREAD_CHECK. Don't test whether
	<pthread.h> pollutes the namespace; instead, prepare for generating a
	pthread.h always. Substitute HAVE_PTHREAD_H here.
	(gl_PTHREAD_H_DEFAULTS): Renamed from gl_PTHREAD_DEFAULTS. Initialize
	GNULIB_PTHREAD. Don't initialize HAVE_PTHREAD_H here.
	* modules/pthread-h: New file, based on modules/pthread.
	* modules/pthread: Rely on 'pthread-h'.
	* m4/pthread_mutex_timedlock.m4 (gl_FUNC_PTHREAD_MUTEX_TIMEDLOCK):
	Update.
	* modules/pthread_mutex_timedlock (Depends-on): Add pthread-h. Remove
	pthread.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	sched_yield: New module.
	* lib/sched.in.h: Add _GL_FUNCDECL_RPL, _GL_WARN_ON_USE placeholders.
	(sched_yield): New declaration.
	* lib/sched_yield.c: New file.
	* m4/sched_yield.m4: New file.
	* m4/sched_h.m4 (gl_SCHED_H): Require gl_SCHED_H_DEFAULTS. Arrange to
	provide a replacement sched.h always. Test whether sched_yield is
	declared.
	(gl_SCHED_MODULE_INDICATOR, gl_SCHED_H_DEFAULTS): New macros.
	* modules/sched (Depends-on): Add snippet/c++defs, snippet/warn-on-use.
	(Makefile.am): Provide a replacement sched.h always. Substitute
	GNULIB_SCHED_YIELD, HAVE_SCHED_YIELD, REPLACE_SCHED_YIELD,
	_GL_FUNCDECL_RPL, _GL_WARN_ON_USE.
	* modules/sched_yield: New file.
	* doc/posix-functions/sched_yield.texi: Mention the new module.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	windows-spin: New module.
	* lib/windows-spin.h: New file.
	* lib/windows-spin.c: New file.
	* modules/windows-spin: New file.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	windows-timedrwlock: New module.
	* lib/windows-timedrwlock.h: New file, based on windows-rwlock.h.
	* lib/windows-timedrwlock.c: New file, based on windows-rwlock.c and
	windows-cond.c.
	* lib/windows-cond.h (struct glwthread_waitqueue_link): Protect against
	redefinition conflict with windows-timedrwlock.h.
	* modules/windows-timedrwlock: New file.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	windows-rwlock: New module.
	* lib/windows-rwlock.h: New file, extracted from lib/glthread/lock.h.
	* lib/windows-rwlock.c: New file, extracted from lib/glthread/lock.c.
	* lib/glthread/lock.h: Include windows-rwlock.h. Don't include
	windows-initguard.h.
	(gl_rwlock_t): Define using glwthread_rwlock_t.
	(gl_rwlock_initializer): Define using GLWTHREAD_RWLOCK_INIT.
	(glthread_rwlock_init): Define using glwthread_rwlock_init.
	(glthread_rwlock_rdlock): Define using glwthread_rwlock_rdlock.
	(glthread_rwlock_wrlock): Define using glwthread_rwlock_wrlock.
	(glthread_rwlock_unlock): Define using glwthread_rwlock_unlock.
	(glthread_rwlock_destroy): Define using glwthread_rwlock_destroy.
	(glthread_rwlock_init_func, glthread_rwlock_rdlock_func,
	glthread_rwlock_wrlock_func, glthread_rwlock_unlock_func,
	glthread_rwlock_destroy_func): Remove declarations.
	* lib/glthread/lock.c (gl_waitqueue_t): Remove type.
	(gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_notify_first,
	gl_waitqueue_notify_all, glthread_rwlock_init_func,
	glthread_rwlock_rdlock_func, glthread_rwlock_wrlock_func,
	glthread_rwlock_unlock_func, glthread_rwlock_destroy_func): Remove
	functions.
	* modules/windows-rwlock: New file.
	* modules/lock (Depends-on): Add windows-rwlock.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	windows-thread: Add support for creating a thread in detached state.
	* lib/windows-thread.h (GLWTHREAD_ATTR_DETACHED): New macro.
	(glwthread_thread_create): Add attr argument.
	* lib/windows-thread.c (glwthread_thread_create): Likewise.
	* lib/glthread/thread.h (glthread_create): Update.
	* lib/thrd.c (thrd_create): Update.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	windows-*: Rename glwthread_spinlock_t to glwthread_initguard_t.
	* lib/windows-initguard.h: Renamed from lib/windows-spinlock.h.
	(glwthread_initguard_t): Renamed from glwthread_spinlock_t.
	(GLWTHREAD_INITGUARD_INIT): Renamed from GLWTHREAD_SPINLOCK_INIT.
	* lib/windows-mutex.h: Update.
	* lib/windows-recmutex.h: Likewise.
	* lib/windows-timedmutex.h: Likewise.
	* lib/windows-timedrecmutex.h: Likewise.
	* lib/windows-cond.h: Likewise.
	* lib/glthread/lock.h: Likewise.
	* modules/windows-mutex (Files): Add lib/windows-initguard.h. Remove
	lib/windows-spinlock.h.
	* modules/windows-recmutex (Files): Likewise.
	* modules/windows-timedmutex (Files): Likewise.
	* modules/windows-timedrecmutex (Files): Likewise.
	* modules/windows-cond (Files): Likewise.
	* modules/threads-h (Files): Likewise.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	doc: Fix info about pthread API in HP-UX.
	* doc/posix-functions/pthread_*.texi: Fix info about HP-UX 11.

2019-07-14  Bruno Haible  <bruno@clisp.org>

	threads-h: Fix generation of threads.h.
	* modules/threads-h (Makefile.am): Insert the required header file
	snippets.

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

	striconveh test: Fix a compilation failure when iconv is not available.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.
	* tests/test-striconveh.c (main): Move iconv_close invocations inside
	HAVE_ICONV.

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

	argmatch: adjust columns for help2man.
	* lib/argmatch.h (argmatch_##Name##_doc_col): If some argument
	requires column 20 or more, return 20.

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

	areadlink-with-size: avoid realloc when size==0
	* lib/areadlink-with-size.c (areadlink_with_size):
	* lib/areadlinkat-with-size.c (areadlinkat_with_size):
	Reallocate at the end to the actual size, to avoid memory waste,
	as suggested by Bruno Haible.  But when the guessed size is zero -
	useful when the size is unknown - do the initial small readlink
	into the stack, to avoid that realloc in the usual case.

2019-07-06  Pádraig Brady  <P@draigBrady.com>

	areadlink-with-size: guess a buffer size with 0 size
	The size is usually taken from st_size, which can be zero,
	resulting in inefficient operation.
	Instead let zero select an initial memory allocation
	of 128 bytes, which most symlinks fit within.
	* lib/areadlink-with-size.c (areadlink_with_size):
	Start with a 128 byte buffer, for SIZE == 0.
	* lib/areadlinkat-with-size.c (areadlinkat_with_size): Likewise.

2019-07-06  Konstantin Kharlamov  <Hi-Angel@yandex.ru>

	Replace manually crafted hex regexes with [:xdigit:]
	* build-aux/gitlog-to-changelog (parse_amend_file)
	(git_dir_option):
	Replace various combinations of [0-9a-fA-F] with [[:xdigit:]].
	This patch is backported from Emacs (Bug#36167).

2019-07-06  Bruno Haible  <bruno@clisp.org>

	error: Fix documentation.
	* doc/glibc-functions/error_at_line.texi: Document what the 'error'
	module provides.
	* doc/glibc-functions/error_message_count.texi: Likewise.
	* doc/glibc-functions/error_one_per_line.texi: Likewise.
	* doc/glibc-functions/error_print_progname.texi: Likewise.

2019-07-06  Bruno Haible  <bruno@clisp.org>

	doc: Remove documentation of glibc <= 2.1.x as a supported platform.
	* doc/gnulib-intro.texi (Target Platforms): Mention that glibc 2.1.x
	and older is unsupported.
	* doc/**/*.texi: Update.

2019-07-06  Bruno Haible  <bruno@clisp.org>

	doc: Remove documentation of Linux libc5 as a supported platform.
	* doc/posix-functions/iswalnum.texi: Don't mention workarounds specific
	to Linux libc5.
	* doc/posix-functions/iswalpha.texi: Likewise.
	* doc/posix-functions/iswblank.texi: Likewise.
	* doc/posix-functions/iswcntrl.texi: Likewise.
	* doc/posix-functions/iswdigit.texi: Likewise.
	* doc/posix-functions/iswgraph.texi: Likewise.
	* doc/posix-functions/iswlower.texi: Likewise.
	* doc/posix-functions/iswprint.texi: Likewise.
	* doc/posix-functions/iswpunct.texi: Likewise.
	* doc/posix-functions/iswspace.texi: Likewise.
	* doc/posix-functions/iswupper.texi: Likewise.
	* doc/posix-functions/iswxdigit.texi: Likewise.
	* doc/posix-functions/snprintf.texi: Likewise.
	* doc/posix-functions/vsnprintf.texi: Likewise.

2019-07-06  Bruno Haible  <bruno@clisp.org>

	doc: Remove documentation of Tandem/NSK as a supported platform.
	* doc/posix-headers/stdlib.texi: Don't mention workarounds specific to
	Tandem/NSK.
	* doc/**/*.texi: Update.

2019-07-06  Bruno Haible  <bruno@clisp.org>

	doc: Remove documentation of Mac OS X <= 10.4 as a supported platform.
	* doc/gnulib-intro.texi (Target Platforms): Mention that Mac OS X 10.4
	and older is unsupported.
	* doc/posix-functions/acosl.texi: Don't mention workarounds specific to
	Mac OS X 10.4 and older.
	* doc/posix-functions/asinl.texi: Likewise.
	* doc/posix-functions/atanl.texi: Likewise.
	* doc/posix-functions/cosl.texi: Likewise.
	* doc/posix-functions/expl.texi: Likewise.
	* doc/posix-functions/frexpl.texi: Likewise.
	* doc/posix-functions/gettimeofday.texi: Likewise.
	* doc/posix-functions/logl.texi: Likewise.
	* doc/posix-functions/mkstemp.texi: Likewise.
	* doc/posix-functions/sinl.texi: Likewise.
	* doc/posix-functions/sqrtl.texi: Likewise.
	* doc/posix-functions/tanl.texi: Likewise.
	* doc/posix-functions/wcswidth.texi: Likewise.
	* doc/**/*.texi: Update.

2019-07-06  Bruno Haible  <bruno@clisp.org>

	doc: Remove documentation of AIX 4 as a supported platform.
	* doc/gnulib-intro.texi (Target Platforms): Mention that AIX 4 is
	unsupported.
	* doc/posix-functions/nanosleep.texi: Don't mention AIX 4 specific
	workarounds.
	* doc/posix-functions/strnlen.texi: Likewise.
	* doc/posix-headers/inttypes.texi: Likewise.
	* doc/**/*.texi: Update.

2019-07-06  Bruno Haible  <bruno@clisp.org>

	doc: Remove documentation of HP-UX 10 as a supported platform.
	* doc/gnulib-intro.texi (Target Platforms): Mention that HP-UX 10 is
	unsupported.
	* doc/*-functions/*printf.texi: Don't mention HP-UX 10 specific
	workarounds.
	* doc/posix-functions/gmtime_r.texi: Likewise.
	* doc/posix-functions/localtime_r.texi: Likewise.
	* doc/posix-functions/mkstemp.texi: Likewise.
	* doc/**/*.texi: Update.

2019-07-06  Bruno Haible  <bruno@clisp.org>

	doc: Remove documentation of Interix 3.5 as a supported platform.
	* doc/gnulib-intro.texi (Target Platforms): Mention that Interix is
	unsupported.
	* doc/posix-functions/select.texi: Don't mention Interix specific
	workarounds.
	* doc/posix-headers/signal.texi: Likewise.
	* doc/**/*.texi: Update.

2019-07-06  Bruno Haible  <bruno@clisp.org>

	doc: Remove documentation of IRIX 6.4 and older as supported platforms.
	* doc/gnulib-intro.texi (Target Platforms): Mention that IRIX <= 6.4 is
	unsupported.
	* doc/pastposix-functions/usleep.texi: Don't mention IRIX specific
	workarounds.
	* doc/posix-functions/nl_langinfo.texi: Likewise.
	* doc/posix-functions/remainder.texi: Likewise.
	* doc/posix-functions/towlower.texi: Likewise.
	* doc/posix-functions/towupper.texi: Likewise.
	* doc/posix-functions/vsnprintf.texi: Likewise.
	* doc/posix-functions/wcscat.texi: Likewise.
	* doc/posix-functions/wcschr.texi: Likewise.
	* doc/posix-functions/wcscmp.texi: Likewise.
	* doc/posix-functions/wcscpy.texi: Likewise.
	* doc/posix-functions/wcscspn.texi: Likewise.
	* doc/posix-functions/wcslen.texi: Likewise.
	* doc/posix-functions/wcsncat.texi: Likewise.
	* doc/posix-functions/wcsncmp.texi: Likewise.
	* doc/posix-functions/wcsncpy.texi: Likewise.
	* doc/posix-functions/wcspbrk.texi: Likewise.
	* doc/posix-functions/wcsrchr.texi: Likewise.
	* doc/posix-functions/wcsspn.texi: Likewise.
	* doc/posix-headers/langinfo.texi: Likewise.
	* doc/posix-headers/signal.texi: Likewise.
	* doc/posix-headers/wchar.texi: Likewise.
	* doc/posix-headers/wctype.texi: Likewise.
	* doc/**/*.texi: Update.

2019-07-05  Bruno Haible  <bruno@clisp.org>

	doc: Remove documentation of OSF/1 as supported platform.
	* doc/gnulib-intro.texi (Target Platforms): Mention that OSF/1 is
	unsupported.
	* doc/glibc-functions/getdomainname.texi: Don't mention OSF/1 specific
	workarounds.
	* doc/glibc-functions/pthread_setname_np.texi: Likewise.
	* doc/glibc-functions/ptsname_r.texi: Likewise.
	* doc/posix-functions/ceil.texi: Likewise.
	* doc/posix-functions/ceilf.texi: Likewise.
	* doc/posix-functions/ceill.texi: Likewise.
	* doc/posix-functions/fchdir.texi: Likewise.
	* doc/posix-functions/floor.texi: Likewise.
	* doc/posix-functions/floorf.texi: Likewise.
	* doc/posix-functions/fmod.texi: Likewise.
	* doc/posix-functions/fmodf.texi: Likewise.
	* doc/posix-functions/fmodl.texi: Likewise.
	* doc/posix-functions/log.texi: Likewise.
	* doc/posix-functions/logf.texi: Likewise.
	* doc/posix-functions/logl.texi: Likewise.
	* doc/posix-functions/log10.texi: Likewise.
	* doc/posix-functions/log10f.texi: Likewise.
	* doc/posix-functions/log10l.texi: Likewise.
	* doc/posix-functions/log2.texi: Likewise.
	* doc/posix-functions/log2f.texi: Likewise.
	* doc/posix-functions/log2l.texi: Likewise.
	* doc/posix-functions/mbrtowc.texi: Likewise.
	* doc/posix-functions/recv.texi: Likewise.
	* doc/posix-functions/recvfrom.texi: Likewise.
	* doc/posix-functions/remainder.texi: Likewise.
	* doc/posix-functions/remainderf.texi: Likewise.
	* doc/posix-functions/remainderl.texi: Likewise.
	* doc/posix-functions/round.texi: Likewise.
	* doc/posix-functions/roundf.texi: Likewise.
	* doc/posix-functions/roundl.texi: Likewise.
	* doc/posix-functions/send.texi: Likewise.
	* doc/posix-functions/sendto.texi: Likewise.
	* doc/posix-functions/setenv.texi: Likewise.
	* doc/posix-functions/snprintf.texi: Likewise.
	* doc/posix-functions/tcgetsid.texi: Likewise.
	* doc/posix-functions/trunc.texi: Likewise.
	* doc/posix-functions/truncf.texi: Likewise.
	* doc/posix-functions/truncl.texi: Likewise.
	* doc/posix-functions/ttyname_r.texi: Likewise.
	* doc/posix-functions/unsetenv.texi: Likewise.
	* doc/posix-functions/wcsrtombs.texi: Likewise.
	* doc/posix-headers/sys_select.texi: Likewise.
	* doc/posix-headers/wchar.texi: Likewise.
	* doc/posix-headers/wctype.texi: Likewise.
	* doc/**/*.texi: Update.

2019-07-05  Bruno Haible  <bruno@clisp.org>

	doc: Remove documentation of BSDI and BSD/OS as supported platforms.
	* doc/**/*.texi: Update.

2019-07-05  Bruno Haible  <bruno@clisp.org>

	doc: Remove documentation of Solaris 8 and older as supported platforms.
	* doc/gnulib-intro.texi (Target Platforms): Mention that Solaris <= 8 is
	unsupported.
	* doc/posix-functions/mbrtowc.texi: Don't mention Solaris specific
	workarounds.
	* doc/posix-functions/memcmp.texi: Likewise.
	* doc/posix-functions/rename.texi: Likewise.
	* doc/posix-functions/tzset.texi: Likewise.
	* doc/posix-headers/wctype.texi: Likewise.
	* doc/**/*.texi: Update.

2019-07-05  Bruno Haible  <bruno@clisp.org>

	doc: Remove documentation of Interix 3.5 as a supported platform.
	* doc/**/*.texi: Update.

2019-07-05  Bruno Haible  <bruno@clisp.org>

	doc: Remove documentation of BeOS as a supported platform.
	* doc/gnulib-intro.texi (Target Platforms): Mention that BeOS is
	unsupported.
	* doc/*-functions/*printf.texi: Don't mention BeOS specific workarounds.
	* doc/posix-functions/getdelim.texi: Likewise.
	* doc/**/*.texi: Update.

2019-07-05  Bruno Haible  <bruno@clisp.org>

	thread, lock, cond, tls: Remove support for Pth threads.
	* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
	--enable-threads=pth any more.
	(gl_THREADLIB_BODY): Don't set USE_PTH_THREADS any more.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Update comment.
	* m4/threads.m4 (gl_THREADS_H): Remove test for conflict between Pth
	threads and ISO C11 threads.
	* lib/glthread/thread.h: Remove code for USE_PTH_THREADS.
	* lib/glthread/lock.h: Likewise.
	* lib/glthread/lock.c: Likewise.
	* lib/glthread/cond.h: Likewise.
	* lib/glthread/cond.c: Likewise.
	* lib/glthread/tls.h: Likewise.
	* lib/glthread/tls.c: Likewise.
	* lib/glthread/yield.h: Likewise.
	* lib/regex_internal.h: Likewise.
	* tests/test-thread_create.c: Likewise.
	* tests/test-lock.c: Likewise.
	* tests/test-cond.c: Likewise.
	* tests/test-tls.c: Likewise.
	* tests/test-rwlock1.c: Don't include glthread/yield.h.
	(main): Sleep without calling gl_thread_yield.

2019-07-05  Bruno Haible  <bruno@clisp.org>

	thread, lock, cond, tls: Remove support for old Solaris threads.
	Solaris >= 2.5.1 has POSIX threads.
	* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Don't document
	--enable-threads=solaris any more.
	(gl_THREADLIB_BODY): Don't set USE_SOLARIS_THREADS any more.
	* lib/glthread/thread.c: Update comment.
	* lib/glthread/thread.h: Remove code for USE_SOLARIS_THREADS.
	* lib/glthread/lock.h: Likewise.
	* lib/glthread/lock.c: Likewise.
	* lib/glthread/cond.h: Likewise.
	* lib/glthread/cond.c: Likewise.
	* lib/glthread/tls.h: Likewise.
	* lib/glthread/tls.c: Likewise.
	* lib/glthread/yield.h: Likewise.
	* lib/regex_internal.h: Likewise.
	* tests/test-thread_create.c: Likewise.
	* tests/test-lock.c: Likewise.
	* tests/test-cond.c: Likewise.
	* tests/test-tls.c: Likewise.

2019-07-05  Bruno Haible  <bruno@clisp.org>

	getcwd-lgpl, getcwd: Don't call realloc when it is pointless.
	* lib/getcwd-lgpl.c (rpl_getcwd): Don't call realloc if the result's
	needed size is equal to the allocated size.
	* lib/getcwd.c (__getcwd): Likewise.

2019-07-05  Bruno Haible  <bruno@clisp.org>

	xgetdomainname: Don't return an excessive memory allocation.
	* lib/xgetdomainname.c (xgetdomainname): Shrink the domainname buffer
	before returning it.

2019-07-05  Bruno Haible  <bruno@clisp.org>

	xgethostname: Don't return an excessive memory allocation.
	* lib/xgethostname.c (xgethostname): Shrink the hostname buffer before
	returning it.

2019-07-05  Bruno Haible  <bruno@clisp.org>

	areadlinkat-with-size: Don't return an excessive memory allocation.
	* lib/areadlinkat-with-size.c (areadlinkat_with_size): Shrink the buffer
	before returning it.

2019-07-05  Bruno Haible  <bruno@clisp.org>

	areadlink-with-size: Don't return an excessive memory allocation.
	Reported by Andreas Dilger <adilger@whamcloud.com>.
	* lib/areadlink-with-size.c (areadlink_with_size): Shrink the buffer
	before returning it.

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

	renameatu: Fix test failure on MSVC.
	* lib/at-func2.c (at_func2): Fail with ENOENT if file1 or file2 is the
	empty string.

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

	mbrtowc: Fix invalid use of mbtowc() on MSVC.
	* lib/mbrtowc.c: Include glthread/lock.h.
	(mbtowc_lock): New variable.
	(mbrtowc): Treat UTF-8 encoding without locking. For the other
	encodings, explicitly reset the internal state of mbtowc, and protect
	this through a lock.
	* modules/mbrtowc (Depends-on): Add lock.

2019-07-03  Akim Demaille  <akim@lrde.epita.fr>

	argmatch: don't define _ in the header.
	Reported by Jim Meyering.
	* lib/argmatch.h (N_, _): Don't define.
	Use gettext instead.
	* lib/argmatch.h (_): Define.
	* tests/test-argmatch.c (N_): Define.

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

	verify: document ‘assume’ better
	* lib/verify.h: Reword doc (Bug#36370).

2019-07-02  Bruno Haible  <bruno@clisp.org>

	localcharset, nl_langinfo: Fix return value for UTF-8 locales on MSVC.
	* lib/localcharset.c (locale_charset): Return "UTF-8" instead of
	"CPutf8".
	* lib/nl_langinfo.c (ctype_codeset): Likewise.

2019-07-02  Bruno Haible  <bruno@clisp.org>

	getcwd: Fix crash when invoked with size = 0 on MSVC.
	* lib/getcwd.c: Include msvc-inval.h.
	(getcwd_nothrow): New function/macro.
	(getcwd_system): New macro.
	(__getcwd): Use it instead of getcwd.
	* modules/getcwd (Depends-on): Add msvc-inval.
	* doc/posix-functions/getcwd.texi: Mention the MSVC issue.

2019-07-02  Bruno Haible  <bruno@clisp.org>

	nonblocking-pipe tests: Fix test failure on MSVC.
	* tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE): Set to 10000 on
	native Windows.

2019-07-02  Bruno Haible  <bruno@clisp.org>

	usleep: Implement with millisecond resolution on native Windows.
	* lib/usleep.c (usleep): On native Windows, implement using Sleep().
	* doc/pastposix-functions/usleep.texi: Update accordingly.

2019-07-02  Bruno Haible  <bruno@clisp.org>

	lstat tests: Fix test failure on MSVC.
	* tests/test-lstat.h (test_lstat_func): Don't test SAME_INODE values on
	native Windows, unless _GL_WINDOWS_STAT_INODES is defined.

2019-07-02  Bruno Haible  <bruno@clisp.org>

	stat tests: Fix test failure on MSVC.
	* tests/test-stat.h (test_stat_func): Don't test SAME_INODE values on
	native Windows, unless _GL_WINDOWS_STAT_INODES is defined.

2019-07-02  Bruno Haible  <bruno@clisp.org>

	getaddrinfo tests: Fix test failure on MSVC.
	* tests/test-getaddrinfo.c: Include sockets.h.
	(main): Invoke gl_sockets_startup.
	* modules/getaddrinfo-tests (Depends-on): Add sockets.

2019-07-01  Hannes Müller  <h.c.f.mueller@gmx.de>

	poll: Fix type of timeout pointer passed to select() on mingw x86_64.
	* lib/poll.c: Call Windows native select() with Windows native timeval.

2019-06-30  Bruno Haible  <bruno@clisp.org>

	argmatch: Fix compilation errors.
	* lib/argmatch.h: Include <limits.h>, for INT_MAX.
	* tests/test-argmatch.c (main): Update after last-minute function names
	change.

2019-06-30  Bruno Haible  <bruno@clisp.org>

	Include <stdlib.h> when needed.
	* lib/cnd.c: Include <stdlib.h>, needed for abort().
	* lib/fcntl.c: Likewise.
	* lib/mbscasestr.c: Likewise.
	* lib/mbssep.c: Likewise.
	* lib/mbsstr.c: Likewise.
	* lib/openat.c: Include <stdlib.h>, needed for free().
	* lib/windows-tls.c: Include <stdlib.h>, needed for malloc(), free(),
	abort().

2019-06-30  Bruno Haible  <bruno@clisp.org>

	Include <stdlib.h> when needed.
	* lib/areadlinkat.c: Include <stdlib.h>, needed for free() in at-func.c.
	* lib/faccessat.c: Likewise.
	* lib/fchmodat.c: Likewise.
	* lib/fchownat.c: Likewise.
	* lib/fstatat.c: Likewise.
	* lib/mkfifoat.c: Likewise.
	* lib/mknodat.c: Likewise.
	* lib/readlinkat.c: Likewise.
	* lib/symlinkat.c: Likewise.
	* lib/utimensat.c: Likewise.
	* lib/mkdirat.c: Likewise. Include also the specification header.

2019-06-30  Bruno Haible  <bruno@clisp.org>

	inet_ntop, inet_pton: Avoid conflict with native Windows functions.
	* m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WS2TCPIP): New macro, extracted
	from gl_PREREQ_SYS_H_SOCKET.
	(gl_PREREQ_SYS_H_SOCKET): Invoke it.
	* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Invoke
	gl_PREREQ_SYS_H_WS2TCPIP.
	* modules/arpa_inet (Files): Add m4/sys_socket_h.m4, m4/socklen.m4.
	(Makefile.am): Substitute HAVE_WS2TCPIP_H.
	* lib/arpa_inet.in.h: Include <ws2tcpip.h>.

2019-06-30  Bruno Haible  <bruno@clisp.org>

	inet_ntop, inet_pton: Forward-compatibility with newer Windows versions.
	* m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): On native Windows, set
	REPLACE_INET_NTOP to 1 always.
	* m4/inet_pton.m4 (gl_FUNC_INET_PTON): On native Windows, set
	REPLACE_INET_PTON to 1 always.

2019-06-30  Bruno Haible  <bruno@clisp.org>

	inet_pton: Fix link error on mingw with _WIN32_WINNT >= 0x0600.
	* modules/inet_pton (Depends-on, configure.ac): Test REPLACE_INET_PTON,
	not REPLACE_INET_NTOP.

2019-06-30  Bruno Haible  <bruno@clisp.org>

	poll: Add comment.
	* lib/poll.c: Add comment about WSAPoll.

2019-06-30  Bruno Haible  <bruno@clisp.org>

	poll-h: Fix compilation error on mingw with _WIN32_WINNT >= 0x0600.
	Reported by Hannes Müller <h.c.f.mueller@gmx.de>.
	* lib/poll.in.h: Include <winsock2.h>.
	(POLL*, pollfd): Override on native Windows.
	* m4/poll_h.m4 (gl_POLL_H): Invoke gl_PREREQ_SYS_H_WINSOCK2.
	* modules/poll-h (Files): Add m4/sys_socket_h.m4.
	(Makefile.am): Substitute HAVE_WINSOCK2_H.

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

	accept4: Fix compilation error on OpenIndiana.
	Reported by Michal Nowak <mnowak@startmail.com>
	via Mark H Weaver <mhw@netris.org>.
	* m4/accept.m4 (gl_FUNC_ACCEPT4): Test whether accept4 is declared, not
	whether it exists as a function.

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

	strverscmp: sync from glibc
	* lib/strverscmp.c: Sync from glibc, except use UTF-8 encoding in
	comments, include libc-config.h, define __strverscmp to be
	strverscmp, and don’t assume types line uint8_t and int8_t that
	that C99 doesn’t guarantee.
	[!_LIBC]: Include libc-config.h; define __strverscmp.
	Include stdint.h.
	(__strverscmp): Assume C99.  Use uint_least8_t
	and int_least8_t instead of unsigned char and signed char.
	* modules/strverscmp (Depends-on): Add libc-config, stdint.

2019-06-25  Bruno Haible  <bruno@clisp.org>

	tss tests: Add tests for destructors and races.
	* tests/test-tss.c (worker_thread): Fix typo in debug message.
	(test_tss_dtorcheck1, test_tss_dtorcheck2, test_tss_racecheck): New
	functions.
	(main): Invoke them.
	* modules/tls-tests (Depends-on): Add mtx.

2019-06-25  Bruno Haible  <bruno@clisp.org>

	tls tests: Add tests for destructors and races.
	* tests/test-tls.c: Include glthread/lock.h.
	(test_tls_dtorcheck1, test_tls_dtorcheck2, test_tls_racecheck): New
	functions.
	(main): Invoke them.
	* modules/tls-tests (Depends-on): Add lock.

2019-06-25  Bruno Haible  <bruno@clisp.org>

	windows-tls: Implement TLS key destructors for native Windows.
	* lib/windows-tls.h (glwthread_tls_process_destructors): New
	declaration.
	(GLWTHREAD_DESTRUCTOR_ITERATIONS): New macro.
	* lib/windows-tls.c: Include <limits.h>, windows-once.h.
	(dtor_table_init_once, dtor_table_lock: New variables.
	(struct dtor): New type.
	(dtor_table, dtors_count, dtors_used, dtors_allocated,
	dtor_processing_threads): New variables.
	(dtor_table_initialize, dtor_table_ensure_initialized,
	dtor_table_shrink_used, glwthread_tls_process_destructors): New
	functions.
	(glwthread_tls_key_create, glwthread_tls_key_delete): Rewritten to
	handle non-NULL destructors.
	* modules/windows-tls (Depends-on): Add windows-once.
	* lib/glthread/tls.h (glthread_tls_key_init, glthread_tls_key_destroy):
	Use the functions declared in windows-tls.h.
	* lib/threads.in.h (TSS_DTOR_ITERATIONS): Define using
	GLWTHREAD_DESTRUCTOR_ITERATIONS.
	* lib/windows-thread.c: Include windows-tls.h.
	(wrapper_func, glwthread_thread_exit): Invoke
	glwthread_tls_process_destructors.
	* modules/windows-thread (Depends-on): Add windows-tls.

2019-06-25  Bruno Haible  <bruno@clisp.org>

	threadlib: Avoid autoconf warning "was expanded before it was required".
	* modules/threadlib (configure.ac): Require gl_THREADLIB.

2019-06-25  Akim Demaille  <akim@lrde.epita.fr>

	argmatch: remove duplicate const qualifier
	* lib/argmatch.h (ARGMATCH_DEFINE_GROUP): Here.

2019-06-24  Paul Eggert  <eggert@cs.ucla.edu>

	unistd: stddef.h and sys/types.h namespace cleanup
	* lib/unistd.in.h [__GLIBC__]:
	Do not include stddef.h or sys/types.h.
	[!__GLIBC__]: Always include sys/types.h, since unistd.h is
	supposed to declare off_t and ssize_t.  Problem found when looking
	at why @GNULIB_PWRITE@ was different from the newly-added
	@GNULIB_COPY_FILE_RANGE@ with respect to ssize_t.

2019-06-22  Akim Demaille  <akim@lrde.epita.fr>

	maintainer-makefile: restore portability to non-GNU awks
	Reported by Tim Rühsen.
	* top/maint.mk (AWK): New variable.  Use it.
	(sc_prohibit_gnu_make_extensions): Skip if $(AWK) is not gawk.

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

	Document setvbuf _IOLBF problem
	* doc/posix-functions/setvbuf.texi (setvbuf):
	Document MS-Windows portability problem with _IOLBF.

	Document lseek SEEK_DATA/SEEK_HOLE
	* doc/posix-functions/lseek.texi (lseek):
	Document some systems that do not support SEEK_DATA and SEEK_HOLE.

2019-06-22  Akim Demaille  <akim@lrde.epita.fr>

	argmatch: put all the docs member last.
	Reported by Bruno Haible.
	* lib/argmatch.h (argmatch_##Name##_group_type): Put the args
	member before the docs done.
	* doc/argmatch.texi, tests/test-argmatch.c: Adjust.

2019-06-21  Akim Demaille  <akim@lrde.epita.fr>

	argmatch: add support to generate the usage message.
	* lib/argmatch.c: Move some #includes and gettext support to...
	* lib/argmatch.h: here.
	(ARGMATCH_DEFINE_GROUP): New macro.
	* tests/test-argmatch.c (argmatch_backup_docs, argmatch_backup_args)
	(argmatch_backup_group): New.
	(CHECK): New.
	(main): Check argmatch_backup_value, argmatch_backup_xvalue,
	argmatch_backup_argument and argmatch_backup_usage.
	* modules/argmatch: We depend on c99.
	* doc/argmatch.texi (Recognizing Option Arguments): New.
	* doc/gnulib.texi: Use it.

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

	thrd: Add comment.
	* lib/thrd.c (pthread_main_func): Add comment.

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

	threads-h: Define 'thread_local' if and only if it actually works.
	* m4/threads.m4 (gl_THREAD_LOCAL_DEFINITION): New macro.
	(gl_THREADS_H): Define _Thread_local to __thread also for ARM C, IBM C,
	Oracle Solaris Studio C. Compile a simple program, to see whether
	_Thread_local basically works. Set HAVE_THREAD_LOCAL and LIBTHREADLOCAL.
	(gl_THREADS_H_DEFAULTS): Initialize HAVE_THREAD_LOCAL.
	* lib/threads.in.h (thread_local): Undefine if it does not work.
	* modules/threads-h (Makefile.am): Substitute HAVE_THREAD_LOCAL.
	(Link): Mention LIBTHREADLOCAL.
	* tests/test-threads.c: Don't check that thread_local is defined.
	* tests/test-thread_local.c: New file.
	* modules/threads-h-tests (Files): Add it and macros.h.
	(Depends-on): Add thrd and stdint.
	(configure.ac): Test whether 'alarm' is declared.
	(Makefile.am): Arrange to build and link test-thread_local.
	* doc/posix-headers/threads.texi: Mention the platforms that don't
	support 'thread_local'.

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

	threads-h: Simplify link dependencies.
	* m4/threads.m4 (gl_THREADS_H): Bail out if Pth threading is requested.
	Don't set LTLIBSTDTHREAD.
	* modules/thrd (Link): Simplify accordingly.
	* modules/mtx (Link): Likewise.
	* modules/cnd (Link): Likewise.
	* modules/tss (Link): Likewise.
	* modules/threads (Link): Likewise.

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

	threads-h: Fix link error on FreeBSD 11.
	* m4/threads.m4 (gl_THREADS_H): When linking with -lstdthreads, link
	also with -lpthread.

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

	threadlib: Fix typo (regression from today).
	* m4/threadlib.m4 (gl_THREADLIB_BODY): Fix typo in comment marker.

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

	windows-thread, windows-tls: Fix compilation error on 32-bit mingw.
	* lib/windows-thread.c: Include <errno.h>.
	* lib/windows-tls.c: Likewise.

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

	tss tests: Small improvement.
	* tests/test-tss.c (test_tss): Pass a different id to each thread.

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

	threads: New module.
	* modules/threads: New file.

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

	tss: Add tests.
	* tests/test-tss.c: New file, based on tests/test-tls.c.
	* modules/tss-tests: New file.

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

	cnd: Add tests.
	* tests/test-cnd.c: New file, based on tests/test-cond.c.
	* modules/cnd-tests: New file.

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

	mtx: Add tests.
	* tests/test-mtx.c: New file, based on tests/test-lock.c.
	* tests/test-call_once.c: New file, based on tests/test-once.c.
	* modules/mtx-tests: New file.

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

	thrd: Add tests.
	* tests/test-thrd_create.c: New file, based on
	tests/test-thread_create.c.
	* tests/test-thrd_current.c: New file, based on
	tests/test-thread_self.c.
	* modules/thrd-tests: New file.

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

	tss: New module.
	* lib/tss.c: New file.
	* modules/tss: New file.
	* doc/posix-functions/tss_create.texi: Mention the new module.
	* doc/posix-functions/tss_set.texi: Likewise.
	* doc/posix-functions/tss_get.texi: Likewise.
	* doc/posix-functions/tss_delete.texi: Likewise.

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

	cnd: New module.
	* lib/cnd.c: New file.
	* modules/cnd: New file.
	* doc/posix-functions/cnd_init.texi: Mention the new module.
	* doc/posix-functions/cnd_wait.texi: Likewise.
	* doc/posix-functions/cnd_timedwait.texi: Likewise.
	* doc/posix-functions/cnd_signal.texi: Likewise.
	* doc/posix-functions/cnd_broadcast.texi: Likewise.
	* doc/posix-functions/cnd_destroy.texi: Likewise.

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

	mtx: New module.
	* lib/mtx.c: New file.
	* modules/mtx: New file.
	* doc/posix-functions/call_once.texi: Mention the new module.
	* doc/posix-functions/mtx_init.texi: Likewise.
	* doc/posix-functions/mtx_lock.texi: Likewise.
	* doc/posix-functions/mtx_trylock.texi: Likewise.
	* doc/posix-functions/mtx_timedlock.texi: Likewise.
	* doc/posix-functions/mtx_unlock.texi: Likewise.
	* doc/posix-functions/mtx_destroy.texi: Likewise.

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

	thrd: New module.
	* lib/thrd.c: New file.
	* m4/thrd.m4: New file.
	* modules/thrd: New file.
	* doc/posix-functions/thrd_current.texi: Mention the new module.
	* doc/posix-functions/thrd_detach.texi: Likewise.
	* doc/posix-functions/thrd_equal.texi: Likewise.
	* doc/posix-functions/thrd_exit.texi: Likewise.
	* doc/posix-functions/thrd_sleep.texi: Likewise.
	* doc/posix-functions/thrd_yield.texi: Likewise.
	* doc/posix-functions/thrd_create.texi: Mention the new module and the
	AIX bug.
	* doc/posix-functions/thrd_join.texi: Mention the new module and the
	AIX and Solaris bugs.

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

	threads-h: Add tests.
	* tests/test-threads.c: New file.
	* modules/threads-h-tests: New file.
	* tests/test-threads-c++.cc: New file.
	* modules/threads-h-c++-tests: New file.

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

	threads-h: New module.
	* lib/threads.in.h: New file.
	* m4/threads.m4: New file.
	* m4/yield.m4 (gl_YIELD): Update comment.
	* modules/threads-h: New file.
	* modules/yields (configure.ac): Use AC_REQUIRE.
	* doc/posix-headers/threads.texi: Mention the new module and the AIX
	bugs.

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

	windows-thread: New module.
	* lib/windows-thread.h: New file, based on lib/glthread/thread.h.
	* lib/windows-thread.c: New file, based on lib/glthread/thread.c.
	* lib/glthread/thread.h: Include windows-thread.h.
	(gl_thread_t): Define using glwthread_thread_t.
	(glthread_create): Define using glwthread_thread_create.
	(glthread_join): Define using glwthread_thread_join.
	(gl_thread_self): Define using glwthread_thread_self.
	(gl_thread_exit): Define using glwthread_thread_exit.
	(glthread_create_func, glthread_join_func, gl_thread_self_func,
	gl_thread_exit_func): Remove declarations.
	* lib/glthread/thread.c (self_key): Remove variable.
	(do_init_self_key, init_self_key): Remove functions.
	(struct gl_thread_struct): Remove type.
	(get_current_thread_handle, gl_thread_self_func, wrapper_func,
	glthread_create_func, glthread_join_func, gl_thread_exit_func): Remove
	functions.
	* modules/windows-thread: New file.
	* modules/thread (Depends-on): Add windows-thread.

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

	windows-tls: New module.
	* lib/windows-tls.h: New file, based on lib/glthread/tls.h.
	* lib/windows-tls.c: New file, based on lib/glthread/tls.h.
	* lib/glthread/tls.h: Include windows-tls.h.
	(gl_tls_key_t): Define using glwthread_tls_key_t.
	* modules/windows-tls: New file.
	* modules/tls (Depends-on): Add windows-tls.

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

	windows-cond: New module.
	* lib/windows-cond.h: New file, based on lib/glthread/cond.h.
	* lib/windows-cond.c: New file, based on lib/glthread/cond.c.
	* lib/glthread/cond.h: Include windows-cond.h.
	(struct gl_waitqueue_link, gl_linked_waitqueue_t): Remove types.
	(gl_cond_t): Define using glwthread_cond_t.
	(gl_cond_initializer): Define using GLWTHREAD_COND_INIT.
	(glthread_cond_init): Define using glwthread_cond_init.
	(glthread_cond_wait): Define using glwthread_cond_wait.
	(glthread_cond_timedwait): Define using glwthread_cond_timedwait.
	(glthread_cond_signal): Define using glwthread_cond_signal.
	(glthread_cond_broadcast): Define using glwthread_cond_broadcast.
	(glthread_cond_destroy): Define using glwthread_cond_destroy.
	(glthread_cond_init_func, glthread_cond_wait_func,
	glthread_cond_timedwait_func, glthread_cond_signal_func,
	glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
	declarations.
	* lib/glthread/cond.c (gl_waitqueue_t, gl_waitqueue_element): Remove
	types.
	(gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
	gl_waitqueue_notify_first, gl_waitqueue_notify_all,
	glthread_cond_init_func, glthread_cond_wait_func,
	glthread_cond_timedwait_func, glthread_cond_signal_func,
	glthread_cond_broadcast_func, glthread_cond_destroy_func): Remove
	functions.
	* modules/windows-cond: New file.
	* modules/cond (Depends-on): Add windows-cond. Remove gettimeofday.

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

	windows-timedrecmutex: New module.
	* lib/windows-timedrecmutex.h: New file, based on windows-recmutex.h.
	* lib/windows-timedrecmutex.c: New file, based on windows-recmutex.c.
	* modules/windows-timedrecmutex: New file.

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

	windows-timedmutex: New module.
	* lib/windows-timedmutex.h: New file, based on windows-mutex.h.
	* lib/windows-timedmutex.c: New file, based on windows-mutex.c.
	* modules/windows-timedmutex: New file.

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

	windows-recmutex: New module.
	* lib/windows-recmutex.h: New file, extracted from lib/glthread/lock.h.
	* lib/windows-recmutex.c: New file, extracted from lib/glthread/lock.c.
	* lib/glthread/lock.h: Include windows-recmutex.h.
	(gl_recursive_lock_t): Define using glwthread_recmutex_t.
	(gl_recursive_lock_initializer): Define using GLWTHREAD_RECMUTEX_INIT.
	(glthread_recursive_lock_init): Define using glwthread_recmutex_init.
	(glthread_recursive_lock_lock): Define using glwthread_recmutex_lock.
	(glthread_recursive_lock_unlock): Define using
	glwthread_recmutex_unlock.
	(glthread_recursive_lock_destroy): Define using
	glwthread_recmutex_destroy.
	(glthread_recursive_lock_init_func, glthread_recursive_lock_lock_func,
	glthread_recursive_lock_unlock_func,
	glthread_recursive_lock_destroy_func): Remove declarations.
	* lib/glthread/lock.c (glthread_recursive_lock_init_func,
	glthread_recursive_lock_lock_func, glthread_recursive_lock_unlock_func,
	glthread_recursive_lock_destroy_func): Remove functions.
	* modules/windows-recmutex: New file.
	* modules/lock (Depends-on): Add windows-recmutex.

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

	windows-mutex: New module.
	* lib/windows-mutex.h: New file, extracted from lib/glthread/lock.h.
	* lib/windows-mutex.c: New file, extracted from lib/glthread/lock.c.
	* lib/windows-spinlock.h: New file, extracted from lib/glthread/lock.h.
	* lib/glthread/lock.h: Include windows-spinlock.h, windows-mutex.h.
	(gl_spinlock_t): Remove type.
	(gl_lock_t): Define using glwthread_mutex_t.
	(gl_lock_initializer): Define using GLWTHREAD_MUTEX_INIT.
	(glthread_lock_init): Define using glwthread_mutex_init.
	(glthread_lock_lock): Define using glwthread_mutex_lock.
	(glthread_lock_unlock): Define using glwthread_mutex_unlock.
	(glthread_lock_destroy): Define using glwthread_mutex_destroy.
	(glthread_lock_init_func, glthread_lock_lock_func,
	glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
	declarations.
	Use glwthread_spinlock_t instead of gl_spinlock_t.
	(gl_rwlock_initializer, gl_recursive_lock_initializer): Define using
	GLWTHREAD_SPINLOCK_INIT.
	* lib/glthread/lock.c (glthread_lock_init_func, glthread_lock_lock_func,
	glthread_lock_unlock_func, glthread_lock_destroy_func): Remove
	functions.
	* lib/glthread/cond.h: Use glwthread_spinlock_t instead of
	gl_spinlock_t.
	* modules/windows-mutex: New file.
	* modules/lock (Depends-on): Add windows-mutex.

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

	windows-once: New module.
	* lib/windows-once.h: New file, extracted from lib/glthread/lock.h.
	* lib/windows-once.c: New file, extracted from lib/glthread/lock.c.
	* lib/glthread/lock.h: Include windows-once.h.
	(gl_once_t): Define using glwthread_once_t.
	(gl_once_define): Define using GLWTHREAD_ONCE_INIT.
	(glthread_once): Define using glwthread_once.
	(glthread_once_func): Remove declaration.
	* lib/glthread/lock.c (glthread_once_func): Remove function.
	* modules/windows-once: New file.
	* modules/lock (Depends-on): Add windows-once.

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

	lock, cond: Avoid possible counter wraparound on Windows.
	* lib/glthread/lock.c (glthread_lock_lock_func): Leave the 'started'
	field of the guard unchanged if it was already positive.
	(glthread_rwlock_rdlock_func): Likewise.
	(glthread_rwlock_wrlock_func): Likewise.
	(glthread_recursive_lock_lock_func): Likewise.
	* lib/glthread/cond.c (glthread_cond_wait_func): Likewise.
	(glthread_cond_timedwait_func): Likewise.

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

	cond: Make glthread_cond_timedwait more reliable on Windows.
	* lib/glthread/cond.c (glthread_cond_timedwait_func): Initialize the
	condition variable before looking at the current time.

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

	pthread_mutex_timedlock: New module.
	* lib/pthread.in.h (pthread_mutex_timedlock): New dummy function and
	new declaration.
	* lib/pthread_mutex_timedlock.c: New file.
	* m4/pthread_mutex_timedlock.m4: New file.
	* m4/pthread.m4 (gl_PTHREAD_CHECK): Don't call AC_LIBOBJ here. Test
	whether pthread_mutex_timedlock is declared.
	(gl_PTHREAD_MODULE_INDICATOR): New macro.
	(gl_PTHREAD_DEFAULTS): Initialize GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
	HAVE_PTHREAD_MUTEX_TIMEDLOCK.
	* modules/pthread (configure.ac): Call AC_LIBOBJ here.
	(Makefile.am): Substitute GNULIB_PTHREAD_MUTEX_TIMEDLOCK,
	HAVE_PTHREAD_MUTEX_TIMEDLOCK.
	* modules/pthread_mutex_timedlock: New file.
	* doc/posix-functions/pthread_mutex_timedlock.texi: Mention the new
	module.

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

	thread, lock, cond, tls: Recognize C11 multithreaded applications.
	* m4/threadlib.m4 (gl_THREADLIB_BODY): Test for <threads.h>.
	* lib/glthread/thread.h (c11_threads_in_use): New macro.
	(pthread_in_use, pth_in_use, thread_in_use): Use it.
	* lib/glthread/lock.h (c11_threads_in_use): New macro.
	(pthread_in_use, pth_in_use, thread_in_use): Use it.
	* lib/glthread/cond.h (c11_threads_in_use): New macro.
	(pthread_in_use, pth_in_use, thread_in_use): Use it.
	* lib/glthread/tls.h (c11_threads_in_use): New macro.
	(pthread_in_use, pth_in_use, thread_in_use): Use it.

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

	tls tests: Small improvements.
	* tests/test-tls.c: Include <stdint.h>.
	(worker_thread): Avoid gcc warning on 64-bit mingw.
	(test_tls): Pass a different id to each thread.
	* modules/tls-tests (Depends-on): Add stdint.

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

	cond tests: Simplify.
	* tests/test-cond.c (test_timedcond): Remove redundant assignment.

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

	lock tests: Avoid reference to undefined variable if !ENABLE_LOCKING.
	* tests/test-lock.c (test_once): Don't reference fire_signal if
	!ENABLE_LOCKING.

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

	nanosleep: Relicense under LGPLv2+.
	Approved by Jim Meyering, Paul Eggert, Eric Blake, Pádraig Brady.
	* modules/nanosleep (License): Change to LGPLv2+.

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

	Reorder pieces of header in perl scripts.
	The desired order is
	- Prologue part 1 (2 lines with #!)
	- Program short description
	- Copyright and license notice
	- Written-by notice
	- Program short description (optional)
	- Program long description (optional)
	- Prologue part 2
	- Time stamp
	- Code
	Reported by Paul Eggert.
	* build-aux/announce-gen: Reorder header.
	* build-aux/gitlog-to-changelog: Likewise.
	* build-aux/useless-if-before-free: Likewise.
	* build-aux/prefix-gnulib-mk: Add copyright notice and short
	description.
	* build-aux/update-copyright: Likewise. Add short description. Bump
	time-stamp-line-limit to 200.

2019-06-18  Paul Eggert  <eggert@cs.ucla.edu>

	verify-tests: work around xlc bug
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2019-06/msg00049.html
	* tests/test-verify.c (item): Move the arithmetic inside the
	verify_expr, to avoid tickling a bug in IBM AIX xlc V12.1.

2019-06-16  Bruno Haible  <bruno@clisp.org>

	Restore Emacs time-stamp hook applicability.
	Reported by Darshit Shah <darnir@gnu.org>.
	* build-aux/useless-if-before-free: Bump time-stamp-line-limit to 50.
	* build-aux/announce-gen: Likewise.
	* build-aux/gitlog-to-changelog: Likewise.
	* build-aux/prefix-gnulib-mk: Likewise.
	* build-aux/update-copyright: Likewise.

2019-06-15  Bruno Haible  <bruno@clisp.org>

	Fix scripts to have valid executable format on Alpine Linux.
	Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
	Idea by Paul Eggert.
	* build-aux/useless-if-before-free: Use a prologue that starts with
	'#!/bin/sh'.
	* build-aux/announce-gen: Likewise.
	* build-aux/gitlog-to-changelog: Likewise.
	* build-aux/prefix-gnulib-mk: Likewise.
	* build-aux/update-copyright: Likewise.
	* tests/test-update-copyright.sh: Update test program accordingly.

2019-06-10  Bruno Haible  <bruno@clisp.org>

	nproc: Ensure nproc(NPROC_ALL) ≥ nproc(NPROC_CURRENT) with glibc ≥ 2.26.
	Reported by Nikita Ermakov <arei@altlinux.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-06/msg00003.html>.
	* lib/nproc.c (num_processors_ignoring_omp): Treat a return value of
	sysconf (_SC_NPROCESSORS_CONF) == 2 like a return value == 1.

2019-06-10  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addchdir: Fix possible use-after-free bug.
	* lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
	* lib/spawn_faction_addchdir.c (posix_spawn_file_actions_addchdir): Make
	a copy of the path argument.
	* lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
	it.

2019-06-10  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addopen: Fix possible use-after-free bug.
	Reported at <https://sourceware.org/bugzilla/show_bug.cgi?id=17048>.
	* lib/spawn_int.h (struct __spawn_action): Remove 'const' from path.
	* lib/spawn_faction_addopen.c (posix_spawn_file_actions_addopen): Make
	a copy of the path argument.
	* lib/spawn_faction_destroy.c (posix_spawn_file_actions_destroy): Free
	it.

2019-06-10  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addfchdir: Add tests.
	* tests/test-posix_spawn_file_actions_addfchdir.c: New file.
	* tests/test-posix_spawn5.c: New file.
	* modules/posix_spawn_file_actions_addfchdir-tests: New file.

2019-06-10  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addfchdir: New module.
	* lib/spawn.in.h (posix_spawn_file_actions_addfchdir): New declaration.
	* lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_fchdir' and
	union member 'fchdir_action'.
	* lib/spawn_faction_addfchdir.c: New file.
	* lib/spawni.c (__spawni): Implement the spawn_do_fchdir action.
	* m4/posix_spawn_faction_addfchdir.m4: New file.
	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
	'posix_spawn_file_actions_addfchdir' is present and whether
	posix_spawn_file_actions_addfchdir_np exists. Set REPLACE_POSIX_SPAWN.
	* m4/spawn_h.m4 (gl_SPAWN_H): Test whether
	posix_spawn_file_actions_addfchdir is declared.
	(gl_SPAWN_H_DEFAULTS): Initialize
	GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
	HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
	* modules/spawn (Makefile.am): Substitute
	GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
	HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR,
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDFCHDIR.
	* modules/posix_spawn_file_actions_addfchdir: New file.
	* tests/test-spawn-c++.cc (posix_spawn_file_actions_addfchdir): Check
	signature.
	* doc/posix-functions/posix_spawn.texi: Mention the new module.
	* doc/posix-functions/posix_spawnp.texi: Likewise.
	* doc/glibc-functions/posix_spawn_file_actions_addfchdir_np.texi:
	Likewise.

2019-06-10  Bruno Haible  <bruno@clisp.org>

	doc: Document existence of posix_spawn_file_actions_addchdir module.
	* doc/glibc-functions/posix_spawn_file_actions_addchdir_np.texi: Mention
	the posix_spawn_file_actions_addchdir module.

2019-06-10  Bruno Haible  <bruno@clisp.org>

	posix_spawn-internal: Fix module description.
	* modules/posix_spawn (configure.ac): Move request to compile spawni.c
	from here...
	* modules/posix_spawnp (configure.ac): ... and here...
	* modules/posix_spawn-internal (configure.ac): ... to here.

2019-06-10  Bruno Haible  <bruno@clisp.org>

	doc: Update and improve documentation of glibc functions.
	This is a series of commits that
	- updates the documentation to the state of glibc 2.29,
	- adds references to Linux man pages and glibc documentation,
	- marks Linux specific functions as such.
	These are the commits:
	doc: Update after removal of crypt functions from glibc 2.28.
	doc: Remove mention of function vm86 (does not exist on x86_64).
	doc: Remove mention of functions that are gone from glibc.
	doc: Mention that glibc no longer provides h_errno.
	doc: Mention the availability of specific functions in glibc versions.
	doc: Mention eaccess.
	doc: Add references to Linux man pages.
	doc: Add references to glibc documentation.
	doc: Mention inotify_* functions.
	doc: Mention ppoll.
	doc: Mention sched_getcpu.
	doc: Mention sync_file_range.
	doc: Mention epoll_pwait.
	doc: Mention eventfd, eventfd_read, eventfd_write.
	doc: Mention signalfd.
	doc: Mention timerfd_create, timerfd_gettime, timerfd_settime.
	doc: Mention epoll_create1.
	doc: Mention getauxval.
	doc: Mention pthread_getattr_default_np, pthread_setattr_default_np.
	doc: Mention nextdown, nextup.
	doc: Mention more ISO TS 18661-1 <math.h> functions.
	doc: Mention ISO TS 18661-1 <fenv.h> functions.
	doc: Mention getrandom, getentropy.
	doc: Mention strfromf, strfromd, strfroml.
	doc: Mention preadv2, pwritev2.
	doc: Mention copy_file_range.
	doc: Mention memfd_create.
	doc: Mention mlock2.
	doc: Mention pkey_alloc, pkey_set, pkey_get, pkey_free, pkey_mprotect.
	doc: Mention more ISO TS 18661-1 <math.h> functions.
	doc: Mention renameat2.
	doc: Mention statx.
	doc: Mention the ISO C11 multithreading header and functions.
	doc: Mention getcpu.
	doc: Mention posix_spawn_file_actions_add[f]chdir_np.
	doc: Some glibc functions also exist on IRIX 6.5 in 32-bit mode.
	doc: Some glibc functions also exist on FreeBSD, AIX, HP-UX, Solaris 11.
	doc: Some glibc functions also exist on FreeBSD, Solaris 11.
	doc: Some glibc functions also exist on Solaris 11.
	doc: Some glibc functions also exist on Solaris 11.4.
	doc: Some glibc functions also exist on FreeBSD.
	doc: Some glibc functions also exist on BeOS.
	doc: Some glibc functions also exist on Haiku.
	doc: Mark functions which exist only on Linux.
	doc: Mark functions which exist only on Linux and illumos.

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

	copy-file: fix typo
	* lib/copy-file.c (qcopy_file_preserving): Remove unused label.

	copy-file-range: simplify into a stub
	Based on a comment by Florian Weimer in:
	https://lists.gnu.org/r/bug-gnulib/2019-06/msg00007.html
	It turns out that Emacs (which will use this module) won’t need an
	emulation and I suspect other programs won’t either, because these
	programs will need to fall back on read+write anyway.  Perhaps I
	am wrong and other programs will be able to use an emulation; if
	so, this patch can be reverted.
	* lib/copy-file-range.c (COPY_FILE_RANGE): Replace with a stub.
	Just call it copy_file_range.
	* m4/copy-file-range.m4 (gl_FUNC_COPY_FILE_RANGE):
	Check via AC_LINK_IFELSE.
	* modules/copy-file-range (Depends-on): Remove modules no longer used.

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

	copy-file: prefer copy_file_range
	* lib/copy-file.c: Do not include xalloc.h.
	(qcopy_file_preserving): Allocate a buffer only if
	copy_file_range does not suffice.  If the allocation fails
	don't give up; just use a small stack-based buffer.
	Prefer copy_file_range if it works.
	* modules/copy-file (Depends-on): Add copy-file-range.
	Remove xalloc.

	copy-file-range: new module
	* MODULES.html.sh: Add copy-file-range.
	* lib/copy-file-range.c, m4/copy-file-range.m4:
	* modules/copy-file-range: New files.
	* lib/unistd.in.h (copy_file_range): Declare.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS):
	Set up GNULIB_COPY_FILE_RANGE and HAVE_COPY_FILE_RANGE.
	* modules/unistd (unistd.h): Substitute them.

2019-05-28  Bruno Haible  <bruno@clisp.org>

	binary-io: Attempted use of O_BINARY on consoles no longer fails.
	Reported by KO Myung-Hun <komh78@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-05/msg00124.html>.
	* lib/binary-io.h (__gl_setmode_check): Remove function.
	(set_binary_mode): Declare as notinline on DJGPP and EMX.
	* lib/binary-io.c (__gl_setmode_check): Remove function.
	(set_binary_mode): Define here on DJGPP and EMX. Inline
	__gl_setmode_check. In case of a tty, don't return an error code.

2019-05-28  James Youngman  <jay@gnu.org>

	dirent-safer: Make opendir_safer usable from C++.
	* lib/dirent-safer.h: use extern "C".

2019-05-28  James Youngman  <jay@gnu.org>

	canonicalize: Make canonicalize_filename_mode usable from C++.
	* lib/canonicalize.h: use extern "C".

2019-05-26  Akim Demaille  <akim@lrde.epita.fr>

	prefix-gnulib-mk: Fix CPPFLAGS migration.
	* build-aux/prefix-gnulib-mk (prefix_assignment): Don't forget the
	_a part of the library name.

2019-05-24  Paul Eggert  <eggert@cs.ucla.edu>

	flexmember: update comments again
	* lib/flexmember.h, m4/flexmember.m4: Improve comments further.

	flexmember: update comment
	* m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER): Improve comment.

2019-05-20  Bruno Haible  <bruno@clisp.org>

	setlocale: Improve fallback on macOS.
	* lib/setlocale.c (search): Optimize away a redundant strcmp()
	invocation.
	(locales_with_principal_territory): New array.
	(langcmp, get_main_locale_with_same_language): New functions.
	(locales_with_principal_language): New array.
	(terrcmp, get_main_locale_with_same_territory): New functions.
	(rpl_setlocale): When setlocale_single failed, try again with a locale
	that is more likely to exist. Don't warn if the environment variable
	SETLOCALE_VERBOSE is not set.

2019-05-19  Bruno Haible  <bruno@clisp.org>

	localename: Fix default on macOS.
	* m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for CFLocaleCopyCurrent.
	* lib/localename.c: Remove includes for HAVE_CFLOCALECOPYCURRENT.
	(gl_locale_name_environ, gl_locale_name_default): Remove code for
	HAVE_CFLOCALECOPYCURRENT.
	* lib/localename.h (gl_locale_name_default): Update.

2019-05-19  Karl Berry  <karl@freefriends.org>

	* config/srclistvars.sh (TEXINFOTEX): make ftp.gnu.org be the
	source for texinfo.tex, replacing TEXINFOSRC, per Texinfo maintainer.
	* config/srclist.txt (texinfo.tex): use it. (Also doc changes.)

2019-05-18  Akim Demaille  <akim@lrde.epita.fr>

	maintainer-makefile: catch uses of $< in non-implicit rules
	* top/maint.mk (sc_prohibit_magic_number_exit): New.

2019-05-18  Bruno Haible  <bruno@clisp.org>

	threadlib: Provide an easy way to avoid mingw's winpthreads library.
	* m4/threadlib.m4 (gl_AVOID_WINPTHREAD): New macro.
	(gl_THREADLIB_EARLY_BODY): Recognize when it was invoked, and set
	gl_use_threads accordingly.

2019-05-18  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Fix compilation error with --enable-threads=windows.
	Reported by Tim Rühsen in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-01/msg00018.html>
	and Michele Locati in
	<https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00057.html>.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Revert change from
	2015-06-01. Test whether pthread_sigmask is a macro, regardless of
	$LIBMULTITHREAD. Consider it regardless whether module 'threadlib' is
	in use and regardless which threads API is chosen.

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

	close-stream, closein, closeout: simplify
	I noticed this opportunity for simplification while drafting a
	new, related module that I haven’t had time to finish yet.
	* m4/close-stream.m4, m4/closein.m4, m4/closeout.m4: Remove.
	* modules/close-stream (Files): Remove m4/close-stream.m4.
	(configure.ac): Omit gl_CLOSE_STREAM.
	* modules/closein (Files): Remove m4/closein.m4
	(configure.ac): Omit gl_CLOSEIN.
	* modules/closeout (Files): Remove m4/closeout.m4.
	(configure.ac): Omit gl_CLOSEOUT.

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

	libtool-next-version: New program.
	* build-aux/libtool-next-version: New file.

2019-05-11  John Darrington  <john@darrington.wattle.id.au>
            Bruno Haible  <bruno@clisp.org>

	version-etc: Ease translation.
	* lib/version-etc.c (version_etc_arn, emit_bug_reporting_address): Move
	URLs and formatting newlines out of translatable string.

2019-05-11  Bruno Haible  <bruno@clisp.org>

	gnupload: Explain how to create symlinks.
	* build-aux/gnupload (usage): Add an example that creates symlinks.

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

	fpucw: port to gcc -pedantic
	* lib/fpucw.h (GET_FPUCW, SET_FPUCW):
	Use __extension__ if using ({ ... }).

	crypto/af_alg: port to strict C compilers
	* lib/af_alg.c: Include af_alg.h regardless, so that the
	compilation unit is nonempty.

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

	base64: Avoid false positive warning from Coverity.
	Reported by Kamil Dudka <kdudka@redhat.com>.
	Idea by Paul Eggert.
	* lib/base64.c (base64_encode_fast, base64_encode): Add a no-op
	'& 0x3f' to the array index expressions. This convinces Coverity that
	there is no out-of-bounds array reference, regardless of the input.

2019-05-09  Bruno Haible  <bruno@clisp.org>

	gettext: Update to gettext 0.20.
	* modules/gettext (Files): Remove m4/codeset.m4, m4/fcntl-o.m4,
	m4/glibc2.m4, m4/glibc21.m4, m4/intdiv0.m4, m4/intl.m4, m4/intldir.m4,
	m4/intmax.m4, m4/inttypes_h.m4, m4/inttypes-pri.m4, m4/lcmessage.m4,
	m4/lock.m4, m4/longlong.m4, m4/printf-posix.m4, m4/size_max.m4,
	m4/stdint_h.m4, m4/threadlib.m4, m4/uintmax_t.m4, m4/visibility.m4,
	m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4. Add m4/host-cpu-c-abi.m4.
	(configure.ac): Request infrastructure compatible with gettext 0.20.
	* m4/glibc2.m4: Remove file.
	* m4/intdiv0.m4: Remove file.
	* m4/intl.m4: Remove file.
	* m4/intldir.m4: Remove file.
	* m4/intmax.m4: Remove file.
	* m4/printf-posix.m4: Remove file.
	* m4/uintmax_t.m4: Remove file.
	* m4/gettext.m4: Update from gettext 0.20.
	* m4/po.m4: Likewise.

2019-05-09  Paul Eggert  <eggert@cs.ucla.edu>

	verify: remove verify_true
	* NEWS: Mention this.
	* lib/verify.h (verify_true): Remove.
	* tests/test-verify.c (item): Test verify_expr, not verify_true.

	Support C2x and C++17 static_assert
	C2x and C++17 finally added support for a simple, single-argument
	‘static_assert’ that implements what the Gnulib ‘verify’ macro was
	doing back in 2005.  Implement static_assert on older platforms.
	The only remaining advantage of ‘verify’ is a shorter name.
	* doc/posix-headers/assert.texi (assert.h):
	* doc/verify.texi (Compile-time Assertions):
	Modernize for C2x and C++17.
	* lib/verify.h (_GL_HAVE__STATIC_ASSERT1, _GL_HAVE_STATIC_ASSERT1):
	New macros.
	(_GL_HAVE__STATIC_ASSERT): Remove.
	(_GL_HAVE__STATIC_ASSERT): Rely more heavily on __STDC_VERSION__.
	(_GL_VERIFY_TRUE, _GL_VERIFY_TYPE): Remove 2nd arg, the diagnostic
	string.  All callers changed.
	(_GL_VERIFY): Require 3 or more args, of which only the first 2
	are used.  All callers changed.
	(_Static_assert): Allow either 1 or 2 args, and define if
	!_GL_HAVE__STATIC_ASSERT1 instead of defining if
	!_GL_HAVE__STATIC_ASSERT.
	(static_assert): Define if !_GL_HAVE_STATIC_ASSERT1 instead
	of defining if !_GL_HAVE_STATIC_ASSERT.
	(verify_expr, verify): Don’t bother trying to copy the expression
	into the diagnostic, since 1-argument static_assert doesn’t.
	(verify): Prefer 1-argument _Static_assert if it works.
	* m4/assert_h.m4 (gl_ASSERT_H): Check for 1-argument static_assert.

2019-05-08  Paul Eggert  <eggert@cs.ucla.edu>

	Fix _GL_HAVE__STATIC_ASSERT typo
	* lib/verify.h (_Static_assert): For the FreeBSD workaround,
	use _GL_HAVE__STATIC_ASSERT, not _GL_HAVE_STATIC_ASSERT.

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

	wcwidth: Ensure width 1, not 2, for ambiguous characters.
	Reported by Kiyoshi KANAZAWA <yoi_no_myoujou@yahoo.co.jp>
	via Akim Demaille <akim.demaille@gmail.com>.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the width of U+2202. Use an
	en_US.UTF-8 locale, since that is more likely to be present than an
	fr_FR.UTF-8 locale.
	* tests/test-wcwidth.c (main): Check the width of U+2202.
	* doc/posix-functions/wcwidth.texi: Mention the issue.

2019-05-03  Paul Eggert  <eggert@cs.ucla.edu>

	Port manywarnings to GCC 9
	* build-aux/gcc-warning.spec: Sort.  Add -Wattribute-alias,
	-Wc11-c2x-compat, -Wcast-result (for the D programming language),
	-Wclass-conversion, -Wdeprecated-copy, -Wdeprecated-copy-dtor,
	-Winit-list-lifetime, -Wpessimizing-move, -Wprio-ctor-dtor,
	-Wredundant-move.  Adjust to minor wording changes in GCC 9’s
	--help=warnings output.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wabsolute-value,
	-Waddress-of-packed-member, -Wattribute-warning, -Wcannot-profile,
	-Wmissing-profile.  Change -Wattribute-alias to -Wattribute-alias=2.

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

	Sync lib/mktime-internal.h from glibc
	* config/srclist.txt: Add entry for lib/mktime-internal.h.
	* lib/mktime-internal.h: Autoupdate.

2019-04-28  Bruno Haible  <bruno@clisp.org>

	tls tests: Prevent that the test takes too long.
	* tests/test-tls.c: Include <signal.h>, <unistd.h>.
	(main): Let the test fail if it takes more than 10 minutes.
	* modules/tls-tests (configure.ac): Test whether 'alarm' is declared.

2019-04-27  Bruno Haible  <bruno@clisp.org>

	lock tests: Prevent that the test takes too long.
	* tests/test-lock.c: Include <signal.h>, <unistd.h>.
	(main): Let the test fail if it takes more than 10 minutes.
	* modules/lock-tests (configure.ac): Test whether 'alarm' is declared.

2019-04-27  Bruno Haible  <bruno@clisp.org>

	localename: Fix crash on mingw (regression from 2018-11-23).
	* lib/localename.c (gl_locale_name_posix): Don't attempt to convert a
	locale name that is null.

2019-04-27  Bruno Haible  <bruno@clisp.org>

	Fix gcc warnings on 64-bit mode mingw.
	* lib/clean-temp.c: Include <stdint.h> instead of defining uintptr_t.
	* lib/gl_array_list.c: Likewise.
	* lib/gl_array_map.c: Likewise.
	* lib/gl_array_set.c: Likewise.
	* lib/gl_carray_list.c: Likewise.
	* lib/gl_sublist.c: Likewise.
	* lib/gl_avltreehash_list.c (uintptr_t): Remove definition.
	* lib/gl_rbtreehash_list.c (uintptr_t): Likewise.
	* lib/gl_hash_map.c (uintptr_t): Likewise.
	* lib/gl_hash_set.c (uintptr_t): Likewise.
	* lib/gl_linkedhash_list.c (uintptr_t): Likewise.
	* lib/gl_linkedhash_map.c (uintptr_t): Likewise.
	* lib/gl_linkedhash_set.c (uintptr_t): Likewise.
	* lib/iconv.c (uintptr_t): Likewise.
	* lib/iconv_close.c (uintptr_t): Likewise.
	* tests/test-lock.c: Include <stdint.h>.
	(once_contender_thread, test_once): Cast through 'intptr_t' instead of
	'long'.
	* modules/clean-temp (Depends-on): Add stdint.
	* modules/array-list (Depends-on): Likewise.
	* modules/array-map (Depends-on): Likewise.
	* modules/array-set (Depends-on): Likewise.
	* modules/carray-list (Depends-on): Likewise.
	* modules/sublist (Depends-on): Likewise.
	* modules/lock-tests (Depends-on): Likewise.

2019-04-27  Bruno Haible  <bruno@clisp.org>

	error: Tweak indentation.
	* lib/error.c: Correct indentation.

2019-04-27  Bruno Haible  <bruno@clisp.org>

	term-style-control: Fix gcc warning on mingw.
	* lib/term-style-control.c (ensure_other_signal_handlers): Reduce scope
	of i.

2019-04-26  Bruno Haible  <bruno@clisp.org>

	pipe-filter-gi, pipe-filter-ii: Fix gcc warning.
	* lib/pipe-filter-aux.h (read): Undefine before redefinition.

2019-04-26  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Fix gcc warning on mingw.
	* lib/progreloc.c (maybe_executable): Don't define on native Windows and
	on EMX.

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

	gitsub.sh: New file.
	* top/gitsub.sh: New file.

2019-04-18  Akim Demaille  <akim@lrde.epita.fr>

	argmatch: use void* for raw memory pointers
	* lib/argmatch.h, lib/argmatch.c (argmatch, argmatch_valid)
	(__xargmatch_internal, argmatch_to_argument): Use void* for pointers
	to "values", keep char* for strings.

2019-04-21  Akim Demaille  <akim@lrde.epita.fr>

	prefix-gnulib-mk: fix the support for gnulib-po
	* build-aux/prefix-gnulib-mk (prefix_assignment): Remove useless $res.
	Don't touch HAVE_* variables.
	Map AM_CPPFLAGS and AM_CPPFLAGS to the library's corresponding variables.

2019-04-18  Bernhard Voelker  <mail@bernhard-voelker.de>

	di-set: allow free with 'ino_map' being NULL.
	* lib/di-set.c (di_set_free): Avoid ino_map_free() when dis->ino_map
	is NULL.  Bug introduced in commit 3703dbbe88dd.
	* tests/test-di-set.c: Add di_set_free() right after di_set_alloc()
	as a test.

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

	* lib/str-two-way.h: Fix comment typo.

2019-04-13  Bruno Haible  <bruno@clisp.org>

	x-to-1: Restore ability to use original calling convention.
	* build-aux/x-to-1.in: Add comments. Accept the original form of
	HELP2MAN argument as well as the form expected since 2012-12-12.

2019-04-13  Bruno Haible  <bruno@clisp.org>

	x-to-1: Avoid failure due to missing perl modules.
	* build-aux/x-to-1.in: Test whether all the perl modules that help2man
	needs are installed.

2019-04-13  Bruno Haible  <bruno@clisp.org>

	openmp-init: New module.
	* modules/openmp-init: New file.
	* modules/openmp: (Files, Depends-on, configure.ac, Makefile.am): Revert
	the changes from 2019-04-09.

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

	signbit: Fix compilation error when gnulib's math.h exists twice.
	* lib/math.in.h (GNULIB_defined_signbit): New macro.

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

	openmp: Fix compilation error on platforms without OpenMP.
	* lib/omp-init.c: Include <omp.h> only if _OPENMP.

2019-04-09  Bernhard Voelker  <mail@bernhard-voelker.de>

	mountlist: make parsing /proc/self/mountinfo more robust
	Cater for the following issues with mountinfo parsing (the first
	one was reported by Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
	in <https://bugs.gnu.org/35137>).
	1. The fields source, target, mntroot and fstype may contain characters
	like '\r'; sscanf(3) fails to read such values with the %s format
	specifier because it would stop at such characters.
	Example: "mount -t tmpfs tmpfs /foo^Mbar".
	The only true separator in that file is the ' ' character.
	2. The source field may be an empty string, which happens e.g. with
	"mount -t tmpfs '' /target".
	3. The fstype field may contain mangled characters as well which need
	unescaping.
	* lib/mountlist.c (terminate_at_blank): Add utility function.
	(read_file_system_list): In the block trying to read the mountinfo file,
	avoid using sscanf(3) with %s format; instead, parse the above fields
	separated by spaces one by one.
	This also handles the case when the source field is an empty string.
	Unescape the fstype field.

2019-04-09  Bruno Haible  <bruno@clisp.org>

	openmp: Add workaround for 32-bit programs on AIX.
	* lib/omp.in.h: New file.
	* lib/omp-init.c: New file, based on lib/nproc.c.
	* m4/omp_h.m4: New file.
	* modules/openmp (Files): Add them.
	(Depends-on): Add include_next, c-ctype, setenv.
	(configure.ac): Invoke gl_OMP_H.
	(Makefile.am): Add rules to create omp.h and compile omp-init.c.
	(Include): Mention <omp.h>.

2019-04-09  Bruno Haible  <bruno@clisp.org>

	nproc: Fix return value for privileged processes.
	* lib/nproc.c (num_processors_ignoring_omp): Test getuid(), not
	getpid().

2019-04-07  Bruno Haible  <bruno@clisp.org>

	Add copyright notices in several files.
	Reported by <ineiev@gnu.org> in <https://savannah.gnu.org/bugs/?54809>.
	* lib/_Noreturn.h: Add LGPLv2+ copyright notice.
	* lib/libunistring.valgrind: Likewise.
	* lib/iconv_open-*.gperf: Add GPLv2+ copyright notice.
	* lib/uniname/gen-uninames.lisp: Add GPLv3+ copyright notice.
	* lib/memchr.valgrind: Likewise.
	* lib/memchr2.valgrind: Likewise.
	* lib/rawmemchr.valgrind: Likewise.
	* lib/relocatable.valgrind: Likewise.
	* lib/strchrnul.valgrind: Likewise.

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

	term-style-control tests: Fix link error.
	Reported by Tom G. Christensen in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00108.html>.
	* modules/term-style-control-tests (Makefile.am): Link
	test-term-style-control-hello and test-term-style-control-yes against
	LIBINTL.

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

	term-style-control: Add tests.
	* tests/test-term-style-control-hello.c: New file.
	* tests/test-term-style-control-yes.c: New file.
	* modules/term-style-control-tests: New file.

	term-style-control: New module.
	* lib/term-style-control.h: New file, based on libtextstyle's
	term-ostream.oo.h and term-ostream.oo.c.
	* lib/term-style-control.c: New file, based on libtextstyle's
	term-ostream.oo.c.
	* modules/term-style-control: New file.

2019-03-22  Akim Demaille  <akim@lrde.epita.fr>

	_Noreturn: beware of C's _Noreturn in C++ pre C++11.
	* lib/_Noreturn.h, m4/gnulib-common.m4: Using C's _Noreturn in
	C++98 appears to be supported by Clang, but not by GCC nor ICC.

2019-03-23  Bruno Haible  <bruno@clisp.org>

	Support cross-compilation to musl libc.
	Reported by Necktwi Ozfguah <necktwi@ferryfair.com>.
	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Add cross-compilation guesses for
	musl libc.
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
	* m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
	* m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
	* m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
	* m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
	* m4/chown.m4 (gl_FUNC_CHOWN): Likewise.
	* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
	* m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
	* m4/expl.m4 (gl_FUNC_EXPL): Likewise.
	* m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
	* m4/expm1l.m4 (gl_FUNC_EXPM1L): Likewise.
	* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Likewise.
	* m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
	* m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
	* m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
	* m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
	* m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
	* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
	* m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
	* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
	* m4/getgroups.m4 (AC_FUNC_GETGROUPS, gl_FUNC_GETGROUPS): Likewise.
	* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
	* m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
	* m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
	* m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
	* m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): Likewise.
	* m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
	* m4/log.m4 (gl_FUNC_LOG): Likewise.
	* m4/logf.m4 (gl_FUNC_LOGF): Likewise.
	* m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
	* m4/log10.m4 (gl_FUNC_LOG10): Likewise.
	* m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
	* m4/log10l.m4 (gl_FUNC_LOG10L): Likewise.
	* m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
	* m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
	* m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
	* m4/log2.m4 (gl_FUNC_LOG2): Likewise.
	* m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Likewise.
	* m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
	* m4/modf.m4 (gl_FUNC_MODF): Likewise.
	* m4/modff.m4 (gl_FUNC_MODFF): Likewise.
	* m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
	* m4/perror.m4 (gl_FUNC_PERROR): Likewise.
	* m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_INFINITE,
	gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_A,
	gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO, gl_SNPRINTF_TRUNCATION_C99,
	gl_SNPRINTF_RETVAL_C99, gl_SNPRINTF_DIRECTIVE_N,
	gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
	* m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
	* m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Likewise.
	* m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
	* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
	* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
	* m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
	* m4/round.m4 (gl_FUNC_ROUND): Likewise.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
	* m4/setenv.m4 (gl_FUNC_SETENV): Likewise.
	* m4/signbit.m4 (gl_SIGNBIT): Likewise.
	* m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
	* m4/strerror.m4 (gl_FUNC_STRERROR, gl_FUNC_STRERROR_0): Likewise.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
	* m4/strtold.m4 (gl_FUNC_STRTOLD): Likewise.
	* m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
	* m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
	* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
	* m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
	* m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
	* m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.

2019-03-23  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_*: Document musl libc bugs.
	* doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
	the bug.
	* doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Likewise.
	* doc/posix-functions/posix_spawn_file_actions_addopen.texi: Likewise.
	* m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): When
	cross-compiling to a musl system, guess no.
	(gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): Likewise.
	(gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.

2019-03-23  Bruno Haible  <bruno@clisp.org>

	futimens: Document musl libc bug.
	* doc/posix-functions/futimens.texi: Mention the bug.
	* m4/futimens.m4 (gl_FUNC_FUTIMENS): Require AC_CANONICAL_HOST. When
	cross-compiling, guess no on glibc and musl systems.

2019-03-23  Bruno Haible  <bruno@clisp.org>

	Clarify that cross-compilation guesses are guesses.
	* m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): When cross-compiling, add
	prefix 'guessing ' to gl_cv_func_chown_follows_symlink.
	* m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): When cross-compiling, add
	prefix 'guessing ' to gl_cv_func_fchownat_nofollow_works.
	* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): When
	cross-compiling, add prefix 'guessing ' to gl_cv_func_getcwd_abort_bug.
	* m4/glob.m4 (gl_GLOB): When cross-compiling, add prefix 'guessing ' to
	gl_cv_glob_lists_symlinks.
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF): When cross-compiling, add prefix
	'guessing ' to ac_cv_func_malloc_0_nonnull.
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF): When cross-compiling, add prefix
	'guessing ' to ac_cv_func_realloc_0_nonnull.
	* m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, add prefix
	'guessing ' to gl_cv_func_poll.
	* m4/iconv_open-utf.m4 (gl_FUNC_ICONV_OPEN_UTF_SUPPORT): When cross-
	compiling, add prefix 'guessing ' to gl_cv_func_iconv_supports_utf.
	* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Update accordingly.

2019-03-23  Bruno Haible  <bruno@clisp.org>

	strtold: Fix typo.
	* m4/strtold.m4 (gl_FUNC_STRTOLD): Fix typo in variable name.

2019-03-23  Bruno Haible  <bruno@clisp.org>

	noreturn: In C++ mode with clang, use _Noreturn as fallback.
	Reported by Akim Demaille.
	* lib/noreturn.h (_GL_NORETURN_FUNC): In C++ mode with clang, when
	[[noreturn]] would not work, use _Noreturn instead.

2019-03-22  Akim Demaille  <akim@lrde.epita.fr>

	libtextstyle-optional: Fix compiler warnings.
	* lib/textstyle.in.h (html_styled_ostream_create): Flag arguments
	as unused.

2019-03-19  Akim Demaille  <akim@lrde.epita.fr>

	bitset: fix memory leaks
	Reported by Bruno Haible.
	https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00027.html
	* lib/bitset/vector.c (vbitset_free): New.
	(vbitset_vtable): Use it.

2019-03-19  Akim Demaille  <akim@lrde.epita.fr>

	bitset: minor changes
	* lib/bitset/base.h (bitset_alloc_type): Remove, unused.
	* lib/bitset/table.c: Formatting changes.
	Remove useless braces.
	Prefer using else in cascades of if/else-if with returns.
	* lib/bitset/vector.c: Reduce scopes.

2019-03-19  Akim Demaille  <akim@lrde.epita.fr>

	bitset: expose bitset_resize
	* lib/bitset.h (bitset_resize): Bounce on the polymorphic implementation.
	* tests/test-bitset.c (check_attributes): Check bitset_resize.
	(main): Use a variable bitset as reference, since fixed does not support resize.

2019-03-19  Bruno Haible  <bruno@clisp.org>

	doc: Document the 'stdnoreturn' and 'noreturn' modules.
	Reported by Akim Demaille.
	* doc/noreturn.texi: New file.
	* doc/gnulib.texi: Include it.

2019-03-19  Bruno Haible  <bruno@clisp.org>

	doc: Document how to use 'static inline'.
	* doc/static-inline.texi: New file.
	* doc/gnulib.texi: Include it.

2019-03-19  Bruno Haible  <bruno@clisp.org>

	libtextstyle-optional: Add tests.
	* tests/test-libtextstyle.c: New file, based on libtextstyle's
	adhoc-tests/hello.c.
	* tests/test-libtextstyle-default.css: New file, copied from
	libtextstyle's adhoc-tests/hello-default.css.
	* modules/libtextstyle-optional-tests: New file.

	libtextstyle-optional: New module.
	* lib/textstyle.in.h: New file, based on libtextstyle's textstyle.h.
	* m4/libtextstyle-optional.m4: New file, based on m4/libtextstyle.m4.
	* modules/libtextstyle-optional: New file.

2019-03-19  Bruno Haible  <bruno@clisp.org>

	c-stack: Make signal handlers more reliable.
	* lib/c-stack.c (progname): New variable.
	(die): Use it.
	(c_stack_action): Initialize it.
	(segv_handler): Save and restore errno.

2019-03-19  Bruno Haible  <bruno@clisp.org>

	Help making signal handlers more reliable.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Emit definition of
	_GL_ASYNC_SAFE into config.h.
	* lib/nanosleep.c (sighandler): Mark as _GL_ASYNC_SAFE.
	* lib/fatal-signal.h (at_fatal_signal): Add _GL_ASYNC_SAFE marker to
	argument.
	* lib/fatal-signal.c (action_t, uninstall_handlers,
	fatal_signal_handler): Mark as _GL_ASYNC_SAFE.
	* lib/clean-temp.c (cleanup_action): Mark as _GL_ASYNC_SAFE.
	* lib/wait-process.c (cleanup_slaves, cleanup_slaves_action): Mark as
	_GL_ASYNC_SAFE.
	* lib/c-stack.h (c_stack_action): Add _GL_ASYNC_SAFE marker to argument.
	* lib/c-stack.c: Add _GL_ASYNC_SAFE markers.

2019-03-18  Bruno Haible  <bruno@clisp.org>

	_Noreturn: clang and MSVC do support [[noreturn]] in C++11 mode.
	* lib/_Noreturn.h: Use [[noreturn]] if __GNUC__ and __GNUC_MINOR__
	indicate clang, or if _MSC_VER indicates MSVC++ 14.0 or newer.

2019-03-17  Akim Demaille  <akim@lrde.epita.fr>

	_Noreturn: GCC 4.7 does not support [[noreturn]] in C++11 mode
	* lib/_Noreturn.h, m4/gnulib-common.m4: Don't use [[noreturn]] before
	GCC 4.8.

2019-03-17  Paul Eggert  <eggert@cs.ucla.edu>

	fts: minor simplification
	* lib/fts.c (fts_safe_changedir): Remove redundant assignment.

2019-03-17  Akim Demaille  <akim@lrde.epita.fr>

	bitset, timevar: Depend on c99.
	Reported by Bruno Haible.
	* modules/bitset, modules/timevar (Depends-on): Add c99.

2019-03-16  Akim Demaille  <akim@lrde.epita.fr>

	bitset: a bit (...) more tests
	* tests/test-bitset.c (check_attributes): Check zero and ones.

2019-03-16  Akim Demaille  <akim@lrde.epita.fr>

	bitset: fix overflows.
	Reported by Bruno Haible.
	https://lists.gnu.org/archive/html/bug-gnulib/2019-03/msg00017.html
	* lib/bitset/table.c (tbitset_test): last_bit is the position of
	the bit in the array of bitset_word, so be sure to take its modulo
	number-of-bits-in-bitset-word (i.e., EBITSET_ELT_WORDS).
	* lib/bitset/list.c (lbitset_unused_clear): Likewise.

2019-03-14  Akim Demaille  <akim@lrde.epita.fr>

	bitset: style changes.
	* lib/bitset/table.c: Use NULL, not 0, for pointers.
	Formatting changes.
	(tbitset_list): Reduce scopes.

2019-03-16  Bruno Haible  <bruno@clisp.org>

	fatal-signal: Pass the signal number to the action.
	* lib/fatal-signal.h (at_fatal_signal): Change the signature.
	* lib/fatal-signal.c (action_t): Take the signal number as parameter.
	(fatal_signal_handler): Pass the signal number to the action.
	* lib/clean-temp.c (cleanup_action): Renamed from cleanup. Take the
	signal number as parameter.
	(create_temp_dir): Update.
	* lib/wait-process.c (cleanup_slaves_action): New function.
	(register_slave_subprocess): Update at_fatal_signal invocation.
	* NEWS: Mention the change.

2019-03-16  Bruno Haible  <bruno@clisp.org>

	fatal-signal: Add function that lists the fatal signals.
	* lib/fatal-signal.h (get_fatal_signals): New declaration.
	* lib/fatal-signal.c (get_fatal_signals): New function.

2019-03-14  Bruno Haible  <bruno@clisp.org>

	isatty: Make it return true in Cygwin consoles on native Windows.
	* lib/isatty.c: Include <string.h>.
	(GetProcAddress): New macro.
	(GetNamedPipeClientProcessIdFuncType): New type.
	(GetNamedPipeClientProcessIdFunc): New variable.
	(QueryFullProcessImageNameFuncType): New type.
	(QueryFullProcessImageNameFunc): New variable.
	(initialized): New variable.
	(initialize): New function.
	(IsCygwinConsoleHandle): New function.
	(isatty): Invoke it.
	* doc/posix-functions/isatty.texi: Mention the issue.

2019-03-14  Bruno Haible  <bruno@clisp.org>

	all: Update URLs to msdn.microsoft.com.
	* lib/stat-w32.c et al.: Update URLs after most of msdn.microsoft.com
	was moved to docs.microsoft.com.

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

	gnulib-tool: Clarify the coding style.
	Suggested by Pavel Raiskup <praiskup@redhat.com>.
	* gnulib-tool: Add comment about coding style.

2019-03-11  Paul Eggert  <eggert@cs.ucla.edu>

	strtod: fix clash with strtold
	Problem reported for RHEL 5 by Jesse Caldwell (Bug#34817).
	* lib/strtod.c (compute_minus_zero, minus_zero):
	Simplify by remving the macro / external variable,
	and having just a function.  User changed.  This avoids
	the need for an external variable that might clash.

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

	alloca-opt: Fix conflict mingw's new <alloca.h> file.
	Reported by Eli Zaretskii <eliz@gnu.org>.
	* lib/alloca.in.h: On mingw systems that have <alloca.h>, include that.
	* m4/alloca.m4 (gl_FUNC_ALLOCA): Set HAVE_ALLOCA_H.
	* modules/alloca-opt (Makefile.am): Substitute HAVE_ALLOCA_H.

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

	tests: Avoid havoc with "gcc -fcheck-pointer-bounds".
	* tests/test-fprintf-posix2.c: Skip the test when -fcheck-pointer-bounds
	is in use.
	* tests/test-printf-posix2.c: Likewise.

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

	uninorm tests: Free allocated memory.
	* tests/uninorm/test-u32-normalize-big.h
	(struct normalization_test_file): Remove 'const' from allocated member.
	(free_normalization_test_file): New declaration.
	* tests/uninorm/test-u32-normalize-big.c (test_other): Free allocated
	memory.
	(free_normalization_test_file): New function.
	* tests/uninorm/test-u32-nfc-big.c (main): Free allocated
	'struct normalization_test_file' contents.
	* tests/uninorm/test-u32-nfd-big.c (main): Likewise.
	* tests/uninorm/test-u32-nfkc-big.c (main): Likewise.
	* tests/uninorm/test-u32-nfkd-big.c (main): Likewise.

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

	di-set: Fix memory leak.
	* lib/di-set.c (di_set_free): Free the ino_map through ino_map_free(),
	not free().

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

	tests: Free allocated memory.
	Reported by <deltatau@protonmail.com> via Assaf Gordon.
	* tests/test-astrxfrm.c (main): Free allocated memory.
	* tests/test-bitset.c (compare, check_attributes): Free allocated
	bitsets.
	* tests/test-filenamecat.c (main): Free allocated memory.
	* tests/test-freadahead.c (main): Free allocated memory and close stdin.
	* tests/test-freadptr.c (main): Likewise.
	* tests/test-freadptr2.c (main): Free allocated memory.
	* tests/test-freadseek.c (main): Likewise.
	* tests/test-gc-arcfour.c (main): Close allocated context.
	* tests/test-gc-arctwo.c (main): Likewise.
	* tests/test-gc-des.c (main): Close all allocated contexts.
	* tests/test-pipe-filter-gi1.c (main): Free allocated memory.
	* tests/test-pipe-filter-ii1.c (main): Likewise.
	* tests/test-posix_spawn_file_actions_addchdir.c (main): Destroy the
	allocated file actions.
	* tests/test-posix_spawn_file_actions_addclose.c (main): Likewise.
	* tests/test-posix_spawn_file_actions_adddup2.c (main): Likewise.
	* tests/test-posix_spawn_file_actions_addopen.c (main): Likewise.
	* tests/test-sameacls.c (main): Free allocated memory and ACLs.
	* tests/test-strfmon_l.c (main): Free allocated locales.
	* tests/test-striconveh.c (main): Free allocated iconv_t objects.
	* tests/uniconv/test-u8-conv-to-enc.c (main): Free allocated memory.
	* tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
	* tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
	* tests/unistr/test-chr.h (main): Free input32.
	* tests/unistr/test-strchr.h (test_strchr): Likewise.

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

	tests: Prepare for using valgrind.
	* tests/*.sh: Invoke all test programs through ${CHECKER}.
	* tests/*/*.sh: Likewise.
	* tests/test-freadptr.c (main): Update accordingly.
	* tests/test-freadseek.c (main): Likewise.

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

	get-rusage-as, pthread_sigmask tests: Fix -fsanitize=thread findings.
	* lib/get-rusage-as.c (get_rusage_as): When compiled by
	"gcc -fsanitize=thread", don't try get_rusage_as_via_setrlimit.
	* tests/test-pthread_sigmask2.c (main): Clean up the killer_thread
	before exiting.

2019-03-09  Jim Meyering  <meyering@fb.com>

	test-userspec.c: don't print NULL
	* tests/test-userspec.c (main): A test release of gcc,
	9.0.1 20190310, warned that this test would attempt to
	print a NULL pointer via a %s printf format.  Fix that
	and remove the unnecessary preceding "!diag" conjunct.
	Also add a comment.

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

	getloadavg: Write NULL for the null pointer.
	Reported by Michal Privoznik <mprivozn@redhat.com>.
	* lib/getloadavg.c (getloadavg): Write NULL instead of 0.

2019-02-28  Michal Privoznik  <mprivozn@redhat.com>

	alloca, tsearch-tests: Write NULL for the null pointer.
	* lib/alloca.c (i00afunc): Write NULL instead of 0.
	* tests/test-tsearch.c (mangle_tree): Likewise.

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

	strfmon_l: Fix -fsanitize=address finding.
	* lib/strfmon_l.c: Include <errno.h>, <stdbool.h>, <stdlib.h>,
	<string.h>.
	(MAX_ARGS): Renamed from MAX_ARG_WORDS.
	(directive_t, directives_t): New types.
	(fmon_parse): New function.
	(rpl_strfmon_l): Don't call va_arg more often than needed for the
	format string. Consume 'long double' arguments in places where the
	format string indicates so.
	* modules/strfmon_l (Depends-on): Add 'stdbool'.

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

	crypto/des: Fix undefined behaviour.
	* lib/des.c (READ_64BIT_DATA): Cast bytes to 'unsigned int', to avoid
	shift operations on 'int'.

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

	Fix undefined behaviour.
	* lib/bitrotate.h (rotl16, rotr16, rotl8, rotr8): Cast x to
	'unsigned int', to avoid shift operations on 'int'.
	* lib/xmemdup0.c (xmemdup0): Don't invoke memcpy with a zero size.
	* tests/test-count-leading-zeros.c (main): Use a random number that has
	as many bits as TYPE, not only 2*15 or 2*31 bits.
	* tests/test-count-trailing-zeros.c (main): Likewise.
	* tests/test-count-one-bits.c (main): Likewise.
	* tests/test-memmem.c: Don't include "null-ptr.h".
	(main): Use zerosize_ptr() instead of null_ptr().
	* modules/memmem-tests (Files): Remove tests/null-ptr.h.

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

	unilbrk/u*-possible-linebreaks: Fix undefined behaviour.
	Reported by Jeffrey Walton <noloader@gmail.com>.
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks): Don't
	invoke memset with a zero size.
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
	Adjust accordingly.

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

	unistr/*, uniconv/*: Fix undefined behaviour.
	Reported by Jeffrey Walton <noloader@gmail.com>.
	* lib/unistr/u-cpy.h (FUNC): Don't invoke memcpy with a zero size.
	* lib/unistr/u-cpy-alloc.h (FUNC): Likewise.
	* lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
	* lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.

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

	unistr/u8-cmp: Fix undefined behaviour.
	Reported by Jeffrey Walton <noloader@gmail.com>.
	* lib/unistr/u8-cmp.c (u8_cmp): Don't invoke memcmp if n is zero.

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

	unictype/numeric: Fix undefined behaviour.
	Reported by Jeffrey Walton <noloader@gmail.com>.
	* lib/unictype/numeric.c (uc_numeric_value): Avoid undefined behaviour
	on shift overflow, caught by "gcc -fsanitize=undefined".
	* lib/unictype/bidi_of.c (uc_bidi_class): Add cast, for clarity.
	* lib/unictype/categ_of.c (lookup_withtable): Likewise.
	* lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.

2019-03-05  Paul Eggert  <eggert@cs.ucla.edu>

	git-version-gen: fix --version copyright year
	* build-aux/git-version-gen, build-aux/move-if-change (version):
	--version output copyright year is now taken from script year,
	so that it no longer needs to be updated by hand.

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

	relocatable-prog: Use wrapper-free installation on Mac OS X, take 2.
	This approach supports relocatable installation of shared libraries
	which depend on other shared libraries from the same package.
	* m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
	If use_macos_tools is true, use reloc-ldflags and set LIBTOOL to be a
	wrapper around the original LIBTOOL.
	* build-aux/reloc-ldflags: Add support for Mac OS X, which uses the
	token '@loader_path' instead of '$ORIGIN'.
	* build-aux/libtool-reloc: New file.
	* modules/relocatable-prog (Files): Add it.
	* doc/relocatable-maint.texi (Supporting Relocation): Update to match
	the recent changes. Document the need to set the *_LDFLAGS of libraries.
	RELOCATABLE_LIBRARY_PATH and RELOCATABLE_CONFIG_H_DIR should be set in
	Makefile.am, not in configure.ac.

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

	relocatable-prog: Revert "Use wrapper-free installation on Mac OS X."
	* build-aux/install-reloc: Revert change.
	* m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.

2019-02-24  Paul Eggert  <eggert@cs.ucla.edu>

	nstrftime: support the ‘+’ flag
	* lib/nstrftime.c (add, __strftime_internal):
	Add support for the ‘+’ flag introduced in POSIX.1-2017.
	(__strftime_internal): New arg ‘width’.  All uses changed.
	(DO_YEARISH, DO_MAYBE_SIGNED_NUMBER): New macros.

2019-02-24  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Improve verbose output.
	* build-aux/install-reloc (func_verbose): Escape characters that would
	be interpreted by the shell.

2019-02-24  Bruno Haible  <bruno@clisp.org>

	stat, lstat: Fix conflict with relocatable-prog-wrapper module.
	* lib/stat.c: On platforms other than OSF/1, include <sys/stat.h>, not
	"sys/stat.h".
	* lib/lstat.c: Likewise.
	* lib/fstat.c: Likewise.
	* lib/fstatat.c: Likewise.

2019-02-23  Bernhard Voelker  <mail@bernhard-voelker.de>

	long-options: add parse_gnu_standard_options_only
	Discussed in https://bugs.gnu.org/33468 .

	* lib/long-options.c (parse_long_options): Use EXIT_SUCCESS instead of 0
	(parse_gnu_standard_options_only): Add function to process
	the GNU default options --help and --version and fail for
	any other unknown long or short option. See
	https://gnu.org/prep/standards/html_node/Command_002dLine-Interfaces.html
	* lib/long-options.h (parse_gnu_standard_options_only): Declare it.
	* modules/long-options (depends-on): Add stdbool, exitfail.
	* top/maint.mk (sc_prohibit_long_options_without_use): Update
	syntax-check rule, add new function name.

2019-02-23  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Update documentation.
	* doc/relocatable-maint.texi (Supporting Relocation): Update to match
	the recent changes.

2019-02-23  Paul Eggert  <eggert@cs.ucla.edu>

	nstrftime: tweak arg order
	* lib/nstrftime.c (__strftime_internal): Interchange arg order.
	All callers changed.  Suggested by TAMUKI Shoichi in:
	https://lists.gnu.org/r/bug-gnulib/2019-02/msg00052.html

2019-02-23  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Use wrapper-free installation also on Mac OS X.
	Reported by Paul Smith <psmith@gnu.org>.
	* build-aux/install-reloc: Accept a 'mode' argument as first argument.
	(func_relativize): New function, from gnulib-tool.
	Handle mode 'macosx' through invocations of 'otool' and
	'install_name_tool'.
	* m4/relocatable.m4 (gl_RELOCATABLE_BODY): Determine use_macos_tools.
	If use_macos_tools is true, set INSTALL_PROGRAM_ENV to an
	'install-reloc' invocation with mode 'macosx'.

2019-02-23  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Use $ORIGIN trick also on GNU/Hurd.
	* m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
	Hurd with glibc >= 2.27.

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

	nstrftime: merge glibc strftime changes
	This incorporates:
	2019-02-11 Fix a few whitespace arrangement inconsistencies
	2019-01-24 strftime: Pass flags from "%EY" to "%Ey" [BZ #24096]
	2019-01-24 Set the default width of "%Ey" to 2 [BZ #23758]
	2019-01-11 strftime: use the "L_" macro with character literals
	* lib/nstrftime.c (__strftime_internal): New arg yr_spec.  All
	callers changed.  Default width of %Ey is now 2.  This is needed
	for proper handling of Japanese dates starting on 2019-05-01.

2019-02-19  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Use $ORIGIN trick on more platforms.
	* m4/relocatable.m4 (gl_RELOCATABLE_BODY): Use $ORIGIN trick also on
	FreeBSD >= 7.3, DragonFly >= 3.0, NetBSD >= 8.0, OpenBSD >= 5.4,
	Solaris >= 10, Haiku. But don't use it on Android.
	* build-aux/reloc-ldflags: Allow the use of the $ORIGIN trick also on
	Hurd, FreeBSD, DragonFly, NetBSD, OpenBSD, Solaris, Haiku.

2019-02-19  Bruno Haible  <bruno@clisp.org>

	progreloc: Speed up executable lookup on various platforms.
	* lib/progreloc.c: Include <errno.h>.
	(safe_read, full_read): New functions.
	(find_executable): On GNU/kFreeBSD, FreeBSD, DragonFly, NetBSD, Solaris,
	prefer the information from the /proc file system to a PATH search.

2019-02-19  Bruno Haible  <bruno@clisp.org>

	progreloc: Simplify code for Android.
	* lib/progreloc.c (executable_fd): Don't define on Android.
	(maybe_executable, find_executable): Don't use executable_fd on Android.

2019-02-15  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Support --import with just a few tests, not --with-tests.
	* gnulib-tool (func_import): New variable 'gentests'. Use it instead of
	'inctests' when generating files; use 'inctests' only for computing the
	transitive closure.

2019-02-14  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Improve handling of multiple --local-dir options.
	* doc/gnulib.texi (Extending Gnulib): Explain how multiple --local-dir
	options work.
	* gnulib-tool (func_path_prepend): Remove function.
	(func_path_foreach): Make IFS handling more robust.
	(local_gnulib_path): Collect --local-dir values using func_path_append,
	not func_path_prepend.
	(func_determine_path_separator): Make IFS handling more robust.
	(func_lookup_file_cb): New function.
	(func_lookup_file): Rewritten to use func_lookup_file_cb instead of
	func_lookup_local_file. Apply the patches in the reverse order of their
	origin in $local_gnulib_path.
	(func_count_relative_local_gnulib_path): Make IFS handling more robust.
	* NEWS: Mention that the first --local-dir option is the one with
	highest priority.

2019-02-10  Bruno Haible  <bruno@clisp.org>

	libtextstyle: New module.
	* m4/libtextstyle.m4: New file.
	* modules/libtextstyle: New file.

2019-02-05  Bruno Haible  <bruno@clisp.org>

	declared.sh: Fix bug with variables of pointer type.
	* build-aux/declared.sh (sed_extract_extern_declared): Allow the space
	before the symbol to be omitted if the preceding character is a '*'.

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

	Add script for running tests under valgrind.
	* build-aux/run-test: New file, from GNU libunistring.
	* doc/valgrind-tests.texi: Rewritten to mention alternative approaches
	as well.

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

	declared.sh: Fix --version output.
	* build-aux/declared.sh (func_version): Update package name.

2019-02-03  Bruno Haible  <bruno@clisp.org>

	Add script for determining the set of symbols to export from a library.
	* build-aux/declared.sh: New file, from GNU libunistring.
	* doc/lib-symbol-visibility.texi (Exported Symbols of Shared Libraries):
	Mention it.

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

	vla: add commentary about VLA_ELEMS
	* lib/vla.h (VLA_ELEMS): Add commentary,
	some inspired by Bruno Haible’s proposal in:
	https://lists.gnu.org/r/bug-gnulib/2019-01/msg00109.html

	dtoastr,ftoastr,ldtoastr: port to c-strtod changes
	Decouple these modules from c-strtod.  Nowadays it’s reasonable to
	assume the C99 signatures for strtod and strtold.  Programs that
	require stricter adherence to C99 should also use the strtod and
	strtold modules as needed, and we no longer need the
	HAVE_C99_STRTOLD macro.
	* NEWS: Mention this.
	* lib/ftoastr.c (STRTOF) [LENGTH == 3]: Assume strtold.
	* m4/c-strtod.m4 (gl_C_STRTOLD): Do not define HAVE_C99_STRTOLD.
	* modules/dtoastr, modules/ftoastr, modules/ldtoastr:
	(Files): Remove m4/c-strtod.m4.
	(configure.ac): Do not require gl_C99_STRTOLD, which no longer
	exists.

2019-02-02  Bruno Haible  <bruno@clisp.org>

	fma: Improve code style.
	* lib/fma.c: Include <limits.h>, for CHAR_BIT.

2019-02-02  Colin Watson  <cjwatson@debian.org>

	*-map tests: Fix compilation error.
	* tests/test-array_map.c: Include <limits.h>, for CHAR_BIT.
	* tests/test-hash_map.c: Likewise.
	* tests/test-linkedhash_map.c: Likewise.

2019-01-31  Bruno Haible  <bruno@clisp.org>

	c-strtod, c-strtold: Use the bug fixes for strtod, strtold.
	* lib/stdlib.in.h (GNULIB_defined_strtod_function,
	GNULIB_defined_strtold_function): New macros.
	* lib/c-strtod.c (HAVE_GOOD_STRTOD_L): New macro.
	(STRTOD): Ignore HAVE_C99_STRTOLD.
	(c_locale): Don't define it on platforms where strtod_l/strtold_l is
	deemed buggy. But do use it on platforms where uselocale exists and is
	usable.
	(C_STRTOD): Don't use STRTOD_L on platforms where strtod_l/strtold_l is
	deemed buggy. On platforms where uselocale exists and is usable, use
	uselocale and strtod/strtold.
	* m4/c-strtod.m4 (gl_C99_STRTOLD): Remove macro.
	(gl_C_STRTOD): Require gt_FUNC_USELOCALE.
	(gl_C_STRTOLD): Likewise. Define HAVE_C99_STRTOLD unconditionally.
	* modules/c-strtod (Files): Add m4/intl-thread-locale.m4.
	(Depends-on): Add strtod.
	* modules/c-strtold (Files): Add m4/intl-thread-locale.m4.
	(Depends-on): Add strtold.

2019-01-31  Bruno Haible  <bruno@clisp.org>

	strtod, strtold: Use the locale's decimal point.
	* lib/strtod.c: Include <locale.h>, <stdio.h>, <langinfo.h>.
	(decimal_point_char): New function, copied from lib/vasnprintf.c.
	(parse_number): Add a radixchar argument. Use it instead of '.'.
	(STRTOD): Invoke decimal_point_char and pass the result to parse_number.
	* m4/strtod.m4 (gl_PREREQ_STRTOD): Test whether nl_langinfo exists.
	* m4/strtold.m4 (gl_PREREQ_STRTOLD): Likewise.
	* tests/test-strtod1.c: New file.
	* tests/test-strtod1.sh: New file.
	* modules/strtod-tests (Files): Add test-strtod1.{sh,c}. Add
	locale-fr.m4 and its dependencies.
	(configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
	(Makefile.am): Arrange to compile test-strtod1.c and run
	test-strtod1.sh.
	* tests/test-strtold1.c: New file.
	* tests/test-strtold1.sh: New file.
	* modules/strtold-tests (Files): Add test-strtold1.{sh,c}. Add
	locale-fr.m4 and its dependencies.
	(configure.ac): Invoke gt_LOCALE_FR, gt_LOCALE_FR_UTF8.
	(Makefile.am): Arrange to compile test-strtold1.c and run
	test-strtold1.sh.

2019-01-31  Bruno Haible  <bruno@clisp.org>

	strtod, strtold tests: Simplify tests.
	* tests/test-strtod.c (main): Assume no rounding errors for 0.5.
	* tests/test-strtold.c (main): Likewise.

2019-01-31  Bruno Haible  <bruno@clisp.org>

	strtod, strtold: Avoid unnecessary rounding errors.
	* lib/strtod.c (parse_number): Drop trailing zeroes before doing the
	decimal to DOUBLE conversion.

2019-01-31  Bruno Haible  <bruno@clisp.org>

	strtod, strtold: Work around HP-UX 11.31/ia64 bug.
	* lib/strtod.c (STRTOD): When there is an extra character after the
	exponent marker 'p', reparse the number.
	* doc/posix-functions/strtod.texi: Document the HP-UX 11.31 bug.
	* doc/posix-functions/strtold.texi: Likewise.

2019-01-29  Bruno Haible  <bruno@clisp.org>

	strtold: Add tests.
	* tests/test-strtold.c: New file, based on tests/test-strtod.c.
	* modules/strtold-tests: New file.

2019-01-29  Bruno Haible  <bruno@clisp.org>

	strtold: New module.
	* lib/stdlib.in.h (strtold): New declaration.
	* lib/strtold.c: New file.
	* lib/strtod.c: Consider USE_LONG_DOUBLE.
	(STRTOD, LDEXP, HAVE_UNDERLYING_STRTOD, DOUBLE, MIN, MAX, L_,
	USE_LDEXP): New macros.
	(LDEXP, scale_radix_exp, parse_number, STRTOD): Adapt for
	USE_LONG_DOUBLE.
	(underlying_strtod): Remove function. Replace with some macros.
	Re-add the code for a missing underlying function that was removed on
	2013-02-19.
	* m4/strtold.m4: New file.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Test whether strtold is declared.
	(gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLD, HAVE_STRTOLD,
	REPLACE_STRTOLD.
	* modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLD, HAVE_STRTOLD,
	REPLACE_STRTOLD.
	* modules/strtold: New file.
	* doc/posix-functions/strtold.texi: Document the new module.

2019-01-29  Bruno Haible  <bruno@clisp.org>

	strtod: Fix compilation error on IRIX 6.5.
	* modules/strtod (Depends-on): Add 'math'.

2019-01-28  Bruno Haible  <bruno@clisp.org>

	Fix build error when building a shared libunistring on Android.
	* tests/uninorm/test-nfc.c (n): Don't define on Android.
	(main): Add 'volatile', to defeat a GCC optimization that would
	eliminate the reference.
	* tests/uninorm/test-nfd.c (n): Don't define on Android.
	(main): Add 'volatile', to defeat a GCC optimization that would
	eliminate the reference.
	* tests/uninorm/test-nfkc.c (n): Don't define on Android.
	(main): Add 'volatile', to defeat a GCC optimization that would
	eliminate the reference.
	* tests/uninorm/test-nfkd.c (n): Don't define on Android.
	(main): Add 'volatile', to defeat a GCC optimization that would
	eliminate the reference.

2019-01-27  Bruno Haible  <bruno@clisp.org>

	Avoid build errors due to wrong references between modules.
	* lib/uninorm/canonical-decomposition.c: Include
	"uninorm/decomposition-table.h", not "decomposition-table.h".
	* lib/uninorm/decomposition.c: Likewise.
	* lib/uninorm/u8-normalize.c: Include "uninorm/decompose-internal.h",
	not "decompose-internal.h".
	* lib/uninorm/u16-normalize.c: Likewise.
	* lib/uninorm/u32-normalize.c: Likewise.
	* lib/uninorm/uninorm-filter.c: Likewise.
	* lib/uninorm/nfkc.c: Likewise.
	* lib/uninorm/nfkd.c: Likewise.
	* lib/unicase/u8-casemap.c: Include "unicase/caseprop.h", not
	"caseprop.h".
	* lib/unicase/u8-ct-totitle.c: Likewise.
	* lib/unicase/u8-prefix-context.c: Likewise.
	* lib/unicase/u8-suffix-context.c: Likewise.
	* lib/unicase/u16-casemap.c: Likewise.
	* lib/unicase/u16-ct-totitle.c: Likewise.
	* lib/unicase/u16-prefix-context.c: Likewise.
	* lib/unicase/u16-suffix-context.c: Likewise.
	* lib/unicase/u32-casemap.c: Likewise.
	* lib/unicase/u32-ct-totitle.c: Likewise.
	* lib/unicase/u32-prefix-context.c: Likewise.
	* lib/unicase/u32-suffix-context.c: Likewise.
	* lib/unicase/u8-tolower.c: Include "unicase/unicasemap.h", not
	"unicasemap.h".
	* lib/unicase/u8-toupper.c: Likewise.
	* lib/unicase/u8-ct-tolower.c: Likewise.
	* lib/unicase/u8-ct-toupper.c: Likewise.
	* lib/unicase/u16-tolower.c: Likewise.
	* lib/unicase/u16-toupper.c: Likewise.
	* lib/unicase/u16-ct-tolower.c: Likewise.
	* lib/unicase/u16-ct-toupper.c: Likewise.
	* lib/unicase/u32-tolower.c: Likewise.
	* lib/unicase/u32-toupper.c: Likewise.
	* lib/unicase/u32-ct-tolower.c: Likewise.
	* lib/unicase/u32-ct-toupper.c: Likewise.
	* lib/unicase/u8-ct-casefold.c: Include "unicase/unicasemap.h", not
	"unicasemap.h", and "unicase/casefold.h", not "casefold.h".
	* lib/unicase/u16-ct-casefold.c: Likewise.
	* lib/unicase/u32-ct-casefold.c: Likewise.

2019-01-27  Bruno Haible  <bruno@clisp.org>

	gperf: Fix error when this module is required by some test module.
	* modules/gperf (Applicability): Set to 'all'.

2019-01-27  Bruno Haible  <bruno@clisp.org>

	tmpfile: Add support for Android.
	* m4/tmpfile.m4 (gl_FUNC_TMPFILE): Add a runtime test whether tmpfile()
	works.
	* lib/tmpfile.c (tmpfile): Add an alternative implementation for
	Android.
	* modules/tmpfile (Depends-on): Add 'stdbool'.
	* doc/posix-functions/tmpfile.texi: Mention the Android bug.
	* modules/argv-iter-tests (Depends-on): Add 'tmpfile'.

2019-01-27  Akim Demaille  <akim@lrde.epita.fr>

	bitsetv: allow free on NULL.
	* lib/bitsetv.c (bitsetv_free): Do nothing when the bitsetv is NULL.

2019-01-27  Bruno Haible  <bruno@clisp.org>

	test-framework-sh: Improve maintainability.
	* tests/init.sh: Clarify what belongs together. Reorder definitions.

2019-01-27  Bruno Haible  <bruno@clisp.org>

	tests: Don't assume that /tmp exists.
	* tests/test-set-mode-acl-1.sh: Skip the test if /tmp does not exist.
	* tests/test-copy-acl-1.sh: Likewise.
	* tests/test-file-has-acl-1.sh: Likewise.
	* tests/test-copy-file-1.sh: Likewise.

2019-01-27  Bruno Haible  <bruno@clisp.org>

	tests: Accommodate a shell that is not in /bin/sh.
	* tests/init.sh (setup_): Set srcdir and builddir.
	(BOURNE_SHELL): New variable.
	* modules/acl-tests (Depends-on): Add 'test-framework-sh'.
	* modules/file-has-acl-tests (Depends-on): Likewise.
	* modules/copy-file-tests (Depends-on): Likewise.
	* tests/test-set-mode-acl-1.sh: Use the test framework. Invoke shell
	scripts through $BOURNE_SHELL.
	* tests/test-set-mode-acl-2.sh: Likewise.
	* tests/test-copy-acl-1.sh: Likewise.
	* tests/test-copy-acl-2.sh: Likewise.
	* tests/test-file-has-acl-1.sh: Likewise.
	* tests/test-file-has-acl-2.sh: Likewise.
	* tests/test-copy-file-1.sh: Likewise.
	* tests/test-copy-file-2.sh: Likewise.
	* tests/test-set-mode-acl.sh (builddir): Consider value set by the
	invoker.
	* tests/test-copy-acl.sh (builddir): Likewise.
	* tests/test-file-has-acl.sh (builddir): Likewise.
	* tests/test-copy-file.sh (builddir): Likewise.
	* tests/test-vc-list-files-cvs.sh: Don't create shims for executables in
	build-aux/. Instead, invoke shell scripts through $BOURNE_SHELL.
	* tests/test-vc-list-files-git.sh: Likewise.

2019-01-27  Bruno Haible  <bruno@clisp.org>

	tests: Fix some "unused variable" warnings.
	* tests/test-fts.c (fts_dealloc): Remove unused variable.
	* tests/unigbrk/test-uc-grapheme-breaks.c (main): Likewise.
	* tests/test-striconveh.c (main): Move some variable into the
	'#if HAVE_ICONV'.
	* tests/test-striconveha.c (main): Likewise.
	* tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u8-conv-to-enc.c (main): Likewise.
	* tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
	* tests/uniconv/test-u32-conv-to-enc.c (main): Likewise.
	* tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u8-strconv-to-enc.c (main): Likewise.
	* tests/uniconv/test-u16-strconv-to-enc.c (main): Likewise.
	* tests/uniconv/test-u32-strconv-to-enc.c (main): Likewise.
	* tests/test-tsearch.c (main): Move some variable into the
	'#if HAVE_INITSTATE'.

2019-01-27  Bruno Haible  <bruno@clisp.org>

	unigbrk/uc-grapheme-breaks: Fix build failure.
	* lib/unigbrk/uc-grapheme-breaks.c: Don't include unistr.h.
	* modules/unigbrk/uc-grapheme-breaks (Makefile.am): Fix typo.

2019-01-27  Bruno Haible  <bruno@clisp.org>

	mountlist: Merge two .m4 files.
	* m4/mountlist.m4 (gl_MOUNTLIST): Inline gl_LIST_MOUNTED_FILE_SYSTEMS.
	(AC_FUNC_GETMNTENT): Move to here, from m4/ls-mntd-fs.m4.
	* m4/ls-mntd-fs.m4: Remove file.
	* modules/mountlist (Files): Remove m4/ls-mntd-fs.m4.

2019-01-27  Bruno Haible  <bruno@clisp.org>

	tests: Enable Linux specific tests on Android.
	* tests/test-flock.c (main): Treat Android like Linux.
	* tests/test-openat-safer.c (main): Likewise.

2019-01-27  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Use Linux code on Android.
	* lib/progreloc.c: Treat Android like Linux.

2019-01-26  Bruno Haible  <bruno@clisp.org>

	getloadavg: Add support for Android.
	* lib/getloadavg.c: Treat Android like Linux.

2019-01-26  Bruno Haible  <bruno@clisp.org>

	vma-iter: Add support for Android.
	* lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Android as well.
	* lib/vma-iter.c: Treat Android like Linux.
	* lib/get-rusage-data.c (get_rusage_data): Likewise.

2019-01-26  Bruno Haible  <bruno@clisp.org>

	fts: Optimize on Android.
	* lib/fts.c: Treat Android like Linux.

2019-01-26  Bruno Haible  <bruno@clisp.org>

	fts: Add support for Android.
	* m4/fts.m4 (gl_FUNC_FTS_CORE): Avoid conflicts between the symbols
	defined by this module and the ones in libc.
	* tests/test-fts.c (main): Treat mkdir error EMLINK like EMFILE.

2019-01-26  Bruno Haible  <bruno@clisp.org>

	mountlist: Use Linux code on Android.
	* lib/mountlist.c (setmntent, endmntent): Define fallbacks.
	(unescape_tab, read_file_system_list): Enable Linux code on Android
	as well.
	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Test for setmntent
	and endmntent.
	* modules/mountlist (Depends-on): Add 'getline'.

2019-01-26  Bruno Haible  <bruno@clisp.org>

	localename tests: Fix test failure on Android.
	* modules/localename-tests (Depends-on): Add 'setlocale'.

2019-01-26  Bruno Haible  <bruno@clisp.org>

	mountlist: Port better to Android.
	* lib/mountlist.c (MOUNTED): Redefine on Android.
	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Redefine MOUNTED on
	Android.

2019-01-26  Bruno Haible  <bruno@clisp.org>

	striconveh: Fix use of uninitialized iconv_t.
	Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
	<https://lists.gnu.org/archive/html/bug-libunistring/2019-01/msg00000.html>.
	* lib/striconveh.c (iconveh_open): Correct the iconv_close argument.

2019-01-26  Bruno Haible  <bruno@clisp.org>

	nonblocking-socket-tests: Fix test failure on Android 4.3.
	* tests/test-nonblocking-socket.h (SOCKET_HAS_LARGE_BUFFER): Define to 1
	also on Android.

2019-01-26  Bruno Haible  <bruno@clisp.org>

	sh-filename: Add support for Android 4.3.
	* m4/sh-filename.m4 (gl_SH_FILENAME): Set to "sh" on Android.

2019-01-26  Bruno Haible  <bruno@clisp.org>

	ptsname_r: Work around bug on Android 4.3.
	* m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Define
	HAVE_ESSENTIALLY_WORKING_PTSNAME_R. Test whether the return value is
	correct.
	* lib/ptsname_r.c (__ptsname_r): If HAVE_ESSENTIALLY_WORKING_PTSNAME_R
	is defined, just fix the return value.
	* doc/glibc-functions/ptsname_r.texi: Mention the Android bug. Reword:
	The behaviour of musl libc is nothing to be "fixed", since it is
	compliant with the next POSIX standard.

2019-01-26  Bruno Haible  <bruno@clisp.org>

	ttyname_r: Work around bug on Android 4.3.
	* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is a stub.
	* lib/ttyname_r.c (ttyname_r): Implement for Android.
	* doc/posix-functions/ttyname_r.texi: Mention the Android bug.
	* doc/posix-functions/ttyname.texi: Likewise.

2019-01-25  Bruno Haible  <bruno@clisp.org>

	getprogname: Port to Android 4.3.
	* lib/getprogname.c (getprogname): On Android, take only the last
	component of __progname.

2019-01-25  Bruno Haible  <bruno@clisp.org>

	wcrtomb: Work around bug on Android 4.3.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test also whether wcrtomb works in
	the C locale.
	* lib/wcrtomb.c (wcrtomb): Provide alternate implementation for Android,
	which does not have the 'wctomb' function.
	* doc/posix-functions/wcrtomb.texi: Mention the Android bug.
	* tests/test-wcrtomb.c (main): Accept argument '5'.
	* tests/test-wcrtomb.sh: Add tests in the POSIX locale.

2019-01-25  Bruno Haible  <bruno@clisp.org>

	setlocale: Work around bug on Android 4.3.
	* m4/setlocale.m4 (gl_FUNC_SETLOCALE): Test whether setlocale supports
	the "C" locale.
	* lib/setlocale.c (setlocale_unixlike): New wrapper for Android.
	* doc/posix-functions/setlocale.texi: Mention the Android bug.

2019-01-24  Bruno Haible  <bruno@clisp.org>

	memchr: Work around bug on Android <= 5.0.
	* m4/memchr.m4 (gl_FUNC_MEMCHR): Add test against the Android bug.
	* doc/posix-functions/memchr.texi: Mention the Android bug.

2019-01-24  Bruno Haible  <bruno@clisp.org>

	random: Fix compilation error on Android 4.3.
	* lib/stdlib.in.h (random, srandom): Test also REPLACE_RANDOM.
	(initstate): Test REPLACE_INITSTATE and HAVE_INITSTATE, not HAVE_RANDOM.
	(setstate): Test REPLACE_SETSTATE and HAVE_SETSTATE, not HAVE_RANDOM.
	* m4/random.m4 (gl_FUNC_RANDOM): Set HAVE_INITSTATE, HAVE_SETSTATE,
	REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_INITSTATE,
	HAVE_SETSTATE, REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
	* modules/stdlib (Makefile.am): Substitute HAVE_INITSTATE, HAVE_SETSTATE,
	REPLACE_RANDOM, REPLACE_INITSTATE, REPLACE_SETSTATE.
	* modules/random (Depends-on, configure.ac): Test also REPLACE_RANDOM,
	REPLACE_INITSTATE, REPLACE_SETSTATE.
	* doc/posix-functions/random.texi: Correct the description of the
	situation on Android.
	* doc/posix-functions/srandom.texi: Likewise.
	* doc/posix-functions/rand.texi: Likewise.
	* doc/posix-functions/srand.texi: Likewise.

2019-01-24  Bruno Haible  <bruno@clisp.org>

	mbtowc: Fix compilation error on Android 4.3.
	* lib/stdlib.in.h (mbtowc): Test also HAVE_MBTOWC.
	* m4/mbtowc.m4 (gl_FUNC_MBTOWC): Test whether mbtowc exists. Set
	HAVE_MBTOWC.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Test whether mbtowc is declared.
	(gl_STDLIB_H_DEFAULTS): Initialize HAVE_MBTOWC.
	* modules/stdlib (Makefile.am): Substitute HAVE_MBTOWC.
	* modules/mbtowc (Depends-on, configure.ac): Test also HAVE_MBTOWC.
	* doc/posix-functions/mbtowc.texi: Mention the change.

2019-01-24  Bruno Haible  <bruno@clisp.org>

	fdatasync: Fix compilation error on Android 4.3.
	* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): On platforms other than Solaris,
	test whether fdatasync() exists.

2019-01-24  Bruno Haible  <bruno@clisp.org>

	unlinkat: Fix compilation error on Android 4.3.
	* lib/unistd.in.h: Include <fcntl.h> when module 'unlinkat' is in use
	also on Android.
	* doc/posix-functions/unlinkat.texi: Mention the issue.

2019-01-24  Bruno Haible  <bruno@clisp.org>

	renameat: Fix compilation error on Android 4.3.
	* lib/stdio.in.h: Include <sys/stat.h> when module 'renameat' is in use.
	* doc/posix-functions/renameat.texi: Mention the issue.

2019-01-24  Bruno Haible  <bruno@clisp.org>

	fchownat: Fix compilation error on Android 4.3.
	* lib/unistd.in.h: Include <sys/stat.h> when module 'fchownat' is in
	use.
	* m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG,
	gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): Include also <sys/stat.h>.
	* doc/posix-functions/fchownat.texi: Mention the issue.

2019-01-23  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Support running testdirs on Android.
	* build-aux/test-driver.diff: New file.
	* gnulib-tool (func_create_testdir, func_create_megatestdir): Patch
	build-aux/test-driver after running automake.

2019-01-23  Akim Demaille  <akim@lrde.epita.fr>

	relocatable-prog: avoid warnings from Automake
	* modules/relocatable-prog: Don't declare PHONY dependencies in
	Automake conditionals.

2019-01-23  Akim Demaille  <akim@lrde.epita.fr>

	array-list: Pacify warnings about unused arguments (-Wunused-parameter).
	* lib/gl_array_list.c (gl_array_iterator_free): "Use" the argument.

2019-01-23  Bruno Haible  <bruno@clisp.org>

	threadlib: Revert commit from 2018-06-25. We now have a better fix.
	* m4/threadlib.m4 (gl_THREADLIB_BODY): Don't attempt to defeat a
	preceding -Wl,--as-needed option. Don't check whether the linker
	supports --as-needed/--no-as-needed and --push-state/--pop-state.

2019-01-23  Bruno Haible  <bruno@clisp.org>

	thread: Force linking with -lpthread, even when --as-needed is in use.
	Reported by Richard W.M. Jones <rjones@redhat.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2019-01/msg00123.html>.
	* lib/glthread/thread.h (pthread_create): Don't declare weak.

2019-01-23  Akim Demaille  <akim.demaille@gmail.com>
            Bruno Haible  <bruno@clisp.org>

	relocatable: avoid compiler warnings (-Wshadow)
	* lib/relocatable.c (compute_curr_prefix): Rename local variables
	to avoid name collisions with global variables.

2019-01-22  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Don't use %n on Android.
	Reported and fix suggested by Hugo Beauzée-Luyssen <hugo@beauzee.fr> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-12/msg00123.html>.
	* lib/vasnprintf.c (VASNPRINTF): Don’t use %n on Android.

2019-01-22  Bruno Haible  <bruno@clisp.org>

	*printf: Support cross-compilation to Android.
	* m4/printf.m4: Add cross-compilation guesses for Android.

2019-01-21  Bruno Haible  <bruno@clisp.org>

	diacrit: Mark deprecated.
	* modules/diacrit (Status, Notice): Mark as deprecated.
	* NEWS: Mention it.

2019-01-20  Bruno Haible  <bruno@clisp.org>

	rintl: Override broken implementation on NetBSD.
	* lib/math.in.h (rintl): Test also REPLACE_RINTL.
	* m4/rintl.m4 (gl_FUNC_RINTL): Add test for negative arguments. Set
	REPLACE_RINTL.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_RINTL.
	* modules/math (Makefile.in): Substitute REPLACE_RINTL.
	* modules/rintl (Depends-on, configure.ac): Test REPLACE_RINTL.
	* doc/posix-functions/rintl.texi: Mention the NetBSD bug.

2019-01-20  Bruno Haible  <bruno@clisp.org>

	log10l: Work around inaccurate implementation on NetBSD.
	* m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Add test for a certain accuracy.
	* lib/log10l.c: Comment out too simplistic override.
	* doc/posix-functions/log10l.texi: Mention the NetBSD bug.

2019-01-20  Bruno Haible  <bruno@clisp.org>

	logl: Work around inaccurate implementation on NetBSD.
	* m4/logl.m4 (gl_FUNC_LOGL_WORKS): Add test for a certain accuracy.
	* lib/logl.c: Comment out unused code.
	* doc/posix-functions/logl.texi: Mention the NetBSD bug.

2019-01-20  Bruno Haible  <bruno@clisp.org>

	expm1l: Work around inaccurate implementation on NetBSD.
	* lib/math.in.h (expm1l): Test also REPLACE_EXPM1L.
	* m4/expm1l.m4 (gl_FUNC_EXPM1L): Add test for a certain accuracy. Set
	REPLACE_EXPM1L.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1L.
	* modules/math (Makefile.in): Substitute REPLACE_EXPM1L.
	* modules/expm1l (Depends-on, configure.ac): Test REPLACE_EXPM1L.
	* doc/posix-functions/expm1l.texi: Mention the NetBSD bug.

2019-01-20  Bruno Haible  <bruno@clisp.org>

	expl: Work around inaccurate implementation on NetBSD.
	* lib/math.in.h (expl): Test also REPLACE_EXPL.
	* m4/expl.m4 (gl_FUNC_EXPL): Add test for a certain accuracy. Set
	REPLACE_EXPL.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPL.
	* modules/math (Makefile.in): Substitute REPLACE_EXPL.
	* modules/expl (Depends-on, configure.ac): Test REPLACE_EXPL.
	* doc/posix-functions/expl.texi: Mention the NetBSD bug.

2019-01-20  Bruno Haible  <bruno@clisp.org>

	exp2l: Work around inaccurate implementation on NetBSD.
	* m4/exp2l.m4 (gl_FUNC_EXP2L): Add test for a certain accuracy.
	* doc/posix-functions/exp2l.texi: Mention the NetBSD bug.

2019-01-20  Bruno Haible  <bruno@clisp.org>

	floor, floorl: Avoid autoconf warnings.
	* modules/floor (configure.ac): Use AC_REQUIRE.
	* modules/floorl (configure.ac): Likewise.

2019-01-20  Bruno Haible  <bruno@clisp.org>

	Defeat current GCC optimizations in math autoconf tests.
	* m4/cbrtl.m4 (gl_FUNC_CBRTL): Mark function pointer as 'volatile'.
	* m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
	* m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
	* m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
	* m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
	* m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
	* m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
	* m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
	* m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
	* m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
	* m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
	* m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
	* m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
	* m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
	* m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
	* m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
	* m4/ilogbl.m4 (gl_FUNC_ILOGBL_WORKS): Likewise.
	* m4/log.m4 (gl_FUNC_LOG): Likewise.
	* m4/logf.m4 (gl_FUNC_LOGF): Likewise.
	* m4/log10.m4 (gl_FUNC_LOG10): Likewise.
	* m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
	* m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
	* m4/log1pf.m4 (gl_FUNC_LOG1PF): Likewise.
	* m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
	* m4/log2.m4 (gl_FUNC_LOG2): Likewise.
	* m4/log2f.m4 (gl_FUNC_LOG2F): Likewise.
	* m4/modf.m4 (gl_FUNC_MODF): Likewise.
	* m4/modff.m4 (gl_FUNC_MODFF): Likewise.
	* m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
	* m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
	* m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
	* m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
	* m4/round.m4 (gl_FUNC_ROUND): Likewise.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
	* m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
	* m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.

2019-01-19  Pádraig Brady  <P@draigBrady.com>

	gettext: support disabling use of VLAs
	* lib/gettext.h: Disable use of VLAs if GNULIB_NO_VLA is defined

2019-01-17  KO Myung-Hun  <komh78@gmail.com>

	sys_stat: Fix 'implicit declaration of function' warning on OS/2 kLIBC.
	* lib/sys_stat.in.h [kLIBC]: Include <unistd.h>.

2019-01-17  KO Myung-Hun  <komh78@gmail.com>

	fcntl: Fix syntax error (regression from 2018-10-05).
	* lib/fcntl.c (klibc_fcntl): Remove mis-placed ';'.

2019-01-13  Akim Demaille  <akim@lrde.epita.fr>

	relocatable: improve documentation.
	* doc/relocatable-maint.texi (Supporting Relocation): For
	substitutions performed by config.status, we need more variables
	(for instance datarootdir defaults to '${prefix}/share' so we need
	prefix).

2019-01-13  Akim Demaille  <akim@lrde.epita.fr>

	backup: update dependencies
	* modules/backup-rename (Depends-on): It now depends on opendirat
	instead of opendir.  It also uses stdint, and xalloc-oversized.
	But no longer dirfd.
	* modules/backupfile (Depends-on): Add xalloc-oversized.

2019-01-13  Bruno Haible  <bruno@clisp.org>

	getcwd: Fix test failure when building on a Linux 9p file system.
	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): On Linux, treat error
	EINVAL from mkdir like ENAMETOOLONG.
	* tests/test-getcwd.c (test_long_name): Likewise.

2019-01-12  Tim Rühsen  <tim.ruehsen@gmx.de>

	Fix typos found by codespell.
	* lib/*.[hc]: Fix typos in comments.
	* pygnulib/*.py: Fix typos in error messages and comments.

2019-01-12  Bruno Haible  <bruno@clisp.org>

	doc: Fix documentation about container data types.
	Reported by Werner Lemberg <wl@gnu.org>.
	* doc/containers.texi (Container data types): Fix typo.

2019-01-10  Bruno Haible  <bruno@clisp.org>

	verify: Enable _GL_HAVE_STATIC_ASSERT for recent G++ versions.
	Reported by Reuben Thomas <rrt@sc3d.org>.
	* lib/verify.h (_GL_HAVE_STATIC_ASSERT): Define for g++ versions >= 6.

2019-01-06  Bruno Haible  <bruno@clisp.org>

	maintainer-makefile: Make the configure.ac section optional.
	* top/maint.mk (GREP, SED): Define if not defined.

2019-01-06  Bruno Haible  <bruno@clisp.org>

	localename: Assume setlocale function.
	* lib/localename.c (gl_locale_name_posix): Assume setlocale exists.
	* m4/localename.m4 (gl_LOCALENAME): Don't test whether setlocale exists.

2019-01-06  Bruno Haible  <bruno@clisp.org>

	doc: Add documentation about container data types.
	* doc/containers.texi: New file.
	* doc/gnulib.texi (Particular Modules): Include it.

2019-01-06  Bruno Haible  <bruno@clisp.org>

	doc: Update documentation about 'progname' module.
	* doc/progname.texi: Rename from doc/error.texi. Change node name and
	title. Rewrite.
	* doc/gnulib.texi (Particular Modules): Update.

2019-01-06  Bruno Haible  <bruno@clisp.org>

	doc: Document the xstdopen and *-safer modules.
	* doc/xstdopen.texi: New file.
	* doc/gnulib.texi (Particular Modules): Include it.

2019-01-06  Bruno Haible  <bruno@clisp.org>

	xstdopen: Add tests.
	* tests/test-xstdopen.c: New file.
	* tests/test-xstdopen.sh: New file.
	* modules/xstdopen-tests: New file.

	xstdopen: New module.
	* lib/xstdopen.h: New file.
	* lib/xstdopen.c: New file.
	* modules/xstdopen: New file.

2019-01-06  Bruno Haible  <bruno@clisp.org>

	stdopen: Fix compilation error with IRIX cc.
	* lib/stdopen.c (stdopen): Do not use C99-style decl in loop.

2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>

	xfreopen need not include stdio--.h
	* lib/xfreopen.c: Do not include stdio--.h.

	xfreopen need not depend on freopen-safer
	* modules/xfreopen (Depends-on):
	Depend on freopen, not freopen-safer.

	stdopen: modernize and simplify
	* lib/stdopen.c: Update copyright date
	Do not include sys/types.h; no longer needed these days.
	(stdopen): Use C99-style decl in loop.  Return int errno
	value, rather than just a bool.  Do not worry about fd mismatches,
	since the caller cares only if 0, 1, 2 are occupied.
	* lib/stdopen.h: No need to include <stdbool.h>.
	* m4/stdopen.m4: Remove.
	* modules/stdopen: New file.

	stdopen: copy from last use in coreutils
	* lib/stdopen.c, lib/stdopen.h, m4/stdopen.m4:
	New files, taken from their last commit in coreutils
	2007-07-23T12:35:58Z!jim@meyering.net
	71aa3ea88084d17bcb4fc1031ad7b66f8647115e.

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

	argp: Don't pass an invalid argument to dgettext().
	Reported by He X <xw897002528@gmail.com>.
	* lib/argp-help.c (print_header, argp_doc): Don't pass a NULL doc to
	dgettext().

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

	argp: Don't pass an invalid argument to dgettext().
	Reported by He X <xw897002528@gmail.com>.
	* lib/argp.h (struct argp): Clarify that the args_doc field may be NULL.
	* lib/argp-help.c (argp_args_usage): Don't pass a NULL args_doc to
	dgettext().

2018-12-22  Paul Eggert  <eggert@cs.ucla.edu>

	stdioext: port to newer 32-bit Android
	Problem reported by Tom Yan in:
	https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00014.html
	* lib/stdio-impl.h (_gl_FILE_flags_t) [__ANDROID__]: New macro.
	(fp_) [__ANDROID__]: Use it.

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

	lock: Fix link error with --enable-threads=pth.
	* lib/glthread/lock.h (pth_cond_init, pth_cond_await, pth_cond_notify):
	Mark as weak.

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

	Fix link errors in unit tests.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.
	* modules/bitset-tests (Makefile.am): Link test-bitset against libintl.
	* modules/array-map-tests (Makefile.am): Link test-array_map against
	libintl.
	* modules/array-set-tests (Makefile.am): Link test-array_set against
	libintl.
	* modules/hash-map-tests (Makefile.am): Link test-hash_map against
	libintl.
	* modules/hash-set-tests (Makefile.am): Link test-hash_set against
	libintl.
	* modules/linkedhash-map-tests (Makefile.am): Link test-linkedhash_map
	against libintl.
	* modules/linkedhash-set-tests (Makefile.am): Link test-linkedhash_set
	against libintl.

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

	Fix incorrect 'Link' sections.
	* modules/regex (Link): Mention the link requirement of module 'lock'.
	* modules/regex-tests (Makefile.am): Don't use LIB_PTHREAD.

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

	Fix some 'Link' sections.
	* modules/c-stack (Link): Add link directive from the 'gettext-h'
	dependency.
	* modules/getaddrinfo (Link): Likewise.

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

	Remove redundant 'Link' sections.
	* modules/canon-host (Link): Remove section.
	* modules/timevar (Link): Likewise.

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

	Remove incorrect 'Link' sections.
	* modules/acl (Link): Remove section. Use combined 'Link' sections from
	the dependencies instead.
	* modules/crypto/md5 (Link): Likewise.
	* modules/crypto/sha1 (Link): Likewise.
	* modules/crypto/sha256 (Link): Likewise.
	* modules/crypto/sha512 (Link): Likewise.
	* modules/faccessat (Link): Likewise.
	* modules/fdutimensat (Link): Likewise.
	* modules/iconv_open-utf (Link): Likewise.
	* modules/propername (Link): Likewise.
	* modules/qacl (Link): Likewise.
	* modules/unicodeio (Link): Likewise.
	* modules/utimecmp (Link): Likewise.
	* modules/utimensat (Link): Likewise.
	* modules/xstriconv (Link): Likewise.
	* modules/xstriconveh (Link): Likewise.

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

	gnulib-tool: New option --extract-recursive-link-directive.
	* gnulib-tool (func_usage): Document the new options
	--extract-recursive-dependencies, --extract-recursive-link-directive.
	(func_verify_module): Document output variables.
	(func_get_dependencies_recursively): New function.
	(func_get_link_directive_recursively): New function.
	Use them to implement the new options
	--extract-recursive-dependencies, --extract-recursive-link-directive.
	* doc/gnulib-tool.texi (Link-time requirements): New section.

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

	Clarify meaning of 'Link' section in module description.
	* doc/gnulib.texi (Module description): Clarify the meaning of the
	'Link' section versus the one of the dependencies.
	* NEWS: Mention the change.

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

	pselect: Fix module description.
	* modules/pselect (Link): Put one link option per line.

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

	cosl: Fix module description.
	* modules/cosl (Link): Fix typo.
	* modules/mathl (configure.ac): Likewise.

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

	c-xvasprintf: Fix module dependencies.
	* modules/c-xvasprintf (Depends-on): Add 'xalloc-die'.

2019-01-04  Akim Demaille  <akim@lrde.epita.fr>

	bootstrap: die when some submodules are not initialized
	* build-aux/bootstrap: Make sure all submodules are initialized.

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

	bitsetv: Fix module dependencies.
	* lib/bitsetv.c: Include xalloc.h.
	* modules/bitsetv (Depends-on): Add 'xalloc'.

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

	xmemdup0: Remove redundant code.
	* lib/xmemdup0.h (xalloc_die): Remove declaration.

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

	backupfile: Fix module dependencies.
	* modules/backupfile (Depends-on): Add 'xalloc'.

2019-01-03  Paul Eggert  <eggert@cs.ucla.edu>

	bitset, crypto/gc: fix conflicts with Solaris 11
	* lib/bitset.h (_GL_BITSET_H): Rename from _BITSET_H, to
	avoid clash with Solaris 11 <sys/bitset.h>.
	* lib/gc.h (_GL_GC_H): Rename from GC_H, to avoid clash
	with Solaris 11 <xorg/gc.h>.

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

	safe-read, safe-write: Fix conflict with Illumos-Joyent <sys/limits.h>.
	Reported by Andy Fiddaman <andy@omniosce.org>.
	* lib/sys-limits.h: Add a '_GL' prefix to the guard symbol.

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

	maintainer-makefile: fix typo in previous patch
	* top/maint.mk (_sc_search_regexp): Fix my accidental corruption
	of Roman's work.

2019-01-02  Roman Bolshakov <r.bolshakov@yadro.com>  (tiny change)

	maintainer-makefile: prefer $(GREP) over grep
	* modules/maintainer-makefile (configure.ac): Ensure $(GREP) is
	defined.
	* top/maint.mk: Use it everywhere.

	maintainer-makefile: split long argument lines
	* top/maint.mk: Use xargs to split $(VC_LIST_EXCEPT) usage where
	it would be too long for exec limits on BSD.

2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>

	mkfifo: bring back HAVE_MKFIFO macro
	* m4/mkfifo.m4 (gl_FUNC_MKFIFO): #define HAVE_MKFIFO as needed.
	Problem reported by Andrew Janke in:
	https://lists.gnu.org/r/bug-gnulib/2018-12/msg00147.html

2018-12-21  Bruno Haible  <bruno@clisp.org>

	Assume Autoconf >= 2.63.
	* modules/stdarg (configure.ac-early): Remove comment about Autoconf
	versions < 2.60.

2018-12-21  Bruno Haible  <bruno@clisp.org>

	memcmp: Mention the clang bug.
	* tests/test-memcmp.c: Add comment about a known test failure.
	* doc/posix-functions/memcmp.texi: Mention the clang bug.

2018-12-20  Jim Meyering  <meyering@fb.com>

	revert v0.1-2213-gae4b73e28 and part of v0.1-2281-g95cd86dd7
	v0.1-2213-gae4b73e28 caused a regression in grep-3.2 (no match):
	  echo '123-x'|LC_ALL=C grep -E '.\bx'
	The goal is to revert the first, but reverting it requires to restore
	the function deleted in the second. I ran this to restore the deleted
	function:
	  git show v0.1-2281-g95cd86dd7 lib/dfa.c \
	    | perl -0777 -pe 's/^@@[^\n]*dfaan.*//ms' \
	    | patch -R -p1
	* lib/dfa.c (charclass_context): Restore deleted function.
	Reverting the primary commit removes this change:
	dfa: Simplify a building state
	* lib/dfa.c (build_state): Simplify a building state.

2018-12-20  Paul Eggert  <eggert@cs.ucla.edu>

	version-etc: allow zero authors
	* lib/version-etc.c (version_etc_arn): If no authors are given,
	omit authorship info instead of dumping core.

2018-12-19  Bruno Haible  <bruno@clisp.org>

	lchown tests: Be more permissive regarding errno values.
	Reported by Ivan Zakharyaschev <imz@altlinux.org>.
	* tests/test-lchown.h (test_lchown): Recognize EOPNOTSUPP as an
	alternative to ENOSYS.
	* modules/lchown-tests (Depends-on): Add 'errno'.
	* modules/fchownat-tests (Depends-on): Likewise.

2018-12-18  Bruno Haible  <bruno@clisp.org>

	duplocale: Avoid test failure on AIX 7.
	* modules/duplocale-tests (Files): Add m4/intl-thread-locale.m4.
	(configure.ac): Invoke gt_FUNC_USELOCALE.
	* tests/test-duplocale.c: Test HAVE_WORKING_USELOCALE instead of
	HAVE_USELOCALE. Assume that nl_langinfo_l only works when uselocale
	works.

2018-12-18  Bruno Haible  <bruno@clisp.org>

	localename: Fix test failure on AIX 7.
	Reported by Assaf Gordon in
	<https://lists.gnu.org/archive/html/sed-devel/2018-12/msg00019.html>.
	* m4/intl-thread-locale.m4 (gt_FUNC_USELOCALE): New macro.
	(gt_INTL_THREAD_LOCALE_NAME): Invoke it. Test gt_cv_func_uselocale_works
	instead of ac_cv_func_uselocale.
	* lib/localename.c: Test HAVE_WORKING_USELOCALE instead of
	HAVE_USELOCALE.
	* lib/localename-table.h: Likewise.
	* lib/localename-table.c: Likewise.
	* tests/test-localename.c: Likewise.
	* doc/posix-functions/uselocale.texi: Mention the AIX problem.

2018-12-18  Bruno Haible  <bruno@clisp.org>

	localename: Update comments regarding Cygwin.
	* lib/localename.c: Update comment.
	* doc/posix-functions/uselocale.texi: Update platforms list.
	* doc/posix-functions/newlocale.texi: Likewise.
	* doc/posix-functions/duplocale.texi: Likewise.
	* doc/posix-functions/freelocale.texi: Likewise.

2018-12-16  Bruno Haible  <bruno@clisp.org>

	c-stack: Fix for Linux/sparc.
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Set
	ac_cv_sys_xsi_stack_overflow_heuristic to 'no' on Linux/sparc.

2018-12-16  Bruno Haible  <bruno@clisp.org>

	localename: Avoid test failure on some glibc systems.
	* tests/test-localename.c (test_locale_name, test_locale_name_posix):
	Unset environment variables that might disturb the first setlocale call,
	and verify that this setlocale call succeeds.

2018-12-16  Assaf Gordon  <assafgordon@gmail.com>

	random: Fix build error on native Windows (regression from 2018-06-21).
	* lib/random.c (__srandom, __initstate, __setstate, __random,
	__srandom_r, __initstate_r, __setstate_r, __random_r) [!_LIBC]: Redirect
	to the symbols without '__' prefix.

2018-12-16  Bruno Haible  <bruno@clisp.org>

	obstack, libc-config: Support HP-UX cc in C99 mode.
	* lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER): Treat HP-UX cc as a pre-C99
	compiler, even when in C99 mode.
	* lib/cdefs.h (__flexarr): Likewise.
	* lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Update comment.

2018-12-16  Bruno Haible  <bruno@clisp.org>

	localename: Fix test failure on OpenBSD >= 6.2.
	* m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Test for fake
	locale system. Define HAVE_FAKE_LOCALES in this case.
	* lib/localename.c (HAVE_GOOD_USELOCALE): New macro. Use it instead of
	HAVE_USELOCALE.
	* tests/test-localename.c (HAVE_GOOD_USELOCALE): New macro. Use it
	instead of HAVE_NEWLOCALE && HAVE_USELOCALE.
	* doc/posix-functions/uselocale.texi: Mention OpenBSD problem. Update
	platforms list.
	* doc/posix-functions/newlocale.texi: Likewise.
	* doc/posix-functions/duplocale.texi: Update platforms list.
	* doc/posix-functions/freelocale.texi: Likewise.

2018-12-16  Bruno Haible  <bruno@clisp.org>

	duplocale tests: Re-enable the test on platforms without <monetary.h>.
	* tests/test-duplocale.c: Use more fine-grained #ifs to re-enable most
	of the test, on platforms without <monetary.h>.

2018-12-16  Bruno Haible  <bruno@clisp.org>

	localename: Update comments.
	* lib/localename.c (HAVE_USELOCALE): Update list of platforms.

2018-12-15  Jim Meyering  <meyering@fb.com>

	regex: fix indentation
	* m4/regex.m4 (gl_REGEX): Indent with spaces, not TABs.

2018-12-15  Bruno Haible  <bruno@clisp.org>

	openat-safer tests: Avoid test failure on NetBSD 8.
	* tests/test-openat-safer.c (main): Execute a Linux specific test only
	on Linux.

2018-12-15  Jim Meyering  <meyering@fb.com>

	regex: work around a bug in glibc-2.27 and prior
	* m4/regex.m4 (gl_REGEX): Reject any system regexp that gets a failed
	assertion for /0|()0|\1|0/.
	* tests/test-regex.c (main): Add the same test here.

2018-12-15  Bruno Haible  <bruno@clisp.org>

	localename: Fix use of uninitialized shell variable.
	* m4/intl-thread-locale.m4 (gt_INTL_THREAD_LOCALE_NAME): Initialize
	gt_cv_locale_solaris114 always before use. Remove assignment without
	effect.

2018-12-15  Bruno Haible  <bruno@clisp.org>

	dfa tests: Avoid test failure on Alpine Linux.
	* tests/dfa-match.sh (timeout_10): Accommodate the BusyBox 'timeout'
	command found on Alpine Linux.

2018-12-15  Jim Meyering  <meyering@fb.com>

	dfa: avoid new warnings from gcc
	These would prevent building with -Werror and a Dec snapshot of gcc.
	* lib/dfa.c (dfaanalyze): Avoid shadowing warnings for "pos".
	Rename each inner instance to "p".
	(charclass_context): Remove unused static function.

2018-12-14  Paul Eggert  <eggert@cs.ucla.edu>

	mkdir-p: improve diagnostic for FUSE mounts
	Problem reported by Niklas Hambüchen in:
	https://lists.gnu.org/r/bug-gnulib/2018-12/msg00074.html
	* lib/mkdir-p.c (make_dir_parents): In diagnostic, prefer stat
	errno to mkdir errno if the stat errno is likely more interesting.

2018-12-14  Bruno Haible  <bruno@clisp.org>

	hash-map: Add tests.
	* tests/test-hash_map.c: New file.
	* modules/hash-map-tests: New file.

	linkedhash-map: Add tests.
	* tests/test-linkedhash_map.c: New file.
	* modules/linkedhash-map-tests: New file.

	array-map: Add tests.
	* tests/test-array_map.c: New file.
	* modules/array-map-tests: New file.

	xmap: New module.
	* lib/gl_xmap.h: New file.
	* lib/gl_xmap.c: New file.
	* modules/xmap: New file.

	hash-map: New module.
	* lib/gl_hash_map.h: New file.
	* lib/gl_hash_map.c: New file.
	* modules/hash-map: New file.

	linkedhash-map: New module.
	* lib/gl_linkedhash_map.h: New file.
	* lib/gl_linkedhash_map.c: New file.
	* lib/gl_anyhash1.h: Update comments.
	* lib/gl_anyhash2.h: Likewise.
	* modules/linkedhash-map: New file.

	array-map: New module.
	* lib/gl_array_map.h: New file.
	* lib/gl_array_map.c: New file.
	* modules/array-map: New file.

	map: New module.
	* lib/gl_map.h: New file.
	* lib/gl_map.c: New file.
	* lib/gl_omap.h (gl_mapkey_dispose_fn, gl_mapvalue_dispose_fn): Avoid
	conflict with gl_map.h.
	* modules/map: New file.

2018-12-13  Bruno Haible  <bruno@clisp.org>

	select tests: Avoid test failure on Cygwin.
	* tests/test-select.h (test_bad_fd): Use an fd < FD_SETSIZE.

2018-12-13  Bruno Haible  <bruno@clisp.org>

	localtime-buffer: Avoid endless recursion in localtime and gmtime.
	* lib/localtime-buffer.c: Undefine localtime and gmtime before use.

2018-12-13  Bruno Haible  <bruno@clisp.org>

	localeconv tests: Avoid test failure on Cygwin.
	* tests/test-localeconv.c (main): On Cygwin, skip the 'grouping' and
	'mon_grouping' tests.

2018-12-11  Bruno Haible  <bruno@clisp.org>

	omap: Don't dispose the old value when the function returns it.
	* lib/gl_array_omap.c (gl_array_remove_at): Don't invoke the vdispose_fn
	here.
	* lib/gl_avltree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
	* lib/gl_rbtree_omap.c (NODE_PAYLOAD_DISPOSE): Likewise.
	* lib/gl_omap.h (gl_omap_nx_put, gl_omap_remove): Invoke the vdispose_fn
	here.

	array-omap, avltree-omap, rbtree-omap: Tweak style.
	* lib/gl_anytree_omap.h (gl_tree_nx_getput): Return 1 or 0, not true or
	false.
	* lib/gl_array_omap.c (gl_array_nx_getput): Likewise.

	rbtree-omap: Add tests.
	* tests/test-rbtree_omap.c: New file.
	* modules/rbtree-omap-tests: New file.

	avltree-omap: Add tests.
	* tests/test-avltree_omap.c: New file.
	* modules/avltree-omap-tests: New file.

	array-omap: Add tests.
	* tests/test-array_omap.c: New file.
	* modules/array-omap-tests: New file.

	xomap: New module.
	* lib/gl_xomap.h: New file.
	* lib/gl_xomap.c: New file.
	* modules/xomap: New file.

	rbtree-omap: New module.
	* lib/gl_rbtree_omap.h: New file.
	* lib/gl_rbtree_omap.c: New file.
	* lib/gl_rbtree_ordered.h: Code moved to here from lib/gl_rbtree_oset.c.
	Parameterize.
	* lib/gl_rbtree_oset.c: Include gl_rbtree_ordered.h.
	* modules/rbtree-omap: New file.
	* modules/rbtree-oset (Files): Add lib/gl_rbtree_ordered.h.
	(Makefile.am): Add gl_rbtree_ordered.h to lib_SOURCES.

	avltree-omap: New module.
	* lib/gl_avltree_omap.h: New file.
	* lib/gl_avltree_omap.c: New file.
	* lib/gl_avltree_ordered.h: Code moved to here from
	lib/gl_avltree_oset.c. Parameterize.
	* lib/gl_avltree_oset.c: Include gl_avltree_ordered.h.
	* lib/gl_anytree_omap.h: New file.
	* modules/avltree-omap: New file.
	* modules/avltree-oset (Files): Add lib/gl_avltree_ordered.h.
	(Makefile.am): Add gl_avltree_ordered.h to lib_SOURCES.

	array-omap: New module.
	* lib/gl_array_omap.h: New file.
	* lib/gl_array_omap.c: New file.
	* modules/array-omap: New file.

	omap: New module.
	* lib/gl_omap.h: New file.
	* lib/gl_omap.c: New file.
	* modules/omap: New file.

2018-12-11  Bruno Haible  <bruno@clisp.org>

	hash-set, linkedhash-set: Reduce code duplication.
	* lib/gl_anyhash1.h: Rename from lib/gl_anyhash_list1.h and
	lib/gl_anyhash_set1.h.
	* lib/gl_anyhash2.h: Rename from lib/gl_anyhash_list2.h and
	lib/gl_anyhash_set2.h. Parameterize.
	(hash_resize_after_add): New function, from lib/gl_anyhash_set2.h.
	* lib/gl_anytreehash_list1.h (hash_resize_after_add): Remove function.
	* lib/gl_avltreehash_list.c: Include gl_anyhash1.h instead of
	gl_anyhash_list1.h. Include gl_anyhash2.h instead of gl_anyhash_list2.h.
	* lib/gl_rbtreehash_list.c: Likewise.
	* lib/gl_linkedhash_list.c: Likewise.
	(hash_resize_after_add): Remove function.
	* lib/gl_linkedhash_set.c: Include gl_anyhash1.h instead of
	gl_anyhash_set1.h. Include gl_anyhash2.h instead of gl_anyhash_set2.h.
	* gl_hash_set.c: Likewise.
	* modules/avltreehash-list (Files, Makefile.am): Update file list.
	* modules/rbtreehash-list (Files, Makefile.am): Likewise.
	* modules/linkedhash-list (Files, Makefile.am): Likewise.
	* modules/linkedhash-set (Files, Makefile.am): Likewise.
	* modules/hash-set (Files, Makefile.am): Likewise.

2018-12-11  Bruno Haible  <bruno@clisp.org>

	array-set: Optimize.
	* lib/gl_array_set.c (gl_array_search, gl_array_remove): Test equals_fn
	outside the loop, not inside the loop.

2018-12-11  Bruno Haible  <bruno@clisp.org>

	times: Fix tests.
	* tests/test-times.c (doublecmp): Implement a total order.

2018-12-11  Bruno Haible  <bruno@clisp.org>

	array-set, linkedhash-set, hash-set: Fix tests.
	* tests/test-array_set.c (cmp_objects_in_array): New function.
	(check_equals): Use it.
	* tests/test-hash_set.c: Likewise.
	* tests/test-linkedhash_set.c: Likewise.

2018-12-08  Bruno Haible  <bruno@clisp.org>

	Fix comments.
	* lib/gl_list.h (gl_list_free): Clarify what it does.
	* lib/gl_oset.h (gl_oset_free): Likewise.
	* lib/gl_set.h (gl_set_free): Likewise.
	* lib/gl_anytree_oset.h (gl_tree_search_atleast): Fix typo in comment.
	* lib/gl_array_oset.c (gl_array_search_atleast): Likewise.
	* lib/gl_anyavltree_list1.h (MAXHEIGHT): Likewise.
	* lib/gl_avltree_oset.c (MAXHEIGHT): Likewise.

2018-12-03  Bruno Haible  <bruno@clisp.org>

	hash-set: Add tests.
	* tests/test-hash_set.c: New file.
	* modules/hash-set-tests: New file.

	linkedhash-set: Add tests.
	* tests/test-linkedhash_set.c: New file.
	* modules/linkedhash-set-tests: New file.

	array-set: Add tests.
	* tests/test-array_set.c: New file.
	* modules/array-set-tests: New file.

	xset: New module.
	* lib/gl_xset.h: New file.
	* lib/gl_xset.c: New file.
	* modules/xset: New file.

	hash-set: New module.
	* lib/gl_hash_set.h: New file.
	* lib/gl_hash_set.c: New file.
	* modules/hash-set: New file.

	linkedhash-set: New module.
	* lib/gl_linkedhash_set.h: New file.
	* lib/gl_linkedhash_set.c: New file.
	* lib/gl_anyhash_set1.h: New file, based on lib/gl_anyhash_list1.h.
	* lib/gl_anyhash_set2.h: New file, based on lib/gl_anyhash_list2.h.
	* lib/gl_anyhash_primes.h: New file, extracted from
	lib/gl_anyhash_list2.h.
	* lib/gl_anyhash_list2.h: Include it.
	(primes, next_prime): Remove definitions.
	* modules/linkedhash-set: New file.
	* modules/avltreehash-list (Files): Add lib/gl_anyhash_primes.h.
	(Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
	* modules/linkedhash-list (Files): Add lib/gl_anyhash_primes.h.
	(Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.
	* modules/rbtreehash-list (Files): Add lib/gl_anyhash_primes.h.
	(Makefile.am): Add gl_anyhash_primes.h to lib_SOURCES.

	array-set: New module.
	* lib/gl_array_set.h: New file.
	* lib/gl_array_set.c: New file.
	* modules/array-set: New file.

	set: New module.
	* lib/gl_set.h: New file.
	* lib/gl_set.c: New file.
	* lib/gl_oset.h (gl_setelement_dispose_fn): Avoid conflict with
	gl_set.h.
	* modules/set: New file.

2018-12-07  Akim Demaille  <akim@lrde.epita.fr>

	bison: don't force the Yacc mode
	Passing -y forces Bison into POSIX YACC mode.  This includes reporting
	errors when Bison features are used in the grammar file.  Some of
	these features (such as %expect) were flagged non-yacc recently.  Most
	of the time, -y is actually used to please Automake's ylwrap which
	expects the output to be y.tab.c.
	* m4/bison.m4 (gl_BISON): Use `-o y.tab.c` rather than `-y`.

2018-12-01  Bruno Haible  <bruno@clisp.org>

	gnupload: Document short options.
	* build-aux/gnupload (usage): Document the short options.

2018-11-28  Ben Elliston  <bje@gnu.org>

	gnupload: Support option -h as alias of --help.
	* build-aux/gnupload: Support -h.

2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>

	memrchr: port better to clang
	* lib/memrchr.c (__memrchr): Cast to void * instead of to
	longword *, to pacify clang -Wcast-align (Bug#33544).

2018-11-29  Eric Blake  <eblake@redhat.com>

	docs: mention printf %m considerations
	* doc/glibc-functions/asprintf.texi (asprintf): Document that %m
	is not portable, and is easy enough to work around.
	* doc/glibc-functions/obstack_printf.texi (obstack_printf): Likewise.
	* doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf): Likewise.
	* doc/glibc-functions/vasprintf.texi (vasprintf): Likewise.
	* doc/posix-functions/dprintf.texi (dprintf): Likewise.
	* doc/posix-functions/fprintf.texi (fprintf): Likewise.
	* doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
	* doc/posix-functions/printf.texi (printf): Likewise.
	* doc/posix-functions/snprintf.texi (snprintf): Likewise.
	* doc/posix-functions/sprintf.texi (sprintf): Likewise.
	* doc/posix-functions/swprintf.texi (swprintf): Likewise.
	* doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
	* doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
	* doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
	* doc/posix-functions/vprintf.texi (vprintf): Likewise.
	* doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
	* doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
	* doc/posix-functions/vswprintf.texi (vswprintf): Likewise.
	* doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
	* doc/posix-functions/wprintf.texi (wprintf): Likewise.

2018-11-29  Akim Demaille  <akim@lrde.epita.fr>

	bitset: rename ebitset/expandable.* as tbitset/table.*
	See
	https://lists.gnu.org/archive/html/bug-gnulib/2018-11/msg00096.html.
	* lib/bitset/expandable.h, lib/bitset/expandable.c: Rename as...
	* lib/bitset/table.h, lib/bitset/table.c: these.
	Rename all the ebitset* symbols as tbitset*.
	Adjust dependencies.

2018-11-28  Akim Demaille  <akim@lrde.epita.fr>

	bitset: check the operations
	* tests/test-bitset.c (bitset_random): New.
	Use it.
	* lib/bitset/expandable.c (ebitset_not): Fix typo.

2018-11-28  Akim Demaille  <akim@lrde.epita.fr>

	bitset: properly use false/true instead of 0/1 for Booleans
	* lib/bitset/expandable.c, lib/bitset/vector.c: Use false/true, not
	0/1, as Booleans.

2018-11-28  Akim Demaille  <akim@lrde.epita.fr>

	bitset: rename BITSET_VARRAY as BITSET_VECTOR
	For consistency with the name of the file.
	* doc/bitset.texi, lib/bitset.c, lib/bitset/base.h,
	* lib/bitset/stats.c, lib/bitset/vector.c
	(BITSET_VARRAY): Rename as...
	(BITSET_VECTOR): this.

2018-11-28  Paul Eggert  <eggert@cs.ucla.edu>

	strerror_r-posix: memmove, not memcpy
	* lib/strerror_r.c (safe_copy): Use memmove, not memcpy,
	since the source and destination might overlap in the call
	‘safe_copy (buf, buflen, strerror_r (errnum, buf, buflen))’.
	Simplify.

2018-11-25  Akim Demaille  <akim@lrde.epita.fr>

	bitsetv: new module
	* lib/bitsetv.c, lib/bitsetv.h, modules/bitsetv: New.

2018-11-25  Akim Demaille  <akim@lrde.epita.fr>

	bitset: add tests and doc
	First stabs at providing a documentation and test for the bitset
	module.
	* doc/bitset.texi, modules/test-bitset, tests/bitset-tests.c: New.

2018-11-25  Akim Demaille  <akim@lrde.epita.fr>

	bitset: new module
	* lib/bitset.c, lib/bitset.h, lib/bitset/array.c,
	* lib/bitset/array.h, lib/bitset/base.h, lib/bitset/expandable.c,
	* lib/bitset/expandable.h, lib/bitset/list.c, lib/bitset/list.h,
	* lib/bitset/stats.c, lib/bitset/stats.h, lib/bitset/vector.c,
	* lib/bitset/vector.h, modules/bitset:
	New.

2018-11-23  Bruno Haible  <bruno@clisp.org>

	localename: Fix gettext test failures on mingw.
	* lib/localename.c (gl_locale_name_posix): Convert the result of
	gl_locale_name_environ to XPG syntax.

2018-11-23  Karl Berry  <karl@freefriends.org>

	* config/srclistvars.txt,
	* config/srclist.txt: remove all gettext references;
	the gettext maintainers will sync as needed.

2018-11-21  Paul Eggert  <eggert@cs.ucla.edu>

	mktime: add libc-config dependency
	I missed this when we synced from glibc.
	* modules/mktime (Depends-on): Add libc-config.

2018-11-13  Paul Eggert  <eggert@cs.ucla.edu>

	longlong: fix comment typo
	* m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Fix typo.

2018-11-11  Bruno Haible  <bruno@clisp.org>

	havelib: Remove the need to include asm-underscore.m4.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI_32BIT): New macro.
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use it instead of
	gl_HOST_CPU_C_ABI.
	* modules/havelib (Files): Add host-cpu-c-abi.m4.
	(Depends-on): Remove host-cpu-c-abi.

2018-11-03  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime: simplify test for mktime failure
	* lib/parse-datetime.y (mktime_ok): Simplify.
	Remove args TZ and T; no longer needed.  Callers changed.

	posixtm: simplify test for mktime failure
	* lib/posixtm.c (posixtime): Simplify.

	nstrftime: simplify test for mktime failure
	* lib/nstrftime.c (__strftime_internal): Simplify.

2018-11-02  Paul Eggert  <eggert@cs.ucla.edu>

	gnulib-common.m4: port _Noreturn to C++
	Problem reported by Akim Demaille in:
	https://lists.gnu.org/r/bug-bison/2018-10/msg00067.html
	* m4/gnulib-common.m4 (gl_COMMON_BODY): If C++, use [[noreturn]].
	Merge adjustments from _Noreturn.h and from glibc into the non-C++
	version.
	* lib/_Noreturn.h: Match gnulib-common.

2018-10-30  Bruno Haible  <bruno@clisp.org>

	gnu-make: Fix for NetBSD 8 'make'.
	Reported by Reuben Thomas in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00135.html>.
	* m4/gnu-make.m4 (gl_GNU_MAKE): Use a heuristic based on the --version
	output, ignoring exit codes.

2018-10-28  Bernhard Voelker  <mail@bernhard-voelker.de>

	maintainer-makefile: fix syntax-check rule for "same.h"
	* top/maint.mk (sc_prohibit_same_without_use): Adjust regex to check
	for 'same_nameat', too.

2018-10-25  Paul Eggert  <eggert@cs.ucla.edu>

	havelib: fix nested ‘configure’ chatter
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Don’t nest
	AC_CACHE_CHECK calls, which resulted in confusing output like
	“checking for the common suffixes of directories in the library
	search path... checking for 64-bit host... no lib,lib”.

	backupfile: tweak for better code
	* lib/backupfile.c: Sort include directives, and remove
	unnecessary <limits.h> include.
	(FALLTHROUGH): New macro, copied from other modules.
	(backupfile_internal): Use it to avoid code duplication.
	This lets GCC 8.2.1 generate better code by inlining the
	call to check_extension.

2018-10-23  Paul Eggert  <eggert@cs.ucla.edu>

	backupfile: new dir_fd args
	New module opendirat with code taken from fts.
	Use this module to let backupfile use a directory file descriptor.
	* NEWS: Document the incompatible change.
	* lib/backup-find.c (find_backup_file_name):
	* lib/backup-rename.c (backup_file_rename):
	New arg DIR_FD.
	* lib/backupfile.c: Include stdint.h, for SIZE_MAX.
	(SIZE_MAX): Remove.
	Include opendirat.h rather than dirent--.h.
	(check_extension): New args DIR_FD and BASE_MAX.  All callers changed.
	(numbered_backup): New args DIR_FD and PNEW_FD.  All callers changed.
	(backupfile_internal): New arg DIR_FD.  All callers changed.
	* lib/fts.c: Include opendirat.h.
	(opendirat): Move to opendirat.c.
	* lib/opendirat.c, lib/opendirat.h, modules/opendirat: New files.
	* modules/backupfile (Depends-on): Remove dirfd, opendir.
	Add opendirat.
	* modules/fts (Depends-on): Remove fdopendir, openat-safer.
	Add opendirat.

2018-10-23  Bruno Haible  <bruno@clisp.org>

	localename: Simplify support for per-thread locales on Solaris 11.4.
	* m4/intl-thread-locale.m4: Renamed from m4/intlsolaris.m4.
	(gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
	HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
	* lib/localename.c: Handle HAVE_SOLARIS114_LOCALES through Solaris
	specific code.
	* lib/localename-table.h: Update comments.
	* lib/localename-table.c: Update comments.
	* m4/localename.m4 (gl_LOCALENAME): Require gt_INTL_THREAD_LOCALE_NAME.
	Test for 'uselocale'. Don't invoke gt_INTL_SOLARIS.
	* m4/intl.m4 (AM_INTL_SUBDIR): Require gt_INTL_THREAD_LOCALE_NAME. Test
	for 'uselocale'. Set HAVE_NAMELESS_LOCALES.
	(gt_INTL_SUBDIR_CORE): Don't invoke gt_INTL_SOLARIS. Don't set
	HAVE_NAMELESS_LOCALES here.
	* modules/localename (Files): Add m4/intl-thread-locale.m4. Remove
	m4/intlsolaris.m4.
	* modules/gettext (Files): Likewise.

2018-10-22  Bruno Haible  <bruno@clisp.org>

	std-gnu11: Support Autoconf versions < 2.64.
	* m4/std-gnu11.m4 (AC_PROG_CC, AC_PROG_CXX): Use _AC_DO as fallback
	when _AC_DO_LIMIT does not exist.

2018-10-22  Bruno Haible  <bruno@clisp.org>

	Assume Autoconf >= 2.63.
	* DEPENDENCIES: Mention the requirement.

	* gnulib-tool (DEFAULT_AUTOCONF_MINVERSION): Bump to 2.63.
	(func_get_filelist): Don't list m4/onceonly.m4 any more.
	* pygnulib/GLModuleSystem.py (getFiles): Likewise.
	* m4/onceonly.m4: Remove file.

	* m4/openmp.m4: Remove file.
	* modules/openmp (Files): Remove m4/openmp.m4.

	* m4/configmake.m4 (gl_CONFIGMAKE_PREP): Don't set datarootdir, docdir,
	htmldir, dvidir, pdfdir, psdir, localedir.
	* m4/po.m4 (AM_PO_SUBDIRS): Don't set localedir.

	* m4/gnulib-common.m4 (m4_foreach_w): Remove fallback for
	Autoconf < 2.60.
	(AC_PROG_MKDIR_P): Remove definition for Autoconf < 2.62.
	(AC_PROG_SED): Remove fallback for Autoconf < 2.60.

	* m4/errno_h.m4 (AC_COMPUTE_INT): Remove fallback for Autoconf < 2.61.
	* m4/size_max.m4 (AC_COMPUTE_INT): Likewise.
	* m4/stdint.m4 (AC_COMPUTE_INT): Likewise.

	* m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Assume AC_USE_SYSTEM_EXTENSIONS
	exists.
	* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Likewise,

	* m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Remove workaround for
	Autoconf < 2.61.

	* m4/lib-prefix.m4 (AC_LIB_ARG_WITH): Remove macro.
	(AC_LIB_PREFIX): Use AC_ARG_WITH, assuming semantics of
	Autoconf >= 2.52.

	* m4/longlong.m4: Require Autoconf >= 2.62. Update comments.
	* m4/ls-mntd-fs.m4: Require Autoconf >= 2.60. Update comments.
	* m4/gettext.m4 (AM_GNU_GETTEXT): Update comment.

2018-10-22  Bruno Haible  <bruno@clisp.org>

	Assume Automake >= 1.11.
	* m4/configmake.m4: Update comments.
	* m4/lib-link.m4 (AC_LIB_RPATH): Assume AC_REQUIRE_AUX_FILE exists.
	* m4/po.m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Eliminate uses
	of 'eval'.
	* gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am,
	func_create_testdir, func_create_megatestdir): Emit a Makefile.am that
	requires Automake >= 1.11.

2018-10-22  Bruno Haible  <bruno@clisp.org>

	localename: Fix typo in comment.
	* tests/test-locale-c++.cc (newlocale): Fix typo in comment.

2018-10-22  Bruno Haible  <bruno@clisp.org>

	Fix failure of 'gnulib-tool --create-testdir' with all modules.
	* gnulib-tool (func_create_testdir): Exclude 'timevar' module.

2018-10-21  Bruno Haible  <bruno@clisp.org>

	locale: Ease integration with GNU libintl.
	* lib/locale.in.h (GNULIB_defined_newlocale, GNULIB_defined_duplocale,
	GNULIB_defined_freelocale): New macros.

2018-10-21  Bruno Haible  <bruno@clisp.org>

	localename: Fine-tune support for per-thread locales on Solaris 11.4.
	* lib/localename-table.h: New file, extracted from lib/localename.c.
	* lib/localename-table.c: Likewise.
	* lib/localename.c: Include localename-table.h.
	(get_locale_t_name, newlocale, duplocale, freelocale): Invoke
	locale_hash_function instead of pointer_hash.
	* modules/localename (Files): Add lib/localename-table.h,
	lib/localename-table.c.
	(lib_SOURCES): Add localename-table.c.
	* m4/intlsolaris.m4 (gt_INTL_SOLARIS): Require AC_CANONICAL_HOST. Test
	for Solaris 11.4 locale system only on Solaris. Test for it
	independently whether getlocalename_l exists.
	* m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and
	'getlocalename_l'. Instead, invoke gt_INTL_SOLARIS. Set
	HAVE_NAMELESS_LOCALES.
	* modules/gettext (Files): Add m4/intlsolaris.m4.

2018-10-21  Bruno Haible  <bruno@clisp.org>

	Small update from gettext.
	* m4/intl.m4: Update from gettext:
	- 2018-01-02: Fix 'ar' invocation when cross-compiling and in 64-bit
	mode on AIX.
	- 2018-01-02: Don't use -lc explicitly when linking with libtool.
	- 2017-05-19: (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.

2018-10-16  Bruno Haible  <bruno@clisp.org>

	mountlist: Remove support for Cray with UNICOS 9.
	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
	MOUNTED_LISTMNTENT.
	* lib/mountlist.c: Remove MOUNTED_LISTMNTENT case.

2018-10-16  Bruno Haible  <bruno@clisp.org>

	fsusage, mountlist, getloadavg, getgroups: Remove support for Ultrix.
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't define
	STAT_STATFS2_FS_DATA.
	* lib/fsusage.c: Remove STAT_STATFS2_FS_DATA case.
	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
	MOUNTED_GETMNT.
	* lib/mountlist.c: Remove MOUNTED_GETMNT case.
	* lib/getloadavg.c (decstation): Remove definition and case.
	* m4/getgroups.m4 (AC_FUNC_GETGROUPS): Mention NeXTstep, not Ultrix.
	* lib/getgroups.c: Likewise.
	* doc/posix-functions/getgroups.texi: Likewise.
	* lib/time.in.h: Update comments.

2018-10-16  Bruno Haible  <bruno@clisp.org>

	getloadavg: Remove support for ConvexOS.
	* lib/getloadavg.c: Remove convex case.

2018-10-16  Bruno Haible  <bruno@clisp.org>

	getloadavg: Remove support for Sony NEWS.
	* lib/getloadavg.c: Remove sony_news case.

2018-10-16  Bruno Haible  <bruno@clisp.org>

	fsusage, mountlist, getloadavg: Remove support for Dynix/ptx.
	* lib/fsusage.c: Remove _SEQUENT_ case.
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
	* lib/mountlist.c: Don't test for MNTTABNAME.
	* m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Don't test for libseq.
	(gl_LIST_MOUNTED_FILE_SYSTEMS): Don't test for MNTTABNAME.
	* lib/getloadavg.c: Remove _SEQUENT_ and sequent cases.
	* lib/stat-size.h: Don't mention the Sequent bug.
	* doc/posix-functions/utime.texi: Don't mention the Dynix bug.

2018-10-16  Bruno Haible  <bruno@clisp.org>

	fsusage: Remove support for AIX 3.
	* lib/fsusage.c: Remove code for AIX 3.
	* m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Update comments.

2018-10-16  Bruno Haible  <bruno@clisp.org>

	fsusage, stat-size, getloadavg: Remove support for AIX PS/2.
	* m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for dustat.h.
	* lib/fsusage.c: Remove code for AIX PS/2.
	* lib/stat-size.h (ST_NBLOCKSIZE): Likewise.
	* lib/getloadavg.c: Likewise.

2018-10-16  Bruno Haible  <bruno@clisp.org>

	getloadavg: Remove support for HP-UX on m68k.
	* lib/getloadavg.c: Remove hp9000s300 case.

2018-10-16  Bruno Haible  <bruno@clisp.org>

	fsusage, mountlist: Remove support for DolphinOS (an SVR3 variant).
	* lib/fsusage.c: Remove DOLPHIN case.
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Update comments.
	* lib/mountlist.c: Remove MOUNTED_GETMNTTBL case.

2018-10-16  Bruno Haible  <bruno@clisp.org>

	getloadavg: Remove support for Alliant FX/2800.
	* lib/getloadavg.c: Remove alliant case.

2018-10-16  Bruno Haible  <bruno@clisp.org>

	getloadavg: Remove support for tek4300.
	* lib/getloadavg.c: Remove tek4300 case.

2018-10-16  Bruno Haible  <bruno@clisp.org>

	getloadavg: Remove support for Ardent.
	* lib/getloadavg.c: Remove ardent case.

2018-10-16  Bruno Haible  <bruno@clisp.org>

	mountlist: Remove support for SVR2.
	Reported by Andrew Borodin <aborodin@vmail.ru> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00101.html>.
	* lib/mountlist.c: Remove MOUNTED_FREAD case.
	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't define
	MOUNTED_FREAD.

2018-10-15  Paul Eggert  <eggert@cs.ucla.edu>

	libc-config: merge from glibc
	* lib/cdefs.h (__glibc_has_attribute): New macro.

	regex: depend on libc-config
	* modules/regex (Depends-on): Add libc-config.
	This is needed after the recent autoupdate from glibc.

2018-10-14  Bruno Haible  <bruno@clisp.org>

	localename: Add support for per-thread locales on Solaris 11.4.
	* lib/locale.in.h (newlocale, freelocale): New declarations.
	(duplocale): Declare also when the 'localename' module requests it.
	* lib/localename.c (struniq_hash_node): Renamed from hash_node.
	(STRUNIQ_HASH_TABLE_SIZE): Renamed from HASH_TABLE_SIZE.
	(struniq): Update.
	(struct locale_categories_names, struct locale_hash_node): New types.
	(LOCALE_HASH_TABLE_SIZE): New constant.
	(locale_hash_table, locale_lock): New variables.
	(pointer_hash, get_locale_t_name): New functions.
	(newlocale, duplocale, freelocale): New overridden functions.
	(gl_locale_name_thread_unsafe): Use get_locale_t_name.
	* m4/intlsolaris.m4: New file.
	* m4/localename.m4 (gl_LOCALENAME): Require gl_LOCALE_H_DEFAULTS. Invoke
	gt_INTL_SOLARIS. Set HAVE_NEWLOCALE, HAVE_DUPLOCALE, HAVE_FREELOCALE,
	REPLACE_NEWLOCALE, REPLACE_DUPLOCALE, REPLACE_FREELOCALE.
	* m4/locale_h.m4 (gl_LOCALE_H): Test whether newlocale, freelocale are
	declared.
	(gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALENAME, HAVE_NEWLOCALE,
	HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
	* modules/locale (Makefile.am): Substitute GNULIB_LOCALENAME,
	HAVE_NEWLOCALE, HAVE_FREELOCALE, REPLACE_NEWLOCALE, REPLACE_FREELOCALE.
	* modules/localename (Files): Add intlsolaris.m4.
	(Depends-on): Add 'locale'.
	(configure.ac): Invoke gl_LOCALE_MODULE_INDICATOR.
	* tests/test-locale-c++.cc (newlocale, freelocale): Prepare for checking
	the signatures.

2018-10-14  Akim Demaille  <akim@lrde.epita.fr>

	timevar: use gethrxtime to get wall clock time
	clock_gettime is not portable.  gethrxtime takes the best available
	option to get the wall clock time, including clock_gettime (monotonic
	clock), and gettime (non monotonic).
	Also, using xtime_t instead of float preserves the precision.
	Suggested by Bruno Haible.
	* lib/xtime.h (xtime_make): Handle overflows of nanoseconds.
	* modules/timevar (Depends-on): We need gethrxtime.
	We no longer use times().
	(Link): Update.
	* lib/timevar.h (timevar_time_def): Use xtime_t.
	* lib/timevar.c (set_to_current_time): Use gethrxtime.
	(timevar_print): Instead of checking whether the timings themselves
	are large enough for the timevar to be printed, check the percentages.

2018-10-14  Bruno Haible  <bruno@clisp.org>

	wcsnrtombs: Work around Solaris 11.4 bug.
	* m4/wcsnrtombs.m4 (gl_WCSNRTOMBS_WORKS_IN_TRADITIONAL_LOCALE): New
	macro.
	(gl_FUNC_WCSNRTOMBS): Invoke it.
	* doc/posix-functions/wcsnrtombs.texi: Mention the Solaris bug.

2018-10-14  Bruno Haible  <bruno@clisp.org>

	mbsnrtowcs: Work around Solaris 11.4 bug.
	* m4/mbsnrtowcs.m4 (gl_MBSNRTOWCS_WORKS_IN_TRADITIONAL_LOCALE): New
	macro.
	(gl_FUNC_MBSNRTOWCS): Invoke it.
	* doc/posix-functions/mbsnrtowcs.texi: Mention the Solaris bug.

2018-10-14  Bruno Haible  <bruno@clisp.org>

	doc: Update for Solaris 11.4.
	* doc/**/*.texi: For bugs that exist in both Solaris 11.3 and 11.4,
	mention Solaris 11.4.
	* m4/printf.m4: Update comments about Solaris.
	* m4/log.m4: Likewise.
	* m4/log10.m4: Likewise.
	* m4/logb.m4: Likewise.
	* m4/logbf.m4: Likewise.
	* m4/logbl.m4: Likewise.
	* m4/rename.m4: Likewise.
	* m4/wcrtomb.m4: Likewise.
	* m4/hostent.m4: Likewise.
	* m4/servent.m4: Likewise.

2018-10-14  Bruno Haible  <bruno@clisp.org>

	floor, ceil, trunc, truncf, truncl: Defeat GCC optimizations.
	* m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Use 'floor' also through a function
	pointer.
	* m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use 'ceil' also through a function
	pointer.
	* m4/trunc.m4 (gl_FUNC_TRUNC): Use 'trunc' also through a function
	pointer.
	* m4/truncf.m4 (gl_FUNC_TRUNCF): Use 'truncf' also through a function
	pointer.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Use 'truncl' also through a function
	pointer.

2018-10-13  Akim Demaille  <akim@lrde.epita.fr>

	bootstrap: fix wget command for po files.
	* build-aux/bootstrap (po_download_command_format): Fix comment,
	and adjust callers.

2018-10-13  Akim Demaille  <akim@lrde.epita.fr>

	timevar: improve the output format
	Suggested by Bruno Haible.
	See https://lists.gnu.org/archive/html/bug-gnulib/2018-10/msg00040.html.
	* lib/timevar.c (timevar_print): Use %7.3f for usr/sys and %11.6f for
	wall, since its resolution is much higher.

2018-10-13  Akim Demaille  <akim@lrde.epita.fr>

	timevar: expect that getrusage is available.
	Don't keep both times and getrusage as backend: both are guaranteed by
	gnulib, a single one suffices.  Using getrusage is open to possibly
	tracking other types of resources in the future.
	* modules/timevar (Depends-on): Add getrusage.
	(configure.ac): Remove gl_TIMEVAR.
	(Files): Remove m4/timevar.m4.
	* m4/timevar.m4: Remove, rely on gnulib for getrusage.
	* lib/timevar.h (timevar_enabled): Clarify documentation.
	* lib/timevar.c: Remove all the code about times.
	Remove all the CPP guards about getrusage: expect it to be present
	(courtesy of gnulib).

2018-10-12  Bruno Haible  <bruno@clisp.org>

	mountlist: Improve support for Solaris in 64-bit mode.
	Reported by David Wood <David.Wood@deshaw.com> in
	<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=6816>.
	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): On Solaris 8 or
	newer, define MOUNTED_GETEXTMNTENT instead of MOUNTED_GETMNTENT2.
	* lib/mountlist.c: Add code for MOUNTED_GETEXTMNTENT case.

2018-10-12  Bruno Haible  <bruno@clisp.org>

	mountlist: Add support for Minix.
	Reported by Assaf Gordon in
	<https://lists.gnu.org/archive/html/bug-gnulib/2014-09/msg00074.html>.
	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use
	AC_CHECK_FUNCS to check for 'getmntinfo'.
	* lib/mountlist.c: Update comments.

2018-10-12  Bruno Haible  <bruno@clisp.org>

	Make better use of Autoconf.
	* m4/environ.m4: Use AC_CACHE_CHECK where possible.
	* m4/manywarnings.m4: Likewise.
	* m4/manywarnings-c++.m4: Likewise.
	* m4/socklen.m4: Likewise.
	* m4/sockpfaf.m4: Likewise.
	* m4/stdarg.m4: Likewise.
	* m4/visibility.m4: Likewise.
	* m4/fsusage.m4: Use AC_CACHE_CHECK where possible. Modernize
	indentation.
	* m4/ls-mntd-fs.m4: Likewise.

2018-10-11  Bruno Haible  <bruno@clisp.org>

	mountlist: Modernize platform lists.
	* m4/ls-mntd-fs.m4: Clarify which MOUNTED_* symbol applies to which
	platforms, deemphasizing the obsolete ones.
	* lib/mountlist.c: Likewise.

2018-10-11  Bruno Haible  <bruno@clisp.org>

	getprogname: Add support for 32-bit programs on HP-UX.
	* lib/getprogname.c (getprogname) [HP-UX]: If pstat_getproc fails,
	try the similar functions 32-bit programs on 64-bit HP-UX.

2018-10-11  Bruno Haible  <bruno@clisp.org>

	getprogname: Work around program name truncation when possible.
	* lib/getprogname.c (getprogname) [HP-UX]: When pst_ucomm is truncated,
	possibly use pst_cmd instead.

2018-10-08  Paul Eggert  <eggert@cs.ucla.edu>

	fts: cleanup after FTS_NOATIME removal
	* lib/fts_.h (FTS_VERBATIM, FTS_OPTIONMASK, FTS_NAMEONLY)
	(FTS_STOP): Shrink to minimal values.  We don’t need to
	worry about binary compatibility in Gnulib, and the old way
	of doing things had a hole in the user options that caused
	FTS_OPTIONMASK to not work as desired.

2018-10-08  Bernhard Voelker  <mail@bernhard-voelker.de>

	fts: remove FTS_NOATIME
	This reverts commit da4d6974013c822af1498941e32db774b2031765.
	We cannot guarantee that O_NOATIME works: e.g. openat fails
	with EPERM if the effective user ID of the caller does not match
	the owner of the file and the caller is not privileged.
	Downstream findutils has never picked up FTS_NOATIME.  Discussed at
	<https://lists.gnu.org/r/bug-gnulib/2018-09/msg00122.html>.
	* lib/fts_.h (FTS_NOATIME): Remove bit flag.
	(FTS_OPTIONMASK): Adjust.
	* lib/fts.c (diropen, fts_open, fts_build): Likewise.
	(fd_ring_check): Likewise.

2018-10-08  Bruno Haible  <bruno@clisp.org>

	csharpcomp*, csharpexec*: Remove support for pnet.
	* m4/csharpcomp.m4 (gt_CSHARPCOMP): Don't test for cscc. Don't set
	HAVE_CSCC.
	* build-aux/csharpcomp.sh.in (options_cscc): Remove variable.
	Don't test HAVE_CSCC.
	* lib/csharpcomp.c (compile_csharp_using_pnet): Remove function.
	(compile_csharp_class): Don't invoke it.
	* m4/csharpexec.m4 (gt_CSHARPEXEC): Don't test for ilrun. Don't set
	HAVE_ILRUN.
	* build-aux/csharpexec.sh.in (options_ilrun): Remove variable.
	Don't test HAVE_ILRUN.
	* lib/csharpexec.c (execute_csharp_using_pnet): Remove function.
	(execute_csharp_program): Don't invoke it.
	* m4/csharp.m4 (gt_CSHARP_CHOICE): Don't recognize --enable-csharp=pnet
	any more.

2018-10-07  Andreas Henriksson  <andreas@fatal.se>  (tiny change)

	renameatu: prefer renameat2 to syscall
	* lib/renameatu.c (renameatu) [HAVE_RENAMEAT2]:
	Use renameat2 instead of syscall (Bug#32796).
	* m4/renameat.m4 (gl_FUNC_RENAMEAT): Check for renameat2.

2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>

	bootstrap, gnulib-tool: use https instead of insecure rsync
	* build-aux/bootstrap (download_po_files, po_download_command_format):
	Don't try using rsync; always use wget over https to fetch PO files.
	* gnulib-tool (func_import): Likewise.
	* pygnulib/GLImport.py (GLImport.execute): Likewise.

2018-10-07  Benno Schulenberg  <bensberg@telfort.nl>

	bootstrap, gnulib-tool: correct the translations wget command
	* build-aux/bootstrap (po_download_command_format2): Restrict
	recursion to a single level.
	* gnulib-tool (func_import): Likewise.
	* pygnulib/GLImport.py (GLImport.execute): Likewise.

2018-10-07  Akim Demaille  <akim@lrde.epita.fr>

	doc: the gnulib snapshots are not maintained
	* doc/gnulib-intro.texi (Steady Development): Don't mention them.

2018-10-07  Akim Demaille  <akim@lrde.epita.fr>

	timevar: add to lib_SOURCES
	* modules/timevar (lib_SOURCES): Add timevar.c and timevar.def.

2018-10-07  Bruno Haible  <bruno@clisp.org>

	dirent: Update documentation.
	* doc/posix-headers/dirent.texi: The MSVC issue is fixed by Gnulib.

2018-10-05  Bruno Haible  <bruno@clisp.org>

	strpbrk: Make it possible to namespace the defined symbol.
	* lib/strpbrk.c (strpbrk): Don't undefine outside of glibc.

2018-10-05  Bruno Haible  <bruno@clisp.org>

	strcspn: Make it possible to namespace the defined symbol.
	* lib/strcspn.c (strcspn): Don't undefine outside of glibc.

2018-10-05  Bruno Haible  <bruno@clisp.org>

	raise: Make it possible to namespace the defined symbol.
	* lib/raise.c (raise): Undefine only after the replacement function has
	been defined.
	(raise): Renamed from rpl_raise.
	(raise_nothrow): Move to the end of the compilation unit.

2018-10-05  Bruno Haible  <bruno@clisp.org>

	memcmp: Make it possible to namespace the defined symbol.
	* lib/memcmp.c (memcmp): Don't undefine outside of glibc.

2018-10-05  Bruno Haible  <bruno@clisp.org>

	explicit_bzero: Make it possible to namespace the defined symbol.
	* lib/explicit_bzero.c (explicit_bzero): Don't undefine outside of
	glibc.

2018-10-05  Bruno Haible  <bruno@clisp.org>

	mkdir-p: Depend on 'mkdir'.
	* modules/mkdir-p (Depends-on): Add 'mkdir'.

2018-10-05  Bruno Haible  <bruno@clisp.org>

	tempname: Depend on 'mkdir'.
	Reported by Maarten Bosmans <mkbosmans@gmail.com>
	at <https://savannah.gnu.org/bugs/?33379>.
	* modules/tempname (Depends-on): Add 'mkdir'.

2018-10-05  Akim Demaille  <akim@lrde.epita.fr>

	timevar: rely on gnulib modules for time portability.
	* modules/timevar (Depends-on): Add sys_time, sys_times, and times.
	* m4/timevar.m4: Don't check for clock_t and struct tms,
	guaranteed by gnulib.
	* lib/timevar.h: Use extern "C" protection.
	Include <stdio.h> for FILE.
	* lib/timevar.c: Include sys/time.h, sys/times.h unconditionally,
	they are guaranteed by gnulib.
	Remove uses of clock as (now useless) fallback.

2018-10-04  Bruno Haible  <bruno@clisp.org>

	sh-filename: New module.
	* m4/sh-filename.m4: New file.
	* modules/sh-filename: New file.
	* lib/spawni.c (_PATH_BSHELL): Use BOURNE_SHELL instead of hardcoding
	"/bin/sh".
	* tests/test-posix_spawn1.c (main): Likewise.
	* tests/test-posix_spawn2.c (main): Likewise.
	* lib/javacomp.c (compile_using_envjavac, is_envjavac_gcj,
	is_envjavac_gcj43): Likewise.
	* lib/javaexec.c (execute_java_class): Likewise.
	* modules/posix_spawn-internal (Depends-on): Add sh-filename.
	* modules/posix_spawnp-tests (Depends-on): Likewise.
	* modules/javacomp (Depends-on): Likewise.
	* modules/javaexec (Depends-on): Likewise.

2018-10-04  Bruno Haible  <bruno@clisp.org>

	spawn-pipe tests: Avoid test failure on native Windows.
	* tests/test-spawn-pipe-child.c (main): On native Windows, don't expect
	that fd 2 is closed.

2018-10-04  Bruno Haible  <bruno@clisp.org>

	fcntl: Make it possible to namespace the defined symbol.
	* lib/fcntl.c (fcntl): Undefine only after the replacement function has
	been defined.
	(fcntl): Renamed from rpl_fcntl.
	(rpl_fcntl_DUPFD, rpl_fcntl_DUPFD_CLOEXEC): New functions, extracted
	from fcntl.
	(klibc_fcntl): Move to the end of the compilation unit.

2018-10-02  Bruno Haible  <bruno@clisp.org>

	vasnprintf tests: Avoid test failure on HP-UX/hppa and IRIX.
	* tests/test-vasnprintf.c (test_function): Change the test added on
	2018-09-23 to check only the 18 most significant digits.

	vasnprintf tests: Avoid test failure on Cygwin.
	* tests/test-vasnprintf.c (test_function): Change the test added on
	2018-09-23 to check only the 42 most significant digits.

2018-10-01  Bruno Haible  <bruno@clisp.org>

	mkostemp, mkostemps: Update documentation.
	* doc/glibc-functions/mkostemp.texi: Mention the Mac OS X issue.
	* doc/glibc-functions/mkostemps.texi: Likewise.

2018-10-01  Tom Tromey  <tom@tromey.com>

	mkostemp, mkostemps: Fix compilation error in C++ mode on Mac OS X.
	* lib/stdlib.in.h: Include <unistd.h> for mkostemp and mkostemps
	on OS X.

2018-09-30  Pádraig Brady  <P@draigBrady.com>

	hmac-*: refactor to remove repetitive code
	* lib/hmac.c: A new parameterized single implementation.
	* lib/hmac-md5.c: Define parameters and include implementation.
	* lib/hmac-sha1.c: Likewise.
	* lib/hmac-sha256.c: Likewise.
	* lib/hmac-sha512.c: Likewise.
	* modules/crypto/hmac-md5: Reference the new implementation file.
	* modules/crypto/hmac-sha1: Likewise.
	* modules/crypto/hmac-sha256: Likewise.
	* modules/crypto/hmac-sha512: Likewise.
	* tests/test-hmac-md5.c: Refactor common code to a single function.
	* tests/test-hmac-sha1.c: Likewise.
	* tests/test-hmac-sha256.c: Likewise.
	* tests/test-hmac-sha512.c: Likewise.

2018-09-30  Zhang Qing  <zhangqingl@126.com>

	hmac-sha512: fix hash for keys > blocksize (128 bytes)
	* lib/hmac-sha512.c (hmac_sha512): Set the computed/shortened
	key length to that output by sha512, not the blocksize.
	Otherwise uninitialized data from the stack
	is used when computing the hash.
	* tests/test-hmac-sha512.c: Add a shortened key test case.
	Reported at https://github.com/coreutils/gnulib/pull/5

2018-09-30  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Avoid warnings from GCC's -Wsign-compare.
	Reported by Bjarni Ingi Gislason <bjarniig@rhi.hi.is> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00105.html>.
	* lib/vasnprintf.c (VASNPRINTF): Cast 'count' from 'int' to
	'unsigned int' before comparison with an unsigned value.

2018-09-30  Bruno Haible  <bruno@clisp.org>

	grantpt: Remove unnecessary dependency.
	* modules/grantpt (Depends-on): Remove 'builtin-expect'.

2018-09-30  Bruno Haible  <bruno@clisp.org>

	timevar: Small tweaks.
	* lib/timevar.h: Fix comments. Add parameter names to function
	declarations.
	* lib/timevar.c: Include timevar.h immediately after config.h.
	* lib/timevar.def: Fix comments.
	* modules/timevar (Maintainer): List Akim Demaille.

2018-09-30  Bruno Haible  <bruno@clisp.org>

	timevar: Include documentation in gnulib manual.
	* doc/timevar.texi: Change node and section name to 'Profiling of
	program phases'.
	In the code snippets, tweak the #includes and use GNU coding style.
	* doc/gnulib.texi: Include timevar.texi.

2018-09-27  Akim Demaille  <akim@lrde.epita.fr>

	timevar: import from Bison.
	* m4/timevar.m4, modules/timevar, lib/timevar.h, lib/timevar.c:
	New files.
	* lib/timevar.def: New file.
	* doc/timevar.texi: New file.

2018-09-26  Bruno Haible  <bruno@clisp.org>

	javacomp-script, javacomp: Add preliminary support for Java 12..17.
	* m4/javacomp.m4 (gt_JAVACOMP): Treat Java versions 12..17 like 11.
	* lib/javacomp.c (default_target_version): Likewise.

2018-09-26  Bruno Haible  <bruno@clisp.org>

	javacomp-script, javacomp: Add support for Java 11.
	* m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 11 and
	target-version 11.
	* lib/javaversion.h: Update comments.
	* lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
	source_version_index, get_goodcode_snippet, get_failcode_snippet,
	TARGET_VERSION_BOUND, target_version_index,
	corresponding_classfile_version): Accept source_version 11 and
	target_version 11.
	* lib/javacomp.h: Update comments accordingly.

2018-09-23  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Fix heap memory overrun bug.
	Reported by Ben Pfaff <blp@cs.stanford.edu> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00107.html>.
	* lib/vasnprintf.c (convert_to_decimal): Allocate one more byte of
	memory.
	* tests/test-vasnprintf.c (test_function): Add another test.

2018-09-19  Paul Eggert  <eggert@cs.ucla.edu>

	maint: mktime.c now shared with glibc
	* config/srclist.txt: intprops.h, timegm.c and mktime.c
	are now the same in Gnulib and glibc.

	mktime: fix _LIBC typo
	* lib/mktime.c (mktime): Fix typo (misspelled "_LIBC").

2018-09-19  Norihiro Tanaka  <noritnk@kcn.ne.jp>

	dfa: optimization for state merge
	* lib/dfa.c (merge2): New function.
	(merge_nfa_state): Use it.

2018-09-18  Jim Meyering  <meyering@fb.com>

	dfa: trivial comment fix: s/is/if/
	* lib/dfa.c (maybe_disable_superset_dfa): Fix comment typo.

2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: use more-informative function name
	* lib/dfa.c (maybe_disable_superset_dfa):
	Rename from dfautf8noss.  Use change.

	dfa: tweak allocation performance
	* lib/dfa.c (merge_nfa_state, dfaoptimize):
	Prefer ptrdiff_t for indexes some more.
	Use char for flags, as it’s wide enough.
	Allocate queue and flags together, with one malloc call.
	No need to use xnmalloc since the multiplication and
	addition cannot overflow (it’s already been checked by
	earlier allocation).  Prefer memset to open-coding.

	dfa: prune states as we go
	* lib/dfa.c (prune): Remove.
	dfa: reorder enum for efficiency
	(merge_nfa_state): Prune as we go instead of at the end.
	Prefer ptrdiff_t for indexes, as this helps the compiler a bit.

	* lib/dfa.c (END): Now -1 again.  Reorder other elements
	of the enumeration to make it easier for GCC to generate
	efficient code by using fewer comparisons to check for
	ranges of values.
	(atom): Take advantage of the reordering.

2018-09-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>

	dfa: optimize alternation in NFA
	Even when similar states exist in alternation, the DFA treats them
	as separate items, which may complicate the transition in NFA and
	cause slowdown.  This change assembles the states into one.  For
	example, ab|ac is changed into a(b|c).  This change speeds-up
	matching for many branched patterns.  For example, grep speeds up
	more than 30× in:

	  seq 10000 | sed 's/$/ abcdefghijklmnopqrstuvwxyz/; s/$/./' >in
	  time -p env LC_ALL=C grep -vf in in

	* lib/dfa.c (prune): New function.
	(merge_nfa_state): New function.  It merges similar NFA states.
	(dfaoptimize): New function.  It seeks merged and removed nodes.
	(dfaanalyze): Call new function.
	(dfautf8noss): Change name from dfaoptimize because of addition of new
	function.
	(dfacomp): Update caller.

	dfa: simplify initial state
	Simplifying the initial state enables easier optimization of the NFA.
	* lib/dfa.c (enum token): Add new element BEG.
	(prtok): Adjust due to adding element BEG.
	(dfaparse): Put BEG at a head of tokens.
	(state_index): Adjust due to adding element BEG.
	(dfaanalyze): Concatenate BEG to other tokens, and simplify to
	build initial state.
	(dfamust): Adjust due to adding element BEG.  DFAMUST ignores it.

2018-09-18  Bruno Haible  <bruno@clisp.org>

	file-has-acl: Fix test failure on Cygwin 2.9.
	* m4/acl.m4 (gl_FUNC_ACL): Update comments regarding Cygwin.
	* lib/acl-internal.h: Likewise.
	(HAVE_ACL_EXTENDED_FILE): Undefine on Cygwin.
	* lib/acl-internal.c: Update comments regarding Cygwin.
	* lib/acl_entries.c: Likewise.
	* lib/file-has-acl.c: Likewise.
	(file_has_acl): For Cygwin, use a different way to determine whether
	the "default" ACL of a directory is nontrivial.
	* lib/get-permissions.c: Update comments regarding Cygwin.
	* lib/set-permissions.c: Likewise.

2018-09-18  Bruno Haible  <bruno@clisp.org>

	stat-time tests: Fix test failure on Cygwin.
	* tests/nap.h (nap_get_stat): Treat Cygwin like native Windows.

2018-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	doc: OS X 10.11 lacked ns time functions
	According to <https://github.com/zeromq/libzmq/issues/2175>,
	nanosecond-resolution timestamp functions were introduced
	in macOS 10.12, so document the last version (OS X 10.11)
	where they were absent.

	gettime: nanotime never existed
	Problem reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2018-09/msg00082.html
	* lib/gettime.c (gettime) [HAVE_NANOTIME]: Remove unused code.
	* m4/gettime.m4 (gl_GETTIME): Don’t check for nanotime.

2018-09-18  Bruno Haible  <bruno@clisp.org>

	doc: Update statement about target platforms.
	Reported by Simon Sobisch.
	* doc/gnulib-intro.texi (Target Platforms): Update. Mention
	restrictions on MSVC versions.

2018-09-18  Bruno Haible  <bruno@clisp.org>

	posix_spawn tests: Fix link error on 64-bit Cygwin.
	* tests/test-posix_spawn1.c (environ): Remove declaration.
	* tests/test-posix_spawn2.c (environ): Likewise.
	* tests/test-posix_spawn3.c (environ): Likewise.
	* tests/test-posix_spawn4.c (environ): Likewise.
	* modules/posix_spawn-tests (Depends-on): Add 'environ'.
	* modules/posix_spawnp-tests (Depends-on): Likewise.

2018-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	timespec: new function current_timespec
	* lib/gettime.c (gettime): Prefer clock_gettime to nanotime,
	and don’t worry about it failing on a CLOCK_REALTIME arg.
	POSIX requires it to succeed and I don’t know of any
	counterexamples where the fallbacks would work.
	(current_timespec): New function, taken from Emacs.  It is more
	convenient than gettime, and can help register allocation.
	* lib/timespec.h: Include arg-nonnull.h.
	(current_timespec): New declaration.
	(gettime, settime): Declare args to be nonnull.
	* modules/timespec (Depends-on): Add snippet/arg-nonnull.

2018-09-16  Bruno Haible  <bruno@clisp.org>

	setlocale: Improve locale handling on macOS 10.12 or newer.
	* lib/setlocale.c: Include header files for CoreFoundation. Declare
	gl_locale_name_canonicalize.
	(libintl_setlocale): Try harder to set a locale for categories LC_CTYPE
	and LC_MESSAGES.
	* m4/setlocale.m4 (gl_PREREQ_SETLOCALE): Add comment.

2018-09-16  Bruno Haible  <bruno@clisp.org>

	Update list of locale names with scripts on macOS.
	* lib/localename.c (gl_locale_name_canonicalize): Update tables to
	match Mac OS X 10.13 and recent glibc.

2018-09-16  Bruno Haible  <bruno@clisp.org>

	gettext: Use newer macOS APIs when possible.
	* m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
	CFLocaleCopyPreferredLanguages.

2018-09-16  Bruno Haible  <bruno@clisp.org>

	localename: Revisit macOS specific code.
	* lib/localename.c (gl_locale_name_default): Reduce code duplication.
	Fix comments about Mac OS X versions.

2018-09-15  Bruno Haible  <bruno@clisp.org>

	setlocale: Improve support for locales not supported by libc.
	Reported by Dapeng Gao <peter@dpgao.cc> at
	<https://savannah.gnu.org/bugs/?54479>.
	* gettext-runtime/intl/setlocale.c: Include <stdio.h>.
	(libintl_setlocale): Use a more error-tolerant strategy when the locale
	to be set is not supported by libc: Emit warnings instead of failing.

2018-09-15  Bruno Haible  <bruno@clisp.org>

	strstr, strcasestr: Add workaround against glibc-2.28 bug.
	Reported by Michael Brunnbauer via Siddhesh Poyarekar and Eric Blake.
	* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Set
	gl_cv_func_strstr_works_always to 'no' on glibc 2.28.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Set
	gl_cv_func_strcasestr_works_always to 'no' on glibc 2.28.
	* doc/posix-functions/strstr.texi: Document the glibc 2.28 bug.
	* doc/glibc-functions/strcasestr.texi: Likewise.

2018-09-14  Bruno Haible  <bruno@clisp.org>

	doc: Fix bottom of top-level page.
	Reported by Akim Demaille <akim.demaille@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00072.html>.
	* doc/pastposix-functions/index.texi: Rename node to '_index' in HTML
	mode.
	* doc/gnulib.texi (Legacy Function Substitutes): Update menu
	accordingly.

2018-09-12  Bruno Haible  <bruno@clisp.org>

	Add test case from a recent glibc bug.
	* tests/test-strstr.c (main): Add test of long needle.
	* tests/test-strcasestr.c (main): Likewise.
	* tests/test-c-strstr.c (main): Likewise.
	* tests/test-c-strcasestr.c (main): Likewise.
	* tests/test-memmem.c (main): Likewise.

2018-09-12  Bruno Haible  <bruno@clisp.org>

	Apply Eric Blake's improvements from 2011-02-25 to more tests.
	* tests/test-c-strstr.c (main): Add the same tests here as well.

2018-09-12  Bruno Haible  <bruno@clisp.org>

	Apply Jim Meyering's fix from 2015-01-11 to more tests.
	* tests/test-memmem.c (main): Free haystack.
	* tests/test-strcasestr.c (main): Likewise.
	* tests/test-c-strcasestr.c (main): Likewise.

2018-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	xstrtol: fix missing-TYPE_SIGNED typo
	* lib/xstrtol.c (TYPE_SIGNED): New macro, duplicating intprops.h.

2018-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	timespec: fix resolution confusion
	In normal usage, clock resolution is given in seconds, but the
	code was mistakenly using inverse seconds and calling it
	“resolution”.  Fix this, partly by renaming two identifiers.
	The old names will be kept for a bit, to ease transition.
	* lib/timespec.h (TIMESPEC_HZ, LOG10_TIMESPEC_HZ):
	New constants, replacing TIMESPEC_RESOLUTION and
	LOG10_TIMESPEC_RESOLUTION, which are now obsolescent.
	All uses changed.

2018-09-09  Paul Eggert  <eggert@cs.ucla.edu>

	mktime: simplify in prep for glibc merge
	* lib/mktime.c, lib/timegm.c [_LIBC]:
	Include mktime-internal.h (a small file just for glibc)
	instead of using a typedef.

2018-09-07  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: minor clarification of code
	* lib/intprops.h (_GL_BINARY_OP_OVERFLOW):
	Use _GL_INT_CONVERT rather than reinventing it.

2018-09-07  Bruno Haible  <bruno@clisp.org>

	Fix a comment.
	* tests/test-posix_spawn3.c (parent_main): Fix typo in comment.

2018-09-07  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addchdir: Add tests.
	* tests/test-posix_spawn_file_actions_addchdir.c: New file.
	* tests/test-posix_spawn4.c: New file.
	* modules/posix_spawn_file_actions_addchdir-tests: New file.

2018-09-07  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_addchdir: New module.
	Suggested by Eric Blake in
	<https://lists.gnu.org/archive/html/bug-findutils/2018-09/msg00007.html>.
	* lib/spawn.in.h (posix_spawn_file_actions_addchdir): New declaration.
	* lib/spawn_int.h (struct __spawn_action): Add tag 'spawn_do_chdir' and
	union member 'chdir_action'.
	* lib/spawn_faction_addchdir.c: New file.
	* lib/spawni.c (__spawni): Implement the spawn_do_chdir action.
	* lib/spawn_faction_addclose.c: Test REPLACE_POSIX_SPAWN instead of
	HAVE_WORKING_POSIX_SPAWN.
	* lib/spawn_faction_adddup2.c: Likewise.
	* lib/spawn_faction_addopen.c: Likewise.
	* m4/posix_spawn_faction_addchdir.m4: New file.
	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether module
	'posix_spawn_file_actions_addchdir' is present and whether
	posix_spawn_file_actions_addchdir_np exists. Define REPLACE_POSIX_SPAWN
	instead of HAVE_WORKING_POSIX_SPAWN.
	* m4/spawn_h.m4 (gl_SPAWN_H): Test whether
	posix_spawn_file_actions_addchdir is declared.
	(gl_SPAWN_H_DEFAULTS): Initialize
	GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
	HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
	* modules/spawn (Makefile.am): Substitute
	GNULIB_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
	HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR,
	REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR.
	* modules/posix_spawn_file_actions_addchdir: New file.
	* modules/posix_spawn_file_actions_addclose (Depends-on,
	configure.ac): Test also REPLACE_POSIX_SPAWN.
	* modules/posix_spawn_file_actions_adddup2 (Depends-on,
	configure.ac): Likewise.
	* modules/posix_spawn_file_actions_addopen (Depends-on,
	configure.ac): Likewise.
	* tests/test-spawn-c++.cc (posix_spawn_file_actions_addchdir): Check
	signature.
	* doc/posix-functions/posix_spawn.texi: Mention the new module.
	* doc/posix-functions/posix_spawnp.texi: Likewise.

2018-09-06  Bruno Haible  <bruno@clisp.org>

	stddef: Override max_align_t on NetBSD 8.0/x86.
	* m4/stddef_h.m4 (gl_STDDEF_H): When testing for max_align_t, test also
	the value of __alignof__ (max_align_t).
	* doc/posix-headers/stddef.texi: Mention the issue.

2018-09-06  Bruno Haible  <bruno@clisp.org>

	fcntl: Fix F_DUPFD_CLOEXEC behaviour on Haiku.
	* lib/fcntl.c (rpl_fcntl): For F_DUPFD_CLOEXEC, don't even try the
	system fcntl.
	* doc/posix-functions/fcntl.texi: Document the issue.

2018-09-06  Bruno Haible  <bruno@clisp.org>

	count-trailing-zeros tests: Rely on limits-h module.
	* tests/test-count-trailing-zeros.c (ULLONG_MAX): Remove fallback
	definition.
	* modules/count-trailing-zeros-tests (Depends-on): Add 'limits-h'.

2018-09-06  Bruno Haible  <bruno@clisp.org>

	count-leading-zeros tests: Rely on limits-h module.
	* tests/test-count-leading-zeros.c (ULLONG_MAX): Remove fallback
	definition.
	* modules/count-leading-zeros-tests (Depends-on): Add 'limits-h'.

2018-09-06  Bruno Haible  <bruno@clisp.org>

	count-one-bits tests: Rely on limits-h module.
	* tests/test-count-one-bits.c (ULLONG_MAX): Remove fallback definition.
	* modules/count-one-bits-tests (Depends-on): Add 'limits-h'.

2018-09-06  Bruno Haible  <bruno@clisp.org>

	xstrtoll: Rely on limits-h module.
	* lib/xstrtol.c: Don't include intprops.h.
	(ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
	* modules/xstrtol (Depends-on): Remove 'intprops'.
	* modules/xstrtoll (Depends-on): Add 'limits-h'.

2018-09-06  Bruno Haible  <bruno@clisp.org>

	strtoll, strtoull: Rely on limits-h module.
	* lib/strtol.c (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove macros.
	(ULLONG_MAX, LLONG_MAX, LLONG_MIN): Remove fallback definitions.
	* modules/strtoll (Depends-on): Add limits-h.
	* modules/strtoull (Depends-on): Likewise.

2018-09-06  Bruno Haible  <bruno@clisp.org>

	intprops tests: Fix compilation error with pre-C99 compiler.
	* tests/test-intprops.c (verify_stmt): New macro.
	(VERIFY, main): Use it.

2018-09-06  Bruno Haible  <bruno@clisp.org>

	limits-h: Provide numerical limits macros.
	* lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define also for
	IRIX and for GCC.
	(WORD_BIT, LONG_BIT): Define.
	* m4/limits-h.m4 (gl_LIMITS_H): Set LIMITS_H to non-empty also when
	<limits.h> does not define LLONG_MAX or WORD_BIT.
	* tests/test-limits-h.c (TYPE_SIGNED, TYPE_WIDTH, TYPE_MINIMUM,
	TYPE_MAXIMUM): New macros, from intprops.h.
	Add tests for CHAR_BIT, WORD_BIT, LONG_BIT, <type>_MIN, and <type>_MAX.
	* doc/posix-headers/limits.texi: Document what the 'limits-h' module
	provides.

2018-09-05  Bruno Haible  <bruno@clisp.org>

	fcntl: Don't access nonexistent optional argument.
	Reported by Frank Busse <f.busse@imperial.ac.uk> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00018.html>.
	* lib/fcntl.c (rpl_fcntl): For actions that don't take an argument,
	don't consume an argument. For actions that take an 'int' argument,
	consume an 'int' argument.

2018-09-05  Eric Blake  <eblake@redhat.com>

	doc: mention environ pitfall
	* doc/posix-functions/environ.texi (environ): Assigning NULL to
	environ is a glibc extension.

2018-09-03  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix build order when $testsbase is a subdir of $sourcebase.
	Reported by Antoine Luong <antoine.luong@c-s.fr> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-09/msg00008.html>.
	* gnulib-tool (func_import): For the tests, set a dotfirst flag.
	(func_emit_lib_Makefile_am): Consider the dotfirst flag.
	(func_emit_tests_Makefile_am): Don't consider the dotfirst flag.

2018-09-02  Paul Eggert  <eggert@cs.ucla.edu>

	mktime: fix unlikely race+overflow bug
	Problem reported by Alexandre Oliva in:
	https://sourceware.org/bugzilla/show_bug.cgi?id=16346
	* lib/mktime.c (__mktime_internal): Access *OFFSET only once,
	to avoid an unlikely race if the compiler delays a load and
	if this cascades into a signed integer overflow.

2018-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	mktime, timegm: simplify glibc time64_t
	* lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]:
	Now long int, not time_t, since long int is the longstanding type
	for this in glibc and there is no need to change it even if time_t
	becomes 64 bits - even int would do, though this would be a change
	to the glibc generated code.  When this change is merged into
	glibc, it should simplify the time_t vs time64_t situation.

	mktime, timegm: simplify merge to glibc
	Move code around to make a merge to glibc easier to audit.
	This should not change behavior.
	* lib/mktime.c (NEED_MKTIME_INTERNAL, NEED_MKTIME_WINDOWS)
	(NEED_MKTIME_WORKING): Give default values to pacify -Wundef,
	which glibc uses.  Default NEED_MKTIME_WORKING to DEBUG_MKTIME, to
	simplify later conditionals; default the others to zero.  In uses
	of these conditionals, explicitly spell out how _LIBC affects
	things, so it’s easier to review from a glibc viewpoint.
	(my_tzset, __tzset) [!_LIBC]: New function and macro, to better
	compartmentalize tzset issues.  Move system-dependent tzsettish
	code here from mktime.
	(mktime): Move tzsettish code to my_tzset, and move
	localtime_offset to within mktime so that it doesn’t
	need a separate ifdef.

2018-08-27  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: avoid evaluation of some expressions
	This makes EXPR_SIGNED (e) easier to use, as it no longer
	evaluates the expression E.  Formerly, E was required to be free
	of side effects.
	* lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT)
	(EXPR_SIGNED, TYPE_WIDTH, _GL_INT_MINIMUM, _GL_INT_MAXIMUM)
	(_GL_SIGNED_INT_MAXIMUM): Do not evaluate the expression arg.

2018-08-23  Bruno Haible  <bruno@clisp.org>

	getcwd: Add cross-compilation guesses.
	Reported by Sergio Durigan Junior <sergiodj@redhat.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00130.html>.
	Based on a patch by Paul Eggert.
	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Add cross-compilation
	guesses for all GNU systems.

2018-08-19  Bruno Haible  <bruno@clisp.org>

	glob-h: Formalize side effects from other modules.
	* m4/glob_h.m4 (gl_REPLACE_GLOB_H): New macro.
	* m4/glob.m4 (gl_GLOB): Invoke it.

	fnmatch-h: Formalize side effects from other modules.
	* m4/fnmatch_h.m4 (gl_REPLACE_FNMATCH_H): New macro.
	* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Invoke it.

	limits-h: Formalize side effects from other modules.
	* m4/limits-h.m4 (gl_REPLACE_LIMITS_H): New macro.
	* m4/stdint.m4 (gl_STDINT_H): Invoke it.

2018-08-19  Bruno Haible  <bruno@clisp.org>

	getpass: Move declaration to <unistd.h>.
	* lib/unistd.in.h (getpass): New declaration.
	* lib/getpass.h: Replace with a stub that just includes <unistd.h>.
	* m4/getpass.m4 (gl_FUNC_GETPASS): Declare through AC_DEFUN_ONCE.
	Require gl_UNISTD_H_DEFAULTS. Don't test whether getpass is declared.
	(gl_FUNC_GETPASS_GNU): Require gl_UNISTD_H_DEFAULTS and gl_FUNC_GETPASS.
	On glibc systems, don't set REPLACE_GETPASS to 1.
	* modules/getpass (Depends-on): Add 'unistd'.
	(configure.ac): Test also REPLACE_GETPASS. Define a module indicator.
	(Include): Specify <unistd.h> instead of "getpass.h".
	* modules/getpass-gnu (Depends-on): Merely depend on 'getpass'.
	(configure.ac): Sync with the configure.ac section of modules/getpass.
	(Include): Specify <unistd.h> instead of "getpass.h".
	* m4/unistd_h.m4 (gl_UNISTD_H): Test whether getpass is declared.
	(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPASS, HAVE_GETPASS,
	REPLACE_GETPASS.
	* modules/unistd (Makefile.am): Substitute GNULIB_GETPASS, HAVE_GETPASS,
	REPLACE_GETPASS.
	* tests/test-unistd-c++.cc: Test also the declaration of 'getpass'.
	* doc/glibc-functions/getpass.texi: A length limit exists also on uClibc
	and musl.
	* NEWS: Mention the change.

2018-08-19  Bruno Haible  <bruno@clisp.org>

	glob: Fix over-optimization due to attribute __nonnull__.
	* lib/glob.c (_GL_ARG_NONNULL): Define to empty.

2018-08-19  Bruno Haible  <bruno@clisp.org>

	glob: Fix another compilation error when glob.h is not replaced.
	Reported by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00112.html>.
	* m4/glob.m4 (gl_GLOB): Set GLOB_H to non-empty when needed.
	* m4/glob_h.m4 (gl_GLOB_H): Define through AC_DEFUN_ONCE.

2018-08-18  Bruno Haible  <bruno@clisp.org>

	fnmatch: Avoid conflicting macro definitions of 'fnmatch'.
	Reported by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00108.html>.
	* m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Don't define 'fnmatch' as a macro
	in config.h.

2018-08-18  Bruno Haible  <bruno@clisp.org>

	Avoid -Wcast-function-type warnings from casts after GetProcAddress.
	Reported by Andy Moreton <andrewjmoreton@gmail.com> in
	<https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00468.html>.
	Solution proposed by Eli Zaretskii.
	* lib/getaddrinfo.c (GetProcAddress): Cast result to 'void *' first.
	* lib/gettimeofday.c (GetProcAddress): Likewise.
	* lib/link.c (GetProcAddress): Likewise.
	* lib/physmem.c (GetProcAddress): Likewise.
	* lib/poll.c (GetProcAddress): Likewise.
	* lib/select.c (GetProcAddress): Likewise.
	* lib/stat-w32.c (GetProcAddress): Likewise.

2018-08-18  Bruno Haible  <bruno@clisp.org>

	glob: Fix another compilation error when glob.h is not replaced.
	Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> again.
	* lib/globfree.c: Include <libc-config.h>.

2018-08-18  Bruno Haible  <bruno@clisp.org>

	glob: Fix compilation error when glob.h is not replaced.
	Reported and fix proposed by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00096.html>.
	* lib/glob_pattern_p.c: Include <libc-config.h>.
	* modules/glob (Depends-on): Add libc-config.

2018-08-18  Bruno Haible  <bruno@clisp.org>

	scratch_buffer: Add tests.
	* tests/test-scratch-buffer.c: New file.
	* modules/scratch_buffer-tests: New file.

2018-08-18  Bruno Haible  <bruno@clisp.org>

	scratch_buffer: Fix include file.
	Reported by Reuben Thomas <rrt@sc3d.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00082.html>.
	* lib/scratch_buffer.h: Include <libc-config.h> first. Add
	double-inclusion guard.

2018-08-18  Bruno Haible  <bruno@clisp.org>

	glob-h: Revert Paul Eggert's revert.
	* m4/glob_h.m4: Revert to previous state.
	* modules/glob-h: Likewise.

2018-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	glob-h: always build glob.h
	This works around a problem reported by Reuben Thomas in:
	http://lists.gnu.org/r/bug-gnulib/2018-08/msg00079.html
	This workaround always builds glob.h, even on platforms that
	do not need it; perhaps this could be improved someday.
	* m4/glob_h.m4 (gl_GLOB_H): Do not set or use GLOB_H, since glob.h
	is always created now.
	* modules/glob-h (BUILT_SOURCES, glob.h): Always build glob.h.

2018-08-13  Bruno Haible  <bruno@clisp.org>

	monetary: Simplify m4 code.
	* m4/monetary_h.m4 (gl_MONETARY_H): Define through AC_DEFUN_ONCE.
	(gl_MONETARY_H_BODY): Inline into gl_MONETARY_H. Remove macro.

2018-08-13  Bruno Haible  <bruno@clisp.org>

	fnmatch, fnmatch-gnu: Fix compilation error on Mac OS X.
	Reported by Jeroen Meijer <jjgmeijer@gmail.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00046.html>
	and by Paul J. Lucas <paul@lucasmail.org> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00069.html>.
	* m4/fnmatch_h.m4 (gl_FNMATCH_H): Define through AC_DEFUN_ONCE.

2018-08-11  Bruno Haible  <bruno@clisp.org>

	setlocale: Trivial simplification.
	* lib/setlocale.c (setlocale_unixlike): Remove redundant #if.

2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	verify: port 'assume' to traditional tools
	* lib/verify.h (assume): Port better to Oracle Studio 12.6
	and other tools that use /*NOTREACHED*/ comments.

2018-08-10  Bruno Haible  <bruno@clisp.org>

	fnmatch-gnu: Fix compilation error in C++ namespace mode on Mac OS X.
	* modules/fnmatch-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/fnmatch.in.h (fnmatch): Skip _GL_CXXALIASWARN if module
	'fnmatch-gnu' is in use.

2018-08-07  Bruno Haible  <bruno@clisp.org>

	glob-h: Add tests.
	* tests/test-glob-h.c: New file, partially based on tests/test-glob.c.
	* tests/test-glob.c: Reorder #includes. Remove tests that are moved to
	tests/test-glob-h.c.
	* modules/glob-h-tests: New file.
	* tests/test-glob-h-c++.cc: Renamed from tests/test-glob-c++.cc. Add
	conditions.
	* modules/glob-h-c++-tests: Renamed from modules/glob-c++-tests.
	* modules/glob-tests (Depends-on): Remove glob-c++-tests.

2018-08-07  Bruno Haible  <bruno@clisp.org>

	glob-h: New module.
	* lib/glob.in.h: Use nearly the usual gnulib idioms for header file
	replacements.
	* lib/glob.c: Include <config.h>.
	* m4/glob_h.m4: New file.
	* m4/glob.m4 (gl_GLOB): Require gl_GLOB_H. Remove code that is moved to
	glob_h.m4. Set HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
	REPLACE_GLOB_PATTERN_P as appropriate.
	(gl_PREREQ_GLOB): Don't require AC_C_RESTRICT and
	AC_USE_SYSTEM_EXTENSIONS, now done through module 'glob-h'.
	* modules/glob-h: New file.
	* modules/glob (Files): Remove lib/glob.in.h, lib/glob-libc.h.
	(Dependencies): Add glob-h. Remove extensions, snippet/*, libc-config,
	lstat, sys_stat. Change conditions.
	(configure.ac): Test HAVE_GLOB, REPLACE_GLOB, HAVE_GLOB_PATTERN_P,
	REPLACE_GLOB_PATTERN_P. Set module indicator.
	(Makefile.am): Remove code that is moved to glob-h.
	* doc/posix-headers/glob.texi: Mention the 'glob-h' module.
	* modules/posixcheck (Depends-on): Add glob-h.

2018-08-06  Bruno Haible  <bruno@clisp.org>

	Force generation of substitute .h file when C++ support is enabled.
	* m4/ansi-c++.m4 (gl_ANSI_CXX): New macro.
	* modules/ansi-c++-opt (configure.ac): Just require gl_ANSI_CXX.
	* m4/fnmatch_h.m4 (gl_FNMATCH_H): If C++ support is enabled, set
	FNMATCH_H to non-empty.
	* m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If C++ support is enabled, set
	ICONV_H to non-empty.
	* m4/monetary_h.m4 (gl_MONETARY_H_BODY): If C++ support is enabled, set
	MONETARY_H to non-empty.
	* m4/utime_h.m4 (gl_UTIME_H): If C++ support is enabled, set UTIME_H to
	non-empty.

2018-08-06  Bruno Haible  <bruno@clisp.org>

	fnmatch-h: Fix test compilation error on mingw (regression from today).
	* lib/fnmatch.in.h: Fix conditions.

2018-08-06  Bruno Haible  <bruno@clisp.org>

	sys_resource: Relicense under LGPLv2+.
	John Malmberg's approval is in
	<https://lists.gnu.org/archive/html/bug-gnulib/2018-08/msg00031.html>.
	* modules/sys_resource (License): Change to LGPLv2+.

2018-08-06  Bruno Haible  <bruno@clisp.org>

	fnmatch-h: Add tests.
	* tests/test-fnmatch-h.c: New file.
	* modules/fnmatch-h-tests: New file.
	* tests/test-fnmatch-h-c++.cc: New file.
	* modules/fnmatch-h-c++-tests: New file.

2018-08-06  Bruno Haible  <bruno@clisp.org>

	fnmatch-h: New module.
	* lib/fnmatch.in.h: Use the usual gnulib idioms for header file
	replacements.
	(FNM_*): Don't redefine if fnmatch exists and we are not overriding it.
	(fnmatch): Use the usual gnulib idiom for function declarations. Enable
	'posixcheck' warning.
	* m4/fnmatch_h.m4: New file.
	* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Require gl_FNMATCH_H. Remove
	code that is moved to fnmatch_h.m4. When fnmatch does not exist, don't
	bother testing whether it is working. Set HAVE_FNMATCH, REPLACE_FNMATCH
	as appropriate.
	* modules/fnmatch-h: New file.
	* modules/fnmatch (Files): Remove lib/fnmatch.in.h.
	(Dependencies): Add fnmatch-h. Remove extensions, snippet/*. Change
	conditions.
	(configure.ac): Test HAVE_FNMATCH and REPLACE_FNMATCH. Set module
	indicator.
	(Makefile.am): Remove code that is moved to fnmatch-h.
	* modules/fnmatch-gnu (configure.ac): Test HAVE_FNMATCH and
	REPLACE_FNMATCH.
	* doc/posix-headers/fnmatch.texi: Mention the 'fnmatch-h' module.
	* modules/posixcheck (Depends-on): Add fnmatch-h.

2018-08-06  Bruno Haible  <bruno@clisp.org>

	Enable more C++ tests.
	* modules/inttypes-tests (Depends-on): Add inttypes-c++-tests.
	* modules/monetary-tests (Depends-on): Add monetary-c++-tests.
	* modules/strings-tests (Depends-on): Add strings-c++-tests.
	* modules/sys_resource-tests (Depends-on): Add sys_resource-c++-tests.
	* modules/utime-h-tests (Depends-on): Add utime-h-c++-tests.

2018-08-06  Bruno Haible  <bruno@clisp.org>

	getopt-posix, utime-h: Ensure the .h file gets regenerated when needed.
	* modules/getopt-posix (Makefile.am): Add Makefile dependency for
	getopt.h.
	* modules/utime-h (Makefile.am): Add Makefile dependency for utime.h.

2018-08-05  Bruno Haible  <bruno@clisp.org>

	utime-h: Generate header file when module 'posixcheck' is in use.
	* m4/utime_h.m4 (gl_UTIME_H): If module 'posixcheck' is in use, set
	UTIME_H to non-empty.

2018-08-05  Bruno Haible  <bruno@clisp.org>

	monetary: Generate header file when module 'posixcheck' is in use.
	* m4/monetary_h.m4 (gl_MONETARY_H_BODY): If module 'posixcheck' is in
	use, set MONETARY_H to non-empty.

2018-08-05  Bruno Haible  <bruno@clisp.org>

	iconv-h: Generate header file when module 'posixcheck' is in use.
	* m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): If module 'posixcheck' is in use,
	set ICONV_H to non-empty.

2018-08-05  Bruno Haible  <bruno@clisp.org>

	Optimize the "checking whether ... is declared without a macro" checks.
	Suggested by Paul Eggert in
	<https://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00339.html>.
	* m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Expand to nothing if the
	Gnulib module 'posixcheck' is not in use.

2018-08-05  Bruno Haible  <bruno@clisp.org>

	iconv-h: Enable 'posixcheck' warnings.
	* m4/iconv_h.m4 (gl_ICONV_H): Check for declarations of iconv and
	iconv_open.
	* lib/iconv.in.h (iconv_open, iconv): Use _GL_WARN_ON_USE.

2018-08-05  Bruno Haible  <bruno@clisp.org>

	Fix link error regarding 'rpl_environ' (regression from 2012-11-21).
	* m4/extern-inline.m4: Add more comments.
	* lib/warn-on-use.h (_GL_WARN_ON_USE_ATTRIBUTE): New macro.
	* lib/unistd.in.h (rpl_environ): Use it instead of _GL_WARN_ON_USE.
	* lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL): Likewise.

2018-08-04  Bruno Haible  <bruno@clisp.org>

	New module 'posixcheck'.
	* modules/posixcheck: New file.
	* m4/posixcheck.m4: New file.
	* doc/gnulib-tool.texi (Finding POSIX substitutes): New section.
	(Which modules?): Reference it.

2018-08-01  Assaf Gordon  <assafgordon@gmail.com>

	dfa: fix memory leak
	* lib/dfa.c (dfafree): Add missing free() on dfa->superset.

2018-08-01  Paul Eggert  <eggert@cs.ucla.edu>

	ieee754-h: new module
	It looks like Emacs can use this for some NaN processing.
	Emacs uses it only on double NaNs so it should be safe.
	* MODULES.html.sh (func_all_modules): Add ieee754-h.
	* config/srclist.txt: Mention ieee754.h in a comment.
	* doc/glibc-headers/ieee754.texi (ieee754.h):
	Gnulib now has a substitute that should work
	except for long double and for non-IEEE platforms.
	* lib/ieee754.in.h, m4/ieee754-h.m4, modules/ieee754-h:
	* modules/ieee754-h-tests, tests/test-ieee754-h.c: New files.

2018-07-27  Bruno Haible  <bruno@clisp.org>

	iswcntrl: Mention minor problem on macOS.
	* doc/posix-functions/iswcntrl.texi: Mention oddity on macOS.

2018-07-26  Colin Watson  <cjwatson@debian.org>

	bootstrap, gnulib-tool: fix translations rsync
	Previously, we created files such as $pobase/Makefile.in.in and then the
	subsequent rsync would immediately delete them.
	* build-aux/bootstrap (po_download_command_format): Avoid deleting
	non-.po files in target directory when rsyncing translations.
	* gnulib-tool (func_import): Likewise.
	* pygnulib/GLImport.py (GLImport.execute): Likewise.

2018-07-25  Jim Meyering  <meyering@fb.com>

	bootstrap: reinstate definition fo gnulib_mk.
	That variable is used at least by cppi.
	* build-aux/bootstrap (gnulib_mk): Restore definition.
	This reverts the deletion from v0.1-1844-gc66dba9ba.

2018-07-23  Bruno Haible  <bruno@clisp.org>

	doc: For module names, use texinfo markup @code{} or @samp{}.
	* doc/alloca.texi: Mark gnulib module names with @code.
	* doc/alloca-opt.texi: Likewise.
	* doc/quote.texi: Likewise.
	* doc/posix-functions/freopen.texi: Likewise.
	* doc/posix-functions/open.texi: Likewise.
	* doc/posix-functions/readlink.texi: Likewise.
	* doc/posix-functions/readlinkat.texi: Likewise.
	* doc/posix-functions/stdout.texi: Likewise.
	* doc/posix-functions/stderr.texi: Likewise.
	* doc/posix-functions/unlink.texi: Likewise.
	* doc/posix-functions/unlinkat.texi: Likewise.
	* doc/posix-functions/utime.texi: Likewise.
	* doc/posix-functions/utimensat.texi: Likewise.
	* doc/posix-functions/utimes.texi: Likewise.
	* doc/posix-headers/stdint.texi: Likewise.
	* doc/glibc-functions/futimesat.texi: Likewise.
	* doc/glibc-functions/lutimes.texi: Likewise.
	* doc/glibc-functions/memmem.texi: Likewise.

2018-07-23  Werner LEMBERG  <wl@gnu.org>

	doc: Avoid some overfull lines in the TeX output.
	* doc/glibc-functions/futimesat.texi: Replace a long @code with a
	@example.
	* doc/pastposix-functions/pthread_attr_getstackaddr.texi: Insert a
	newline before the long URL.
	* doc/pastposix-functions/pthread_attr_setstackaddr.texi: Likewise.
	* doc/relocatable-maint.texi: Use @smallexample instead of @example.
	Add line breaks in code snippets.

2018-07-17  Paul Eggert  <eggert@cs.ucla.edu>

	hard-locale: simplify by removing hard-locale.m4
	* m4/hard-locale.m4: Remove.
	* modules/hard-locale (Files): Remove m4/hard-locale.m4.
	(configure.ac): Do not call gl_HARD_LOCALE.

	gnulib-tool: limit line length for git send-email
	* gnulib-tool (func_import): Break actioncmd log line
	into multiple lines.

2018-07-16  Bruno Haible  <bruno@clisp.org>

	ffs: Ensure declaration on mingw.
	Reported by Daniel P. Berrangé <berrange@redhat.com>
	in https://lists.gnu.org/archive/html/bug-gnulib/2018-07/msg00061.html.
	* m4/ffs.m4 (gl_FUNC_FFS): Check whether ffs() not only exists but is
	also declared.

2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>

	regex-tests: add dependency
	* modules/regex-tests (Depends-on): Add gettext-h.
	This is needed given the recent changes to regex,
	which no longer depends on gettext-h.

2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	regex: now in sync with glibc
	* config/srclist.txt: Gnulib and glibc regex code
	are synchronized again.

2018-07-05  Paul Eggert  <eggert@cs.ucla.edu>

	renameatu: rename from renameat2
	It's looking like Glibc will add a renameat2 function
	that is incompatible with Gnulib renameat2; see:
	https://sourceware.org/ml/libc-alpha/2018-07/msg00064.html
	To help avoid future confusion, rename renameat2 to something else.
	Use the name 'renameatu', as the Gnulib function is close to the
	Glibc function.  Perhaps someday there will also be a renameat2
	Gnulib module, which mimicks the future glibc renameat2, but that
	can wait as nobody seems to need such a module now.
	* NEWS: Mention this.
	* lib/renameatu.c: Rename from lib/renameat2.c.
	* lib/renameatu.h: Rename from lib/renameat2.h.
	* modules/renameatu: Rename from modules/renameat2.
	* modules/renameatu-tests: Rename from modules/renameat2-tests.
	All uses of "renameat2" in identifiers or file name
	changed to "renameatu", except for two instances in
	lib/renameatu.c that deal with the Linux kernel's
	renameat2 syscall.

2018-07-04  Paul Eggert  <eggert@cs.ucla.edu>

	gnulib-tool: minor tweaks for --gnu-make
	* gnulib-tool: Do not allow --gnu-make in test modes,
	since they all require automake.
	(func_emit_lib_Makefile_am): Don’t emit automake comment
	if --gnu-make.

	regex: work around conditional-dependencies glitch
	* modules/regex (Depends-on): Add langinfo.
	Without this change, I had problems building an experimental
	version of GNU Emacs.  The symptom of the bug was a message
	‘./configure: line 12726: test: =: unary operator expected’.
	This was due to a line in gl_FUNC_NL_LANGINFO that invokes
	‘test $HAVE_LANGINFO_CODESET = 1’ even though HAVE_LANGINFO_CODESET
	was unset.  Although gl_FUNC_NL_LANGINFO has
	‘AC_REQUIRE([gl_LANGINFO_H])’ and gl_LANGINFO_H always sets
	HAVE_LANGINFO_CODESET to 0 or 1, gnulib-tool with
	--conditional-dependencies sometimes arranges for the
	gl_FUNC_NL_LANGINFO code to be executed before the gl_LANGINFO_H
	code.  Since the regex code includes <langinfo.h> it should be
	depending on the langinfo module anyway, and this happens to work
	around the bug, so install that as a workaround for now.  To
	reproduce the original problem, run the following shell script on
	the version of Gnulib just before this patch was installed.
		rm -fr foo
		mkdir foo
		cat >foo/configure.ac <<'EOF'
		AC_INIT(GNU Emacs, 27.0.50, bug-gnu-emacs@gnu.org, , https://www.gnu.org/software/emacs/)
		gl_EARLY
		gl_INIT
		AC_OUTPUT
		EOF
		./gnulib-tool --import --conditional-dependencies --gnu-make --dir foo regex
		./gnulib-tool --copy build-aux/install-sh foo/install-sh
		./gnulib-tool --copy build-aux/config.sub foo/config.sub
		./gnulib-tool --copy build-aux/config.guess foo/config.guess
		cd foo
		aclocal -I m4
		autoconf
		./configure --with-included-regex

2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>

	wchar: fix bug when checking for ‘inline’
	I discovered this when looking into using the regex module
	with Emacs.
	* m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Fix bug introduced in
	2016-08-17T23:09:38Z!skunk@iSKUNK.ORG; the code compiled
	conftest1.c and conftest2.c but these files were not created.
	As far as I can see, this check never worked and nobody reported
	it until now, which is a bit worrisome.

2018-06-30  Jim Meyering  <meyering@fb.com>

	bootstrap: s/--option val/--option=val/
	* build-aux/bootstrap (gnulib_tool_options): Change the
	spelling of "--option val" pairs to "--option=val", for
	aesthetics, and also so that this file no longer triggers
	a common help2man syntax-check warning when copied into
	projects like grep, gzip, etc.

2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: omit -Wswitch-default
	This should make things more consistent, as we already ignore
	-Wswitch-enum.  Problem reported by Reuben Thomas; see:
	https://lists.gnu.org/r/bug-gnulib/2018-05/msg00179.html
	* build-aux/g++-warning.spec, build-aux/gcc-warning.spec:
	Add -Wswitch-default.
	* m4/manywarnings-c++.m4 (gl_MANYWARN_ALL_GCC_CXX_IMPL):
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
	Remove -Wswitch-default.

	regex: revert most trimming
	Problems reported by Bruno Haible in:
	https://lists.gnu.org/r/bug-gnulib/2018-07/msg00001.html
	* modules/regex (Depends-on): Add lock, memcmp, memmove,
	and wctype back in.  lock because regex users shouldn’t
	need to know that regex needs locking, and the rest because
	gnulib-tool should ordinarily ignore them anyway.

2018-06-30  Paul Eggert  <eggert@cs.ucla.edu>

	regex: trim module dependencies
	* modules/regex (Depends-on): Remove gettext-h and lock,
	since the regex code should work OK without these modules,
	and Emacs uses it that way.  Also remove memcmp, memmove,
	and wctype, as these modules are obsolete and should not be
	needed any more.

2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>

	regex: glibc does not use intprops.h
	Maybe we can talk glibc into using intprops.h someday, but
	now doesn’t seem to be a good time.
	* lib/regcomp.c (TYPE_SIGNED): Remove; regex_internal.h now defines.
	* lib/regex_internal.h [_LIBC]: Do not include intprops.h.
	(TYPE_SIGNED, INT_ADD_WRAPV): New macros.

2018-06-28  Paul Eggert  <eggert@cs.ucla.edu>

	regex: port to recently proposed glibc regex merge
	This patch is inspired by Adhemerval Zanella's recent proposal
	https://www.sourceware.org/ml/libc-alpha/2018-06/msg00905.html
	to merge glibc and Gnulib regex.  It aims to simplify the merge on
	the glibc side, without keeping Gnulib portable.
	* lib/regex.h: Fix a problem with glibc installed-header checking,
	as follows:
	(_Restrict_): Prefer __restrict if defined or if GCC 2.95 or later.
	(_Restrict_arr_): Prefer __restrict_arr if defined,
	otherwise prefer _Restrict_ if C99 or GCC 3.1 or later (but not C++).
	* lib/regex_internal.c (re_string_realloc_buffers, build_wcs_buffer)
	(build_wcs_upper_buffer, build_upper_buffer)
	(re_string_translate_buffer, re_string_context_at):
	Move decls here from lib/regex_internal.h, for glibc internal tests.
	(build_wcs_upper_buffer): Use __wcrtomb, not wcrtomb, fixing
	glibc BZ #18496.
	* lib/regex_internal.h (lock_fini) [_LIBC]: Cast to 0 to pacify
	-Wunused-value.
	(bitset_set, bitset_clear, bitset_contain, bitset_empty)
	(bitset_set_all, bitset_copy, bitset_not, bitset_merge)
	(bitset_mask): Now static inline, and without any __attribute__
	((unused)) decoration, for glibc internal tests.

2018-06-25  Bruno Haible  <bruno@clisp.org>

	threadlib: Fix LIBMULTITHREAD on platforms where --as-needed is enabled.
	Reported by Erik Auerswald <auerswal@unix-ag.uni-kl.de>
	in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00063.html>.
	* m4/threadlib.m4 (gl_THREADLIB_BODY): Check whether the linker supports
	--as-needed/--no-as-needed and --push-state/--pop-state. When defining
	USE_POSIX_THREADS_WEAK or USE_SOLARIS_THREADS_WEAK or
	USE_PTH_THREADS_WEAK, define LIBMULTITHREAD in such a way that -lpthread
	/ -lthread / -lpth does not get optimized away by a preceding
	--as-needed option.

2018-06-25  Bruno Haible  <bruno@clisp.org>

	Continue to use spaces for indentation, not tabs.
	* MODULES.html.sh: Untabify.
	* doc/regex.texi: Likewise.
	* lib/acl-internal.c: Likewise.
	* lib/dfa.c: Likewise.
	* lib/exclude.c: Likewise.
	* lib/exclude.h: Likewise.
	* lib/get-permissions.c: Likewise.
	* lib/gettimeofday.c: Likewise.
	* lib/parse-datetime.y: Likewise.
	* lib/pselect.c: Likewise.
	* lib/set-permissions.c: Likewise.
	* lib/time.in.h: Likewise.
	* m4/canonicalize.m4: Likewise.
	* m4/gc.m4: Likewise.
	* m4/gnulib-common.m4: Likewise.
	* m4/pthread_sigmask.m4: Likewise.
	* m4/vararrays.m4: Likewise.
	* tests/test-digest.h: Likewise.
	* tests/test-fcntl-h.c: Likewise.
	* tests/test-timespec.c: Likewise.
	* tests/uniwbrk/test-uc-wordbreaks.c: Likewise.

2018-06-25  Bruno Haible  <bruno@clisp.org>

	manywarnings: Don't enable -Wjump-misses-init warnings by default.
	* build-aux/gcc-warning.spec: Add -Wjump-misses-init.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): Remove
	-Wjump-misses-init.

2018-06-25  Jim Meyering  <meyering@fb.com>

	acl-internal.h: remove _GL_ATTRIBUTE_CONST on void function
	* lib/acl-internal.h (free_permission_context): Remove that
	attribute directive.  Otherwise, it would provoke this from GCC 9:
	lib/acl-internal.h:300:3: error: 'const' attribute on function \
	  returning 'void' [-Werror=attributes]

2018-06-24  Jim Meyering  <meyering@fb.com>

	parse-datetime: accommodate gcc-4.8.5
	Bruno Haible reported the build failure in
	https://lists.gnu.org/r/bug-gnulib/2018-06/msg00066.html
	* lib/parse-datetime.y (parse_datetime2): Remove leading "static"
	on declaration of new local.

2018-06-24  Bruno Haible  <bruno@clisp.org>

	af_alg: Fail in continuable manner on Linux/powerpc64le.
	Reported by Assaf Gordon <assafgordon@gmail.com>
	in <https://lists.gnu.org/archive/html/coreutils/2018-06/msg00034.html>.
	* lib/af_alg.c (afalg_stream): On non-seekable streams, try a single-
	byte send() as the first round.

2018-06-24  Bruno Haible  <bruno@clisp.org>

	af_alg: Fix state of stream after sendfile() succeeds.
	* lib/af_alg.c (afalg_stream): Invoke fflush and lseek, to ensure that
	the stream is correctly positioned afterwards.
	* modules/crypto/af_alg (Depends-on): Add fflush.
	* tests/test-digest.h (test_digest_on_files): Verify that after the
	operation the stream is positioned at end of file.

2018-06-24  Jim Meyering  <meyering@fb.com>

	canon-host: take GCC9's advice rather than ignoring warning
	Pádraig Brady suggested not to ignore this GCC9 advice.
	* lib/canon-host.c: Undo preceding change.
	* lib/canon-host.h: Instead, declare with _GL_ATTRIBUTE_MALLOC.

	parse-datetime.y: avoid spurious GCC 9 warning
	* lib/parse-datetime.y (parse_datetime2): Save RELATIVE_TIME_0 into
	a function local prior to the first "goto fail".  The prior use would
	evoke this:
	parse-datetime.y: In function 'parse_datetime2':
	parse-datetime.y:1791:19: error: jump skips variable initialization \
	  [-Werror=jump-misses-init]
	parse-datetime.y:2385:2: note: label 'fail' defined here
	parse-datetime.y:188:43: note: '({anonymous})' declared here
	parse-datetime.y:1841:12: note: in expansion of macro 'RELATIVE_TIME_0'

	canon-host.c: avoid spurious GCC 9 warning
	* lib/canon-host.c: Suppress GCC9's -Wsuggest-attribute=malloc.

	manywarnings: accommodate GCC 9.0-pre: remove -Wchkp and -Wabi
	* build-aux/gcc-warning.spec: Add them here, each with an explanation.
	* m4/manywarnings.m4: Remove them.
	Otherwise, building coreutils, I would see this:
	cc1: error: deprecated command line option '-Wchkp' [-Werror]
	cc1: error: -Wabi won't warn about anything [-Werror=abi]
	cc1: note: -Wabi warns about differences from the most up-to-date ABI,\
	  which is also used by default
	cc1: note: use e.g. -Wabi=11 to warn about changes from GCC 7

2018-06-24  Bruno Haible  <bruno@clisp.org>

	af_alg tests: Add another test.
	* tests/test-digest.h (test_digest_on_files): Also check a large file
	with a skipped header.
	* tests/test-md5.c: Include macros.h.
	* tests/test-sha1.c: Likewise.
	* tests/test-sha256.c: Likewise.
	* tests/test-sha512.c: Likewise.
	* modules/crypto/md5-tests (Files): Add tests/macros.h.
	* modules/crypto/sha1-tests (Files): Likewise.
	* modules/crypto/sha256-tests (Files): Likewise.
	* modules/crypto/sha512-tests (Files): Likewise.

2018-06-24  Pádraig Brady  <P@draigBrady.com>

	maint: clarify comments about sticky EOF
	* lib/af_alg.c: Be more direct that we can't
	assume stickiness of EOF for portability reasons.
	* lib/md5.c: Clarify that this isn't just a glibc issue.
	* lib/sha1.c: Likewise.
	* lib/sha256.c: Likewise.
	* lib/sha512.c: Likewise.

2018-06-24  Bruno Haible  <bruno@clisp.org>

	af_alg: Comment and style improvements.
	* lib/af_alg.c (alg_socket): Use 'size_t' as index into a string.
	(afalg_buffer, afalg_stream): Improve comments.

2018-06-24  Pádraig Brady  <P@draigBrady.com>

	af_alg: disable kernel hash functions by default
	All the kernel routines were seen to be significantly slower
	with these relatively recent components on an i3-2310M system:
	  kernel-4.10.6-200.fc25.x86_64
	  openssl-1.0.2m-1.fc25.x86_64
	sha1 was nearly twice as slow in the kernel for example.
	Further considerations why this should not be the default, at:
	https://lists.gnu.org/r/coreutils/2018-06/msg00034.html

	* m4/af_alg.m4: Require --with-linux-crypto to enable.
	* m4/gl-openssl.m4: Tweak accordingly.

2018-06-24  Pádraig Brady  <P@draigBrady.com>

	af_alg: avoid hangs when reading from streams
	* lib/af_alg.c (afalg_stream): Don't assume EOF is sticky,
	and thus avoid doing a fread() when feof() is set.
	* lib/md5.c: Ensure feof() is called before fread().
	* lib/sha1.c: Likewise.
	* lib/sha256.c: Likewise.
	* lib/sha512.c: Likewise.

2018-06-24  Pádraig Brady  <P@draigBrady.com>

	af_alg: fix error handling when hash not returned
	* lib/af_alg.c (afalg_stream): Handle the case where we've
	successfully written data to the kernel in the read/write loop,
	but the kernel doesn't respond with the hash.

2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>

	libc-config: merge from glibc
	* lib/cdefs.h (__inline, __restrict):
	Copy from current glibc.  This fixes glibc bug 17721,
	which Gnulib had already fixed in a different way.
	(__nonnull): Lessen the distance from glibc by using the
	glibc definition inside an ‘#ifndef __nonnull’.
	(__attribute_nonstring__): New macro, copied from
	current glibc.
	* lib/libc-config.h (__attribute_nonstring__): New undef.
	(__restrict): Remove; workaround no longer needed.
	Keep the __inline workaround, though, as it uses HAVE___INLINE to
	support more compilers than the glibc __inline can.

2018-06-24  Bruno Haible  <bruno@clisp.org>

	mbrtowc, wcwidth: Fix MT-safety bug (regression from 2018-06-23).
	* lib/mbrtowc.c (enc_t): New enum type.
	(locale_enc, locale_enc_cached): New functions.
	(mbrtowc): Eliminate static variables. Use locale_enc_cached instead.
	* lib/wcwidth.c (is_locale_utf8, is_locale_utf8_cached): New functions.
	(wcwidth): Eliminate static variables. Use is_locale_utf8_cached
	instead.
	* m4/mbrtowc.m4 (gl_PREREQ_MBRTOWC): Require AC_C_INLINE.
	* m4/wcwidth.m4 (gl_PREREQ_WCWIDTH): New macro.
	* modules/wcwidth (configure.ac): Invoke it.

2018-06-24  Bruno Haible  <bruno@clisp.org>

	wchar-single: Fix test failure in wcwidth tests.
	* tests/test-wcwidth.c (main): If the wchar-single module is present,
	skip the tests in the C locale.

2018-06-23  Pádraig Brady  <P@draigBrady.com>

	crypto: mention --without-linux-crypto in --with-openssl --help
	* m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Mention that linux crypto
	routines take precedence in --with-openssl help output.

2018-06-23  Pádraig Brady  <P@draigBrady.com>

	wchar-single: a new module to enable optimizations in wchar replacements
	* lib/mbrtowc.c (mbrtowc): Only check locale_charset() once if
	GNULIB_WCHAR_SINGLE is enabled.
	* lib/wcwidth.c (wcwidth): Likewise.

2018-06-23  Bruno Haible  <bruno@clisp.org>

	libc-config: Fix conflict with FreeBSD include files.
	* lib/cdefs.h (__nonnull): Remove definition.
	* lib/libc-config.h (__nonnull): Remove undefinition.

2018-06-21  Paul Eggert  <eggert@cs.ucla.edu>

	random_r: do not crash if state is unaligned
	Problem reported by Bruce Korb in:
	https://lists.gnu.org/r/bug-gnulib/2018-06/msg00030.html
	I reproduced the crash on 32-bit sparc with Oracle Studio 12.6
	with 'cc -O2 -xmemalign=8s'.
	* lib/random_r.c: Include string.h, for memcpy.
	(get_int32, set_int32): New functions.
	(__srandom_r, __initstate_r, __setstate_r, __random_r):
	Use them to avoid assumption that state pointer is aligned.
	(__random_r): Avoid integer overflow if INT_MAX == UINT32_MAX.
	* tests/test-random_r.c (test_failed): New function.
	(main): Use it, to test for alignment bugs.

	random_r: omit unnecessary include
	* lib/random_r.c: Do not include limits.h.

	random, random_r: merge from glibc
	* lib/random.c, lib/random_r.c:
	Include libc-config.h if !_LIBC, not config.h unilaterally.
	* lib/random.c:
	Do not include stdint.h or time.h; not needed.
	Include libc-lock.h if _LIBC, and define substitute macros otherwise.
	(unsafe_state): Rename from generator.  All uses changed.
	Use C99-style initializers.
	(__random, __srandom, __initstate, __setstate): Rename from
	non-underscored version, but define it to non-underscored version
	on Gnulib.  Add a lock.
	* lib/random_r.c (__srandom_r, __initstate_r, __setstate_r, __random_r):
	Likewise.
	Do not include <stdint.h>; not needed since stdlib.h defines int32_t.
	(weak_alias, __set_errno) [!_LIBC]: Remove; now done by libc-config.
	(__srandom_r): Use int32_t instead of long int where int32_t will do.
	(__random_r): Use uint32 to fix glibc bug 17343.
	* modules/random, modules/random_r (Depends-on): Add libc-config.
	Depend on stdint only if $HAVE_RANDOM = 0.

2018-06-19  Jim Meyering  <meyering@fb.com>

	README-release: also run any check-very-expensive tests
	* top/README-release: Adjust instructions so they run the
	check-very-expensive tests when there is such a target.

2018-06-18  Bruno Haible  <bruno@clisp.org>

	pthread_rwlock_rdlock: Add comments regarding glibc behaviour.
	* m4/pthread_rwlock_rdlock.m4: Add comment.
	* doc/posix-functions/pthread_rwlock_rdlock.texi: Mention that rwlocks
	are reader-preferring in glibc.
	* doc/posix-functions/pthread_rwlock_tryrdlock.texi: Likwise.
	* doc/posix-functions/pthread_rwlock_timedrdlock.texi: Likewise.

2018-06-17  Paul Eggert  <eggert@cs.ucla.edu>

	crypto: use byteswap
	* lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
	* lib/sm3.c: Include <byteswap.h>.
	(SWAP): Use its macros rather than reinventing the wheel.
	* modules/crypto/md4, modules/crypto/md5-buffer:
	* modules/crypto/sha1-buffer, modules/crypto/sha256-buffer:
	* modules/crypto/sha512-buffer, modules/crypto/sm3:
	(Depends-on): Add byteswap.

2018-06-17  Pádraig Brady  <P@draigBrady.com>

	gendocs.sh: fix support for legacy --texi2html
	* build-aux/gendocs.sh: Restrict use of TOP_NODE_UP_URL
	to the default makeinfo invocation.
	Reported by Bruce Korb

2018-06-17  Bruno Haible  <bruno@clisp.org>

	gettext po infrastructure: Update from current gettext git.
	Reported by Akim Demaille <akim@lrde.epita.fr>.
	* build-aux/po/Makefile.in.in: Update from current gettext git.
	* build-aux/po/remove-potcdate.sin: Likewise.
	* config/srclist.txt: Temporarily disable sync for these files.

2018-06-17  Bruno Haible  <bruno@clisp.org>

	getloadavg: Return 0 on Windows without Cygwin.
	* lib/getloadavg.c: Don't assume that the symbol WINDOWS32 is defined.

2018-06-17  Paul Smith  <psmith@gnu.org>

	getloadavg: Allow building on Windows without Cygwin
	* lib/getloadavg.c: Reinstate ifdef for HAVE_UNISTD_H.
	* m4/getloadavg.m4: Check for unistd.h.

2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>

	Port crypto/af_alg to GCC 4.8.4
	Problem reported by Peter Simons in:
	https://lists.gnu.org/r/bug-gnulib/2018-06/msg00002.html
	* modules/crypto/af_alg (Depends-on): Add c99 if USE_AF_ALG.

2018-05-27  Colin Watson  <cjwatson@debian.org>

	bootstrap: document source fetching in --help
	* build-aux/bootstrap (usage): Document how Gnulib sources are fetched.

2018-04-09  Colin Watson  <cjwatson@debian.org>

	bootstrap: allow non-submodule control of gnulib
	* build-aux/bootstrap: Honour GNULIB_URL and GNULIB_REVISION in
	bootstrap.conf when fetching gnulib using "git clone" or via
	GNULIB_SRCDIR.

2018-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	crypto: omit stream ops Emacs doesn’t need
	* lib/md5.c (md5_stream):
	* lib/sha1.c (sha1_stream):
	* lib/sha256.c (shaxxx_stream, sha256_stream, sha224_stream):
	* lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
	Compile stream functions only if GL_COMPILE_CRYPTO_STREAM is
	defined.  Emacs needs this, as it does not use the stream
	operations and doesn’t need all the af_alg stuff we’ve recently
	added.  Perhaps a similar change is needed to the other crypto
	modules, but this patch changes only those needed for Emacs.
	* modules/crypto/md5-buffer, modules/crypto/sha1-buffer:
	* modules/crypto/sha256-buffer, modules/crypto/sha512-buffer:
	New modules, used by Emacs.
	* modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
	* modules/crypto/sha512: Rewrite to depend on the new modules.

2018-05-20  Pádraig Brady  <P@draigBrady.com>

	fts: avoid a memory leak edge case
	* lib/fts.c (fts_open): Set an appropriate fts_level
	so that an immediate fts_close() will free the allocation.
	* tests/test-fts.c (fts_dealloc): Add a test case which
	will trigger under valgrind or address sanitizer.
	Fixes https://bugs.gnu.org/31439

2018-05-20  Bruno Haible  <bruno@clisp.org>

	wcwidth tests: Fix link error.
	* modules/wcwidth-tests (Makefile.am): Link test-wcwidth against
	$(LIBUNISTRING).

2018-05-20  Bruno Haible  <bruno@clisp.org>

	regex: Fix "error: possibly undefined macro: gl_GLIBC21".
	* modules/regex (Files): Add m4/glibc21.m4.

2018-05-20  Bruno Haible  <bruno@clisp.org>

	localcharset: Optimize.
	* lib/localcharset.c (alias_table): Comment out no-op mappings for
	platforms where these don't matter. This reduces the table size,
	which in turn reduces the lookup time.

2018-05-19  Bruno Haible  <bruno@clisp.org>

	localcharset: Map the locale encodings found in newer OSes.
	* lib/localcharset.c (alias_table): Add mapping for locale encodings
	found in FreeBSD 11, NetBSD 7, Solaris 10, Openindiana, HP-UX 11.31,
	IRIX 6.5, Minix 3.3.
	* lib/localcharset.h: Update comments accordingly. Also for Cygwin 2.9.

2018-05-19  Bruno Haible  <bruno@clisp.org>

	localcharset: Move mapping tables into the code. Use a binary search.
	* lib/localcharset.h: Document the GNU canonical names for character
	encodings here.
	* lib/localcharset.c: Don't include <fcntl.h>, <unistd.h>,
	relocatable.h, configmake.h.
	(O_NOFOLLOW, ISSLASH, DIRECTORY_SEPARATOR, getc, volatile): Remove
	macros.
	(charset_aliases): Remove variable.
	(get_charset_aliases): Remove function.
	(struct table_entry): New type.
	(alias_table, locale_table): New constants.
	(locale_charset): Use the alias_table or locale_table to get the
	canonicalized encoding name.
	* lib/config.charset: Remove file.
	* lib/ref-add.sin: Remove file.
	* lib/ref-del.sin: Remove file.
	* m4/localcharset.m4 (gl_LOCALCHARSET): Don't require gl_FCNTL_O_FLAGS,
	AC_CANONICAL_HOST, gl_GLIBC21. Don't check for getc_unlocked.
	* modules/localcharset (Notice): Remove.
	(Files): Remove config.charset, ref-add.sin, ref-del.sin, fcntl-o.m4,
	glibc21.m4.
	(Depends-on): Remove configmake.
	(configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT to empty.
	(Makefile.am): Simplify.
	* build-aux/prefix-gnulib-mk: Remove special code for the removed files.

2018-05-19  Bruno Haible  <bruno@clisp.org>

	localcharset: Add a manual test.
	* tests/test-localcharset.c: New file.
	* modules/localcharset-tests: New file.

2018-05-19  Bruno Haible  <bruno@clisp.org>

	localcharset: Remove support for obsolete platforms.
	* lib/config.charset: Remove support for Linux/libc5, glibc-2.0.x, and
	Mac OS X 10.2. Comment out dubious entry for Solaris.

2018-05-19  Jim Meyering  <meyering@fb.com>

	gnupload: adjust comment
	* build-aux/gnupload: Add FIXME-2020 comment, to make it slightly
	more likely we'll remove the just-added code in a year or two.

2018-05-19  Bruno Haible  <bruno@clisp.org>

	gnupload: Fix "gpg-agent is not available in this session" error.
	* build-aux/gnupload (GPG): Pick the right GNUPG executable to use.

2018-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	crypto/af_alg: fix --help
	* m4/af_alg.m4: Avoid spurious newline in --help output.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	nl_langinfo: Fix compilation error on Android.
	* lib/nl_langinfo.c (nl_langinfo): Define values for the items GROUPING,
	INT_CURR_SYMBOL, etc. only if these items are defined.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	truncate: Fix compilation error on Android.
	* m4/truncate.m4 (gl_FUNC_TRUNCATE): Test also whether 'truncate' is
	declared. Set HAVE_DECL_TRUNCATE, not HAVE_TRUNCATE.
	* lib/unistd.in.h (truncate): Test HAVE_DECL_TRUNCATE, not
	HAVE_TRUNCATE.
	* modules/truncate: Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_TRUNCATE,
	not HAVE_TRUNCATE.
	* modules/unistd (Makefile.am): Substitute HAVE_DECL_TRUNCATE, not
	HAVE_TRUNCATE.
	* doc/posix-functions/truncate.texi: Mention the issue.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	pthread: Fix compilation error on Android.
	* lib/pthread.in.h: Use _GL_ALREADY_INCLUDING_PTHREAD_H to shortcut
	recursive inclusion of this file.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	posix_spawn: Fix compilation error on Android.
	* lib/spawn.in.h (posix_spawnattr_t): Consider also the case
	HAVE_POSIX_SPAWNATTR_T = 1 && HAVE_POSIX_SPAWN = 0.
	(posix_spawn_file_actions_t): Consider also the case
	HAVE_POSIX_SPAWN_FILE_ACTIONS_T = 1 && HAVE_POSIX_SPAWN = 0.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	tsearch: Move from K&R C to ANSI C.
	* lib/tsearch.c (tfind): Convert definition to ANSI C.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	tsearch: Fix compilation error on Android.
	* lib/search.in.h (twalk): Declare when HAVE_TWALK, not HAVE_TSEARCH,
	is 0.
	(GNULIB_defined_tsearch, GNULIB_defined_twalk): New macros.
	* lib/tsearch.c (tsearch, tfind, tdelete): Define only if
	GNULIB_defined_tsearch is true.
	(twalk): Define only if GNULIB_defined_twalk is true.
	* modules/tsearch (configure.ac): Compile tsearch.c also if HAVE_TWALK
	is 0.
	* m4/tsearch.m4 (gl_FUNC_TSEARCH): Set HAVE_TWALK.
	* m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize HAVE_TWALK.
	* modules/search (Makefile.am): Substitute HAVE_TWALK.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	imaxdiv: Fix compilation error on Android.
	* m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Set HAVE_IMAXDIV_T to 0 if imaxdiv_t
	is not defined.
	* lib/inttypes.in.h (imaxdiv_t): Define if HAVE_IMAXDIV_T, not
	HAVE_DECL_IMAXDIV, is 0.
	* m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize HAVE_IMAXDIV_T.
	* modules/inttypes-incomplete (Makefile.am): Substitute HAVE_IMAXDIV_T.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	Support selective inclusion mechanism of recent mingw.org header files.
	Reported by Eli Zaretskii <eliz@gnu.org>.
	* lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
	__need_ssize_t, or __need_time_t is defined, just include the system's
	<sys/types.h>.
	* lib/locale.in.h: On mingw, when __need_locale_t is defined, just
	include the system's <locale.h>.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	Avoid compilation error due to 'mmap' on Android.
	* lib/vma-iter.c (_FILE_OFFSET_BITS): Undefine on Android.
	* lib/get-rusage-as.c (_FILE_OFFSET_BITS): Likewise.
	* tests/zerosize-ptr.h (_FILE_OFFSET_BITS, __USE_FILE_OFFSET64):
	Undefine on Android.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	Add cross-compilation guesses for Linux systems without glibc.
	* m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for Linux.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
	* m4/link.m4 (gl_FUNC_LINK): Likewise.
	* m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
	* m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
	* m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
	* m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
	* m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
	* m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
	* m4/readlink.m4 (gl_FUNC_READLINK): Likewise.
	* m4/rename.m4 (gl_FUNC_RENAME): Likewise.
	* m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
	* m4/select.m4 (gl_FUNC_SELECT): Likewise.
	* m4/stat.m4 (gl_FUNC_STAT): Likewise.
	* m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
	* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
	* m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
	* m4/utimens.m4 (gl_UTIMENS): Likewise.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	getpagesize: Fix compilation error on Android.
	* m4/getpagesize.m4 (gl_CHECK_FUNC_GETPAGESIZE): New macro.
	(gl_FUNC_GETPAGESIZE): Invoke it instead of AC_CHECK_FUNC.
	* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Don't invoke
	AC_CHECK_FUNC. Instead, invoke gl_CHECK_FUNC_GETPAGESIZE and define
	HAVE_GETPAGESIZE accordingly.
	* modules/getcwd (Files): Add m4/getpagesize.m4.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	tcgetsid: Fix compilation error on Android.
	* m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use AC_LINK_IFELSE instead of
	AC_CHECK_FUNC.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	getpass: Fix configure test for Android.
	* m4/getpass.m4 (gl_PREREQ_GETPASS): Use AC_LINK_IFELSE instead of
	AC_CHECK_FUNC.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	ffs: Fix compilation error on Android.
	* m4/ffs.m4 (gl_FUNC_FFS): Use AC_LINK_IFELSE instead of AC_CHECK_FUNC.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	mkfifo: Fix compilation error on Android.
	* m4/mkfifo.m4 (gl_FUNC_MKFIFO): Use AC_LINK_IFELSE instead of
	AC_CHECK_FUNC.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	c-strtod: Fix configure test for Android.
	* m4/c-strtod.m4 (gl_C_STRTOD): Use AC_LINK_IFELSE instead of
	AC_CHECK_FUNC.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	random: Fix compilation error on Android.
	* m4/random.m4 (gl_FUNC_RANDOM): Use AC_LINK_IFELSE instead of
	AC_CHECK_FUNC.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	grantpt: Fix compilation error on Android.
	* m4/grantpt.m4 (gl_FUNC_GRANTPT): Use AC_LINK_IFELSE instead of
	AC_CHECK_FUNC.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	stdioext: Fix compilation errors with newer Android headers.
	* lib/stdio-impl.h (fp_, fp_ub): Define differently for Android.
	(__SLBF, __SNBF, __SRD, __SWR, __SRW, __SEOF, __SERR, __SOFF): Define
	fallbacks for Android.
	* lib/fpending.c: Update comments.
	* lib/fpurge.c: Likewise.
	* lib/freadable.h: Likewise.
	* lib/freadable.c: Likewise.
	* lib/freadahead.c: Likewise.
	* lib/freading.h: Likewise.
	* lib/freadptr.c: Likewise.
	* lib/fseterr.c: Likewise.
	* lib/fwritable.h: Likewise.
	* lib/fwritable.c: Likewise.
	* lib/fwriting.h: Likewise.
	* lib/fwriting.c: Likewise.

2018-05-13  Bruno Haible  <bruno@clisp.org>

	doc: Add info about Android versions 2.0 to 8.1.
	* doc/**/*.texi: Add info about functions in all released versions of
	Bionic.

2018-05-12  Bruno Haible  <bruno@clisp.org>

	fseeko: On mingw, don't use the hidden function _fseeki64.
	Reported by Eli Zaretskii <eliz@gnu.org>.
	* m4/fseeko.m4 (gl_PREREQ_FSEEKO): Test whether _fseeki64 is declared.
	* lib/fseeko.c (fseeko): Use _fseeki64 only if it is declared.

2018-05-12  Bruno Haible  <bruno@clisp.org>

	glob: Choose 'dirent_type' in a way that works better on mingw.
	Reported and suggested by Eli Zaretskii <eliz@gnu.org>.
	* lib/glob.c (dirent_type): Define as uint_fast32_t.

2018-05-12  Bruno Haible  <bruno@clisp.org>

	execute, spawn-pipe: Avoid warning about redefining 'close'.
	Reported by Eli Zaretskii <eliz@gnu.org>.
	* lib/execute.c: Undefine 'close' before redefining it.
	* lib/spawn-pipe.c: Likewise.

2018-05-12  Bruno Haible  <bruno@clisp.org>

	nanosleep: Avoid test failure on mingw when it has nanosleep.
	Reported by Eli Zaretskii <eliz@gnu.org>.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check whether alarm() exists.
	If it does not exist, use a simpler test program that does not call
	alarm().

2018-05-10  Bruno Haible  <bruno@clisp.org>

	lock, cond, thread, tls: Use a different symbol as libpthread witness.
	Reported by Devin Hussey <husseydevin@gmail.com>.
	Based on a patch by Paul Eggert.
	* lib/glthread/lock.h (pthread_in_use): Use 'pthread_mutexattr_gettype'
	as witness of libpthread.
	* lib/glthread/cond.h (pthread_in_use): Likewise.
	* lib/glthread/thread.h (pthread_in_use): Likewise.
	* lib/glthread/tls.h (pthread_in_use): Likewise.

2018-05-10  Bruno Haible  <bruno@clisp.org>

	cond tests: Fix compilation error on Solaris.
	* tests/test-cond.c: Include <unistd.h> before defining 'yield' as a
	macro.

2018-05-10  Bruno Haible  <bruno@clisp.org>

	doc: Add partial info about Android 4.3.
	* doc/*-functions/*.texi: Add info about functions that were added
	to Bionic between Android 4.3 and Android 9.0.

2018-05-10  Bruno Haible  <bruno@clisp.org>

	doc: Add info about Android 9.0.
	* doc/**/*.texi: Add info about functions and headers in Bionic from
	Android 9.0.

2018-05-09  Paul Eggert  <eggert@cs.ucla.edu>

	af_alg: fix my typo in afalg_buffer
	* lib/af_alg.c (afalg_buffer): Fix typo I recently introduced.
	(afalg_stream): Simplify and avoid the need for a runtime test
	at the end.

	af_alg: recover better from crypto failures
	* lib/af_alg.c (afalg_stream): Recover from crypto failures if the
	input stream is seekable, by repositioning the stream back to
	where it was, possibly by just calling sendfile with an offset
	arg.  This lets us return -EAFNOSUPPORT instead of -EIO in some
	cases, which lets our callers try again with user-mode code.
	* modules/crypto/af_alg (Depends-on): Depend on fseeko and ftello
	instead of on fflush and lseek.

	af_alg: distiguish I/O errors better
	* lib/af_alg.c (afalg_buffer, afalg_stream): Return -EAFNOSUPPORT,
	not -EIO, if it’s OK for the caller to try again with user-mode code.
	(afalg_stream) [!_WIN32 || __CYGWIN__]: Return -EIO (not possibly
	some other error number) if fflush fails, as the caller should not
	try again that case.

	af_alg: avoid gotos
	* lib/af_alg.c (afalg_buffer, afalg_stream): Rewrite to avoid
	gotos, as they were a source of unreliability and made the code a
	bit harder to follow.

	af_alg: don’t leak file descriptors into children
	* lib/af_alg.c (alg_socket): Use SOCK_CLOEXEC when creating sockets.
	This code should be compiled only on recent GNU/Linux platforms
	so we shouldn’t have to also depend on the accept4 module.

	af_alg: coalesce socket creation
	* lib/af_alg.c (alg_socket): New function.
	(afalg_buffer, afalg_stream): Use it.  This avoids some
	code duplication and gotos.

	af_alg: fix file descriptor leak
	* lib/af_alg.c (afalg_stream): Close leak.

	af_alg: Pacify --enable-gcc-warnings on GCC 8
	* lib/af_alg.c (afalg_buffer, afalg_stream): Reorder local decls
	and checking to pacify gcc -Wjump-misses-init on GCC 8.

2018-05-07  Paul Eggert  <eggert@cs.ucla.edu>

	af_alg: Pacify --enable-gcc-warnings
	Problem reported by Assaf Gordon in:
	https://lists.gnu.org/r/bug-gnulib/2018-05/msg00041.html
	* lib/af_alg.c (afalg_buffer): Move local decls to pacify
	gcc -Wjump-misses-init.
	* lib/sha512.c (shaxxx_stream): Now static.

2018-05-06  Bruno Haible  <bruno@clisp.org>

	af_alg: Add ability to use Linux kernel crypto API on data in memory.
	* lib/af_alg.h (afalg_buffer): New declaration.
	* lib/af_alg.c (afalg_buffer): New function.

2018-05-06  Bruno Haible  <bruno@clisp.org>

	af_alg: Avoid warnings.
	* lib/af_alg.h (afalg_stream): Mark fallback declaration as inline.
	* m4/af_alg.m4 (gl_AF_ALG): Require AC_C_INLINE.

2018-05-06  Bruno Haible  <bruno@clisp.org>

	crypto/{md5,sha1,sha256,sha512} tests: Add benchmarks.
	* tests/bench-digest.h: New file.
	* tests/bench-md5.c: New file.
	* tests/bench-sha1.c: New file.
	* tests/bench-sha224.c: New file.
	* tests/bench-sha256.c: New file.
	* tests/bench-sha384.c: New file.
	* tests/bench-sha512.c: New file.
	* modules/crypto/md5-tests (Files): Add tests/bench-md5.c,
	tests/bench-digest.h.
	(Depends-on): Add getrusage, gettimeofday.
	(Makefile.am): Add variables to build bench-md5.
	* modules/crypto/sha1-tests (Files): Add tests/bench-sha1.c,
	tests/bench-digest.h.
	(Depends-on): Add getrusage, gettimeofday.
	(Makefile.am): Add variables to build bench-sha1.
	* modules/crypto/sha256-tests (Files): Add tests/bench-sha224.c,
	tests/bench-sha256.c, tests/bench-digest.h.
	(Depends-on): Add getrusage, gettimeofday.
	(Makefile.am): Add variables to build bench-sha224, bench-sha256.
	* modules/crypto/sha512-tests (Files): Add tests/bench-sha384.c,
	tests/bench-sha512.c, tests/bench-digest.h.
	(Depends-on): Add getrusage, gettimeofday.
	(Makefile.am): Add variables to build bench-sha384, bench-sha512.

2018-05-06  Bruno Haible  <bruno@clisp.org>

	af_alg: Fix a resource leak.
	* lib/af_alg.c (afalg_stream): Close socket before returning -EINVAL.
	New local variable 'result'.

2018-05-06  Bruno Haible  <bruno@clisp.org>

	af_alg: Fix bug with streams that are not at position 0.
	* lib/af_alg.c (afalg_stream): Before sendfile, invoke fflush. Don't
	assume that the stream is positioned at position 0.
	* lib/af_alg.h (afalg_stream): Mention restriction regarding the state
	of the stream.
	* lib/md5.h (md5_stream): Likewise.
	* lib/sha1.h (sha1_stream): Likewise.
	* lib/sha256.h (sha256_stream, sha224_stream): Likewise.
	* lib/sha512.h (sha512_stream, sha384_stream): Likewise.
	* modules/crypto/af_alg (Depends-on): Add fflush, lseek.

	crypto/{md5,sha1,sha256,sha512} tests: Enhance test.
	* tests/test-digest.h (test_digest_on_files): Add a test with a FILE
	stream that is not positioned at the beginning.

2018-05-06  Bruno Haible  <bruno@clisp.org>

	af_alg: Add configure option to enable/disable use of Linux crypto API.
	Suggested by Assaf Gordon <assafgordon@gmail.com>.
	* m4/af_alg.m4 (gl_AF_ALG): Add AC_ARG_WITH invocation. Define C macro
	USE_LINUX_CRYPTO_API.
	* lib/af_alg.h: Test USE_LINUX_CRYPTO_API, not HAVE_LINUX_IF_ALG_H.
	* lib/af_alg.c: Likewise.

2018-05-06  Bruno Haible  <bruno@clisp.org>

	Followup to 'af_alg: New module.'.
	* modules/crypto/md5 (Depends-on): Remove sys_socket, sys_stat.
	* modules/crypto/sha1 (Depends-on): Likewise.
	* modules/crypto/sha256 (Depends-on): Likewise.
	* modules/crypto/sha512 (Depends-on): Likewise.

2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>

	crypto/{md5,sha1,sha256,sha512}: simplify
	* lib/md5.c (md5_stream):
	* lib/sha1.c (sha1_stream):
	* lib/sha256.c (shaxxx_stream):
	Simplify, partly by assuming C99.
	* lib/sha256.c (shaxxx_stream):
	New function, which implements both sha256 and sha224.
	Simplify, partly by assuming C99.
	(sha256_stream, sha224_stream):
	Use it to avoid code duplication, removing a FIXME.
	* lib/sha512.c (shaxxx_stream, sha512_stream, sha384_stream):
	Likewise.

	af_alg: Improve comments.
	* lib/af_alg.h: Use imperatives and tighten up wording.

2018-05-05  Bruno Haible  <bruno@clisp.org>

	af_alg: Improve comments.
	* lib/af_alg.c (afalg_stream): Improve comment about kernel bug.

2018-05-05  Bruno Haible  <bruno@clisp.org>

	af_alg: New module.
	* lib/af_alg.h: Test HAVE_* macro through '#if', not '#ifdef'.
	* lib/af_alg.c: Include "af_alg.h" before the other header files.
	* lib/md5.c: Include "af_alg.h" unconditionally.
	(md5_stream): Invoke afalg_stream unconditionally.
	* lib/sha1.c: Include "af_alg.h" unconditionally.
	(sha1_stream): Invoke afalg_stream unconditionally.
	* lib/sha256.c: Include "af_alg.h" unconditionally.
	(sha256_stream, sha224_stream): Invoke afalg_stream unconditionally.
	* lib/sha512.c: Include "af_alg.h" unconditionally.
	(sha512_stream, sha384_stream): Invoke afalg_stream unconditionally.
	* m4/af_alg.m4: Renamed from m4/linux-if-alg.m4.
	(gl_AF_ALG): Renamed from gl_LINUX_IF_ALG_H.
	* modules/crypto/af_alg: New file.
	* modules/crypto/md5 (Files): Remove files that are now in the
	'crypto/af_alg' module.
	(Depends-on): Add crypto/af_alg.
	(configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
	(Makefile.am): Don't mention af_alg.c here.
	* modules/crypto/sha1 (Files): Remove files that are now in the
	'crypto/af_alg' module.
	(Depends-on): Add crypto/af_alg.
	(configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
	(Makefile.am): Don't mention af_alg.c here.
	* modules/crypto/sha256 (Files): Remove files that are now in the
	'crypto/af_alg' module.
	(Depends-on): Add crypto/af_alg.
	(configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
	(Makefile.am): Don't mention af_alg.c here.
	* modules/crypto/sha512 (Files): Remove files that are now in the
	'crypto/af_alg' module.
	(Depends-on): Add crypto/af_alg.
	(configure.ac): Remove gl_LINUX_IF_ALG_H invocation.
	(Makefile.am): Don't mention af_alg.c here.

2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>

	crypto tests: pacify GCC
	* tests/test-digest.h (test_digest_on_files):
	Don’t assume digest size fits in int (!).

	af_alg: minor style improvements
	* lib/af_alg.c (afalg_stream): Prefer C99 style
	decl-after-statement, since we’re already assuming C99.  Clarify
	by strengthening the bind test and omit unnecessary assignment.

2018-05-05  Bruno Haible  <bruno@clisp.org>

	af_alg: Fix bug on empty files.
	* lib/af_alg.c (afalg_stream): Ignore the kernel's result if the input
	stream is empty.

2018-05-05  Paul Eggert  <eggert@cs.ucla.edu>

	sys-limits.h: new file for crypto and safe I/O
	* lib/af_alg.c: Include sys-limits.h.
	(MAX_RW_COUNT): Remove.  Use replaced by SYS_BUFSIZE_MAX.
	(afalg_stream): Also reject negative sizes for sendfile; they
	should not happen and the code is a bit cleaner and faster this way.
	* lib/safe-read.c: Include sys-limits.h.
	(BUGGY_READ_MAXIMUM): Remove.  All uses replaced by SYS_BUFSIZE_MAX.
	* lib/sys-limits.h: New file, with values and commentary derived
	from the old safe-read.c and from GNU Emacs sysdep.c.
	* modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
	* modules/crypto/sha512, modules/safe-read, modules/safe-write:
	Add lib/sys-limits.h to Files section.

2018-05-05  Bruno Haible  <bruno@clisp.org>

	af_alg: Improve function signature.
	* lib/af_alg.h (afalg_stream): Swap second and third argument.
	* lib/af_alg.c (afalg_stream): Likewise.
	* lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Callers changed.

2018-05-05  Bruno Haible  <bruno@clisp.org>

	crypto/{md5,sha1,sha256,sha512}: Fix compilation error (S_TYPEISTMO).
	* modules/crypto/md5 (Depends-on): Add 'sys_stat'.
	* modules/crypto/sha1 (Depends-on): Likewise.
	* modules/crypto/sha256 (Depends-on): Likewise.
	* modules/crypto/sha512 (Depends-on): Likewise.

2018-05-05  Bruno Haible  <bruno@clisp.org>

	crypto/{md5,sha1,sha256,sha512}: Fix module description.
	* modules/crypto/md5 (Depends-on): Add 'sys_socket'.
	* modules/crypto/sha1 (Depends-on): Likewise.
	* modules/crypto/sha256 (Depends-on): Likewise.
	* modules/crypto/sha512 (Depends-on): Likewise.

2018-05-05  Bruno Haible  <bruno@clisp.org>

	af_alg: Add documentation.
	* lib/af_alg.h: Add comments.

2018-05-05  Bruno Haible  <bruno@clisp.org>

	sha512: Add tests.
	* tests/test-sha512.c: New file.
	* modules/crypto/sha512-tests: New file.

2018-05-05  Bruno Haible  <bruno@clisp.org>

	sha256: Add tests.
	* tests/test-sha256.c: New file.
	* modules/crypto/sha256-tests: New file.

2018-05-05  Bruno Haible  <bruno@clisp.org>

	sha1 tests: Add test for sha1_stream.
	* tests/test-sha1.c: Include test-digest.h.
	(main): Invoke test_digest_on_files on 'sha1_stream'.
	* modules/crypto/sha1-tests (Files): Add tests/test-digest.h.

2018-05-05  Bruno Haible  <bruno@clisp.org>

	md5 tests: Add test for md5_stream.
	* tests/test-digest.h: New file.
	* tests/test-md5.c: Include test-digest.h.
	(main): Invoke test_digest_on_files on 'md5_stream'.
	* modules/crypto/md5-tests (Files): Add tests/test-digest.h.

2018-04-28  Matteo Croce  <mcroce@redhat.com>

	md5sum: Use AF_ALG when available.
	* lib/md5.c: Include af_alg.h.
	(md5_stream): Use afalg_stream when available.
	* modules/crypto/md5 (Files): Add the af_alg files.
	(configure.ac): Invoke gl_LINUX_IF_ALG_H.
	(Makefile.am): Add af_alg.c.

2018-04-28  Matteo Croce  <mcroce@redhat.com>

	sha512sum: Use AF_ALG when available.
	* lib/sha512.c: Include af_alg.h.
	(sha512_stream, sha384_stream): Use afalg_stream when available.
	* modules/crypto/sha512 (Files): Add the af_alg files.
	(configure.ac): Invoke gl_LINUX_IF_ALG_H.
	(Makefile.am): Add af_alg.c.

2018-04-28  Matteo Croce  <mcroce@redhat.com>

	sha256sum: Use AF_ALG when available.
	* lib/sha256.c: Include af_alg.h.
	(sha256_stream, sha224_stream): Use afalg_stream when available.
	* modules/crypto/sha256 (Files): Add the af_alg files.
	(configure.ac): Invoke gl_LINUX_IF_ALG_H.
	(Makefile.am): Add af_alg.c.

2018-04-28  Matteo Croce  <mcroce@redhat.com>

	sha1sum: Use AF_ALG when available.
	* lib/af_alg.h: New file.
	* lib/af_alg.c: New file.
	* lib/sha1.c: Include af_alg.h.
	(sha1_stream): Use afalg_stream when available.
	* m4/linux-if-alg.m4: New file.
	* modules/crypto/sha1 (Files): Add the new files.
	(configure.ac): Invoke gl_LINUX_IF_ALG_H.
	(Makefile.am): Add af_alg.c.

2018-05-05  Bruno Haible  <bruno@clisp.org>

	all: Replace more http URLs by https URLs.
	* lib/localename.c: Use https: URL.
	* lib/timespec.h: Likewise.

2018-05-03  Paul Eggert  <eggert@cs.ucla.edu>

	maint: port more modules to GCC 8
	* lib/dirname.h (base_name):
	* lib/exclude.h (new_exclude):
	* lib/xstrndup.h (xstrndup):
	Add malloc attribute.
	* lib/readutmp.c: Pacify GCC 8 about safe use of strncpy.
	* lib/sig-handler.h (get_handler) [SA_SIGINFO]: Simplify.
	This pacifies GCC 8.
	* m4/gnulib-common.m4 (gl_COMMON_BODY):
	Define _GL_ATTRIBUTE_MALLOC here.  All other definitions removed.

2018-05-03  Bruno Haible  <bruno@clisp.org>

	Simplify code. Drop support for Borland C++ on Windows.
	Reported by Gisle Vanem <gisle.vanem@gmail.com>.
	* lib/accept4.c: Simplify 'defined _WIN32 || defined __WIN32__' to just
	'defined _WIN32'.
	* lib/canonicalize-lgpl.c: Likewise.
	* lib/classpath.c: Likewise.
	* lib/clean-temp.c: Likewise.
	* lib/csharpexec.c: Likewise.
	* lib/ctime.c: Likewise.
	* lib/dosname.h: Likewise.
	* lib/dup2.c: Likewise.
	* lib/errno.in.h: Likewise.
	* lib/error.c: Likewise.
	* lib/euidaccess.c: Likewise.
	* lib/execute.c: Likewise.
	* lib/fcntl.in.h: Likewise.
	* lib/fcntl.c: Likewise.
	* lib/filename.h: Likewise.
	* lib/findprog.c: Likewise.
	* lib/flock.c: Likewise.
	* lib/fopen.c: Likewise.
	* lib/freopen.c: Likewise.
	* lib/fstat.c: Likewise.
	* lib/fsync.c: Likewise.
	* lib/gc-gnulib.c: Likewise.
	* lib/get-rusage-data.c: Likewise.
	* lib/getaddrinfo.c: Likewise.
	* lib/getdelim.c: Likewise.
	* lib/getdtablesize.c: Likewise.
	* lib/gethostname.c: Likewise.
	* lib/getlogin.c: Likewise.
	* lib/getlogin_r.c: Likewise.
	* lib/getopt.c: Likewise.
	* lib/getpagesize.c: Likewise.
	* lib/getpass.c: Likewise.
	* lib/getrusage.c: Likewise.
	* lib/gettimeofday.c: Likewise.
	* lib/glob.c: Likewise.
	* lib/inttypes.in.h: Likewise.
	* lib/isapipe.c: Likewise.
	* lib/javaexec.c: Likewise.
	* lib/link.c: Likewise.
	* lib/localcharset.c: Likewise.
	* lib/localename.h: Likewise.
	* lib/localename.c: Likewise.
	* lib/localtime.c: Likewise.
	* lib/lseek.c: Likewise.
	* lib/mbsinit.c: Likewise.
	* lib/mkdir.c: Likewise.
	* lib/msvc-nothrow.h: Likewise.
	* lib/nanosleep.c: Likewise.
	* lib/nl_langinfo.c: Likewise.
	* lib/nonblocking.c: Likewise.
	* lib/nproc.c: Likewise.
	* lib/open.c: Likewise.
	* lib/openpty.c: Likewise.
	* lib/pathmax.h: Likewise.
	* lib/pipe-filter-aux.c: Likewise.
	* lib/pipe-filter-gi.c: Likewise.
	* lib/pipe-filter-ii.c: Likewise.
	* lib/pipe.c: Likewise.
	* lib/pipe2.c: Likewise.
	* lib/poll.c: Likewise.
	* lib/popen.c: Likewise.
	* lib/posix_openpt.c: Likewise.
	* lib/printf-parse.c: Likewise.
	* lib/progreloc.c: Likewise.
	* lib/putenv.c: Likewise.
	* lib/read.c: Likewise.
	* lib/relocatable.c: Likewise.
	* lib/rename.c: Likewise.
	* lib/same-inode.h: Likewise.
	* lib/secure_getenv.c: Likewise.
	* lib/select.c: Likewise.
	* lib/sethostname.c: Likewise.
	* lib/setlocale.c: Likewise.
	* lib/sigaction.c: Likewise.
	* lib/sigprocmask.c: Likewise.
	* lib/sleep.c: Likewise.
	* lib/spawn-pipe.h: Likewise.
	* lib/spawn-pipe.c: Likewise.
	* lib/spawni.c: Likewise.
	* lib/stat-time.h: Likewise.
	* lib/stat-w32.c: Likewise.
	* lib/stat.c: Likewise.
	* lib/stdio.in.h: Likewise.
	* lib/stdio-impl.h: Likewise.
	* lib/stdio-read.c: Likewise.
	* lib/stdio-write.c: Likewise.
	* lib/stdlib.in.h: Likewise.
	* lib/strerror_r.c: Likewise.
	* lib/strftime-fixes.c: Likewise.
	* lib/sys_stat.in.h: Likewise.
	* lib/sys_types.in.h: Likewise.
	* lib/sys_wait.in.h : Likewise.
	* lib/system-quote.h: Likewise.
	* lib/system-quote.c: Likewise.
	* lib/tmpdir.c: Likewise.
	* lib/tzset.c: Likewise.
	* lib/uname.c: Likewise.
	* lib/unistd.in.h: Likewise.
	* lib/utime.in.h: Likewise.
	* lib/utime.c: Likewise.
	* lib/utimecmp.c: Likewise.
	* lib/utimens.c: Likewise.
	* lib/vasnprintf.c: Likewise.
	* lib/vma-iter.h: Likewise.
	* lib/vma-iter.c: Likewise.
	* lib/wait-process.c: Likewise.
	* lib/wcsftime.c: Likewise.
	* lib/wctype.in.h: Likewise.
	* lib/write.c: Likewise.
	* tests/nap.h: Likewise.
	* tests/test-cloexec.c: Likewise.
	* tests/test-dup-safer.c: Likewise.
	* tests/test-dup2.c: Likewise.
	* tests/test-dup3.c: Likewise.
	* tests/test-fcntl.c: Likewise.
	* tests/test-get-rusage-data.c: Likewise.
	* tests/test-getaddrinfo.c: Likewise.
	* tests/test-getlogin.h: Likewise.
	* tests/test-isatty.c: Likewise.
	* tests/test-localename.c: Likewise.
	* tests/test-mbrtowc-w32.c: Likewise.
	* tests/test-nonblocking.c: Likewise.
	* tests/test-nonblocking-pipe-main.c: Likewise.
	* tests/test-nonblocking-socket-main.c: Likewise.
	* tests/test-nonblocking-socket.h: Likewise.
	* tests/test-pipe.c: Likewise.
	* tests/test-pipe2.c: Likewise.
	* tests/test-poll.c: Likewise.
	* tests/test-pthread_sigmask1.c: Likewise.
	* tests/test-select.h: Likewise.
	* tests/test-sethostname2.c: Likewise.
	* tests/test-sigprocmask.c: Likewise.
	* tests/test-spawn-pipe-child.c: Likewise.
	* tests/test-stat-time.c: Likewise.
	* tests/test-system-quote-main.c: Likewise.
	* tests/test-utimens-common.h: Likewise.
	* tests/test-wcrtomb-w32.c: Likewise.
	* m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
	* m4/javacomp.m4 (gt_JAVACOMP): Likewise.
	* m4/javaexec.m4 (gt_JAVAEXEC): Likewise.
	* m4/locale-ar.m4 (gt_LOCALE_AR): Likewise.
	* m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
	* m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
	* m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
	* m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
	* m4/nocrash.m4 (GL_NOCRASH): Likewise.
	* m4/pathmax.m4 (gl_PATHMAX_SNIPPET): Likewise.
	* m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
	* m4/stdio_h.m4 (gl_STDIO_H): Likewise.
	* m4/tmpfile.m4 (gl_FUNC_TMPFILE): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H): Likewise.

2018-05-02  Bruno Haible  <bruno@clisp.org>

	localename: Fix test failures on mingw.
	* lib/localename.c (gl_locale_name_thread): Remove code specific to
	native Windows.
	(gl_locale_name_posix): Move code specific to native Windows here.
	* tests/test-localename.c (test_locale_name, test_locale_name_posix):
	Accept result without charset suffix, as it appears on mingw.

2018-04-28  Paul Smith  <psmith@gnu.org>

	bootstrap: Avoid gnulib operations if not needed
	* build-aux/bootstrap: Remove unused variable gnulib_mk.
	Set $gnulib_extra_files early so it can be overridden in .conf.
	Remove redundant --import flag from $gnulib_tool_options.
	Set $use_gnulib to false if no gnulib modules or files are needed.
	If $use_gnulib is false, don't do anything related to gnulib.
	A lot of this is just whitespace (indentation) changes.

2018-04-27  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: port to GCC 8.0
	* build-aux/gcc-warning.spec: Add -Wcatch-value,
	-Wclass-memaccess, -Wdo-subscript, -Wextra-semi.  Adjust to the
	fact that the GCC help message now mentions operands for
	-Warray-bounds, -Wformat, -Wformat-overflow, -Wformat-truncation,
	-Wimplicit-fallthrough, -Wplacement-new, -Wshift-overflow,
	-Wstrict-aliasing, -Wstrict-overflow, -Wstringop-overflow,
	and -Wunused-const-variable.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wattribute-alias,
	-Wcast-align=strict, -Wcast-function-type, -Wif-not-aligned,
	-Wmissing-attributes, -Wmultistatement-macros,
	-Wpacked-not-aligned, -Wsizeof-pointer-div, -Wstringop-truncation,
	-Wsuggest-attribute=cold, -Wsuggest-attribute=malloc.

2018-04-24  Bruno Haible  <bruno@clisp.org>

	sys_socket: Make SO_REUSEPORT available across platforms.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.
	* lib/sys_socket.in.h (SO_REUSEPORT): New macro.
	* doc/posix-headers/sys_socket.texi: Mention the issue.
	* tests/test-poll.c (SO_REUSEPORT): Remove.
	* tests/test-select.h: Include <sys/socket.h>.
	(SO_REUSEPORT): Remove.
	* modules/select-tests (Depends-on): Add 'sys_socket'.

2018-04-21  Benno Schulenberg  <bensberg@telfort.nl>  (tiny change)

	localcharset: short-circuit the search for an alias on a Mac
	* lib/localcharset.c (get_charset_aliases): Add a tautological
	UTF-8 entry to speed up the search for this case.
	Most machines default to a UTF-8 locale nowadays, so begin the
	list of aliases with a dummy UTF-8 entry so it will be found
	immediately and a time-consuming search through the rest of
	the list is avoided.

2018-04-11  Paul Eggert  <eggert@cs.ucla.edu>

	fts: add comment
	* lib/fts.c (fts_build): Explain why ==, not >.
	See remark by Bernhard Voelker in:
	https://lists.gnu.org/r/bug-gnulib/2018-04/msg00041.html

	fts: fix bug in find across filesystems
	This fixes a bug I introduced last summer.
	Problem reported by Kamil Dudka in:
	https://lists.gnu.org/r/bug-gnulib/2018-04/msg00033.html
	* lib/fts.c (filesystem_type, dirent_inode_sort_may_be_useful)
	(leaf_optimization):
	New arg for file descriptor.  All callers changed.
	(fts_build): Check for whether inodes should be sorted
	before closing the directory.

2018-04-07  Bruno Haible  <bruno@clisp.org>

	unicase/u*-context: Fix link errors with libunistring <= 0.9.9.
	Reported by Genki Sky <sky@genki.is>.
	* modules/unicase/u8-prefix-context (configure.ac): Require libunistring
	version 0.9.10 or newer.
	* modules/unicase/u8-suffix-context (configure.ac): Likewise.
	* modules/unicase/u16-prefix-context (configure.ac): Likewise.
	* modules/unicase/u16-suffix-context (configure.ac): Likewise.
	* modules/unicase/u32-prefix-context (configure.ac): Likewise.
	* modules/unicase/u32-suffix-context (configure.ac): Likewise.

2018-04-07  Bruno Haible  <bruno@clisp.org>

	execute: Update comment.
	* lib/execute.h (execute): Refer to spawn-pipe.h, not pipe.h.

2018-04-05  Paul Eggert  <eggert@cs.ucla.edu>

	fts: treat CIFS like NFS
	Problem reported by Kamil Dudka in:
	https://lists.gnu.org/r/bug-gnulib/2018-04/msg00015.html
	* lib/fts.c (S_MAGIC_CIFS): New macro.
	(dirent_inode_sort_may_be_useful, leaf_optimization):
	Treat CIFS like NFS.

2018-03-28  Bruno Haible  <bruno@clisp.org>

	c-stack: Fix possible build failure on some platforms.
	* lib/c-stack.c (die): Define whenever this function is referenced.

2018-03-28  Paul Eggert  <eggert@cs.ucla.edu>

	time_rz: fix workaround for Mac OS X 10.6 infloop
	Problems reported by Charles A. Roelli (Bug#27736#117).
	* m4/time_rz.m4 (gl_TIME_RZ): Use a slightly different timestamp.
	Also, discard output, which clutters the 'configure' log.

2018-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	havelib: port to Solaris 10 /bin/sh
	* m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Use 'test ! EXPR'
	instead of '! test EXPR'.

2018-03-26  Paul Eggert  <eggert@cs.ucla.edu>

	time_rz: work around Mac OS X 10.6 infloop
	* doc/posix-functions/localtime.texi:
	* doc/posix-functions/localtime_r.texi: Mention the bug.
	* lib/time_rz.c (localtime_rz): Work around the bug.  It’d be
	better to fix localtime and localtime_r instead, but that would be
	more work and is not needed to fix the Emacs problem.
	* m4/time_rz.m4 (gl_TIME_RZ): Detect the bug.

2018-03-24  Jim Meyering  <meyering@fb.com>

	test-version-etc.sh: don't use diff directly: use init.sh's compare
	We'd rather not sacrifice readable "diff -u" output even for
	"diff -c" output (not supported by busybox) or for even less
	readable ed-style "diff" output.  So use init.sh's compare function
	* tests/test-version-etc.sh: Source init.sh and add "." to path.
	Remove "./" from invocation of test-version-etc, so we use path.
	And s/diff/compare/.
	* modules/version-etc-tests (Depends-on): Add test-framework-sh,
	to get init.sh.
	Prompted by Eric Blake's comments in
	https://lists.gnu.org/r/sed-devel/2018-03/msg00015.html

2018-03-24  Bruno Haible  <bruno@clisp.org>

	javacomp-script, javacomp: Add support for Java 10.
	* m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 10 and
	target-version 10.
	* lib/javaversion.h: Update comments.
	* lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
	source_version_index, get_goodcode_snippet, get_failcode_snippet,
	TARGET_VERSION_BOUND, target_version_index,
	corresponding_classfile_version): Accept source_version 10 and
	target_version 10.
	* lib/javacomp.h: Update comments accordingly.

2018-03-24  Bruno Haible  <bruno@clisp.org>

	javacomp-script, javacomp: Update comments.
	* m4/javacomp.m4: Update comments regarding gcj.
	* lib/javacomp.h: Likewise.

2018-03-24  Bruno Haible  <bruno@clisp.org>

	javacomp-script, javacomp: Fix support for Java 7, 8, 9.
	* lib/javaversion.h: Update comments.
	* lib/javacomp.h: Likewise.
	* lib/javacomp.c (default_target_version, source_version_index,
	get_goodcode_snippet, get_failcode_snippet): Recognize "9" instead of
	"1.9".
	(TARGET_VERSION_BOUND): Bump to 9.
	(target_version_index, corresponding_classfile_version): Recognize "9"
	instead of "1.9".
	(get_source_version_for_javac): New function.
	(is_envjavac_nongcj_usable, is_javac_usable): Add
	source_version_for_javac argument.
	(compile_java_class): Determine and pass source_version_for_javac.
	* m4/javacomp.m4: Recognize version '9' instead of '1.9'. When invoking
	$JAVAC or javac, pass '-source 1.6' instead of '-source 1.5' when
	appropriate.

2018-03-23  Jim Meyering  <meyering@fb.com>

	test-version-etc.sh: port to diff without -c
	* tests/test-version-etc.sh: Don't use diff's -c option.
	This caused spurious test failure on Alpine Linux, which
	uses busybox's diff. Reported by Assaf Gordon in
	https://lists.gnu.org/r/sed-devel/2018-03/msg00013.html

2018-03-23  Paul Eggert  <eggert@cs.ucla.edu>

	c-stack: port to recent GCC build
	Problem reported by The Fireplace (Bug#30913).
	* lib/c-stack.c (die): Define only if used.

2018-03-20  Bruno Haible  <bruno@clisp.org>

	euidaccess: Port to native Windows.
	* lib/euidaccess.c (euidaccess): On native Windows, just use _access().
	* posix-modules (exclude_for_mingw): Remove 'euidaccess'.

2018-03-19  Bruno Haible  <bruno@clisp.org>

	javacomp: Add support for Java 7, 8, 9.
	* lib/javacomp.c (default_target_version, SOURCE_VERSION_BOUND,
	source_version_index, get_goodcode_snippet, get_failcode_snippet,
	corresponding_classfile_version): Accept source_version 1,7, 1.8, 1.9
	and target_version 1,7, 1.8, 1.9.
	* lib/javacomp.h: Update comments accordingly.

2018-03-19  Bruno Haible  <bruno@clisp.org>

	javacomp-script: Add support for Java 9.
	* m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.9 and
	target-version 1.9.

2018-03-16  Bruno Haible  <bruno@clisp.org>

	glob: Don't compile replacements on recent glibc systems.
	* lib/glob.in.h: Use the usual idiom for the double-inclusion guard. If
	REPLACE_GLOB is 0, include the system's <glob.h> and use
	_GL_CXXALIAS_SYS.
	* m4/glob.m4 (gl_GLOB): Set REPLACE_GLOB instead of GLOB_H. Accept
	_GNU_GLOB_INTERFACE_VERSION 2 as well. Delete the file conf$$-globtest
	inside the AC_RUN_IFELSE block. Remove GL_GENERATE_GLOB_H conditional.
	* modules/glob (Dependencies): Test REPLACE_GLOB instead of GLOB_H.
	Remove snippet/warn-on-use.
	(configure.ac): Test REPLACE_GLOB instead of GLOB_H.
	(Makefile.am): Create glob.h always. Update list of substitutions in
	glob.h. Don't depend on $(WARN_ON_USE_H).

2018-03-16  Bruno Haible  <bruno@clisp.org>

	glob: Fix link error on native Windows.
	* modules/glob (Depends-on): Add 'lstat'.

2018-03-15  Bruno Haible  <bruno@clisp.org>

	glob: Fix compilation error in C++ mode.
	* lib/glob.in.h (_Restrict_): Define, like in regex.h and spawn.in.h.

2018-03-15  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Support for RISC-V CPU.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the various
	riscv32 and riscv64 ABIs.
	References:
	https://github.com/riscv/riscv-toolchain-conventions
	https://gcc.gnu.org/onlinedocs/gcc-7.3.0/gcc/RISC-V-Options.html
	https://gnu-mcu-eclipse.github.io/toolchain/riscv/

2018-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	fflush: be more paranoid about libio.h change
	Suggested by Eli Zaretskii in:
	https://lists.gnu.org/r/emacs-devel/2018-03/msg00270.html
	* lib/fbufmode.c (fbufmode):
	* lib/fflush.c (clear_ungetc_buffer_preserving_position)
	(disable_seek_optimization, rpl_fflush):
	* lib/fpending.c (__fpending):
	* lib/fpurge.c (fpurge):
	* lib/freadable.c (freadable):
	* lib/freadahead.c (freadahead):
	* lib/freading.c (freading):
	* lib/freadptr.c (freadptr):
	* lib/freadseek.c (freadptrinc):
	* lib/fseeko.c (fseeko):
	* lib/fseterr.c (fseterr):
	* lib/fwritable.c (fwritable):
	* lib/fwriting.c (fwriting):
	Look at _IO_ftrylockfile as well as at _IO_EOF_SEEN.

2018-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	maint: write-file-hooks -> before-save-hook
	write-file-hooks is obsolete since Emacs 22.1 (released June 2007) and
	it's time to use the recommended replacement.
	Problem reported by Glenn Morris in:
	https://lists.gnu.org/r/bug-gnulib/2018-03/msg00008.html
	* build-aux/announce-gen, build-aux/bootstrap:
	* build-aux/do-release-commit-and-tag, build-aux/gendocs.sh:
	* build-aux/git-version-gen, build-aux/gitlog-to-changelog:
	* build-aux/gnu-web-doc-update, build-aux/gnupload:
	* build-aux/move-if-change, build-aux/prefix-gnulib-mk:
	* build-aux/update-copyright, build-aux/useless-if-before-free:
	* build-aux/vc-list-files:
	Update hook usage for files where Gnulib is the canonical source.

2018-03-05  Paul Eggert  <eggert@cs.ucla.edu>

	binary-io: pacify gcc -Wunused-parameter
	Problem reported by Reuben Thomas in:
	https://lists.gnu.org/r/bug-gnulib/2018-03/msg00005.html
	* lib/binary-io.h (__gl_setmode, __gl_setmode_check):
	Use _GL_UNUSED where appropriate.

	fflush: adjust to glibc 2.28 libio.h removal
	Problem reported by Daniel P. Berrangé in:
	https://lists.gnu.org/r/bug-gnulib/2018-03/msg00000.html
	* lib/fbufmode.c (fbufmode):
	* lib/fflush.c (clear_ungetc_buffer_preserving_position)
	(disable_seek_optimization, rpl_fflush):
	* lib/fpending.c (__fpending):
	* lib/fpurge.c (fpurge):
	* lib/freadable.c (freadable):
	* lib/freadahead.c (freadahead):
	* lib/freading.c (freading):
	* lib/freadptr.c (freadptr):
	* lib/freadseek.c (freadptrinc):
	* lib/fseeko.c (fseeko):
	* lib/fseterr.c (fseterr):
	* lib/fwritable.c (fwritable):
	* lib/fwriting.c (fwriting):
	Check _IO_EOF_SEEN instead of _IO_ftrylockfile.
	* lib/stdio-impl.h (_IO_IN_BACKUP) [_IO_EOF_SEEN]:
	Define if not already defined.

2018-02-27  Paul Eggert  <eggert@cs.ucla.edu>

	environ: fix link error on 32-bit Cygwin
	Problem reported for GNU Emacs by Ken Brown in:
	https://lists.gnu.org/r/emacs-devel/2018-02/msg00765.html
	* lib/unistd.in.h (environ) [__i386__]: Do not redeclare.

2018-02-24  Bruno Haible  <bruno@clisp.org>

	mbrtowc tests: Fix regression on glibc.
	Reported by Bernhard Voelker.
	* tests/test-mbrtowc.c (main): Fix expected value of wc.

2018-02-24  Bruno Haible  <bruno@clisp.org>

	striconveha, uniconv/*: Avoid test failures on musl libc.
	* tests/iconvsupport.c: New file.
	* tests/test-striconveha.c (main): Skip autodetect_jp tests if iconv()
	does not support the ISO-2022-JP-2 encoding.
	* tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
	* modules/striconveha-tests (Files): Add tests/iconvsupport.c.
	(Makefile.am): Link test-striconveha with iconvsupport.o.
	* modules/uniconv/u8-conv-from-enc-tests (Files): Add
	tests/iconvsupport.c.
	(Makefile.am): Link test-u8-conv-from-enc with iconvsupport.o.
	* modules/uniconv/u8-strconv-from-enc-tests (Files): Add
	tests/iconvsupport.c.
	(Makefile.am): Link test-u8-strconv-from-enc with iconvsupport.o.
	* modules/uniconv/u16-conv-from-enc-tests (Files): Add
	tests/iconvsupport.c.
	(Makefile.am): Link test-u16-conv-from-enc with iconvsupport.o.
	* modules/uniconv/u16-strconv-from-enc-tests (Files): Add
	tests/iconvsupport.c.
	(Makefile.am): Link test-u16-strconv-from-enc with iconvsupport.o.
	* modules/uniconv/u32-conv-from-enc-tests (Files): Add
	tests/iconvsupport.c.
	(Makefile.am): Link test-u32-conv-from-enc with iconvsupport.o.
	* modules/uniconv/u32-strconv-from-enc-tests (Files): Add
	tests/iconvsupport.c.
	(Makefile.am): Link test-u32-strconv-from-enc with iconvsupport.o.

2018-02-24  Bruno Haible  <bruno@clisp.org>

	localename: Add support for musl libc.
	* m4/localename.m4 (gl_LOCALENAME): Check for <langinfo.h>.
	* lib/localename.c (gl_locale_name_thread_unsafe): Use NL_LOCALE_NAME
	on Linux platforms which define NL_LOCALE_NAME.

2018-02-24  Bruno Haible  <bruno@clisp.org>

	mbrtowc tests: Don't make assumptions about the charset the C locale.
	* tests/test-mbrtowc.c (main): For bytes >= 0x80, don't assume a
	particular mapping in the C locale.

2018-02-24  Bruno Haible  <bruno@clisp.org>

	ptsname_r: Don't expect that this function sets errno.
	* tests/test-ptsname_r.c (test_errors): Don't test errno after return
	from ptsname_r().
	* doc/glibc-functions/ptsname_r.texi: Mention the issue.

2018-02-23  Bruno Haible  <bruno@clisp.org>

	xmalloca: pacify gcc -Wbad-function-cast
	* lib/xmalloca.h (xmalloca): Insert intermediate cast here as well.

2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>

	nl_langinfo: pacify gcc -Wunused-function
	* lib/nl_langinfo.c (ctype_codeset): Do not define if
	REPLACE_NL_LANGINFO && !GNULIB_defined_CODESET, as it is unused in
	this case.  Without this change, I got a diagnostic when building
	coreutils on Fedora 27 with gcc 7.3.1 20180130.

	same: pacify gcc -Wunused-variable
	* lib/same.c (same_nameat) [!CHECK_TRUNCATION]:
	Omit unused variable.

	malloca: pacify gcc -Wbad-function-cast
	* lib/malloca.h (malloca): Pacify gcc -Wbad-function-cast
	diagnostic that I got on Fedora 27 with gcc 7.3.1 20180130.
	To pacify GCC, I had to cast alloca’s result to some type other
	than void * before casting that to uintptr_t.

2018-02-20  Paul Eggert  <eggert@cs.ucla.edu>

	utimecmp: new function utimecmpat
	* lib/utimecmp.c: Include fcntl.h, sys/stat.h and dirname.h.
	Do not include utimens.h.
	(utimecmpat): New function, generalizing utimecmp.
	(utimecmp): Now a thin layer around utimecmpat.
	* modules/utimecmp (Depends-on): Depend on dirname-lgpl, fstatat,
	utimensat instead of on lstat and utimens.

	same: new function same_nameat
	* lib/same.c: Include fcntl.h.
	* lib/same.c (same_nameat): New function, generalizing same_name.
	(same_name): Now a thin layer around same_nameat.
	* m4/same.m4 (gl_SAME): Check for fpathconf, not pathconf.
	* modules/same (Depends-on): Depend on fstatat, openat.

2018-02-18  Eric Gallager  <egall@gwmail.gwu.edu>  (tiny change)

	warnings: Add support for Objective C.
	* m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(Objective C)): New
	macro.

2018-02-17  Bruno Haible  <bruno@clisp.org>

	lock: Fix test-once1 crash on FreeBSD11.
	* lib/glthread/lock.h: On FreeBSD, test the weak value of the symbol
	'pthread_create', not 'pthread_cancel'.

2018-02-17  Bruno Haible  <bruno@clisp.org>

	lock: Add test of gl_once.
	* tests/test-once.c: New file.
	* modules/lock-tests (Files): Add it.
	(Makefile.am): Build and test programs 'test-once1' and 'test-once2'.

2018-02-17  Bruno Haible  <bruno@clisp.org>

	thread: Fix compilation error on IRIX.
	* lib/glthread/thread.h: Include <unistd.h>. Include <signal.h> when
	needed; include it outside the C++ extern "C" {} block.
	* doc/posix-headers/pthread.texi: Mention the problem with
	pthread_atfork on IRIX.

2018-02-04  Bruno Haible  <bruno@clisp.org>

	nl_langinfo: Override the system's nl_langinfo() when needed.
	Reported by Jim Meyering.
	* m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Set REPLACE_NL_LANGINFO=1
	also when HAVE_LANGINFO_T_FMT_AMPM or HAVE_LANGINFO_ALTMON is 0.

2018-02-04  Bruno Haible  <bruno@clisp.org>

	signal-h, monetary, strings: Fix build failure in some cases.
	Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
	* modules/signal-h (Makefile.am): In the GNULIB_* substitutions, use '/'
	as delimiter in sed command, not '|'.
	* modules/monetary (Makefile.am): Likewise.
	* modules/strings (Makefile.am): Likewise.

2018-02-03  Jim Meyering  <meyering@fb.com>

	maint.mk: exempt "/proc/filesystems" from "file system" syntax check
	* top/maint.mk (sc_file_system): Don't complain about
	"/proc/filesystems".

2018-02-03  Bruno Haible  <bruno@clisp.org>

	stdlib: Fix compilation error on OpenIndiana.
	* lib/stdlib.in.h: Before including <sys/loadavg.h>, include
	<sys/time.h>.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
	* m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.

2018-02-03  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Avoid use of 'grep -E' on OpenIndiana.
	* m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX): Require AC_PROG_EGREP,
	and use $EGREP instead of 'grep -E'.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Use 'grep' instead of
	'grep -E'.

2018-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	malloca: Add a compile-time verification.
	* lib/malloca.c (small_t): Verify that it is wide enough.
	* modules/malloca (Depends-on): Add verify.

2018-02-02  Bruno Haible  <bruno@clisp.org>

	malloca: Add an argument check.
	Suggested by Paul Eggert.
	* lib/malloca.c (freea): Check against an invalid argument.

2018-02-02  Bruno Haible  <bruno@clisp.org>

	localename: Add support for OpenIndiana.
	* lib/localename.c (gl_locale_name_thread_unsafe): Add code for
	Solaris 11 variants with uselocale() but without getlocalename_l().

2018-02-02  Bruno Haible  <bruno@clisp.org>

	malloca, xmalloca: Make multithread-safe.
	Reported by Florian Weimer <fweimer@redhat.com>.
	Implements an idea by Ondřej Bílka <neleai@seznam.cz>.
	* lib/malloca.h (malloca): In the stack allocation case, return a
	pointer that is a multiple of 2 * sa_alignment_max.
	(sa_increment): Remove enum item.
	* lib/xmalloca.h (xmalloca): In the stack allocation case, return
	a pointer that is a multiple of 2 * sa_alignment_max.
	* lib/malloca.c (NO_SANITIZE_MEMORY): Remove macro.
	(MAGIC_NUMBER, MAGIC_SIZE, preliminary_header, HEADER_SIZE, header,
	HASH_TABLE_SIZE, mmalloca_results): Remove.
	(small_t): New type.
	(mmalloca, free): Rewritten.
	* lib/malloca.valgrind: Remove file.
	* modules/malloca (Files): Remove it.
	(Depends-on): Remove verify.

2018-01-31  Bruno Haible  <bruno@clisp.org>

	environ: Fix link error on 64-bit Cygwin.
	* lib/unistd.in.h (environ): On Cygwin, redeclare with the
	__declspec(dllimport) attribute.
	* doc/posix-functions/environ.texi: Mention the Cygwin problem.

2018-01-30  Bruno Haible  <bruno@clisp.org>

	get-rusage-data: Add support for Minix 3.
	* lib/get-rusage-data.c (get_rusage_data): Return 0 on Minix.

2018-01-30  Bruno Haible  <bruno@clisp.org>

	vma-iter: Add support for Minix 3.
	* lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Minix.
	* lib/vma-iter.c: On Minix, read /proc/<pid>/map.

2018-01-27  Bruno Haible  <bruno@clisp.org>

	Fix malfunction of socket functions on HP-UX in 64-bit mode.
	* m4/socketlib.m4 (gl_SOCKETLIB): Add comment.
	* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define
	_HPUX_ALT_XOPEN_SOCKET_API.
	* modules/accept (Depends-on): Add 'extensions'.
	* modules/getpeername (Depends-on): Likewise.
	* modules/getsockname (Depends-on): Likewise.
	* modules/getsockopt (Depends-on): Likewise.
	* modules/recvfrom (Depends-on): Likewise.
	* doc/posix-functions/accept.texi: Mention the HP-UX socklen_t problem.
	* doc/posix-functions/getpeername.texi: Likewise.
	* doc/posix-functions/getsockname.texi: Likewise.
	* doc/posix-functions/getsockopt.texi: Likewise.
	* doc/posix-functions/recvfrom.texi: Likewise.

2018-01-27  Bruno Haible  <bruno@clisp.org>

	getsockname tests: More tests.
	* tests/test-getsockname.c (open_server_socket): New function, mostly
	copied from test-poll.c.
	(main): Check that getsockname fills in addr.
	* modules/getsockname-tests (Depends-on): Add the necessary
	dependencies.
	(test_getsockname_LDADD): Link with $(INET_PTON_LIB).

2018-01-26  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: fix maintainer comment
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Fix comment so that
	it does not mistakenly think that ‘-1)’ is an option.

2018-01-26  Bruno Haible  <bruno@clisp.org>

	langinfo: Fix last commit.
	Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
	* modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_ALTMON.

2018-01-24  Bruno Haible  <bruno@clisp.org>

	langinfo, nl_langinfo: Add support for alternative month names.
	* m4/langinfo_h.m4 (gl_LANGINFO_H): Define HAVE_LANGINFO_ALTMON.
	* lib/langinfo.in.h (ALTMON_1...ALTMON_12): New macros.
	* lib/nl_langinfo.c (rpl_nl_langinfo): Treat ALTMON_i like MON_i.
	* tests/test-nl_langinfo.c (main): Test ALTMON_*.
	* doc/posix-headers/langinfo.texi: Document support of ALTMON_*.
	* doc/posix-functions/nl_langinfo.texi: Likewise.

2018-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	Merge strftime.c changes from glibc
	This incorporates:
	2017-11-14 [BZ #10871] Implement alternative month names
	2017-11-14 [BZ #10871] Abbreviated alternative month names (%Ob)
	2017-06-20 Use locale_t, not __locale_t, throughout glibc
	* lib/nstrftime.c (ABALTMON_1) [!COMPILE_WIDE]: New macro.
	(LOCALE_PARAM) [_LIBC && USE_IN_EXTENDED_LOCALE_MODEL]:
	Use locale_t, not __locale_t.
	(a_altmonth, f_altmonth, aam_len) [_NL_CURRENT]: New macros.
	(__strftime_internal): Add support for alternate months.

2018-01-23  Bruno Haible  <bruno@clisp.org>

	doc: Mention another prerequisite for using Gnulib.
	Reported at <https://stackoverflow.com/questions/48378214/>.
	* doc/gnulib-tool.texi (Initial import): Mention requirement to use
	AC_CONFIG_HEADERS.

2018-01-22  Mathieu Lirzin  <mthl@gnu.org>

	build: GuixSD doesn't have /bin/bash
	* Makefile (SHELL): Search 'bash' in the PATH environment variable.

2018-01-21  Bruno Haible  <bruno@clisp.org>

	Avoid test failures on Microsoft Windows Subsystem for Linux.
	* tests/test-fcntl.c (main): Allow a different errno.
	* tests/test-rename.h (test_rename): Likewise.
	* tests/test-renameat.c (main): Likewise.
	* tests/test-renameat2.c (main): Likewise.

2018-01-14  Paul Eggert  <eggert@cs.ucla.edu>

	filenamecat: make base a suffix of result
	* lib/filenamecat-lgpl.c (longest_relative_suffix): Remove.
	(mfile_name_concat): Always make BASE a suffix of the result, as
	cp expects this.  To implement this, separate with '.' instead of
	'/' in some rare cases.  Clarify spec to say ./BASE not BASE.
	* tests/test-filenamecat.c (main): Adjust tests to match
	current behavior.  Check that BASE_IN_RESULT points to
	a copy of BASE and is a suffix of the resultk, and that DIR
	is a prefix of the result that is no longer than the prefix
	indicated by BASE_IN_RESULT.

2018-01-04  Mathieu Lirzin  <mthl@gnu.org>

	update-copyright: Handle use of ©
	* build-aux/update-copyright ($circle_c_re): Update regex to
	handle use of © in headers.

2018-01-04  Tim Rühsen  <tim.ruehsen@gmx.de>

	Fix -Wundef warning in user-included header lib/cdefs.h.
	* lib/cdefs.h: Check if defined before using __USE_FORTIFY_LEVEL.

2018-01-04  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Avoid compilation error on mingw.
	Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
	* lib/signal.in.h (pthread_sigmask): Don't declare it it's defined as a
	macro.

2018-01-03  Paul Eggert  <eggert@cs.ucla.edu>

	test-framework-sh: ‘ps -ef’, not ‘ps ef’
	* tests/init.sh (rand_bytes_): Put ‘-’ before new-style ps options.
	Suggested by Bob Proulx (Bug#29968).
	* build-aux/mktempd (rand_bytes): Make it like tests/init.sh.

2018-01-02  Eric Blake  <eblake@redhat.com>

	stat-time: silence -Wunused-parameter regression
	* lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
	Prefer attribute over cast-to-void.
	(stat_time_normalize): Mark st as potentially unused.

2018-01-02  Paul Eggert  <eggert@cs.ucla.edu>

	test-framework-sh: avoid netstat
	Problem reported by Kristýna Streitová (Bug#29947).
	* tests/init.sh (rand_bytes_): Stop using netstat, as it's
	deprecated on SuSE and it's not that important anyway.

2018-01-01  Jim Meyering  <meyering@fb.com>

	update-copyright: add code to handle more special cases
	After running "make update-copyright" this year, five files
	required additional manual changes.  Automate those adjustments
	for next year.
	* Makefile (_year_and_prev): Define.
	(update-copyright): Add perl commands to induce this year's post-
	update-copyright adjustments.

2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	version-etc: new year
	* build-aux/gendocs.sh (version):
	* doc/gendocs_template:
	* doc/gendocs_template_min:
	* doc/gnulib.texi:
	* lib/version-etc.c (COPYRIGHT_YEAR):
	Update copyright dates by hand in templates and the like.

	maint: fix 'make update-copyright'
	* Makefile (update-copyright): Adjust to 2016-11-23 change
	to config/srclist-update, which changed the format of srclist.txt.

2017-12-30  Paul Eggert  <eggert@cs.ucla.edu>

	chdir-safer: remove this module
	* MODULES.html.sh (func_all_modules): Remove chdir-safer.
	* NEWS: Document removal.
	* lib/chdir-safer.c, lib/chdir-safer.h, m4/afs.m4, m4/chdir-safer.m4:
	* modules/chdir-safer: Remove these files.

2017-12-29  Samuel Thibault  <samuel.thibault@gnu.org>

	Add cross-compilation results for GNU/Hurd.
	* m4/calloc.m4: Add GNU/Hurd guess.
	* m4/cbrtl.m4: Likewise.
	* m4/ceil.m4: Likewise.
	* m4/ceilf.m4: Likewise.
	* m4/ceill.m4: Likewise.
	* m4/chown.m4: Likewise.
	* m4/duplocale.m4: Likewise.
	* m4/exp2l.m4: Likewise.
	* m4/expm1.m4: Likewise.
	* m4/fchdir.m4: Likewise.
	* m4/floor.m4: Likewise.
	* m4/floorf.m4: Likewise.
	* m4/fmod.m4: Likewise.
	* m4/fmodf.m4: Likewise.
	* m4/fmodl.m4: Likewise.
	* m4/getcwd.m4: Likewise.
	* m4/getgroups.m4: Likewise.
	* m4/gettimeofday.m4: Likewise.
	* m4/hypot.m4: Likewise.
	* m4/hypotf.m4: Likewise.
	* m4/hypotl.m4: Likewise.
	* m4/link-follow.m4: Likewise.
	* m4/link.m4: Likewise.
	* m4/linkat.m4: Likewise.
	* m4/log.m4: Likewise.
	* m4/log10.m4: Likewise.
	* m4/log10f.m4: Likewise.
	* m4/log1p.m4: Likewise.
	* m4/log1pf.m4: Likewise.
	* m4/log1pl.m4: Likewise.
	* m4/log2.m4: Likewise.
	* m4/log2f.m4: Likewise.
	* m4/logf.m4: Likewise.
	* m4/lstat.m4: Likewise.
	* m4/malloc.m4: Likewise.
	* m4/mbrlen.m4: Likewise.
	* m4/mbrtowc.m4: Likewise.
	* m4/mkdir.m4: Likewise.
	* m4/mkfifo.m4: Likewise.
	* m4/mknod.m4: Likewise.
	* m4/mkstemp.m4: Likewise.
	* m4/modf.m4: Likewise.
	* m4/modff.m4: Likewise.
	* m4/modfl.m4: Likewise.
	* m4/printf.m4: Likewise.
	* m4/pselect.m4: Likewise.
	* m4/ptsname.m4: Likewise.
	* m4/putenv.m4: Likewise.
	* m4/readlink.m4: Likewise.
	* m4/realloc.m4: Likewise.
	* m4/remainder.m4: Likewise.
	* m4/remainderf.m4: Likewise.
	* m4/remainderl.m4: Likewise.
	* m4/rmdir.m4: Likewise.
	* m4/round.m4: Likewise.
	* m4/roundf.m4: Likewise.
	* m4/roundl.m4: Likewise.
	* m4/select.m4: Likewise.
	* m4/setenv.m4: Likewise.
	* m4/signbit.m4: Likewise.
	* m4/sleep.m4: Likewise.
	* m4/stat.m4: Likewise.
	* m4/strerror.m4: Likewise.
	* m4/strtok_r.m4: Likewise.
	* m4/symlink.m4: Likewise.
	* m4/symlinkat.m4: Likewise.
	* m4/trunc.m4: Likewise.
	* m4/truncf.m4: Likewise.
	* m4/truncl.m4: Likewise.
	* m4/tzset.m4: Likewise.
	* m4/ungetc.m4: Likewise.
	* m4/usleep.m4: Likewise.
	* m4/wcwidth.m4: Likewise.

2017-12-28  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Make --conditional-dependencies work better.
	Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
	* gnulib-tool (Options): Don't reject the combination of
	--conditional-dependencies with --with-tests.
	(func_emit_autoconf_snippets): Add argument referenceable_modules.
	Don't reference $modules.
	(func_import, func_create_testdir): Pass it.

2017-12-19  Paul Eggert  <eggert@cs.ucla.edu>

	regex: use re_malloc etc. consistently
	Problem and original patch reported by Arnold Robbins in:
	https://sourceware.org/ml/libc-alpha/2017-12/msg00241.html
	* lib/regcomp.c (re_comp):
	* lib/regexec.c (push_fail_stack, build_trtable, match_ctx_clean):
	Use re_malloc/re_realloc/re_free instead of malloc/realloc/free.

2017-12-15  Tim Rühsen  <tim.ruehsen@gmx.de>
            Paul Eggert  <eggert@cs.ucla.edu>

	glob: Silence warning about void pointer arithmetic.
	* lib/glob.c (glob): Use a 'char *', not a 'void *', in pointer
	arithmetic.

2017-12-15  Bruno Haible  <bruno@clisp.org>

	spawn-pipe: Silence a clang warning.
	Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
	* lib/spawn-pipe.c: Disable clang -Wconditional-uninitialized warnings
	in this file.

2017-12-12  Paul Eggert  <eggert@cs.ucla.edu>

	explicit_bzero: port to macOS + Clang 9.0.0
	Problem reported by Marcus Johnson (Bug#29658).
	* lib/explicit_bzero.c (explicit_bzero) [__clang__]:
	Don’t use asm.

2017-12-11  Reuben Thomas  <rrt@sc3d.org>

	doc: Improve explanation of supporting relocatable libraries.
	* doc/relocatable-maint.texi (Supporting Relocation): Explain
	properly how to build the relocatable module for
	libraries. (Method and example code from Bruno Haible.)

2017-12-11  Reuben Thomas  <rrt@sc3d.org>

	doc: Use better texinfo tags in a few cases.
	* doc/gnulib.texi (Extending Gnulib): Use @option or @command
	instead of @samp in a few places.

2017-12-11  Bruno Haible  <bruno@clisp.org>

	unistr/base: Update comment.
	* lib/unistr.in.h: Update comment about u*_mbtouc_unsafe functions.

2017-12-10  Pádraig Brady  <P@draigBrady.com>

	test-faccessat.c: unlink temp file to avoid subsequent test failure
	* tests/test-faccessat.c: Remove the file to avoid failure
	to open the file on subsequent runs due to being created
	with no permissions.

2017-12-10  Bruno Haible  <bruno@clisp.org>

	doc: New sect. "Modifying the build rules of a Gnulib import directory".
	* doc/gnulib-tool.texi (Modified build rules): New node.

2017-12-10  Bruno Haible  <bruno@clisp.org>

	doc: Tweak wording.
	* doc/gnulib-tool.texi (Multiple instances): Talk about "programs", not
	"binaries".

2017-12-05  Sam Steingold  <sds@gnu.org>
            Bruno Haible  <bruno@clisp.org>

	no-c++: Avoid "egrep: repetition-operator operand invalid" error.
	* m4/no-c++.m4 (gt_NO_CXX): Don't use '+' characters nor spaces in the
	AC_EGREP_CPP pattern.

2017-12-03  Bruno Haible  <bruno@clisp.org>

	all: Replace more http URLs by https URLs.
	* lib/sm3.h, lib/sm3.c, tests/test-sm3.c: Use https: URL.
	* lib/unigbrk/u-grapheme-breaks.h: Likewise.
	* lib/unigbrk/uc-grapheme-breaks.c: Likewise.
	* tests/unigbrk/test-uc-grapheme-breaks.c: Likewise.

2017-11-28  Paul Eggert  <eggert@cs.ucla.edu>

	Port better to CentOS 5
	Problems reported by Tom G. Christensen in:
	https://lists.gnu.org/r/bug-gnulib/2017-11/msg00053.html
	* doc/glibc-functions/strverscmp.texi (strverscmp):
	Document strverscmp bug with glibc 2.9 and earlier.
	* doc/posix-functions/tzset.texi (tzset):
	Document that TZ with angle brackets is POSIX-2001 and later.
	* tests/test-nstrftime.c: Include unistd.h.
	(TZ_ANGLE_BRACKETS_SHOULD_WORK): New macro.
	(TZ): Use it to skip tests with angle brackets in TZ,
	for older systems.

	stat: add missing module dependencies
	* modules/lstat, modules/stat, modules/utimensat (Depends-on):
	Add stat-time.

2017-11-28  Benno Schulenberg  <bensberg@telfort.nl>

	stat: fix compilation failure on macOS Sierra
	Reported by Marius Schamschula <mschamschula@gmail.com>	in:
	https://savannah.gnu.org/bugs/?52546
	* lib/stat.c: Add missing include of stat-time.h.

2017-11-28  Jim Meyering  <meyering@fb.com>

	test-faccessat.c: correct BASE definition to avoid parallel test failure
	* tests/test-faccessat.c (BASE): Define using this file's name, not
	that of test-lstat.c.  Using the latter caused this test to fail
	sometimes when run concurrently with test-lstat.

2017-11-27  Daiki Ueno  <ueno@gnu.org>

	unicase: fix VPATH build
	* modules/unicase/special-casing (Makefile.am): Ensure that the
	base directory is created when generating
	unicase/special-casing.h.

2017-11-27  Daiki Ueno  <ueno@gnu.org>

	libunistring: update to Unicode 9.0.0
	* lib/gen-uni-tables.c (fill_properties): Recognize
	Sentence_Terminal and Prepended_Concatenation_Mark.
	(is_property_default_ignorable_code_point): Exclude U+08E2.
	(fill_arabicshaping): Allow missing whitespace when parsing;
	recognize "AFRICAN FEH", "AFRICAN QAF", and "AFRICAN MOON".
	(output_blocks): Increase the element size of the level1 table to
	accommodate more blocks.
	(get_lbp): Recognize ZWJ, E_Base, and E_Modifier characters;
	Update each class according to the standard.
	(get_wbp): Recognize ZWJ, E_Base, E_Modifier, Glue_After_Zwj, and
	E_Base_GAZ characters.
	(output_gbp_table): Recognize ZWJ, E_Base, E_Modifier,
	Glue_After_Zwj, and E_Base_GAZ characters.
	* lib/unictype.in.h (UC_JOINING_GROUP_AFRICAN_FEH)
	(UC_JOINING_GROUP_AFRICAN_QAF, UC_JOINING_GROUP_AFRICAN_MOON): New
	enum value.
	* lib/unilbrk/lbrktables.h (LBP_ZWJ, LBP_EB, LBP_EM): New enum
	value.
	* lib/unilbrk/lbrktables.c (unilbrk_table): Extend the table with
	LBP_ZWJ, LBP_EB, and LBP_EM.
	* lib/uniwbrk.in.h (WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, WBP_EBG): New
	enum value.
	* lib/uniwbrk/u-wordbreaks.h: Implement WB3c, WB15, and WB16.
	* lib/uniwbrk/wbrktable.h (uniwbrk_prop_index): New variable
	declaration.
	* lib/uniwbrk/wbrktable.c (uniwbrk_prop_index): New variable.
	(uniwbrk_table): Implement WB14.
	* tests/uniwbrk/test-uc-wordbreaks.c (wordbreakproperty_to_string):
	Check WBP_ZWJ, WBP_EB, WBP_EM, WBP_GAZ, and WBP_EBG.
	* modules/unigbrk/u{32,16,8}-grapheme-breaks: No longer depend on
	uc-is-grapheme-break.
	* modules/unigbrk/uc-grapheme-breaks: New module.
	* modules/unigbrk/uc-grapheme-breaks-tests: New module.
	* lib/unigbrk.in.h (GBP_ZWJ, GBP_EB, GBP_EM, GBP_GAZ, GBP_EBG): New
	enum value.
	(uc_grapheme_breaks): New function, replacing uc_is_grapheme_break.
	* lib/unigbrk/u-grapheme-breaks.h: New file.
	* lib/unigbrk/u{32,16,8}-grapheme-breaks.c: Rewrite using
	u-grapheme-breaks.h instead of uc_is_grapheme_break.
	* lib/unigbrk/uc-grapheme-breaks.c: New file.
	* lib/unigbrk/uc-is-grapheme-break.c: Partially update to TR29 rev
	29.
	* tests/unigbrk/test-uc-gbrk-prop.c
	(graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
	GBP_GAZ, and GBP_EBG.
	* tests/unigbrk/test-uc-grapheme-breaks.c: New test.
	* tests/unigbrk/test-uc-is-grapheme-break.c
	(graphemebreakproperty_to_string): Check GBP_ZWJ, GBP_EB, GBP_EM,
	GBP_GAZ, and GBP_EBG.
	(main): Skip unsupported rules involving 3 or more characters,
	namely GB10, GB12, and GB13.
	* lib/uniwidth/width.c (nonspacing_table_data): Update.
	* all generated files under lib/uni* and tests/uni*: Regenerate.
	* all the affected modules: Bump version.

2017-11-26  Bruno Haible  <bruno@clisp.org>

	strfmon_l: Fix compilation error with glibc 2.5.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>
	in <https://lists.gnu.org/r/bug-gnulib/2017-11/msg00051.html>.
	* lib/monetary.in.h: Include also <locale.h>.

2017-11-24  Paul Eggert  <eggert@cs.ucla.edu>

	posixtm: remove PDS_LEADING_YEAR
	This changes the API slightly, in a hopefully-innocuous way.
	Without this change the code had undefined behavior when a
	caller specified neither PDS_LEADING_YEAR nor PDS_TRAILING_YEAR.
	Problem reported by Pádraig Brady in:
	https://lists.gnu.org/r/bug-gnulib/2017-11/msg00048.html
	* NEWS: Mention this.
	* lib/posixtm.c (posix_time_parse): Treat the absence of
	PDS_TRAILING_YEAR as if PDS_LEADING_YEAR were present.
	* lib/posixtm.h (PDS_LEADING_YEAR): Remove (actually, leave it
	present, but define it as zero, for compatibility with existing
	source code).  All other PDS_* values moved up.
	* tests/test-posixtm.c (LY): New macro.
	(T): Use it.  Do not expect a particular numeric encoding
	for PDS_CENTURY etc.

2017-11-23  Paul Eggert  <eggert@cs.ucla.edu>

	stat: work around Solaris bug with tv_nsec < 0
	* doc/posix-functions/fstat.texi (fstat):
	* doc/posix-functions/fstatat.texi (fstatat):
	* doc/posix-functions/lstat.texi (lstat):
	* doc/posix-functions/stat.texi (stat):
	Mention Solaris 11 bug.
	* lib/fstat.c, lib/fstatat.c, lib/lstat.c: Include stat-time.h.
	* lib/fstat.c (rpl_fstat) [!WINDOWS_NATIVE]:
	* lib/lstat.c (rpl_lstat):
	* lib/stat.c (rpl_stat):
	Normalize resulting timestamps.
	* lib/fstatat.c (normal_fstatat): New function.
	(rpl_fstatat): Use it.
	* lib/stat-time.h: Include intprops.h, errno.h, stddef.h.
	(stat_time_normalize): New function.
	* m4/fstat.m4 (gl_FUNC_FSTAT):
	* m4/fstatat.m4 (gl_FUNC_FSTATAT):
	* m4/lstat.m4 (gl_FUNC_LSTAT):
	* m4/stat.m4 (gl_FUNC_STAT):
	Replace on Solaris.
	* modules/fstat (Depends-on):
	* modules/fstatat (Depends-on):
	Add stat-time.
	* modules/stat-time (Depends-on): Add errno, intprops.

2017-11-22  Paul Eggert  <eggert@cs.ucla.edu>

	regex: merge from glibc
	* lib/regcomp.c (init_word_char): Add comments.

2017-11-20  Paul Eggert  <eggert@cs.ucla.edu>

	regex: merge from glibc
	* lib/regcomp.c (__regcomp, __regfree) [_LIBC]: Now hidden.
	* lib/regex_internal.h (internal_function): Remove.
	All uses removed.

2017-11-20  Bruno Haible  <bruno@clisp.org>

	crypto/gc-sm3: Fix buffer overrun.
	* lib/gc-gnulib.c (MAX_DIGEST_SIZE): Bump to 32.
	Reported by Coverity.

2017-11-12  Jim Meyering  <meyering@fb.com>

	maint: shorten https://lists.gnu.org/archive/html/... links
	Each /archive/html/ part can be replace with /r/.
	Run this to induce the change:
	git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g'
	* ChangeLog: Perform that substitution.
	* Makefile: Likewise.
	* STATUS-libposix: Likewise.
	* build-aux/bootstrap: Likewise.
	* doc/maintain.texi: Likewise.
	* gnulib-tool: Likewise.
	* lib/allocator.h: Likewise.
	* lib/argp-ba.c: Likewise.
	* lib/argp-pv.c: Likewise.
	* lib/canon-host.c: Likewise.
	* lib/canonicalize-lgpl.c: Likewise.
	* lib/float.in.h: Likewise.
	* lib/fstat.c: Likewise.
	* lib/getdelim.c: Likewise.
	* lib/getprogname.c: Likewise.
	* lib/glthread/thread.h: Likewise.
	* lib/intprops.h: Likewise.
	* lib/mbsrtowcs-state.c: Likewise.
	* lib/safe-read.c: Likewise.
	* lib/signal.in.h: Likewise.
	* lib/stat.c: Likewise.
	* lib/stdbool.in.h: Likewise.
	* lib/stdio-impl.h: Likewise.
	* lib/stdio.in.h: Likewise.
	* lib/sysexits.in.h: Likewise.
	* lib/timespec.h: Likewise.
	* lib/wcsrtombs-state.c: Likewise.
	* m4/alloca.m4: Likewise.
	* m4/extern-inline.m4: Likewise.
	* m4/fstatat.m4: Likewise.
	* m4/gnulib-common.m4: Likewise.
	* m4/lib-ignore.m4: Likewise.
	* m4/printf.m4: Likewise.
	* m4/regex.m4: Likewise.
	* m4/stat-size.m4: Likewise.
	* m4/std-gnu11.m4: Likewise.
	* m4/stdbool.m4: Likewise.
	* m4/sys_types_h.m4: Likewise.
	* m4/threadlib.m4: Likewise.
	* m4/vararrays.m4: Likewise.
	* pygnulib/GLImport.py: Likewise.
	* tests/test-exp.h: Likewise.
	* tests/test-exp2.h: Likewise.
	* tests/test-expm1.h: Likewise.
	* tests/test-fflush2.c: Likewise.
	* tests/test-getopt_long.h: Likewise.
	* tests/test-intprops.c: Likewise.
	* tests/test-log.h: Likewise.
	* tests/test-log10.h: Likewise.
	* tests/test-log1p.h: Likewise.
	* tests/test-log2.h: Likewise.
	* tests/test-printf-posix.h: Likewise.
	* tests/test-regex.c: Likewise.
	* tests/test-snprintf-posix.h: Likewise.
	* tests/test-sprintf-posix.h: Likewise.
	* tests/test-stdalign.c: Likewise.
	* tests/test-stdbool.c: Likewise.
	* tests/test-vasnprintf-posix.c: Likewise.
	* tests/test-vasprintf-posix.c: Likewise.
	* top/maint.mk: Likewise.

2017-11-12  Bruno Haible  <bruno@clisp.org>

	faccessat: Make the last change more robust.
	* m4/faccessat.m4 (gl_FUNC_FACCESSAT): Require
	gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Treat "guessing yes" like "yes".

2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>

	faccessat: port to macOS (Bug#29231)
	macOS faccessat has the same bug that lstat does: if the file
	name ends in '/' it ignores the trailing slash.
	Problem reported for Emacs by Vincent Zhang.
	* doc/posix-functions/faccessat.texi (faccessat): Document this.
	* lib/faccessat.c (_GL_INCLUDING_UNISTD_H): Define and undef
	around the initial includes.  Include errno.h, string.h, sys/stat.h.
	(orig_faccessat) [HAVE_FACCESSAT]: New function.
	Include "unistd.h" after defining it.
	(rpl_faccessat) [HAVE_FACCESSAT]: New implementation.
	* lib/unistd.in.h (faccessat) [REPLACE_FACCESSAT]:
	Handle in the usual way.
	* m4/faccessat.m4 (gl_FUNC_FACCESSAT): Replace faccessat if
	lstat dereferences symlinks, since faccessat is likely to
	have the same problem.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Default REPLACE_ACCESSAT.
	* modules/faccessat (Depends-on): Add fstatat.
	Depend if REPLACE_FACCESSAT is 1, too.
	(configure.ac): Link if REPLACE_FACCESSAT is 1.
	* modules/faccessat-tests (Depends-on): Add symlink.
	* modules/unistd (unistd.h): Substitute REPLACE_FACCESSAT.
	* tests/test-faccessat.c (main): Test for the bug.

2017-11-11  Bruno Haible  <bruno@clisp.org>

	getprogname: Fix compilation error on IRIX.
	* lib/getprogname.c (getprogname) [__sgi]: Fix type of local variable
	'namesize'.

2017-11-11  Bruno Haible  <bruno@clisp.org>

	year2038: Tweak last patch.
	* m4/year2038.m4 (gl_YEAR2038): Correct indentation.

2017-11-06  Paul Eggert  <eggert@cs.ucla.edu>

	year2038: be more insistent about 64-bit time_t
	Applications requiring access to arbitrary files should not be
	built with 32-bit time_t on hosts that have 64-bit timestamps,
	as this can lead to real trouble at runtime.
	* m4/year2038.m4 (gl_YEAR2038): Do not require AC_CANONICAL_HOST.
	Check on all systems, not just MinGW.  Use a heuristic involving
	TIME_T_32_BIT_OK, cross_compiling, and the touch command to
	output a failure or just a warning, to make it more likely that
	builders will select 64-bit time_t.

2017-11-05  Paul Eggert  <eggert@cs.ucla.edu>

	havelib: fix typo in previous change
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Fix typo.

	Don’t use AC_EGREP_CPP if affected by CFLAGS
	* m4/float_h.m4 (gl_FLOAT_H):
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI):
	* m4/lib-ld.m4 (AC_LIB_PROG_LD):
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB):
	* m4/year2038.m4 (gl_YEAR2038):
	Prefer AC_COMPILE_IFELSE to AC_EGREP_CPP when testing conditions
	likely to be affected by the choice of CFLAGS, since CFLAGS are
	not used by AC_EGREP_CPP.  Without this patch, ‘./configure
	CFLAGS="-m32"’ fails on gzip with GNU/Linux x86-64.

	fstatat: pacify GCC on unusual platform
	* lib/fstatat.c (orig_fstatat) [!HAVE_WORKING_FSTATAT_ZERO_FLAG]:
	Omit, as it’s unused in this case.

2017-10-29  Paul Eggert  <eggert@cs.ucla.edu>

	timespec: prefer ‘assume’ to ‘assure’
	This avoids some runtime tests.  The rest of the module makes
	similar assumptions and there is little point to testing here.
	* lib/timespec.h: Include verify.h instead of assure.h.
	(timespec_cmp): Use ‘assume’, not ‘assure’.
	Also, remove an unnecessary cast to ‘int’, as lots of other
	code in this module now causes -Wconversion to complain, and
	this is a problem with -Wconversion not with the code.

	* modules/timespec (Depends-on): Depend on ‘verify’, not ‘assure’.

	Port recent gnulib-tool change to Dash
	* gnulib-tool (func_create_testdir): Don't assume that the shell
	retokenizes after expanding "$@" inside the call to
	func_execute_command.  Dash 0.5.8-2.1ubuntu2 does not.

2017-10-27  Jim Meyering  <meyering@fb.com>

	timespec.h: use "assure" to avoid a spurious warning
	* lib/timespec.h: Include "assure.h" and use it to help
	gcc7's -Wstrict-overflow avoid a false positive warning
	for a use in coreutils' ls.c.  Suggested by Paul Eggert in
	https://lists.gnu.org/r/bug-gnulib/2017-10/msg00007.html
	* modules/timespec (Depends-on): Add assure.

2017-10-29  Bruno Haible  <bruno@clisp.org>

	Avoid several test failures with traditional locales on Haiku.
	* m4/locale-ar.m4 (gt_LOCALE_AR): On BeOS and Haiku, set LOCALE_AR=none.
	* m4/locale-fr.m4 (gt_LOCALE_FR): On BeOS and Haiku, set LOCALE_FR=none.
	* m4/locale-ja.m4 (gt_LOCALE_JA): On BeOS and Haiku, set LOCALE_JA-none.
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On BeOS and Haiku, set
	LOCALE_ZH_CN=none.

2017-10-29  Bruno Haible  <bruno@clisp.org>

	strerror_r-posix: Fix behaviour and test failure on Haiku.
	* lib/strerror_r.c (strerror_r): Don't assume that valid error numbers
	are positive. Work around return value 0 instead of ERANGE on Haiku.
	For unknown error numbers, use a format string consistent with perror().
	* doc/posix-functions/strerror_r.texi: Mention the Haiku problem.
	* tests/test-strerror_r.c (main): Don't assume that valid error numbers
	are positive.

2017-10-29  Bruno Haible  <bruno@clisp.org>

	get-rusage-data: Avoid crash on Haiku.
	* lib/get-rusage-data.c: Avoid the setlimit-based implementation.

2017-10-29  Bruno Haible  <bruno@clisp.org>

	get-rusage-as: Avoid crash on Haiku.
	* lib/get-rusage-as.c: Avoid the setlimit-based implementation.

2017-10-29  Bruno Haible  <bruno@clisp.org>

	ilogbl: Ensure replacement on Haiku.
	* m4/ilogbl.m4 (gl_FUNC_ILOGBL): Invoke gl_FUNC_ILOGBL_WORKS and set
	REPLACE_ILOGBL if ilogbl does not work.
	(gl_FUNC_ILOGBL_WORKS): New macro.
	* lib/math.in.h (ilogbl): Replace if REPLACE_ILOGBL is 1.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ILOGBL.
	* modules/math (Makefile.am): Substitute REPLACE_ILOGBL.
	* modules/ilogbl (Depends-on, configure.ac): Consider REPLACE_ILOGBL.
	* doc/posix-functions/ilogbl.texi: Mention the Haiku problem.

2017-10-29  Bruno Haible  <bruno@clisp.org>

	expl: Ensure replacement on Haiku.
	* m4/expl.m4 (gl_FUNC_EXPL): Test whether an expl() return value is
	zero.
	* doc/posix-functions/expl.texi: Mention the Haiku problem.

2017-10-29  Bruno Haible  <bruno@clisp.org>

	math: Fix test failure on Haiku.
	* lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Override on Haiku.
	* m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Update accordingly.
	* m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
	* doc/posix-headers/math.texi: Mention the Haiku problem.

2017-10-29  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Avoid unnecessary config.h.in remaking in testdirs.
	* gnulib-tool (func_create_testdir): Use workaround against 'autoheader'
	bug reported at <https://savannah.gnu.org/support/index.php?109406>.

2017-10-29  Bruno Haible  <bruno@clisp.org>

	crypto/*: Verify that the header file is self-contained.
	* tests/test-gc-*.c: Include the module's header file immediately after
	<config.h>.
	* tests/test-hmac-*.c: Likewise.
	* tests/test-arcfour.c: Likewise.
	* tests/test-arctwo.c: Likewise.
	* tests/test-des.c: Likewise.
	* tests/test-md2.c: Likewise.
	* tests/test-md4.c: Likewise.
	* tests/test-md5.c: Likewise.
	* tests/test-rijndael.c: Likewise.
	* tests/test-sha1.c: Likewise.
	* tests/test-sm3.c: Likewise.

2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>
            Bruno Haible  <bruno@clisp.org>

	crypto/gc: fix build failure with -Werror=suggest-attribute=const
	* lib/gc.h (gc_hash_digest_length): Mark with 'const' attribute.

2017-10-29  Jia Zhang  <qianyue.zj@alibaba-inc.com>

	New module: crypto/gc-sm3
	* lib/gc.h: Declare SM3-related stuffs.
	* lib/gc-gnulib.c: Support sm3 in internal functions.
	* lib/gc-libgcrypt.c: Support sm3 with libgcrypt.
	* m4/gc-sm3.m4: m4 file for gc-sm3 module.
	* modules/crypto/gc-sm3: Define gc-sm3 module.
	* tests/test-gc-sm3.c: Implement SM3 test case with libgcrypt.
	* modules/crypto/gc-sm3-tests: Define gc-sm3 test module.
	* MODULES.html.sh: List gc-sm3 module.

2017-10-29  Bruno Haible  <bruno@clisp.org>

	random, random_r: Mention different prototypes on Haiku.
	* doc/posix-functions/random.texi: Mention different prototype on Haiku.
	* doc/glibc-functions/random_r.texi: Likewise.
	* doc/glibc-functions/initstate_r.texi: Likewise.
	* doc/glibc-functions/setstate_r.texi: Likewise.

2017-10-28  Bruno Haible  <bruno@clisp.org>

	posix_spawn: Avoid spurious message in configure output.
	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Discard stderr output from
	'cmp' command.

2017-10-28  Bruno Haible  <bruno@clisp.org>

	inet_ntop, inet_pton: Determine needed library correctly on Haiku.
	* m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Search also in libnetwork.
	* m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.

2017-10-28  Bruno Haible  <bruno@clisp.org>

	ioctl: Override non-POSIX declaration on Haiku.
	* m4/ioctl.m4 (gl_FUNC_IOCTL): Include also <unistd.h>.
	* lib/sys_ioctl.in.h: Add comment about Haiku.
	* doc/posix-functions/ioctl.texi: Mention Haiku problem.
	* doc/glibc-headers/sys_ioctl.texi: Likewise.

2017-10-28  Bruno Haible  <bruno@clisp.org>

	crypto/sm3: Add overview documentation to the .h file.
	* lib/sm3.h: Add comments.

2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>

	New module: crypto/sm3
	This new module can be used to compute SM3 message digest of files or
	memory blocks according to the specification GM/T 004-2012
	Cryptographic Hash Algorithm SM3, published by State Cryptography
	Administration, China.
	The official SM3 cryptographic hash algorithm specification is
	available at
	http://www.sca.gov.cn/sca/xwdt/2010-12/17/content_1002389.shtml
	* lib/sm3.h: Declare the APIs of sm3 module.
	* lib/sm3.c: Implement SM3 hash algorithm.
	* m4/sm3.m4: m4 file for sm3 module.
	* modules/crypto/sm3: Define sm3 module.
	* tests/test-sm3.c: Implement SM3 test case.
	* modules/crypto/sm3-tests: Define sm3 test module.
	* MODULES.html.sh: List sm3 module.

2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>

	gc-libgcrypt: fix undefined enum type in switch statement
	Resolve the following build failure:
	lib/gc-libgcrypt.c: In function 'gc_hash_open':
	lib/gc-libgcrypt.c:317:5: error: case value '0' not in enumerated type
	'Gc_hash_mode {aka enum Gc_hash_mode}' [-Werror=switch]
	     case 0:
	     ^~~~
	* lib/gc.h (enum Gc_hash_mode): Add value GC_NULL.
	* lib/gc-libgcrypt.c (gc_hash_open): Use this enum value instead of 0.

2017-10-28  Jia Zhang  <qianyue.zj@alibaba-inc.com>

	gc-libgcrypt: fix assignment error due to -Werror=pointer-sign
	Resolve the following build failure:
	lib/gc-libgcrypt.c: In function 'gc_hash_read':
	lib/gc-libgcrypt.c:460:14: error: pointer targets in assignment differ
	in signedness [-Werror=pointer-sign]
	    digest = gcry_md_read (ctx->gch, 0);
	           ^
	* lib/gc-libgcrypt.c (gc_hash_read): Cast result of gcry_md_read.

2017-10-26  Bruno Haible  <bruno@clisp.org>

	havelib: Fix value of LD for 32-bit compilation on NetBSD/sparc64.
	* m4/lib-ld.m4 (AC_LIB_PROG_LD): On NetBSD/sparc64 with CC="gcc -m32",
	set LD to '/usr/bin/ld -m elf32_sparc', not '/usr/bin/ld'.

2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>

	glob: fix another heap buffer overflow
	Problem reported by Tim Rühsen in:
	https://sourceware.org/bugzilla/show_bug.cgi?id=22332
	* lib/glob.c (glob): Avoid buffer overrun when unescaping.

2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>

	quotearg: pacify compiler re unsigned
	* lib/quotearg.c (quotearg_n_options):
	Rewrite to avoid diagnostic from overly-picky compiler.
	Problem reported by Sami Kerola in:
	https://lists.gnu.org/r/bug-gnulib/2017-10/msg00060.html

	glob: fix heap buffer overflow
	* lib/glob.c (glob): Fix off-by-one error introduced into
	glibc in commit dd7d45e838a42b0ed470c44b55901ea98d0c2bab
	dated 1997-10-29 20:33:40.  Problem reported by Tim Rühsen in:
	https://sourceware.org/bugzilla/show_bug.cgi?id=22320
	Fix suggested by Bruno Haible.

2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>

	glob: pacify fuzzer for mempcpy
	Problem reported by Tim Rühsen in:
	https://lists.gnu.org/r/bug-gnulib/2017-10/msg00054.html
	* lib/glob.c (glob): Do not pass NULL to mempcpy.

2017-10-12  Bruno Haible  <bruno@clisp.org>

	doc: Fix syntax error (regression from 2017-10-03).
	* doc/posix-functions/strncpy.texi: Fix syntax error.

2017-10-12  Bruno Haible  <bruno@clisp.org>

	doc: Update for Solaris 11.3.
	* doc/**/*.texi: For bugs that exist in both Solaris 11.0 and 11.3,
	mention Solaris 11.3.
	* m4/log2.m4: Fix comments.
	* m4/log2f.m4: Likewise.
	* m4/printf.m4: Update comments.
	* m4/rename.m4: Likewise.
	* m4/strncat.m4: Likewise.

	all: Write "Solaris 11.0" instead of "Solaris 11 2011-11".

2017-10-10  Bruno Haible  <bruno@clisp.org>

	doc: Improve doc about ioctl.
	* doc/posix-functions/ioctl.texi: Fix list of platforms with non-POSIX
	prototype.

2017-10-09  Bruno Haible  <bruno@clisp.org>

	wcwidth: Don't use obsolete syntax of 'test'.
	Reported by Eric Blake.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Don't optimize two 'test'
	invocations into one, as POSIX marks '-a' and '-o' as "obsolescent".

2017-10-09  Bruno Haible  <bruno@clisp.org>

	getopt-posix: Fix build failure when using ac_cv_header_getopt_h=no.
	Reported by Christian Ehrhardt <christian.ehrhardt@canonical.com>
	and Daniel P. Berrange <berrange@redhat.com>.
	* lib/unistd.in.h (getopt): Don't attempt to avoid namespace pollution
	on glibc systems. The getopt-pfx-core.h file declares exactly what
	unistd.h needs, nothing more.

2017-10-08  Bruno Haible  <bruno@clisp.org>

	vma-iter: Improve support for FreeBSD.
	* lib/vma-iter.c (vma_iterate_proc): New function, extracted from
	vma_iterate.
	(vma_iterate): Use it. For FreeBSD, try vma_iterate_bsd first.

2017-10-08  Bruno Haible  <bruno@clisp.org>

	vma-iter: Fix truncated result on NetBSD (regression from 2017-10-07).
	* lib/vma-iter.c (MIN_LEFTOVER): Define to 1, not 0.

2017-10-07  KO Myung-Hun  <komh@chollian.net>

	test-framework-sh: Fix 'invalid path dir' error.
	On OS/2, a path separator is ';' not ':'. And ':' is used as a
	separator between a drive letter and directory parts.
	As a result, an absolute path such as x:/path/to/dir on OS/2 is
	treated as an invalid path dir.
	* tests/init.sh (PATH_SEPARATOR): Set at startup.
	(path_prepend_): '?:*' is also an absolute path. Use $PATH_SEPARATOR
	instead of hard coded ':'.

2017-10-07  Bruno Haible  <bruno@clisp.org>

	vma-iter: Fix truncated result on Linux (regression from 2017-09-26).
	* lib/vma-iter.c (MIN_LEFTOVER): New macro.
	(STACK_ALLOCATED_BUFFER_SIZE): Set to a minimal value if not needed.
	(rof_open): On Linux, do multiple read() calls and make sure
	MIN_LEFTOVER bytes are left when read() returns.

2017-10-07  Bruno Haible  <bruno@clisp.org>

	vma-iter: Improve support for GNU/Hurd.
	* lib/vma-iter.c (vma_iterate): On GNU/Hurd, use the Mach vm_region()
	API, not the /proc file system.

2017-10-07  Bruno Haible  <bruno@clisp.org>

	test-framework-sh: Don't require bash on Windows and OS/2.
	Reported by KO Myung-Hun.
	* tests/test-init.sh: Use 'shopt' only when running in bash.

2017-10-06  KO Myung-Hun  <komh@chollian.net>

	wcwidth: check a macro version of wcwidth () as well
	* lib/wchar.in.h: Revert commit from 2016-01-14.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test if wcwidth is a macro.

2017-10-06  Bruno Haible  <bruno@clisp.org>

	getopt-posix: Clarify copyright header.
	* lib/getopt.in.h: Don't state that gnulib is under LGPL.
	* lib/getopt-pfx-core.h: Likewise.
	* lib/getopt-pfx-ext.h: Likewise.
	* lib/getopt-cdefs.in.h: Likewise.

2017-10-03  Bruno Haible  <bruno@clisp.org>

	Fix warning "`gl_HOST_CPU_C_ABI' was expanded before it was required".
	* modules/host-cpu-c-abi (configure.ac): Require, don't invoke
	gl_HOST_CPU_C_ABI.

2017-10-03  Bruno Haible  <bruno@clisp.org>

	doc: warn about misuse of strncpy and wcsncpy.
	* doc/posix-functions/strcpy.texi: Describe requirements on prior
	memory allocation.
	* doc/posix-functions/wcscpy.texi: Likewise.
	* doc/posix-functions/strncpy.texi: Describe what this function is not
	useful for.
	* doc/posix-functions/wcsncpy.texi: Likewise.

2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>

	fsuage: fix typo in previous change
	* lib/fsusage.c: Remove stray include of full-read.h.
	Problem reported by Sam Steingold for macOS (Bug#28669).

2017-10-01  Paul Eggert  <eggert@cs.ucla.edu>

	fsusage: remove SVR2 support
	SVR2 was obsolete by 1986 and is no longer supported by anybody,
	and its code was getting in the way of use of this module by
	Emacs, which has its own ‘read’ function anyway.
	* lib/fsusage.c: Do not include sys/filsys.h.
	(get_fs_usage): Remove SVR2-specific code.
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE):
	Do not test for sys/filsys.h or set STAT_READ_FILSYS.
	* modules/fsusage (Depends-on): Do not depend on full-read.

	Simplify autoupdate of licenses
	* config/srclistvars.sh (GNUWWWLICENSES): Move to a more-typical
	place.

2017-10-01  Bruno Haible  <bruno@clisp.org>

	vma-iter: Add support for GNU/Hurd.
	* lib/vma-iter.c: Treat GNU/Hurd like Linux.
	* lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.

2017-09-30  Bruno Haible  <bruno@clisp.org>

	vma-iter: Make it work on 32-bit Solaris with module 'largefile'.
	* modules/vma-iter: Don't test for sys/procfs.h, as this test would
	fail when module 'largefile' is in use.
	* lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't test HAVE_SYS_PROCFS_H.
	* lib/vma-iter.c: Undefine _FILE_OFFSET_BITS early.
	Don't test HAVE_SYS_PROCFS_H.

2017-09-30  Bruno Haible  <bruno@clisp.org>

	havelib: Make it work for CC="gcc -m32" (regression from 2017-02-19).
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Require gl_HOST_CPU_C_ABI.
	When $CC produces 32-bit code, set acl_libdirstem to 'lib', not 'lib64'.
	* modules/havelib (Depends-on): Add host-cpu-c-abi.

2017-09-30  Bruno Haible  <bruno@clisp.org>

	uniname/uniname: Don't assume C99 compiler (regression from 2015-02-16).
	* lib/uniname/uniname.c (unicode_name_character): Add braces around
	scope of local variables.

2017-09-28  Bruno Haible  <bruno@clisp.org>

	string: code style
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Reorder list of
	substitutable variables.
	* modules/string (Makefile.am): Likewise.

2017-09-26  Bruno Haible  <bruno@clisp.org>

	uniname/uniname-tests: Tighten code.
	* tests/uniname/test-uninames.c (fill_names, fill_aliases): Merge two
	local variables into one.

2017-09-26  Bruno Haible  <bruno@clisp.org>

	vma-iter: Improvements for Linux and BSD platforms.
	- Add support for DragonFly BSD.
	- Make it more reliable on Linux, GNU/kFreeBSD, FreeBSD, NetBSD.
	* lib/vma-iter.c (struct rofile, rof_open, rof_peekchar, rof_close):
	Read the entire file into memory in a single system call.
	(vma_iterate): Update. Read from /proc on DragonFly BSD like on FreeBSD.
	* lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on DragonFly BSD.

2017-09-26  Bruno Haible  <bruno@clisp.org>

	vma-iter: Provide the protection flags on FreeBSD.
	* lib/vma-iter.c (vma_iterate) [FreeBSD]: When reading from /proc,
	skip three fields between the addresses and the protection flags.

2017-09-26  Paul Eggert  <eggert@cs.ucla.edu>

	glob: remove bogus extern decl
	* lib/glob.c (__glob_pattern_type): Remove now-spurious
	extern declaration.  Problem reported by Adhemerval Zanella in:
	https://sourceware.org/ml/libc-alpha/2017-09/msg00972.html

2017-09-25  Paul Eggert  <eggert@cs.ucla.edu>

	uniname/uniname-tests: integer overflow fix
	* tests/uniname/test-uninames.c (fill_names, fill_aliases):
	Check for integer overflow.

	duplocale-tests: fix unlikely crash
	* tests/test-duplocale.c (get_locale_dependent_values):
	Don’t crash with absurdly long month names.

	maint: fix overflow checking in nap.h
	* modules/chown-tests:
	* modules/fchownat-tests, modules/fdutimensat-tests:
	* modules/futimens-tests, modules/lchown-tests:
	* modules/stat-time-tests, modules/utime-tests:
	* modules/utimens-tests, modules/utimensat-tests:
	Depend on intprops.
	* tests/nap.h: Include intprops.h.
	(diff_timespec): Handle overflow properly.

	sys_types: update URL
	* m4/sys_types_h.m4: Use https: URL.

	parse-datetime: fix dependency
	* modules/parse-datetime (Depends-on): Depend
	on nstrftime, not strftime.

	parse-datetime, posixtm: avoid uninit access
	* lib/parse-datetime.y (parse_datetime2):
	* lib/posixtm.c (posixtime):
	Do not access uninitialized storage, even though the resulting
	value is never used.

2017-09-25  Bruno Haible  <bruno@clisp.org>

	vma-iter: Improvements for BSD platforms.
	- Add support for GNU/kFreeBSD.
	- Make it work on FreeBSD and NetBSD even when /proc is not mounted.
	- Speed up on OpenBSD.
	* lib/vma-iter.c (struct rofile, rof*): Define also on GNU/kFreeBSD.
	(vma_iterate_bsd): New function.
	(vma_iterate): Use it as fallback on FreeBSD and NetBSD. Use it as
	first choice on OpenBSD. Treat GNU/kFreeBSD like Linux.
	* lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on GNU/kFreeBSD.
	* modules/vma-iter (configure.ac): Require AC_C_INLINE.

2017-09-23  Bruno Haible  <bruno@clisp.org>

	strfmon_l: New module.
	* modules/strfmon_l: New file.
	* lib/strfmon_l.c: New file.
	* m4/strfmon_l.m4: New file.
	* doc/posix-functions/strfmon_l.texi: Mention the new module.
	* modules/strfmon_l-tests: New file.
	* tests/test-strfmon_l.c: New file.

	monetary: New module.
	* modules/monetary: New file.
	* lib/monetary.in.h: New file.
	* m4/monetary_h.m4: New file.
	* doc/posix-headers/monetary.texi: Mention the new module.
	* modules/monetary-tests: New file.
	* tests/test-monetary.c: New file.
	* modules/monetary-c++-tests: New file.
	* tests/test-monetary-c++.cc: New file.
	* modules/duplocale-tests (configure.ac): Use AC_CHECK_HEADERS_ONCE.

2017-09-23  Bruno Haible  <bruno@clisp.org>

	duplocale tests: Fix test crash on Linux/x86.
	* tests/test-duplocale.c (test_with_uselocale): Disconnect the mixed2
	locale from the current thread before freeing it.

2017-09-21  Paul Eggert  <eggert@cs.ucla.edu>

	mktime: port to OpenVMS
	Problem reported by John E. Malmberg in:
	https://lists.gnu.org/r/bug-gnulib/2017-09/msg00100.html
	* m4/mktime.m4 (TIME_T_IS_SIGNED): Default to 0.

2017-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: port to GCC on 64-bit MS-Windows
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Work better if
	LONG_MAX < PTRDIFF_MAX.  Problem reported by Richard Copley in:
	https://lists.gnu.org/r/emacs-devel/2017-09/msg00392.html

2017-09-13  Bruno Haible  <bruno@clisp.org>

	all: Replace many more http URLs by https URLs. Update stale URLs.
	* users.txt: Remove mention of 'newts'.
	* lib/localename.c: Update comment about LANG_SOTHO.

2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	all: Replace many http URLs by https URLs.

2017-09-12  Bruno Haible  <bruno@clisp.org>

	doc: Prefer https URLs where possible.
	* doc/**/*.texi: Use https URLs instead of http URLs where possible.
	* doc/ld-output-def.texi: Remove unavailable URL.

2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>

	maintainer-makefile: FTP -> HTTPS
	* top/maint.mk (url_dir_list, ftp-gnu): Use HTTPS protocol instead
	of FTP, which is planned to be decommissioned on 2017-11-01.

2017-09-12  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)

	libc-config: Fix __GNUC_PREREQ macro.
	* lib/libc-config.h (__GNUC_PREREQ): Use __GNUC_MINOR__, not
	__GNUC_MINOR.

2017-09-09  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Simplify commit from 2015-08-20.
	* gnulib-tool (func_add_or_update): Remove local variable
	is_binary_file.

2017-09-08  Bruno Haible  <bruno@clisp.org>

	stddef: Avoid conflict with system-defined max_align_t.
	The configure-determined HAVE_MAX_ALIGN_T may not always be accurate.
	Reported by Werner Lemberg <wl@gnu.org> in
	<https://lists.gnu.org/r/bug-gnulib/2017-08/msg00185.html>.
	* lib/stddef.in.h (rpl_max_align_t): Renamed from max_align_t.
	(max_align_t): Define as a macro.
	(GNULIB_defined_max_align_t): New macro. Guards against multiple
	definitions of rpl_max_align_t in different copies of gnulib-generated
	<stddef.h>.

2017-09-05  Paul Eggert  <eggert@cs.ucla.edu>

	libc-config: port to MSVC
	Problems reported by Gisle Vanem in:
	http://lists.gnu.org/r/bug-gnulib/2017-09/msg00016.html
	* lib/libc-config.h (__inline): Don't define if HAVE___INLINE.
	(libc_hidden_proto): Stick to Standard C syntax for varargs macro.
	* m4/__inline.m4: New file.
	* modules/libc-config (Files): Add it.
	(Depends-on): Use it.

	glob: Use enum for __glob_pattern_type result
	From a patch proposed by Adhemerval Zanella in:
	https://sourceware.org/ml/libc-alpha/2017-09/msg00212.html
	* lib/glob_internal.h (GLOBPAT_NONE, GLOBPAT_SPECIAL)
	(GLOBPAT_BACKSLASH, GLOBPAT_BRACKET): New constants.
	* lib/glob_internal.h (__glob_pattern_type):
	* lib/glob.c (glob):
	* lib/glob_pattern_p.c (__glob_pattern_p):
	Use them.

	glob: fix for use in glibc
	Problem reported by Adhemerval Zanella in:
	https://sourceware.org/ml/libc-alpha/2017-09/msg00213.html
	* lib/glob.c (DT_UNKNOWN, DT_DIR, DT_LINK):
	Do not redefine if _LIBC.

2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>

	glob: fix bugs with long login names
	Problem reported by Adhemerval Zanella in:
	https://sourceware.org/ml/libc-alpha/2017-08/msg00455.html
	* lib/glob.c (GET_LOGIN_NAME_MAX): Remove.
	(glob): Use the same scratch buffer for both getlogin_r and
	getpwnam_r.  Don’t require preallocation of the login name.  This
	simplifies storage allocation, and corrects the handling of
	long login names.

2017-09-02  Bruno Haible  <bruno@clisp.org>

	dirent: Update doc.
	* doc/posix-headers/dirent.texi: More concrete list of platforms.

2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>

	glob: fix getpwnam_r errno typo
	* lib/glob.c (glob): Fix longstanding misuse of errno after
	getpwnam_r, which returns an error number rather than setting
	errno.

	glob: fix typo in recent change
	* lib/glob.c (glob) [!HAVE_GETPWNAM_R && !_LIBC]:
	Fix recently-introduced typo.

2017-09-02  Paul Eggert  <eggert@cs.ucla.edu>

	glob: don't save and restore errno unnecessarily
	* lib/glob.c (glob): Don't save and restore errno
	merely because we have getpwnam_r.

	glob: don't assume getpwnam_r
	* lib/glob.c (glob): Port recent patches to platforms
	lacking getpwnam_r.

	scratch_buffer: don’t use private glibc API
	Suggested by Florian Weimer in:
	http://lists.gnu.org/r/bug-gnulib/2017-09/msg00004.html
	* lib/scratch_buffer.h: Rename to lib/malloc/scratch_buffer.h.
	* lib/scratch_buffer_grow.c: Rename to
	lib/malloc/scratch_buffer_grow.c.
	* lib/scratch_buffer_grow_preserve.c: Rename to
	lib/malloc/scratch_buffer_grow_preserve.c.
	* lib/scratch_buffer_set_array_size.c: Rename to
	lib/malloc/scratch_buffer_set_array_size.c.
	* lib/scratch_buffer.h: New file.
	* modules/scratch_buffer (Files, Makefile.am):
	Adjust to source-file renaming.

2017-09-01  Paul Eggert  <eggert@cs.ucla.edu>

	glob: use scratch_buffer instead of extend_alloca
	Much of the lib/glob.c part of this patch comes from a glibc patch
	proposed by Adhemerval Zanella in:
	https://sourceware.org/ml/libc-alpha/2017-08/msg00456.html
	* lib/glob.c: Do not include <config.h>, since <libc-config.h>,
	included via glob.h, does this for us now.
	(__set_errno): Remove, as libc-config does this for us now.
	Include <scratch_buffer.h>.
	(GETPW_R_SIZE_MAX): Remove.
	(glob): Use struct scratch_buffer instead of extend_alloca.
	* lib/glob.in.h: Include libc-config.h rather than
	including <sys/cdefs.h> conditionally.
	(__BEGIN_DECLS, __END_DECLS, __THROW, __THROWNL, attribute_hidden)
	(__glibc_unlikely, __restrict, weak_alias):
	Remove, as libc-config does this for us now.
	* m4/glob.m4 (gl_PREREQ_GLOB):
	Remove sys/cdefs.h tests; no longer needed.
	* modules/glob (Depends-on): Add libc-config, scratch_buffer.
	(glob.h): Do not replace HAVE_SYS_CDEFS_H.

	scratch_buffer: new module
	* lib/scratch_buffer.h, lib/scratch_buffer_grow.c:
	* lib/scratch_buffer_grow_preserve.c:
	* lib/scratch_buffer_set_array_size.c:
	New files, copied from glibc with very minor changes that can be
	copied back.
	* modules/scratch_buffer: New file.

	libc-config: new module
	* MODULES.html.sh: Add libc-config.
	* lib/cdefs.h: New file, copied from the GNU C Library with very
	minor changes that can be copied back.
	* lib/libc-config.h, modules/libc-config: New files.

2017-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	glob: match dangling symlinks
	This fixes a bug I inadvertently introduced to Gnulib when I
	merged glibc glob back into gnulib on 2007-10-16.  This fix is
	inspired by a patch proposed for glibc by Adhemerval Zanella in:
	https://sourceware.org/ml/libc-alpha/2017-08/msg00446.html
	* doc/posix-functions/glob.texi: Update list of affected platforms.
	* lib/glob.c (__lstat64): New macro.
	(is_dir): New function.
	(glob, glob_in_dir): Match symlinks even if they are dangling.
	(link_stat, link_exists_p): Remove.  All uses removed.
	* lib/glob.in.h (__attribute_noinline__): Remove; no longer used.
	* m4/glob.m4 (gl_PREREQ_GLOB): Do not check for fstatat.
	* modules/glob-tests (Depends-on): Add symlink.
	* tests/test-glob.c: Include errno.h, unistd.h.
	(BASE): New macro.
	(main): Test dangling symlinks, if symlinks are supported.

	glob, backupfile: inode 0 is a valid inode number
	* doc/posix-functions/readdir.texi (readdir):
	* doc/posix-headers/dirent.texi (dirent.h):
	Document more readdir portability issues.
	* lib/backupfile.c (REAL_DIR_ENTRY): Remove.
	(numbered_backup): Don’t treat inode 0 any differently from
	other inode values.
	* lib/glob.c (struct readdir_result): Remove skip_entry member.
	(readdir_result_skip_entry, D_INO_TO_RESULT): Remove.
	All uses removed.
	* modules/glob (Depends-on): Remove d-ino.

	glob: simplify symlink detection
	* lib/glob.c (dirent_type): New type.  Use uint_fast8_t not
	uint8_t, as C99 does not require uint8_t.
	(struct readdir_result): Use it.  Do not define skip_entry unless
	it is needed; this saves a byte on platforms lacking d_ino.
	(readdir_result_type, readdir_result_skip_entry):
	New functions, replacing ...
	(readdir_result_might_be_symlink, readdir_result_might_be_dir):
	... these functions, which were removed.  This makes the callers
	easier to read.  All callers changed.
	(D_INO_TO_RESULT): Now empty if there is no d_ino.

2017-08-30  Pádraig Brady  <P@draigBrady.com>

	fts-tests: tag as a longrunning-test so not included by default
	* modules/fts-tests: This test takes about 20s on current systems,
	and uses about 285M of space on ext4.

2017-08-30  Pádraig Brady  <P@draigBrady.com>

	renameat2: fix compilation on alpine linux
	* m4/renameat.m4: Check for <linux/fs.h> presence.
	* lib/renameat2.h: Only include <linux/fs.h> if present.
	Reported by Assaf Gordon on Alpine Linux.

2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	glob: try to port recent changes to MS-Windows
	Problem reported by Bruno Haible in:
	http://lists.gnu.org/r/bug-gnulib/2017-08/msg00170.html
	* lib/glob.c (__glob_pattern_p) [!_LIBC]: Move from here ...
	* lib/glob.in.h (__glob_pattern_p): ... to here.

2017-08-24  Eric Blake  <eblake@redhat.com>

	warnings: fix compilation with old autoconf
	* m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS(C))
	(gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): Use m4_defun rather than
	AC_DEFUN.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C))
	(gl_MANYWARN_ALL_GCC(C++)): Likewise.

2017-08-24  Bruno Haible  <bruno@clisp.org>

	glob: Fix compilation error on NetBSD 7.0 and OpenBSD 6.0.
	* modules/glob (Depends-on): Add c99.

2017-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	glob: fix typo that broke platforms lacking d_ino
	This typo also hurt performance on GNU/Linux and similar hosts.
	* lib/glob.c (D_INO_TO_RESULT): Fix typo (reversed ifdef)
	in previous change.

2017-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	glob: merge from glibc with Zanella glob changes
	Merge glob from glibc, with changes for glob proposed
	by Adhemerval Zanella in the thread starting here:
	https://sourceware.org/ml/libc-alpha/2017-08/msg01079.html
	plus some fixes for this merge.
	* lib/glob_internal.h, lib/glob_pattern_p.c, lib/globfree.c:
	New files, ported from glibc.
	* lib/glob-libc.h (_Restrict_): Remove.  All uses replaced
	with __restrict.
	(__size_t): Remove.  All uses replaced by size_t.
	(size_t): Define by defining __need_size_t and including <stddef.h>.
	This should work even in non-glibc platforms, where any name
	pollution is OK.
	Use __USE_MISC instead of __USE_BSD || __USE_GNU.
	(struct stat64): Don’t worry about __GLOB_GNULIB.
	(glob, globfree, glob_pattern_p): Remove macros for
	__USE_FILE_OFFSET64 && __GNUC__ < 2 && !defined __GLOB_GNULIB
	case.  Remove _GL_ARG_NONNULL as GNU behavior is to accept NULL
	but set errno.
	* lib/glob.c (_GL_ARG_NONNULL) [!_LIBC]: Remove.  All uses
	removed since the glibc behavior works on null pointers.
	Do not include stdio.h; old SunOS is irrelevant now.
	Do not worry about GLOB_ONLY_P as we now mimic glibc here.
	Include glob_internal.h.
	(D_INO_TO_RESULT): Depend on (_LIBC || D_INO_IN_DIRENT), not
	((POSIX || WINDOWS32) && !__GNU_LIBRARY__).  The latter probably
	worked only coincidentally.
	(attribute_hidden, __attribute_noinline__, __glibc_unlikely):
	Remove macros; now done in glob.in.h.
	(size_add_wrapv): Do not use __builtin_add_overflow if __ICC.
	(glob): Properly initialize glob structure with
	GLOB_BRACE|GLOB_DOOFFS (bug 20707).
	Remove old code using SHELL since Bash no longer
	uses this.
	(glob, prefix_array): Separate MS code better.
	(glob, glob_in_dir): Use C99 decls before statements when glibc
	does.
	(glob_in_dir): Remove old Amiga and VMS code.
	(globfree, __glob_pattern_type, __glob_pattern_p): Move to
	separate files.
	* lib/glob.in.h (attribute_hidden, __attribute_noinline__)
	(__glibc_unlikely):
	Move here from glob.c.
	(__restrict): New macro here, replacing the _Restrict_ in glob.c.
	(weak_alias): New macro.
	(__size_t): Remove.  All uses replaced by size_t.
	* modules/d-ino (License): Now LGPLv2+, for compatibility with glob.
	* modules/glob (Files): Add +lib/glob_internal.h,
	lib/glob_pattern_p.c, lib/globfree.c.
	(Depends-on): Remove snippet/arg-nonnull.

2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	glob: port to clang's Undefined Sanitizer
	Problem reported by Tim Rühsen in:
	http://lists.gnu.org/r/bug-gnulib/2017-08/msg00144.html
	* lib/glob.c (FLEXIBLE_ARRAY_MEMBER) [_LIBC]: Define to empty.
	(glob_in_dir): Do not rely on undefined behavior in accessing
	struct members beyond their bounds.  Use a flexible array member
	instead.

2017-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	vc-list-files: port to Solaris 10
	* build-aux/vc-list-files: Don't assume test -e works.

2017-08-21  Karl Berry  <karl@freefriends.org>

	* doc/posix-functions/srandom.texi (srandom): typo }.

2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	git-version-gen: port to Solaris 10
	Problem reported by Dagobert Michelsen in:
	http://lists.gnu.org/r/grep-devel/2017-08/msg00002.html
	* build-aux/git-version-gen (v_from_git):
	Use expr instead of shell substitution.

2017-08-19  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Improve detection of MIPS ABI.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, test the value of
	_MIPS_SIM.

2017-08-17  Bruno Haible  <bruno@clisp.org>

	hypot tests: Fix test failure on FreeBSD 11.0/x86.
	* tests/test-hypot.h (test_function): Declare z as 'volatile'.

2017-08-17  Bruno Haible  <bruno@clisp.org>

	float: Fix LDBL_MIN value on FreeBSD/x86.
	* lib/float.in.h (LDBL_MIN) [__FreeBSD__]: Add more precision.

2017-08-17  Bruno Haible  <bruno@clisp.org>

	random: Fix test compilation failure on Cygwin 1.5.25.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_INITSTATE,
	HAVE_DECL_SETSTATE.
	* m4/random.m4 (gl_FUNC_RANDOM): Test whether initstate and setstate are
	declared.
	* modules/stdlib (Makefile.am): Substitute HAVE_DECL_INITSTATE,
	HAVE_DECL_SETSTATE.
	* lib/stdlib.in.h (initstate): Declare also if HAVE_DECL_INITSTATE is 0.
	(setstate): Declare also if HAVE_DECL_SETSTATE is 0.
	* doc/posix-functions/initstate.texi: Mention the Cygwin 1.5.x problem.
	* doc/posix-functions/random.texi: Likewise.
	* doc/posix-functions/setstate.texi: Likewise.
	* doc/posix-functions/srandom.texi: Likewise.

2017-08-16  Bruno Haible  <bruno@clisp.org>

	stdnoreturn: Fix test compilation failure on Cygwin.
	* m4/stdnoreturn.m4 (gl_STDNORETURN_H): On Cygwin, use gnulib's
	<stdnoreturn.h> replacement.
	* lib/stdnoreturn.in.h (noreturn): Treat Cygwin like MSVC.
	* doc/posix-headers/stdnoreturn.texi: Mention the Cygwin problem.

2017-08-16  Bruno Haible  <bruno@clisp.org>

	thread: Fix conflict with pthread_sigmask module.
	* lib/glthread/thread.h (pthread_sigmask): Don't declare it weak if
	it's defined as a macro.
	* modules/thread (Depends-on): Add pthread_sigmask.

2017-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	rename: port better to NetBSD
	* doc/posix-functions/rename.texi (rename): NetBSD 7
	does not have the link-count bug.
	* m4/rename.m4 (gl_FUNC_RENAME): Don’t consider NetBSD to be
	broken merely because rename ("a", "b") removes "a" when the two
	names are hard links to the same file.

2017-08-16  Bruno Haible  <bruno@clisp.org>

	iconv_open, uni*: Add support for VPATH builds with OpenBSD 'make'.
	* modules/iconv_open (Makefile.am): In the rules that use gperf, prefix
	the target file names with '$(srcdir)/'.
	* modules/unicase/locale-language (Makefile.am): Likewise.
	* modules/unicase/special-casing (Makefile.am): Likewise.
	* modules/unictype/bidiclass-byname (Makefile.am): Likewise.
	* modules/unictype/category-byname (Makefile.am): Likewise.
	* modules/unictype/combining-class-byname (Makefile.am): Likewise.
	* modules/unictype/joininggroup-byname (Makefile.am): Likewise.
	* modules/unictype/joiningtype-byname (Makefile.am): Likewise.
	* modules/unictype/property-byname (Makefile.am): Likewise.
	* modules/unictype/scripts (Makefile.am): Likewise.
	* modules/uninorm/composition (Makefile.am): Likewise.

2017-08-16  Bruno Haible  <bruno@clisp.org>

	nonblocking-socket tests: Fix failure on OpenBSD 6.0.
	* tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE): Increase
	value for OpenBSD.

2017-08-16  Bruno Haible  <bruno@clisp.org>

	rename, renameat: Update doc regarding NetBSD.
	* doc/posix-functions/rename.texi: Clarify that when using
	-D_XOPEN_SOURCE=500 on NetBSD 7.0, the hard link bug is gone.
	* doc/posix-functions/renameat.texi: Be more precise about NetBSD
	version.

2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	renameat2: port better to macOS
	* lib/renameat2.c (renameat2): Use renameatx_np if available.

	futimens: don’t assume struct timespec layout
	* m4/futimens.m4 (gl_FUNC_FUTIMENS):
	* m4/utimensat.m4 (gl_FUNC_UTIMENSAT):
	* tests/test-fdutimensat.c (main):
	* tests/test-futimens.h (test_futimens):
	* tests/test-lutimens.h (test_lutimens):
	* tests/test-utimens.h (test_utimens):
	* tests/test-utimensat.c (main):
	Don’t assume that struct timespec is a two-member structure in
	tv_sec, tv_nsec order.  Although this is true on all platforms we
	know about, POSIX does not guarantee it.

	rename: document+test NetBSD rename
	Test failure reported by Bruno Haible in:
	http://lists.gnu.org/r/bug-gnulib/2017-08/msg00104.html
	This is an area where NetBSD is better-behaved than POSIX,
	so allow the NetBSD behavior in tests.
	* doc/posix-functions/rename.texi:
	* doc/posix-functions/renameat.texi: Document NetBSD behavior.
	* tests/test-rename.h (test_rename): Allow NetBSD behavior.

2017-08-15  Bruno Haible  <bruno@clisp.org>

	renameat: Ensure declaration in <stdio.h> on NetBSD.
	* lib/stdio.in.h: Include <unistd,h> also on NetBSD.
	* doc/posix-functions/renameat.texi: Mention this problem.

2017-08-15  Bruno Haible  <bruno@clisp.org>

	duplocale: Work around NetBSD 7.0 bug.
	* m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Test against the NetBSD 7.0 bug.
	* lib/duplocale.c: Add comment about NetBSD problem.
	* doc/posix-functions/duplocale.texi: Mention the NetBSD problem.

2017-08-15  Bruno Haible  <bruno@clisp.org>

	duplocale tests: Verify use with *_l functions.
	* modules/duplocale-tests (configure.ac): Test for uselocale and
	some *_l functions.
	* tests/test-duplocale.c (test_with_uselocale): New function, extracted
	from main.
	(get_locale_dependent_values_from, test_with_locale_parameter): New
	functions.
	(main): Test both test_with_uselocale and test_with_locale_parameter.

2017-08-15  Bruno Haible  <bruno@clisp.org>

	extensions: Enable NetBSD specific extensions.
	* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _NETBSD_SOURCE.

2017-08-14  Bruno Haible  <bruno@clisp.org>

	open, openat: Update doc about O_CLOEXEC.
	* doc/posix-functions/open.texi: More concrete list of platforms.
	* doc/posix-functions/openat.texi: Likewise.

2017-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	open: support O_CLOEXEC
	* NEWS, doc/posix-functions/open.texi:
	* doc/posix-functions/openat.texi: Document this.
	* lib/fcntl.in.h (O_CLOEXEC): Default to a nonzero value.
	(GNULIB_defined_O_CLOEXEC): New symbol.
	* lib/open.c: Include cloexec.h.
	(open): Support O_CLOEXEC.
	* lib/openat.c: Include cloexec.h.
	(rpl_openat): Support O_CLOEXEC.
	* lib/popen-safer.c: Do not include cloexec.h.
	(open_noinherit): Remove.
	(popen_safer): Use O_CLOEXEC instead of set_cloexec_flag.
	* lib/save-cwd.c: Do not include cloexec.h.
	(save_cwd): Use O_CLOEXEC instead of set_cloexec_flag.
	* m4/open-cloexec.m4: New file.
	* m4/open.m4 (gl_FUNC_OPEN): Require gl_PREPROC_O_CLOEXEC.
	Replace 'open' if O_CLOEXEC is not present.
	* m4/openat.m4 (gl_FUNC_OPENAT): Require gl_PREPROC_O_CLOEXEC.
	Replace 'openat' if O_CLOEXEC is not present.
	* modules/freopen (Depends-on): Depend on 'open' if replacing freopen.
	* modules/open (Files): Add m4/open-cloexec.m4.
	(Depends-on): Depend on cloexec if replacing 'open'.
	* modules/openat (Files): Add m4/open-cloexec.m4.
	(Depends-on): Depend on cloexec if replacing openat.
	* modules/popen-safer (Depends-on): Remove cloexec.
	* modules/save-cwd (Depends-on): Remove cloexec, and add
	fd-safer-flag and 'open'.

2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	reallocarray: minor fixes
	* doc/glibc-functions/reallocarray.texi: Update version numbers.
	* m4/reallocarray.m4 (gl_FUNC_REALLOCARRAY): Don't trust _cv_ contents.
	* modules/reallocarray (License): Change from GPL to LGPL.
	* tests/test-reallocarray.c (main): Fix ENOMEM typo.
	Indent properly and don't use tabs.

2017-08-13  Darshit Shah  <darnir@gnu.org>

	reallocarray: New module
	reallocarray is a new function in glibc 2.26 to safely allocate an array
	of memory locations with integer overflow protection.
	* MODULES.html.sh: Add reallocarray.
	* doc/glibc-functions/reallocarray.texi: Documentation for reallocarray.
	* lib/reallocarray.c: New file to implement module reallocarray.
	* lib/stdlib.in.h: Add function declarations for reallocarray.
	* m4/reallocarray.m4: New file.
	* m4/stdlib_h.m4: Declare reallocarray.
	* modules/reallocarray: New file.
	* modules/reallocarray-test: New file.
	* modules/stdlib: Coerce stdlib.h to export reallocarray.
	* tests/test-reallocarray.c: New test.

2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	dirent-safer: fix cloexec race
	* lib/opendir-safer.c: Include fcntl.h instead of unistd-safer.h.
	(opendir_safer): Use F_DUPFD_CLOEXEC.
	* modules/dirent-safer (Depends-on): Add fcntl.  Remove unistd-safer.
	* tests/test-dirent-safer.c: Do not include unistd-safer.h,
	as it is no longer a prerequisite.  Use F_DUPFD_CLOEXEC
	instead of dup_safer.

	fts: fix cloexec races
	* lib/fts.c [!_LIBC]: Do not include dirent--.h, unistd--.h, cloexec.h.
	(opendirat, diropen): Use O_CLOEXEC instead of set_cloexec_flag.
	(fts_build): Use F_DUPD_CLOEXEC rinstad of set_cloexec_flag.
	(fd_ring_check): Set cloexec flag on new file descriptors.
	(fts_build, fd_ring_check): While we’re at it, make sure the
	resulting file descriptor is not 0, 1, or 2, since that is easy.

2017-08-11  Bruno Haible  <bruno@clisp.org>

	fts tests: Fix link error.
	Reported by Tom G. Christensen in
	https://lists.gnu.org/r/bug-gnulib/2017-08/msg00078.html
	* modules/fts-tests (Makefile.am): Link test-fts against LIBINTL.

2017-08-10  Paul Eggert  <eggert@cs.ucla.edu>

	fts: port recent changes to CentOS 6
	Problem reported by Tom G. Christensen in:
	http://lists.gnu.org/r/bug-gnulib/2017-08/msg00064.html
	* lib/fts.c (fsword): New type.
	(struct dev_type, filesystem_type): Use it.
	* m4/fts.m4 (gl_FUNC_FTS_CORE): Check for __fsword_t.
	Also, check for f_type only if fstatfs and sys/vfs.h work.

2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	tempname: do not depend on secure_getenv
	Excess dependency noted by Eli Zaretskii (Bug#28023#17).
	* lib/tempname.c (__secure_getenv) [!_LIBC]: Remove; unused.
	* modules/tempname (Depends-on): Remove secure_getenv.

2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>

	extensions: add _OPENBSD_SOURCE
	* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _OPENBSD_SOURCE.

2017-08-06  Reuben Thomas  <rrt@sc3d.org>
            Bruno Haible  <bruno@clisp.org>

	manywarnings: Add support for C++.
	* build-aux/g++-warning.spec: New file.
	* m4/manywarnings-c++.m4: New file.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC(C++)): New macro, that
	redirects to manywarnings-c++.m4.
	* modules/manywarnings (Files): Add m4/manywarnings-c++.m4.

2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>

	git-version-gen: another fix for tags with "-"
	* build-aux/git-version-gen: Improve fix for tags containing "-".
	Suggested by Markus Armbruster in:
	http://lists.gnu.org/r/bug-gnulib/2017-08/msg00034.html

2017-08-06  Bruno Haible  <bruno@clisp.org>

	warnings, manywarnings: Add support for multiple languages, not just C.
	* warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS_IMPL): Renamed from
	gl_UNKNOWN_WARNINGS_ARE_ERRORS.
	(gl_UNKNOWN_WARNINGS_ARE_ERRORS(C)): New macro.
	(gl_UNKNOWN_WARNINGS_ARE_ERRORS(C++)): New macro.
	(gl_UNKNOWN_WARNINGS_ARE_ERRORS): Dispatch to
	gl_UNKNOWN_WARNINGS_ARE_ERRORS(_AC_LANG).
	(gl_WARN_ADD): Require the gl_UNKNOWN_WARNINGS_ARE_ERRORS specialization
	of the current language. If C++ is the current language, modify
	WARN_CXXFLAGS instead of WARN_CFLAGS.
	* manywarnings.m4 (gl_MANYWARN_ALL_GCC(C)): New macro, extracted from
	gl_MANYWARN_ALL_GCC.
	(gl_MANYWARN_ALL_GCC): Dispatch to gl_MANYWARN_ALL_GCC(_AC_LANG).

2017-08-06  Markus Armbruster  <armbru@pond.sub.org>

	git-version-gen: Fix for tags containing '-'

	Really old versions of git-describe (before v1.5.0, Feb 2007)
	don't have the number of commits in their long format output,
	i.e. where modern 'git describe --abbrev=4 --match="v*"' prints
	"v0.1-1494-g124b9", they print "v0.1-1494-g124b9".  git-version-gen
	recognizes both patterns, and normalizes the old format to the new one.

	Unfortunately, this normalization code gets confused when the tag
	contains '-'.  Reproducer:

	    $ git-tag -m test v0.2-rc1
	    $ build-aux/git-version-gen .tarball-version; echo
	    build-aux/git-version-gen: WARNING: git rev-list failed
	    UNKNOWN

	We take exact tag "v0.2-rc1" for the old format, extract the presumed
	tag "v0.2" from it, then run "git rev-list v0.2..HEAD" to count
	commits since tha tag.	Fails, because tag "v0.2" does not exist.

	* git-version-gen: We could perhaps drop support for versions from
	more than a decade ago.  But tightening the pattern match is easy
	enough, so do that.  Still breaks when you use version tags ending in
	something matching -g????, but you arguably get what you deserve then.

2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	valgrind-tests: use ls, and cache
	* m4/valgrind-tests.m4: Test ls, not bash.
	Problem reported by Reuben Thomas.
	Also, cache the result so that it can be overridden.

2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: port to 64-bit GCC builds of Emacs
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Compute max safe
	object size rather than hardwiring 2147483647.  This is needed to
	build GNU Emacs, which has one conditional (and used
	only-in-theory) call to malloc with a literal greater than
	2147483647.

2017-08-04  Bruno Haible  <bruno@clisp.org>

	Relax the license of some modules with no runtime code.
	* modules/std-gnu11 (License): Set to 'unlimited'.
	* modules/c99 (License): Likewise.
	Reported by Reuben Thomas <rrt@sc3d.org>.
	* modules/d-ino (License): Set to 'LGPL'.
	* modules/host-os (License): Likewise.
	* modules/longlong (License): Likewise.

2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	renameat2: port to RHEL 7 + NFS
	* lib/renameat2.c (renameat2) [SYS_renameat2]:
	Port to RHEL 7 + NFS.  Problem reported by Ted Zlatanov in:
	http://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html

2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>

	renameat2: port to non-renameat platforms
	Problem reported for MSVC-2015 by Gisle Vanem in:
	http://lists.gnu.org/r/bug-gnulib/2017-08/msg00001.html
	* lib/renameat2.c [!HAVE_RENAMEAT]: Include <sys/stat.h> here too.
	(renameat2) [!HAVE_RENAMEAT]: Fix typo in arg passing.

2017-08-01  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: port to 32-bit GCC bug
	Problem reported by Pino Toscano in:
	http://lists.gnu.org/r/bug-gnulib/2017-07/msg00150.html
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Use 2**31 - 1,
	not 2**63 - 1, to work around the following GCC bug:
	https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81650

2017-07-30  Paul Eggert  <eggert@cs.ucla.edu>

	backupfile: new function to validate backup suffix
	* lib/backupfile.c (set_simple_backup_suffix): New function.
	(backupfile_internal): Use it.

	canonicalize: fix EOVERFLOW commentary
	Problem reported by Bruno Haible in:
	http://lists.gnu.org/r/bug-gnulib/2017-07/msg00147.html
	* lib/canonicalize.c (canonicalize_filename_mode):
	* lib/canonicalize-lgpl.c (__realpath): Fix comments.

	Don't interpret EOVERFLOW to mean nonexistence
	* lib/fts.c (fts_stat): If lstat fails, report its errno, which
	may be EOVERFLOW; this is likely more useful than reporting the
	stat errno.
	* lib/glob.c (link_stat): Rename from link_exists2_p and
	return -1/0 instead of 0/1.  Caller changed.
	* lib/glob.c (link_exists_p):
	* lib/renameat2.c (rename_noreplace, renameat2):
	* lib/tempname.c (try_nocreate):
	If errno == EOVERFLOW then the directory entry exists, so do not
	act as if it does not exist.

	backup-rename: new module
	It is like backupfile, except it avoids some race conditions,
	and it does not output to stderr or exit.
	* MODULES.html.sh: Add backup-rename.
	* lib/backup-find.c, lib/backup-internal.h, lib/backup-rename.c:
	* modules/backup-rename: New files.
	* lib/backupfile.c: Turn this into an internals file, which
	contains code common to backupfile and backup_rename.  Include
	backupfile-internal.h instead of backupfile.h.  Do not include
	argmatch.h or xalloc.h: include xalloc-oversized.h.  Include
	renameat2.h and fcntl.h.
	(BACKUP_NOMEM): New constant.
	(numbered_backup): New args BASE_OFFSET and *DIRPP.  Do not exit
	on memory exhaustion; just return BACKUP_NOMEM.  Caller changed.
	(backupfile_internal): Rename from find_backup_file_name.
	Support new arg RENAME.
	(backup_args, backup_types, get_version, xget_version):
	Move to lib/backup-find.c.
	* lib/backupfile.h (backup_file_rename): New decl.
	* modules/backupfile (Files): Add lib/backup-internal.h,
	lib/backup-find.c.
	(Depends-on): Add dirfd, fcntl, renameat2.
	(lib_SOURCES): Add backup-find.c.

	renameat2: port better to older Solaris
	* lib/renameat2.c (renameat2): Set ret_val properly on old Solaris.
	Add goto to use a label, to silence picky compilers.

	fts-tests: port to gcc -Wwrite-strings
	* tests/test-fts.c (base, base_d): New static vars.
	(argv, remove_tree, main): Use them.

2017-07-26  Reuben Thomas  <rrt@sc3d.org>

	relocatable-lib{,-lgpl}: improve documentation
	* doc/relocatable-maint.texi: Document use of relocatable-lib{,-lgpl}.
	Various other updates.

2017-07-30  Reuben Thomas  <rrt@sc3d.org>
            Bruno Haible  <bruno@clisp.org>

	relocatable-lib{,-lgpl}: add Valgrind suppressions
	* lib/relocatable.valgrind: New file.
	* modules/relocatable-lib (Files): Add relocatable.valgrind.
	* modules/relocatable-lib-lgpl: Likewise.

2017-07-26  Reuben Thomas  <rrt@sc3d.org>

	relocatable: Make the license on the sources the GPL.
	* lib/relocatable.h, lib/relocatable.c: Change the copyright notice from
	LGPL, which was a special case so that the relocatable source files
	could be used without gnulib-tool, to GPL. They can still be used under
	the LGPL, using the --lgpl option to gnulib-tool.

2017-07-30  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Detect ILP32 ABI on IA-64 HP-UX.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Distinguish ia64-ilp32
	from ia64. For arm64, test only __aarch64__, as __ARM_64BIT_STATE and
	__ARM_PCS_AAPCS64 are not reliable indicators: they are not defined on
	Ubuntu 14.04 (gcc 4.8.4) and Debian 8 (gcc 4.9.2).

2017-07-27  Paul Eggert  <eggert@cs.ucla.edu>

	faccessat: document AT_SYMLINK_NOFOLLOW issue
	* doc/posix-functions/faccessat.texi: Modernize platform list.
	Document AT_SYMLINK_NOFOLLOW limitation.

	renameat2: port to Solaris 10
	* lib/renameat2.c (rename_noreplace): Use lstat, not faccessat
	with AT_SYMLINK_NOFOLLOW (which is not portable).
	(renameat): Undef before using, to avoid endless recursion when
	the replacement renameat calls renameat2 which calls the
	replacement renameat.
	(renameat2): Use lstatat, not faccessat with AT_SYMLINK_NOFOLLOW.
	* modules/renameat2 (Depends-on): Remove faccessat.
	* modules/renameat-tests (test_renameat_LDADD):
	* modules/renameat2-tests (test_renameat2_LDADD):
	Remove $(LIB_EACCESS).

	renameat2: new module
	Although the Linux syscall renameat2 is not in glibc (yet?), it is
	useful to have access to its RENAME_NOREPLACE flag.
	* MODULES.html.sh (func_all_modules): Add renameat2.
	* lib/renameat2.c, lib/renameat2.h, modules/renameat2:
	* modules/renameat2-tests, tests/test-renameat2.c: New files.
	* lib/renameat.c (renameat): Move most of the implementation
	to renameat2, and just call renameat2.
	* modules/renameat (Files): Remove lib/at-func2.c.
	(Depends-on): Depend only on renameat2.
	(Include): Remove <fcntl.h>.
	* modules/renameat-tests (test_renameat_LDADD): Add $(LIB_EACCESS),
	since renameat (via renameat2) might use faccessat.

2017-07-27  Erik Skultety <eskultet@redhat.com>  (tiny change)

	vc-list-files: Adjust the script to support git worktrees
	* build-aux/vc-list-files: Require existence, not directory.

2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>

	doc: bring MODULES.html.sh up to date
	Somehow a few months ago we stopped updating MODULES.html.sh.
	I don’t recall explicitly deciding this, so I updated it now.
	Alternatively I suppose we could remove it.
	* MODULES.html.sh: Add builtin-expect, c99, ctime, explicit_bzero,
	localtime, localtime-buffer, noreturn, nstrftime, strftime-fixes,
	truncate, utime, utime-h, windows-stat-inodes,
	windows-stat-override, windows-stat-timespec, year2038.  Sort.

2017-07-26  Jim Meyering  <meyering@fb.com>

	fprintftime: fix build-break caused by recent renaming
	* lib/fprintftime.c: Include "nstrftime.c", not the now-renamed
	"strftime.c".
	* modules/fprintftime: Depend directly on nstrftime.

2017-07-26  Paul Eggert  <eggert@cs.ucla.edu>

	regex: work with GCC7's -Werror=implicit-fallthrough=
	* lib/regex_internal.h (FALLTHROUGH): New macro.
	* lib/regcomp.c (peek_token_bracket, parse_expression):
	* lib/regexec.c (check_node_accept): Use it.

2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	fts: simplify fts_build
	* lib/fts.c (fts_build): Simplify, and be lazier about
	calling leaf_optimization.

	fts: three levels of leaf optimization
	* lib/fts.c (enum leaf_optimization): New type with three values.
	(S_MAGIC_AFS): New macro.  Sort them.
	(leaf_optimization): Rename from leaf_optimization_applies, and
	return enum leaf_optimization instead of bool.  All uses changed.
	Add cases for unknown type and for AFS.
	(fts_build): Don’t rely on link counts if NO_LEAF_OPTIMIZATION.

	fts: cache dirent_inode_sort_may_be_useful too
	* lib/fts.c (struct dev_type): New struct.
	(DEV_TYPE_HT_INITIAL_SIZE): New constant.
	(dev_type_hash, dev_type_compare, filesystem_type): New functions.
	(dirent_inode_sort_may_be_useful, leaf_optimization_applies):
	Now takes FTSENT const *, not int.  All uses changed.  Use
	filesystem_type to cache.
	(link_count_optimize_ok): Remove.  Caller changed to use
	leaf_optimization_applies, which now uses shared cache.

	fts: introduce MIN_DIR_NLINK
	* lib/fts.c (MIN_DIR_NLINK): New constant.
	Use it instead of 2, whenever we are talking about link counts.

	fts: nlink_t signedness fixups
	* lib/fts.c (fts_open): Set rootparent n_dirs_remaining to -1
	so that root need not be a special case later.
	(fts_read): Remove now-redundant test for fts_level.
	Do not assume that nlink_t is signed.
	(fts_build): Remove useless decrement of nlinks.
	(fts_stat): Avoid unlikely signed integer overflow later, if
	nlink_t is signed.

	fts-tests: new module
	* modules/fts-tests, tests/test-fts.c: New files.

2017-07-23  Bruno Haible  <bruno@clisp.org>

	Rename module 'strftime' to 'nstrftime'.
	* m4/nstrftime.m4: Renamed from m4/strftime.m4.
	* lib/nstrftime.c: Renamed from lib/strftime.c.
	* modules/nstrftime: Renamed from modules/strftime.
	(Files, Makefile.am): Update.
	* tests/test-nstrftime.c: Renamed from tests/test-strftime.c.
	Fix comment.
	* modules/nstrftime-tests: Renamed from modules/strftime-tests.
	(Files, Makefile.am): Update.
	* modules/strftime: New file, an obsolete indirection.
	* doc/posix-functions/strftime.texi: Update reference.
	* config/srclist.txt: Update info.
	* NEWS: Mention the change.

2017-07-21  Tim Rühsen  <tim.ruehsen@gmx.de>

	malloca: Silence a warning from clang's memory sanitizer.
	* lib/malloca.c (NO_SANITIZE_MEMORY): New macro.
	(freea): Use it.

2017-07-18  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Fix detection of MIPS ABI.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): For MIPS, really test the
	ABI, not the CPU instruction set.

2017-07-16  Paul Eggert  <eggert@cs.ucla.edu>

	explicit_bzero: new module
	The explicit_bzero function has been added to glibc.
	This module is intended to supports its use in GNU programs.
	* doc/glibc-functions/explicit_bzero.texi, lib/explicit_bzero.c:
	* m4/explicit_bzero.m4, modules/explicit_bzero:
	New files.
	* doc/gnulib.texi (Glibc string.h): Link to new doc.
	* lib/string.in.h (explicit_bzero): Declare.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add defaults for it.
	* modules/string (string.h): Substitute its vars.

2017-07-16  Bruno Haible  <bruno@clisp.org>

	threadlib: Support static linking.
	* m4/threadlib.m4 (gl_THREADLIB_BODY): When static linking is in use,
	set gl_cv_have_weak to 'no'.

2017-07-16  Bruno Haible  <bruno@clisp.org>

	unicase/locale-language: Fix link dependencies.
	* modules/unicase/locale-language (Link): New section.
	* modules/unicase/locale-language-tests (Makefile.am): Link
	test-locale-language program with $(LIBTHREAD).

2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>

	sys_socket: Add support for OpenVMS.
	* lib/sys_socket.in.h [__VMS]: Define CMSG_SPACE, CMSG_LEN.
	* doc/posix-headers/sys_socket.texi: Mention OpenVMS issues.

2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>

	sys_resource: Add support for OpenVMS.
	* lib/resource.in.h [__VMS]: Define RUSAGE_SELF, RUSAGE_CHILDREN.
	* doc/posix-headers/sys_resource.texi: Mention OpenVMS issues.

2017-07-15  John E. Malmberg  <wb8tyw@gmail.com>
            Bruno Haible  <bruno@clisp.org>

	math: Add support for OpenVMS.
	* lib/math.in.h [__VMS]: Include <fp.h>.
	* doc/posix-headers/math.texi: Mention OpenVMS issues.

2017-07-15  Bruno Haible  <bruno@clisp.org>

	getdtablesize: Add minimal support for OpenVMS.
	Reported by John E. Malmberg <wb8tyw@qsl.net>.
	* modules/getdtablesize (Description): Fix.
	* lib/getdtablesize.c: Fix comment.
	* m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Don't replace the
	getdtablesize() function, even though the test fails.
	* doc/glibc-functions/getdtablesize.texi: Reference SUSv2. Describe
	limitation on OpenVMS.

2017-07-13  Bruno Haible  <bruno@clisp.org>

	Revisit cross-compilation guesses.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Add comment.

2017-07-13  Bruno Haible  <bruno@clisp.org>

	Improve cross-compilation guesses for native Windows.
	* m4/btowc.m4 (gl_FUNC_BTOWC): Add cross-compilation guess for native
	Windows.
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Likewise.
	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Likewise.
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
	* m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): Likewise.
	* m4/cbrtl.m4 (gl_FUNC_CBRTL, gl_FUNC_CBRTL_WORKS): Likewise.
	* m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
	* m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
	* m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
	* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
	* m4/dup.m4 (gl_FUNC_DUP): Likewise.
	* m4/expl.m4 (gl_FUNC_EXPL): Likewise.
	* m4/exp2.m4 (gl_FUNC_EXP2_WORKS): Likewise.
	* m4/exp2l.m4 (gl_FUNC_EXP2L): Likewise.
	* m4/expm1.m4 (gl_FUNC_EXPM1): Likewise.
	* m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): Likewise.
	* m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
	* m4/fabsl.m4 (gl_FUNC_FABSL_WORKS): Likewise.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
	* m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
	* m4/float_h.m4 (gl_FLOAT_H): Likewise.
	* m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
	* m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
	* m4/fma.m4 (gl_FUNC_FMA_WORKS): Likewise.
	* m4/fmaf.m4 (gl_FUNC_FMAF_WORKS): Likewise.
	* m4/fmal.m4 (gl_FUNC_FMAL_WORKS): Likewise.
	* m4/fmod.m4 (gl_FUNC_FMOD): Likewise.
	* m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
	* m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
	* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
	* m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): Likewise.
	* m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Likewise.
	* m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
	* m4/hypotf.m4 (gl_FUNC_HYPOTF, gl_FUNC_HYPOTF_WORKS): Likewise.
	* m4/hypotl.m4 (gl_FUNC_HYPOTL, gl_FUNC_HYPOTL_WORKS): Likewise.
	* m4/ilogb.m4 (gl_FUNC_ILOGB_WORKS): Likewise.
	* m4/ilogbf.m4 (gl_FUNC_ILOGBF_WORKS): Likewise.
	* m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
	* m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
	* m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
	* m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
	* m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
	* m4/log.m4 (gl_FUNC_LOG, gl_FUNC_LOG_WORKS): Likewise.
	* m4/logf.m4 (gl_FUNC_LOGF, gl_FUNC_LOGF_WORKS): Likewise.
	* m4/logl.m4 (gl_FUNC_LOGL_WORKS): Likewise.
	* m4/log10.m4 (gl_FUNC_LOG10, gl_FUNC_LOG10_WORKS): Likewise.
	* m4/log10f.m4 (gl_FUNC_LOG10F, gl_FUNC_LOG10F_WORKS): Likewise.
	* m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): Likewise.
	* m4/log1p.m4 (gl_FUNC_LOG1P): Likewise.
	* m4/log1pf.m4 (gl_FUNC_LOG1PF, gl_FUNC_LOG1PF_WORKS): Likewise.
	* m4/log1pl.m4 (gl_FUNC_LOG1PL): Likewise.
	* m4/log2.m4 (gl_FUNC_LOG2, gl_FUNC_LOG2_WORKS): Likewise.
	* m4/log2f.m4 (gl_FUNC_LOG2F, gl_FUNC_LOG2F_WORKS): Likewise.
	* m4/log2l.m4 (gl_FUNC_LOG2L_WORKS): Likewise.
	* m4/logb.m4 (gl_FUNC_LOGB_WORKS): Likewise.
	* m4/logbf.m4 (gl_FUNC_LOGBF_WORKS): Likewise.
	* m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Likewise.
	* m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
	* m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT, gl_MBRTOWC_C_LOCALE): Likewise.
	* m4/mkdir.m4 (gl_FUNC_MKDIR): Likewise.
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
	* m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): Likewise.
	* m4/modf.m4 (gl_FUNC_MODF): Likewise.
	* m4/modff.m4 (gl_FUNC_MODFF): Likewise.
	* m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
	* m4/perror.m4 (gl_FUNC_PERROR): Likewise.
	* m4/popen.m4 (gl_FUNC_POPEN): Likewise.
	* m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE,
	gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2,
	gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): Likewise.
	* m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Likewise.
	* m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
	* m4/regex.m4 (gl_REGEX): Likewise.
	* m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
	* m4/remainderf.m4 (gl_FUNC_REMAINDERF,
	gl_FUNC_REMAINDERF_WORKS): Likewise.
	* m4/remainderl.m4 (gl_FUNC_REMAINDERL,
	gl_FUNC_REMAINDERL_WORKS): Likewise.
	* m4/rename.m4 (gl_FUNC_RENAME): Likewise.
	* m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
	* m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
	* m4/round.m4 (gl_FUNC_ROUND): Likewise.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
	* m4/signbit.m4 (gl_SIGNBIT): Likewise.
	* m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
	* m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): Likewise.
	* m4/stdint.m4 (gl_STDINT_H): Likewise.
	* m4/strerror.m4 (gl_FUNC_STRERROR_0): Likewise.
	* m4/strncat.m4 (gl_FUNC_STRNCAT): Likewise.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
	* m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
	* m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
	* m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
	* m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
	* m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
	* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
	* m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
	* m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
	* m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
	* m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
	* m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
	* m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
	Likewise.
	* m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
	* m4/chown.m4 (AC_FUNC_CHOWN): Add cross-compilation guess for native
	Windows. Enable also on Autoconf 2.70.
	* m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
	gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
	gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
	gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO,
	gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
	gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): Add cross-compilation guess
	for native Windows.
	(gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
	gl_VSNPRINTF_ZEROSIZE_C99): Add comment.

2017-07-13  Bruno Haible  <bruno@clisp.org>

	Improve cross-compilation guesses for native Windows.
	* m4/memchr.m4 (gl_FUNC_MEMCHR): Add cross-compilation guess for native
	Windows.
	* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Don't use internals of
	memchr.m4.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.

2017-07-13  Bruno Haible  <bruno@clisp.org>

	Improve cross-compilation guesses for native Windows.
	* m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Add cross-compilation guess for
	native Windows.
	(gl_FUNC_FFLUSH): Update accordingly.
	* m4/fclose.m4 (gl_FUNC_FCLOSE): Likewise.
	* m4/fseeko.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.

2017-07-11  Bruno Haible  <bruno@clisp.org>

	More systematic m4 quoting and indentation.
	* m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Quote systematically.
	* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
	* m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
	* m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
	* m4/host-os.m4 (gl_HOST_OS): Likewise.
	* m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H,
	gl_WINSIZE_IN_PTEM): Likewise.
	* m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Likewise.
	* m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
	* m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
	* m4/fchownat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Quote systematically.
	Correct indentation.
	* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
	* m4/jm-winsz2.m4 (gl_HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL): Likewise.
	* m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
	* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
	* m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.

2017-07-10  Bruno Haible  <bruno@clisp.org>

	round, roundf: Avoid compiler warning in configure test.
	* m4/round.m4 (gl_FUNC_ROUND): Use 'return' instead of exit().
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.

2017-07-10  Bruno Haible  <bruno@clisp.org>

	getlogin tests: Avoid #ifdefs when sharing code between modules.
	* modules/getlogin_r-tests (Files): Add tests/test-getlogin.h.
	* modules/getlogin-tests (Files): Likewise. Remove
	tests/test-getlogin_r.c.
	* tests/test-getlogin.h: Extracted from tests/test-getlogin_r.c.
	* tests/test-getlogin.c: Extracted from tests/test-getlogin_r.c.
	* tests/test-getlogin_r.c: Include test-getlogin.h. Omit code that tests
	getlogin().

2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>

	getlogin: don’t assume one name per uid
	Problem reported by Wolfgang F. Muthmann (Bug#27640).
	* modules/getlogin-tests (Files): Add tests/test-getlogin_r.c.
	(ttyname): Remove test.
	* modules/getlogin_r-tests (ttyname): Remove test.
	* tests/test-getlogin.c: Replace this near-clone of test-getlogin_r.c
	with ‘#define TEST_LOGIN’ followed by ‘#include "test-getlogin_r.c"’.
	* tests/test-getlogin_r.c: If TEST_GETLOGIN is defined, test
	getlogin rather than getlogin_r.  This avoids code duplication.
	(main): Use isatty and fstat rather than ttyname and stat.
	Use getpwnam instead of getpwuid, to be portable to test platforms
	that have multiple login names for the same uid.

2017-07-10  Tim Rühsen  <tim.ruehsen@gmx.de>
            Bruno Haible  <bruno@clisp.org>

	glob: Fix more memory leaks.
	* lib/glob.c (glob): Use 'goto out' in order to free dirname before
	returning.
	Reported by Tim Rühsen.

2017-07-10  Bruno Haible  <bruno@clisp.org>

	Make sure $host and $host_os are defined when used.
	* m4/argz.m4 (gl_FUNC_ARGZ): Require AC_CANONICAL_HOST.
	* m4/closedir.m4 (gl_FUNC_CLOSEDIR): Likewise.
	* m4/csharpexec.m4 (gt_CSHARPEXEC): Likewise.
	* m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
	* m4/expl.m4 (gl_FUNC_EXPL): Likewise.
	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
	* m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Likewise.
	* m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
	* m4/poll.m4 (gl_FUNC_POLL): Likewise.
	* m4/pselect.m4 (gl_FUNC_PSELECT): Likewise.
	* m4/ptsname.m4 (gl_FUNC_PTSNAME): Likewise.
	* m4/relocatable.m4 (gl_RELOCATABLE_BODY): Likewise.
	* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
	* m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST outside the
	m4_ifdef block.

2017-07-09  Bruno Haible  <bruno@clisp.org>

	*printf: Fix cross-compilation guess for Solaris.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): Fix copy-and-paste mistake from
	2010-12-21.

2017-07-07  Paul Eggert  <eggert@cs.ucla.edu>
            Bruno Haible  <bruno@clisp.org>

	vasnprintf: port to macOS 10.13
	Problem reported by comex in:
	http://lists.gnu.org/r/bug-gnulib/2017-07/msg00056.html
	* lib/vasnprintf.c (VASNPRINTF): Don’t use %n on macOS.

2017-07-06  Bruno Haible  <bruno@clisp.org>

	imaxdiv tests: Fix logic.
	* tests/test-imaxdiv.c (main): Use == instead of =.
	Reported by Coverity.

2017-07-06  Bruno Haible  <bruno@clisp.org>

	uninorm/filter: Fix use-after-free bug.
	* lib/uninorm/uninorm-filter.c (uninorm_filter_write): Maintain
	sortbuf == filter->sortbuf invariant.
	Reported by Coverity.

2017-07-06  Bruno Haible  <bruno@clisp.org>

	glob: Fix more memory leaks.
	* lib/glob.c (glob): Free dirname before returning.
	Reported by Coverity and Tim Rühsen.

2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime: fix uninit var bug
	Reported by Bruno Haible in:
	http://lists.gnu.org/r/bug-gnulib/2017-07/msg00038.html
	* lib/parse-datetime.y (parse_datetime2): Do not use
	uninitialized.

2017-07-05  Bruno Haible  <bruno@clisp.org>

	doc: Update for MSVC 14.
	* doc/posix-headers/*.texi: Add info about MSVC 14.
	* doc/posix-functions/*.texi: Likewise.
	* doc/pastposix-functions/*.texi: Likewise.
	* doc/glibc-headers/*.texi: Likewise.
	* doc/glibc-functions/*.texi: Likewise.

2017-07-05  Bruno Haible  <bruno@clisp.org>

	sched: Fix build failure on native Windows (regression from 2017-06-19).
	* m4/sched_h.m4 (gl_SCHED_H): Set HAVE_STRUCT_SCHED_PARAM always.

2017-07-03  John E. Malmberg  <wb8tyw@gmail.com>

	stdioext: Port to OpenVMS.
	* lib/stdio-impl.h: OpenVMS uses struct _iobuf for FILE information.
	* lib/fpending.c (fpending): Remove non-working VMS specific code.
	* lib/fbufmode.c (fbufmode): Fix _IOLBF test to use fp_ macro.
	* lib/fflush.c (clear_ungetc_buffer): Add OpenVMS to comments.
	* lib/fpurge.c (fpurge): Likewise.
	* lib/freadable.c (freadable): Likewise.
	* lib/freadahead.c (freadahead): Likewise.
	* lib/freading.c (freading): Likewise.
	* lib/freadptr.c (freadptr): Likewise.
	* lib/freadseek.c (freadseek): Likewise.
	* lib/fseeko.c (fseeko): Likewise.
	* lib/fseterr.c (fseterr): Likewise.
	* lib/fwritable.c (fwriteable): Likewise.
	* lib/fwriting.c (fwriting): Likewise.

2017-07-01  Benno Schulenberg  <bensberg@telfort.nl>

	glob: Declare variables at the very start of their scope.
	* lib/glob.c (convert_dirent, convert_dirent64): Give each fragment
	its separate scope, so the functions will compile on Haiku.

2017-07-01  Bruno Haible  <bruno@clisp.org>

	logbl: Work around a glibc bug on PowerPC64LE.
	* m4/logbl.m4 (gl_FUNC_LOGBL_WORKS): Test also negative subnormal
	numbers.
	* doc/posix-functions/logbl.texi: Update.

2017-06-29  Bruno Haible  <bruno@clisp.org>

	stat, fstat: Compile stat-w32.c only on platforms that need it.
	Suggested by Paul Eggert.
	* modules/stat (configure.ac): Request stat-w32.o only on native
	Windows.
	* modules/fstat (configure.ac): Likewise.

2017-06-25  Bruno Haible  <bruno@clisp.org>

	stat: Improve last change.
	* lib/stat-w32.c: Revert last change. Use generic idiom instead.

2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>

	stat: port to xlc 12.01
	* lib/stat-w32.c: Always include <sys/types.h>.  Otherwise, xlc
	12.01 complains "Compilation unit is empty."

2017-06-24  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc-oversized: port to icc
	* lib/xalloc-oversized.h (xalloc_oversized): Do not use
	__builtin_mul_overflow if ICC is defined, as this results in
	"undefined reference to `__builtin_mul_overflow'" with icc 17.0.2
	20170213.

2017-06-19  Bruno Haible  <bruno@clisp.org>

	classpath: Avoid including config.h twice, as it produces warnings.
	Reported by John E. Malmberg <wb8tyw@gmail.com>.
	* lib/classpath.h: Conditionalize the include of config.h.

2017-06-19  Bruno Haible  <bruno@clisp.org>
            John E. Malmberg  <wb8tyw@gmail.com>  (tiny change)

	sched: Fix compilation failure on OpenVMS.
	* m4/sched_h.m4 (gl_SCHED_H): Require AC_CANONICAL_HOST. On OpenVMS,
	test whether <pthread.h> exists and defines struct sched_param.
	* lib/sched.in.h: On OpenVMS, include <pthread.h>.

2017-06-17  Paul Eggert  <eggert@cs.ucla.edu>

	diffseq: port to GCC 7 with --enable-gcc-warnings
	* lib/diffseq.h (diag): Use an if, not an ifdef, for most of the
	heuristic check.  This way, GCC 7 with --enable-gcc-warnings does
	not complain about big_snake being defined but not used.

2017-06-15  Bruno Haible  <bruno@clisp.org>

	gettext-h: Update theoretical condition for use of variable size arrays.
	Reported by Paul Eggert.
	* lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Extend comment
	to include the theoretical condition for availability of variable size
	arrays, if we could trust the value of __STDC_VERSION__.

2017-06-12  Bruno Haible  <bruno@clisp.org>

	Relicense some modules under LGPLv2+.
	Daiki Ueno's approval is in
	https://lists.gnu.org/r/bug-gnulib/2017-06/msg00058.html.
	* modules/uniwidth/base (License): Change to LGPLv2+.
	* modules/uniwidth/width (License): Likewise.

2017-06-11  Bruno Haible  <bruno@clisp.org>

	localename: Fix test failure on DragonFly BSD.
	* lib/localename.c (gl_locale_name_thread_unsafe): Treat DragonFly BSD
	like FreeBSD.

2017-06-11  Bruno Haible  <bruno@clisp.org>

	float: Fix 'float' and 'isinf' failures on DragonFly BSD.
	* m4/float_h.m4 (gl_FLOAT_H): Treat DragonFly BSD like FreeBSD.
	* lib/float.in.h: Likewise.
	* m4/fmal.m4, m4/frexpl.m4, m4/logbl.m4: Update accordingly.

2017-06-11  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Clean up after autotools.
	* gnulib-tool (func_create_testdir, func_create_megatestdir): Remove
	useless directory left over by the Autotools.

2017-06-11  Paul Eggert  <eggert@cs.ucla.edu>

	getopt-posix: port to glibc 2.25.90
	Problem reported by Daniel P. Berrange in:
	http://lists.gnu.org/r/bug-gnulib/2017-06/msg00003.html
	* lib/getopt-pfx-core.h (_GETOPT_CORE_H):
	* lib/getopt-pfx-ext.h (_GETOPT_EXT_H):
	#undef if __GETOPT_PREFIX is defined.

2017-06-11  Bruno Haible  <bruno@clisp.org>

	strtod-obsolete: Fix license.
	* modules/strtod-obsolete (License): Change to LGPL.

2017-06-10  Jim Meyering  <meyering@fb.com>

	maint: update to work with GCC7's -Werror=implicit-fallthrough=
	* lib/savewd.c (FALLTHROUGH): Define.
	(savewd_save, savewd_restore): Use this, rather than a comment,
	whenever one switch case falls through into the next.

2017-06-08  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Support for aarch64 ILP32 ABI.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Recognize the aarch64 ILP32
	ABI. Set HOST_CPU_C_ABI=arm64-ilp32 and define __arm64_ilp32__ in this
	case.

2017-06-08  Paul Eggert  <eggert@cs.ucla.edu>

	doc: remove robots, add prereqs
	* doc/build-automation.texi, doc/gnulib.texi: Mention prereqs for
	builds.  Simon's robot site does not seem to be up, so remove
	mentions of it for now.

2017-06-08  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix bug in func_symlink_if_changed, from 2006-11-13.
	* gnulib-tool (func_symlink_target): New function, extracted from
	func_symlink.
	(func_symlink, func_symlink_if_changed): Use it.

2017-06-08  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix bug in func_ln_s, from 2016-01-15.
	* gnulib-tool (func_ln_s): Determine cp_src correctly.

2017-06-07  Bruno Haible  <bruno@clisp.org>

	canonicalize-lgpl: Avoid conflict with gnulib 'getcwd' module on VMS.
	Reported by John E. Malmberg <wb8tyw@gmail.com> in
	<https://lists.gnu.org/r/bug-gnulib/2017-06/msg00029.html>.
	* lib/canonicalize-lgpl.c (__getcwd): On VMS, when using gnulib's getcwd
	override, pass 2 arguments to getcwd, not 3.

2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>

	same-inode: port better to VMS 8.2 and later
	Problem reported by John E. Malmberg in:
	http://lists.gnu.org/r/bug-gnulib/2017-06/msg00005.html
	* lib/same-inode.h (SAME_INODE) [__VMS && 80200000 <= __CRTL_VER]:
	Use the usual POSIX definition.
	* m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define _USE_STD_STAT.

2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	error: fix POSIX violation for va_end
	Problem reported by Bruno Haible in:
	http://lists.gnu.org/r/bug-gnulib/2017-06/msg00001.html
	* lib/error.c (error_tail): Do not call va_end here.
	(error, error_at_line): Call it here instead.

2017-05-28  Bruno Haible  <bruno@clisp.org>

	c-strtod: Make it usable in C++ mode.
	* lib/c-strtod.h: Add 'extern "C"' marker for C++.

2017-05-25  Jim Meyering  <meyering@fb.com>

	quotearg: fix compilation failure due to FALLTHROUGH misuse
	* lib/quotearg.c (quotearg_buffer_restyled): Revert one FALLTHROUGH
	macro back to /* fall through */ comment.  The macro can apply only
	to a following case statement.  Reported by Assaf Gordon.

2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: port to recent icc
	Port to icc (ICC) 17.0.4 20170411, which defines __GNUC__ to be 5
	but does not support __builtin_add_overflow etc.
	* lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW) [__ICC]:
	Define to 0.

2017-05-23  Karl Berry  <karl@freefriends.org>

	* config/srclist.txt (iconv.m4): sync broken, comment out
	until (hopefully) the next gettext release.

2017-05-22  Bjarni Ingi Gislason  <bjarniig@rhi.hi.is>

	Remove repeated words in comments.

2017-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>

	fallthrough: reinstate a FALLTHROUGH instance in quotearg
	quotearg.c: Reinstate this instance which is significant
	when the if branch is not taken.

2017-05-21  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Add options to create hard links.
	* gnulib-tool (func_usage): Document options --hardlink,
	--local-hardlink, --more-hardlinks.
	(func_symlink): Renamed from func_ln.
	(func_symlink_if_changed): Renamed from func_ln_if_changed.
	(func_hardlink): New function.
	(copymode, lcopymode): New variables.
	(symbolic, lsymbolic): Remove variables.
	(Options): Implement options --hardlink, --local-hardlink,
	--more-hardlinks.
	(func_should_link): Renamed from func_should_symlink. Set copyaction.
	(func_add_file, func_update_file): Update invocation of
	func_should_link. Invoke func_hardlink when appropriate.
	(func_import): Update comments.
	(func_create_testdir): Update invocation of func_should_link. Invoke
	func_hardlink when appropriate.
	Finally, invoke 'git update-index --refresh' to mitigate the effects of
	the hard links on git.

2017-05-20  Bruno Haible  <bruno@clisp.org>

	argp: Simplify bit manipulation.
	* lib/argp-parse.c (parser_parse_opt): Use &, |, ~ instead of shifts
	on a signed integer type.

2017-05-20  Bruno Haible  <bruno@clisp.org>

	Avoid wrong configure results with gcc -fsanitize=address.
	This completes the work done on 2016-02-06 on this topic.
	* m4/memmem.m4 (gl_FUNC_MEMMEM): Free allocated memory before returning.
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
	* m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
	* m4/fopen.m4 (gl_FUNC_FOPEN): Close allocated FILE streams before
	returning.
	* m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Likewise.
	* m4/fpurge.m4 (gl_FUNC_FPURGE): Likewise.
	* m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
	* m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
	* m4/signbit.m4 (gl_FLOATTYPE_SIGN_LOCATION): Likewise.
	* m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Likewise.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Close allocated FILE streams and
	free allocated memory before returning.
	* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
	* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Close allocated DIR
	objects before returning.
	* m4/iconv.m4 (AM_ICONV_LINK): Close allocated iconv_t handles before
	returning.

2017-05-20  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Don't create hard links between gnulib and its testdirs.
	* gnulib-tool (func_create_testdir): Don't invoke 'ln'.

2017-05-20  Bruno Haible  <bruno@clisp.org>

	argp, tsearch tests: Fix file list.
	* modules/argp-tests (Files): Add tests/macros.h.
	* modules/tsearch-tests (Files): Likewise.

2017-05-20  Bruno Haible  <bruno@clisp.org>

	getopt-posix tests: Remove redundant include.
	* tests/test-getopt.h: Don't include "macros.h". It's already included
	by tests/test-getopt-main.h.

2017-05-19  Jim Meyering  <meyering@fb.com>

	dfa: two small simplifications
	* lib/dfa.c (build_state): Avoid repeating longer expressions.

2017-05-18  Jim Meyering  <meyering@fb.com>

	fallthrough: update for GCC 7/8
	* lib/quotearg.c (FALLTHROUGH): New macro.
	Use it whenever one switch case falls through into the next,
	replacing "/* Fall through */" comments.  This exposed one
	instance of an unwarranted "fall through" comment: unwarranted
	because it preceded a "goto" label not a case statement.
	* lib/freopen-safer.c (freopen_safer): Likewise.
	* lib/fts.c (leaf_optimization_applies): Likewise.
	* lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
	* tests/test-getopt_long.h (getopt_long_loop): Likewise.
	* tests/test-tsearch.c (mangle_tree): Likewise.  Also include
	tests/macros.h for the definition.
	* tests/test-argp.c (group1_parser): Likewise.
	* tests/test-getopt.h (getopt_loop): Likewise.

2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	argp: fix shift bug
	* lib/argp-parse.c (parser_parse_opt): Rework to avoid undefined
	behavior on shift overflow, caught by gcc -fsanitize=undefined.

	argp: fix pointer-subtraction bug
	* lib/argp-help.c (hol_append): Don’t subtract pointers to
	different arrays, as this can run afoul of -fcheck-pointer-bounds.
	See the thread containing Bruno Haible’s report in:
	http://lists.gnu.org/r/bug-gnulib/2017-05/msg00171.html

2017-05-19  Bruno Haible  <bruno@clisp.org>

	printf-posix tests: Avoid test failure with "gcc --coverage".
	Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
	* tests/test-printf-posix2.c (main): Test a width of 10000000 rather
	than 5000000.
	* tests/test-fprintf-posix2.c (main): Likewise.

2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	closeout: don’t close stderr when sanitizing
	* NEWS: Document this.
	* lib/closeout.c (__has_feature): New macro, if not already defined.
	(SANITIZE_ADDRESS): New constant.
	(close_stdout): Don’t close stderr if sanitizing addresses.

2017-05-19  Bruno Haible  <bruno@clisp.org>

	get-rusage-data tests: Avoid failure on Linux/glibc.
	* tests/test-get-rusage-data.c (main): Don't expect a strict increase
	on glibc systems.

2017-05-18  Bruno Haible  <bruno@clisp.org>

	localename: Include necessary header files on Cygwin.
	* lib/localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
	where NL_LOCALE_NAME is defined.

2017-05-18  Bruno Haible  <bruno@clisp.org>

	gettext: Update macros from gettext git.
	* m4/intldir.m4: Require Autoconf >= 2.60.
	* m4/progtest.m4: Fix typos in copyright notice.

2017-05-18  Bruno Haible  <bruno@clisp.org>

	copy-file tests: Fix link error (regression from 2017-05-01).
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.
	* modules/copy-file-tests (Makefile.am): Link test-copy-file with
	$(LIB_CLOCK_GETTIME).

2017-05-18  Bruno Haible  <bruno@clisp.org>

	unicase/special-casing: Fix incompatibility with gperf-3.0.4
	(regression from 2017-02-13).
	* lib/unicase/special-casing.in.h: Renamed from
	lib/unicase/special-casing.h.
	* modules/unicase/special-casing (Files): Add
	lib/unicase/special-casing.in.h. Remove lib/unicase/special-casing.h.
	(Makefile.am): Add rule for generating unicase/special-casing.h.
	Update BUILT_SOURCES and MOSTLYCLEANFILES accordingly.
	* lib/unicase/special-casing.c: Include "unicase/special-casing.h",
	not "special-casing.h".
	* lib/unicase/u*.c: Likewise.

2017-05-17  Bruno Haible  <bruno@clisp.org>

	README: Don't ask people to read a TeXinfo file.
	Reported by Tim Rühsen <tim.ruehsen@gmx.de>.
	* README: Tell people how to read the HTML formatted manual.

2017-05-16  Tim Rühsen  <tim.ruehsen@gmx.de>

	parse-datetime: Fix memleak
	* lib/parse-datetime.y (parse_datetime2): Cleanup on
	localtime_rz() failure.

2017-05-16  Bruno Haible  <bruno@clisp.org>

	javacomp: Fix handle leak.
	Found by Coverity.
	* lib/javacomp.c (get_classfile_version): Close fd before returning.

2017-05-16  Bruno Haible  <bruno@clisp.org>

	relocate: Make it easier to reclaim allocated memory.
	* lib/relocatable.h (relocate2): New declaration/macro.
	* lib/relocatable.c (relocate2): New function.
	* doc/relocatable-maint.texi (Supporting Relocation): Mention the
	relocate2 function.
	* lib/localcharset.c (relocate2): Define fallback.
	(get_charset_aliases): Invoke relocate2 instead of relocate. Free the
	allocated memory.
	* lib/javaversion.c (relocate2): Define fallback.
	(javaexec_version): Invoke relocate2 instead of relocate. Free the
	allocated memory.

2017-05-16  Bruno Haible  <bruno@clisp.org>

	relocate: Simplify EMX specific code.
	* lib/relocatable.c (relocate): Assume pathname is non-NULL. Use
	ISSLASH macro consistently. Avoid dangerous string concatenation idiom.

2017-05-16  Bruno Haible  <bruno@clisp.org>

	sigpipe tests: Fix file list.
	* modules/sigpipe-tests (Files): Add tests/macros.h.

2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: update for GCC 7
	* build-aux/gcc-warning.spec:
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
	Add GCC 7 warnings, notably -Wimplicit-fallthrough=5, which
	requires a non-comment fallthrough attribute.  This is a bit
	cleaner than the comment versions.
	* lib/strftime.c, lib/dfa.c, lib/fnmatch.c, lib/mbrtowc.c:
	* lib/vasnprintf.c, tests/macros.h (FALLTHROUGH): New macro.
	Use it whenever one switch case falls through into the next.
	* lib/fnmatch_loop.c, tests/test-mbrtowc.c, tests/test-sigpipe.c:
	Use FALLTHROUGH macro.

2017-05-15  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix generated code when libtests contains module 'alloca'.
	* gnulib-tool (func_emit_tests_Makefile_am): For libtests.a, use
	@ALLOCA@, not @LTALLOCA@.

2017-05-15  Bruno Haible  <bruno@clisp.org>

	sys_select: Avoid "was expanded before it was required" warning.
	* modules/sys_select (configure.ac): Require, not invoke,
	gl_HEADER_SYS_SELECT.

2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>

	gnulib-tool: improve GNU Make debugging
	* gnulib-tool (func_emit_lib_Makefile_am): Omit unnecessary echo.
	Report autoconf diagnostics when it fails, in the output makefile.

2017-05-14  Bruno Haible  <bruno@clisp.org>

	stat-time tests: Improve comment.
	* tests/test-stat-time.c: Add hyperlink, from Paul Eggert.

2017-05-14  Bruno Haible  <bruno@clisp.org>

	same-inode: Adapt for windows-stat-inodes.
	* lib/same-inode.h: Include <sys/types.h>.
	(SAME_INODE) [_GL_WINDOWS_STAT_INODES]: Define specifically.
	* modules/same-inode (Depends-on): Add sys_types.

2017-05-14  Bruno Haible  <bruno@clisp.org>

	windows-stat-inodes: New module.
	* m4/windows-stat-inodes.m4: New file.
	* m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_STAT_INODES.
	* modules/sys_types (Makefile.am): Substitute WINDOWS_STAT_INODES.
	* lib/sys_types.in.h [WINDOWS_STAT_INODES]: Override dev_t and ino_t.
	(_GL_WINDOWS_STAT_INODES): New macro.
	* lib/stat-w32.c: Set _WIN32_WINNT. Include <string.h>, verify.h.
	(GetFileInformationByHandleExFunc): New variable.
	(initialize): Initialize it.
	(_gl_fstat_by_handle) [_GL_WINDOWS_STAT_INODES]: Initialize st_dev and
	st_ino appropriately.
	* lib/stat.c (rpl_stat): Use the directory entry based approach only as
	a fallback, because it does not provide st_dev and st_ino values.
	* modules/fstat (Depends-on): Add 'verify'.
	* modules/windows-stat-inodes: New file.
	* doc/windows-stat-inodes.texi: New file.
	* doc/gnulib.texi: Include it.
	* doc/posix-headers/sys_stat.texi: Mention the new module.

2017-05-14  Bruno Haible  <bruno@clisp.org>

	stat-time tests: Workaround for native Windows.
	* tests/test-stat-time.c: Include <stdio.h>, <time.h>.
	(filename_stamp1, filename_testfile, filename_stamp2, filename_stamp3):
	New variables.
	(initialize_filenames): New function.
	(main): Invoke it.
	(cleanup, prepare_test): Update.

2017-05-14  Bruno Haible  <bruno@clisp.org>

	stat-time: Adapt for windows-stat-timespec.
	* lib/stat-time.h (get_stat_birthtime) [_GL_WINDOWS_STAT_TIMESPEC]: Use
	entire st_ctim field.

2017-05-13  Jim Meyering  <meyering@fb.com>

	maint.mk: update regex to reflect 2013 addition of "assume" to verify.h
	* top/maint.mk (sc_prohibit_verify_without_use): Don't reject a source
	file that uses the assume macro, claiming that verify.h is unused.

2017-05-13  Bruno Haible  <bruno@clisp.org>

	Use symbolic values for _WIN32_WINNT.
	* lib/ftruncate.c (_WIN32_WINNT): Use symbolic value _WIN32_WINNT_WIN2K.
	* lib/sethostname.c (_WIN32_WINNT): Likewise.

2017-05-13  Bruno Haible  <bruno@clisp.org>

	year2038: New module.
	* m4/year2038.m4: New file.
	* modules/year2038: New file.
	* doc/year2038.texi: New file.
	* doc/gnulib.texi: Include it.

2017-05-13  Bruno Haible  <bruno@clisp.org>

	largefile: Simplify.
	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Remove unused definition
	of _GL_WINDOWS_64_BIT_ST_SIZE.

2017-05-13  Bruno Haible  <bruno@clisp.org>

	largefile: Improve and document.
	* m4/largefile.m4 (gl_LARGEFILE): Set WINDOWS_64_BIT_ST_SIZE to 0 if
	the mingw headers already define 'stat' appropriately.
	* modules/largefile (Description): Clarify.
	* doc/largefile.texi: New file.
	* doc/gnulib.texi: Include it.
	* doc/posix-headers/sys_types.texi: Update.

2017-05-13  Bruno Haible  <bruno@clisp.org>

	truncate: New module.
	* lib/unistd.in.h (truncate): New declaration.
	* lib/truncate.c: New file.
	* m4/truncate.m4: New file.
	* m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'truncate' is declared.
	(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TRUNCATE, HAVE_TRUNCATE,
	REPLACE_TRUNCATE.
	* modules/unistd (Makefile.am): Substitute GNULIB_TRUNCATE,
	HAVE_TRUNCATE, REPLACE_TRUNCATE.
	* modules/truncate: New file.
	* tests/test-unistd-c++.cc (truncate): Test signature.
	* doc/posix-functions/truncate.texi: Mention the new module.

	* tests/test-truncate.c: New file.
	* modules/truncate-tests: New file.

2017-05-13  Bruno Haible  <bruno@clisp.org>

	windows-stat-timespec: New module.
	* modules/windows-stat-timespec: New file.
	* m4/windows-stat-timespec.m4: New file.
	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
	* modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
	* lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
	fields st_atim, st_mtim, st_ctim.
	(st_atime, st_mtime, st_ctime): Define as macros.
	(_GL_WINDOWS_STAT_TIMESPEC): New macro.
	* lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
	[_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
	* lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
	[_GL_WINDOWS_STAT_TIMESPEC]: New function.
	(_gl_convert_FILETIME_to_POSIX): Adjust coding style.
	(_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
	FILETIME to 'struct timespec', not 'time_t'.
	* lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
	FILETIME to 'struct timespec', not 'time_t'.
	* lib/stat-time.h (STAT_TIMESPEC): Define also if
	_GL_WINDOWS_STAT_TIMESPEC.
	* doc/windows-stat-timespec.texi: New file.
	* doc/gnulib.texi: Include it.

2017-05-13  Bruno Haible  <bruno@clisp.org>

	windows-stat-override: New module.
	* lib/sys_stat.in.h (stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provide own
	definition. Define GNULIB_defined_struct_stat.
	(fstat, fstatat, lstat, stat) [GNULIB_OVERRIDES_STRUCT_STAT]: Provoke
	link error if this symbol is used and the corresponding module is not
	in use.
	(_stat64, _stat32i64, _stati64, _stat32, _stat64i32): Don't redefine if
	GNULIB_OVERRIDES_STRUCT_STAT.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
	GNULIB_OVERRIDES_STRUCT_STAT.
	* modules/sys_stat (Makefile.am): Substitute
	GNULIB_OVERRIDES_STRUCT_STAT.
	* modules/windows-stat-override: New file.

2017-05-13  Bruno Haible  <bruno@clisp.org>

	fstat: Fix module dependency conditions.
	* modules/fstat (Depends-on): Fix typo.

2017-05-13  Bruno Haible  <bruno@clisp.org>

	stat, fstat: Complete removal of old native Windows code.
	* lib/stat.c: Remove old macrology for WINDOWS_NATIVE.
	* lib/fstat.c: Likewise.
	* lib/stat-w32.c: Likewise.

2017-05-13  Bruno Haible  <bruno@clisp.org>

	stat: Complete removal of REPLACE_FUNC_STAT_DIR code.
	* lib/stat.c: Remove all REPLACE_FUNC_STAT_DIR code.

2017-05-11  Paul Eggert  <eggert@cs.ucla.edu>

	getopt-posix: port to mingw
	* lib/getopt.c (flockfile, funlockfile): Define on mingw.
	Problem reported by Daniel P. Berrage in:
	http://lists.gnu.org/r/bug-gnulib/2017-05/msg00086.html

2017-05-11  Bruno Haible  <bruno@clisp.org>

	gettimeofday: Increase precision on mingw.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Require AC_CANONICAL_HOST.
	Set REPLACE_GETTIMEOFDAY to 1 on mingw.
	* lib/gettimeofday.c (gettimeofday): On native Windows, use the
	GetSystemTimePreciseAsFileTime based implementation always.
	* doc/posix-functions/gettimeofday.texi: Mention precision problem on
	mingw.

2017-05-11  Bruno Haible  <bruno@clisp.org>

	poll: Fix confusion between SOCKETs and FDs on native Windows.
	Fix proposed by Daniel P. Berrange <berrange@redhat.com>.
	* lib/poll.c [WINDOWS_NATIVE]: Undefine select.

2017-05-11  Bruno Haible  <bruno@clisp.org>

	doc: Clarify doc about socket functions on native Windows.
	This reworks doc that was added on 2008-09-29.
	* doc/posix-functions/select.texi: Fix copy-and-paste mistake and use
	clearer wording.
	* doc/posix-functions/accept.texi: Use clearer wording.
	* doc/posix-functions/bind.texi: Likewise.
	* doc/posix-functions/connect.texi: Likewise.
	* doc/posix-functions/getpeername.texi: Likewise.
	* doc/posix-functions/getsockname.texi: Likewise.
	* doc/posix-functions/getsockopt.texi: Likewise.
	* doc/posix-functions/ioctl.texi: Likewise.
	* doc/posix-functions/listen.texi: Likewise.
	* doc/posix-functions/recv.texi: Likewise.
	* doc/posix-functions/recvfrom.texi: Likewise.
	* doc/posix-functions/send.texi: Likewise.
	* doc/posix-functions/sendto.texi: Likewise.
	* doc/posix-functions/setsockopt.texi: Likewise.
	* doc/posix-functions/shutdown.texi: Likewise.
	* doc/posix-functions/socket.texi: Likewise.

2017-05-10  Bruno Haible  <bruno@clisp.org>

	poll: Fix link error on native Windows.
	* lib/poll.c [WINDOWS_NATIVE]: Undefine recv.

2017-05-10  Bruno Haible  <bruno@clisp.org>

	time: Fix missing initialization of HAVE_TIMEZONE_T.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEZONE_T
	here...
	* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): ... not here.
	* m4/time_rz.m4 (gl_TIME_RZ): Require gl_HEADER_TIME_H_DEFAULTS, not
	gl_HEADER_SYS_TIME_H_DEFAULTS.
	* modules/time_rz (Depends-on): Add 'time'. Remove useless quoting.
	(configure.ac): Remove useless quoting.

2017-05-10  Bruno Haible  <bruno@clisp.org>

	Implement a way to opt out from MSVC support, part 2.
	* modules/msvc-inval (Include): Document recommended idiom.
	* modules/msvc-nothrow (Include): Likewise.

	Implement a way to opt out from MSVC support.
	This is useful for Emacs.
	* modules/msvc-nothrow (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/accept4.c: Include <io.h> as an alternative to msvc-nothrow.h.
	* lib/error.c: Likewise.
	* lib/fcntl.c: Likewise.
	* lib/flock.c: Likewise.
	* lib/fstat.c: Likewise.
	* lib/fsync.c: Likewise.
	* lib/ioctl.c: Likewise.
	* lib/isapipe.c: Likewise.
	* lib/lseek.c: Likewise.
	* lib/nonblocking.c: Likewise.
	* lib/poll.c: Likewise.
	* lib/select.c: Likewise.
	* lib/sockets.h: Likewise.
	* lib/sockets.c: Likewise.
	* lib/stdio-read.c: Likewise.
	* lib/stdio-write.c: Likewise.
	* lib/utimens.c: Likewise.
	* lib/w32sock.h: Likewise.
	* lib/w32spawn.h: Likewise.
	* tests/test-cloexec.c: Likewise.
	* tests/test-dup-safer.c: Likewise.
	* tests/test-dup2.c: Likewise.
	* tests/test-dup3.c: Likewise.
	* tests/test-fcntl.c: Likewise.
	* tests/test-pipe.c: Likewise.
	* tests/test-pipe2.c: Likewise.
	* lib/ftruncate.c: Likewise.
	(chsize_nothrow): Renamed from chsize.
	* lib/msvc-nothrow.c: Don't include msvc-inval.h if
	HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
	* lib/close.c: Likewise.
	* lib/dup.c: Likewise.
	* lib/fclose.c: Likewise.
	* lib/raise.c: Likewise.
	* tests/test-fgetc.c: Likewise.
	* tests/test-fputc.c: Likewise.
	* tests/test-fread.c: Likewise.
	* tests/test-fwrite.c: Likewise.
	* lib/getdtablesize.c: Likewise.
	(_setmaxstdio_nothrow): Renamed from _setmaxstdio.
	* lib/isatty.c: Don't include msvc-inval.h if
	HAVE_MSVC_INVALID_PARAMETER_HANDLER is not defined.
	Include <io.h> as an alternative to msvc-nothrow.h.
	* lib/read.c: Likewise.
	* lib/write.c: Likewise.
	* lib/dup2.c: Likewise.
	(dup2_nothrow): New function.
	(ms_windows_dup2): Use it.
	* m4/close.m4 (gl_FUNC_CLOSE): Invoke gl_MSVC_INVAL and test
	HAVE_MSVC_INVALID_PARAMETER_HANDLER only if gl_MSVC_INVAL is defined.
	* m4/dup.m4 (gl_FUNC_DUP): Likewise.
	* m4/fdopen.m4 (gl_FUNC_FDOPEN): Likewise.
	* m4/raise.m4 (gl_FUNC_RAISE): Likewise.
	* m4/read.m4 (gl_FUNC_READ): Likewise.
	* m4/write.m4 (gl_FUNC_WRITE): Likewise.
	* doc/windows-without-msvc.texi: New file.
	* doc/gnulib.texi (Native Windows Support without MSVC Support): New
	section.

2017-05-10  Bruno Haible  <bruno@clisp.org>

	wait-process: Adjust native Windows support.
	* lib/wait-process.c: Use the usual condition for recognizing a native
	Windows platform.

2017-05-10  Bruno Haible  <bruno@clisp.org>

	doc: New chapter "Native Windows Support".
	* doc/gnulib.texi (Native Windows Support): New chapter.
	* doc/windows-libtool.texi: Small wording changes.
	* doc/windows-sockets.texi: Small wording and formatting changes.

2017-05-10  Bruno Haible  <bruno@clisp.org>

	doc: Move section "Library version handling".
	* doc/gnulib.texi: Move section "Library version handling"
	from chapter "Miscellaneous Notes" to chapter "Particular Modules".

2017-05-10  Bruno Haible  <bruno@clisp.org>

	doc: Move section "Running self-tests under valgrind".
	* doc/gnulib.texi: Move section "Running self-tests under valgrind"
	from chapter "Particular Modules" to chapter "Miscellaneous Notes".

2017-05-10  Bruno Haible  <bruno@clisp.org>

	doc: New chapter "Build Infrastructure Modules".
	* doc/gnulib.texi (Build Infrastructure Modules): New chapter.

2017-05-10  Bruno Haible  <bruno@clisp.org>

	Prepare for reordering sections in the manual.
	* doc/gnulib.texi: Move several sections to separate files. Include
	these files.
	* doc/out-of-memory.texi: New file, extracted from doc/gnulib.texi.
	* doc/obsolete.texi: Likewise.
	* doc/extra-tests.texi: Likewise.
	* doc/transversal.texi: Likewise.
	* doc/namespace.texi: Likewise.
	* doc/check-version.texi: Likewise.
	* doc/windows-sockets.texi: Likewise.
	* doc/windows-libtool.texi: Likewise.
	* doc/licenses-texi.texi: Likewise.
	* doc/build-automation.texi: Likewise.
	* doc/c-locale.texi: Likewise.

2017-05-10  Bruno Haible  <bruno@clisp.org>

	Fix instructions how to update manual on www.gnu.org.
	* doc/README: Add -I option, so that texi2dvi finds texinfo.tex.

2017-05-09  Bruno Haible  <bruno@clisp.org>

	tzset: Expand comment about TZ problem on native Windows.
	* lib/tzset.c (tzset): Elaborate comment, based on explanations by
	Paul Eggert.
	* lib/ctime.c (rpl_ctime): Likewise.
	* lib/localtime.c (rpl_localtime): Likewise.
	* lib/mktime.c (mktime): Likewise.
	* lib/strftime-fixes.c (rpl_strftime): Likewise.
	* lib/wcsftime.c (rpl_wcsftime): Likewise.

2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: don’t depend on ‘verify’
	Problem reported by Ævar Arnfjörð Bjarmason in:
	http://lists.gnu.org/r/bug-gnulib/2017-05/msg00054.html
	* lib/intprops.h: Do not include verify.h, and move compile-time
	checks from here ...
	* tests/test-intprops.c (main): ... to here, if they’re not here
	already.  Check widths of other standard integer types.
	* modules/intprops (Depends-on): Remove ‘verify’.

2017-05-07  Bruno Haible  <bruno@clisp.org>

	utimens: On native Windows, support 100ns resolution also if fd < 0.
	* lib/utime.in.h: Include <time.h>.
	(_gl_utimens_windows): New declaration.
	* lib/utime.c (_gl_utimens_windows): New function, based on utime.
	(utime): Invoke it.
	* lib/utimens.c (fdutimens): On native Windows, call _gl_utimens_windows
	instead of utime.
	* modules/utime (Depends-on): Add 'time'.

2017-05-07  Bruno Haible  <bruno@clisp.org>

	utimens: Improve error code on native Windows.
	* lib/utimens.c (fdutimens): If fd was not opened with O_RDWR, fail with
	error code EACCES, not EINVAL.

2017-05-07  Bruno Haible  <bruno@clisp.org>

	utime: Handle more Windows error codes.
	* lib/utime.c (utime): Handle ERROR_BAD_NETPATH.
	Based on explanations by Billy O'Neal.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	crypto/rijndael: Fix "strict-aliasing rules" warnings, alignment issues.
	* lib/rijndael-api-fst.c (rijndaelBlockEncrypt): Declare 'block' as a
	union.
	(rijndaelPadEncrypt, rijndaelBlockDecrypt): Likewise.
	(rijndaelPadDecrypt): Likewise. Use local variable 'iv' to cache the
	value of cipher->IV.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	wctype-h-c++-tests: Update.
	* tests/test-wctype-h-c++.cc: Reorder to match lib/wchar.in.h.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	wchar-c++-tests: Update.
	* tests/test-wchar-c++.cc (wcsftime): Declare, missing since 2017-04-30.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	utime-h-c++-tests: New module.
	* tests/test-utime-h-c++.cc: New file.
	(utime): Declare, missing since 2017-04-30.
	* modules/utime-h-c++-tests: New file.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	unistd-c++-tests: Update.
	* tests/test-unistd-c++.cc (isatty): Declare, missing since 2012-01-03.
	(read): Declare, missing since 2011-04-15.
	(sethostname): Declare, missing since 2011-12-03.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	time-c++-tests: Update.
	* tests/test-time-c++.cc (tzset): Declare, missing since 2017-05-01.
	(localtime, gmtime): Declare, missing since 2017-04-30.
	(ctime): Declare, missing since 2017-04-30.
	(strftime): Declare, missing since 2017-04-30.
	(tzalloc, tzfree, localtime_rz, mktime_z): Declare, missing since
	2015-07-24.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	sys_resource-c++-tests: New module.
	* tests/test-sys_resource-c++.cc: New file.
	(getrusage): Declare, missing since 2012-04-13.
	* modules/sys_resource-c++-tests: New file.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	strings-c++-tests: New module.
	* tests/test-strings-c++.cc: New file.
	(ffs): Declare, missing since 2011-07-12.
	* modules/strings-c++-tests: New file.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	string-c++-tests: Update.
	* tests/test-string-c++.cc (ffsl): Declare, missing since 2011-07-15.
	(ffsll): Declare, missing since 2011-07-15.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	stdlib-c++-tests: Update.
	* tests/test-stdlib-c++.cc (posix_openpt): Declare, missing since
	2011-10-18.
	(ptsname_r): Declare, missing since 2011-11-07.
	(qsort_r): Declare, missing since 2014-08-29.
	(random, srandom, initstate, setstate): Declare, missing since
	2012-01-14.
	(secure_getenv): Declare, missing since 2013-02-05.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	stdio-c++-tests: Update.
	* tests/test-stdio-c++.cc (pclose): Declare, missing since 2011-09-18.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	signal-h-c++-tests: Update.
	* tests/test-signal-h-c++.cc (raise): Remove redundant declaration.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	math-c++-tests: Update.
	* tests/test-math-c++.cc (fmaf): Declare, missing since 2011-10-17.
	(fma): Declare, missing since 2011-10-17.
	(fmal): Declare, missing since 2011-10-17.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	locale-c++-tests: Update.
	* tests/test-locale-c++.cc (localeconv): Declare, missing since
	2012-03-25.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	inttypes-c++-tests: New module.
	* tests/test-inttypes-c++.cc: New file.
	(strtoimax): Declare, missing since 2012-01-05.
	(strtoumax): Declare, missing since 2012-01-05.
	* modules/inttypes-c++-tests: New file.

2017-05-05  Bruno Haible  <bruno@clisp.org>

	dirent-c++-tests: Update.
	* tests/test-dirent-c++.cc (readdir): Declare, missing since 2011-09-13.
	(rewinddir): Declare, missing since 2011-09-13.
	(dirfd): Declare, missing since 2010-03-08.

2017-05-04  Bruno Haible  <bruno@clisp.org>

	argp: Fix mistake in 2017-04-23 commit.
	* lib/argp-help.c (__argp_failure): If GNULIB_STRERROR_R_POSIX is set,
	assume that strerror_r returns 'int', not 'char *'.

2017-05-04  Reuben Thomas  <rrt@sc3d.org>

	argp: Fix typo.
	* lib/argp-help.c (argp_doc): Fix spelling mistake in comment.

2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>

	utimens: port to Emacs + MS-Windows
	Skip the new MS-Windows-specific code if Emacs.
	* lib/utimens.c [EMACS_CONFIGUATION]:
	Avoid new MS-Windows-specific code.
	(USE_SETFILETIME): New macro.
	(fdutimens): Use it.

2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	tzset: update doc for TZ problems on MS-Windows
	* doc/posix-functions/ctime.texi,  doc/posix-functions/daylight.texi:
	* doc/posix-functions/localtime.texi, doc/posix-functions/mktime.texi:
	* doc/posix-functions/strftime.texi, doc/posix-functions/timezone.texi:
	* doc/posix-functions/tzname.texi, doc/posix-functions/tzset.texi:
	* doc/posix-functions/wcsftime.texi:
	Mention some issues with TZ under MS-Windows.

2017-05-01  Bruno Haible  <bruno@clisp.org>

	copy-file: Fix build error on mingw.
	* modules/copy-file (Depends-on): Add 'close'.

2017-05-01  Bruno Haible  <bruno@clisp.org>

	tzset: Work around TZ problem on native Windows.
	* m4/tzset.m4 (gl_FUNC_TZSET): Require AC_CANONICAL_HOST. On native
	Windows, set REPLACE_TZSET to 1.
	* lib/tzset.c (tzset): On native Windows, fix TZ if necessary, and
	invoke '_tzset' instead of 'tzset'.
	* doc/posix-functions/tzset.texi: Mention the native Windows workaround.

	* modules/time_rz (Depends-on): Add tzset.
	* lib/time_rz.c (tzset): Remove fallback definition.
	* m4/time_rz.m4 (gl_TIME_RZ): Don't test for tzset.

2017-05-01  Bruno Haible  <bruno@clisp.org>

	mktime: Fix dependencies.
	* modules/mktime (Depends-on): Add 'time'.

2017-05-01  Bruno Haible  <bruno@clisp.org>

	New module 'localtime-buffer', split off from module 'gettimeofday'.
	* lib/localtime-buffer.h: New file.
	* lib/localtime-buffer.c: New file, extracted from lib/gettimeofday.c.
	* lib/time.in.h (tzset): New declaration.
	(localtime, gmtime): Don't test GNULIB_GETTIMEOFDAY.
	* lib/tzset.c: New file, extracted from lib/gettimeofday.c.
	* lib/gettimeofday.c: Include localtime-buffer.h. Remove code that was
	moved to lib/localtime-buffer.c or lib/tzset.c.
	* m4/localtime-buffer.m4: New file.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TZSET,
	HAVE_TZSET, REPLACE_TZSET.
	* m4/tzset.m4 (gl_FUNC_TZSET): Move code from m4/gettimeofday.m4 to
	here, with modifications. Set HAVE_TZSET, REPLACE_TZSET. Invoke
	gl_LOCALTIME_BUFFER_NEEDED.
	(gl_FUNC_TZSET_CLOBBER): Don't require gl_HEADER_SYS_TIME_H; not needed
	since 2007-01-18.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Remove code that deals with
	tzset.
	(gl_FUNC_GETTIMEOFDAY_CLOBBER): Require gl_LOCALTIME_BUFFER_DEFAULTS.
	Invoke gl_LOCALTIME_BUFFER_NEEDED instead of
	gl_GETTIMEOFDAY_REPLACE_LOCALTIME.
	(gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Remove macro.
	* modules/localtime-buffer: New file.
	* modules/time (Depends-on): Remove 'gettimeofday'.
	(Makefile.am): Substitute GNULIB_TZSET, HAVE_TZSET,
	REPLACE_TZSET. Don't substitute GNULIB_GETTIMEOFDAY.
	* modules/tzset (Description): Enable hyperlink to POSIX spec.
	(Files): Add lib/tzset.c.
	(Depends-on): Remove gettimeofday. Add localtime-buffer, time.
	(configure.ac): Arrange to conditionally compile lib/tzset.c. Invoke
	gl_TIME_MODULE_INDICATOR.
	* modules/gettimeofday (Depends-on): Add localtime-buffer.

2017-05-01  Bruno Haible  <bruno@clisp.org>

	copy-file: Preserve sub-second time stamps.
	* lib/copy-file.c: Include stat-time.h, utimens.h instead of <utime.h>.
	(qcopy_file_preserving): Use 'struct timespec' and utimens() to
	transport the time stamps from the original file to the destination
	file.
	* m4/copy-file.m4 (gl_COPY_FILE): Don't test for utime, utimes.
	* modules/copy-file (Depends-on): Add stat-time, utimns instead of
	utime-h.

2017-05-01  Bruno Haible  <bruno@clisp.org>

	wctype-t: Fix problems if <wchar.h> gets included after <wctype.h>.
	* lib/wctype.in.h: Include not only <ctype.h> but also <wchar.h>. Do so
	also on MSVC.
	Reported by Eli Zaretskii <eliz@gnu.org>.

2017-05-01  Bruno Haible  <bruno@clisp.org>

	wchar: Fix compilation error with the original mingw.org mingw.
	* lib/wchar.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
	<stddef.h> instead.
	* m4/wint_t.m4 (gl_TYPE_WINT_T_PREREQ): New macro, extracted from
	gl_WCTYPE_H.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Don't set HAVE_CRTDEFS_H here; require
	gl_TYPE_WINT_T_PREREQ instead.
	* m4/wchar_h.m4 (gl_WCHAR_H): Require gl_TYPE_WINT_T_PREREQ.
	* modules/wchar (Makefile.am): Substitute HAVE_CRTDEFS_H.
	Reported by Eli Zaretskii <eliz@gnu.org>.

2017-04-30  Bruno Haible  <bruno@clisp.org>

	utimecmp: Add support for native Windows.
	* lib/utimecmp.c (SYSCALL_RESOLUTION): Set to 100 on native Windows.

2017-04-30  Bruno Haible  <bruno@clisp.org>

	utimens: Add support for native Windows.
	* lib/utimens.c: Include <windows.h>, msvc-nothrow.h.
	(fdutimens): Provide a native Windows implementation, like utime.c with
	added tv_nsec support.
	* modules/utimens (Depends-on): Add msvc-nothrow, utime.
	Suggested by Tim Rühsen <tim.ruehsen@gmx.de>.

2017-04-30  Bruno Haible  <bruno@clisp.org>

	wcsftime: New module.
	* lib/wchar.in.h (wcsftime): New declaration.
	* lib/wcsftime.c: New file.
	* m4/wcsftime.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test for wcsftime declaration.
	(gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_WCSFTIME,
	HAVE_WCSFTIME, REPLACE_WCSFTIME.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSFTIME,
	HAVE_WCSFTIME, REPLACE_WCSFTIME.
	* modules/wcsftime: New file.
	* doc/posix-functions/wcsftime.texi: Mention the new module.

2017-04-30  Bruno Haible  <bruno@clisp.org>

	strftime-fixes: New module.
	* lib/time.in.h (strftime): New declaration.
	* lib/strftime-fixes.c: New file.
	* m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Inline gl_FUNC_STRFTIME macro.
	(gl_FUNC_STRFTIME): Remove macro.
	* m4/strftime-fixes.m4: New file.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_STRFTIME,
	REPLACE_STRFTIME.
	* modules/time (Makefile.am): Substitute GNULIB_STRFTIME,
	REPLACE_STRFTIME.
	* modules/strftime-fixes: New file.
	* doc/posix-functions/strftime.texi: Mention the new module.

2017-04-30  Bruno Haible  <bruno@clisp.org>

	mktime: Work around TZ problem on native Windows.
	* lib/mktime.c: Add #ifs to make the algorithmic workaround independent
	from the native Windows workaround.
	* m4/mktime.m4 (gl_FUNC_MKTIME_WORKS): New macro, extracted from
	gl_FUNC_MKTIME. If guessing, set gl_cv_func_working_mktime to
	'guessing no'.
	(gl_FUNC_MKTIME): Require it. Require AC_CANONICAL_HOST.
	Set REPLACE_MKTIME to 1 on native Windows. Define NEED_MKTIME_WORKING,
	NEED_MKTIME_WINDOWS.
	(gl_FUNC_MKTIME_INTERNAL): Require gl_FUNC_MKTIME_WORKS, not
	gl_FUNC_MKTIME. Set WANT_MKTIME_INTERNAL, not REPLACE_MKTIME. Define
	NEED_MKTIME_INTERNAL.
	* m4/timegm.m4 (gl_FUNC_TIMEGM): Require gl_FUNC_MKTIME_WORKS, not
	gl_FUNC_MKTIME. Cope with 'guessing yes' value.
	* modules/mktime-internal (configure.ac): Test WANT_MKTIME_INTERNAL,
	not REPLACE_MKTIME.
	* doc/posix-functions/mktime.texi: Mention the native Windows
	workaround.

2017-04-30  Bruno Haible  <bruno@clisp.org>

	localtime: New module.
	* lib/time.in.h (localtime): Declare also if requested by module
	'localtime'.
	* lib/localtime.c: New file.
	* m4/localtime.m4: New file.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_LOCALTIME.
	* modules/time (Makefile.am): Substitute GNULIB_LOCALTIME.
	* modules/localtime: New file.
	* doc/posix-functions/localtime.texi: Mention the new module.

2017-04-30  Bruno Haible  <bruno@clisp.org>

	ctime: New module.
	* lib/time.in.h (ctime): New declaration.
	* lib/ctime.c: New file.
	* m4/ctime.m4: New file.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_CTIME,
	REPLACE_CTIME.
	* modules/time (Makefile.am): Substitute GNULIB_CTIME, REPLACE_CTIME.
	* modules/ctime: New file.
	* doc/posix-functions/ctime.texi: Mention the new module.

2017-04-30  Bruno Haible  <bruno@clisp.org>

	gettimeofday: Provide higher resolution on native Windows.
	* lib/gettimeofday.c: Don't include <sys/timeb.h>.
	(GetSystemTimePreciseAsFileTimeFuncType): New variable.
	(initialize): Initialize it.
	(gettimeofday) [WINDOWS_NATIVE]: Use it, and convert from FILETIME to
	'struct timeval'. Don't use _ftime().
	* m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): Don't test for
	<sys/timeb.h> and _ftime.

2017-04-30  Bruno Haible  <bruno@clisp.org>

	Document the problem with the Cygwin environment variable TZ.
	* doc/posix-functions/tzset.texi: Add note about TZ.
	* doc/posix-functions/ctime.texi: Likewise.
	* doc/posix-functions/localtime.texi: Likewise.
	* doc/posix-functions/mktime.texi: Likewise.
	* doc/posix-functions/strftime.texi: Likewise.
	* doc/posix-functions/wcsftime.texi: Likewise.
	* doc/pastposix-functions/ftime.texi: Likewise.

2017-04-30  Bruno Haible  <bruno@clisp.org>

	utime-tests: New module.
	* tests/test-utime.c: New file, based on tests/test-utimens.h.
	* tests/test-utimens-common.h: Include <sys/stat.h>.
	* modules/utime-tests: New file.

2017-04-29  Bruno Haible  <bruno@clisp.org>

	utime: New module.
	* lib/utime.in.h: Add comment for snippets.
	(utime): New declaration.
	* lib/utime.c: New file.
	* m4/utime.m4: New file.
	* m4/utime_h.m4 (gl_UTIME_H): Test for utime declaration.
	(gl_UTIME_H_DEFAULTS): Initialize GNULIB_UTIME, HAVE_UTIME,
	REPLACE_UTIME.
	* modules/utime-h (Depends-on): Add snippets.
	(Makefile.am): Substitute GNULIB_UTIME, HAVE_UTIME, REPLACE_UTIME.
	Insert snippets.
	* modules/utime: New file.
	* doc/posix-functions/utime.texi: Mention the new module.

2017-04-29  Bruno Haible  <bruno@clisp.org>

	utime-h: Modernize handling of 'struct utimbuf'.
	* lib/utime.in.h: Include next <utime.h> if it exists.
	(utimbuf): Define to _utimbuf on native Windows.
	* m4/utime_h.m4 (gl_UTIME_H): Check for prerequisites of include_next.
	Set UTIME_H on native Windows.
	(gl_UTIME_MODULE_INDICATOR, gl_HEADER_UTIME_H_DEFAULTS): New macros.
	* modules/utime-h (Depends-on): Add include_next.
	(Makefile.am): Substitute also HAVE_UTIME_H, INCLUDE_NEXT,
	PRAGMA_SYSTEM_HEADER, PRAGMA_COLUMNS, NEXT_UTIME_H.

	* lib/utimens.c (utimbuf): Remove fallback definition.
	* m4/utimens.m4 (gl_UTIMENS): Don't require
	gl_CHECK_TYPE_STRUCT_UTIMBUF.
	* m4/utimbuf.m4: Remove file.
	* modules/utimens (Files): Remove m4/utimbuf.m4.

2017-04-29  Bruno Haible  <bruno@clisp.org>

	Make use of module 'utime-h'.
	* modules/copy-file (Depends-on): Add utime-h.
	* lib/copy-file.c: Assume that <utime.h> exists.
	* m4/copy-file.m4 (gl_COPY_FILE): Don't test for <utime.h>.

	* modules/utimens (Depends-on): Add utime-h.
	* lib/utimens.c: Assume that <utime.h> exists.

2017-04-29  Bruno Haible  <bruno@clisp.org>

	utime-h: New module.
	* m4/utime_h.m4: New file.
	* lib/utime.in.h: New file.
	* modules/utime-h: New file.
	* doc/posix-headers/utime.texi: Mention the new module.

	* tests/test-utime-h.c: New file.
	* modules/utime-h-tests: New file.

2017-04-30  Bruno Haible  <bruno@clisp.org>

	Fix a few typos.
	* m4/fstat.m4 (gl_FUNC_FSTAT): Require AC_CANONICAL_HOST.
	* m4/stat.m4 (gl_FUNC_STAT): Fix comment.
	* doc/posix-functions/fstat.texi: Fix a plural typo.
	* doc/posix-functions/stat.texi: Likewise.
	* m4/include_next.m4: Update comments.

2017-04-29  Bruno Haible  <bruno@clisp.org>

	error: Fix mistake in 2017-04-23 commit.
	* lib/error.c (print_errno_message): If GNULIB_STRERROR_R_POSIX is set,
	assume that strerror_r returns 'int', not 'char *'.

2017-04-29  Bruno Haible  <bruno@clisp.org>

	stat: Fix time_t values and other problems on native Windows platforms.
	* doc/posix-functions/stat.texi: Mention the problem with the Microsoft
	implementations of stat().
	* lib/stat.c: Include filename.h instead of dosname.h. Include
	malloca.h, stat-w32.h.
	(is_unc_root): New function.
	(rpl_stat): New implementation for native Windows. Remove
	REPLACE_FUNC_STAT_DIR code.
	* m4/stat.m4 (gl_FUNC_STAT): On native Windows, set REPLACE_STAT always.
	Don't define REPLACE_FUNC_STAT_DIR.
	(gl_PREREQ_STAT): Require gl_HEADER_SYS_STAT_H.
	* modules/stat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
	(Depends-on): Remove dosname. Add filename, malloca.
	(configure.ac): Also compile lib/stat-w32.c.

2017-04-29  Bruno Haible  <bruno@clisp.org>

	fstat: Fix time_t values on native Windows platforms.
	* doc/posix-functions/fstat.texi: Mention the problem with st_*time.
	* lib/stat-w32.h: New file.
	* lib/stat-w32.c: New file.
	* lib/fstat.c: Don't include msvc-inval.h. Include msvc-nothrow.h,
	stat-w32.h instead.
	(fstat_nothrow): Remove function.
	(rpl_fstat): Implement by means of _gl_fstat_by_handle.
	* m4/fstat.m4 (gl_FUNC_FSTAT): On native Windows, set REPLACE_FSTAT
	always.
	(gl_PREREQ_FSTAT): Require gl_HEADER_SYS_STAT_H.
	* modules/fstat (Files): Add lib/stat-w32.h, lib/stat-w32.c.
	(Depends-on): Remove msvc-inval. Add pathmax, msvc-nothrow.
	(configure.ac): Also compile lib/stat-w32.c.

2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>

	getopt: port to Solaris 10 with circa-1997 glibc getopt.h
	Problem reported by Assaf Gordon and Gavin Smith in:
	http://lists.gnu.org/r/bug-gnulib/2017-04/msg00157.html
	* lib/getopt-pfx-ext.h (_getopt_internal) [__GETOPT_PREFIX]:
	#define this, too.

2017-04-29  Bruno Haible  <bruno@clisp.org>

	strerror_r-posix: Fixes for MSVC 14.
	* lib/strerror_r.c: Include <stdarg.h>.
	(strerror_r): Provide error messages for errno values 100...140.
	* doc/posix-functions/strerror_r.texi: Mention the MSVC 14 problem.

2017-04-28  Bruno Haible  <bruno@clisp.org>

	noreturn: New module.
	* lib/noreturn.h: New file.
	* modules/noreturn: New file.
	* tests/test-noreturn.c: New file.
	* modules/noreturn-tests: New file.
	* tests/test-noreturn-c++.cc: New file.
	* modules/noreturn-c++-tests: New file.

2017-04-27  Bruno Haible  <bruno@clisp.org>

	wctype-h: Fix compilation error with the original mingw.org mingw.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Test for <crtdefs.h>. Set
	HAVE_CRTDEFS_H.
	* modules/wctype-h (Makefile.am): Substitute HAVE_CRTDEFS_H.
	* lib/wctype.in.h (rpl_wint_t): If <crtdefs.h> does not exist, include
	<stddef.h> instead.
	Reported and proposed by Eli Zaretskii <eliz@gnu.org>.

2017-04-26  Pádraig Brady  <P@draigBrady.com>

	nap.h: Fix compilation on non windows platforms
	* tests/nap.h: Move misplaced endif.

2017-04-26  Pádraig Brady  <P@draigBrady.com>
	and Paul Eggert  <eggert@cs.ucla.edu>

	time_rz: fix heap buffer overflow vulnerability
	Reported and analyzed at https://bugzilla.redhat.com/CVE-2017-7476
	* lib/time_rz.c (save_abbr): Rearrange the calculation determining
	whether there is enough buffer space available, thus avoiding
	the problematic promotion of signed to unsigned causing an invalid
	comparison when zone_copy is more than ABBR_SIZE_MIN bytes beyond
	the start of the buffer.
	* tests/test-parse-datetime.c (main): Add a test case written by
	Paul Eggert, which overwrites enough of the heap so that
	standard glibc will fail with "free(): invalid pointer"
	without the patch applied.

2017-04-26  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc: add missing integer overflow check
	* lib/xalloc.h (x2nrealloc): Also check for multiplication
	overflow when P is null.

2017-04-25  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime: make it standalone
	* lib/parse-datetime.y: Include <stdarg.h>, for va_start etc.
	(_GL_ATTRIBUTE_FORMAT): New macro.
	These are needed to get './gnulib-tool --test parse-datetime' to work.

2017-04-23  Bruno Haible  <bruno@clisp.org>

	nap.h: Port to native Windows.
	* tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd;
	use nap_fd instead. On native Windows, close and reopen nap_fd.
	(nap_works): Don't compare the ctimes, because on native Windows, these
	are the creation times.
	(nap): Update.

2017-04-23  Bruno Haible  <bruno@clisp.org>

	nap.h: Fix logic.
	* tests/nap.h (nap): Avoid signed integer overflow in loop.

2017-04-23  Bruno Haible  <bruno@clisp.org>

	Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
	* modules/strerror_r-posix (configure.ac): Invoke gl_MODULE_INDICATOR.
	* lib/error.c: Test GNULIB_STRERROR_R_POSIX before testing
	HAVE_DECL_STRERROR_R, HAVE_STRERROR_R, or STRERROR_R_CHAR_P.
	* lib/argp-help.c (__argp_failure): Likewise.

2017-04-23  Bruno Haible  <bruno@clisp.org>

	strerror_r-posix: Revert commits from 2016-10-16,2016-11-04,2016-11-14.
	* m4/strerror_r.m4: Revert changes since 2016-10-16.
	* lib/strerror_r.c: Likewise.

2017-04-23  Paul Eggert  <eggert@cs.ucla.edu>

	Target a C99 subset, not a C89 subset
	For many years Gnulib has targeted C89 and has resisted using C99
	features, as some Gnulib-using programs still wanted to target
	C89.  As this no longer seems to be the case, relax the porting
	requirements to allow some C99 features.  This is merely a change
	to the documentation, to give other Gnulib developers a chance to
	weigh in on the topic.
	* doc/extern-inline.texi (extern inline):
	* doc/gnulib-readme.texi (Portability guidelines):
	* doc/gnulib-tool.texi (Initial import):
	* doc/gnulib.texi (Header files):
	Modernize to talk about C99 and C11 instead of C89 and C99.
	* doc/gnulib-readme.texi (Portability guidelines):
	Now a section, not merely a subsection, so that it
	can be split up.  Modernize a bit.
	(C language versions, C99 features assumed)
	(C99 features avoided):
	New sections.

2017-04-23  Bruno Haible  <bruno@clisp.org>

	doc: New section "Modules that modify the way other modules work".
	* doc/gnulib.texi (Modules that modify the way other modules work): New
	section.

2017-04-23  Bruno Haible  <bruno@clisp.org>

	stat-time: Update comments.
	* lib/stat-time.h: Fix reference regarding st_ctime on Windows.
	* tests/test-utimens-common.h: Add reference regarding st_ctime on
	Windows.

2017-04-01  Bruno Haible  <bruno@clisp.org>

	glob: Fix more memory leaks.
	* lib/glob.c (glob): Free allocated memory before returning.
	Reported by Coverity via Tim Rühsen.

2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>

	poll: improve fast check for out-of-range NFD
	* lib/poll.c: Do not include intprops.h.
	(poll): Compare NFD to INT_MAX, not to TYPE_MAXIMUM (nfds_t) / 2.
	* modules/poll (Depends-on): Remove intprops.

	ftoastr: cite a newer paper
	* lib/ftoastr.c (FTOASTR): In comment, cite Andrysco et al. 2016
	instead of Loitsch 2010.

2017-04-22  Bruno Haible  <bruno@clisp.org>

	poll: Enable argument check also in the Windows implementation.
	* lib/poll.c (poll) [WINDOWS_NATIVE]: Check value of nfd correctly.
	Reported by Paul Eggert.

2017-04-22  Bruno Haible  <bruno@clisp.org>

	getlogin_r: Work around bug in Mac OS X 10.12.
	* m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test also against the Mac OS X
	bug.
	* lib/getlogin_r.c (getlogin_r): When getlogin_r returns a string of the
	given size minus 1, call getlogin_r a second time, on a larger buffer.
	* modules/getlogin_r (Depends-on): Add malloca.
	* doc/posix-functions/getlogin_r.texi: Mention the Mac OS X bug.

2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime: fix %z and prefer signed int
	%z problem reported by Pádraig Brady in:
	http://lists.gnu.org/r/bug-gnulib/2017-04/msg00103.html
	While fixing it, I decided to prefer signed ints to size_t, as
	they are less error-prone (e.g., ubsan catches overflow).
	* lib/parse-datetime.y (textint, parser_control, lookup_word, yylex)
	(parse_datetime2): Prefer ptrdiff_t to size_t for sizes and object
	counts, since signed integers make for better debugging.
	(date): Don’t assume %z works in printf formats.
	(debug_strfdatetime, debug_strfdate, debug_strftime): Use int for
	sizes of buffers known to be small, e.g., because we’re using snprintf.
	(parse_datetime2): Simplify call to debug_mktime_not_ok.

2017-04-22  Bruno Haible  <bruno@clisp.org>

	*printf: Work around rounding bug on Mac OS X.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Test for Mac OS X 10.12 bug.
	* doc/posix-functions/*printf.texi: Mention the rounding bugs of
	Mac OS X and FreeBSD.
	* doc/glibc-functions/*printf.texi: Likewise.

2017-04-22  Bruno Haible  <bruno@clisp.org>

	vasnprintf tests: Avoid warnings.
	* tests/test-vasnprintf-posix3.c (test_function, my_asnprintf,
	test_vasnprintf, test_asnprintf): Don't define if there's nothing to
	test.

2017-04-22  Bruno Haible  <bruno@clisp.org>

	sys_file tests: Avoid warning.
	* tests/test-sys_file.c (main): Add a default clause to the switch
	statement.

2017-04-22  Bruno Haible  <bruno@clisp.org>

	sethostname: Update doc.
	* doc/glibc-functions/sethostname.texi: Mention differing prototype on
	Mac OS X.

2017-04-22  Bruno Haible  <bruno@clisp.org>

	quotearg tests: Avoid warnings.
	* tests/test-quotearg.c: Don't include test-quotearg.h if ENABLE_NLS is
	false.

2017-04-22  Bruno Haible  <bruno@clisp.org>

	poll: Enable argument check.
	* lib/poll.c: Include intprops.h.
	(poll): Check value of nfd correctly.
	* modules/poll (Depends-on): Add intprops.

2017-04-22  Bruno Haible  <bruno@clisp.org>

	get-rusage-data: Avoid warnings on Mac OS X.
	* lib/get-rusage-data.c: On Mac OS X, don't define
	get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
	(get_rusage_data) [Mac OS X]: Just return 0.

2017-04-22  Bruno Haible  <bruno@clisp.org>

	xbinary-io: Fix build error.
	* modules/xbinary-io (Depends-on): Add gettext-h.
	* lib/xbinary-io.c: Include gettext.h and define _().
	Reported by Gisle Vanem <gisle.vanem@gmail.com> in
	<https://lists.gnu.org/r/bug-gnulib/2017-04/msg00089.html>.

2017-04-22  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime: overflow and debug cleanups
	This long patch was triggered by this bug report from Ruediger Meier:
	http://lists.gnu.org/r/bug-gnulib/2017-04/msg00028.html
	I fixed the bug he noted, then found some others nearby, and then
	still others.  Oh my goodness, there were a lot of bugs.  I cleaned
	up some of the code to follow GNU standards while I was at it.
	* lib/parse-datetime.y (ISDIGIT): Remove; all callers changed to
	use c_isdigit.
	(EPOCH_YEAR): Remove; unused.
	(TM_YEAR_BASE): Now an enum rather than a macro.
	(HOUR, debug_strfdatetime): Multiply hour by 3600, not 60, to get
	time zone offset, since timezones now are in terms of seconds and
	not minutes.
	(long_time_t): Remove.  All uses replaced by time_t or intmax_t as
	appropriate.  Verify that intmax_t is wide enough.
	(time_overflow, time_zone_str): New functions, used to deal
	more reliably with overflow.
	(dbg_printf): Add printf attribute, to help catch integer width errors.
	(textint, relative_time, parser_control, time_zone_hhmm, set_hhmmss)
	(%union, to_hour, yylex, parse_datetime2):
	Use intmax_t instead of long int and/or long_time_t.
	All uses changed.
	(DBGBUFSIZE): Move earlier.
	(relative_time, set_hhmmss, parser_control):
	Just use int for nanoseconds and for time zones; that’s wide enough.
	(parser_control): Use bool for members like year_seen that can
	be booleans instead of counters.  All uses changed.
	Remove debug_default_input_timezone; no longer needed.
	All uses removed.
	(apply_relative_time): Return a bool overflow flag.
	All uses changed to check for overflow.
	(apply_relative_time, zone, date, relunit, relunit_snumber)
	(signed_seconds, unsigned_seconds, yylex, parse_datetime2):
	Check for integer overflow portably.
	(str_days): Use just int for N, as it’s wide enough.
	Prefer 2D char arrays to arrays of char * when it looks like
	2D is a win on typical platforms.
	Prefer snprintf to strncpy/strncat, for simplicity;
	all buffers are smaller than INT_MAX so this is safe.
	(TIME_ZONE_BUFSiZE, TM_YEAR_BUFSIZE): New constants.
	(debug_print_current_time): Don’t assume tv_nsec is of type long,
	as this is not true on x32.  Output "." before any nanoseconds.
	(debug_print_current_time, parse_datetime2):
	Output local zones using a more-consistent format.
	(debug_print_current_time, date, parse_datetime2):
	(main) [TEST]:
	Don’t assume time_t is the same width as long.
	(print_rel_part): New function, replacing ...
	(PRINT_REL_PART): ... this macro, which was removed.  All uses changed.
	(debug_print_relative_time): Use bool for boolean.
	(local_zone): dsts_seen now counts only tDST instances.
	(date): Fix printf of size_t to use %z.  Do not assume numeric
	tokens have negative values merely because the context suggests
	a syntax with "-" separating tokens.
	(time_zone_hhmm): Return bool success indicator, which checks for
	overflow.  Store result into PC->time_zone instead.  All callers
	changed.
	(tm_year_str): New function.  Return a bool success indicator and
	store the result into a buffer.  All callers changed.  Output the
	numerically correct string even if adding 1900 to the year would
	overflow.
	(to_tm_year): New function, replacing the old to_year.  All
	callers changed.
	(tm_diff): Sync with glibc.
	(lookup_word): Use to_uchar instead of doing it by hand.
	(TZBUFSIZE): Now local to the only function that needs it.
	(debug_strfdatetime): Simplify now that time zones are int seconds.
	(debug_strfdate): Work even if tm_year + 1900 would overflow.
	(get_effective_timezone): Remove.  All uses removed.
	(parse_datetime2): Use fprintf in pieces instead of snprintfing
	to a fixed-size buffer.  Don’t assume that gmtime succeeds iff
	localtime succeeds.  Use tm_gmtoff if available.  Simplify how
	‘goto fail;’ works in conjunction with the ‘ok’ flag.
	* m4/parse-datetime.m4 (gl_PARSE_DATETIME): Don’t define
	TIME_T_FITS_IN_LONG_INT, as it is no longer needed.
	* modules/parse-datetime (Depends-on): Add inttypes.

2017-04-21  Bruno Haible  <bruno@clisp.org>

	gettext-h: Avoid -Wundef warning.
	* lib/gettext.h: Test the value of ENABLE_NLS only if it is defined.
	Reported by Tim Rühsen <tim.ruehsen@gmx.de> in
	<https://lists.gnu.org/r/bug-gnulib/2017-04/msg00022.html>.

2017-04-05  Tim Rühsen  <tim.ruehsen@gmx.de>

	error: Avoid "function declaration isn't a prototype" warning.
	* lib/error.c (strerror_r): Turn K&R C prototype to an ANSI C prototype.

2017-04-21  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Fix for MSVC 14.
	* lib/vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
	Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
	of !HAVE_SNPRINTF_RETVAL_C99.

2017-04-21  Bruno Haible  <bruno@clisp.org>

	mbrtowc tests: Fix test failures on MSVC 14.
	* tests/test-mbrtowc-w32.c (test_one_locale): Accept MSVC's conversion
	behaviour for invalid input.

2017-04-21  Bruno Haible  <bruno@clisp.org>

	mbsinit: Fix for MSVC 14.
	* lib/mbsinit.c (mbsinit): If GNULIB_defined_mbstate_t, provide an
	implementation that is in sync with mbrtowc.c. On other platforms, use
	an adequate ad-hoc implementation.

2017-04-21  Bruno Haible  <bruno@clisp.org>

	Fix test-mbrtowc5.sh failure on native Windows.
	* lib/setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
	"C".

2017-04-21  Bruno Haible  <bruno@clisp.org>

	Avoid accidental use of native Windows APIs on Cygwin.
	* lib/getaddrinfo.c (WINDOWS_NATIVE): Don't define on Cygwin.
	* lib/localcharset.c (WINDOWS_NATIVE): Likewise.
	* lib/localename.c (WINDOWS_NATIVE): Likewise.

2017-04-20  Bruno Haible  <bruno@clisp.org>

	Remove red warnings from the generated MODULES.html.
	* modules/fcntl (Description): Disambiguate function references.
	* modules/getcwd-lgpl (Description): Likewise.
	* modules/hostent (Description): Likewise.
	* modules/servent (Description): Likewise.
	* modules/tempname (Description): Likewise.

2017-04-20  Bruno Haible  <bruno@clisp.org>

	verify tests: Fix spurious failure with parallel make.
	* gnulib-tool (func_emit_tests_Makefile_am): Emit initialization of
	EXTRA_PROGRAMS.
	* tests/test-verify.sh: Build test-verify-try.o, not test-verify.o.
	* tests/test-verify-try.c: New file.
	* modules/verify-tests (Files): Add it.
	(EXTRA_PROGRAMS): Add test-verify-try.
	(MOSTLYCLEANFILES): Update accordingly.
	Reported by Adam James Stewart <ajstewart@anl.gov>.

2017-04-18  Bruno Haible  <bruno@clisp.org>

	vma-iter: Fix compilation error on Solaris 7.
	* lib/vma-iter.c (vma_iterate): Treat missing MAP_ANONYMOUS on Solaris
	like on IRIX, OSF/1.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2017-04-18  Bruno Haible  <bruno@clisp.org>

	vma-iter: Fix conflict with module 'largefile' on 32-bit Solaris 9.
	* modules/vma-iter (configure.ac): Test whether <sys/procfs.h> can be
	included.
	* lib/vma-iter.c: On Solaris, test HAVE_SYS_PROCFS_H before including
	<sys/procfs.h>.
	* lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Don't define on Solaris when
	<sys/procfs.h> cannot be included.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2017-04-18  Bruno Haible  <bruno@clisp.org>

	getopt-gnu: Add comments.
	* m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Add comments.
	* modules/getopt-gnu (configure.ac): Likewise.

2017-04-16  Paul Eggert  <eggert@cs.ucla.edu>

	regex: port better to Solaris 10
	Solaris 10 <locale.h> includes <libintl.h>, which #defines
	gettext, and this causes a double #define.
	Problem reported by Gavin Smith in:
	http://lists.gnu.org/r/bug-gnulib/2017-04/msg00056.html
	* lib/regex_internal.h (gettext): #undef before #defining.

2017-04-15  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	intprops: improve comments
	* lib/intprops.h: Improve and shorten commentary.
	For the record, if we ever run into a pedantic compiler that
	behaves differently from GCC when converting an out-of-range value
	to a signed integer, we can work around the problem with something
	like the following code, where UCT is the signed counterpart of T
	(UCT is sometimes narrower than UT) and all callers are changed
	accordingly:
	#if __SUNPRO_C <= 0x5120
	# define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
	   ((t) ((ut) (a) op (ut) (b)))
	#else
	# define _GL_INT_OP_WRAPV_VIA_UNSIGNED(a, b, op, uct, ut, t) \
	   (TYPE_MINIMUM (t) <= (uct) ((ut) (a) op (ut) (b)) \
	    ? ((t) (uct) (((ut) (a) op (ut) (b)) - TYPE_MINIMUM (t)) \
	       + TYPE_MINIMUM (t)) \
	    : (t) (uct) ((ut) (a) op (ut) (b)))
	#endif

2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>

	intprops: try to avoid tickling similar bugs
	* lib/intprops.h (_GL_INT_OP_CALC): Document that UT no longer
	needs to be the same width as T; it can be wider.
	Change callers so that UT is at least as wide as unsigned int,
	as I suspect that this is less likely to run into compiler bugs.

	intprops: port to Oracle Studio 12.3 x86
	Problem reported by Gavin Smith in:
	http://lists.gnu.org/r/bug-gnulib/2017-04/msg00049.html
	* lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED):
	Convert unsigned to signed via the usual rather than the standard way,
	to avoid a compiler bug in Oracle Studio 12.3 x86.

2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>

	getopt: prefer - to _ in new file names
	* lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
	* lib/getopt-core.h: Rename from lib/getopt_core.h.
	* lib/getopt-ext.h: Rename from lib/getopt_ext.h.
	* lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
	* lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
	All uses changed.

	getopt: port recent getopt changes to macOS
	Problem reported by Harald Maier (Bug#26398).
	The macOS C compiler uses __nonnull for its own purposes and that
	clashes with glibc's __nonnull.
	* lib/getopt.in.h: Add comment for _GL_ARG_NONNULL snippet.
	* lib/getopt_cdefs.in.h (__nonnull): Remove.
	* lib/getopt_core.h (getopt):
	* lib/getopt_ext.h (getopt_long, getopt_long_only):
	Use _GL_ARG_NONNULL, not __nonnull.
	* lib/unistd.in.h: Move snippet hooks to before where the getopt
	.h files are included, so that _GL_ARG_NONNULL is defined in time.
	* modules/getopt-posix (Depends-on): Add snippet/arg-nonnull.
	(getopt.h): Interpolate _GL_ARG_NONNULL snippet.

2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>

	getopt-gnu: omit some duplicate code
	* m4/getopt.m4 (gl_FUNC_GETOPT_GNU): Don’t require
	gl_FUNC_GETOPT_POSIX, as the configure.ac code generated by
	gnulib-tool already does this.
	* modules/getopt-gnu (configure.ac): Omit code duplicated from
	getopt-posix, which we depend on.

	getopt-posix: use angle-bracket include
	* lib/getopt1.c: Include <config.h>, not "config.h".

2017-04-06  Zack Weinberg  <zackw@panix.com>

	getopt: annotate files with relationship to glibc

	As the final act in this patchset, adjust the message at the top of
	each file to indicate which files are synced with glibc.  (This has
	already been done for most of the headers.)

	* lib/getopt.c, lib/getopt1.c, lib/getopt_int.h:
	Mention in top-of-file boilerplate that these files are shared
	between glibc and gnulib.


	getopt: split up getopt.in.h and eliminate __need_getopt

	Over in glibc, all of the __need macros are being phased out in favor
	of small headers that declare only the necessary components, as this
	is much simpler and less prone to bugs.  As getopt is shared with
	glibc, gnulib needs to do the same for __need_getopt.

	__need_getopt is misnamed; what it really means is "we want only the
	getopt features specified in POSIX, not the GNU extensions".  glibc
	placed the "meat" of getopt.h into getopt_core.h and getopt_ext.h;
	these files can be shared verbatim with gnulib.  The portability
	wrapper, on the other hand, they have renounced altogether; glibc's
	getopt.h will no longer be shared with gnulib at all.  In exchange,
	certain glibc-specific quirks (having to do with __posix_getopt) no
	longer need appear in gnulib's headers at all.

	This patch merges getopt_core.h and getopt_ext.h from glibc, and
	splits up the current gnulib-side portability wrapper into three
	additional headers: getopt_pfx_core.h and getopt_pfx_ext.h handle
	__GETOPT_PREFIX for their respective headers, getopt_cdefs.in.h
	handles things like __BEGIN_DECLS and __THROW, and getopt.in.h and
	unistd.in.h just use them.  All new files are clearly marked with
	whether they are shared with glibc.

	* lib/getopt.in.h: Eliminate __need_getopt.  Break up into ...
	* lib/getopt_core.h, lib/getopt_ext.h: ... these new files shared
	with glibc, and ...
	* lib/getopt_cdefs.in.h, lib/getopt_pfx_core.h
	* lib/getopt_pfx_ext.h: ... these new files not shared with glibc.
	* lib/unistd.in.h: Include getopt_cdefs.h and getopt_pfx_core.h,
	instead of defining __need_getopt and including the full getopt.h.

	* m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): Check for sys/cdefs.h.
	Define substitution variables GETOPT_CDEFS_H and HAVE_SYS_CDEFS_H.
	* modules/getopt-posix (Files): Add new headers and sort list.
	(Depends-on): No longer need snippet/arg-nonnull.
	(Makefile.am): Generate getopt_cdefs.h.


	getopt: better handling of ambiguous options

	glibc's getopt uses alloca to construct a linked list of possibilities
	for an "ambiguous" long option.  In gnulib, malloc should be used
	instead.  Providing for both cases complicates things a fair bit.

	This patch rewrites ambiguous-option handling to use a boolean vector
	instead of a linked list.  There is then only one allocation that
	might need freeing; in glibc it can honor __libc_use_alloca as usual,
	and in gnulib we define __libc_use_alloca to always be false, so we
	don't need ifdefs in the middle of the function.  This should also be
	slightly more efficient in the normal case of long options being fully
	spelled out -- I think most people aren't even aware they _can_
	sometimes abbreviate long options.

	One interesting consequence is that the list of possibilities is now
	printed in exactly the order they appear in the list of long options,
	instead of the first possibility being shuffled to the end.

	(The patch looks bigger than it really is because there's a fair bit
	of reindentation and code rearrangement.)

	* lib/getopt.c: When used standalone, define __libc_use_alloca
	as always false and alloca to abort if called.
	(process_long_option): Rewrite handling of ambiguous long options
	to use a single boolean vector, not a linked list; use
	__libc_use_alloca to decide whether to allocate this using alloca.


	getopt: refactor long-option handling

	There were two copies of the bulk of the code to handle long options.
	Now there is only one.

	This change temporarily removes the logic to avoid using alloca when
	standalone; the next patch in the series will restore it.

	* lib/getopt.c (process_long_option): New function split out
	from _getopt_internal_r.
	(_getopt_internal_r): Replace both copies of the long-option
	processing code with calls to process_long_option.


	getopt: tidy up _getopt_initialize a bit

	_getopt_data.__posixly_correct is completely redundant to
	_getopt_data.__ordering, and some work that logically belongs in
	_getopt_initialize was being done by _getopt_internal_r, making the
	code harder to understand.

	As a side effect, getenv will no longer be called if the first
	character of the options string is '+' or '-', which is probably a
	Good Thing.  (Perhaps we should have a flag character that
	specifically asks for the permutation behavior?)

	* lib/getopt_int.h (_getopt_data): Remove __posixly_correct field.
	* lib/getopt.c (_getopt_internal_r): Move some initialization code...
	(_getopt_initialize): ...here. Don't set d->__posixly_correct.


	getopt: merge from glibc: repetition reduction

	The definitions of the entry point functions 'getopt' and
	'__posix_getopt' can be made substantially less repetitive with a
	helper macro.

	While I was merging the const-correctness changes from gnulib into
	glibc I noticed there are still some unnecessary casts in
	_getopt_internal_r.

	* lib/getopt.c (getopt, __posix_getopt): Eliminate repetition with
	a macro.  Consistently cast 'argv' to 'char **' when calling
	_getopt_internal.
	(_getopt_internal_r): Remove unnecessary casts when calling exchange.


	getopt: clean up error reporting

	getopt can print a whole bunch of error messages, and when used
	standalone (from gnulib) it uses fprintf to do that.  But fprintf is a
	cancellation point and getopt isn't, and also applying fprintf to a
	stream in wide-character mode is not allowed.  So every single error
	reporting case has an #ifdef _LIBC block in which it calls internal
	libc functions instead.  The counterpart patch series in glibc makes
	it possible to simplify all of that down to a set of #defines at the
	top of the file; core code is written as if it is safe to just call
	fprintf, flockfile, and funlockfile.  (One caveat: it's *not* safe to
	call any *other* stdio functions.)

	* lib/getopt.c: When _LIBC is defined, define fprintf to
	__fxprintf_nocancel, flockfile to _IO_flockfile, and funlockfile
	to _IO_funlockfile.  When neither _LIBC nor
	_POSIX_THREAD_SAFE_FUNCTIONS is defined, define flockfile and
	funlockfile as no-ops.
	(_getopt_internal_r): Remove all internal #ifdef _LIBC blocks; the
	standalone error-printing code can now be used for libc as well.
	Add an flockfile/funlockfile pair around one case where the error
	message is printed in several chunks.  Don't use fputc.


	getopt: fix fencepost error in ambiguous-W-option handling

	getopt_long contains an undocumented (AFAICT) feature in which, if you
	put "W;" in the short-options list, then '-W foo' and '-Wfoo' are
	treated as equivalent to '--foo'.  This is implemented with a partial
	second copy of the code for handling long options, and that code
	increments optind one too many times when recovering from an ambiguous
	abbreviated option, which can cause the main loop to walk past the end
	of argv and crash.

	I discovered this while writing a test case that tries to exercise all
	of getopt's error reporting paths; I wouldn't be surprised to learn
	that this feature is never used by real applications.

	* lib/getopt.c (_getopt_internal_r): Don't increment
	d->optind a second time when reporting ambiguous -W options.


	getopt: clean up getopt.c and getopt1.c file headers

	In getopt.c, there is no need to include wchar.h at all, and it is
	safe nowadays to assume that stdlib.h does declare getenv (several
	other gnulib modules make this assumption).

	In getopt1.c, the #ifdef _LIBC block at the top can be simplified
	by using "" inclusions consistently, and there is no actual need to
	include stdlib.h (except in the #ifdef TEST block, where it should be
	unconditional), nor to provide a backup definition of NULL at all.

	* lib/getopt1.c: Simplify #ifdeffage at top of file.
	Move inclusion of stdlib.h to #ifdef TEST block and make
	unconditional.  Do not define NULL.
	* lib/getopt.c: Don't include wchar.h. No need to declare getenv.
	* m4/getopt.m4 (gl_PREREQ_GETENV): Delete.
	* modules/getopt-gnu, modules/getopt-posix: Don't call
	gl_PREREQ_GETENV.


	getopt: harmonize comments with glibc

	The comments explaining how the behavior of 'getopt' varies depending
	on whether it's the standalone version and whether there are special
	characters at the beginning of the options string were inconsistent
	between gnulib and glibc, and also out of sync with the code.

	* lib/getopt.c, lib/getopt_int.h: Harmonize comments with glibc.


	getopt: remove USE_NONOPTION_FLAGS

	getopt includes code to parse an environment variable named
	_XXX_GNU_nonoption_argv_flags_ (where XXX is the current process's PID
	in decimal); but all of it has been #ifdefed out since 2001, with no
	official way to turn it back on.

	According to commentary in glibc's config.h.in, bash version 2.0
	set this environment variable to indicate argv elements that were
	the result of glob expansion and therefore should not be treated
	as options, but the feature was "disabled later" because "it
	caused problems".  According to bash's CHANGES file, "later" was
	release 2.01; it gives no more detail about what the problems
	were.

	Version 2.0 of bash was released on the last day of 1996, and version
	2.01 in June of 1997.  Twenty years later, I think it is safe to
	assume that this environment variable isn't coming back.

	* lib/getopt_int.h: Remove all #ifdef USE_NONOPTION_FLAGS blocks.
	* lib/getopt.c: Likewise. Also remove SWAP_FLAGS and the
	__libc_argc and __libc_argv externs, which were only used by
	#ifdef USE_NONOPTION_FLAGS blocks.


	getopt: tabify, in preparation for merge with glibc

	glibc sticks to the GNU default of indenting with a mix of
	8-column tabs and spaces; make the gnulib copy match.

	getopt.h is not included because it is *not* going to be merged in its
	present form.

	* getopt.c, getopt1.c, getopt_int.h: Tabify.

2017-04-02  Bruno Haible  <bruno@clisp.org>

	relocatable-lib-lgpl: Fix link error (regression from 2011-06-16).
	* modules/relocatable-lib-lgpl (configure.ac): Add AC_LIBOBJ invocation,
	like it was done in modules/relocatable-lib on 2011-05-21 and in
	modules/relocatable-prog on 2011-08-15.
	Reported by Reuben Thomas <rrt@sc3d.org>.

2017-03-31  Bruno Haible  <bruno@clisp.org>

	glob: Fix invalid free() call.
	* lib/glob.c (glob): Reset malloc_home_dir when assigning a pointer to
	static storage to home_dir.
	Reported by Coverity via Tim Rühsen.

2017-03-31  Bruno Haible  <bruno@clisp.org>

	glob: Fix memory leaks.
	* lib/glob.c (glob): Free allocated memory before returning.
	Reported by Coverity via Tim Rühsen.

2017-03-31  Bruno Haible  <bruno@clisp.org>

	md5, sha1, sha256, sha512: Add comments regarding correctness.
	* lib/md5.h (buflen): Add comments regarding range.
	* lib/sha1.h (buflen): Likewise.
	* lib/sha256.h (buflen): Likewise.
	* lib/sha512.h (buflen): Likewise.
	* lib/md5.c (md5_process_bytes): Add comment why memmove is not needed.
	* lib/sha1.c (sha1_process_bytes): Likewise.
	* lib/sha256.c (sha256_process_bytes): Likewise.
	* lib/sha512.c (sha512_process_bytes): Likewise.
	Reported by Coverity via Tim Rühsen.

2017-03-22  Paul Eggert  <eggert@cs.ucla.edu>

	getopt: merge from glibc
	This does not change anything substantial; it merely simplifies
	hypothetical merges back to glibc.
	* lib/getopt.c, lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h:
	Change copyright notice to match what is in glibc.
	* lib/getopt.c: Reorder includes to match glibc.  Remove uses of
	USE_IN_LIBIO.  Remove 'register'.  In __LIBC code, use
	__open_memstream rather than open_memstream and __glibc_likely
	instead of __builtin_expect.
	* lib/getopt.in.h (__posix_getopt) [!__GETOPT_PREFIX]: New decl.

2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: make [0-9] faster in non-C locales
	Problem reported by John P. Linderman (Bug#26193).
	* lib/dfa.c (parse_bracket_exp): Remove redundant assignment.
	If both ends of the range are ASCII digits, do not worry about
	multi-character collating sequences and the like.  Be consistent
	about using isalpha as a precondition for setbit_case_fold_c.

2017-03-19  Bruno Haible  <bruno@clisp.org>

	lock: Fix compilation error with HP-UX IA64 cc.
	* lib/glthread/lock.h (pthread_rwlockattr_setkind_np): Don't declare
	weak on non-glibc platforms.

2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign: tweak version# and test for HP-UX IA64
	Problems reported by Bruno Haible in:
	http://lists.gnu.org/r/bug-gnulib/2017-03/msg00078.html
	* lib/stdalign.in.h (_Alignas):
	* m4/stdalign.m4 (gl_STDALIGN_H):
	Use octal, not decimal, for __HP_cc version.  Perhaps HP formerly
	used octal (as that is how they document it), but it is decimal in
	practice now and the ancient implementations no longer matter.
	* tests/test-stdalign.c (main) [__HP_cc && __ia64]: Skip test.

2017-03-19  Bruno Haible  <bruno@clisp.org>

	vma-iter: Add support for Solaris.
	* lib/vma-iter.c (vma_iterate): On Solaris, use the /proc filesystem
	approach.
	* lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on Solaris.
	* lib/get-rusage-as.c: Update comment about Solaris.
	* lib/get-rusage-data.c: Likewise.

2017-03-19  Bruno Haible  <bruno@clisp.org>

	vma-iter: Prefer HP-UX specific API on HP-UX.
	* lib/vma-iter.c (vma_iterate): Move HP-UX specific implementation up.
	* lib/vma-iter.h: Update.
	Just in case HP-UX ever implements mquery().

2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign: restore previous behavior for HP-UX IA64
	See Bruno Haible's email in:
	http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
	which cites p 150 of a manual saying that 'aligned' works on Itanium.
	* lib/stdalign.in.h (_Alignas):
	Assume the '061200' applies to Itanium, not to PA-RISC.
	* m4/stdalign.m4 (gl_STDALIGN_H): Adjust to match stdalign.in.h.

2017-03-17  Bruno Haible  <bruno@clisp.org>

	stat-time, timespec: Support use of the header files in C++ mode.
	* lib/stat-time.h: Add "C" linkage declaration.
	* lib/timespec.h: Likewise.

2017-03-17  Bruno Haible  <bruno@clisp.org>

	stdalign: Make it work with HP-UX cc.
	* lib/stdalign.in.h (_Alignas): Don't define for HP-UX cc.
	* m4/stdalign.m4 (gl_STDALIGN_H): No need to enable the extra test
	for HP-UX cc.

2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>

	flexmember: try to detect HP-UX 11.31 cc bug
	Problem reported by Bruno Haible in:
	http://lists.gnu.org/r/bug-gnulib/2017-03/msg00066.html
	* m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
	Attempt to detect bug in HP-UX 11.31 cc.

2017-03-16  Bruno Haible  <bruno@clisp.org>

	stdint: Fix test compilation failure with HP-UX 11 cc.
	* lib/stdint.in.h (_STDINT_MIN): Remove macro.
	(_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN): New macros.
	(PTRDIFF_MIN, SIG_ATOMIC_MIN, WCHAR_MIN, WINT_MIN): Define using
	_STDINT_UNSIGNED_MIN, _STDINT_SIGNED_MIN.

2017-03-14  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Don't produce a tests directory with only snippet .h files.
	* gnulib-tool (func_modules_transitive_closure_separately): If
	testsrelated_modules ends up with no "real" modules, aside from
	modules with applicability 'all', set it to empty.

2017-03-14  Bruno Haible  <bruno@clisp.org>

	vma-iter: Add support for HP-UX.
	* modules/vma-iter (configure.ac): Check for 'pstat_getprocvm'.
	* lib/vma-iter.c (vma_iterate): On HP-UX, use pstat_getprocvm().
	* lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on HP-UX.
	* lib/get-rusage-as.c: Update comment about HP-UX.
	* lib/get-rusage-data.c: Likewise.
	(get_rusage_data): Use get_rusage_data_via_setrlimit.

2017-03-14  Bruno Haible  <bruno@clisp.org>

	limits-h: Make it work with HP-UX cc.
	* lib/limits.in.h (LLONG_MIN, LLONG_MAX, ULLONG_MAX): Define if not
	defined.

2017-03-14  Bruno Haible  <bruno@clisp.org>

	Fix test failures on DragonFlyBSD.
	* tests/test-localeconv.c (main): Treat DragonFlyBSD like FreeBSD.
	* tests/test-select.h (test_bad_fd): Likewise.
	* tests/test-get-rusage-data.c (main): Treat DragonFlyBSD like OpenBSD.

2017-03-14  Bruno Haible  <bruno@clisp.org>

	freadahead: Silence warning on DragonFlyBSD.
	* lib/freadahead.c (__sreadahead): Declare ourselves.

2017-03-14  Bruno Haible  <bruno@clisp.org>

	vma-iter: Add comment about AIX.
	* lib/vma-iter.c: Add comment about why this module is not implemented
	on AIX.

2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>

	snippets: move unadjusted snippet sources to lib
	Problem reported by Michal Privoznik in:
	http://lists.gnu.org/r/bug-gnulib/2017-03/msg00039.html
	* lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
	* lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
	* lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
	* lib/unused-parameter.h: Rename from
	build-aux/snippet/unused-parameter.h.
	* lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
	* modules/snippet/_Noreturn (Files:, _NORETURN_H):
	* modules/snippet/arg-nonnull (Files:, ARG_NONNULL_H):
	* modules/snippet/c++defs (Files:, CXXDEFS_H):
	* modules/snippet/unused-parameter (Files:, UNUSED_PARAMETER_H):
	* modules/snippet/warn-on-use (Files: WARN_ON_USE_H):
	Adjust to file renamings.

2017-03-14  Mathieu Lirzin  <mthl@gnu.org>

	gnulib-tool: don't automatically distribute files from top/
	* gnulib-tool (func_get_automake_snippet_unconditional): To be able to
	not distribute top/README-release by default, don't distribute files
	from top/ unconditionally.
	* modules/gnumakefile (Makefile.am): Distribute top/GNUmakefile.
	* modules/maintainer-makefile (Makefile.am): Distribute top/maint.mk.

2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>

	gnulib-tool: fix typo in comment output
	* gnulib-tool (func_import): Fix typo with previous change.

	snippets: work around GNU Make 3.82 VPATH
	When using 'gnulib-tool --gnu-make' on Emacs, and building
	the resulting tarball on Solaris 10 which bundles GNU Make 3.82,
	an out-of-source (VPATH) build failed because the sans-copyright
	snippet file was not built before the file that used it.
	Presumably this is some sort of VPATH thing.  Work around the
	problem by using the original snippet, i.e., don’t bother to
	remove its copyright notice.
	* modules/snippet/_Noreturn, modules/snippet/link-warning:
	Don’t assume Automake in comments.  Omit long-incorrect comment.
	* modules/snippet/arg-nonnull (BUILT_SOURCES, arg-nonnull.h)
	(MOSTLYCLEANFILES):
	* modules/snippet/c++defs (BUILT_SOURCES, c++defs.h)
	(MOSTLYCLEANFILES):
	* modules/snippet/unused-parameter (BUILT_SOURCES, unused-parameter.h)
	(MOSTLYCLEANFILES):
	* modules/snippet/warn-on-use (BUILT_SOURCES, warn-on-use.h)
	(MOSTLYCLEANFILES):
	Remove.
	* modules/snippet/arg-nonnull (ARG_NONNULL_H):
	* modules/snippet/c++defs (CXXDEFS_H):
	* modules/snippet/unused-parameter (UNUSED_PARAMETER_H):
	* modules/snippet/warn-on-use (WARN_ON_USE_H):
	Don’t bother to remove the copyright notice; just use the
	original snippet as-is.

2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>

	gnulib-tool: minor --gnu-make fixups
	* gnulib-tool (func_emit_lib_Makefile_am):
	Remove useless code that was a blind alley during implementation.
	Problem reported by Thien-Thi Nguyen in:
	http://lists.gnu.org/r/bug-gnulib/2017-03/msg00029.html
	(func_import): Note the "--gnu-make" option in the output comment.

2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>

	gnulib-tool: new option --gnu-make
	This is for applications like GNU Emacs that use GNU Make
	features instead of Automake.
	* doc/gnulib-tool.texi (Initial import): Mention --gnu-make.
	* doc/gnulib.texi (Unit test modules, Build robot for gnulib):
	Do not assume Automake.
	* gnulib-tool (func_determine_path_separator)
	(func_modules_transitive_closure, func_update_file)
	(func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
	(func_import): Add support for --gnu-make.

2017-03-11  Paul Eggert  <eggert@cs.ucla.edu>

	gnulib-common.m4: avoid aclocal.m4 bloat
	* m4/gnulib-common.m4 (gl_PROG_AR_RANLIB):
	Hide AM_PROG_AR from aclocal, so that aclocal does not
	install irrelevant macro definitions into aclocal.m4.

2017-03-10  Bruno Haible  <bruno@clisp.org>

	vma-iter: Let callers know about error.
	* lib/vma-iter.h (vma_iterate): Return 'int', not 'void'.
	* lib/vma-iter.c (vma_iterate): Return -1 in case of error.

2017-03-05  Bruno Haible  <bruno@clisp.org>

	Fix value of LD for 64-bit compilers on AIX.
	* m4/lib-ld.m4 (AC_LIB_PROG_LD): For 64-bit compilers on AIX
	("gcc -maix64" and "xlc -q64"), add option -b64 to $LD.

2017-03-04  Paul Eggert  <eggert@cs.ucla.edu>

	dtotimespec: simplify
	* lib/dtotimespec.c (dtotimespec): Simplify.

2017-03-04  Bruno Haible  <bruno@clisp.org>

	test-calloc-gnu: Reenable test also for GCC 7.
	* tests/test-calloc-gnu.c (eight): New function.
	(main): Don't skip test; use eight() instead.

2017-03-04  Jim Meyering  <meyering@fb.com>

	test-calloc-gnu: port to GCC7
	* tests/test-calloc-gnu.c (main) [__GNUC__ >= 7]: Skip a test
	that attempts to calloc more than SIZE_MAX bytes, because GCC7
	and newer would detect that at compilation time.

2017-03-04  Bruno Haible  <bruno@clisp.org>

	tests: Avoid compiler warning about uses of null_ptr.
	* tests/null-ptr.h: New file.
	* tests/test-canonicalize.c: Include null-ptr.h.
	(null_ptr): Remove function.
	* tests/test-canonicalize-lgpl.c: Likewise.
	* tests/test-memmem.c: Likewise.
	* tests/test-ptsname_r.c: Likewise.
	* modules/canonicalize-tests (Files): Add tests/null-ptr.h.
	* modules/canonicalize-lgpl-tests: Likewise.
	* modules/memmem-tests: Likewise.
	* modules/ptsname_r-tests: Likewise.
	Reported by Jim Meyering.

2017-03-03  Bruno Haible  <bruno@clisp.org>

	doc: Mention Mac OS X deficiencies regarding semaphores.
	* doc/posix-functions/sem_init.texi: Mention status on Mac OS X.
	* doc/posix-functions/sem_destroy.texi: Likewise.
	* doc/posix-functions/sem_getvalue.texi: Likewise.

2017-03-03  Bruno Haible  <bruno@clisp.org>

	lock tests: Fix test failure on Mac OS X (regression from 2017-01-05).
	Reported by Assaf Gordon <assafgordon@gmail.com> via
	Pádraig Brady <P@draigBrady.com>.
	* tests/test-lock.c: On Mac OS X, use named semaphores, not unnamed
	semaphores.
	(USE_NAMED_SEMAPHORE, USE_UNNAMED_SEMAPHORE): New macros.
	(atomic_int_semaphore): New macro.

2017-02-28  Bruno Haible  <bruno@clisp.org>

	perror tests: Tweak for z/OS.
	Reported by Daniel Richard G. <skunk@iskunk.org>.
	* tests/test-perror.sh: Don't fail z/OS style perror output.

2017-02-26  Bruno Haible  <bruno@clisp.org>

	nproc: Refactor large function.
	* lib/nproc.c (num_processors_ignoring_omp): New function, extracted
	from num_processors.
	(num_processors): In this function, only deal with OMP.

2017-02-26  Pádraig Brady  <P@draigBrady.com>

	nproc: adjust handling of OpenMP environment variables
	to match the return value from omp_get_num_threads(), i.e.:
	 - honor OMP_THREAD_LIMIT without OMP_NUM_THREADS
	 - Treat 0 as an invalid value and ignore
	Also remove the call to omp_get_num_threads() because
	it's ineffective without the omp pragmas in place.
	* lib/nproc.c (parse_omp_threads): Return 0 if specified,
	so that it can be ignored.
	(num_processors): Honor OMP_THREAD_LIMIT even without
	OMP_NUM_THREADS being set.  Also fix a typo in the environment
	variable being checked, from the previous recent commit.

2017-02-26  Pádraig Brady  <P@draigBrady.com>

	nproc: support nested OMP_NUM_THREADS, and OMP_THREAD_LIMIT
	* lib/nproc.c (parse_omp_threads): A new function refactored
	from num_processors() to support parsing both of the
	above environment variables.
	(num_processors): Prefer using omp_get_num_threads() with [_OPENMP]
	to accurately reflect the current OpenMP nesting level.
	Also support the OMP_THREAD_LIMIT environment variable
	to limit the max value determined from OMP_NUM_THREADS.
	* modules/nproc: Depend on minmax header.
	Suggested by Oliver Heimlich.

2017-02-25  Bruno Haible  <bruno@clisp.org>

	maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
	* m4/gnulib-common.m4 (AC_PROG_SED): Fix AC_CACHE_CHECK invocation.

2017-02-24  Paul Eggert  <eggert@cs.ucla.edu>

	ftoastr: port to -Wdouble-promotion
	Work around -Wdouble-promotion false alarm in recent GCCs.
	* lib/ftoastr.c (PROMOTED_FLOAT): New macro.
	(ftoastr_snprintf, FTOASTR): Use it.

2017-02-21  Bruno Haible  <bruno@clisp.org>

	lock tests: Fix build failure on GNU/Hurd (regression from 2017-01-05).
	Reported by Rene Saavedra <rennes@openmailbox.org> in
	https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25821 via Paul Eggert.
	* lib/glthread/lock.h: On glibc systems without
	PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
	implementation of rwlocks.
	* lib/glthread/lock.c: Likewise.

2017-02-20  Bruno Haible  <bruno@clisp.org>

	lock tests: Fix build failure on z/OS.
	Reported by Daniel Richard G. <skunk@iskunk.org>.
	* modules/lock-tests (configure.ac): Test for <semaphore.h>.
	* tests/test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
	exist.

2017-02-19  Bruno Haible  <bruno@clisp.org>

	havelib: Prefer the search path of /usr/bin/gcc over the one of $CC.
	This helps when CC=clang.
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Prefer the search path
	of /usr/bin/gcc.

	havelib: Support overriding the result of AC_LIB_PREPARE_MULTILIB.
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Use AC_CACHE_CHECK.

2017-02-19  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Avoid conflict of havelib-tests with --single-configure.
	* gnulib_tool (func_create_testdir): Avoid havelib-tests when
	--with-tests --single-configure is specified.

2017-02-16  Tim Rühsen  <tim.ruehsen@gmx.de>

	users.txt: Update links, use HTTPS where possible
	* users.txt: Updated to HTTPS where possible,
	fixed some links to new locations.

2017-02-16  Bruno Haible  <bruno@clisp.org>

	xbinary-io: Fix inlining.
	* lib/xbinary-io.c: Set XBINARY_IO_INLINE, not XSETMODE_INLINE.

2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>

	xbinary-io: rename from xsetmode
	This patch is taken from suggestions by Bruno Haible in:
	http://lists.gnu.org/r/bug-gnulib/2017-02/msg00060.html
	http://lists.gnu.org/r/bug-gnulib/2017-02/msg00061.html
	* lib/binary-io.c (__gl_setmode_check): Set errno to EINVAL,
	not ENOTTY, when it is an inappropriate device.
	* lib/binary-io.h (SET_BINARY): Resurrect.
	* lib/xbinary-io.c: Rename from lib/xsetmode.c.
	(xset_binary_mode_error): Rename from xsetmode_error.
	* lib/xbinary-io.h: Rename from lib/xsetmode.h.
	(xset_binary_mode): Rename from xsetmode.
	All uses changed.
	* modules/xbinary-io: Rename from modules/xsetmode.
	Update file names.
	* tests/test-binary-io.sh (tmpfiles): Remove no-longer-used file name.
	* NEWS: Update to match revised behavior.

2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>

	tests: Adjust to recent SET_BINARY change
	* tests/test-binary-io.c (main):
	* tests/test-binary-io.sh: Remove test for SET_BINARY.
	* tests/test-closein.c, tests/test-fflush2.c, tests/test-ftell.c:
	* tests/test-ftello.c, tests/test-nonblocking-pipe-child.c:
	* tests/test-yesno.c: Use set_binary_mode, not SET_BINARY.

	xsetmode: new module
	This is to fix a problem noted by Eric Blake.
	Code was using xfreopen to change files to binary mode, but this
	fails for stdout when in append mode.  Such code should use
	xsetmode instead.
	* NEWS: Document incompatible changes to binary-io module.
	* lib/binary-io.c (__gl_setmode_check) [__DJGPP__ || __EMX__]:
	New function.
	* lib/binary-io.h (__gl_setmode): Rename from set_binary_mode.
	(set_binary_mode): New function, which also checks for tty.
	* lib/xsetmode.c, lib/xsetmode.h, modules/xsetmode: New files.

2017-02-14  Paul Eggert  <eggert@cs.ucla.edu>

	headers: fix begin-end typos
	* lib/mbfile.h, lib/se-selinux.in.h: Fix typos by replacing
	_GL_INLINE_HEADER_BEGIN with _GL_INLINE_HEADER_END.

	selinux-h: port to PGI 16.10
	* lib/se-selinux.in.h: Don't assume that include_next skips over
	duplicate -I DIR options.

	argp: port to PGI 16.10
	* lib/argp-pin.c (dummy): Declare as needed to make file nonempty.

2017-02-13  Darshit Shah  <darnir@gnu.org>

	unicase: Update function protoype to match definition.
	* lib/unicase/special-casing.h (gl_unicase_special_lookup): Gperf 3.1
	uses 'size_t' as the datatype for the 'len' parameter in the functions
	it generates. Update the prototype specified here to match the newly
	generated function.

2017-02-12  Bruno Haible  <bruno@clisp.org>

	times test: Avoid gcc warnings on Linux/x32.
	* tests/test-times.c (main): Really cast printf arguments from clock_t
	to 'long int'.

2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>

	glob: port better to emscripten
	Problem reported by Bruno Haible in:
	http://lists.gnu.org/r/bug-gnulib/2017-02/msg00031.html
	* lib/glob.c (glob): Don't assume HAVE_GETPWNAM_R || _LIBC.

2017-02-11  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Support for 64-bit AIX, 32-bit armhf on arm64, hppa64.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Define also HOST_CPU.
	For the x32 ABI on x86_64, set HOST_CPU_C_ABI to 'x86_64-x32' and define
	both __x86_64__ and __x86_64_x32__. For the ELFv2 ABI on powerpc64,
	define both __powerpc64__ and __powerpc64_elfv2__. Recognize 64-bit
	compilation on AIX. Recognize 32-bit compilation on arm64/Linux.
	Distinguish hppa64 from hppa.

2017-02-10  Bruno Haible  <bruno@clisp.org>

	search: Don't assume that tsearch() exists if 'VISIT' is defined.
	* m4/search_h.m4 (gl_SEARCH_H): Determine HAVE_TYPE_VISIT.
	* modules/search (Makefile.am): Substitute HAVE_TYPE_VISIT.
	* lib/search.in.h (VISIT): Define if HAVE_TYPE_VISIT is 0.

2017-02-09  Bruno Haible  <bruno@clisp.org>

	doc: Don't mention obsolete AC_LIBTOOL_WIN32_DLL macro.
	* doc/gnulib.texi (Libtool and Windows): Recommend
	LT_INIT([win32-dll]) instead of AC_LIBTOOL_WIN32_DLL.
	Reported by Reuben Thomas <rrt@sc3d.org>.

2017-02-08  Paul Eggert  <eggert@cs.ucla.edu>

	stddef-tests: port to SIZE_MAX <= INT_MAX
	* tests/test-stddef.c: Include <limits.h>, for INT_MAX.
	Do not assume that INT_MAX < SIZE_MAX.

2017-02-01  Bruno Haible  <bruno@clisp.org>

	lock tests: Fix link error.
	* modules/lock-tests (test_rwlock1_LDADD): Add @YIELD_LIB@.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2017-01-31  Bruno Haible  <bruno@clisp.org>

	lock: Fix link error (regression from 2017-01-05).
	* lib/glthread/lock.h [USE_POSIX_THREADS_WEAK]: Declare also
	pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
	pthread_rwlockattr_destroy weak.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	Port to PGI 16.10 x86-64
	This patch fixes one real bug in gl_anylinked_list2.h, along with
	some minor glitches that are not bugs.  It does not silence PGI’s
	thousands of bogus warnings when compiling test-intprops.c.
	Fortunately, the warnings do not cause a failure.
	* lib/c-ctype.h (_C_CTYPE_LOWER_A_THRU_F_N, _C_CTYPE_LOWER_N):
	Rename parameter to avoid PGI warning about ‘#define f(n) 'n'’.
	My goodness, PGI goes back a long ways - this predates C89!
	* lib/gl_anylinked_list2.h (ASYNCSAFE): Fix bug caught by PGI.
	For example, ASYNCSAFE (const void *) should expand to
	‘const void *volatile’, not to ‘volatile const void *’.
	* lib/spawn.in.h (POSIX_SPAWN_USEVFORK): Don't define if already defined.
	* lib/verify.h (verify) [!__GNUC__]:
	Use shorter albeit meaningless string to bypass silly compiler limits.
	* tests/infinity.h (Infinityf, Infinityd, Infinityl) [__PGI]:
	* tests/nan.h (NaNf, NaNd, NaNl):
	Use static functions to avoid misguided compiler diagnostics.
	Is there some reason we don’t use static functions on all platforms?

2017-01-20  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime: handle timezones reentrantly
	This API change was prompted by a report by Pádraig Brady in:
	https://bug.debian.org/851934#10
	To help fix the bug, make parse_datetime2 more reentrant.
	* NEWS: Document this incompatible change.
	* lib/parse-datetime.h, lib/parse-datetime.y (parse_datetime2):
	Add two arguments, the timezone and the timezone name.
	All callers changed.  If TZ="..." is specified, use it for
	calculating defaults.
	* lib/parse-datetime.y: Don't include xalloc.h or use xmalloc, as
	this code should be usable in a library.
	(mktime_ok, get_effective_timezone):
	Accept timezone arg too.  All callers changed.
	(get_tz): Remove.
	(get_effective_timezone): Check for failures.

2017-01-20  Eric Blake  <eblake@redhat.com>

	localename: port to cygwin 2.6
	* lib/localename.c (gl_locale_name_thread_unsafe): Add clause for
	Cygwin.
	* modules/localename (Depends-on): Add extensions, since
	NL_LOCALE_NAME() is not visible without it.

2017-01-17  Pádraig Brady  <P@draigBrady.com>

	parse-datetime: fix dependence on AC_PROG_SED
	* modules/parse-datetime: Use `sed` directly like all other modules.
	Reported by J William Piggott

2017-01-16  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: update doc URLs
	* doc/intprops.texi (Integer Range Overflow): Update URLs.

2017-01-16  Bruno Haible  <bruno@clisp.org>

	host-cpu-c-abi: Add support for armhf, arm64, x32, s390x.
	* m4/host-cpu-c-abi.m4 (gl_HOST_CPU_C_ABI): Require gl_C_ASM. On x86_64
	systems, distinguish x86_64 and x32. On arm systems, distinguish arm,
	armhf, arm64, and no longer distinguish arm and armel. On s390x systems,
	distinguish s390 and s390x.
	* modules/host-cpu-c-abi (Files): Add m4/asm-underscore.m4.
	* NEWS: Mention the change regarding 'armel'.

2017-01-15  Paul Eggert  <eggert@cs.ucla.edu>

	localeinfo: case_folded_counterparts and WEOF
	* NEWS: Document this.
	* lib/localeinfo.c (case_folded_counterparts):
	First arg is now wint_t, not wchar_t.  This generalizes the
	function to also work on WEOF, where it returns 0.

	dfa: port to gcc -fsanitize=undefined
	* lib/dfa.c (copy): Don’t pass NULL with size 0 to memcpy,
	as this runs afoul of gcc -fsanitize=undefined.

2017-01-14  Paul Eggert  <eggert@cs.ucla.edu>

	strftime: %z is -00 if unknown
	* lib/strftime.c (DO_TZ_OFFSET): Omit arg 'negative'; it's now
	the caller's responsibility to set 'negative_number'.  All uses changed.
	(__strftime_internal): Put '-' before a zero UTC offset if the time
	zone abbreviation starts with "-", which is the recently-introduced
	tzdb convention for an unknown UTC offset that is arbitrarily set to 0.
	* tests/test-strftime.c: Test for this.

2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: port to older GCC
	Problem reported by Assaf Gordon in:
	http://lists.gnu.org/r/bug-gnulib/2017-01/msg00103.html
	* modules/c99: New module.  This merely attempts to use the latest
	C version, which should be enough to solve this particular problem.
	The idea is to document which Gnulib modules assume C99 or later.
	* modules/dfa (Depends-on): Add it.

2017-01-10  Bruno Haible  <bruno@clisp.org>

	Update DEPENDENCIES.
	* DEPENDENCIES: List only https URLs. Update recommended version for
	autoconf, automake, gperf.

2017-01-10  Jim Meyering  <meyering@fb.com>

	maint.mk: enforce spelling of "timestamp" (i.e., no space)
	* top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
	disallow /\btime\s+stamps?\b/.  Prefer "timestamp".

2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: minor simplification with emptyset
	* lib/dfa.c (build_state): Simplify by using emptyset.

2017-01-09  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: shrink constraints from 4 bits to 3
	* lib/dfa.c (newline_constraint, letter_constraint)
	(other_constraint, prev_newline_dependent)
	(prev_letter_dependent, NO_CONSTRAINT, BEGLINE_CONSTRAINT)
	(ENDLINE_CONSTRAINT, BEGWORD_CONSTRAINT, ENDWORD_CONSTRAINT)
	(LIMWORD_CONSTRAINT, NOTLIMWORD_CONSTRAINT):
	Constraints need only 3 bits, not 4.  Using smaller integers
	shrinks the code a bit and makes grep a tad faster on x86-64.

	dfa: omit unnecessary ptrdiff_t check
	* lib/dfa.c (alloc_position_set): Do not worry about ptrdiff_t
	overflow, since xnmalloc does that now.

	dfa: omit unnecessary allocation
	* lib/dfa.c (dfaanalyze): Do not allocate follow set, since
	an all-zero follow set works just fine.

	dfa: omit unused local
	* lib/dfa.c (build_state): Fix up recent change.

	maint: remove stray .texi files
	Although these were superseded by other files like
	doc/posix-functions/ctime.texi, the old files were not removed.
	* doc/ctime.texi, doc/inet_ntoa.texi: Remove.

2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>

	getprogname: fix port to IRIX
	* lib/getprogname.c (getprogname) [__sgi]:
	Don't dump core if malloc returns NULL.

	dfa: fix reallocation bug when matching newlines
	Problem reported for sed by S. Gilles (Bug#25390).
	* lib/dfa.c (realloc_trans_if_necessary): Move earlier.
	(dfastate): Reallocate before moving any newline transition ...
	(build_state): ... instead of reallocating here, where it is too late.

2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)

	Avoid -Wundef warning about undefined WINDOWS_SOCKETS.
	* lib/sockets.h: Test if WINDOWS_SOCKETS is defined.

2017-01-07  Tim Rühsen  <tim.ruehsen@gmx.de>  (tiny change)

	Avoid -Wundef warning about undefined __USE_FILE_OFFSET64.
	* lib/glob-libc.h: Test if __USE_FILE_OFFSET64 is defined.

2017-01-07  Bruno Haible  <bruno@clisp.org>

	stdioext: Port to Minix 3.2 and newer.
	* lib/stdio-impl.h: Treat __minix like the newest NetBSD.
	* lib/fseeko.c (fseeko): Likewise.
	Reported by Nelson Beebe via Paul Eggert.

2017-01-06  Paul Eggert  <eggert@cs.ucla.edu>

	getprogname: port to IRIX
	* lib/getprogname.c (getprogname): Port to IRIX.
	Based on an idea by Bastien Roucariès at:
	http://lists.gnu.org/r/bug-gnulib/2010-12/msg00096.html
	via code from Bruno Haible at:
	https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html

	localename-tests: port to NetBSD 7
	Problem reported by Nelson H. F. Beebe.
	* tests/test-localename.c:
	Test newlocale and uselocale only if both exist.

	glob, intprops, xalloc: work around Clang bug
	Work around LLVM bug 16404, which is still not fixed.
	https://llvm.org/bugs/show_bug.cgi?id=16404
	Problem reported by Nelson H. F. Beebe.
	* lib/glob.c, lib/intprops.h, lib/xalloc-oversized.h (__has_builtin):
	Remove.
	* lib/glob.c (size_add_wrapv):
	* lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW, _GL_HAS_BUILTIN_OVERFLOW_P):
	* lib/xalloc-oversized.h (xalloc_oversized):
	Do not use overflow builtins if Clang.

	dfa: fix 'return' typo
	Problem reported by Nelson H. F. Beebe.
	* lib/dfa.c (merge): Fix typo that Sun compilers rejected.

2017-01-05  Pádraig Brady  <P@draigBrady.com>

	parse-datetime: fix generated paths for coverage files
	* modules/parse-datetime: Adjust the paths for parse-datetime.y
	within parse-datetime.c, so that gcc generates appropriate .gcno
	files, allowing lcov to proceed without error.  Previously it
	would error trying to find "lib/lib/parse-datetime.y".

2017-01-05  Pádraig Brady  <P@draigBrady.com>

	maint.mk: support parallel execution of coverage
	* top/maint.mk (coverage): Run dependencies serially,
	thus supporting parallel processing of each one,
	particularly build-coverage, which builds and runs tests.

2017-01-05  Bruno Haible  <bruno@clisp.org>

	lock tests: Prefer semaphore over mutex.
	* tests/test-lock.c (USE_SEMAPHORE): New constant.
	(struct atomic_int, init_atomic_int, get_atomic_int_value,
	set_atomic_int_value) [USE_SEMAPHORE]: Define using a POSIX semaphore.
	Suggested by Torvald Riegel <triegel@redhat.com>.

2017-01-05  Bruno Haible  <bruno@clisp.org>

	lock: Provide guarantee to avoid writer starvation for rwlocks.
	The rationale is: 1) Read-preferring read-write locks are prone to
	writer starvation if the number of reader threads multiplied by the
	percentage of time they have the lock held is too high. 2) Write-
	preferring read-write locks are the only reliable way to avoid this.
	3) There have been reports of 'test-lock' hanging on glibc systems
	http://lists.gnu.org/r/bug-gnulib/2017-01/msg00009.html,
	and glibc indeed implements read-preferring rwlocks by default, see
	http://man7.org/linux/man-pages/man3/pthread_rwlockattr_setkind_np.3.html
	and https://sourceware.org/bugzilla/show_bug.cgi?id=13701 .
	* m4/pthread_rwlock_rdlock.m4: New file.
	* m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
	* lib/glthread/lock.h [USE_POSIX_THREADS]: Test
	HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
	of rwlock initialization on glibc systems without
	HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER. Use a different implementation
	of rwlocks altogether on non-glibc systems without
	HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
	[USE_PTH_THREADS]: Use a different implementation of rwlocks altogether.
	* lib/glthread/lock.c [USE_POSIX_THREADS]
	(glthread_rwlock_init_for_glibc): New function.
	[USE_POSIX_THREADS] (glthread_rwlock_rdlock_multithreaded): Update
	comment.
	[USE_PTH_THREADS]: New implementation of rwlocks.
	[USE_WINDOWS_THREADS] (glthread_rwlock_rdlock_func): Prefer writers over
	readers.
	* modules/lock (Files): Add m4/pthread_rwlock_rdlock.m4.
	(Depends-on): Add 'extensions'.
	* tests/test-rwlock1.c: New file.
	* lock-tests (Files): Add it.
	(Depends-on): Add usleep.
	(Makefile.am): Add test-rwlock1 to the tests.

2017-01-05  Bruno Haible  <bruno@clisp.org>

	thread: Fix pth port.
	* lib/glthread/thread.h (pth_init): Declare weak.
	(glthread_create, glthread_sigmask, glthread_join, gl_thread_self,
	gl_thread_exit): Make sure Pth is initialized before invoking any Pth
	function.

2017-01-04  Assaf Gordon  <assafgordon@gmail.com>

	parse-datetime: fix debug message on lone year number
	Input dates such as
	  date -d "Apr 11 22:59:00 2011"
	are parsed as date (Apr 11, with default year 2016), then time, then a
	number (2011). Based on the combination of previously seen tokens,
	'digits_to_date_time' determines 2011 to be a year value.
	This fixes the debug messages to correctly show the updated year.
	Before:
	    $ date --debug -d 'Apr 11 22:59:00 2011'
	    date: parsed date part: (Y-M-D) 2016-04-11
	    date: parsed time part: 22:59:00
	    date: parsed number part: today/this/now
	After:
	    $ ./src/date --debug -d 'Apr 11 22:59:00 2011'
	    date: parsed date part: (Y-M-D) 2016-04-11
	    date: parsed time part: 22:59:00
	    date: parsed number part: year: 2011
	* lib/parse-datetime.y (struct parser_control): Add 'year_seen',
	'debug_year_seen' member fields.
	(digits_to_date_time): Update 'year_seen' as needed.
	(debug_print_current_time): Inform about year updates.
	(parse_datetime2): Initialize year_seen,debug_year_seen member fields.

	parse-datetime: fix local timezone debug messages
	"Local timezones" are strings that affect only DST relative to the
	default timezone. The debug messages in parse-datetime.y printed
	wrong information when encountering local timezones.
	Examples:
	Here EET/EEST are time zones ('zone' token, with values +02:00/+03:00):
	     TZ=Asia/Tokyo ./src/date --debug -d '2011-12-11 EET'
	     TZ=Asia/Tokyo ./src/date --debug -d '2011-06-11 EEST'
	When the default timezone relates to the zone strings, EET/EEST are
	parsed as local timezones (tLOCAL_ZONE), and only change the DST
	value (0/1, respectively):
	     TZ=Europe/Helsinki ./src/date --debug -d '2011-12-11 EET'
	     TZ=Europe/Helsinki ./src/date --debug -d '2011-06-11 EEST'
	* lib/parse-datetime.y (debug_print_current_time): If local timezone
	was seen, inform about DST change, don't print actual timezone.
	(debug_strfdatetime): If local timezone was seen, use default timezone
	(and adjust as needed) instead of using incorrect timezone.
	(parse_datetime2): Use correct time-zone source string, and adjust
	default timezone as needed.

	parse-datetime: add debug warning about DST changes
	Incorrect date arithmetic due to daylight saving time (DST) are a
	common (false) bug report in coreutils.
	Detect two such cases and print a warning:
	1. year/month/day adjustments (performed on 'struct tm'),
	   where 'mktime' returns a different isdst value.
	2. hour/minute/seconds/ns adjustments (performed on 'time_t'),
	   where the result of 'localtime(3)' on the value will return a
	   different isdst value.
	Note: DST changes could be harmless or unnoticeable.
	Examples (with 'TZ=America/New_York'):
	Unnoticeable: result is 2016-Dec-14
	   $ date -d '2016-06-15 EDT + 6 months' +%b
	   Dec
	Unnoticeable: result is 2016-Dec-15 11:00:00
	   $ date -d '2016-06-15 12:00:00 EDT + 6 months' +%F
	   2016-12-15
	This is unexpected:
	   $ date -d '2016-06-01 EDT + 6 months' +%F
	   2016-11-30
	The new debug warnings will show:
	   $ ./src/date --debug -d '2016-06-01 EDT + 6 months' +%F
	   ...
	   date: warning: daylight saving time changed after date adjustment
	   ...
	* lib/parse-datetime.y (parse_datetime2): Detect DST changes, and
	print an appropriate warning message.

	parse-datetime: add debug warning about date arithmetic
	Date arithmetic are done directly on the fields of 'struct tm',
	which can result in invalid dates. Normalization with 'mktime(3)'
	will then produce a different date - which might cause unexpected
	results.
	Examples:
	  '2016-10-31 - 1 month' => 2016-09-31 normalized to 2016-10-01.
	  '2016-02-29 + 1 year'  => 2017-02-29 normalized to 2017-03-01.
	Note that date normalization is not inherently wrong and not rejected,
	as it has legitimate uses:
	  '2016-12-29 + 5 days' => 2016-12-34 noramlized to 2017-01-03.
	If the user asked to adjust months but 'mday' changed,
	or user asked to adjust years but 'month' changed - warn about it.
	    $ ./src/date --debug -d '2016-10-31 - 1 month'
	    ...
	    date: warning: when adding relative months/years, \
	                   it is recommended to specify the 15th of the month
	    ...
	    date: warning: month/year adjustment resulted in shifted dates:
	    date:      adjusted Y M D: 2016 09 31
	    date:    normalized Y M D: 2010 10 01
	    ...
	* lib/parse-datetime.y (parse_datetime2): Detect such cases and print
	a warning message. Improve recommendation of when to use 15 of the
	month or noon for date arithmetic.

	parse-datetime: fix debug message of relative part after timezone
	Relative part (e.g '+8 days') after a timezone string was not
	reported (was only reported after a timezone number). Due to the
	parser's structure, timezone strings with numbers were handled
	separately.
	before:
	     # Timezone number + relative part: OK
	     $ ./src/date --debug +%F -d '2013-10-30 00:00:00 +00:00 -8 days'
	     ...
	     date: parsed relative part: -8 day(s)
	     # Timezone string + relative part: missing
	     $ ./src/date --debug +%F -d '2013-10-30 00:00:00 UTC -8 days'
	     [ missing message ]
	After: messages are printed in both cases.
	* lib/parse-datetime.y ('zone' token): Call debug_print_relative_time.

	parse-datetime: fix incorrect debug message on lone number
	A lone number is an absolute value, not a relative time part.
	before:
	   $ date --debug -d '20130101'
	   date: parsed number part: today/this/now
	After:
	   $ ./src/date --debug -d '20130101'
	   date: parsed number part: (Y-M-D) 2013-01-01
	* lib/parse-datetime.y ('item'/'number' tokens): Call
	'debug_print_current_time' instead of 'debug_print_relative_time'.

2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>

	doc: modernize for C11 etc.
	* doc/gnulib-readme.texi (Portability guidelines): Modernize a bit
	for C11, MinGW, etc.  This responds to Paul Smith's question in:
	http://lists.gnu.org/r/bug-gnulib/2017-01/msg00014.html

	dfa: prefer functions to FETCH_WC macro
	* lib/dfa.c (FETCH_WC): Remove, replacing with ...
	(fetch_wc, bracket_fetch_wc): ... new functions.  These store the
	wint_t result into DFA->lex.wctok instead of to a separate arg.
	All callers changed.  Move more local decls closer to where
	they're used.

	dfa: narrow more local var scopes
	* lib/dfa.c: Move more local decls to be more local.

	dfa: remove duplicate assignment
	Problem reported by Bruno Haible in:
	http://lists.gnu.org/r/bug-gnulib/2017-01/msg00007.html
	* lib/dfa.c (parse_bracket_exp): Simplify.

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: simplify constraint-dependency checking
	* lib/dfa.c (prev_newline_constraint, prev_letter_constraint)
	(prev_other_constraint): Remove.
	(prev_newline_dependent, prev_letter_dependent):
	Simplify, to avoid an unnecessary bitwise AND operation.

	dfa: prefer functions and constants to macros
	* lib/dfa.c: Prefer constants to macros where either will do.
	(streq, isasciidigit, newline_constraint)
	(letter_constraint, other_constraint, succeeds_in_context)
	(prev_newline_constraint, prev_letter_constraint)
	(prev_other_constraint, prev_newline_dependent)
	(prev_letter_dependent, accepting, accepts_in_context):
	Now static functions instead of function-like macros.
	Use lower-case names accordingly.  All uses changed.

	dfa: narrow more local var scopes
	* lib/dfa.c: Move some more local decls down to nearer where
	they're needed.

2016-12-31  Jim Meyering  <meyering@fb.com>

	dfa: narrow the scope of many local variables
	* lib/dfa.c: Now that we are no longer constrained to c89, move
	declarations of many variables (often indices) "down" into the
	scope(s) where used or to the point of definition.  This is a
	no-semantic-change diff.

2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	version-etc: new year
	* build-aux/gendocs.sh (version):
	* doc/gendocs_template:
	* doc/gendocs_template_min:
	* doc/gnulib.texi:
	* lib/version-etc.c (COPYRIGHT_YEAR):
	Update copyright dates by hand in templates and the like.
	* all files: Run 'make update-copyright'.

2016-12-31  Eric Blake  <eblake@redhat.com>

	do-release-commit-and-tag: avoid shell syntax error
	* build-aux/do-release-commit-and-tag (curr_br): $branch can
	contain spaces when rebasing.

	maint.mk: hoist gnulib_dir definition earlier
	* top/maint.mk (gnulib_dir): Move near top of file.

2016-12-31  Jim Meyering  <meyering@fb.com>

	maint.mk: do not always evaluate intprops-related shell
	* top/maint.mk (_intprops_names): Change := to just "=" to avoid
	using gnulib_dir undefined (gnulib_dir is defined later in the
	file, which will be fixed separately), and besides, there is no
	need to incur the cost of this shell invocation for every single
	use of this .mk file.  Reported by Eric Blake in
	https://lists.gnu.org/r/bug-gnulib/2016-12/msg00137.html

2016-12-30  Jim Meyering  <meyering@fb.com>

	maint.mk: improve sc_prohibit_intprops_without_use
	* top/maint.mk (_intprops_names): Don't hard-code the list of
	symbol names.  Instead, derive it on the fly.

2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: shorten sbit, success
	* lib/dfa.c (struct regex_syntax.sbit):
	(struct dfa.success): Use char, not int, for array elements, since
	they are all in the range 0..7.

	dfa: simplify multibyte_prop etc.
	This follows up on a change made when dfa.c was in grep, namely grep
	commit c797046c7c13c2647182b919a79a4c5b4ecf82b1
	dated 2015-08-12 07:35:03 -0700, which removed unused multibyte support.
	That earlier simplification allows for some more simplification
	and trimming down here.
	* lib/dfa.c (struct mb_char_classes): New member nchars_alloc.
	(struct lexer_state): New mamber brack.
	(struct dfa, addtok_mb): multibyte_prop elements are now char, not int,
	since they must be in the range 0..3 now.
	Remove members mbcsets, nmbcsets, mbcsets_alloc, since
	the brack member now supersedes them.
	(parse_bracket_exp): Update dfa->lex.brack instead of dfa->mbcsets.
	(addtok): Use dfa->lex.brack instead of dfa->mbcsets.
	(dfaparse): Remove unnecessary initializations of already-0 storage.
	(free_mbdata): Free d->lex.brack.chars instead of d->mbcsets.
	(dfassbuild): No need to clear sup->mbcsets.

	dfa: minor performance tweak
	* lib/dfa.c (setbit_wc): Test < 0, not == EOF.

	dfa: wrap charclass inside a struct
	On my platform (gcc Ubuntu 5.4.0-6ubuntu1~16.04.4 x86-64,
	en_US.utf8 locale) this makes 'grep -Fi -f list.txt list.txt >out'
	about 5% faster, where list.txt is generated by 'aspell dump
	master | head -n 100000 >list.txt'.  See Bug#22239.
	* lib/dfa.c (charclass): Wrap inside a struct.  All uses changed.
	(CHARCLASS_INIT, tstbit, setbit, clrbit, zeroset, fillset, notset)
	(equal, emptyset, charclass_index, setbit_wc, setbit_case_fold_c):
	Adjust to this, e.g., by using charclass * rather than charclass.
	All callers changed as needed.
	(copyset): Remove.  All uses changed to simple assignment.
	(parse_bracket_exp): Use zeroset instead of memset.

2016-12-30  Jim Meyering  <meyering@fb.com>

	maint.mk: update list of intprops.h symbol names
	* top/maint.mk (_intprops_names): Regenerate the list of symbol names.
	This avoids a false failure of the sc_prohibit_intprops_without_use
	rule in grep.

2016-12-29  Eric Blake  <eblake@redhat.com>

	getopt: fix parallel test failure
	* tests/test-getopt-posix.c (TEST_GETOPT_TMP_NAME): Set name.
	* tests/test-getopt-gnu.c (TEST_GETOPT_TMP_NAME): Likewise.
	* tests/test-getopt-main.h (main): Use different file names
	in case test-getopt-gnu and test-getopt-posix run in parallel.

2016-12-29  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc: x2nrealloc check for ptrdiff_t overflow
	* lib/xalloc.h (x2nrealloc): Check for ptrdiff_t overflow, too.
	* modules/xalloc, modules/xvasprintf (Depends-on): Add stdint.

2016-12-24  Bruno Haible  <bruno@clisp.org>

	lock test: Fix performance problem on multi-core machines.
	* tests/test-lock.c (USE_VOLATILE): New macro.
	(struct atomic_int): New type.
	(init_atomic_int, get_atomic_int_value, set_atomic_int_value): New
	functions.
	(lock_checker_done, rwlock_checker_done, reclock_checker_done): Define
	as 'struct atomic_int'.
	(lock_checker_thread, test_lock, rwlock_checker_thread, test_rwlock,
	reclock_checker_thread, test_recursive_lock): Use the new functions.
	Reported by Eric Blake in
	https://www.redhat.com/archives/libvir-list/2012-March/msg00854.html
	and by Pádraig Brady in
	http://lists.gnu.org/r/bug-gnulib/2016-12/msg00117.html.

2016-12-19  Bruno Haible  <bruno@clisp.org>

	vma-iter: Fix endless loop on 64-bit Windows.
	* lib/vma-iter.c (vma_iterate): On Windows, use 'uintptr_t' instead of
	'unsigned long'.

2016-12-19  Bruno Haible  <bruno@clisp.org>

	stdint: Fix WINT_MAX to match the gnulib provided wint_t on minw.
	* m4/wint_t.m4 (gt_TYPE_WINT_T): Define GNULIB_OVERRIDES_WINT_T here.
	* m4/stdint.m4 (gl_STDINT_H): Don't define GNULIB_OVERRIDES_WINT_T.
	Invoke gt_TYPE_WINT_T instead.
	(gl_STDINT_TYPE_PROPERTIES): Test GNULIB_OVERRIDES_WINT_T.
	* modules/stdint (Files): Add m4/wint_t.m4.
	* modules/wchar (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
	* modules/wctype-h (Makefile.am): Likewise.
	* lib/wchar.in.h (wint_t): Override if GNULIB_OVERRIDES_WINT_T is set,
	not only on MSVC.
	* lib/wctype.in.h (wint_t): Likewise.

2016-12-19  Paul Eggert  <eggert@cs.ucla.edu>

	getopt-posix-tests: fix Makefile typo
	* modules/getopt-posix-tests (test_getopt_posix_LDADD):
	Fix typo: the last ‘_’ was missing in the name.
	I suspect that the typo explains this build failure:
	https://buildfarm.opencsw.org/buildbot/builders/ggrep-solaris10-sparc/builds/39
	although I can’t reproduce the problem on Solaris 10 sparc.

2016-12-18  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: improve worst-case 'replace' performance
	See my note in Bug#22357#71.
	* lib/dfa.c (insert, delete): Rework to avoid duplicate test.
	(merge_constrained): New function, which is like
	the old 'merge' function, except with a new argument C2.
	Simplify the body by avoiding the need for different sections
	of code depending on whether one input is exhausted.
	(merge): Use the new function.
	(delete): Return the constraint of the deleted position,
	not the entire position.  Caller changed.
	(replace): Change from O(N*(N + log N)) to O(N log N) algorithm.

2016-12-18  Norihiro Tanaka  <noritnk@kcn.ne.jp>

	dfa: performance improvement for removal of epsilon closure
	See Bug#22357#32.
	* lib/dfa.c (delete): Use binary search to find deleted index.
	(replace): New function.  It replaces a position with the followed set.
	(epsclosure): Replace it with a new algorithm.  Update caller.

2016-12-18  Bruno Haible  <bruno@clisp.org>

	Split tests for getopt-posix and getopt-gnu.
	* tests/test-getopt-posix.c: New file.
	* tests/test-getopt-gnu.c: New file, with code from test-getopt.c.
	* tests/test-getopt-main.h: Renamed from tests/test-getopt.c. Remove
	stuff moved to test-getopt-gnu.c. Test TEST_GETOPT_GNU instead of
	GNULIB_TEST_GETOPT_GNU.
	* modules/getopt-posix-tests (Files): Add test-getopt-posix.c,
	test-getopt-main.h. Remove test-getopt.c, test-getopt_long.h.
	(Makefile.am): Test test-getopt-posix instead of test-getopt.
	* modules/getopt-gnu-tests: New file.
	* modules/getopt-gnu (configure.ac): Don't define GNULIB_TEST_GETOPT_GNU.

2016-12-18  Bruno Haible  <bruno@clisp.org>

	posix-modules: Add options for specific platforms.
	* posix-modules (func_usage): Document options --for-mingw, --for-msvc.
	(exclude_for_mingw, exclude_for_msvc, exclude): New variables.
	Invoke func_tmpdir. Filter out the excludes.

2016-12-18  Bruno Haible  <bruno@clisp.org>

	getopt: Fix link error for users of getopt() in <unistd.h>.
	* lib/getopt.in.h (getopt etc.): Do the macro definitions also when
	__need_getopt is defined. Undefine all macros before defining them.
	* modules/getopt (Include): Clarify that including <unistd.h> is also
	OK.
	* tests/test-getopt.c: Add comment.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	getaddrinfo tests: Avoid compilation error on MSVC.
	* tests/test-getaddrinfo.c: Don't check the prototypes of freeaddrinfo,
	getaddrinfo on native Windows.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	getlogin, getlogin_r: Fix link errors on MSVC.
	* m4/getlogin.m4 (gl_LIB_GETLOGIN): New macro.
	* modules/getlogin (configure.ac): Require gl_LIB_GETLOGIN.
	(Link): New section.
	* modules/getlogin_r (Files): Add m4/getlogin.m4.
	(configure.ac): Require gl_LIB_GETLOGIN.
	(Link): New section.
	* NEWS: Mention the new link requirements.
	* modules/getlogin-tests (test_getlogin_LDADD): New variable.
	* modules/getlogin_r-tests (test_getlogin_r_LDADD): New variable.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	Un-deprecate the 'progname' module.
	* NEWS: Describe the appropriate use-cases of 'progname' versus
	'getprogname'. Based on discussion summary at
	http://lists.gnu.org/r/bug-gnulib/2016-10/msg00105.html

2016-12-17  Bruno Haible  <bruno@clisp.org>

	Reorganize NEWS a bit.
	* NEWS: Move some not so important changes away from section
	"Important Notes".

2016-12-17  Bruno Haible  <bruno@clisp.org>

	tanhf: Avoid redefinition error on MSVC.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANHF.
	* m4/tanhf.m4 (gl_FUNC_TANHF): Set REPLACE_TANHF to 1 if the function
	may be defined as an inline function.
	* modules/math (Makefile.am): Substitute REPLACE_TANHF.
	* lib/math.in.h (tanhf): Override if REPLACE_TANHF is 1.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	tanf: Avoid redefinition error on MSVC.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_TANF.
	* m4/tanf.m4 (gl_FUNC_TANF): Set REPLACE_TANF to 1 if the function
	may be defined as an inline function.
	* modules/math (Makefile.am): Substitute REPLACE_TANF.
	* lib/math.in.h (tanf): Override if REPLACE_TANF is 1.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	sqrtf: Avoid redefinition error on MSVC.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SQRTF.
	* m4/sqrtf.m4 (gl_FUNC_SQRTF): Set REPLACE_SQRTF to 1 if the function
	may be defined as an inline function.
	* modules/math (Makefile.am): Substitute REPLACE_SQRTF.
	* lib/math.in.h (sqrtf): Override if REPLACE_SQRTF is 1.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	sinhf: Avoid redefinition error on MSVC.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINHF.
	* m4/sinhf.m4 (gl_FUNC_SINHF): Set REPLACE_SINHF to 1 if the function
	may be defined as an inline function.
	* modules/math (Makefile.am): Substitute REPLACE_SINHF.
	* lib/math.in.h (sinhf): Override if REPLACE_SINHF is 1.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	sinf: Avoid redefinition error on MSVC.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_SINF.
	* m4/sinf.m4 (gl_FUNC_SINF): Set REPLACE_SINF to 1 if the function
	may be defined as an inline function.
	* modules/math (Makefile.am): Substitute REPLACE_SINF.
	* lib/math.in.h (sinf): Override if REPLACE_SINF is 1.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	logf: Avoid redefinition error on MSVC.
	* m4/logf.m4 (gl_FUNC_LOGF): Set REPLACE_LOGF to 1 if the function
	may be defined as an inline function.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	log10l: Avoid redefinition error on MSVC.
	* m4/log10l.m4 (gl_FUNC_LOG10L): Set REPLACE_LOG10L to 1 if the function
	may be defined as an inline function.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	log10f: Avoid redefinition error on MSVC.
	* m4/log10f.m4 (gl_FUNC_LOG10F): Set REPLACE_LOG10F to 1 if the function
	may be defined as an inline function.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	hypotl: Avoid redefinition error on MSVC.
	* m4/hypotl.m4 (gl_FUNC_HYPOTL): Set REPLACE_HYPOTL to 1 if the function
	may be defined as an inline function.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	hypotf: Avoid redefinition error on MSVC.
	* m4/hypotf.m4 (gl_FUNC_HYPOTF): Set REPLACE_HYPOTF to 1 if the function
	may be defined as an inline function.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	fmodl: Avoid redefinition error on MSVC.
	* m4/fmodl.m4 (gl_FUNC_FMODL): Set REPLACE_FMODL to 1 if the function
	may be defined as an inline function.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	fmodf: Avoid redefinition error on MSVC.
	* m4/fmodf.m4 (gl_FUNC_FMODF): Set REPLACE_FMODF to 1 if the function
	may be defined as an inline function.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	expf: Avoid redefinition error on MSVC.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_EXPF.
	* m4/expf.m4 (gl_FUNC_EXPF): Set REPLACE_EXPF to 1 if the function
	may be defined as an inline function.
	* modules/math (Makefile.am): Substitute REPLACE_EXPF.
	* lib/math.in.h (expf): Override if REPLACE_EXPF is 1.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	coshf: Avoid redefinition error on MSVC.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSHF.
	* m4/coshf.m4 (gl_FUNC_COSHF): Set REPLACE_COSHF to 1 if the function
	may be defined as an inline function.
	* modules/math (Makefile.am): Substitute REPLACE_COSHF.
	* lib/math.in.h (coshf): Override if REPLACE_COSHF is 1.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	cosf: Avoid redefinition error on MSVC.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_COSF.
	* m4/cosf.m4 (gl_FUNC_COSF): Set REPLACE_COSF to 1 if the function
	may be defined as an inline function.
	* modules/math (Makefile.am): Substitute REPLACE_COSF.
	* lib/math.in.h (cosf): Override if REPLACE_COSF is 1.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	atan2f: Avoid redefinition error on MSVC.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATAN2F.
	* m4/atan2f.m4 (gl_FUNC_ATAN2F): Set REPLACE_ATAN2F to 1 if the function
	may be defined as an inline function.
	* modules/math (Makefile.am): Substitute REPLACE_ATAN2F.
	* lib/math.in.h (atan2f): Override if REPLACE_ATAN2F is 1.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	atanf: Avoid redefinition error on MSVC.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ATANF.
	* m4/atanf.m4 (gl_FUNC_ATANF): Set REPLACE_ATANF to 1 if the function
	may be defined as an inline function.
	* modules/math (Makefile.am): Substitute REPLACE_ATANF.
	* lib/math.in.h (atanf): Override if REPLACE_ATANF is 1.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	asinf: Avoid redefinition error on MSVC.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ASINF.
	* m4/asinf.m4 (gl_FUNC_ASINF): Set REPLACE_ASINF to 1 if the function
	may be defined as an inline function.
	* modules/math (Makefile.am): Substitute REPLACE_ASINF.
	* lib/math.in.h (asinf): Override if REPLACE_ASINF is 1.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	acosf: Avoid redefinition error on MSVC.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Define REPLACE_ACOSF.
	* m4/acosf.m4 (gl_FUNC_ACOSF): Set REPLACE_ACOSF to 1 if the function
	may be defined as an inline function.
	* modules/math (Makefile.am): Substitute REPLACE_ACOSF.
	* lib/math.in.h (acosf): Override if REPLACE_ACOSF is 1.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	Avoid redefinition errors on MSVC.
	* m4/snprintf.m4 (gl_REPLACE_SNPRINTF): Set REPLACE_SNPRINTF to 1 if
	the function may be defined as an inline function.
	* m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): Set REPLACE_VSNPRINTF to 1 if
	the function may be defined as an inline function.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	Avoid redefinition errors on MSVC.
	* lib/stdio.in.h: Include <stdlib.h> and <io.h> when necessary.
	* lib/unistd.in.h: Include <stdio.h> when necessary.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	stdint: Fix WINT_MAX to match the gnulib provided wint_t on MSVC.
	* m4/stdint.m4 (gl_STDINT_H): Define GNULIB_OVERRIDES_WINT_T.
	* modules/stdint (Makefile.am): Substitute GNULIB_OVERRIDES_WINT_T.
	* lib/stdint.in.h [GNULIB_OVERRIDES_WINT_T]: Redefine WINT_MIN and
	WINT_MAX.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	Avoid autoconf warning.
	* modules/frexpl (configure.ac): Require, not invoke, gl_FUNC_FREXPL.
	* modules/frexp (configure.ac): Require, not invoke, gl_FUNC_FREXP.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	fpending: Revert workaround against Emacs bug.
	* lib/stdio-impl.h [__MINGW32__]: Revert conditional.
	The Emacs bug is fixed by Eli Zaretskii in
	http://lists.gnu.org/r/emacs-devel/2016-12/msg00715.html

2016-12-17  Bruno Haible  <bruno@clisp.org>

	getlogin_r tests: Port to mingw.
	* tests/test-getlogin_r.c: Don't include <pwd.h> on native Windows. Fixes
	regression introduced on 2014-05-19.

2016-12-17  Bruno Haible  <bruno@clisp.org>

	getlogin: Port to newer mingw.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_GETLOGIN.
	* m4/getlogin.m4 (gl_FUNC_GETLOGIN): Set HAVE_DECL_GETLOGIN.
	* modules/unistd (Makefile.am): Substitute HAVE_DECL_GETLOGIN, not
	HAVE_GETLOGIN.
	* lib/unistd.in.h (getlogin): Test HAVE_DECL_GETLOGIN, not
	HAVE_GETLOGIN.
	* doc/posix-functions/getlogin.texi: Mention the issue.
	* tests/test-getlogin.c: Don't include <pwd.h> on native Windows. Fixes
	regression introduced on 2014-05-14.

2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>

	builtin-expect: improve port to IBM XL C
	Problem reported for z/OS by Daniel Richard G. in:
	http://lists.gnu.org/r/bug-gnulib/2016-12/msg00079.html
	* m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
	Test for <builtins.h> directly.

	builtin-expect: port to IBM XL C
	Problem reported for z/OS by Daniel Richard G. in:
	http://lists.gnu.org/r/bug-gnulib/2016-12/msg00074.html
	* m4/builtin-expect.m4 (gl___BUILTIN_EXPECT):
	Also allow __builtin_expect defined via a standard include file.

	regex: fix dependency
	Problem reported by Bruno Haible in:
	http://lists.gnu.org/r/bug-gnulib/2016-12/msg00073.html
	* modules/regex: Depend on builtin-expect.

	builtin-expect: new module
	Fix fnmatch to use it.
	Problem reported for z/OS by Daniel Richard G.
	* lib/fnmatch.c (__builtin_expect):
	* lib/glob.c (__builtin_expect):
	* lib/grantpt.c (__builtin_expect) [!_LIBC]:
	* lib/memmem.c (__builtin_expect) [!_LIBC]:
	* lib/scandir.c (__builtin_expect):
	* lib/strstr.c (__builtin_expect) [!_LIBC]:
	Remove macro; config.h now does this.
	* lib/gl_anytreehash_list1.h (add_to_bucket):
	* lib/regex_internal.h (BE):
	Assume __builtin_expect.
	* m4/builtin-expect.m4, modules/builtin-expect: New files.
	* modules/avltreehash-list, modules/fnmatch, modules/glob:
	* modules/grantpt, modules/memmem-simple, modules/rbtreehash-list:
	* modules/scandir, modules/strstr-simple:
	Depend on builtin-expect.

2016-12-15  Bruno Haible  <bruno@clisp.org>

	init.sh: Add possibility to not delete temporary files.
	* tests/init.sh (remove_tmp_): If the environment variable KEEP is set
	to yes, don't erase the temporary directory.

2016-12-16  Paul Eggert  <eggert@cs.ucla.edu>

	regex: fix integer-overflow bug in never-used code
	Problem reported by Clément Pit–Claudel in:
	http://lists.gnu.org/r/emacs-devel/2016-12/msg00654.html
	* lib/regex_internal.h: Include intprops.h.
	* lib/regexec.c (re_search_2_stub): Use it to avoid undefined
	behavior on integer overflow.
	* modules/regex (Depends-on): Add intprops.

	fpending: fix port to MinGW on Emacs
	* lib/stdio-impl.h [__MINGW32__]: Do not include errno.h.
	Problem reported by Eli Zaretskii in:
	http://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
	Is Plan 9 still a valid porting target, anyway?

2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>

	safe-alloc: use xalloc-oversized
	* lib/safe-alloc.c: Include xalloc-oversized.h.
	(safe_alloc_oversized): Remove.  All uses changed to xalloc_oversized.
	* modules/safe-alloc (Depends-on): Add xalloc-oversized.

	xalloc: do not exceed PTRDIFF_MAX
	* lib/xmalloc.c (xcalloc) [HAVE_GNU_CALLOC]: Do not omit
	xalloc_oversized check, since objects larger than PTRDIFF_MAX
	bytes have pointer-subtraction problems.

	malloca: do not exceed PTRDIFF_MAX
	* lib/malloca.h: Include xalloc-oversized.
	(nmalloca): Use xalloc_oversized instead of rolling our own.
	* modules/malloca (Depends-on):
	* modules/relocatable-prog-wrapper (Depends-on):
	Add xalloc-oversized.

	quotearg: pacify GCC better
	* modules/quotearg (Depends-on): Add minmax, stdint.
	* lib/quotearg.c: Include minmax.h, stdint.h.
	(nslots): Now int, as there seems little point to going to extra
	work merely to support the INT_MAX slot, which nobody ever uses.
	(quotearg_n_options): Redo size-overflow checks to pacify GCC
	and to catch (mostly-theoretical) ptrdiff_t problems too.
	This can be done via one comparison.

2016-12-14  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc-oversized: check for PTRDIFF_MAX too
	This avoids undefined behavior when subtracting pointers to
	objects containing more than PTRDIFF_MAX bytes.
	* lib/xalloc-oversized.h (__xalloc_oversized, xalloc_oversized):
	Also return 1 if the result would exceed PTRDIFF_MAX>
	* modules/xalloc-oversized (Depends-on):
	Add stdint.

	dfa: fix glitches in previous commit
	Sorry, I don't know how I managed to commit the wrong version.
	* lib/dfa.c (MIN): Move up.
	(xpalloc): Now static.

	dfa: fix some unlikely integer overflows
	I found these while reviewing the recent Coverity-related fix.
	This patch changes part of dfa.c to prefer ptrdiff_t instead of
	size_t for object counts.  Using ptrdiff_t is the style typically
	used in Emacs; although it wastes a sign bit as sizes can never be
	negative, it makes -fsanitize=undefined more likely to catch
	integer overflows in index calculation, and nowadays the upside is
	typically more important than the downside.  Although perhaps the
	rest of dfa.c should be changed to prefer ptrdiff_t as well (much
	of dfa.c already does, since it uses state_num which is signed),
	that is a bigger change and is not needed to fix the bugs I found.
	* lib/dfa.c: Include stdint.h and intprops.h.
	(TOKEN_MAX): New macro.
	(position_set, struct mb_char_classes, struct dfa, maybe_realloc)
	(charclass_index, parse_bracket_exp, addtok, insert, merge)
	(realloc_trans_if_necessary, free_mbdata):
	Use ptrdiff_t instead of size_t for object counts related to xpalloc.
	This is safe because xpalloc checks that the sizes do not exceed
	either SIZE_MAX or PTRDIFF_MAX.
	(xpalloc): New function, mostly taken from Emacs.
	(maybe_realloc, copy, realloc_trans_if_necessary): Use it.
	(maybe_realloc): Add NITEMS_MAX to signature.  All callers changed.
	(charclass_index): Check for integer overflow in computing
	charclass index; it must not exceed TOKEN_MAX - CSET, as CSET is
	added to it later.
	(alloc_position_set): Check for integer overflow.  On typical
	platforms this check has zero overhead, since the constant
	expression is false.
	(realloc_trans_if_necessary):
	Remove assertion, which I hope Coverity no longer needs.

	* modules/dfa (Depends-on): Add intprops, stdint.

2016-12-12  Jim Meyering  <meyering@fb.com>

	dfa: add an assertion to avoid coverity false positive
	* lib/dfa.c (realloc_trans_if_necessary): Otherwise, coverity
	warned that "newalloc1 - 2" could overflow.

2016-12-13   Arnold D. Robbins  <arnold@skeeve.com>

	dfa: remove DFA_CASE_FOLD flag in favor of RE_ICASE
	* dfa.h (DFA_CASE_FOLD): Remove.
	* dfa.c (dfasyntax): Set dfa->syntax.case_fold based on RE_ICASE.

2016-12-13  John W. Eaton  <gnu@jweaton.org>

	link: fix test to declare use of rename()
	* m4/link.m4 (gl_FUNC_LINK): Include <stdio.h> needed with
	-Werror=implicit-function-declaration

2016-12-12  Bruno Haible  <bruno@clisp.org>

	fpending: Port to native Windows with MSVC.
	* lib/fpending.c: Include stdio-impl.h.
	(__fpending): Include all known implementations. Err out if it's not
	ported.
	* m4/fpending.m4 (gl_PREREQ_FPENDING): Remove macro.
	* modules/fpending (Files): Add lib/stdio-impl.h.
	(configure.ac): Don't invoke gl_PREREQ_FPENDING.

2016-12-12  Bruno Haible  <bruno@clisp.org>

	stdioext: Port to native Windows with MSVC.
	* lib/stdio-impl.h (WINDOWS_OPAQUE_FILE): New macro.
	(struct _gl_real_FILE): New type.
	(fp_, _IOREAD, _IOWRT, _IORW, _IOEOF, _IOERR): New macros, for native
	Windows.
	* lib/fbufmode.c (fbufmode): Add code for native Windows.
	* lib/fflush.c (clear_ungetc_buffer): Treat native Windows like the
	other SystemV derived implementations.
	* lib/fpurge.c (fpurge): Likewise.
	* lib/freadable.c (freadable): Likewise.
	* lib/freadahead.c (freadahead): Likewise.
	* lib/freading.c (freading): Likewise.
	* lib/freadptr.c (freadptr): Likewise.
	* lib/freadseek.c (freadptrinc): Likewise.
	* lib/fseeko.c (fseeko): Likewise.
	* lib/fseterr.c (fseterr): Likewise.
	* lib/fwritable.c (fwritable): Likewise.
	* lib/fwriting.c (fwriting): Likewise.
	Reported by Gisle Vanem <gvanem@yahoo.no>.

2016-12-11  Jim Meyering  <meyering@fb.com>

	non-recursive-gnulib-prefix-hack.m4: remove leading "(" in case stmt
	* m4/non-recursive-gnulib-prefix-hack.m4: That leading "(" happens
	to work with most shells, but not with the one provided by many
	Solaris 10 systems, so running configure with such a /bin/sh evokes
	e.g., "./configure: syntax error at line 33602: `(' unexpected".
	Reported by Assaf Gordon in
	https://lists.gnu.org/r/sed-devel/2016-12/msg00002.html

2016-12-10  Bruno Haible  <bruno@clisp.org>

	threadlib: Optimize out runtime test on Solaris >= 10.
	* m4/threadlib.m4 (gl_THREADLIB_BODY): Don't set
	PTHREAD_IN_USE_DETECTION_HARD if configuring on Solaris 10 or newer.
	Reported by Peter Felecan at <https://savannah.gnu.org/bugs/?32087>.

2016-12-10  Bruno Haible  <bruno@clisp.org>

	stdint: Update doc about Solaris 9.
	* doc/posix-headers/stdint.texi: Add info about Solaris 9.

2016-12-09  Bruno Haible  <bruno@clisp.org>

	c-ctype tests: Fix link error on Solaris 9.
	* modules/c-ctype-tests (Depends-on): Add 'isblank'.
	Reported at <https://savannah.gnu.org/bugs/?46827>.

2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: fix performance bug that recomputes trans
	* lib/dfa.c (build_state): Fix performance bug introduced in Nov
	25 on-demand changes.  The bug caused build_state to reset all
	d->trans elements to -2 even when d->trans was already non-null.
	Use C99 style decls after statements in this function.

	same-inode: port to MinGW
	Here st_ino is always 0, so change the definition of SAME_INODE so
	that 1 means the two files are the same, 0 with st_ino != 0 means
	they differ, and 0 with st_ino == 0 means we don’t know.  Problem
	reported by Bruno Haible (Bug#25146).
	* doc/posix-headers/sys_stat.texi (sys/stat.h): Update.
	* lib/same-inode.h (SAME_INODE): Return 0 on MinGW.

2016-12-04  Bruno Haible  <bruno@clisp.org>

	javacomp-script: Support Java 7 and 8.
	* m4/javacomp.m4 (gt_JAVACOMP): Accept source-version 1.7, 1.8 and
	target-version 1.7, 1.8.

2016-12-02  Daiki Ueno  <ueno@gnu.org>

	* gnulib-tool (func_import): Relax the regex used for "LGPLv3+ or
	GPLv2" rewriting.

2016-12-02  Nikos Mavrogiannopoulos  <nmav@gnutls.org>

	* gnulib-tool (func_import): Adhere to the license guideline when
	rewriting the license text to "LGPLv3+ or GPLv2":
	https://www.gnu.org/prep/maintain/maintain.html#Licensing-of-GNU-Packages

2016-12-02  Bruno Haible  <bruno@clisp.org>

	localcharset: Avoid theoretical buffer overrun.
	* lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
	return value from setlocale if it would lead to a buffer overrun.

2016-12-01  Bruno Haible  <bruno@clisp.org>

	Relicense some modules under LGPLv2+.
	Kevin Cernekee's approval is in
	http://lists.gnu.org/r/bug-gnulib/2016-11/msg00090.html.
	* modules/fseterr (License): Change to LGPLv2+.
	* modules/mbchar (License): Likewise.
	* modules/mbiter (License): Likewise.
	* modules/mbsnlen (License): Likewise.
	* modules/wcwidth (License): Likewise.

2016-12-01  KO Myung-Hun  <komh78@gmail.com>

	scandir: Fix _D_ALLOC_NAMLEN() on OS/2 kLIBC
	* lib/scandir.c (_D_ALLOC_NAMLEN): Consider the fields after d_name on
	OS/2 kLIBC.

2016-12-01  KO Myung-Hun  <komh78@gmail.com>

	alphasort, scandir: Port to OS/2 kLIBC
	* lib/alphasort.c (alphasort): Implement according to OS/2 kLIBC
	declaration.
	* lib/scandir.c (scandir): Add declaration for OS/2 kLIBC.

2016-12-01  KO Myung-Hun  <komh78@gmail.com>

	relocatable: Fix that /@unixroot prefix is not working on OS/2 kLIBC
	* lib/relocatable.c (relocate): Do not touch pathname if it is started
	with '/@unixroot'.

2016-12-01  KO Myung-Hun  <komh78@gmail.com>

	sys_socket: typedef sa_family_t correctly on OS/2 kLIBC
	* lib/sys_socket.in.h (sa_family_t): Typedef to unsigned char on
	OS/2 kLIBC unless TCPV40HDRS is defined.

2016-11-29  Jim Meyering  <meyering@fb.com>

	dfa: avoid new infinite loop
	This would infloop: echo cx | LC_ALL=C grep -E 'c\b[x ]'
	* lib/dfa.c (dfastate): When constructing a new state table, we could
	initially declare that we had found a match, and later find that
	constraints eliminate that possibility, yet continue to use the
	now stale "matched" indicator.  That would lead to an infinite loop.
	The solution is to update "matched" when necessary.
	Introduced by commit v0.1-983-g403adf1.

2016-11-27  Norihiro Tanaka  <noritnk@kcn.ne.jp>

	dfa: avoid match middle in multibyte character
	* lib/dfa.c (transit_state): If fails in matching single byte characters
	on a state including period expression in non-UTF8 multibyte locales,
	skip trailing bytes.
	(dfa_supported): Revert previous change.

2016-11-27  Jim Meyering  <meyering@fb.com>

	dfa: avoid false match in non-UTF8 multibyte locales
	* lib/dfa.c (dfa_supported): Treat any non-UTF8 multibyte locale
	as "not supported" so that callers will resort to using regex-based
	matcher.  This will surely hurt performance, but correctness trumps
	performance here, and the affected locales are less and less relevant,
	these days.  See grep's bug report https://bugs.gnu.org/24975.

2016-11-27  Mike Frysinger  <vapier@gentoo.org>

	ptsname_r: leverage AC_HEADER_MAJOR to provide major()
	* lib/ptsname_r.c: Include the appropriate headers.
	[__sun]: Delete sys/sysmacros.h include.
	[_AIX || __osf__]: Likewise.
	* m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Depend on AC_HEADER_MAJOR.

2016-11-27  Pádraig Brady  <P@draigBrady.com>

	md4,md5,sha*: allow _STRING_INLINE_unaligned enable unaligned operation
	* lib/md4.c (md4_process_bytes): The existing define is made internal
	in recent versions of glibc, so also use this new public define.
	* lib/md5.c (md5_process_bytes): Likewise.
	* lib/sha1.c (sha1_process_bytes): Likewise.
	* lib/sha256.c (sha256_process_bytes): Likewise.
	* lib/sha512.c (sha512_process_bytes): Likewise.

2016-11-27  Pádraig Brady  <P@draigBrady.com>

	maint: use a more standard return from mbrtowc test
	* m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): Don't return 1
	from the test program as this often indicates an
	unhandled case in the test program.
	(gl_MBRTOWC_INCOMPLETE_STATE): Likewise.
	(gl_MBRTOWC_SANITYCHECK): Likewise.
	(gl_MBRTOWC_NULL_ARG2): Likewise.
	(gl_MBRTOWC_NUL_RETVAL): Likewise.

2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>

	freopen: work around glibc bug with closed fd
	Work around glibc bug#15589, where freopen mishandles the case
	where stdin etc. are already closed.
	* doc/posix-functions/freopen.texi (freopen): Document the bug.
	* lib/freopen.c (_GL_ALREADY_INCLUDING_STDIO_H): Define this
	instead of __need_FILE, as the latter does not work with glibc.
	Include <fcntl.h>, for open flags.
	(rpl_freopen): Work around glibc bug.
	* m4/freopen.m4 (gl_FUNC_FREOPEN): Check for bug.
	* modules/freopen (Depends-on): Add fcntl-h.
	* tests/test-freopen.c (main): Test for bug.

2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>

	fnmatch: fix typo introduced on 2016-08-17
	This fixes the port to non-GCC compilers that lack __builtin_expect.
	* lib/fnmatch.c (__builtin_expect): Change A&&B to !A||B.

	dfa: simplify with new function fillset
	* lib/dfa.c (fillset): New function.
	Use it for clarity when applicable.

	dfa: fix glitches with on-demand states
	Also, adjust commentary to better match new code.
	Some of these glitches predate the recent change.
	* lib/dfa.c (dfaanalyze): Clear trcount here, so that it counts
	only non-initial states.
	(dfastate): Rename locals to better match new roles.
	Move them into nested scopes if this is easy.
	Omit unnecessary calls to zeroset.
	Simplify test for whether to throw in the positions of state 0.
	Omit C99-ism (decl after statement) since Gawk still wants C89.
	(build_state): Omit unnecessary test and assignment.
	Fix some confusion that counted transition tables inaccurately
	and could cause a memory leak.
	(dfaexec_main): Redo to make it clearer to the compiler that
	-1 and -2 are the only negative state numbers here.

2016-11-25  Norihiro Tanaka  <noritnk@kcn.ne.jp>

	dfa: addition of new state on demand
	* src/dfa.c (dfastate): Add argument UC, the current input character.
	Fill only a group including the character in transition table.
	(realloc_trans_if_necessary): Add the dummy state which means that a
	transition table is assigned but the next state is not assigned.
	(build_state): Return the next state.  All callers updated.
	(transit_state_singlebyte): If we get the dummy state,
	fill the transition table.
	(dfaexec_main): Handle the dummy state.
	(free_mbdata, dfafree): Consider the dummy state.

2016-11-24  Daiki Ueno  <ueno@gnu.org>

	srclist: sync with released gettext
	* config/srclist.txt: Set "release" option to the files under
	$GETTEXT.

2016-11-24  Daiki Ueno  <ueno@gnu.org>

	srclist: add "release" option
	* config/srclist.txt: Change the format so that the first column
	of each line points to the top-level directory of the source
	archive.
	* config/srclist-update: Accept "release" option that checks files
	from the most recently tagged revision in the source archive.

2016-11-21  Bruno Haible  <bruno@clisp.org>

	snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
	* build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
	(_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1,
	_GL_CXXALIAS_SYS, _GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2):
	Inline and remove member function 'rpl ()' of the wrapper struct.

2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: fix logic typo
	Problem reported by Stephane Chazelas (Bug#24973).
	* lib/dfa.c (using_simple_locale): Fix typo that caused some
	non-simple locales like fr_FR to be treated as simple.

2016-11-20  Jim Meyering  <meyering@fb.com>

	fix test driver leaks: exclude, malloc, realloc
	* tests/test-exclude.c (main): Fix trivial leak.
	* tests/test-malloc-gnu.c (main): Likewise.
	* tests/test-realloc-gnu.c (main): Likewise.
	With these changes, grep's tests are now leak free.
	I.e., running them with ASAN elicits no failure:
	  make CFLAGS='-O0 -ggdb3' AM_CFLAGS=-fsanitize=address \
	    AM_LDFLAGS='-fsanitize=address -static-libasan' check

2016-11-11  Bruno Haible  <bruno@clisp.org>

	libunistring: Relicense under dual "LGPLv3+ or GPLv2" license.
	* modules/libunistring: (License): Change from LGPL to
	"LGPLv3+ or GPLv2".
	* modules/libunistring-optional: Likewise.
	* modules/unicase/*: Likewise.
	* modules/uniconv/*: Likewise.
	* modules/unictype/*: Likewise.
	* modules/unigbrk/*: Likewise.
	* modules/unilbrk/*: Likewise.
	* modules/uniname/*: Likewise.
	* modules/uninorm/*: Likewise.
	* modules/unistdio/*: Likewise.
	* modules/unistr/*: Likewise.
	* modules/uniwbrk/*: Likewise.
	* modules/uniwidth/*: Likewise.

2016-11-12  Bruno Haible  <bruno@clisp.org>

	Relicense some modules under LGPLv2+.
	Paul Eggert's approval is in
	http://lists.gnu.org/r/bug-gnulib/2016-11/msg00037.html.
	Eric Blake's approval is in
	http://lists.gnu.org/r/bug-gnulib/2016-11/msg00042.html.
	Ludovic Courtès's approval is in
	http://lists.gnu.org/r/bug-gnulib/2016-11/msg00038.html.
	* modules/isnand-nolibm (License): Change to LGPLv2+.
	* modules/isnanf-nolibm (License): Likewise.
	* modules/isnanl-nolibm (License): Likewise.

2016-11-19  Bruno Haible  <bruno@clisp.org>

	Relicense some modules under LGPLv2+.
	lib/float+.h is already under LGPLv2+ since 2007-07-13, per
	modules/vasnprintf.
	Paolo Bonzini's approval for lib/frexp.c and lib/frexpl.c is in
	http://lists.gnu.org/r/bug-gnulib/2016-11/msg00074.html.
	All other significant changes to the files in lib/ of these modules
	are from me.
	* modules/memcmp2 (License): Change to LGPLv2+.
	* modules/amemxfrm (License): Likewise.
	* modules/fpieee (License): Likewise.
	* modules/fpucw (License): Likewise.
	* modules/frexp-nolibm (License): Likewise.
	* modules/frexpl-nolibm (License): Likewise.
	* modules/printf-frexp (License): Likewise.
	* modules/printf-frexpl (License): Likewise.
	* modules/printf-safe (License): Likewise.
	* modules/signbit (License): Likewise.

2016-11-17  Bruno Haible  <bruno@clisp.org>

	Enable Unicode decoder safety unconditionally.
	* lib/unistr.in.h (u32_mbtouc_unsafe): Assume CONFIG_UNICODE_SAFETY.
	* lib/unistr/u8-mblen.c (u8_mblen): Likewise.
	* lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
	* lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
	* lib/unistr/u8-prev.c (u8_prev): Likewise.
	* lib/unistr/u8-strmblen.c (u8_strmblen): Likewise.
	* lib/unistr/u8-strmbtouc.c (u8_strmbtouc): Likewise.
	* lib/unistr/u16-mblen.c (u16_mblen): Likewise.
	* lib/unistr/u16-mbtouc-unsafe.c (u16_mbtouc_unsafe): Likewise.
	* lib/unistr/u16-mbtouc-unsafe-aux.c (u16_mbtouc_unsafe_aux): Likewise.
	* lib/unistr/u16-prev.c (u16_prev): Likewise.
	* lib/unistr/u16-strmblen.c (u16_strmblen): Likewise.
	* lib/unistr/u16-strmbtouc.c (u16_strmbtouc): Likewise.
	* lib/unistr/u32-mblen.c (u32_mblen): Likewise.
	* lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Likewise.
	* lib/unistr/u32-prev.c (u32_prev): Likewise.
	* lib/unistr/u32-next.c (u32_next): Likewise.
	* lib/unistr/u32-strmblen.c (u32_strmblen): Likewise.
	* lib/unistr/u32-strmbtouc.c (u32_strmbtouc): Likewise.
	* lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
	* lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
	* tests/unistr/test-u16-prev.c (check_invalid): Enable the
	CONFIG_UNICODE_SAFETY tests unconditionally.
	* tests/unistr/test-u32-mblen.c (main): Likewise.
	* tests/unistr/test-u32-mbtouc.h (test_function): Likewise.
	* tests/unistr/test-u32-prev.c (check_invalid): Likewise.
	* tests/unistr/test-u32-next.c (main): Likewise.
	* tests/unistr/test-u32-strmblen.c (main): Likewise.
	* tests/unistr/test-u32-strmbtouc.c (main): Likewise.
	* tests/unistr/test-u32-mbtouc.c (FULL_SAFETY): Remove macro.
	* lib/unistr/u8-check.c (u8_check): Remove old dead code.
	* lib/unistr/u8-mbtouc.c (u8_mbtouc): Likewise.
	* lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
	* lib/unistr/u8-mbtoucr.c (u8_mbtoucr): Likewise.
	* lib/unistr/u8-uctomb.c (u8_uctomb): Likewise.
	* lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Likewise.
	* lib/unistr/u16-check.c (u16_check): Update comment.
	* NEWS: Mention the changes that callers should be aware of.

2016-11-19  Bruno Haible  <bruno@clisp.org>

	relocatable-prog-wrapper: Fix breakage on Cygwin.
	* modules/relocatable-prog-wrapper (Files): Add lib/stat.c, lib/lstat.c.
	(Depends-on): Remove intprops.
	* lib/relocwrapper.c: Update dependency tree.
	(strerror): Undefine.
	* build-aux/install-reloc (func_create_wrapper): Do not compile
	strerror.c and strerror-override.c. Erase stat.o and lstat.o.

2016-11-19  Bruno Haible  <bruno@clisp.org>

	strerror: Make it compile in C++ mode.
	* lib/strerror.c (strerror): Ignore the return value of memcpy().

2016-11-15  Pedro Alves  <palves@redhat.com>

	sys_time: add gnulib::timeval for C++
	* lib/sys_time.in.h [__cplusplus && defined GNULIB_NAMESPACE]:
	Define "timeval" in the GNULIB_NAMESPACE namespace, and #undef any
	timeval macro.

2016-11-14  Pedro Alves  <palves@redhat.com>

	snippet/c++defs: fix real-floating arg functions in C++ mode
	Also, define isfinite, isinf, isnan, signbit in the gnulib
	namespace instead of in the global namespace.
	* build-aux/snippet/c++defs.h (_GL_BEGIN_NAMESPACE)
	(_GL_END_NAMESPACE): New.
	* lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_2): Use them.
	(isfinite, isinf, isnan, signbit) [__cplusplus &&
	GNULIB_NAMESPACE]: Define them in the GNULIB_NAMESPACE namespace
	instead of in the global namespace.
	* tests/test-math-c++.cc: Check that the isfinite, isinf, isnan,
	signbit overloads exist in the GNULIB_NAMESPACE namespace, instead
	of in the global namespace.

2016-11-13  Jim Meyering  <meyering@fb.com>

	strftime: don't use __THROW
	Each use of __THROW would provoke this from gcc-7-to-be:

	  lib/strftime.c:371:1: warning: '__leaf__' attribute has no effect \
	    on unit local functions [-Wattributes]
	  static int iso_week_days (int, int) __THROW;
	  ^~~~~~
	* lib/strftime.c (__THROW): Don't define.
	Remove each use of __THROW.
	* lib/strftime.c (memcpy_lowcase, memcpy_uppcase): Remove __THROW.
	(tm_diff, iso_week_days, __strftime_internal): Likewise.

2016-11-14  Paul Eggert  <eggert@union>

	obstack: port to gcc -fcheck-pointer-bounds
	Problem found by 'make check' failure on bleeding-edge coreutils
	on an MPX-enabled CPU (Intel Core i3-7100U) running GCC (Ubuntu
	6.2.0-5ubuntu12), configured via "./configure
	--enable-gcc-warnings CFLAGS='-mmpx -fcheck-pointer-bounds -g3
	-O2' LDFLAGS='-static-libmpx -static-libmpxwrappers'".
	* lib/obstack.h (__FLEXIBLE_ARRAY_MEMBER):
	New macro, copied from fts_.h.
	(struct _obstack_chunk.contents): Use it.

2016-11-14  Eric Blake  <eblake@redhat.com>

	strerror_r-posix: Another fix, for HAVE_DECL_STRERROR_R on mingw.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R, gl_FUNC_STRERROR_R_WORKS):
	Avoid _ONCE variants, which may supply a conflicting AC_DEFINE().

2016-11-14  Pádraig Brady  <P@draigBrady.com>

	strptime: fix compile error in recent change
	* lib/strptime.c (__strptime_internal): Fix ported code.

2016-11-11  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license.
	* gnulib-tool (--lgpl): Accept value 3orGPLv2.
	(func_import): Extend determination of license_incompatibilities.
	(func_create_testdir): Extend table of license compatibility. Handle
	also the licenses GPLv3+, GPL, LGPLv3+.

2016-11-12  Paul Eggert  <eggert@cs.ucla.edu>

	strftime: tune %q
	* lib/strftime.c (__strftime_internal): Assume tp->tm_mon is in range.

	Merge strftime.c changes from glibc
	This incorporates:
	2007-10-16 [BZ #5184] Add tzset_called argument
	2008-06-13 [BZ #6612] pass reference to tzset_called around
	2009-10-30 Implement Burmese language locale for Myanmar
	2010-01-09 Add support for XPG7 testing
	2015-09-26 [BZ #18985] out of range data to strftime() causes a segfault
	2015-10-20 Convert miscellaneous function definitions to prototype style
	* lib/strftime.c: Copy glibc license, since gnulib-tool rewrites
	it anyway and this lessens the difference between gnulib and glibc.
	(USE_IN_EXTENDED_LOCALE_MODEL) [_LIBC]: Define.
	(__THROW): Define if standard headers do not.
	(LOCALE_PARAM): Rename from LOCALE_PARAM_PROTO.  All uses changed.
	(memcpy_locase, memcpy_uppcase, tm_diff, __strftime_internal):
	Declare with __THROW.
	(__strftime_internal): Rename from strftime_case_. Add arg for
	whether tzset is called.  All uses changed.  Call tzset at most
	once.  Allow %OC, for Burmese.
	(a_wkday, f_wkday, a_month, f_month) [_NL_CURRENT]:
	Don't assume values are in range.

2016-11-12  Eric Blake  <eblake@redhat.com>

	strerror_r-posix: Fix override of AC_FUNC_STRERROR_R
	* m4/strerror_r.m4 (AC_FUNC_STRERROR_R): New override.
	(gl_FUNC_STRERROR_R): Don't reuse AC_DEFINE() with a potentially
	different value.

2006-11-12  Pedro Alves  <palves@redhat.com>

	Fix gnulib C++ namespace support and std::frexp
	* lib/math.in.h (frexp): Use _GL_CXXALIASWARN1 instead of
	_GL_CXXALIASWARN.

2006-11-12  Pedro Alves  <palves@redhat.com>

	GNULIB_NAMESPACE::func need not pull in rpl_func
	* build-aux/snippet/c++defs.h [__cplusplus && GNULIB_NAMESPACE]
	(_GL_CXXALIAS_RPL_1, _GL_CXXALIAS_RPL_CAST_1, _GL_CXXALIAS_SYS)
	(_GL_CXXALIAS_SYS_CAST, _GL_CXXALIAS_SYS_CAST2): Define a wrapper
	struct instead of a function pointer.

2016-11-09  Frediano Ziglio  <fziglio@redhat.com>

	manywarnings: fix -Wno-missing-field-initializers detection
	* m4/manywarnings.m4: Fix -Wno-missing-field-initializers detection
	to be independent of -Wunused-variable.  I.E. ensure the latter
	warning doesn't occur so that detection of the former is accurate.

2016-11-05  Pádraig Brady  <pbrady@fb.com>

	strftime,strptime: support %q to represent the quarter
	* lib/strftime.c (strftime_case_): Add %q case.
	* lib/strptime.c (__strptime_internal): Likewise.
	* tests/test-strftime.c (quarter_test): A new test case.

2016-11-03  Eric Blake  <eblake@redhat.com>

	bootstrap: Fix get_version() for AIX 5.3
	* build-aux/bootstrap (get_version): Factor out sed script, since
	indented comments choke AIX 5.3 sed.
	Reported-by: Michael Felt <aixtools@gmail.com>

2016-11-03  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: port to older XL C
	Problem reported by Alexander Samoilov in:
	http://lists.gnu.org/r/bug-gnulib/2016-10/msg00166.html
	http://savannah.nongnu.org/bugs/?49448
	* lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM__TYPEOF__]:
	Define to 1 only for XL C 12.1 or later, since this bug
	occurs in XL C for AIX 6.0 but not in 12.1.

2016-11-02  Pádraig Brady  <P@draigBrady.com>

	backupfile: initialize default suffix within the implementation
	* lib/backupfile.c (find_backup_file_name): Initialize the
	global variable here, to simplify usage, and to only call
	getenv() when needed.

2016-11-01  Paul Eggert  <eggert@cs.ucla.edu>

	futimens: remove FIXME for old Linux kernels
	* m4/futimens.m4 (gl_FUNC_FUTIMENS): Belatedy do a "simplify
	this in 2012" FIXME, like that for utimensat.

	utimensat: remove FIXME for old Linux kernels
	* lib/utimensat.c (rpl_utimensat): Update FIXME comment.
	* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Belatedy do a "simplify
	this in 2012" FIXME, by assuming the file system bug is absent
	unless demonstrated to be present.  We no longer need to worry
	about Linux kernel 2.6.32 when building with newer kernels.

2016-10-16  Bruno Haible  <bruno@clisp.org>

	qsort_r: Fix macrology for platforms that lack the function.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Check for qsort_r.
	(gl_STDLIB_H_DEFAULTS): Initialize HAVE_QSORT_R.
	* modules/stdlib (Makefile.am): Substitute HAVE_QSORT_R.
	* lib/stdlib.in.h (qsort_r): Provide declaration if the function does
	not exist.
	* m4/qsort_r.m4 (gl_FUNC_QSORT_R): Use AC_CHECK_FUNCS to test whether
	the function exists.
	* modules/qsort_r: Add comments.

2016-10-26  Paul Eggert  <eggert@cs.ucla.edu>

	sys_types: fix Texinfo typos
	* doc/glibc-functions/gnu_dev_major.texi:
	* doc/glibc-functions/gnu_dev_makedev.texi:
	* doc/glibc-functions/gnu_dev_minor.texi: Fix typos.

2016-10-26  John David Anglin  <dave.anglin@bell.net>

	getprogname: port to HP-UX
	See Bug#24805.
	* lib/getprogname.c (getprogname) [__hpux]: Port.
	* tests/test-getprogname.c (STREQ) [__hpux]:
	Special-case for HP-UX limitations on program name length.

2016-10-20  Bruno Haible  <bruno@clisp.org>

	Update doc about target platforms.
	* doc/gnulib-intro.texi (Target Platforms): Update list.

2016-10-15  Bruno Haible  <bruno@clisp.org>

	opendir, readdir, closedir: Relicense under LGPLv2+.
	* modules/opendir (License): Change to LGPLv2+.
	* modules/readdir (License): Likewise.
	* modules/closedir (License): Likewise.

2016-10-16  Bruno Haible  <bruno@clisp.org>

	Fix conflict between strerror_r-posix module and AC_FUNC_STRERROR_R.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Override the values set by the
	AC_FUNC_STRERROR_R macro. Define HAVE_DECL_STRERROR_R_ORIG.
	* lib/strerror_r.c: Use HAVE_DECL_STRERROR_R_ORIG instead of
	HAVE_DECL_STRERROR_R.

2016-10-16  Bruno Haible  <bruno@clisp.org>

	Make the 'argp' module work without the 'error' module.
	* m4/argp.m4 (gl_ARGP): Require AC_FUNC_STRERROR_R.

2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>

	diffseq: restore TOO_EXPENSIVE heuristic
	* lib/diffseq.h: Problem with diffutils reported by Andreas Schwab
	(Bug#24715).  The simplest solution is to restore the
	TOO_EXPENSIVE heuristic that I added to GNU diff in 1993, while
	using a higher threshold to avoid Bug#16848 on smaller files.
	* lib/diffseq.h (struct context): Restore member too_expensive.
	(struct partition): Restore members lo_minimal, hi_minimal.
	(diag, compareseq): Restore arg find_minimal.  All uses changed.
	(diag): Restore the TOO_EXPENSIVE heuristic that I added back in
	1993 to make 'diff' run faster (but not as well) on large inputs,
	but use a threshold of 4096 instead of the old 256.
	* lib/fstrcmp.c (strcmp_bounded):
	* lib/git-merge-changelog.c (compute_differences):
	Adjust to diffseq.h changes.

2016-10-22  Bruno Haible  <bruno@clisp.org>

	iconv: Avoid compilation error when bootstrapping GNU libiconv.
	* m4/iconv.m4 (AM_ICONV): When the system does not have an iconv()
	declaration yet, define ICONV_CONST to empty.

2016-10-15  Bruno Haible  <bruno@clisp.org>

	Avoid gnulib-tool warnings about the dependencies of 'parse-datetime'.
	* gnulib-tool (func_get_license): Special-case the 'parse-datetime'
	module.

2016-10-16  Bruno Haible  <bruno@clisp.org>

	system-quote tests: Avoid compiler warning on AIX.
	* tests/test-system-quote-child.c (fopen): Redefine like the system's
	<stdio.h> does.

2016-10-16  Bruno Haible  <bruno@clisp.org>

	Fix some "gcc -Wall" warnings.
	* tests/test-ffsl.c (main): Use variable x, not i.
	* tests/test-posix_spawn3.c (parent_main): Consider the return value of
	freopen.
	* tests/test-sethostname1.c (main): Explicitly ignore the return value
	of sethostname.

2016-10-16  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Make --create-testdir on all modules work again.
	* gnulib-tool (func_create_testdir): Don't include the
	non-recursive-gnulib-prefix-hack module.

2016-10-21  Daiki Ueno  <ueno@gnu.org>

	libunistring: change the maintainer to 'all'
	* modules/gen-uni-tables, modules/libunistring:
	* modules/ucs4-utf16, modules/ucs4-utf8, modules/unicodeio:
	* modules/unitypes, modules/utf16-ucs4, modules/utf16-ucs4-unsafe:
	* modules/utf8-ucs4, modules/utf8-ucs4-unsafe:
	* modules/unicase/*, modules/uniconv/*, modules/unictype/*:
	* modules/unilbrk/*, modules/uniname/*, modules/uninorm/*:
	* modules/unistdio/*, modules/unistr/*, modules/uniwbrk/*:
	* modules/uniwidth/*: Change the maintainer to 'all'.

2016-10-16  Bruno Haible  <bruno@clisp.org>

	Simplify "configure: checking ..." messages.
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use AC_MSG_CHECKING instead of
	AC_MSG_NOTICE.
	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.

2016-10-20  Paul Eggert  <eggert@cs.ucla.edu>

	quotearg-tests: pacify gcc -Wall
	Problem reported by Bruno Haible in:
	http://lists.gnu.org/r/bug-gnulib/2016-10/msg00066.html
	* tests/test-quotearg-simple.c (use_quote_double_quotes): Move here ...
	* tests/test-quotearg.h: ... from here.

2016-10-20  Pádraig Brady  <P@draigBrady.com>

	canonicalize-lgpl: fix for missing SIZE_MAX on older systems
	* lib/canonicalize-lgpl.c [SIZE_MAX]: Define if needed.
	Needed on Centos <= 4.

2016-10-20  Jim Meyering  <meyering@fb.com>

	printf.m4: fix a bug in detecting printf %j support
	* m4/printf.m4 (gl_PRINTF_SIZES_C99): Fail any system for which
	uintmax_t is defined in neither stdint.h nor inttypes.h.
	Before, this macro might have mistakenly set
	gl_cv_func_printf_sizes_c99=yes on such a system.
	Spotted by Zev Weiss.

2016-10-19  Paul Eggert  <eggert@cs.ucla.edu>

	sched: substitute HAVE_SYS_CDEFS_H too
	Problem reported by Tom G. Christensen in:
	http://lists.gnu.org/r/bug-gnulib/2016-10/msg00084.html
	* m4/sched_h.m4 (gl_SCHED_H): Set and substitute HAVE_SYS_CDEFS_H.
	* modules/sched (Depends-on): Substitute HAVE_SYS_CDEFS_H.

2016-10-19  Pádraig Brady  <P@draigBrady.com>

	quotearg: never write beyond the returned length
	* lib/quotearg.c (quotearg_buffer_restyled): Switch to a read-only
	scan of the string when we initially encounter a single quote when
	shell quoting, so that if we then switch to a more concise quoting method
	we will not have written beyond that returned length.
	This is significant for sh-quote, which has separate routines
	to determine the length and do the actual quoting.
	* tests/test-quotearg.h: Reinstate the buffer bounds checking
	now that we never write more than the returned length.

2016-10-18  Bruno Haible  <bruno@clisp.org>

	getprogname tests: Avoid failure in packages that use libtool.
	* tests/test-getprogname.c (main): Strip "lt-" prefix.
	Based on a patch by Jim Meyering.

2016-10-16  Bruno Haible  <bruno@clisp.org>

	getprogname: Fix test failure on Cygwin. Comments.
	* lib/getprogname.h: Add comments.
	* lib/getprogname.c: Add comments. Fix #elif indentation.
	* tests/test-getprogname.c (main): On Cygwin, expect a result without
	".exe" suffix.

2016-10-16  Bruno Haible  <bruno@clisp.org>

	Make sure the libunistring detection rejects older versions with a
	known bug.
	* modules/unistr/u8-strtok (configure.ac): Bump required version.
	* modules/unistr/u16-strtok (configure.ac): Likewise.
	* modules/unistr/u32-strtok (configure.ac): Likewise.

2016-10-18  Bruno Haible  <bruno@clisp.org>

	sh-quote, system-quote: revert regression of unit test.
	* tests/test-sh-quote.c (check_one): Do detect buffer overruns.
	* tests/test-system-quote-main.c (check_one): Likewise.

2016-10-16  Pádraig Brady  <P@draigBrady.com>

	quotearg: fix stale tests
	* tests/test-quotearg.c [locale_results]: Add the missing str7
	entries to the expected results.
	* tests/test-system-quote-main.c (check_one): Don't enforce that we
	don't write beyond the returned length, since that's no longer the
	case if we switch to a more concise quoting style.
	* tests/test-sh-quote.c (check_one): Likewise.
	(main): Adjust for the new more concise quoting style.
	Reported by Bruno Haible.

2016-10-16  Jim Meyering  <meyering@fb.com>

	non-recursive-gnulib-prefix-hack: fix inconsequential typo
	* m4/non-recursive-gnulib-prefix-hack.m4: Change a hard-coded "lib"
	to "$1".  This macro is always invoked with $1 == lib.
	Spotted by Bruno Haible

2016-10-16  Bruno Haible  <bruno@clisp.org>

	Fix a test crash.
	* tests/test-duplocale.c (main): Skip the test if the 'newlocale' call
	fails.

2016-10-16  Pádraig Brady  <P@draigBrady.com>

	test-limits-h: suppress -Woverlength-strings
	* tests/test-limits-h.c [__GNUC__]: Ignore -Woverlength-strings.

2016-10-15  Bruno Haible  <bruno@clisp.org>

	gettime, timespec, utimens: Relicense under LGPL.
	* modules/gettime (License): Change to LGPL.
	* modules/timespec (License): Likewise.
	* modules/utimens (License): Likewise.

2016-10-14  Bruno Haible  <bruno@clisp.org>
            Pádraig Brady  <P@draigBrady.com>

	canonicalize-lgpl: Support the case path_max > INT_MAX.
	* lib/canonicalize-lgpl.c (__realpath): Declare n as ssize_t, not int.
	Fix overflow check, for platforms where 'size_t' is larger than 'long'.

2016-10-13  Jim Meyering  <meyering@fb.com>

	getprogname: IBM z/OS: avoid NULL-dereference
	* lib/getprogname.c (getprogname) [__MVS__]: Don't dereference NULL
	upon strdup failure.

2016-10-12  Jim Meyering  <meyering@fb.com>

	test-stdint: use _GL_VERIFY rather than "verify" for some tests
	* tests/test-stdint.c (verify_width): Implement with _GL_VERIFY
	and an abbreviated diagnostic rather than verify with the full one,
	because the full-length strings would evoke warnings from gcc with
	-Woverlength-strings.

2016-10-13  Paul Eggert  <eggert@cs.ucla.edu>

	stdint: port SIZE_MAX to glibc s390
	Problem reported by Eric Blake in:
	http://lists.gnu.org/r/bug-gnulib/2016-10/msg00031.html
	* doc/posix-headers/stdint.texi (stdint.h): Document the fix.
	* m4/stdint.m4 (gl_STDINT_H): Check that SIZE_MAX has the
	correct type, if possible.

2016-10-13  Daniel Richard G.  <skunk@iSKUNK.ORG>

	getprogname: port to IBM z/OS
	* lib/getprogname.c (getprogname): Use w_getpsent() to get the name.

2016-10-11  Jim Meyering  <meyering@fb.com>

	maint: remove stray space after "." in AC_DEFINE comment.
	* m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Remove space-after-".".
	* m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.

2016-10-05  Jim Meyering  <meyering@fb.com>

	long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
	* lib/long-options.c (parse_long_options): Add a break statement
	to avoid this new warning/failure:
	$ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
	  --create-testdir --dir=/t/x --with-tests --test long-options
	../../gllib/long-options.c: In function 'parse_long_options':
	../../gllib/long-options.c:66:12: error: this statement may \
	  fall through [-Werror=implicit-fallthrough]
	           (*usage_func) (EXIT_SUCCESS);
	           ~^~~~~~~~~~~~~~~~~~~~~~~~~~~

2016-10-05  Jim Meyering  <meyering@fb.com>

	utimecmp: avoid new GCC 7 warning from -Wbool-operation
	Testing this module would fail when using GCC 7 like this:
	$ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
	  --dir=/tmp/x --with-tests --test utimecmp
	../../gllib/utimecmp.c: In function ‘utimecmp’:
	../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
	  [-Werror=bool-operation]
	                 time_t s = src_s & ~ (res == 2 * BILLION);
	                                    ^
	../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
	  [-Werror=bool-operation]
	       src_s &= ~ (res == 2 * BILLION);
	                ^
	* lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
	Instead, make it explicit that we intend to apply it to 0 or 1.

2016-10-10  Norihiro Tanaka  <noritnk@kcn.ne.jp>

	dfa: save memory for states
	* src/dfa (dfaexec_main): Beginning of dfa execution, release caches of
	states if dfa has a lot of caches.

2016-10-10  Eli Zaretskii  <eliz@gnu.org>

	wchar, wctype-h: fix for MinGW 3.22.2
	* lib/wchar.in.h [__MINGW32__]: Add one more condition for
	special invocation, to fix issues with MinGW 3.22.2 wchar.h
	when included from <string.h>.
	* lib/wctype.in.h [__MINGW32__]: Add special invocation
	convention for MinGW 3.22.2, to solve issues with their
	wctype.h when included from <ctype.h>.

2016-10-05  Jim Meyering  <meyering@fb.com>

	long-options: avoid new GCC 7 warning from -Wimplicit-fallthrough
	* lib/long-options.c (parse_long_options): Add a break statement
	to avoid this new warning/failure:
	$ CFLAGS='-O -Werror=implicit-fallthrough' ./gnulib-tool \
	  --create-testdir --dir=/t/x --with-tests --test long-options
	../../gllib/long-options.c: In function ‘parse_long_options’:
	../../gllib/long-options.c:66:12: error: this statement may \
	  fall through [-Werror=implicit-fallthrough]
	           (*usage_func) (EXIT_SUCCESS);
	           ~^~~~~~~~~~~~~~~~~~~~~~~~~~~

	utimecmp: avoid new GCC 7 warning from -Wbool-operation
	Testing this module would fail when using GCC 7 like this:
	$ CFLAGS='-O -Werror=bool-operation' ./gnulib-tool --create-testdir \
	  --dir=/tmp/x --with-tests --test utimecmp
	../../gllib/utimecmp.c: In function ‘utimecmp’:
	../../gllib/utimecmp.c:291:36: error: ‘~’ on a boolean expression \
	  [-Werror=bool-operation]
	                 time_t s = src_s & ~ (res == 2 * BILLION);
	                                    ^
	../../gllib/utimecmp.c:370:16: error: ‘~’ on a boolean expression \
	  [-Werror=bool-operation]
	       src_s &= ~ (res == 2 * BILLION);
	                ^
	* lib/utimecmp.c (utimecmp): Do not apply "~" to a boolean.
	Instead, make it explicit that we intend to apply it to 0 or 1.

2016-10-03  Pádraig Brady  <P@draigBrady.com>

	quotearg: minimize shell quoting using double quotes
	* lib/quotearg.c (quotearg_buffer_restyled): If an ASCII single
	quote in encountered then use double quotes (c style quoting)
	when possible, as it simplifies the quoting.
	* tests/test-quotearg-simple.c: Add test cases.
	* tests/test-quotearg.h (use_quotearg_buffer): Adjust to account
	for the fact we now may write beyond the returned length.

2016-10-02  Jim Meyering  <meyering@fb.com>

	vasnprintf.c: avoid spurious warning from GCC 7
	The presence of cpp directives renders this "FALLTHROUGH" comment
	ineffective, so does not suppress the -Wimplicit-fallthrough warning
	from GCC 7 built from git on 2016-10-02.
	* lib/vasnprintf.c (VASNPRINTF): Move comment down past two cpp
	directives, so that it takes effect once again.  This is clearly
	not a proper change, and I will revert it once this bug is fixed:
	https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817

2016-10-01  Jim Meyering  <meyering@fb.com>

	getprogname: correct the test for a __progname variable
	* m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Use AC_CACHE_CHECK
	and AC_LINK_IFELSE to check for a global __progname.  If found,
	define HAVE_VAR___PROGNAME.
	* lib/getprogname.c (getprogname): Reflect the new name of the
	feature- checked preprocessor symbol:
	s/HAVE_DECL___PROGNAME/HAVE_VAR___PROGNAME/

2016-09-28  Jim Meyering  <meyering@fb.com>

	u8-uctomb-aux.c: build: placate GCC 7's new -Wimplicit-fallthrough
	* lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Mark each end of
	fall-through case with a /* fallthrough */ comment.

	dfa: build: avoid warning from GCC 7's new -Wimplicit-fallthrough
	* lib/dfa.c (dfassbuild): Mark the end of this case with a
	/* fallthrough */ comment.

	getprogname: avoid __progname vs program_invocation_short_name pitfall
	I.e., don't let the OpenBSD 5.1 fix induce failure when using newer
	glibc.  Would have caused failure with Fedora 25's glibc-2.24-3, but
	not with Fedora 24's glibc-2.23.1-10.
	* lib/getprogname.c (__progname): Move this declaration down...
	(getprogname): ... into the #elif block where used, and make it
	explicitly "extern".

	getprogname: port to OpenBSD 5.1
	* lib/getprogname.c (__progname) [HAVE_DECL___PROGNAME]: Declare.
	(getprogname) [HAVE_DECL___PROGNAME]: Return __progname or "?".
	* modules/getprogname (configure.ac): Move most of this code...
	* m4/getprogname.m4 (gl_FUNC_GETPROGNAME): ... to this function,
	increment serial number, and add a test for __progname.
	https://bugs.gnu.org/24562
	Reported by Nelson H. F. Beebe.

2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>

	sched: port to GCC 6.2.1 on macOS Sierra
	Problem reported by Denis Davydov in:
	http://lists.gnu.org/r/bug-gnulib/2016-09/msg00056.html
	* lib/sched.in.h [HAVE_SYS_CDEFS_H]:
	Include <sys/cdefs.h> before <sched.h>.
	* m4/nproc.m4 (gl_PREREQ_NPROC): Include errno.h before sched.h,
	so that we needn’t worry about the sched.h include bug here.
	* m4/sched_h.m4 (gl_SCHED_H): Check for sys/cdefs.h,
	and include it before <sched.h> if it exists, when
	checking for <sched.h>.

	tests/init.sh: port Alpine fix to AIX 7.1
	* tests/init.sh (compare_): When attempting to use diff -U3,
	prefer diff -u to -U3 to -c to plain diff.  Do not insist on
	diff -u not outputting a space after leading '+', as the users
	of 'compare' should not be that picky about its output format.
	In the AIX 7.1 case, return with diff exit status (or with 2 if
	trouble), instead of some random nonzero exit status.
	* tests/test-init.sh (test_compare): Remove space after leading
	'+', so that AIX 7.1 'diff' passes the test.

2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>

	nl_langinfo: pacify GCC
	* lib/nl_langinfo.c (ctype_codeset): Remove unused local.
	(rpl_nl_langinfo): Cast string literals to char *, to pacify GCC.

	stdint: also set GL_GENERATE_LIMITS_H
	Problem reported by Jim Meyering in:
	http://lists.gnu.org/r/bug-gnulib/2016-09/msg00052.html
	* m4/stdint.m4 (gl_STDINT_H): Also redo the AM_CONDITIONAL.

	limits-h, stdint: Don't assume extensions, fix typo
	* m4/limits-h.m4 (gl_LIMITS_H):
	* m4/stdint.m4 (gl_STDINT_H):
	Don't assume AC_USE_SYSTEM_EXTENSIONS.
	* m4/stdint.m4 (gl_STDINT_H): Fix typo in setting of LIMITS_H,
	reported by Jim Meyering in:
	http://lists.gnu.org/r/bug-gnulib/2016-09/msg00050.html

2016-09-21  Jim Meyering  <meyering@fb.com>

	getprogname: port to AIX
	* lib/getprogname.c (getprogname) [_AIX]: Use getpid, getprocs64
	and strdup to obtain a short program name string.  Using code from
	Bruno Haible and an idea from Bastien ROUCARIÈS, in
	https://lists.gnu.org/r/bug-gnulib/2010-12/msg00249.html
	Assaf Gordon reported that this new file would fail to compile on
	AIX-7.1 32bit.

2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	extensions: fix typo in comment
	* m4/extensions.m4: Sync from Autoconf master.

	stdint: support new _WIDTH macros
	* doc/posix-headers/stdint.texi: Document this.
	* lib/stdint.in.h: Add support for INTMAX_WIDTH. etc.
	* m4/stdint.m4 (gl_STDINT_H): Require gl_LIMITS_H.  Check for
	support for INTMAX_WIDTH, etc. as well as for support for just C99.
	* modules/stdint (Depends-on): Add limits-h.
	(Makefile.am): Substitute HAVE_C99_STDINT_H.
	* modules/stdint-tests (Depends-on): Add extensions, so that
	INTMAX_MAX etc. are defined.
	* tests/test-stdint.c: Verify the new macros.

	limits-h: new module
	This adds ISO/IEC TS 18661-1:2014 support to limits.h.
	* MODULES.html.sh: Add limits-h,and move size_max to stdint section.
	* doc/posix-headers/limits.texi: Document new module.
	* lib/limits.in.h, m4/limits-h.m4, modules/limits-h:
	* modules/limit-h-tests, tests/test-limits-h.c: New files.

	stdio: don't redefine __USE_MINGW_ANSI_STDIO
	* m4/stdio_h.m4 (gl_STDIO_H): Don't define __USE_MINGW_ANSI_STDIO
	if it is already defined.  Apparently GNU Emacs relies on this.  See:
	http://lists.gnu.org/r/emacs-devel/2016-09/msg00416.html

2016-09-15  Eric Blake  <eblake@redhat.com>

	sys_types: avoid glibc 2.25 warnings about major()
	* m4/sys_types_h.m4 (AC_HEADER_MAJOR): Replace broken version in
	older autoconf.
	* doc/posix-headers/sys_types.texi (sys/types.h): Document fix.
	* doc/glibc-functions/gnu_dev_major.texi (gnu_dev_major): Likewise.
	* doc/glibc-functions/gnu_dev_makedev.texi (gnu_dev_makedev): Likewise.
	* doc/glibc-functions/gnu_dev_minor.texi (gnu_dev_minor): Likewise.

	mountlist: include sysmacros.h for glibc
	* m4/mountlist.m4 (gl_PREREQ_MOUTLIST_EXTRA): Include
	AC_HEADER_MAJOR.
	* lib/mountlist.c (includes): Use correct headers.

2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	extensions: port to more ISO C TSes
	* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Sync from Autoconf
	master, to add support for more recent ISO C TRs and TSes.

2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: new macro TYPE_WIDTH
	* lib/intprops.h (TYPE_WIDTH): New macro.
	(TYPE_MAXIMUM, _GL_SIGNED_INT_MAXIMUM, INT_STRLEN_BOUND):
	* lib/ftoastr.h (_GL_FLOAT_DIG_BITS_BOUND):
	* lib/parse-datetime.y (parse_datetime2):
	Use it.

	extensions: port to recent ISO C TRs
	* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
	Sync from Autoconf master, to add support for recent ISO C TRs.
	* m4/stdio_h.m4 (gl_STDIO_H): Define __USE_MINGW_ANSI_STDIO here,
	since AC_USE_SYSTEM_EXTENSIONS no longer does that as
	the MinGW option is not an extension.

2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	dfa: port to Solaris 9
	Problems reported by Tom G. Christensen in:
	http://lists.gnu.org/r/bug-gnulib/2016-09/msg00031.html
	* modules/dfa (Depends-on): Add isblank.
	* modules/dfa-tests (dfa_match_aux_LDADD):
	Rename from test_stat_LDADD, to fix typo.
	* tests/dfa-match.sh: Don't require 'timeout'; use it if available.

2016-09-10  Jim Meyering  <meyering@fb.com>

	strverscmp: avoid link failure on OS X
	* lib/strverscmp.c [!weak_alias]: Define __strverscmp to strverscmp.
	Reported by Assaf Gordon in https://bugs.gnu.org/24256#26

2016-08-16  Jim Meyering  <meyering@fb.com>

	dfa: new module, importing grep's DFA matcher
	Since grep's DFA matcher is now being used by two gnulib-enabled
	projects, grep and sed, it makes sense to version-control its
	sources and unit tests in one place: here.
	* modules/dfa: New module.
	* modules/dfa-tests: New file.
	* lib/dfa.c: New file, from grep.
	* lib/dfa.h: Likewise.
	* lib/localeinfo.c: Likewise.
	* lib/localeinfo.h: Likewise.
	* tests/dfa-match-aux.c: Likewise.
	* tests/dfa-invalid-char-class.sh: Likewise.
	* tests/dfa-match.sh: Likewise, with minor changes.
	* MODULES.html.sh (Misc): Add "dfa" to this list.

2016-09-09  Jim Meyering  <meyering@fb.com>

	getprogname-tests: don't depend on assert-h
	* modules/getprogname-tests (Depends-on): Remove assert-h.
	It was not needed, and in fact would cause build failure for
	coreutils on some systems.  Reported by Assaf Gordon in https:
	//lists.gnu.org/r/coreutils/2016-09/msg00016.html

2016-09-07  Jim Meyering  <meyering@fb.com>

	getprogname-tests: work also when EXEEXT is nonempty
	* modules/getprogname-tests (Makefile.am): Define EXEEXT.
	* tests/test-getprogname.c (main): Use it.
	Suggested by Gisle Vanem.

2016-09-07  Gisle Vanem  <gvanem@yahoo.no>

	getprogname: fix errors in previous change
	* lib/getprogname.c (getprogname) [HAVE_GETEXECNAME]:
	s/program_invocation_name/base/
	[HAVE_DECL___ARGV]: Handle NULL __argv or __argv[0].

2016-09-08  Pádraig Brady  <P@draigBrady.com>

	parse-datetime: restrict debug output to input string
	* lib/parse-datetime.y (parse_datetime2): If we parse
	all of the input but determine it's invalid, ensure
	we don't output the now invalid input pointer.
	This issue was seen with `date -d 'now +1'`.

2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>

	flexmember: new macro FLEXALIGNOF
	* lib/flexmember.h: Include <stddef.h>, for offsetof.
	(FLEXALIGNOF): Rename from _GL_XALLOC_ALIGNOF, as Emacs can use
	this macro.  Update comments.

2016-09-07  Jim Meyering  <meyering@fb.com>

	getprogname: port to systems with __argv (mingw, msvc)
	* lib/getprogname.c (getprogname): Include "dirname.h" and use
	last_component: more general than open coding it with hard-coded "/".
	* lib/getprogname.h (getprogname): Prefer "char const *" consistently.
	* modules/getprogname (Depends-on): Add dirname-lgpl.
	(configure.ac): Check for __argv in <stdlib.h>.
	* modules/getprogname-tests: New file.
	* tests/test-getprogname.c: New file.
	Suggested by Gisle Vanem in
	https://lists.gnu.org/r/bug-gnulib/2016-09/msg00014.html

2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>

	flexmember: port better to GCC + valgrind
	With a char[] flexible array member in a struct with nontrivial
	alignment, GCC-generated code can access past the end of the
	array, because GCC assumes there are padding bytes to get the
	struct aligned.  So the common idiom of malloc (offsetof (struct
	s, m), n) does not properly allocate an n-byte trailing member, as
	malloc’s argument should be the next multiple of alignof (struct s).
	See GCC Bug#66661: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
	Although C11 apparently permits this GCC optimization (i.e., there
	was a bug in Gnulib not in GCC), possibly this is a defect in C11.
	See the thread containing:
	https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00317.html
	* lib/flexmember.h: New file.
	* lib/fnmatch.c, lib/fts.c, lib/glob.c, lib/idcache.c:
	* lib/localename.c, lib/time_rz.c:
	Include flexmember.h.
	* lib/fnmatch_loop.c (struct patternlist):
	* lib/localename.c (struct hash_node):
	Use FLEXIBLE_ARRAY_MEMBER.
	* lib/fnmatch_loop.c (EXT):
	* lib/fts.c (fts_alloc):
	* lib/glob.c (glob_in_dir):
	* lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
	* lib/localename.c (gl_lock_define_initialized):
	* lib/time_rz.c (tzalloc):
	Use FLEXSIZEOF instead of offsetof.
	* m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
	Check that the size of the struct can be taken.
	* modules/flexmember (Files): Add lib/flexmember.h.
	* modules/fnmatch, modules/glob, modules/localename (Depends-on):
	Add flexmember.

2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>

	getprogname: port to Solaris 10
	* lib/getprogname.c: Include stdlib.h, for getexecname decl.
	(getprogname) [HAVE_GETEXECNAME]: Use that, for Solaris 10.
	* m4/getprogname.m4 (gl_FUNC_GETPROGNAME): Check for getexecname.

	stdalign: correct mistake in alignof doc
	Problem reported by Joseph Myers in:
	https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00340.html
	* doc/posix-headers/stdalign.texi: Do not imply that C11 prohibits
	alignof(S) where S is a structure containing a flexible array
	member.  The Gnulib substitute does not support this, but C11 does.

2016-08-18  Pino Toscano  <ptoscano@redhat.com>

	main.mk: remove sc_program_name, since there is no more need to
	use set_program_name in tools (getprogname is enough for most
	of the cases).
	* cfg.mk (local-checks-to-skip): Remove sc_program_name.
	* top/maint.mk (sc_program_name): Remove.

2016-08-18  Pino Toscano  <ptoscano@redhat.com>

	Port tests away from progname, since modules that need the
	program name already depend on getprogname.
	* modules/acl-tests (Depends-on): Remove progname.
	* modules/argmatch (Depends-on): Likewise.
	* modules/argmatch-tests (Depends-on): Likewise.
	* modules/argp-tests (Depends-on): Likewise.
	* modules/argp-version-etc-tests (Depends-on): Likewise.
	* modules/array-list-tests (Depends-on): Likewise.
	* modules/array-oset-tests (Depends-on): Likewise.
	* modules/avltree-list-tests (Depends-on): Likewise.
	* modules/avltree-oset-tests (Depends-on): Likewise.
	* modules/avltreehash-list-tests (Depends-on): Likewise.
	* modules/carray-list-tests (Depends-on): Likewise.
	* modules/copy-file-tests (Depends-on): Likewise.
	* modules/exclude-tests (Depends-on): Likewise.
	* modules/fchownat-tests (Depends-on): Likewise.
	* modules/fdopendir-tests (Depends-on): Likewise.
	* modules/filenamecat-tests (Depends-on): Likewise.
	* modules/fstatat-tests (Depends-on): Likewise.
	* modules/fstrcmp-tests (Depends-on): Likewise.
	* modules/linked-list-tests (Depends-on): Likewise.
	* modules/linkedhash-list-tests (Depends-on): Likewise.
	* modules/mkdirat-tests (Depends-on): Likewise.
	* modules/nonblocking-pipe-tests (Depends-on): Likewise.
	* modules/nonblocking-socket-tests (Depends-on): Likewise.
	* modules/obstack-printf-tests (Depends-on): Likewise.
	* modules/openat-tests (Depends-on): Likewise.
	* modules/parse-datetime-tests (Depends-on): Likewise.
	* modules/pipe-filter-gi-tests (Depends-on): Likewise.
	* modules/pipe-filter-ii-tests (Depends-on): Likewise.
	* modules/quotearg-simple-tests (Depends-on): Likewise.
	* modules/quotearg-tests (Depends-on): Likewise.
	* modules/rbtree-list-tests (Depends-on): Likewise.
	* modules/rbtree-oset-tests (Depends-on): Likewise.
	* modules/rbtreehash-list-tests (Depends-on): Likewise.
	* modules/spawn-pipe-tests (Depends-on): Likewise.
	* modules/system-quote-tests (Depends-on): Likewise.
	* modules/uniname/uniname-tests (Depends-on): Likewise.
	* modules/uninorm/nfc-tests (Depends-on): Likewise.
	* modules/uninorm/nfd-tests (Depends-on): Likewise.
	* modules/uninorm/nfkc-tests (Depends-on): Likewise.
	* modules/uninorm/nfkd-tests (Depends-on): Likewise.
	* modules/unistdio/u16-vsnprintf-tests (Depends-on): Likewise.
	* modules/unistdio/u16-vsprintf-tests (Depends-on): Likewise.
	* modules/unistdio/u32-vsnprintf-tests (Depends-on): Likewise.
	* modules/unistdio/u32-vsprintf-tests (Depends-on): Likewise.
	* modules/unistdio/u8-vsnprintf-tests (Depends-on): Likewise.
	* modules/unistdio/u8-vsprintf-tests (Depends-on): Likewise.
	* modules/unistdio/ulc-vsnprintf-tests (Depends-on): Likewise.
	* modules/unistdio/ulc-vsprintf-tests (Depends-on): Likewise.
	* modules/unlinkat-tests (Depends-on): Likewise.
	* modules/version-etc-tests (Depends-on): Likewise.
	* modules/xalloc-die-tests (Depends-on): Likewise.
	* modules/xmemdup0-tests (Depends-on): Likewise.
	* modules/xprintf-posix-tests (Depends-on): Likewise.
	* modules/xvasprintf-tests (Depends-on): Likewise.
	* tests/test-argmatch.c: Do not include progname.h.
	(main) Stop calling set_program_name.
	* tests/test-argp-version-etc.c: Likewise.
	* tests/test-argp.c: Likewise.
	* tests/test-argv-iter.c: Likewise.
	* tests/test-array_list.c: Likewise.
	* tests/test-array_oset.c: Likewise.
	* tests/test-avltree_list.c: Likewise.
	* tests/test-avltree_oset.c: Likewise.
	* tests/test-avltreehash_list.c: Likewise.
	* tests/test-carray_list.c: Likewise.
	* tests/test-copy-acl.c: Likewise.
	* tests/test-copy-file.c: Likewise.
	* tests/test-exclude.c: Likewise.
	* tests/test-fchownat.c: Likewise.
	* tests/test-fdopendir.c: Likewise.
	* tests/test-filenamecat.c: Likewise.
	* tests/test-fstatat.c: Likewise.
	* tests/test-fstrcmp.c: Likewise.
	* tests/test-linked_list.c: Likewise.
	* tests/test-linkedhash_list.c: Likewise.
	* tests/test-mkdirat.c: Likewise.
	* tests/test-nonblocking-pipe-main.c: Likewise.
	* tests/test-nonblocking-socket-main.c: Likewise.
	* tests/test-obstack-printf.c: Likewise.
	* tests/test-openat.c: Likewise.
	* tests/test-parse-datetime.c: Likewise.
	* tests/test-pipe-filter-gi1.c: Likewise.
	* tests/test-pipe-filter-gi2-main.c: Likewise.
	* tests/test-pipe-filter-ii1.c: Likewise.
	* tests/test-pipe-filter-ii2-main.c: Likewise.
	* tests/test-quotearg-simple.c: Likewise.
	* tests/test-quotearg.c: Likewise.
	* tests/test-rbtree_list.c: Likewise.
	* tests/test-rbtree_oset.c: Likewise.
	* tests/test-rbtreehash_list.c: Likewise.
	* tests/test-sameacls.c: Likewise.
	* tests/test-set-mode-acl.c: Likewise.
	* tests/test-spawn-pipe-main.c: Likewise.
	* tests/test-system-quote-main.c: Likewise.
	* tests/test-unlinkat.c: Likewise.
	* tests/test-version-etc.c: Likewise.
	* tests/test-xalloc-die.c: Likewise.
	* tests/test-xfprintf-posix.c: Likewise.
	* tests/test-xmemdup0.c: Likewise.
	* tests/test-xprintf-posix.c: Likewise.
	* tests/test-xvasprintf.c: Likewise.
	* tests/uniname/test-uninames.c: Likewise.
	* tests/uninorm/test-u32-nfc-big.c: Likewise.
	* tests/uninorm/test-u32-nfd-big.c: Likewise.
	* tests/uninorm/test-u32-nfkc-big.c: Likewise.
	* tests/uninorm/test-u32-nfkd-big.c: Likewise.
	* tests/unistdio/test-u16-vsnprintf1.c: Likewise.
	* tests/unistdio/test-u16-vsprintf1.c: Likewise.
	* tests/unistdio/test-u32-vsnprintf1.c: Likewise.
	* tests/unistdio/test-u32-vsprintf1.c: Likewise.
	* tests/unistdio/test-u8-vsnprintf1.c: Likewise.
	* tests/unistdio/test-u8-vsprintf1.c: Likewise.
	* tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
	* tests/unistdio/test-ulc-vsprintf1.c: Likewise.
	* tests/test-c-stack.c: (program_name): Do not define.
	(main): Do not set program_name.
	* tests/test-closein.c: Likewise.
	* tests/test-xstrtol.c: Likewise.
	* tests/test-yesno.c: Likewise.

2016-08-18  Pino Toscano  <ptoscano@redhat.com>

	Port modules to use getprogname explicitly, instead of requiring
	progname to be used (or program_name to be provided).
	* lib/argmatch.c: Do not include progname.h.
	[TEST] (program_name): Do not define.
	[TEST] (main): Call getprogname instead of using program_name.
	* lib/c-stack.c: Do not include progname.h.
	(program_name): Do not define.
	(die): Call getprogname instead of using program_name.
	* lib/chdir-long.c: Do not include progname.h.
	[TEST_CHDIR] (main): Do not set program_name.
	* lib/error.c [!_LIBC]: Include progname.h.
	[!_LIBC] (program_name): Define using getprogname.
	* lib/euidaccess.c: Do not include progname.h.
	[TEST] (main): Do not set program_name.
	* lib/git-merge-changelog.c: Include getprogname.h instead of
	progname.h.
	(usage): Call getprogname instead of using program_name.
	(main): Likewise.  Stop calling set_program_name.
	* lib/group-member.c: Do not include progname.h.
	[TEST] (main): Do not set program_name.
	* modules/argmatch (Depends-on): Add getprogname.
	* modules/c-stack (Depends-on): Likewise.
	* modules/error (Depends-on): Likewise.
	* modules/git-merge-changelog (Depends-on): Likewise.
	Also remove progname.

2016-09-05  Pino Toscano  <ptoscano@redhat.com>

	* NEWS: Document the deprecation of the 'progname' module.

2016-08-18  Pino Toscano  <ptoscano@redhat.com>

	getprogname: new module
	This provides a LGPL module for getting the name of the current
	program, using the same API found on *BSD systems.
	* lib/getprogname.c, lib/getprogname.h, m4/getprogname.m4:
	* modules/getprogname: New files.
	* MODULES.html.sh (Misc): Add getprogname.

2016-09-02  Jim Meyering  <meyering@fb.com>

	manywarnings: add -fno-common
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -fno-common
	to the list.  Quoting the manual, "Compiling with -fno-common is
	useful on targets for which it provides better performance, or if
	you wish to verify that the program will work on other systems that
	always treat uninitialized variable declarations this way [putting
	it in the data section]."  If diffutils had been using this sooner,
	it would have prevented this duplicate declaration issue:
	http://git.sv.gnu.org/cgit/diffutils.git/commit/?id=v3.4-10-gc2dc91f

2016-08-31  Simon Josefsson  <simon@josefsson.org>

	parse-datetime: Fix typo.
	* lib/parse-datetime.y (parse_datetime2): Fix typo.

2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
	* lib/intprops.h (INT_NEGATE_OVERFLOW): Tune for platforms like
	GCC 5 and 6 that have __builtin_sub_overflow but not
	__builtin_sub_overflow_p.  With the recent changes, these
	platforms are a tiny bit faster with the INT_NEGATE_RANGE_OVERFLOW
	implementation than with INT_SUBTRACT_OVERFLOW implementation,
	since the former needs just one runtime comparison whereas the
	latter needs two.

	strverscmp: sync with glibc
	Although this doesn't exactly synchronize with glibc
	byte-for-byte, it makes the code behave the same as glibc.
	* lib/strverscmp.c (S_I, S_F, S_Z): Now masks, not powers of 2.
	(ISDIGIT): Remove, as glibc is sticking with isdigit, and the
	difference shouldn't matter in practical use.  All uses changed
	back to isdigit.
	(__strverscmp, strverscmp): Use new glibc method for weak aliases.
	(next_state): Now unsigned char array; redo elements.
	(result_type): Now signed char array; redo elements.
	(__strverscmp): Fix glibc bug 9913 by using new states.
	* tests/test-strverscmp.c (main): Test glibc bug 9913.

2016-08-29  Jim Meyering  <meyering@fb.com>

	xalloc-oversized.h: port __builtin_mul_overflow change to GCC 6.2.0
	* lib/xalloc-oversized.h: Port this change to GCC 6.2.0, too,
	similarly to how it was done to intprops.h.

2016-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	intprops.h: port recent changes to GCC 6.2.0
	* lib/intprops.h (__has_builtin): Move earlier.
	(_GL_HAS_BUILTIN_OVERFLOW): Rename from
	_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL and don't worry about whether
	the last argument can be null.  All uses changed.
	(_GL_HAS_BUILTIN_OVERFLOW_P): Also test __has_builtin.
	(_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
	Don't try to use 3rd arg null, as this doesn't work on GCC 6.2.0
	and it's not clear which GCC versions it works for.
	(_GL_INT_OP_WRAPV): Use _GL_HAS_BUILTIN_OVERFLOW instead of
	its definiens.

	intprops.h: use __typeof__ with GCC 7
	* lib/intprops.h (_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW)
	(_GL_MULTIPLY_OVERFLOW): Use __typeof__ as in the GCC manual.
	This avoids computing the expression's value (which might overflow!).

2016-08-29  Jim Meyering  <meyering@fb.com>

	intprops.h, xalloc-oversized.h: work with gcc 7
	In gcc 6, __builtin_add_overflow, __builtin_sub_overflow and
	__builtin_mul_overflow each accept a NULL pointer as the third
	argument.  However in gcc 7, that is no longer accepted.
	Instead, one must use the "_p"-suffixed names, with which, the
	third parameter is no longer a pointer.
	* lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): Correct
	the definition: not true for gcc 7 and subsequent.
	(_GL_HAS_BUILTIN_OVERFLOW_P): Define.
	(_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
	Provide new definitions for gcc 7 and subsequent.
	* lib/xalloc-oversized.h (xalloc_oversized): Provide a definition
	that works with gcc-7.

	intprops.h: fix missing-backslash problems
	* lib/intprops.h (_GL_ADD_OVERFLOW): Add backslash.
	(_GL_SUBTRACT_OVERFLOW,_GL_MULTIPLY_OVERFLOW): Likewise.

2016-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: fix paren typo on old platforms
	Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300#13
	* lib/intprops.h (_GL_INT_OP_WRAPV_LONGISH)
	[__GNUC__ < 5 && !__has_builtin (__builtin_add_overflow)
	&& (__STDC_VERSION__ < 201112 || _GL__GENERIC_BOGUS)
	&& !defined LLONG_MAX]:
	Remove stray paren.

	intprops: port to OpenVMS
	Problem reported by John E. Malmberg in: https://bugs.gnu.org/24300
	* doc/posix-headers/limits.texi: Document the problem.
	* lib/intprops.h (LLONG_MAX, LLONG_MIN) [__INT64_MAX]:
	Define if not already defined.

2016-08-19  Assaf Gordon  <assafgordon@gmail.com>

	parse-datetime: improve debug implementation
	Follow-up to commit 12ad79069 ("add optional debug printing").
	Improve parse-datetime's debug implementation: remove macros,
	replace global debug flag variable with a function parameter,
	use nstrftime for formatting.
	See: https://lists.gnu.org/r/bug-gnulib/2016-08/msg00021.html
	* lib/parse-datetime.h: (parse_datetime_debug): Remove global extern.
	(parse_datetime2): New function, accepts 'flags' parameter, supporting
	debug flag. Existing interface 'parse_datetime' left unmodified.
	* lib/parse-datetime.c: (parse_datetime_debug): Remove global variable.
	(struct parser_control): add 'parse_datetime_debug' member variable.
	(parse_datetime): Call new function 'parse_datetime2' without debug.
	(parse_datetime2): Adapted from previous 'parse_datetime', initialize
	pc.parse_datetime_debug variable as needed.
	(to_year): Accept new flags parameter, instead of using global variable.
	(debug_print_current_time,debug_print_relative_time,debug_mktime_not_ok):
	use struct 'debug' variable instead of global variable.
	(DEBUG,DEBUG_PRINT_CURRENT_TIME,DEBUG_PRINT_RELATIVE_TIME,
	DEBUG_MKTIME_NOT_OK,PROGRESS,PROGRESS0): Remove macros. Call
	correspnding functions directly instead of using macros.
	* modules/parse-datetime: Add gnulib's strftime module.

2016-08-19  Daniel Richard G.  <skunk@iSKUNK.ORG>

	c-strcase-tests: port to EBCDIC
	* tests/test-c-strncasecmp.c: Allow two c_strncasecmp calls
	which assume ASCII encoding semantics to run only in ASCII
	mode, as they fail in EBCDIC.

	sigpipe-tests: fix typo
	* tests/test-sigpipe.sh: C, not B.

2016-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	canonicalize-lgpl: fix errno after malloca fails
	This fixes a typo I recently introduced.  Suggested by Bruno Haible in:
	http://lists.gnu.org/r/bug-gnulib/2016-08/msg00039.html
	* lib/canonicalize-lgpl.c (__realpath):
	Don't assume malloca sets errno on failure.

2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	strtod: port errno handling to z/OS
	* lib/strtod.c (strtod): Save and restore errno more reliably.

2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>

	strtod: port to z/OS
	* lib/strtod.c (strtod): Address a couple quirks in the z/OS
	implementation.

2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	strtod: port to z/OS
	* lib/strtod.c (strtod): Address a couple quirks in the z/OS
	implementation.

	regex, string: rename to avoid '__string'
	* lib/regex.h, lib/string.in.h: Do not use the identifier
	'__string', as it is effectively reserved by string.h on z/OS.

	c-strcase-tests, wcwidth-tests: depend on c-ctype
	* modules/c-strcase-tests, modules/wcwidth-tests (Depends-on):
	Add c-ctype.

2016-08-17  Daniel Richard G.  <skunk@iSKUNK.ORG>

	thread: port to z/OS
	* lib/glthread/thread.c, lib/glthread/thread.h:
	Rudimentary gl_thread support for z/OS.

	maint: port tests to z/OS errno behavior
	* tests/test-nonblocking-reader.h:
	* tests/test-nonblocking-writer.h:
	Accommodate z/OS errno code preferences. (I believe this should
	still be within spec; IBM is good at following the letter if not
	the spirit of such things.)

	maint: preprocessor changes to support z/OS
	* lib/alloca.in.h, lib/fnmatch.c, lib/get-rusage-as.c:
	* lib/glob.c, lib/math.in.h, lib/ptsname_r.c:
	* tests/infinity.h, tests/nan.h, tests/test-canonicalize-lgpl.c:
	* tests/test-nonblocking-pipe.h:

	fclose, strstr-simple, wchar: port to z/OS
	* m4/fclose.m4, m4/strstr.m4, m4/wchar_h.m4:
	Changes to the Autoconf M4 code to support z/OS.  Note that
	fclose() is broken in a different way on z/OS than it is on other
	systems, thus the special-case in fclose.m4.

	iconv_open-utf-tests, iconv-tests: port to EBCDIC
	* tests/test-iconv-utf.c, tests/test-iconv.c:
	Added appropriately conditional #pragmas so that the test strings
	in test-iconv-utf.c are correctly interpreted in ASCII instead of
	EBCDIC (i.e. 'J' == 0x4A and not 0xD1). This issue could be
	addressed in a more portable way by simply rewriting all the ASCII
	literal characters as octal escapes, but then you would lose the
	partial readability that the strings have now. Also, iconv_open()
	on z/OS does not recognize "ISO-8859-1", but "ISO8859-1" works.

	c-strcase-tests, wcwidth-tests: port to EBCDIC
	* tests/test-c-strcasecmp.c: Include c-ctype.h.
	(main) [!C_CTYPE_ASCII]: Skip tests that assume ASCII.
	* tests/test-wcwidth.c: Likewise.

2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	stdbool: don't require _Bool for C++
	Problem reported by David Seifert in:
	http://lists.gnu.org/r/bug-gnulib/2016-06/msg00005.html
	* NEWS, doc/posix-headers/stdbool.texi (stdbool.h): Document this.
	* m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Make the check
	more-forgiving for C++, in that it requires only 'bool'.  Be a bit
	stricter about checking that bool and _Bool are compatible in C.

2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	getdelim: remove dependency on realloc-posix
	* lib/canonicalize-lgpl.c (alloc_failed)
	[!FUNC_REALPATH_WORKS || defined _LIBC]: New function,
	(__realpath) [!FUNC_REALPATH_WORKS || defined _LIBC]: Use it.
	Use __set_errno where needed, for consistency.
	* lib/getdelim.c (alloc_failed): New function.
	(getdelim): Use it.

2016-08-09  Assaf Gordon  <assafgordon@gmail.com>

	parse-datetime: add optional debug printing
	Print parsing information, warnings, and errors to stderr.
	* lib/parse-datetime.h (parse_datetimte_debug): New global variable.
	* lib/parse-datetime.y:
	(DEBUG_*):  Macros calling debug functions if debugging is enabled.
	(PROGRESS*): Same as DEBUG, for progress reporting.
	(dbg_printf): Print message to stderr, with 'date' prefix.
	(struct parser_control): Add 'debug_*_seen' variables.
	(str_days): Converts day ordinal/number to string (e.g. 'last wed').
	(debug_print_current_time, debug_print_relateive_time): Prints the
	current/relative date/time value of parser_control.
	(YACC parser syntax): Print parsed parts with DEBUG_* macros.
	(to_year): Warn about 2-digit year parsing.
	(yylex):   Warn about unrecognized words.
	(get_effective_timezone): Returns current timezone in minutes.
	(debug_strf{time,date,datetime}): Convert 'struct tm' to string as
	clearly and unambigiously as possible.
	(debug_mktime_not_ok): Print detailed information about failed
	date/time values.
	(parse_datetime): Add DEBUG messages for failures, warnings. Add
	PROGRESS messages for status messages.
	* modules/parse-datetime: Add 'timegm', 'gettext-h' dependencies.

2016-08-06  Jim Meyering  <meyering@fb.com>

	tests/init.sh: exclude dash with bad "local" semantics
	* tests/init.sh (gl_shell_test_script_): Add a function to
	eliminate a shell like "dash" (unlike bash, zsh) that has
	surprising/risky "local var='...'" semantics.  Inspired by
	the problem and discussion in https://bugs.gnu.org/24116#11.

2016-08-02  Ján Tomko  <jtomko@redhat.com>

	maint.mk: expand the prohibit_doubled_word regex
	This check has a static list of words that are checked for
	repetitions.  Expand it before running the perl script to
	avoid using expensive captures.  This decreases the cost
	for libvirt from 1.66s to 0.66s.
	* top/maint.mk (prohibit_doubled_word_expanded_): Define.
	(sc_prohibit_doubled_word): Use it.

2016-07-26  Ján Tomko  <jtomko@redhat.com>

	useless-if-before-free: skip non-matching lines early
	* build-aux/useless-if-before-free: First match each line with the
	simple/quick /\bif\b/ and reject if there is no match. This often
	saves the cost of the much more involved regular expression.
	For libvirt, this decreases the cost from 1.44s to 1.02s.

2016-07-26  Ján Tomko  <jtomko@redhat.com>

	maint.mk: speed up sc_po_check
	sc_po_check would skip files based on their names, or on the
	existence of files with derived names. Rewrite it to use perl
	instead of shell to make the check faster.
	* top/maint.mk (perl_translatable_files_list_): Define.
	(sc_po_check): Use it.

2016-07-30  Ján Tomko  <jtomko@redhat.com>

	maint.mk: speed up require_config_h_first
	Instead of spawning three processes per file,
	rewrite the check in perl and run it once for all the files.
	* top/maint.mk (perl_config_h_first_): Define.
	(sc_require_config_h_first): Use it in place of shell code.

2016-07-26  Ján Tomko  <jtomko@redhat.com>

	maint.mk: speed up sc_po_check
	sc_po_check would skip files based on their names, or on the
	existence of files with derived names. Rewrite it to use perl
	instead of shell to make the check faster.
	* top/maint.mk (perl_translatable_files_list_): Define.
	(sc_po_check): Use it.

2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>

	obstack: pacify GCC 6 with -Wnull-dereference
	Problem reported by Assaf Gordon in:
	http://lists.gnu.org/r/bug-gnulib/2016-07/msg00028.html
	* lib/obstack.c, lib/obstack.h (obstack_alloc_failed_handler):
	Declare with __attribute_noreturn__.
	* lib/obstack.h (__attribute_noreturn__): New macro.

2016-07-13  Eric Blake  <eblake@redhat.com>

	doc: mention glibc, OS X, Cygwin [S]SIZE_MAX buglet
	* doc/posix-headers/stdint.texi (stdint.h): Document the bugs.
	* doc/posix-headers/limits.texi (limits.h): Document the bugs.

2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>

	doc: mention glibc SSIZE_MAX buglet
	* doc/posix-headers/limits.texi (limits.h): Document the bug.

2016-07-04  Martin Kletzander  <mkletzan@redhat.com>

	printf-posix: Fix mingw build
	Commit 54615b95ff238e235e806855efc46a9abad09f2e changed the regular
	expression for detecting C symbol prefixes but forgot to qoute square
	brackets in the command line arguments for grep.  That way when
	building with mingw the condition was false although it ought to be
	true instead.  In particular scenarios this led to the following
	compile error:

	    Cannot export rpl_printf: symbol not found
	    Cannot export rpl_scanf: symbol not found
	    collect2: error: ld returned 1 exit status

	Fix this by properly quoting square brackets.

2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>

	mktime: call tzset as per POSIX
	Problem reported by Ludovic Courtès in:
	http://lists.gnu.org/r/bug-gnulib/2016-06/msg00068.html
	* lib/mktime.c (mktime) [!_LIBC && HAVE_TZSET]: Call tzset.
	* m4/mktime.m4 (gl_FUNC_MKTIME): Check for tzset.

2016-06-26  Pádraig Brady  <P@draigBrady.com>

	fts: handle readdir() errors
	* lib/fts.c (fts_build): readdir(3) returns NULL when finished,
	but also upon error when it will also set errno.  Therefore
	flag the error case from readdir().  We treat the case where
	no items are read the same as if the dir can't be accessed,
	i.e. by setting fts_errno to FTS_DNR.

2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: port better to GCC 7
	GCC 7 __builtin_add_overflow supports a new usage form, where the
	last argument is a null pointer, and which merely returns 1 if an
	overflow would occur.  This is a constant expression if all
	arguments are constants, and should generate faster code when code
	needs to be generated.
	* lib/intprops.h (_GL_HAS_BUILTIN_OVERFLOW_WITH_NULL): New macro.
	(_GL_ADD_OVERFLOW, _GL_SUBTRACT_OVERFLOW, _GL_MULTIPLY_OVERFLOW):
	Use builtin operations if available.
	(INT_NEGATE_OVERFLOW): Prefer INT_SUBTRACT_OVERFLOW if builtin
	operations are available, as it's almost surely faster.

2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>

	intprops-test: port to GCC 6
	* tests/test-intprops.c: Ignore -Woverflow if any GCC version,
	since the bug is not fixed in GCC 6.1.

2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc-oversized: port to GCC 7; fewer warnings
	GCC 7 will have a better way to deal with integer overflow.
	Plus, fix a warnings problem reported by Tim Ruehsen in:
	http://lists.gnu.org/r/bug-gnulib/2016-06/msg00022.html
	* lib/xalloc-oversized.h (__xalloc_oversized): New macro.
	(xalloc_oversized): Use plain __builtin_mul_overflow if GCC 7 or later.
	For GCC 5, use __xalloc_oversized if both args are constants,
	or if pedantic.

2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>

	regex: port to Sun C
	Reported by Daiki Ueno.
	* lib/regcomp.c (regcomp, regerror): Use _Restrict_, not
	__restrict, in prototype.  This fixes a problem I introduced in
	the 2016-02-19 merge from glibc.

2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>

	stdbool: Restore __bool_true_false_are_defined check
	* m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL):
	__bool_true_false_are_defined is still defined, even with C++11.

2016-05-31  David Seifert  <soap@gentoo.org>  (tiny change)

	stdbool: Port AC_CHECK_HEADER_STDBOOL to C++11
	* m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Port to C++11.

2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	Use GCC_LINT, not lint
	FreeBSD and Cygwin #define _Noreturn to empty if 'lint' is defined.
	Problem reported by Ken Brown in: http://bugs.gnu.org/23640
	* doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
	Document problem with lint and _Noreturn.
	* lib/diffseq.h (IF_LINT, IF_LINT2):
	* lib/fts.c (sccsid):
	* lib/getndelim2.c (IF_LINT):
	* lib/gl_anylinked_list2.h (gl_linked_iterator)
	(gl_linked_iterator_from_to):
	* lib/gl_anytree_list2.h (gl_tree_iterator)
	(gl_tree_iterator_from_to):
	* lib/gl_anytree_oset.h (gl_tree_iterator):
	* lib/gl_array_list.c (gl_array_iterator)
	(gl_array_iterator_from_to):
	* lib/gl_array_oset.c (gl_array_iterator):
	* lib/gl_carray_list.c (gl_carray_iterator)
	(gl_carray_iterator_from_to):
	* lib/idcache.c:
	* lib/inet_ntop.c (IF_LINT):
	* lib/regcomp.c (build_charclass_op, create_tree):
	* lib/regex_internal.c (re_acquire_state)
	(re_acquire_state_context):
	* lib/trigl.c (rcsid):
	* lib/trim.c (IF_LINT):
	* lib/vasnprintf.c (IF_LINT):
	* lib/verify.h (assume):
	Treat GCC_LINT like lint.

2016-05-29  Bruno Haible  <bruno@clisp.org>

	secure_getenv: Port to many more platforms.
	* m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV): Also check for get*id
	functions.
	* lib/secure_getenv.c (secure_getenv): Add alternate implementations
	for non-BSD Unix platforms and for native Windows.
	* doc/glibc-functions/secure_getenv.texi: Remove known issue.
	Prompted by a request from Nikos Mavrogiannopoulos.

2016-05-27  Eric Blake  <eblake@redhat.com>

	canonicalize: Fix broken probe for realpath.
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Fix regression
	in logic introduced in 54615b95.

2016-05-26  Eric Blake  <eblake@redhat.com>

	unsetenv: relax to LGPLv2+
	* modules/unsetenv (License): Match setenv license.

2016-05-20  Ludovic Courtès  <ludo@gnu.org>

	gendocs.sh: Set default TOP_NODE_UP_URL in HTML output.
	Suggested by Gavin Smith <gavinsmith0123@gmail.com>.
	Reported by myglc2 <myglc2@gmail.com> in <http://bugs.gnu.org/22651>.
	* build-aux/gendocs.sh (MANUAL_TITLE, PACKAGE, EMAIL)
	(commonarg, dirargs, dirs, infoarg, generate_ascii)
	(generate_html, generate_info, generate_tex, outdir)
	(source_extra, split, srcfile, texarg): Move above 'version'.
	(htmlarg): Likewise, and add "-c TOP_NODE_UP_URL=/manual".

2016-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: update for GCC 6.1
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
	Add GCC 6.1 options that apply to C.
	* build-aux/gcc-warning.spec: Add GCC 6.1 options that
	do not apply to C, are obsolescent, etc.

2016-05-12  Paul Eggert  <eggert@cs.ucla.edu>

	glob: size_t overflow checks
	* lib/glob.c (__has_builtin): New macro.
	(size_add_wrapv, glob_use_alloca): New static functions.
	(glob, glob_in_dir): Check for size_t overflow in several places,
	and fix some size_t checks that were not quite right.

	glob: don't assume INT_MAX < SIZE_MAX
	* lib/glob.c (glob): Prefer SIZE_MAX to ~((size_t) 0), as the
	latter is not portable to (probably theoretical) hosts where
	SIZE_MAX <= INT_MAX.

2016-05-09  Bruno Haible  <bruno@clisp.org>

	Fix undefined behaviour in gettext.h.
	* lib/gettext.h (dcpgettext_expr, dcnpgettext_expr): Avoid accessing a
	pointer's value after the storage it points to has been freed.
	Reported by Michael Pyne in https://savannah.gnu.org/bugs/?47847.
	Spotted by Coverity.

2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>

	git-version-gen: avoid undefined shift
	Problem reported by Mosè Giordano in:
	http://lists.gnu.org/r/bug-gnulib/2016-05/msg00012.html
	* build-aux/git-version-gen: Avoid undefined behavior if invoked
	with --prefix or --fallback but without a later argument.  While
	we're at it, omit unnecessary quotes.

2016-05-04  Paul Eggert  <eggert@cs.ucla.edu>

	glob: merge glibc changes into lib/glob.c
	* lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c,
	dated 2016-05-04 12:09:35 2016 +0200.  Here are the changes:
	2016-05-04 CVE-2016-1234: glob: Do not copy d_name field of
	  struct dirent [BZ #19779]
	2016-04-29 glob: Simplify the interface for the GLOB_ALTDIRFUNC
	  callback gl_readdir
	2015-10-20 Convert miscellaneous function definitions to prototype style
	2015-10-20 Convert 113 more function definitions to prototype style
	  (files with assertions)
	2015-06-12 Fix getlogin_r namespace (bug 18527).
	2014-02-10 Use glibc_likely instead __builtin_expect.
	2013-10-20 When glob pattern contains a trailing slash match only
	  directories. Fixes bug 10278.
	2013-09-04 glob: silence -Wattribute warnings
	2013-06-07 Avoid use of "register" as optimization hint.
	2012-09-25 Use size_t instead of int for internal variables in glob
	  (bug 14621)
	2011-07-20 Check for overflows in expressions
	2011-05-28 Remove unused variable
	2011-05-22 Add a few more alloca size checks
	2010-03-27 Whitespace fixes
	2010-03-27 Fix one more issue with the glob patch
	2010-03-24 Fix glob with empty pattern
	2008-05-27 Remove useless more "if" tests before "free"
	* modules/glob (Depends-on): Add stdint.

2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	mktime: port to stricter signed overflow checking
	* lib/mktime.c: Omit 'pragma GCC optimize ("wrapv")'.
	(long_int): Require width for INT_MAX * 3 * (seconds per year),
	instead of merely for INT_MAX * 2.  In practice platforms that
	do the latter also do the former.
	(TIME_T_MIN, TIME_T_MAX, TIME_T_MIDPOINT, SHR): Remove.
	(shr): New static function, replacing SHR.  All uses changed.
	(mktime_min, mktime_max): New constants, replacing TIME_T_MIN
	and TIME_T_MAX.  All uses changed.
	(ydhms_diff, guess_time_tm, ranged_convert, __mktime_internal):
	Use long_int, not time_t.
	(long_int_avg): New static function, replacing time_t_avg.
	All uses changed.  Round toward positive infinity, as that
	generates slightly better code.
	(time_t_add_ok, time_t_int_add_ok): Remove.  All uses replaced
	by INT_ADD_WRAPV.
	(guess_time_tm): Accept time, not a pointer to it.  All uses changed.
	(convert_time): New static function.
	(ranged_convert): Use it
	(ranged_convert): Check for *T out of [mktime_min, mktime_max] range.
	Use simpler test for loop exit.
	(__mktime_internal): Store negative of guessed offset, to simplify
	overflow checking.  Remove no-longer-needed test for small time_t
	overflows.

	mktime: speed up DEBUG_MKTIME benchmarks
	Call tzset just once, at the start, rather than for every test
	case.  This lets us measure the CPU cost of mktime as opposed to
	that of tzset.  This is relevant when TZ is not set and glibc is
	being used.  This speeds up tests by a factor of 40 on my Fedora
	23 x86-64 platform.
	* lib/mktime.c (main) [DEBUG_MKTIME]: Call localtime at the start,
	to call tzset and as a sanity check.  Later on, use localtime_r
	instead of localtime.

	mktime: resurrect DEBUG_MKTIME testing
	* lib/mktime.c [DEBUG_MKTIME]: Do not include <config.h>.
	Include <string.h>, for strcmp.

	mktime: simplify DEBUG_MKTIME
	* lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
	Simplify later usage accordingly.

	Port mktime_internal offset to unsigned time_t
	This avoids some assumptions about wraparound arithmetic on
	signed integer overflow.
	* lib/mktime-internal.h (mktime_offset_t): New type.
	(mktime_internal): Use it in decl.
	* lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.

	* lib/mktime.c (__mktime_internal, localtime_offset):
	* lib/timegm.c (timegm): Use it.
	* m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
	(gl_FUNC_MKTIME): Require it.

2016-04-27  Paul Eggert  <eggert@cs.ucla.edu>

	xstrtol: prohibit monstrosities like "1bB"
	Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388
	* lib/xstrtol.c (__xstrtol): Allow trailing second suffixes like
	"B" only if the first suffix needs a base.
	* tests/test-xstrtol.sh: Test this.

2016-04-21  Pádraig Brady  <P@draigBrady.com>

	xstrtod: reinstate setting of *result upon ERANGE
	* lib/xstrtod.c (XSTRTOD): The user may decide to use
	the returned limits upon ERANGE, so allow and document that.

2016-04-20  Tino Calancha  <f92capac@gmail.com>  (tiny change)

	xstrtod: modify *result only if no errors
	* lib/xstrtod.c (XSTRTOD).

2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>

	btowc: document problems in C locale
	* doc/posix-functions/btowc.texi (btowc): Mention incompatibility
	with mbrtowc.  See: http://bugs.gnu.org/23269#32

2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>

	mktime: improve integer overflow checking
	* lib/mktime.c: Include stdbool.h, intprops.h, verify.h.
	(WRAPV): Remove; no longer needed.
	(verify): Remove.  Replace all uses with call to verify.h 'verify'.
	(TYPE_IS_INTEGER, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
	Remove.  Use intprops.h defns instead.
	(leapyear, isdst_differ, time_t_add_ok, time_t_int_ok):
	Use bool for Boolean, for clarity.
	(time_t_add_ok, time_t_int_add_ok): Use INT_ADD_WRAPV to
	detect integer overflow.
	* modules/mktime (Depends-on): Add intprops, stdbool, verify.

	intprops: check two's complement assumption
	Suggested by Eric Blake in:
	http://lists.gnu.org/r/bug-gnulib/2016-04/msg00016.html
	* lib/intprops.h: Include <verify.h>.  Verify that signed char,
	short, int, long, and (if available) long long are two's complement.
	* modules/intprops (Depends-on): Add 'verify'.

	intprops, mktime, strtol: assume two's complement
	These macros were not portable to every conforming C11 ones'
	complement platform.  It's not worth the hassle of porting to some
	platforms that use ones' complement or signed magnitude, as such
	platforms are almost purely theoretical nowadays and porting even
	to some of them makes the code harder to review for little
	practical benefit.  Problem reported by Florian Weimer in:
	https://sourceware.org/ml/libc-alpha/2016-04/msg00295.html
	* lib/intprops.h (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
	(TYPE_SIGNED_MAGNITUDE, _GL_INT_TWOS_COMPLEMENT):
	* lib/mktime.c (TYPE_TWOS_COMPLEMENT):
	* lib/strtol.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT)
	(TYPE_SIGNED_MAGNITUDE):
	Remove.  All uses rewritten to assume two's complement, which is
	all we can reasonably test nowadays anyway.
	* top/maint.mk (_intprops_names): Remove the removed macros.

2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>

	stdint: port to strict C11 left shift
	* lib/stdint.in.h (_STDINT_MIN, _STDINT_MAX):
	Pacify clang -Wshift-negative-value, which should be an issue only
	on clang setups where stdint.h does not conform to C11 or to C++11.
	Problem reported by Philipp Stephani in: http://bugs.gnu.org/23261

2016-04-09  Paul Eggert  <eggert@penguin.cs.ucla.edu>

	mbrtowc: work around glibc bug#19932
	Fix mbrtowc so that it never returns -1 in the C locale,
	as this conflicts with a future version of POSIX
	http://austingroupbugs.net/view.php?id=663#c2738
	and causes problems with GNU grep: http://bugs.gnu.org/23234
	See glibc bug 19932:
	https://sourceware.org/bugzilla/show_bug.cgi?id=19932
	* doc/posix-functions/mbrlen.texi (mbrlen):
	* doc/posix-functions/mbrtowc.texi (mbrtowc):
	Document the glibc bug.
	* lib/mbrtowc.c [C_LOCALE_MAYBE_EILSEQ]:
	Include hard-locale.h, locale.h.
	(rpl_mbrtowc): Work around the C_LOCALE_MAYBE_EILSEQ bug,
	if the bug is possible.
	* m4/mbrtowc.m4 (gl_MBRTOWC_C_LOCALE): New macro.
	(gl_FUNC_MBRTOWC): Use it, and define C_LOCALE_MAYBE_EILSEQ as needed.
	* modules/hard-locale (License): Now LGPLv2+, for mbrtowc.
	* modules/mbrtowc (Depends-on): Add hard-locale.
	* modules/mbrtowc-tests (Files, TESTS): Add tests/test-mbrtowc5.sh.
	* tests/test-mbrtowc.c (main): Test for bug fix if arg is '5'.
	* tests/test-mbrtowc5.sh: New file.

2016-04-03  Pedro Alves  <palves@redhat.com>

	stdint: detect good enough pre-C++11 stdint.h in C++ mode
	When gnulib is configured in C++ mode for a system with a working C99
	implementation of stdint.h that predates C++11, gnulib ends up
	substituting stdint.h anyway.  This works on most targets, but on e.g.,
	64-bit MinGW, it doesn't, as gnulib's substitute assumes LP64, while
	MinGW is LLP64.  Instead of trying to detect the right types, detect
	good-enough-pre-C++11 stdint.h and in such case define
	__STDC_CONSTANT_MACROS/__STDC_LIMIT_MACROS in config.h.
	* m4/stdint.m4 (gl_STDINT_H): Always define __STDC_CONSTANT_MACROS
	/ __STDC_LIMIT_MACROS while checking whether the system stdint.h
	conforms to C99.  If it does, check whether it hides symbols
	behind the __STDC_{CONSTANT|LIMIT}_MACROS macros.  Then if it
	does, define those macros in config.h.

2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>

	argp: merge changes from glibc
	Among other things, this should fix problems found by a Coverity
	scan and reported by Andrei Borzenkov:
	http://lists.gnu.org/r/bug-gnulib/2016-01/msg00015.html
	http://lists.gnu.org/r/bug-gnulib/2016-01/msg00016.html
	* lib/argp-ba.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h:
	* lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h:
	* lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c:
	* lib/argp.h:
	Merge changes from glibc.
	* tests/test-argp-2.sh: Adjust to match new behavior.

2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>

	stddef: support configuring with g++
	Problem reported by Ángel González in:
	http://lists.gnu.org/r/bug-gnulib/2016-04/msg00003.html
	* lib/stddef.in.h (_GL_STDDEF_ALIGNAS, max_align_t):
	Do not define if _GCC_MAX_ALIGN_T is defined.

2016-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	test-framework-sh: minor cleanups
	* tests/init.sh (testdir_prefix_): Output a trailing newline,
	since strictly speaking POSIX requires this.
	(setup_): Do not use the variable 'fail', as that makes the
	trace output harder to read ('fail' is typically used by
	tests to mean the test failed).  Treat // portably.
	Check that new directory is not merely a sibling of the tmp dir.
	Avoid unnecessary invocation of tr.

	test-framework-sh: revert port to NetBSD 7.0
	It was a false alarm; I misinterpreted Assaf Gordon's report.
	* tests/init.sh (testdir_prefix_, pfx_, template_length_):
	Restore.
	(test_dir_): Adjust to mktempd_ change.
	(mktempd_): Restore 2nd arg.  Use -t again.
	(base_template_, template_, nx_): Resurrect old code.

	Port better to Alpine Linux
	Its diff implementation does not support -c, but does support -U3.
	Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
	* tests/init.sh (diff_opt_): New var.
	(compare_): Prefer diff -U3 to diff -c to plain diff.

2016-03-24  Paul Eggert  <eggert@cs.ucla.edu>

	test-framework-sh: port to NetBSD 7.0
	Problem reported by Assaf Gordon in: http://bugs.gnu.org/23107#13
	* tests/init.sh (testdir_prefix_, pfx_, template_length_):
	Remove.  All uses removed.
	(test_dir_): Adjust to mktempd_ change.
	(mktempd_): Omit 2nd arg.  Stop using -t, as it is not portable.
	(base_template_, template_, nx_): Simplify by hardcoding.

2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>

	gitlog-to-changelog: suppress ignored chatter
	* build-aux/gitlog-to-changelog: Do not warn about skipping
	an SHA if it would have been ignored anyway.

2016-03-22  Geert Janssens  <janssens-geert@telenet.be>

	setlocale: add "sv" to Windows language table
	* lib/setlocale.c (language_table) [W32]: Add "sv".
	Reported in <https://savannah.gnu.org/bugs/?44588>.

2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>

	sys_select: port to new Cygwin
	Problem reported by Ken Brown in:
	https://lists.gnu.org/r/bug-gnulib/2016-03/msg00054.html
	* lib/sys_select.in.h [__CYGWIN__]: Avoid "unknown type name"
	diagnostics.

2016-03-17  Jim Meyering  <meyering@fb.com>

	test-userspec.c: do not trigger gcc's new -Wmisleading-indentation
	* tests/test-userspec.c (main): Remove unnecessary braces and fix
	misleading indentation. Here is the diagnostic gcc-6.0-to-be issued:
	  test-userspec.c:176:9: error: statement is indented as if it were \
	    guarded by... [-Werror=misleading-indentation]
	           {
	           ^
	  test-userspec.c:173:7: note: ...this 'if' clause, but it is not
	         if (!diag && !T[i].result)
	         ^~

2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>

	time_rz: port to clang -Wunused-const-variable
	* lib/time_rz.c (TZ): Remove.  All uses removed.

	std-gnu11: improve clang support
	* m4/std-gnu11.m4: Sync with autoconf, incorporating:
	2016-03-15 Also try clang
	2016-03-15 Port C11 and C++11 testing to clang

	select: port more to Intel 2016.1.150 compiler
	Problem reported by Balázs Hajgató in:
	http://lists.gnu.org/r/bug-gnulib/2016-03/msg00036.html
	* m4/select.m4 (gl_FUNC_SELECT): Require AC_C_RESTRICT.

2016-03-14  Paul Eggert  <eggert@cs.ucla.edu>

	select: try to port to 2016.1.150 compiler
	Problem reported by Balázs Hajgató in:
	http://lists.gnu.org/r/bug-gnulib/2016-03/msg00026.html
	* lib/sys_select.in.h (select): Use 'restrict' on arguments where
	POSIX specifies 'restrict'.

2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>

	localename-tests: memory allocation fixes
	* tests/test-localename.c (test_locale_name)
	(test_locale_name_thread): Don't call freelocale on a locale
	that was the base of a successful newlocale, as that
	results in a double free.  Problem reported by Assaf Gordon.
	(test_locale_name_thread): Free saved names after use, to pacify
	gcc -fsanitize=address.

2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: make .h file license match module
	* lib/intprops.h: Change the license wording to match glibc format.
	This is what is in modules/intprops anyway.  See:
	https://sourceware.org/bugzilla/show_bug.cgi?id=19738#c8

2016-03-08  Eric Blake  <eblake@redhat.com>

	acl: fix missing return on Cygwin
	* lib/set-permissions.c (set_acls) [HAVE_FACL && GETACL]: Don't
	fall off end of function. Fixes http://bugs.gnu.org/22949

2016-03-05  Bruno Haible  <bruno@clisp.org>

	extern-inline: port to PGI CC
	* m4/extern-inline.m4 (gl_EXTERN_INLINE): For PGI CC, don't use the
	keyword 'inline'.
	Reported by Adam James Stewart in:
	http://lists.gnu.org/r/bug-gnulib/2016-03/msg00006.html

2016-02-20  Paul Eggert  <eggert@cs.ucla.edu>

	signbit: port back to pre-C++11 GCC
	* lib/math.in.h (signbit): Do previous change only if
	__cplusplus < 201103.  See Jonathan Wakely in:
	https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/UY3VX3W7XEXYTUKHG5BALU4ACUD7ZLGE/

2016-02-19  Kamil Dudka  <kdudka@redhat.com>

	mountlist: recognize autofs-mounted remote file systems, too
	Originally reported at: https://bugzilla.redhat.com/1309247
	* lib/mountlist.c (ME_REMOTE): Return true if a file system is named
	"-hosts" because it is used by autofs to mount remote file systems.

2016-02-19  Paul Eggert  <eggert@cs.ucla.edu>

	signbit: port to C++ with GCC 6
	* lib/math.in.h (signbit) [__cplusplus]:
	Do not replace with GCC builtin.  Reported by Orion Poplawski in:
	http://lists.gnu.org/r/bug-gnulib/2016-02/msg00005.html

	* lib/regex_internal.h (IDX_MAX) [_REGEX_LARGE_OFFSETS]: Now SSIZE_MAX.

	regex: make it closer to libc
	Make Idx a signed type, rather than possibly unsigned.
	The unsignedness was not really buying us anything, since the code
	overflows for other reasons before getting to PTRDIFF_MAX.  Making
	it signed allows us to use -1 and -2 with abandon, like libc does,
	thus lessening the number of differences between gnulib and libc.
	Also, it should help avoid gratuitous warnings like the one
	reported by Nelson H. F. Beebe in: http://bugs.gnu.org/22702
	* lib/regex.h (__re_idx_t): Remove.  All uses changed to regoff_t.


	regex: merge patches from libc

	2015-10-21  Joseph Myers  <joseph@codesourcery.com>
	2015-10-20  Joseph Myers  <joseph@codesourcery.com>
	Convert miscellaneous function definitions to prototype style.
	* lib/regcomp.c (re_compile_pattern, re_set_syntax)
	(re_compile_fastmap, regcomp, regerror, regfree, re_comp):
	* lib/regexec.c (regexec, re_match, re_search, re_match_2, re_search_2)
	(re_search_2_stub, re_search_stub, re_set_registers, re_exec)
	(re_search_internal):
	Convert to prototype-style function definition.
	Use internal_function for internal functions.

2016-02-10  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign: port to older HP and IBM cc
	* lib/stdalign.in.h (_Alignas): Port better to older HP and IBM
	C compilers, by checking their version numbers.  These version
	numbers appear in MariaDB and in Qt code that dates way back and
	that conditiionally uses the 'aligned' attribute.

2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign: port to clang 3.7.0
	Problem reported by Herbert J. Skuhra in:
	http://lists.gnu.org/r/emacs-devel/2016-02/msg00476.html
	* lib/stdalign.in.h (alignas): Fix typo that prevented 'alignas'
	from being defined on clang 3.7.0, which has a buggy stdalign.h.  See:
	https://llvm.org/bugs/show_bug.cgi?id=26547

2016-02-08  Paul Eggert  <eggert@cs.ucla.edu>

	readdir_r: now obsolescent
	* doc/posix-functions/readdir_r.texi (readdir_r): Now obsolescent.
	* lib/mountlist.c (read_file_system_list): Add a FIXME.

2016-02-06  Paul Eggert  <eggert@cs.ucla.edu>

	misc: port better to gcc -fsanitize=address
	Without these patches, ./configure CFLAGS='-fsanitize=address'
	would compute incorrect values.  This patch fixes some (but not all)
	test failures with recent glibc, with this configuration.
	* m4/acl.m4 (gl_ACL_GET_FILE):
	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF):
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS):
	* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO):
	* m4/duplocale.m4 (gl_FUNC_DUPLOCALE):
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
	* m4/getdelim.m4 (gl_FUNC_GETDELIM):
	* m4/getgroups.m4 (gl_FUNC_GETGROUPS):
	* m4/getline.m4 (gl_FUNC_GETLINE):
	* m4/malloc.m4 (_AC_FUNC_MALLOC_IF):
	* m4/realloc.m4 (_AC_FUNC_REALLOC_IF):
	* m4/regex.m4 (gl_REGEX):
	* m4/strndup.m4 (gl_FUNC_STRNDUP):
	* tests/test-calloc-gnu.c (main):
	* tests/test-duplocale.c (main):
	* tests/test-getgroups.c (main):
	* tests/test-getline.c (main):
	* tests/test-inttostr.c (main):
	* tests/test-localename.c (test_locale_name)
	(test_locale_name_thread, test_locale_name_environ)
	(test_locale_name_default):
	* tests/test-regex.c (main):
	* tests/test-setlocale1.c (main):
	* tests/test-stat.h (test_stat_func):
	Free heap-allocated storage before exiting.
	* m4/asm-underscore.m4 (gl_ASM_SYMBOL_PREFIX):
	Don't match *_foo symbols inserted by AddressSanitizer.
	* tests/test-regex.c, tests/test-stat.c: Include stdlib.h, for 'free'.

2016-02-02  Jim Meyering  <meyering@fb.com>

	verify-tests: also remove stray test-verify.Tpo
	* modules/verify-tests (Makefile.am): Arrange for "make clean"
	to remove the test-verify.Tpo file that is left behind by
	the automake-generated rule upon compilation failure.
	Otherwise, that .Tpo file would cause a failed "make distcheck"
	at least for grep.

2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	std-gnu11: new module
	This makes it easier for applications to prefer C11 and C++11
	to older variants, when compiling C and C++ code.
	Unlike most m4/*.m4 files, m4/std-gnu11.m4 is GPLed, as it copies
	a nontrivial chunk of GPLed Autoconf source code.
	* COPYING: Mention the m4/*.m4 copyright situation.
	* MODULES.html.sh (std-gnu11): New module.
	* m4/std-gnu11.m4, modules/std-gnu11: New files.

2016-01-25  Paul Eggert  <eggert@cs.ucla.edu>

	get-permissions, strftime: fix grammar in comments
	* lib/get-permissions.c, lib/strftime.c: Merge into the comments
	some grammar fixes Alan Mackenzie made to GNU Emacs.

2016-01-25  Daiki Ueno  <ueno@gnu.org>

	gettext: mark as obsolete
	Suggested by Paul Eggert in:
	https://lists.gnu.org/r/bug-gnulib/2016-01/msg00101.html
	* modules/gettext (Status): Mark as obsolete.
	(Notice): Suggest to use 'gettext-h' instead.
	* modules/gettext-h (Description): Suggest GNU gettext, instead of
	the 'gettext' module.

2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>

	gnulib-tool: don't give up on ln -s so easily
	* gnulib-tool (func_ln_s): Don't give up on a later ln -s merely
	because an earlier one failed.  The targets could be on different
	file systems.  Problem reported by KO Myung-Hun in:
	http://lists.gnu.org/r/bug-gnulib/2016-01/msg00081.html

	closedir: fix OS/2-related typos
	Problem reported by KO Myung-Hun in:
	http://lists.gnu.org/r/bug-gnulib/2016-01/msg00107.html
	* m4/closedir.m4 (gl_FUNC_CLOSEDIR): Fix a couple of typos
	in the last couple of changes.

2016-01-24  KO Myung-Hun  <komh78@gmail.com>

	openat_proc_name: fix that last '/' is overwritten on OS/2 kLIBC
	* lib/openat-proc.c (openat_proc_name): Increase dirlen by 1 after
	copying a directory.

2016-01-24  Paul Eggert  <eggert@cs.ucla.edu>

	regex: treat [x] as x if x is a unibyte encoding error
	Problem reported by Aharon Robbins in:
	http://lists.gnu.org/r/bug-gnulib/2016-01/msg00091.html
	* lib/regcomp.c (parse_byte) [!_LIBC && RE_ENABLE_I18N]: New function.
	(build_range_exp) [!_LIBC && RE_ENABLE_I18N]: Use it.

	closedir, dirfd, opendir: port to OpenSolaris 5.10
	* m4/closedir.m4 (gl_FUNC_CLOSEDIR):
	* m4/dirfd.m4 (gl_FUNC_DIRFD):
	* m4/opendir.m4 (gl_FUNC_OPENDIR):
	Don't use ${word##pat} substitution, as it doesn't work in
	OpenSolaris 5.10 /bin/sh.  Problem reported by Assaf Gordon in:
	http://bugs.gnu.org/22443#11

2016-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	bootstrap: use American spelling
	* build-aux/bootstrap: Honor American spelling.

2016-01-22  Karl Berry  <karl@freefriends.org>

	* doc/posix-functions/localtime.texi,
	* doc/posix-functions/localtime_r.texi: @item needed for @itemize text.

2016-01-21  Bruno Haible  <bruno@clisp.org>

	hash-pjw-bare: fix comment
	* lib/hash-pjw-bare.h (hash_pjw_bare): Fix comment.

	wcwidth: Replace also on OpenBSD 5.8
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check the value of wcwidth(0xFF1A).
	* doc/posix-functions/wcwidth.texi: Update.

2016-01-20  Pádraig Brady  <P@draigBrady.com>

	gnu-web-doc-update: fix addition of new files
	If there were already added (emnpty) dirs,
	then cvs aborts the add with the message:
	  cvs [add aborted]: there is a version in <./dirname> already
	* build-aux/gnu-web-doc-update: Add directories separately
	to the addition of files, to avoid the above issue
	impacting the addition of files.

2016-01-19  Daiki Ueno  <ueno@gnu.org>

	utimens-tests: avoid pulling gettext .m4 files
	Although this is not the right fix to the original problem:
	http://lists.gnu.org/r/bug-gnulib/2013-01/msg00086.html
	it makes it possible again for consumer projects to use arbitrary
	version of gettext, through the steps described at:
	http://www.gnu.org/software/gnulib/manual/html_node/gettextize-and-autopoint.html
	See here for details:
	https://lists.gnu.org/r/bug-gnulib/2016-01/msg00079.html
	* modules/futimens-tests (Depends-on): Add 'gettext-h' in place of
	'gettext'.
	* modules/utimens-tests (Depends-on): Add 'gettext-h' in place of
	'gettext'.

2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>

	regex: pacify static checkers
	Problem and draft fix reported by Aharon Robbins in:
	http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
	* lib/regcomp.c (build_charclass_op, create_tree) [lint]:
	Clear memory to pacify static checkers.

	regex: fix [ diagnostic
	Problem and fix reported by Aharon Robbins in:
	http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
	* lib/regcomp.c (REG_EBRACK_IDX): Fix misleading diagnostic about [.

	regex: fix memory leaks
	Problem and draft fix reported by Aharon Robbins in:
	http://lists.gnu.org/r/bug-gnulib/2016-01/msg00082.html
	* lib/regcomp.c (build_range_exp, build_charclass_op)
	* lib/regex_internal.c (re_dfa_add_node):
	Fix memory leak on failure.

2016-01-18  Pádraig Brady  <P@draigBrady.com>

	fts: don't unconditionally use leaf optimization for NFS
	NFS st_nlink are not accurate on all implementations,
	leading to aborts() if that assumption is made.
	See <https://bugzilla.redhat.com/1299169>
	* lib/fts.c (leaf_optimization_applies): Remove NFS from
	the white list, and document the issue.

2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
            KO Myung-Hun  <komh@chollian.net>

	gnulib-tool: don't assume ln -s works
	* gnulib-tool (func_ln_s): New function.
	(func_ln): Use it.

2016-01-15  KO Myung-Hun  <komh@chollian.net>

	utimes: detect utimes() correctly on OS/2 kLIBC
	utimes() of OS/2 kLIBC has some limitations.
	1. OS/2 itself supports a file date since 1980 year in local time.
	2. OS/2 itself supports only even seconds for a file time.
	3. utimes() of OS/2 kLIBC does not work on an opened file.
	* m4/utimes.m4: Detect utimes() correctly on OS/2 kLIBC.
	* doc/posix-functions/utimes.texi: Document the above limitations of
	utimes() on OS/2 kLIBC.

2016-01-15  Paul Eggert  <eggert@cs.ucla.edu>
            KO Myung-Hun  <komh@chollian.net>

	openat_proc_name: port to OS/2 kLIBC
	OS/2 kLIBC provides a function to retrive a path from a fd. Use it
	instead of /proc/self/fd.
	* lib/openat-proc.c (openat_proc_name):
	Don't assume file name length is less than INT_MAX.
	Port to OS/2 kLIBC with __libc_Back_ioFHToPath().

2016-01-14  KO Myung-Hun  <komh@chollian.net>

	stdint: check _INTPTR_T_DECLARED for intptr_t etc.
	OS/2 kLIBC's stdint.h defines _INTPTR_T_DECLARED and needs its own
	definitions of intptr_t and uintptr_t (which use int and unsigned)
	to avoid clashes with declarations of system functions like sbrk.
	* lib/stdint.in.h (intptr_t, uintptr_t): Check
	_INTPTR_T_DECLARED before defining them.

	opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC
	* lib/closedir.c (closedir): Unregister fd if closedir() succeeds.
	* lib/dirent.in.h (_gl_register_dirp_fd, _gl_unregister_dirp_fd):
	Declare on kLIBC.
	* lib/dirfd.c (struct dirp_fd_list): New. Structures to keep track of
	fd associated with dirp.
	(_gl_register_dirp_fd): New. Register fd associated with dirp to
	dirp_fd_list.
	(_gl_unregister_dirp_fd): New. Unregister fd with closing it.
	(dirfd): Implemented for kLIBC.
	* lib/fdopendir.c (fdopendir): Implemented for kLIBC.
	* lib/opendir.c (opendir): New. Register fd and dirp pair if open()
	succeeds.
	* m4/closedir.m4 (gl_FUNC_CLOSEDIR): Replace if OS/2.
	* m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
	(REPLACE_DIRFD): Define to 1 if replaced.
	* m4/opendir.m4 (gl_FUNC_OPENDIR): Likewise.
	* modules/closedir (Depends-on): Add dirfd.
	* modules/dirfd (Depends-on): Add 'test $REPLACE_DIRFD = 1' to errno
	condition.
	(configure.ac): Add dirfd to LIBOBJS if $REPLACE_DIRFD = 1 as well.
	* modules/opendir (Depends-on): Add dirfd.

	dup, dup2, fcntl: support a directory fd on OS/2 kLIBC
	On OS/2 kLIBC, dup(), dup2() and fcntl() do not work on a directory fd.
	* lib/dup.c (dup_nothrow): New.
	* lib/dup2.c (klibc_dup2dirfd): New. dup2() for a directory fd.
	(klibc_dup2): New.
	* lib/fcntl.c (klibc_fcntl): New.
	* m4/dup.m4 (gl_FUNC_DUP): Check if dup() works on a directory fd.
	* m4/dup2.m4 (gl_FUNC_DUP2): Check if dup2() works on a directory fd.
	* m4/fcntl.m4 (gl_FUNC_FCNTL): Check if F_DUPFD works on a directory
	fd.

	pipe_filter_ii_execute: port to OS/2 kLIBC
	Pipes on kLIBC do not support O_NONBLOCK like Win32.
	* lib/pipe-filter-ii.c (start_wrapper, _beginthreadex, CloseHandle,
	WaiForSingleObject, WaitForMultipleObjects): New on OS/2 kLIBC.
	Reuse Win32 code on OS/2 kLIBC.
	* lib/spawn-pipe.c: Reuse Win32 code on OS/2 kLIBC.
	* lib/w32spawn.h: Do not include windows.h on OS/2 kLIBC.

	wchar: fix "conflicting types" error for __wcwidth on OS/2 kLIBC
	On OS/2 kLIBC, wcwidth is a macro that expands to the name of a
	static inline function.  The implementation of wcwidth in wcwidth.c
	causes a "conflicting types" error.
	* lib/wchar.in.h: Undefine wcwidth on OS/2 kLIBC.

	w32spawn: clear SHELL_SPECIAL_CHARS and SHELL_SPACE_CHAR on OS/2 kLIBC
	spawn() on OS/2 kLIBC is not silly like one on Windows
	* libc/w32spawn.h (SHELL_SPECIAL_CHARS, SHELL_SPACE_CHAR): Set both to
	empty string on OS/2 kLIBC.

	pipe-filter-aux: undefine HAVE_SELECT on KLIBC
	On OS/2 kLIBC, select() works only on sockets.
	* lib/pipe-filter-aux.h (HAVE_SELECT): Undefine on OS/2 kLIBC.

	binary-io: don't put fd in binary mode if it is a console on EMX
	* lib/binary-io.h (SET_BINARY): Don't put fd in binary mode if it is
	a console on EMX.

2016-01-15  Pádraig Brady  <P@draigBrady.com>

	doc: mention unfixed issues with unsupported localtime() values
	* doc/posix-functions/localtime.texi: Mention that FreeBSD 10
	returns nonsense for localtime(2^56).
	* doc/posix-functions/localtime_r.texi: Likewise.

2016-01-14  Pádraig Brady  <P@draigBrady.com>

	doc: mention setlocale() issues on OpenBSD
	* doc/posix-functions/setlocale.texi: Mention setlocale(LC_ALL,"")
	never fails, and the need to check categories individually.

2016-01-14  Pádraig Brady  <P@draigBrady.com>

	sig2str: list all signals on FreeBSD >= 7
	FreeBSD >= 7 is contravening POSIX by not defining NSIG
	to the maximal statically defined signal value.
	It does define _SIG_MAXSIG though, so base SIGNUM_BOUND on that.
	* lib/sig2str.h (SIGNUM_BOUND): Define to (_SIG_MAXSIG - 2)
	where available, even when NSIG is defined.

2016-01-13  Paul Eggert  <eggert@cs.ucla.edu>

	acl-permissions: port to USE_ACL==0 platforms
	I ran into this problem when building bleeding-edge GNU Emacs
	with gcc -fsanitize=address on Fedora 23.  On this platform
	the ACL library does not pass the 'configure' test and Emacs
	then does not build due in part to what appear to be typos in the
	ACL part of Gnulib.
	* lib/acl-internal.c (free_permission_context):
	* lib/acl-internal.h (struct permission_context):
	Test whether USE_ACL is nonzero, not whether it is defined.

2016-01-12  Martin Sebor  <msebor@redhat.com>

	mktime: rename macro to avoid glibc clash
	* lib/mktime.c [DEBUG] (DEBUG): Rename to DEBUG_MKTIME.  See:
	https://sourceware.org/ml/libc-alpha/2016-01/msg00267.html

2016-01-12  Paul Eggert  <eggert@cs.ucla.edu>

	Port "$@" to OpenIndiana ksh93
	In http://lists.gnu.org/r/bug-autoconf/2015-12/msg00000.html
	Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh
	(derived from ksh 93t+ 2010-03-05).  ${1+"$@"} works around an ancient
	bug long-dead shells, so remove the workaround.
	* build-aux/announce-gen, build-aux/do-release-commit-and-tag:
	* build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
	* build-aux/prefix-gnulib-mk, build-aux/update-copyright:
	* build-aux/useless-if-before-free, tests/test-update-copyright.sh:
	Use "$@" instead of ${1+"$@"}.

	Port Universal Time settings to strict POSIX
	* build-aux/announce-gen, build-aux/bootstrap:
	* build-aux/do-release-commit-and-tag, build-aux/git-version-gen:
	* build-aux/gitlog-to-changelog, build-aux/gnu-web-doc-update:
	* build-aux/gnupload, build-aux/mkinstalldirs:
	* build-aux/move-if-change, build-aux/prefix-gnulib-mk:
	* build-aux/update-copyright, build-aux/useless-if-before-free:
	* build-aux/vc-list-files, tests/test-strftime.c:
	Use TZ="UTC0", not TZ="UTC".  Either works on GNU platforms,
	but POSIX says the behavior of TZ="UTC" is undefined.

2016-01-02  Paul Eggert  <eggert@cs.ucla.edu>

	msvc-inval: fix problem with unset shell var
	Problem reported by Karl Berry in:
	http://lists.gnu.org/r/bug-gnulib/2016-01/msg00004.html
	* modules/msvc-inval (Depends-on):
	AC_REQUIRE gl_MSVC_INVAL instead of merely calling it.
	* modules/msvc-nothrow (Depends-on): Likewise for gl_MSVC_NOTHROW.

2016-01-01  Pádraig Brady  <P@draigBrady.com>

	tests: for compare_(), use cmp -s where available
	* tests/init.sh (compare_): Only fall back to cmp without
	the POSIX defined -s option, where this is not available.

2016-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	version-etc: new year
	* build-aux/gendocs.sh (version):
	* doc/gendocs_template:
	* doc/gendocs_template_min:
	* doc/gnulib.texi:
	* lib/version-etc.c (COPYRIGHT_YEAR):
	Update copyright dates by hand in templates and the like.
	* all files: Run 'make update-copyright'.

2015-12-31  Paul Eggert  <eggert@cs.ucla.edu>

	human: fix output buffer overrun by 1
	* lib/human.c (human_readable): Fix off-by-one typo in buffer
	calculation that could lead to a one-byte buffer overrun.

2015-12-28  Daiki Ueno  <ueno@gnu.org>

	maint: fix operator precedence in mbrtowc test
	This is a fix for test breakage introduced by commit 45228d96; the
	equality expression must be parenthesized when negated with '!',
	otherwise we always get:

	  test-mbrtowc.c:49: assertion 'ret == (size_t)(-2)' failed

	* m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Negate the entire expression.
	* m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.

2015-12-23  James Youngman  <jay@gnu.org>

	regexprops-generic: update from regex.h
	* doc/regexprops-generic.texi: update by running the regexprops binary
	from findutils (the command line is 'regexprops "Regular Expressions"
	generic').  The recent (ish) change (5a5a9388) to regex.h aligning
	gnulib with GNU grep had made this document out-of-date.

2015-12-23  Pádraig Brady  <P@draigBrady.com>

	strftime-tests: avoid false failure on OS X
	* tests/test-strftime.c (struct localtime_rz_test): Add an
	ahistorical member which is used to warn rather than fail
	when tm_isdst isn't set for such entries.  This is the case for
	"1970-01-01 13:00:00 +1300 (NZDT)" on Darwin 13/14 at least.

2015-12-20  Kamil Dudka  <kdudka@redhat.com>

	fts: ensure leaf optimization is used for NFS
	NFS provides usable dirent.d_type but not necessarily for all entries
	of large directories.  See <https://bugzilla.redhat.com/1252549>
	* lib/fts.c (leaf_optimization_applies): Append NFS on the white list.

2015-12-20  Pádraig Brady  <P@draigBrady.com>

	fts: enable leaf optimization for XFS
	XFS provides usable dirent.d_type only for DT_DIR,
	but the noleaf optimization still applies.
	* lib/fts.c (leaf_optimization_applies): Add XFS to the white list.

2015-12-17  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: comment fix
	* lib/intprops.h: Fix comment.	Reported by Pádraig Brady in:
	http://lists.gnu.org/r/bug-gnulib/2015-12/msg00013.html

	intprops-test: work around GCC bug 68971
	Problem reported by Pádraig Brady in:
	http://lists.gnu.org/r/bug-gnulib/2015-12/msg00011.html
	* tests/test-intprops.c: Ignore -Woverflow in GCC 6 and earlier.
	(main): Add a case that better tests 64-bit long in this area.

2015-12-09  Pavel Raiskup  <praiskup@redhat.com>

	gnulib-tool: allow multiple --local-dir usage
	* gnulib-tool: Use --local-dir to construct compound
	$local_gnulib_path path instead of $local_gnulib_dir.  Determine
	PATH_SEPARATOR early.
	(local_gnulib_dir): Rename into $local_gnulib_path everywhere.
	(func_gnulib_dir): Cut out PATH_SEPARATOR detection code into
	func_determine_path_separator because that needs to be detected
	earlier now.
	(func_determine_path_separator): New function.
	(func_path_foreach, func_path_foreach_inner): New functions.
	(func_path_prepend, func_path_append): Likewise.
	(func_lookup_local_file, func_lookup_local_file_cb): Likewise.
	(func_lookup_file, func_all_modules): Use new functions to work
	with local_gnulib_path.
	(func_modules_in_dir, func_exists_module): New callbacks for
	func_path_foreach.
	(func_exists_module, func_get_tests_module): Likewise.
	(func_is_local_file, func_should_symlink): New helper methods.
	(func_add_file, func_update_file): Use new func_should_symlink
	instead, DRY.
	(func_reconstruct_cached_local_gnulib_path): New helper.
	(func_reconstruct_cached_dir): New callback.
	(func_import): The cached_local_gnulib_dir renamed to
	cached_local_gnulib_path similarly to local_gnulib_dir.
	Use new func_reconstruct_cached_local_gnulib_path.
	(func_count_relative_local_gnulib_path): New sub-method.
	(func_create_testdir): Use func_should_symlink, DRY.
	(func_create_megatestdir): Use new functions to work with
	local_gnulib_path correctly.
	(func_append_local_dir): New helper.

2015-12-08  Pádraig Brady  <P@draigBrady.com>

	fix freadptr to work with ungetc on all uClibc configs
	Reported at https://bugs.busybox.net/show_bug.cgi?id=4099
	where GNU coreutils cut(1) generates invalid output on uClibc
	when __UCLIBC_HAS_STDIO_GETC_MACRO__ is not defined.
	* lib/freadptr.c (freadptr): Return NULL if there are
	ungotten chars.  In this case freadseek() will iterate
	again to process the ungotten character.

2015-11-13  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc-oversized: improve performance with GCC 5
	* lib/xalloc-oversized.h (xalloc_oversized):
	Improve performance with GCC 5 by using __builtin_mul_overflow.

2015-11-10  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: new public macro EXPR_SIGNED
	Emacs can use this macro, so make it public.
	* doc/intprops.texi (Arithmetic Type Properties): Rename from
	'Integer Type Determination', since some of these macros apply
	to non-integer types.  Clarify what kinds of constant expressions
	these macros return.  Say when the arguments can be non-integers.
	Mention newly published macro EXPR_SIGNED.
	* lib/intprops.h (EXPR_SIGNED): Rename from _GL_INT_SIGNED, to
	make it public.  All uses changed.

	intprops: fix typo in clang port
	* lib/intprops.h (_GL_INT_OP_WRAPV): Fix misspelling of
	'__builtin_add_overflow' that is not caught by compiler.

2015-11-05  Paul Eggert  <eggert@cs.ucla.edu>

	test-timespec: fix typo in previous change
	* tests/test-timespec.c (main): Fix typo that reduced test quality.

	timespec-sub: fix overflow bug; add tests
	* lib/timespec-add.c (timespec_add):
	* lib/timespec-sub.c (timespec_sub):
	Work even if time_t is narrower than int (a theoretical
	possibility).  Redo code for a bit more clarity.
	* lib/timespec-sub.c (timespec_sub):
	Fix off-by-2 bug if a.tv_sec == TYPE_MINIMUM (time_t) and 0 < b.tv_sec.
	* modules/timespec-tests, tests/test-timespec.c: New files.

	intprops-test: suppress -Woverlength-strings
	Problem reported by Pádraig Brady in:
	http://lists.gnu.org/r/bug-gnulib/2015-11/msg00008.html
	It is not worth the hassle to port this test to compilers that
	cannot handle long strings in diagnostics.
	* tests/test-intprops.c [__GNUC__]: Ignore -Woverlength-strings.

2015-11-03  Pádraig Brady  <P@draigBrady.com>

	quotearg: add quotearg_n_style_colon()
	This quotes with default options of the specified style,
	but with quoting enabled for instances of ':'.
	* lib/quotearg.h (quotearg_n_style_colon): Description and declaration.
	* lib/quotearg.c (quotearg_n_style_colon): New function implementation.

2015-11-04  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: revise _WRAPV macros, revert _OVERFLOW
	The incompatible changes to the _OVERFLOW macros were too much of
	a hassle in practice, so revert them.  Instead, change the new
	_WRAPV macros to make them closer in behavior to GCC 5's new
	builtin_add_overflow etc. functions.  No other software was using
	these newly-added macros yet, so this should be OK.
	* NEWS: Revert previous change, since the incompatible change
	has been reverted, and nobody used the incompatible version.
	* doc/intprops.texi (Wraparound Arithmetic, Integer Type Overflow):
	Document revised behavior.
	(Integer Range Overflow): Adjust example to match above revisions.
	* lib/intprops.h (INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW)
	(INT_MULTIPLY_OVERFLOW): Revert previous change, so that
	these can be used in integer constant expressions again.
	(INT_CONST_ADD_OVERFLOW, INT_CONST_SUBTRACT_OVERFLOW)
	(INT_CONST_MULTIPLY_OVERFLOW): Remove, as these are no longer
	needed.
	(INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
	(INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
	(INT_REMAINDER_WRAPV, INT_LEFT_SHIFT_WRAPV):
	Remove, as they did not seem that useful.
	(INT_ADD_WRAPV, INT_SUBTRACT_WRAPV, INT_MULTIPLY_WRAPV)
	(_GL_INT_OP_WRAPV, _GL_INT_OP_WRAPV_LONGISH)
	(_GL_INT_OP_WRAPV_VIA_UNSIGNED):
	Support new semantics.
	(__has_builtin): New macro, if not alreay defined.
	(_GL__GENERIC_BOGUS, _GL_INT_OP_CALC, _GL_INT_OP_CALC1): New macros.
	* tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
	(INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
	(INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
	(INT_CONST_LEFT_SHIFT_WRAPV): Remove.
	(CHECK_SBINOP, CHECK_SSUM, CHECK_SUM1, CHECK_SSUM1)
	(CHECK_SDIFFERENCE, CHECK_SPRODUCT, CHECK_PRODUCT1, CHECK_SPRODUCT1):
	New macros.
	(CHECK_BINOP, CHECK_UNOP, main, CHECK_SUM): Test new behavior.

2015-11-03  Jim Meyering  <meyering@fb.com>

	intprops: add parentheses for when OP has precedence lower than "-"
	* lib/intprops.h (_GL_INT_OP_WRAPV_VIA_UNSIGNED): In "a OP b - c",
	"a OP b" must be parenthesized for when OP is like "<<", which has
	lower precedence than the following "-". Reported by Pádraig Brady.

2015-11-03  Pádraig Brady  <P@draigBrady.com>

	quotearg: constify get_quoting_style parameters
	* lib/quotearg.h (get_quoting_style): Mark parameter as const.
	* lib/quotearg.c (get_quoting_style): Likewise.

2015-11-02  Pádraig Brady  <P@draigBrady.com>

	quotearg: add support for $'' shell escaping
	* lib/quotearg.h: Add "shell-escape" and "shell-escape-always"
	items and descriptions.
	* lib/quotearg.c (quotearg_buffer_restyled): Add support for the
	above types by quoting like "shell", but using $'...' syntax
	for non printable characters, which should provide unambiguous
	printable output for any input.
	* tests/test-quotearg-simple.c: Update accordingly.

2015-11-02  Pádraig Brady  <P@draigBrady.com>

	maint: use a more standard return from mbrtowc test
	* m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): Don't return 1
	from the test program as this is non standard and often
	indicates an unhandled case in the test program.
	* m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): Likewise.

2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: add WRAPV and const flavors for GCC 5
	If available, use GCC 5's builtin functions for efficient integer
	overflow checking.  Also, add macros like INT_ADD_WRAPV efficently
	and safely compute the low-order bits of the correct answer.
	A downside of these efficient functions is that they cannot be
	used in constant expressions, so add macros like INT_CONST_ADD_OVERFLOW
	and INT_CONST_ADD_WRAPV that can be used even in constant expressions.
	* NEWS: Document the incompatible changes to INT_ADD_OVERFLOW etc.
	* doc/intprops.texi (Integer Properties, Integer Type Overflow):
	Document the changes.
	(Wraparound Arithmetic): New section.
	(Integer Range Overflow):
	Put this subsection last, since it's least useful.
	* lib/intprops.h (INT_CONST_ADD_OVERFLOW)
	(INT_CONST_SUBTRACT_OVERFLOW, INT_CONST_MULTIPLY_OVERFLOW):
	New macros, with the meaning that INT_ADD_OVERFLOW etc. used to have.
	(INT_CONST_ADD_WRAPV, INT_CONST_SUBTRACT_WRAPV)
	(INT_NEGATE_WRAPV, INT_CONST_MULTIPLY_WRAPV, INT_DIVIDE_WRAPV)
	(INT_REMAINDER_WRAPV, _GL_INT_OP_WRAPV, _GL_EXPR_CAST)
	(_GL_INT_OP_WRAPV_LONGISH, INT_ADD_WRAPV, INT_SUBTRACT_WRAPV)
	(INT_MULTIPLY_WRAPV, _GL_OP_OVERFLOW, _GL_OP_WRAPV, _GL_OP_WRAPV_GENSYM):
	New macros.
	(INT_ADD_OVERFLOW, INT_SUBTRACT_OVERFLOW, INT_MULTIPLY_OVERFLOW):
	Generate calls to GCC builtins if available, for speed.
	* tests/test-intprops.c (INT_CONST_DIVIDE_OVERFLOW)
	(INT_CONST_REMAINDER_OVERFLOW, INT_CONST_LEFT_SHIFT_OVERFLOW)
	(INT_CONST_DIVIDE_WRAPV, INT_CONST_REMAINDER_WRAPV)
	(INT_CONST_LEFT_SHIFT_WRAPV): New macros.
	(main, CHECK_BINOP, CHECK_UNOP, CHECK_SUM, CHECK_PRODUCT)
	(CHECK_QUOTIENT, CHECK_REMAINDER):
	Test WRAPV and CONST flavors (when available) too.

2015-10-30  Pádraig Brady  <P@draigBrady.com>

	doc: use extended timezone format in iso-8601 example
	* doc/parse-datetime.texi: The standard states that extended format
	is to be used consistently throughout.
	Note that lib/parse-datetime.y can handle either tz format.

2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign: port to Sun C 5.9
	* doc/posix-headers/stdalign.texi: Document this.
	* lib/stdalign.in.h (_Alignas): Sun C 5.9 also supports
	__attribute__ ((__aligned__ (...))).

2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>

	time_rz: fix comment about tzalloc
	* lib/time_rz.c (tzalloc): Fix comment.

2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign: work around pre-4.9 GCC x86 bug
	* lib/stdalign.in.h (_Alignof): Work around bug in pre-4.9 GCC on
	x86, when -std=gnu11 is used.  Problem reported by Jim Meyering in:
	http://lists.gnu.org/r/bug-gnulib/2015-10/msg00038.html

2015-10-18  Pádraig Brady  <P@draigBrady.com>

	maint.mk: sc_tight_scope: remove extraneous expressions
	* top/maint.mk (tight_scope): This is not really required since
	commit 3ef58f46 as sed_wrap ensures we don't get an empty expression
	that matches all nm entries.  But it does remove extraneous entries
	that may be confusing or cause issue in future maintenance.

2015-10-18  Paul Eggert  <eggert@cs.ucla.edu>

	time_rz: return NULL if localtime_r fails
	* lib/time_rz.c (localtime_rz): Return NULL if localtime_r fails,
	while still attempting to pacify bleeding-edge GCC.

	fts: port to C11 alignof
	* doc/posix-headers/stdalign.texi (stdalign.h):
	Document the C11 restriction.
	* lib/fts.c: Include stddef.h, for max_align_t.
	(fts_alloc): Align using max_align_t, not FTSENT.
	* modules/fts (Depends-on): Add stddef.

2015-10-18  Jim Meyering  <meyering@fb.com>

	time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
	Compiling with gcc version 6.0.0 20151017 (experimental) (GCC), I
	would see this:

	lib/time_rz.c: In function 'localtime_rz':
	lib/time_rz.c:292:15: error: nonnull argument 'tm' compared to NULL \
	  [-Werror=nonnull]
	           if (tm && !save_abbr (tz, tm))
	               ^

	That was complaining about "tm" because it is a parameter that was
	declared with the __nonnull__ attribute.
	* lib/time_rz.c (localtime_rz): Don't bother setting "tm" to the
	result of localtime_r.

2015-10-17  Jim Meyering  <meyering@fb.com>

	maint.mk: _gl_TS_function_match: fix "extern" name extracting regexp
	* top/maint.mk (_gl_TS_function_match): This heuristic extern-function-
	name-extraction regexp mistakenly used \S+, and would mistakenly
	extract "*F" from "extern int *F()" rather than the desired "F".
	Use \w+ instead.

2015-10-17  Jim Meyering  <meyering@fb.com>

	maint.mk: sc_tight_scope: factor and support OS X
	* top/maint.mk (_gl_tight_scope): Address three issues:
	- factor out four instances of code that wraps a string in "^...$"
	- allow nm-reported symbol names to have an optional leading "_"
	- add "main" to the list of ignored variable names, because on os x,
	"main" has nm-reported type "S" in the variable-checking section.

2015-10-16  Dmitry Smirnov  <onlyjob@member.fsf.org>

	safe-alloc-tests: fix typo in license header
	* tests/test-safe-alloc.c: Mention LGPL 2.1, not 3.1

2015-10-15  Simon Reinhardt  <simon@keinstein.org>

	copy-file: fix mem leak in error case
	* lib/copy-file.c (qcopy_file_preserving): Free the 32KiB buffer
	upon error opening or performing I/O to the src and dest files.

2015-10-15  Mike Frysinger  <vapier@chromium.org>

	localename: control langinfo.h inclusion
	This header is only used to work around buggy behavior in old
	versions of glibc, so do not include it all the time.  Otherwise
	we get build failures on systems that do not provide langinfo.h.
	* lib/localename.c: Wrap langinfo.h include with same ifdefs used
	in the source later on.
	The patch was originally submitted to gettext as:
	https://lists.gnu.org/r/bug-gettext/2015-10/msg00011.html

2015-10-13  Paul Eggert  <eggert@cs.ucla.edu>

	binary-io, math, pthread, sys_socket, u64, unistd: port to strict C
	* lib/binary-io.c, lib/math.c, lib/pthread.c, lib/sys_socket.c:
	* lib/u64.c, lib/unistd.c:
	Append 'typedef int dummy;', to pacify compilers that are picky
	about empty translation units.

2015-10-12  Pino Toscano  <ptoscano@redhat.com>

	accept4-tests: fix to avoid non portable flags
	* tests/test-accept4.c (main): Pass only SOCK_* flags to accept4(),
	as they are the only documented ones, and passing others may trigger
	EINVAL (seen on FreeBSD 10.1-RELEASE).
	* doc/glibc-functions/accept4.texi: Mention that we don't provide
	the SOCK_CLOEXEC or SOCK_NONBLOCK defines.

2015-10-06  Pavel Raiskup  <praiskup@redhat.com>

	gnulib-tool: fix tests of 'extensions' module
	This complements f8fe25fab60e3c687a124 commit.
	* gnulib-tool (func_emit_pre_early_macros): New function, it wraps
	emitting of initial gl_EARLY macros.
	(func_import, func_create_testdir): All dumps of gl_PROG_AR_RANLIB
	replaced with func_emit_pre_early_macros call.

2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	unicase/locale-language: fix typo in utf-8 cookie
	* lib/unicase/locale-languages.gperf: Fix gperf input file format.
	Problem reported by Zbigniew Jędrzejewski-Szmek.

2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc: do not worry about GCC 5 warning on 32 bit
	* lib/xalloc.h: Revert previous change.
	I found a better way to fix this in coreutils.

2015-10-02  Pádraig Brady  <P@draigBrady.com>

	xalloc: avoid GCC 5.1 warning on 32 bit
	* lib/xalloc.h: Disable -Wstrict-overflow for uses of
	xalloc_oversized(), which was seen to give this warning
	on GCC 5.1 on 32 bit: "assuming signed overflow does not occur
	when simplifying conditional".

2015-10-02  Daiki Ueno  <ueno@gnu.org>

	uniname/uniname-tests: avoid compiler warnings
	* tests/uniname/test-uninames.c (fill_names, fill_aliases): Remove
	unused local variables.
	(test_alias_lookup): Fix alias name display in failure cases.

2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>

	c-ctype: do not worry about EBCDIC + char signed
	Drop support for EBCDIC with char being signed, as this breaks too
	many programs.  Problem reported by Ben Pfaff in:
	http://lists.gnu.org/r/bug-gnulib/2015-09/msg00053.html
	* lib/c-ctype.h: Verify that we are not using EBCDIC with
	char being signed.
	(_C_CTYPE_LOWER_A_THRU_F_N): New macro.
	(_C_CTYPE_LOWER_N, _C_CTYPE_A_THRU_F): Use it.
	(_C_CTYPE_DIGIT, _C_CTYPE_LOWER, _C_CTYPE_PUNCT, _C_CTYPE_UPPER):
	(c_isascii, c_isgraph, c_isprint, c_ispunct, c_tolower, c_toupper):
	* tests/test-c-ctype.c (test_all):
	Simplify by assuming standard char values cannot be negative.
	* tests/test-c-ctype.c (NCHARS, to_char): Remove; all uses removed.

2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>

	c-ctype: port better to z/OS EBCDIC
	Problems reported by Daniel Richard G. in:
	http://lists.gnu.org/r/bug-gnulib/2015-09/msg00050.html
	* lib/c-ctype.h (_C_CTYPE_CNTRL): Rewrite in terms of
	the C standard escapes and _C_CTYPE_OTHER_CNTRL.
	(_C_CTYPE_OTHER_CNTRL): New macro.
	* tests/test-c-ctype.c (test_all): Test from CHAR_MIN, not
	from SCHAR_MIN, as the functions are defined only from values
	promoted from char or from unsigned char, not necessarily from
	signed char.

2015-09-25  Pavel Raiskup  <praiskup@redhat.com>

	gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash

	The gl_PROG_AR_RANLIB (it is always called by gl_EARLY) sets AR
	and ARFLAGS variables.  Doing this unconditionally could break
	later Automake's AM_PROG_AR invocation (at least it's
	AC_CHECK_TOOLS call to detect correct 'ar' binary).

	Original purpose of the gl_PROG_AR_RANLIB was only to handle the
	Amsterdam Compiler Kit, so make the previous code to have effects
	only on ACK, and rather automatically call the Automake's
	AM_PROG_AR as soon as possible to decide other cases.

	References:
	http://lists.gnu.org/r/bug-gnulib/2015-07/msg00001.html

	* m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): AC_BEFORE AM_PROG_AR.
	Set the AR/ARFLAGS to ACK defaults OR call AM_PROG_AR.  If neither
	is possible, keep setting AR/ARFLAGS to reasonable defaults.
	* gnulib-tool (func_import): Put the gl_USE_SYSTEM_EXTENSIONS
	right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the
	'extensions' module is used.
	* modules/extensions (configure.ac-early): Remove as this snippet
	is added to gnulib-comp.m4 earlier anyway.

2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>

	sockets: MS Windows initalization fixes
	Problem reported by Test User in:
	http://lists.gnu.org/r/help-shishi/2015-09/msg00001.html
	* lib/sockets.h (SOCKETS_1_0, SOCKETS_2_0, SOCKETS_2_1):
	Correct the endianness.
	* lib/sockets.c (gl_sockets_startup): Return 2 on any version
	number mismatch, not just on <.  Cleanup before any such failure.

2015-09-25  Mats Erik Andersson  <gnu@gisladisker.se>

	gc: fix detection of installed libgcrypt version
	* m4/gc.m4: Use AM_PATH_LIBCRYPT to test for libcrypt versions
	at least as recent as 1.4.4.  The previously used macro is not
	available now, since modules were removed in version 1.6.0.

2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>

	c-ctype: rewrite to use inline functions
	This simplifies maintenance, since it makes for just one
	implementation of each function, letting the compiler have the fun
	of optimization.  In practice this works well nowadays with GCC.
	E.g., c_isascii might need only three instructions even though the
	source code lists every ASCII character individually in a large
	switch statement.
	Also, fix some z/OS porting bugs reported by Daniel Richard G. in:
	http://lists.gnu.org/r/bug-gnulib/2015-09/msg00037.html
	* NEWS: Document the API change.
	* lib/c-ctype.c: Drastically simplify, since this now just expands
	inline functions.
	* lib/c-ctype.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
	(C_CTYPE_INLINE): New macro.
	(C_CTYPE_CONSECUTIVE_DIGITS, C_CTYPE_CONSECUTIVE_LOWERCASE)
	(C_CTYPE_CONSECUTIVE_UPPERCASE): Remove.
	Verify that either ASCII or EBCDIC is being used.
	(_C_CTYPE_SIGNED_EBCDIC, _C_CTYPE_CNTRL, _C_CTYPE_A_THRU_F_N)
	(_C_CTYPE_DIGIT_N, _C_CTYPE_LOWER_N, _C_CTYPE_UPPER_N)
	(_C_CTYPE_CASES, _C_CTYPE_A_THRU_F, _C_CTYPE_DIGIT, _C_CTYPE_LOWER)
	(_C_CTYPE_UPPER, _C_CTYPE_PUNCT_PLAIN):
	New private macros.
	(_C_CTYPE_CNTRL): In EBCDIC, '\x07' is a control, not '\xff'.
	(c_isalnum, c_isalpha, c_isascii, c_isblank, c_iscntrl, c_isdigit)
	(c_isgraph, c_islower, c_isprint, c_ispunct, c_isspace, c_isupper)
	(c_isxdigit, c_tolower, c_toupper): Now inline functions.
	(c_tolower, c_toupper): When converting, return the unsigned char,
	as that is what z/OS does.
	* lib/c-strcaseeq.h (CASEEQ): Simplify in the light of the removal
	of some c-ctype.h macros.
	* modules/c-ctype (Depends-on): Add extern-inline; remove verify.
	* tests/test-c-ctype.c (test_all): Fix test for c_toupper and
	c_tolower promotion to be compatible with z/OS.

2015-09-24  Pavel Raiskup  <praiskup@redhat.com>

	gitlog-to-changelog: trim only trailing whitespaces
	This is fix for --format regression introduced by commit
	2b93079a5d1baa4d;  it caused that --format='%s%n%n%b%n' (see the
	doubled %n string) had no effect anymore.  This format
	specification has been used e.g. by GNU paxuitils (commit
	edfd8bcc3).

	* build-aux/gitlog-to-changelog (main): Stop squashing multiple
	newlines in commmit messages.

2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>

	Test that c_iscntrl agrees with iscntrl, etc.
	Suggested by Daniel Richard G. in:
	http://lists.gnu.org/r/bug-gnulib/2015-09/msg00034.html
	* modules/c-ctype-tests (Depends-on): Add ctype.
	* tests/test-c-ctype.c: Include <ctype.h>.
	(NCHARS): New constant.
	(test_agree_with_C_locale): New function.
	(main): Use it.
	(test_all): Use named constants.

	c-ctype: improve c_isascii testing
	* tests/test-c-ctype.c (test_all): Port c_isascii test to EBCDIC.
	Add a test to count the number of ASCII characters.

2015-09-22  Paul Eggert  <eggert@cs.ucla.edu>

	savewd: remove SAVEWD_CHDIR_READABLE
	It was problematic in the light of file systems that ignore umask.
	Problem reported by Sebastian Unger in: http://bugs.gnu.org/21534
	* NEWS: Document this.
	* lib/mkancesdirs.c (mkancesdirs): MAKE_DIR now returns 0 if
	successful, -1 (setting errno) on failure, rather than something
	more complicated than that.
	* lib/mkdir-p.c (make_dir_parents):
	Do not use SAVEWD_CHDIR_READABLE.
	* lib/savewd.c (savewd_chdir):
	Remove support for SAVEWD_CHDIR_READABLE.
	* lib/savewd.h (SAVEWD_CHDIR_READABLE): Remove.

	c-ctype: port better to EBCDIC
	Problems reported by Daniel Richard G. in
	http://lists.gnu.org/r/bug-gnulib/2015-09/msg00020.html
	* lib/c-ctype.c: Include <limits.h>, for CHAR_MIN and CHAR_MAX.
	Include "verify.h".
	(C_CTYPE_ASCII, C_CTYPE_CONSECUTIVE_DIGITS)
	(C_CTYPE_CONSECUTIVE_LOWERCASE, C_CTYPE_CONSECUTIVE_UPPERCASE):
	Define as enum constants with value false, if not defined, so that
	code can use 'if' instead of 'ifdef'.  Using 'if' helps make the
	code more portable, as both branches of the 'if' are compiled on
	all platforms.
	(C_CTYPE_EBCDIC): New constant.
	Verify that the character set is either ASCII or EBCDIC.
	(to_char): New static function.
	(c_isascii, c_iscntrl):
	Assume standard control-character assignments for EBCDIC.
	(c_isalnum, c_isalpha, c_isdigit, c_islower, c_isgraph, c_isprint)
	(c_ispunct, c_isupper, c_isxdigit, c_tolower, c_toupper):
	Rewrite to use 'if' instead of 'ifdef'.
	Use to_char if non-ASCII.  Prefer <= to >=.
	Prefer true and false to 1 and 0, for booleans.
	(c_iscntrl): Use 'if', not 'ifdef'.
	* modules/c-ctype (Depends-on): Add verify.
	* tests/test-c-ctype.c: Include <limits.h>, for CHAR_MIN
	(to_char): New function.
	(test_all): Port to EBCDIC.  Add some more tests, e.g., for c_ispunct.

2015-09-21  Pádraig Brady  <P@draigBrady.com>

	nanosleep: fix return code for interrupted replacement
	* lib/nanosleep.c (nanosleep): In the replaced nanosleep, ensure
	that we return -1 in the case the call is interrupted by a signal,
	rather than the current value of 1.
	Diagnosed and tested by Daniel Richard G.

2015-09-19  Paul Eggert  <eggert@cs.ucla.edu>

	Diagnose ERE '()|\1'
	Problem reported by Hanno Böck in: http://bugs.gnu.org/21513
	* lib/regcomp.c (parse_reg_exp): While parsing alternatives, keep
	track of the set of previously-completed subexpressions available
	before the first alternative, and restore this set just before
	parsing each subsequent alternative.  This lets us diagnose the
	invalid back-reference in the ERE '()|\1'.

	regex: merge patches from libc

	2015-09-08  Joseph Myers  <joseph@codesourcery.com>
	Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).
	* lib/regex_internal.h:
	Include <libc-lock.h> instead of <bits/libc-lock.h>.

	2015-06-09  Joseph Myers  <joseph@codesourcery.com>
	Fix regcomp wcscoll, wcscmp namespace (bug 18497).
	* lib/regcomp.c (build_range_exp): Call __wcscoll instead of
	wcscoll.
	* lib/regexec.c (check_node_accept_bytes): Likewise.

	2015-06-05  Joseph Myers  <joseph@codesourcery.com>
	Fix regex wcrtomb namespace (bug 18496).
	* lib/regex_internal.c (build_wcs_upper_buffer): Call __wcrtomb
	instead of wcrtomb.

	2015-06-05  Joseph Myers  <joseph@codesourcery.com>
	Fix regex wctype namespace (bug 18495).
	* lib/regcomp.c (re_compile_fastmap_iter): Call __towlower
	instead of towlower.
	* lib/regex_internal.c (build_wcs_upper_buffer): Call __iswlower
	instead of iswlower.  Call __towupper instead of towupper.
	* lib/regex_internal.h (IS_WIDE_WORD_CHAR): Call __iswalnum
	instead of iswalnum.

	2015-01-07  Chris Metcalf  <cmetcalf@ezchip.com>
	* lib/regcomp.c (parse_bracket_exp): Initialize type to
	COLL_SYM in a couple of places to avoid uninitialized variable
	wanings on tilegx gcc 4.8.2.

	2014-11-24  Siddhesh Poyarekar  <siddhesh@redhat.com>
	* lib/regex_internal.h: Remove NOT_IN_libc.

	2014-11-17  Andreas Schwab  <schwab@suse.de>
	* lib/regex_internal.h: Don't include <locale/elem-hash.h>.

	2014-09-11  Roland McGrath  <roland@hack.frob.com>
	Move findidx nested functions to top-level.
	* lib/regcomp.c [_LIBC]: #include <locale/weight.h>.
	(build_equiv_class) [_LIBC]: Don't #include it inside the function.
	Pass new arguments to findidx.
	* lib/regexec.c [RE_ENABLE_I18N] [_LIBC]: #include <locale/weight.h>.
	[RE_ENABLE_I18N] (check_node_accept_bytes) [_LIBC]:
	Don't #include it inside the function.  Pass new arguments to findidx.
	* lib/regex_internal.h:
	[!NOT_IN_libc] [_LIBC]: #include <locale/weight.h>.
	(re_string_elem_size_at): Don't #include it inside the function.
	Pass new arguments to findidx.

	2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>
	Check if DEBUG is defined in regex_internal.c
	* lib/regex_internal.c: Check if DEBUG is defined and is set.

2015-09-08   Assaf Gordon  <assafgordon@gmail.com>

	ceill: detect buggy OpenBSD implementation
	* m4/ceill.m4 (gl_FUNC_CEILL): Detect buggy openBSD implementation
	which returns zero for small values.  Discussed here:
	http://lists.gnu.org/r/bug-gnulib/2015-08/msg00010.html

2015-09-08  Dave Chiluk  <chiluk@canonical.com>

	mountlist: add me_mntroot field on Linux machines
	* lib/mountlist.c (read_file_system_list): Populate me_mntroot in
	mount_entry so Linux machines based on /proc/self/mountinfo can
	distinguish between bind mounts and original mounts.  In reality bind
	mounts aren't treated differently than mountroot=/ mounts by the
	kernel, but the user often wants these bind mounts distinguished.
	* lib/mountlist.h (struct mount_entry): Add me_mntroot element.
	More details at https://pad.lv/1432871

2015-09-08  Christian Egli  <christian.egli@sbs.ch>

	doc: Describe to use multiple instances of gnulib
	* doc/gnulib-tool.texi: Add a section to the manual outlining how two
	instances of gnulib with different modules can be used, for example one
	for a lib and another one for associated tools.

2015-09-01  Pádraig Brady  <P@draigBrady.com>

	base32: mark function as __attribute__ const
	* lib/base32.h (isbase32): Mark __attribute__ const as
	suggested by GCC, and consistent with the base64 module.

2015-08-20  Daiki Ueno  <ueno@gnu.org>

	gnulib-tool: don't transform binary files with sed
	* gnulib-tool (func_add_or_update): Don't apply sed_transform_* to
	.mo and .class files.
	Reported by Denis Denisov.

2015-08-10  Daiki Ueno  <ueno@gnu.org>

	gperf: respect silent rules
	* modules/gperf (Makefile.am): Define V_GPERF, V_GPERF_, and
	V_GPERF_0 for silent rules.
	* modules/iconv_open (Makefile.am): Use V_GPERF.
	* modules/unicase/locale-language (Makefile.am): Likewise.
	* modules/unicase/special-casing (Makefile.am): Likewise.
	* modules/unictype/category-byname (Makefile.am): Likewise.
	* modules/unictype/combining-class-byname (Makefile.am): Likewise.
	* modules/unictype/joininggroup-byname (Makefile.am): Likewise.
	* modules/unictype/joiningtype-byname (Makefile.am): Likewise.
	* modules/unictype/property-byname (Makefile.am): Likewise.
	* modules/unictype/scripts (Makefile.am): Likewise.
	* modules/uninorm/composition (Makefile.am): Likewise.

2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	Improve port of stdalign to C++11
	Problem reported by Sundaram in:
	http://lists.gnu.org/r/bug-gnulib/2015-08/msg00003.html
	* lib/stdalign.in.h (alignof, alignas): Don't define if C++11 or newer.
	(__alignas_is_defined): Define if C++11 or newer.

2015-08-01  Assaf Gordon  <assafgordon@gmail.com>  (tiny change)

	pmccabe2html: fix gawk regex escaping
	* build-aux/pmccabe2html: Add one more backslash to properly
	escape the gsub replacement value.  Fixes this error:
	gawk: ./build-aux/pmccabe2html:425: \
	warning: escape sequence `\&' treated as plain `&'

2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>

	time_rz: port to pedantic memcpy
	* lib/time_rz.c (tzalloc): Pacify pedantic memcpy implementations
	that reject memcpy (..., NULL, 0).

2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>

	time_rz: port better to MinGW
	Don't change tzname, as this makes MinGW dump core (Bug#21020).
	Instead, store the tzname copy in the struct tm_zone object.
	Problem reported by Eli Zaretskii in: http://bugs.gnu.org/21020#48
	* lib/strftime.c [!_LIBC]:
	* lib/time_rz.c: Include time-internal.h.
	* lib/strftime.c (strftime_case_) [!HAVE_TM_ZONE]: Infer the zone
	name from *TZ rather than from TZNAME, doable because *TZ now has
	a tzname_copy member.
	* lib/time-internal.h: New file, with contents taken from
	lib/time_rz.c.  It's separate because strftime.c now accesses
	struct tm_zone members.
	(struct tm_zone) [HAVE_TZNAME && !HAVE_TM_ZONE]:
	New member tzname_copy.
	* lib/time_rz.c (struct tm_zone): Move to time-internal.h.
	(tzalloc) [HAVE_TZNAME && !HAVE_TM_ZONE]:
	Initialize tzname_copy member.
	(save_abbr) [HAVE_TZNAME && !HAVE_TM_ZONE]: Save abbreviation
	in tzname_copy member.
	(revert_tz) [HAVE_TZNAME]: Remove no-longer-needed tzname saving.
	(restore_tzname): Remove; no longer needed.  All calls removed.
	* modules/time_rz (Files): Add lib/time-internal.h.

	time: port __need_time_t to MinGW
	* lib/time.in.h (__need_time_t): Do not treat specially on MinGW.
	Fix reported by Eli Zaretskii in: http://bugs.gnu.org/21020#36

2015-07-25  Paul Eggert  <eggert@cs.ucla.edu>

	strftime: fix newly-introduced bug on Solaris
	* lib/strftime.c (strftime_case_): Set the local variable 'zone'
	consistently at the start, rather than doing some of the setup at
	the start and some in the %Z format spec.  This is cleaner, and
	works better with time_rz on platforms like Solaris where struct
	tm lacks a tm_zone member, as when !HAVE_TM_GMTOFF %z's calls to
	mktime_z and localtime_rz can mess up the tzname cache.

	test-strftime: test for Solaris bug
	* modules/strftime-tests (Depends-on): Add strerror.
	* tests/test-strftime.c: Include <errno.h>.
	(posixtm_test): New function, containing the old 'main'.
	(struct tzalloc_test, struct localtime_rz_test): New types.
	(TZ, LT): New static vars.
	(tzalloc_test): New function.
	(main): Rewrite in terms of posixtm_test and tzalloc_test.

	time_rz: port to Solaris etc.
	Works around a tzname problem on platforms like Solaris that have
	tzname but not tm_zone, by setting tzname at the appropriate time
	and restoring it later.
	* lib/time_rz.c (tzname_address, tzname_value) [HAVE_TZNAME]:
	New static vars.
	(save_abbr) [HAVE_TZNAME]: Set them.
	(revert_tz) [HAVE_TZNAME]: Clear or use them.
	(restore_tzname): New function.
	(localtime_rz, mktime_z): Use it.

	time_rz: now LGPL
	* modules/time_rz (License): Now LGPL, because strftime depends on it.

	time_rz: make a constant 'const'
	* lib/time_rz.c (local_tz): Now const.

	time_rz: fix off-by-one typo
	* lib/time_rz.c (extend_abbrs): Fix off-by-one typo.

2015-07-23  Paul Eggert  <eggert@cs.ucla.edu>

	fprintftime, strftime: use timezone_t args
	* NEWS: Document the change.
	* lib/fprintftime.h (fprintftime):
	* lib/strftime.c (extra_args) [my_strftime]:
	* lib/strftime.h (nstrftime):
	Time zone arg is now of type timezone_t, not int.
	* lib/strftime.c (mktime_z) [_LIBC]: New macro.
	(__gmtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: Remove; no longer used.
	(my_strftime) [emacs && !my_strftime]:
	(emacs_strftimeu) [emacs && !FPRINTFTIME]:
	Remove; Emacs doesn't need this any more.
	(HAVE_TZSET) [my_strftime]: Unset, since we no longer want
	fprintftime and nstrftime to call tzset.
	(ut) [!my_strftime]: Remove, replacing with ...
	(tz) [!my_stftime]: ... this new macro.  All uses changed.
	(strftime_case_): Use localtime_rz and mktime_z instead
	of localtime_r and mktime.
	* modules/fprintftime (Depends-on): Add time_rz.
	* modules/strftime (Depends-on): Add time_rz.  Remove time_r.
	* tests/test-strftime.c (main): Adjust to new nstrftime API.

	time_rz: new module
	* MODULES.html.sh: Add time_rz.
	* lib/time_rz.c, m4/time_rz.m4, modules/time_rz: New files.
	* lib/time.in.h (timezone_t, tzalloc, tzfree, localtime_rz, mktime_z):
	New decls if _GNU_SOURCE && @GNULIB_TIME_RZ@ && ! @HAVE_TIMEZONE_T@.
	* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS):
	New var HAVE_TIMEZONE_T (default 0).
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
	New var GNULIB_TIME_RZ (default 0).
	* modules/time (time.h): Substitute the new vars.

	flexmember: license is now unlimited
	* modules/flexmember (License): Change to unlimited,
	since its only source file gives an unlimited license.

2015-07-15  Eric Blake  <eblake@redhat.com>

	maint: update copyright paper procedures
	* config/srclist.txt: Drop outdated files.
	* doc/Copyright/conditions.txt: Update to latest.
	* doc/Copyright/assign.changes.manual: Delete.
	* doc/Copyright/assign.future.manual: Likewise.
	* doc/Copyright/assign.manual: Likewise.
	* doc/Copyright/assign.translation.manual: Likewise.
	* doc/Copyright/disclaim.changes.manual: Likewise.
	* doc/Copyright/disclaim.manual: Likewise.
	* doc/Copyright/disclaim.program: Likewise.

2015-07-07  Daiki Ueno  <ueno@gnu.org>

	localename: fix link error on Illumos
	Illumos defines __sun, but does not have getlocalename_l nor the
	equivalent.  This partially reverts commit 387c214.
	* m4/localename.m4 (gl_LOCALENAME): Check if getlocalename_l is
	available, as well as uselocale.
	* lib/localename.c [HAVE_USELOCALE && __sun]: Don't fallback to
	use getlocalename_l if it is not available.

2015-07-07  Daiki Ueno  <ueno@gnu.org>

	unistr/uN-strtok-tests: avoid a trivial leak
	* tests/unistr/test-u-strtok.h (test_u_strtok): Untabify.  Free
	input and delim after the multibyte delimiter tests.

2015-07-04  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl, acl-permissions: fix HP-UX typos
	Problem reported by John David Anglin in: http://bugs.gnu.org/20979
	* lib/file-has-acl.c (file_has_acl):
	* lib/set-permissions.c (context_acl_from_mode)
	(context_aclv_from_mode, set_acls):
	Fix some obvious typos when HAVE_GETCL /* HP-UX */.
	They were introduced by the recent ACL changes.

	regex: match current GNU grep behavior
	These symbols have not matched GNU grep behavior for quite some time.
	Fix prompted by Balazs Kezes bug report at: http://bugs.gnu.org/20974
	* lib/regex.h (RE_SYNTAX_GREP, RE_SYNTAX_EGREP):
	Change to match current GNU behavior.
	Simplify by expressing it as differences from POSIX BREs and EREs.
	(RE_SYNTAX_POSIX_EGREP): No longer differs from GNU behavior.

2015-07-03  Jim Meyering  <meyering@fb.com>

	set-permissions.c: adjust acl_from_mode's cpp guard
	* lib/set-permissions.c (acl_from_mode): Guard with #ifdef
	directives identical to those guarding the sole use.
	Otherwise, on some systems, we'd get a warning about
	the function being defined but not used.
	Also, filter through cppi to correct misleading indentation
	of cpp directives.

2015-07-03  Pádraig Brady  <P@draigBrady.com>

	tests: restrict shells to those that support 'local'
	The local keyword is very widely supported and used
	in tests in coreutils and grep at least.  Therefore
	restrict to testing with shells that support it.
	This mainly excludes /bin/sh on Solaris.
	* tests/init.sh (gl_shell_test_script_): Add a test for 'local'.

2015-07-03  Seiya Kawashima  <skawashima@uchicago.edu>  (tiny change)
	and Daiki Ueno  <ueno@gnu.org>

	unistr/uN-strtok: handle multibyte delimiters
	Previously, uN_strtok moved PTR to the next unit to the token end.
	When DELIM contained a multibyte character, the new position could
	be a middle of a multibyte character.
	* lib/unistr/u-strtok.h (FUNC): Place PTR at the next character
	after the token.
	* lib/unistr/u8-strtok.c (U_STRMBLEN): New macro.
	* lib/unistr/u16-strtok.c (U_STRMBLEN): New macro.
	* lib/unistr/u32-strtok.c (U_STRMBLEN): New macro.
	* modules/unistr/u8-strtok (Depends-on): Depend on
	unistr/u8-strmblen.
	* modules/unistr/u16-strtok (Depends-on): Depend on
	unistr/u16-strmblen.
	* modules/unistr/u32-strtok (Depends-on): Depend on
	unistr/u32-strmblen.
	* tests/unistr/test-u-strtok.h: New file.
	* tests/unistr/test-u8-strtok.c: New file.
	* tests/unistr/test-u16-strtok.c: New file.
	* tests/unistr/test-u32-strtok.c: New file.
	* modules/unistr/u8-strtok-tests: New file.
	* modules/unistr/u32-strtok-tests: New file.
	* modules/unistr/u16-strtok-tests: New file.

2015-07-02  Friedrich Haubensak  <hsk@fli-leibniz.de>

	update-copyright: fix test failure with perl >= 5.22 (trivial)
	* build-aux/update-copyright: Escape a literal left curly bracket,
	required with perl >= 5.22

2015-07-02  Daiki Ueno  <ueno@gnu.org>

	u{16,32}-strstr-tests: relax timeout condition
	On slower platforms (e.g., Solaris 10/SPARC), u{16,32}-strstr
	tests can take longer than 5 seconds to complete.
	Reported by Dagobert Michelsen in:
	https://lists.gnu.org/r/bug-libunistring/2015-06/msg00006.html
	* tests/unistr/test-u16-strstr.c (main): Increase timeout from 5
	seconds to 10 seconds.
	* tests/unistr/test-u32-strstr.c (main): Likewise.

2015-07-01  Pavel Raiskup  <praiskup@redhat.com>

	gnulib-common.m4: change the ARFLAGS default to 'cr'
	In some GNU/Linux distributions people started to compile 'ar'
	binary with --enable-deterministic-archives (binutils project).
	That, however, in combination with previous autotools long time
	working default AR{_,}FLAGS=cru causes warnings on such
	installations:
	ar: `u' modifier ignored since `D' is the default (see `U')
	* m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Set ARFLAGS='cr' if not
	set already.

2015-07-01  Pavel Raiskup  <praiskup@redhat.com>

	selinux-h: avoid double free after *getfilecon()
	Originally reported by Ben Shelton on bug-tar:
	http://lists.gnu.org/r/bug-tar/2015-04/msg00009.html
	* lib/getfilecon.c (map_to_failure): Set the already freed '*con'
	pointer to NULL.  Man getfilecon(3) says that any non-NULL '*con'
	param should be freed by freecon(3) (regardless the return value).

2015-07-01  Pavel Fedin  <p.fedin@samsung.com>

	fix pty related tests issues on Windows (trivial)
	* lib/grantpt.c (grantpt): grantpt.c seems to be never used on Windows,
	however it's still present in tests/ subdirectory of the final project.
	Therefore avoid it to pass `make check`.
	* tests/test-openpty.c (main): Windows has no PTYs and gnulib's openpty()
	will just return -ENOSYS, so avoid this non applicable test allowing
	the build to proceed.

2015-07-01  Pádraig Brady  <P@draigBrady.com>

	acl: fix definition of acl_from_mode on FreeBSD
	This was causing basic coreutils copy operations to fail
	with ENOTSUP or ENOENT error messages.
	* lib/acl-internal.h (acl_from_mode): Only define when
	! defined HAVE_ACL_FROM_TEXT.  That allows the version
	of acl_from_mode() defined in lib/set-permissions.c to
	be used on FreeBSD at least.
	* lib/set-permissions.c: Fix up comment spelling,
	and a redundant variable assignment; noticed in passing.

2015-06-30  Pádraig Brady  <P@draigBrady.com>

	readutmp: port to FreeBSD >= 9
	* lib/readutmp.h: Map utmpxname() to setutxdb().
	With that coreutils who(1) and pinky(1) tests pass.

2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>

	mgetgroups: port to strict OS X
	The previous fix wasn't working, so use a bigger hammer (Bug#20923).
	* lib/mgetgroups.c: Ignore -Wpointer-sign diagnostics.
	(getgrouplist_gids) [HAVE_GETGROUPLIST]: Remove.  All uses removed.
	* m4/mgetgroups.m4 (gl_MGETGROUPS): Revert recent changes.

2015-06-29  Paul Eggert  <eggert@cs.ucla.edu>

	mgetgroups: port to strict OS X
	* doc/glibc-functions/getgrouplist.texi (getgrouplist):
	Document the getgrouplist problem.
	* lib/mgetgroups.c (getgrouplist_gids) [HAVE_GETGROUPLIST]:
	New macro.
	(mgetgroups): Use it.
	* m4/mgetgroups.m4 (gl_MGETGROUPS):
	Check for OS X signature for getgrouplist.

2015-06-29  Jim Meyering  <meyering@fb.com>

	linkat: fix invalid definition of LINKAT_SYMLINK_NOTSUP on OS X
	It started like this when building coreutils' latest on OS X,
	invoking ./configure with a nonempty --cache=.cache:

	  lib/linkat.c:46:42: error: operator '||' has no right operand
	  lib/linkat.c: In function 'rpl_linkat':
	  lib/linkat.c:330:27: error: #if with no expression

	Here's linkat.c's line 46:

	  #if !HAVE_LINKAT || LINKAT_SYMLINK_NOTSUP

	Here's some context:

	  $ grep linkat_nofoll .cache
	  gl_cv_func_linkat_nofollow=${gl_cv_func_linkat_nofollow=no}
	  $ grep LINKAT_SYM lib/config.h
	  #define LINKAT_SYMLINK_NOTSUP

	The problem is that m4/linkat.m4's gl_FUNC_LINKAT
	uses AC_CACHE_CHECK to set LINKAT_SYMLINK_NOTSUP,
	but that violates a tenet of AC_CACHE_CHECK: it must
	have no side effect other than setting its cache variable.

	What happens is that when the cache is set, we'd skip the
	code in that AC_CACHE_CHECK call, and leave LINKAT_SYMLINK_NOTSUP
	defined to whatever value it happened to have in configure's
	environment.  In my case, it was not defined, so this later code:

	  AC_DEFINE_UNQUOTED([LINKAT_SYMLINK_NOTSUP], [$LINKAT_SYMLINK_NOTSUP],
	    [Define to 1 if linkat can create hardlinks to symlinks])

	would emit code with an empty RHS.

	* m4/linkat.m4 (gl_FUNC_LINKAT): Move the setting of
	$LINKAT_SYMLINK_NOTSUP out of the AC_CACHE_CHECK code block.

2015-06-28  Jim Meyering  <meyering@fb.com>

	mountlist: avoid an unused-label warning on OS X
	* lib/mountlist.c (read_file_system_list) [MOUNTED_GETMNTINFO]:
	Building on OS X, I saw a warning about the "free_then_fail" label
	being unused.  Give it the _GL_UNUSED_LABEL attribute.

	error.c: correct printf-style format: %d -> %u
	* lib/error.c (error_at_line): Correct __fxprintf format to use %u,
	rather than %d, to match the type of "line_number", unsigned int.

2015-06-25  Pádraig Brady  <P@draigBrady.com>

	fts: avoid reading beyond the heap allocation
	GCC 5.1.1 with -O2 and -fsanitize=address reports
	a read of size 4 from a heap object of size 3 is indeed invalid,
	though this may be due to incorrect padding assumptions by GCC, see:
	https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66661
	* lib/fts.c (fts_alloc): Increase allocation to alignof(FTSENT).
	* modules/fts: Depend on stdalign.

2015-06-24  Pádraig Brady  <P@draigBrady.com>

	savedir: avoid undefined behavior in qsort call
	GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
	"runtime error: null pointer passed as argument 1,
	 which is declared to never be null"
	* lib/savedir.c (streamsavedir): Avoid the call with no entries.

2015-06-24  Pádraig Brady  <P@draigBrady.com>

	userspec: avoid undefined behavior in gettext call
	GCC 5.1.1 -fsanitize=undefined with glibc 2.21 is returning:
	"runtime error: null pointer passed as argument 2,
	 which is declared to never be null"
	* lib/userspec.c (parse_with_separator): Avoid passing NULL to gettext()

2015-06-20  Glenn Morris  <rgm@gnu.org>

	gitlog-to-changelog: improve gitmerge.el commits
	Let the Emacs ChangeLog generation process exclude "skipped"
	messages from merge commits (Bug#20717).
	* build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.

2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>

	wchar: fix MinGW compilation warnings
	This lets Texinfo compile cleanly.  See Eli Zaretskii in:
	http://lists.gnu.org/r/bug-gnulib/2015-06/msg00050.html
	* lib/wchar.in.h: Do not use special invocation convention on MinGW.

2015-06-20  Daiki Ueno  <ueno@gnu.org>

	uniname/uniname-tests: use pristine data files
	For copyright and maintenance reasons, use the data files from UCD
	without modification.
	* tests/uniname/test-uninames.c (FIELDLEN): Remove.
	(getfield): Remove.
	(aliases_count): New global variable.
	(fill_names): Skip comments and empty lines in the input.  Don't
	use getfield.
	(fill_aliases): Likewise.
	(main): Change the expected command line arguments to:
	NAMES... ["--" ALIASES...].
	* tests/uniname/test-uninames.sh: Adjust to the change in
	test-uninames.c.
	* tests/uniname/UnicodeDataNames.txt: Remove.
	* tests/uniname/UnicodeData.txt: New file, from Unicode 8.0.0.
	* tests/uniname/NameAliases.txt: Use the pristine copy of the data
	file from Unicode 8.0.0.

2015-06-19  Pádraig Brady  <P@draigBrady.com>

	linked-list, linkedhash-list: avoid compiler warnings
	* lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
	-Werror=suggest-attribute=pure (from GCC 5.1.1).

2015-06-19  Daiki Ueno  <ueno@gnu.org>

	libunistring: bump minimum version to 0.9.6
	* all modules depending on updated Unicode data: Regenerate.
	The modules are listed by a script that does:
	- for each file listed by: git show --oneline --name-only 705f4efc
	  - deduce the containing modules, based on "Files:"
	- deduce the modules which depend on the containing modules, based
	  on "Depends-on:"

2015-06-18  Daiki Ueno  <ueno@gnu.org>

	uniname/uniname: update to Unicode 8.0.0
	* lib/uniname/uninames.h: Regenerate.
	* tests/uniname/NameAliases.txt: Update from Unicode 8.0.0.
	* tests/uniname/UnicodeDataNames.txt: Update from Unicode 8.0.0.

2015-06-18  Daiki Ueno  <ueno@gnu.org>

	libunistring: update to Unicode 8.0.0
	* lib/gen-uni-tables.c (SIZEOF): New macro.
	(output_numeric): Increase the maximum number of fractions from
	128 to 160.  Increase the level3 value width from 7 bits to 8
	bits.  Use SIZEOF instead of a hard-coded integer.
	(output_blocks): Decrease the cut-off threshold from 0x30000 to
	0x28000.
	(fill_blocks): Increase the maximum number of blocks from 256 to
	384.  Use SIZEOF instead of a hard-coded integer.
	(get_lbp): Adjust to new characters added in Unicode 8.0.0.
	* lib/unictype/numeric.c (uc_numeric_value): Adjust the level3
	value width.
	* lib/unilbrk/lbrktables.c (unilbrk_table): Implement LBP21b and
	a new case added to LBP22.
	* lib/uniwidth/width.c (nonspacing_table_data): Add U+08E3,
	U+A69E, U+FE2E..U+FE2F, U+111CA..U+111CC, U+11300,
	U+115DC..U+115DD, U+1171D..U+1171F, U+11722..U+11725,
	U+11727..U+1172B, U+1DA00..U+1DA36, U+1DA3B..U+1DA6C, U+1DA75,
	U+1DA84, U+1DA9B..U+1DA9F, and U+1DAA1..U+1DAAF.
	* tests/uniwidth/test-uc_width2.sh: Same updates as in
	lib/uniwidth/width.c.
	* all generated files under lib/uni* and tests/uni*: Regenerate.

2015-06-16  Pádraig Brady  <P@draigBrady.com>

	gnu-web-doc-update: add --mirror to remove stale files
	* build-aux/gnu-web-doc-update: Add a --mirror option to remove
	out of date files from the CVS server.  Since this is usually
	appropriate, a prompt is given when the option is not specified,
	along with the `cvs remove` command that would be run.

2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>

	acl-permissions: pacify -Wsuggest-attribute=const
	Problem reported by Masanari Iida in: http://bugs.gnu.org/20753
	* lib/acl-internal.h (free_permission_context):
	Declare with attribute const if ! (defined USE_ACL &&
	(HAVE_ACL_GET_FILE || defined GETACL)).

	fsync: document AIX misbehavior
	* doc/posix-functions/fsync.texi (fsync):
	Document failure on AIX with read-only file descriptor.

2015-06-05  Jonathan Perkin  <jperkin@joyent.com>  (tiny change)

	stdio: Don't redefine gets when using C++
	* lib/stdio.in.h (gets): Disable warning on C++.

2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>

	acl-permissions: port to AIX, C89 HP-UX
	Problems reported by Michael Felt.
	* lib/file-has-acl.c (file_has_acl) [HAVE_STATACL]:
	* lib/get-permissions.c (get_permissions) [USE_ACL && HAVE_STATACL]:
	* lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]:
	* lib/set-permissions.c (set_acls) [HAVE_ACLX_GET && ACL_AIX_WIP]:
	Add cast for AIX, whose system calls are declared to accept
	char * even though the arguments are really char const *.
	* lib/get-permissions.c (get_permissions):
	If USE_ACL && HAVE_GETACL /* HP-UX */, don't assume C99.
	If USE_ACL && HAVE_STATACL /* older AIX */, add missing decl
	that broke a build.
	* lib/mountlist.c (read_file_system_list) [MOUNTED_VMOUNT]:
	Rework types to pacify xlc.

2015-06-03  Pádraig Brady  <P@draigBrady.com>

	vasprintf-posix: avoid compiling vasnprintf where possible
	* modules/vasprintf-posix: Avoid compiling the large vasnprintf
	module where not required.  For example on a GNU/Linux system
	when gnulib-tool is run with the --conditional-dependencies option.

2015-06-02  Pádraig Brady  <P@draigBrady.com>

	file-has-acl: fix build on Mac OS X 10
	This reverts commit f1b37e3a which doesn't work on Mac OS X >= 10.4
	which has an incompatible 6 parameter getxattr() call.
	* doc/glibc-functions/getxattr.texi: Mention the divergent getxattr()
	call on Mac OS X >= 10.4.
	* doc/glibc-functions/fgetxattr.texi: Likewise.
	* lib/file-has-acl.c: Revert to more complete combined check.
	* m4/acl.m4 (gl_FILE_HAS_ACL): Likewise.
	Reported by Jack Howarth.

2015-06-02  Pádraig Brady  <P@draigBrady.com>

	prefix-gnulib-mk: remove no longer needed special case
	* build-aux/prefix-gnulib-mk (prefix): Since commit e3704b9c,
	continued lib_SOURCES lines are no longer present,
	so special case handling of such entries is not required.

2015-06-01  Pádraig Brady  <P@draigBrady.com>

	acl: don't depend on the deprecated qacl module
	* modules/acl (Depends-on): Use q{copy,set}-acl instead.

2015-06-01  Pádraig Brady  <P@draigBrady.com>

	gnulib-tool: concatenate lib_SOURCES to a single line
	* gnulib-tool: Refactor the line merging sed logic,
	and use that to output a single lib_SOURCES line for each module.
	gnulib using projects often postprocess this output to prepend
	subdir paths to each item, and having a single line simplifies this
	processing allowing better decoupling from the gnulib-tool output.

2015-06-01  Pavel Fedin  <p.fedin@samsung.com>

	pthread_sigmask: discount system version if a simple macro (trivial)
	MinGW64 has: #define pthread_sigmask(H, S1, S2) 0
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Call the
	function to ensure it's available.

2015-05-31  Pádraig Brady  <P@draigBrady.com>

	readlinkat: avoid OS X 10.10 trailing slash bug
	* doc/posix-functions/readlink.texi: Mention that OS X 10.10
	has this bug.
	* doc/posix-functions/readlinkat.texi: Likewise.  Also mention
	that OS X 10.10 has this function.
	* lib/readlinkat.c (rpl_readlinkat): Handle the trailing slash bug,
	as done for readlink().
	* m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check for the readlink()
	trailing slash bug, and assume readlinkat() has the same issue.
	Also fix a typo where $gl_cv_decl_readlink_works was tested,
	rather than the correct $gl_cv_decl_readlinkat_works.

2015-05-29  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>

	acl-permissions: Fix build on Mac OS X and older AIX (Bug#20681)
	* lib/set-permissions.c (set_acls): Fix more errors introduced in the acl
	module rewrite.

	acl-permissions: Fix build on Solaris and Cygwin
	Reported by Tom G. Christensen <tgc@jupiterrise.com>:
	* lib/set-permissions.c (set_acls): The count, entries, ace_count, and
	ace_entries variables have moved into struct permission_context but
	they were still accessed as local variables here.

2015-05-29  Pádraig Brady  <P@draigBrady.com>

	linkat: avoid OS X 10.10 trailing slash with symlink bug
	On Darwin 14.3.0 linkat(,"path1",,"dangling_symlink/",)
	causes the symlink to be dereferenced, and if it points
	to a non existent file, that file will be created as
	a hard link to "path1".
	This fixes a test failure in test-linkat.c.
	* m4/linkat.m4 (gl_FUNC_LINKAT): Augment the test with
	this case.  The existing workaround in linkat.c for
	trailing slash issues, suffices for this case.
	* doc/posix-functions/linkat.texi: Add OS X 10.10 to
	the list of platforms with trailing slash issues.

2015-05-28  Pádraig Brady  <P@draigBrady.com>

	unlinkat: handle ignoring of ".." on Darwin 14
	* lib/unlinkat.c: unlinkat() has the same bug as unlink()
	on Mac OS X 10.10, where it ignores paths with a trailing "..",
	so handle in the same manner.
	* m4/unlinkat.m4: Comment on this Darwin issue.
	* doc/posix-functions/unlink.texi: Update the latest version
	where the issue was seen.
	* doc/posix-functions/unlinkat.texi: Mention this issue.
	Fixes a test failure in test-unlinkat.c.

2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	qacl: split into qcopy-acl and qset-acl
	Emacs needs the former, but not the latter.
	* modules/acl-permissions: New file, containing most of the old qacl.
	* modules/file-has-acl (Depends-on): Depend on acl-permissions, not qacl.
	* modules/qacl: Now merely depends on qcopy-acl and qset-acl.
	* modules/qcopy-acl, modules/qset-acl: New files.
	* MODULES.html.sh (File system functions):
	Mention the new modules, and mention qacl while we're at it.

2015-05-27  Glenn Morris  <rgm@gnu.org>

	gitlog-to-changelog: new option --ignore-line
	(This patch is imported from the GNU Emacs master.)
	This option ignores individual commit lines matching a pattern.
	* build-aux/gitlog-to-changelog: Add --ignore-line option.

2015-05-27  Andreas Gruenbacher  <agruenba@redhat.com>

	qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
	Implement get_permissions and set_permissions primitives for getting all
	the permissions of a file, storing them, and later setting them. (In the
	minimal case, the permissions consist only of a file mode.) Reimplement
	qset_acl and qcopy_acl based on these new primitives: this avoids code
	duplication and makes error handling more consistent.
	The Solaris and Cygwin code still uses duplicate code paths for setting
	a file mode while making sure that no acls exist and setting an explicit
	acl; this is no worse than before, but could be cleaned up.  The AIX
	code still doesn't read ACLs, it only makes sure that acls don't get in
	the way when setting a file mode.
	* lib/acl-internal.h (struct permission_context): New data structure.
	(get_permissions, set_permissions, free_permission_context): Declare.
	* lib/acl-internal.c (free_permission_context): New helper function.
	* lib/get-permissions.c (get_permissions): New helper function split off
	from qcopy_acl.
	* lib/set-permissions.c: (set_acls_from_mode): On Solaris, Cygwin, and
	AIX, set a file's permissions based only on a file mode.
	(acl_from_mode, context_acl_from_mode, context_aclv_from_mode): All
	other platforms construct a temporary acl from the file mode and set
	that acl in the same way as setting an acl read from the source file.
	This should help avoid code duplication and inconsistent / buggy
	behavior.
	(set_acls): New helper function Split off from qcopy_acl.
	(chmod_or_fchmod): Moved here from qset-acl.c.
	(set_permissions): New helper function.
	* lib/qcopy-acl.c (qcopy_acl): Rewrite using get_permissions and
	set_permissions.
	* lib/qset-acl.c (qset_acl): Rewrite using set_permissions.
	* modules/qacl: Add get-permissions.c and set-permissions.c.

	file-has-acl: Split feature tests again (Bug#20667)
	* lib/file-has-acl.c: Instead of testing for
	XATTR_NAME_POSIX_ACL_ACCESS and XATTR_NAME_POSIX_ACL_DEFAULT,
	define them when needed.
	* m4/acl.m4 (gl_FILE_HAS_ACL): With that, Paul's
	GETXATTR_WITH_POSIX_ACLS change shouldn't be needed anymore.

2015-05-27  Pádraig Brady  <P@draigBrady.com>

	string: fix build failure on BSD/OSX with FORTIFY_SOURCE
	This avoids a conflict with "FORTIFY_SOURCE" variants
	of the string functions when they're replaced on NetBSD-6.0.1
	and Darwin-14.3.0 at least.
	* lib/string.in.h: Avoid including our "lib/string.h" while
	including the system <string.h>.

2015-05-26  Eric Blake  <eblake@redhat.com>

	stdio: limit __gnu_printf__ witness to gcc 4.4+
	* lib/error.h (_GL_ATTRIBUTE_SPEC_PRINTF): Move gcc version probe...
	* m4/stdio_h.m4 (gl_STDIO_H): ...here.

	error: use correct printf attributes on mingw
	* lib/stdio.in.h (_GL_ATTRIBUTE_SPEC_PRINTF): New define.

	inttypes: force correct mingw PRIdMAX even without <stdio.h>
	* modules/inttypes (Depends-on): Require extensions, so that mingw
	always uses GNU style inttypes.
	* lib/inttypes.in.h: On mingw, include <stdio.h>.

	stdio: fix probe on mingw under gcc 5.1
	* m4/stdio_h.m4 (gl_STDIO_H): Change to compile test, to work
	around new gcc preprocessor rules.

2015-05-07  Glenn Morris  <rgm@gnu.org>

	gitlog-to-changelog: parse "Tiny-change"
	* build-aux/gitlog-to-changelog: Treat "Tiny-change" like
	"Copyright-paperwork-exempt".  (Bug#20324)

2015-05-06  Pádraig Brady  <P@draigBrady.com>

	doc: document glibc posix_fallocate() issues
	* doc/posix-functions/posix_fallocate.texi: Mention the
	glibc efficiency problems and issues with NFS.

2015-05-05  Karl Berry  <karl@freefriends.org>

	* build-aux/gendocs.sh (usage): document new css default
	for HTML (--htmlarg).

2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>

	extern-inline: no need for workaround in GCC 5.1
	* doc/extern-inline.texi (extern inline):
	* m4/extern-inline.m4 (gl_EXTERN_INLINE):
	GCC bugs 54113 and 63877 are fixed in GCC 5.1, so don't work
	around these bugs in GCC 5.1 and later.  Maybe in a decade or
	two we can remove these workarounds.

2015-04-28  Pádraig Brady  <P@draigBrady.com>

	eealloc, pagealign_alloc, xalloc: avoid clang warnings
	Avoid [-Wunknown-attributes] warnings like:
	warning: unknown attribute '__alloc_size__' ignored
	* lib/xalloc.h: Don't use the __alloc_size__  attribute
	with clang, as support has been fully removed as of clang 3.5:
	https://github.com/llvm-mirror/clang/commit/c047507a
	* lib/eealloc.h: Likewise.
	* lib/pagealign_alloc.h: Likewise.

2015-04-27  Paul Eggert  <eggert@cs.ucla.edu>

	tests: pacify GCC 5.1's stricter printf checking
	* tests/test-dirname.c (main):
	* tests/test-getaddrinfo.c (simple):
	* tests/test-getlogin.c (main):
	* tests/test-getndelim2.c (main):
	* tests/test-inttostr.c (CK):
	* tests/test-md5.c (main):
	* tests/test-read-file.c (main):
	* tests/test-sha1.c (main):
	Fix mismatches between printf format and value signedness.
	* tests/test-inttostr.c (FMT, CAST_VAL, V_min, V_max):
	Remove, as CAST_VAL always returned a value of type uintmax_t.

	fts: port to GCC 5.1 with --enable-gcc-warnings
	Without this fix, GCC 5.1 (correctly) warns about a subscript
	error on the fts_name component of FTSENT.  It's actually a
	flexible member, so define it that way on C99 or later hosts.
	* lib/fts.c (fts_alloc): Use offsetof, not sizeof, for a
	structure that now has a flexible array member.
	* lib/fts_.h (__FLEXIBLE_ARRAY_MEMBER): New macro.
	(FTSENT): fts_name is now flexible on C99-or-later platforms.
	* modules/fts (Depends-on): Add flexmember.

2015-04-26  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl: port to CentOS 6
	Problem reported by Tom G. Christensen in:
	http://lists.gnu.org/r/bug-gnulib/2015-04/msg00074.html
	* lib/file-has-acl.c: Use GETXATTR_WITH_POSIX_ACLS instead of a
	combination of HAVE_SYS_XATTR_H, HAVE_LINUX_XATTR_H, and
	HAVE_GETXATTR.
	* m4/acl.m4 (gl_FILE_HAS_ACL): Test fot the entire combination of
	linux/xattr.h, sys/xattr.h, getxattr, XATTR_NAME_POSIX_ACL_ACCESS,
	and XATTR_NAME_POSIX_ACL_DEFAULT, since that's what
	file-has-acl.c actually needs.

2015-04-26  Pádraig Brady  <P@draigBrady.com>

	file-has-acl: always return false when ACLs aren't supported
	* lib/file-has-acl.c (file_has_acl): Consistent with other paths,
	change the GNU/Linux getxattr path, to transform "not supported"
	errors to a false return rather than an error.  This is handled
	within file_has_acl() due to the platform specific tests to
	determine if ACLs are not supported.

2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>

	gettext: propagate po/Makefile.in.in too
	* build-aux/po/Makefile.in.in: Copy from latest gettext.
	* config/srclist.txt: In build-aux/po, copy Makefile.in.in and
	remove-potcdate.sin from $GETTEXT.  This fixes a version mismatch
	between Makefile.in.in and the gettext-runtime m4 files.

2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>

	file-has-acl: new module, split from acl
	And add a new module file-has-acl-tests to match.
	I ran into a problem with the recent changes to the acl module,
	as they introduced a typo 'test use_xattrs = 0' into 'configure'.
	When using the fixed version with Emacs, I discovered that
	file-has-acl wasn't separated out well enough for Emacs (e.g., it
	had multiple libraries, but needed only one), so I fixed that too.
	* NEWS: Document this incompatible change.
	* modules/file-has-acl, modules/file-has-acl-tests: New files.
	* m4/acl.m4 (gl_FUNC_ACL_ARG): New macro, split from gl_FUNC_ACL.
	Initialize gl_need_lib_has_acl.
	(gl_FUNC_ACL): Require it.
	Simplify use of 'test'.  Set LIB_HAS_ACL if gl_need_lib_has_acl.
	Move the file-has-acl.c-relevant stuff to ...
	(gl_FILE_HAS_ACL): ... this new macro.  Rewrite to fix 'test
	use_xattrs = 0' typo, and omit some needless work.  Set
	gl_need_lib_has_acl=1 if we'll need LIB_HAS_ACL to be set
	when gl_FUNC_ACL is called.
	* modules/acl (Files, lib_SOURCES): Remove lib/file-has-acl.c.
	(Link): Remove $(LIB_HAS_ACL).
	* modules/acl-tests (Files, Depends-on, configure.ac, TESTS)
	(check_PROGRAMS): Move stuff relevant to file-has-acl to
	modules/file-has-acl-tests.
	(test_file_has_acl_LDADD): Move to modules/file-has-acl-tests.

	manywarnings: add GCC 5.1 warnings
	* build-aux/gcc-warning.spec: Add -Wabi=, -Warray-bounds,
	-Warray-bounds=, -Wc++14-compat, -Wc90-c99-compat,
	-Wc99-c11-compat, -Wshadow-ivar, -Wsized-deallocation,
	-Wsuggest-override, -Wuse-without-only.  Change
	-Wnormalized=... operands to match 5.1.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wbool-compare,
	-Wchkp, -Wdesignated-init, -Wdiscarded-array-qualifiers,
	-Wdiscarded-qualifiers, -Wformat-signedness,
	-Wincompatible-pointer-types, -Wint-conversion,
	-Wlogical-not-parentheses, -Wmemset-transposed-args, -Wodr,
	-Wshift-count-negative, -Wshift-count-overflow,
	-Wsizeof-array-argument, -Wsuggest-final-methods,
	-Wsuggest-final-types, -Wswitch-bool.  Remove -Warray-bounds,
	and add -Warray-bounds=2 as a special case.

2015-04-21  Simon Josefsson  <simon@josefsson.org>

	doc: update FDL template to match FDL examples.
	* doc/alloca-opt.texi:
	* doc/alloca.texi:
	* doc/c-ctype.texi:
	* doc/c-strcase.texi:
	* doc/c-strcaseeq.texi:
	* doc/c-strcasestr.texi:
	* doc/c-strstr.texi:
	* doc/c-strtod.texi:
	* doc/c-strtold.texi:
	* doc/ctime.texi:
	* doc/error.texi:
	* doc/gcd.texi:
	* doc/gnulib-tool.texi:
	* doc/inet_ntoa.texi:
	* doc/intprops.texi:
	* doc/lib-symbol-visibility.texi:
	* doc/maintain.texi:
	* doc/parse-datetime.texi:
	* doc/quote.texi:
	* doc/regexprops-generic.texi:
	* doc/standards.texi: Remove spurious 'with' in FDL license
	template.

2015-04-21  Paul Eggert  <eggert@cs.ucla.edu>

	lstat: fix cross-compilation 'ln -s' problem
	* m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
	Have the test program call 'symlink' rather than a separate
	script run 'ln -s'; this is more likely to work in
	cross-compilation environments.  Reported by Pavel Fedin in:
	http://lists.gnu.org/r/bug-gnulib/2015-04/msg00060.html

2015-04-16  Ludovic Courtès  <ludo@gnu.org>

	gendocs.sh: default to a common CSS style sheet for HTML output
	* build-aux/gendocs.sh (htmlarg): Change default value.

2015-04-15  Mats Erik Andersson  <gnu@gisladisker.se>

	gnulib-tool: output bold attribute more portably
	* gnulib-tool (func_show_module_list): Change hexadecimal
	numbers to octal in BOLD_ON and BOLD_OFF.  The use of hex
	encoded numbers as arguments to `printf' is not portable,
	and is not claimed by POSIX.  This is the case with FreeBSD.

2015-04-15  Andreas Gruenbacher  <andreas.gruenbacher@gmail.com>

	qacl: Simplify HP-UX acl_nontrivial check
	* lib/acl-internal.c: Remove struct stat parameter from HP-UX's version of
	acl_nontrivial. Check if the acl has at most three entries instead (it must
	have exactly three entries according to the HP-UX documentation). Ignore
	uids and gids as long as an entry is either for a user (i.e., the owner),
	a group (i.e., the owning group), or others.
	* lib/acl-internal.h: Change HP-UX's acl_nontrivial prototype.
	* lib/qcopy-acl.c (qcopy_acl): With that, we no longer need to stat the file.

2015-04-15  Andreas Gruenbacher   <andreas.gruenbacher@gmail.com>

	acl: On Linux, check for acls without libacl
	On Linux, use the getxattr syscall instead of the acl_extended_file libacl
	library function to check for the presence of acls, avoiding a library.
	* lib/file-has-acl.c: Include xattr headers if we have them.
	(file_has_acl): On Linux, use getxattr().
	* m4/acl.m4 (gl_FUNC_ACL): Define LIB_HAS_ACL as the libraries to link with for
	file_has_acl(). Check for xattr headers and getxattr().

2015-04-14  Ángel González  <keisial@gmail.com>

	tempname: avoid unused parameter warnings (trivial)
	* lib/tempname.c (try_dir): Tag with __GL_UNUSED.
	(try_nocreate): Likewise.

2015-04-14  HIRAMATSU Yoshifumi  <hiramatu@boreas.dti.ne.jp>

	fseeko: fix build failure on NetBSD >= 6 (trivial)
	* lib/fseeko.c (feeko): NetBSD 6 changed the definition of _offset
	from 'fpos_t struct' to __off_t, which is a typedef of __int64_t.

2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>

	gitlog-to-changelog: port to MS-Windows
	* build-aux/gitlog-to-changelog (git_dir_option):
	Use strftime with "%Y-%m-%d", not "%F", to avoid a bug in
	MS-Windows Perl.  Reported by Eli Zaretskii in:
	http://lists.gnu.org/r/emacs-devel/2015-04/msg00504.html

2015-04-07  Karl Berry  <karl@gnu.org>

	gendocs: new option --tex for passing args to texi2dvi.
	* build-aux/gendocs.sh: new option --tex, default -t @finalout.
	(TEXI2DVI): cut to just command name.
	(usage): mention new option, and update copyright.
	<generate_tex>: use it.

2015-04-07  Karl Berry  <karl@gnu.org>

	* config/srclistvars.sh (GETTEXT): new definition.
	* config/srclist.txt: use it for gettext .m4 files.
	Thread starting at http://lists.gnu.org/r/bug-gnulib/201
	and confirmed at http://lists.gnu.org/r/bug-gnulib/2015-02/msg00146.html
	and continuing into April.

2015-04-07  Daiki Ueno  <ueno@gnu.org>

	uniname/uniname-tests: fix failure due to alias
	Reported by Jack Howarth in:
	<https://lists.gnu.org/r/bug-libunistring/2015-04/msg00000.html>.
	* tests/uniname/test-uninames.c (name_has_alias): New function.
	(test_inverse_lookup): Exclude character name with valid alias,
	from randomly generated character names.
	(main): Fill unicode_aliases before calling test functions.

2015-04-03  Giuseppe Scrivano  <gscrivan@redhat.com>

	hash: remove deprecated hash_insert0 function
	* lib/hash.h (hash_insert0): Remove deprecated function.
	* lib/hash.c (hash_insert0): Likewise.

2015-04-02  Pádraig Brady  <P@draigBrady.com>

	mountlist: remove dependency on libmount
	* lib/mountlist.c (read_file_system_list): Parse /proc/self/mountinfo
	directly, rather than depending on libmount, which has many
	dependencies due to its dependence on libselinux, as detailed at:
	http://lists.gnu.org/r/bug-gnulib/2015-01/msg00063.html
	Note we restrict this to __linux__ as that's probably where this
	interface will remain.  If ever porting, it would be best
	to first pull the makedev() wrapper from coreutils to a gnulib module.
	Note also we don't add a getline dependency to the mountlist module,
	as all Linux versions are sufficient.

2015-04-02  Paul Eggert  <eggert@cs.ucla.edu>

	stddef: port to pre-C11 GCC on x86
	On this platform, max_align_t should have an alignment of 8 even
	though the storage alignments of double, long, etc. max out at 4.
	Inspired by a comment of Andreas Schwab's here:
	https://sourceware.org/ml/libc-alpha/2015-04/msg00017.html
	* lib/stddef.in.h (_GL_STDDEF_ALIGNAS) [!HAVE_MAX_ALIGN_T]: New macro.
	(max_align_t) [!HAVE_MAX_ALIGN_T]: Use it.
	* tests/test-stddef.c: Test __alignof__ too, if available.

2015-03-24  Pádraig Brady  <P@draigBrady.com>

	quotearg-simple-tests: add missing gl_FUNC_MMAP_ANON dependency
	* modules/quotearg-simple-tests: Reference m4/mmap-anon.m4

2015-03-24  Tobias Stoeckmann  <tobias@stoeckmann.org>

	yesno: make EOL optional in ENABLE_NLS case also (trival)
	* lib/yesno.c (yesno): Check for EOL before replacing.
	* tests/test-yesno.sh: Add a test case (test along with gettext).

2015-03-22  Paul Eggert  <eggert@cs.ucla.edu>

	fdopendir-tests: test it does not close its arg
	* tests/test-fdopendir.c (main): Test that fdopendir does not
	close its argument.  From a suggestion by David Grayson in:
	http://lists.gnu.org/r/bug-gnulib/2015-03/msg00039.html

2015-03-20  Paul Eggert  <eggert@cs.ucla.edu>

	gitlog-to-changelog: trim trailing white space
	* build-aux/gitlog-to-changelog (main):
	Trim trailing white space from commit message lines.
	This is helpful for processing the GNU Emacs repository,
	which dates back to 1985 and contains a lot of such lines.

	gitlog-to-changelog: new option --ignore-matching
	* build-aux/gitlog-to-changelog (usage, git_dir_option, main):
	Support new option --ignore-matching=PAT, which ignores all
	commit messages whose first line matches PAT.

2015-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	fdopendir: port better to MinGW
	* lib/fdopendir.c (fd_clone_opendir) [REPLACE_FCHDIR]:
	Use 'dup' if dirfd fails.  Suggested by Eli Zaretskii in:
	http://lists.gnu.org/r/bug-gnulib/2015-03/msg00033.html
	* modules/fdopendir (Depends-on): Add dirfd.

2015-03-18  Paul Eggert  <eggert@cs.ucla.edu>

	fdopendir: fix typo in comment
	* lib/fdopendir.c (fdopendir_with_dup): REPLACE_FCHDIR was misspelled.

2015-03-09  Eric Blake  <eblake@redhat.com>

	error: document all entry points provided
	* doc/glibc-functions/error_print_progname.texi
	(error_print_progname): Mention the error module.
	* 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.

2015-03-03  Paul Eggert  <eggert@cs.ucla.edu>

	vasnprintf: pacify clang 3.5.0
	Problem reported by Werner Lemberg in:
	http://lists.gnu.org/r/bug-gnulib/2015-03/msg00000.html
	* lib/vasnprintf.c (VASNPRINTF): Omit casts that clang objects to.
	The casts aren't needed, since the characters in question are ASCII.

2015-02-24  Paul Eggert  <eggert@cs.ucla.edu>

	glob, etc.: port to MSVC v18 on MS-Windows 8.1
	* lib/dirent--.h (GNULIB_defined_opendir):
	* lib/dirent.in.h (GNULIB_defined_opendir)
	(GNULIB_defined_closedir):
	* lib/getcwd.c, lib/glob.c, lib/mountlist.c (opendir, closedir):
	#undef only if Gnulib defined it.

	poll: port to MSVC v18 on MS-Windows 8.1
	Problem reported by Gisle Vanem in:
	http://lists.gnu.org/r/bug-gnulib/2015-02/msg00139.html
	* lib/poll.c: Always include <sys/select.h> and <sys/socket.h>.
	* modules/poll (Depends-on) [!HAVE_POLL || REPLACE_POLL]:
	Add sys_socket.

2015-02-24  Pádraig Brady  <P@draigBrady.com>

	tests: support stderr verification with returns_()
	* tests/init.sh (returns_): Disable tracing for this wrapper
	function, so that stderr of the wrapped command is unchanged,
	allowing for verification of the contents.

2015-02-24  Pavel Hrdina  <phrdina@redhat.com>

	passfd: avoid valgrind uninitalised data warning
	* lib/passfd.c (sendfd): Reset the msg_controllen of msghdr,
	to include just the fd we've initialized, rather than including
	the extra space used for alignment.

2015-02-23  Paul Eggert  <eggert@cs.ucla.edu>

	uniwbrk/u32-wordbreaks-tests: fix copyright
	* tests/uniwbrk/test-uc-wordbreaks.c: Fix copyright date.

	dup2: doc and test for Android bug
	Reported by Kevin Cernekee in:
	http://lists.gnu.org/r/bug-gnulib/2015-02/msg00125.html
	* doc/posix-functions/dup2.texi (dup2): Document the bug.
	* m4/dup2.m4 (gl_FUNC_DUP2): Test for the bug.

2015-02-23  Kevin Cernekee  <cernekee@google.com>

	Replace dup2() on Android
	* m4/dup2.m4 (gl_FUNC_DUP2): Android implements dup2() using dup3().
	Since dup3(fd, fd) fails but dup2(fd, fd) should pass, test-dup2
	fails.  Using rpl_dup2() fixes this because it has an explicit test
	for this condition.

2015-02-22  Paul Eggert  <eggert@cs.ucla.edu>

	Android doesn't define RLIM_SAVED_*
	Portability problem reported by Kevin Cernekee in:
	http://lists.gnu.org/r/bug-gnulib/2015-02/msg00122.html
	* doc/posix-headers/sys_resource.texi (sys/resource.h):
	Mention the portability problem.
	* lib/getdtablesize.c (RLIM_SAVED_CUR, RLIM_SAVED_MAX):
	Define if not defined.
	* m4/dup2.m4 (gl_FUNC_DUP2):
	* m4/fcntl.m4 (gl_FUNC_FCNTL):
	Likewise.

2015-02-21  Paul Eggert  <eggert@cs.ucla.edu>

	vasnprintf-posix-tests: use consistent test
	* tests/test-vasnprintf-posix.c (test_function):
	Use "<" in assert instead of "<=", for consistency with other tests.

2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>

	printf, isinf, etc.: noncanonical != NaN
	Do not require that isinf, printf, etc. treat noncanonical
	values as NaNs.  Instead, require only that they do not crash.
	Problem reported by Joseph Myers in:
	https://sourceware.org/ml/libc-alpha/2015-02/msg00244.html
	* doc/posix-functions/dprintf.texi (dprintf):
	* doc/posix-functions/fprintf.texi (fprintf):
	* doc/posix-functions/isfinite.texi (isfinite):
	* doc/posix-functions/isinf.texi (isinf):
	* doc/posix-functions/isnan.texi (isnan):
	* doc/posix-functions/printf.texi (printf):
	* doc/posix-functions/snprintf.texi (snprintf):
	* doc/posix-functions/sprintf.texi (sprintf):
	* doc/posix-functions/vdprintf.texi (vdprintf):
	* doc/posix-functions/vfprintf.texi (vfprintf):
	* doc/posix-functions/vprintf.texi (vprintf):
	* doc/posix-functions/vsnprintf.texi (vsnprintf):
	* doc/posix-functions/vsprintf.texi (vsprintf):
	Document this.
	* m4/isfinite.m4 (gl_ISFINITEL_WORKS):
	* m4/isinf.m4 (gl_ISINFL_WORKS):
	* m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS):
	* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE):
	* tests/test-isfinite.c (test_isfinitel):
	* tests/test-isinf.c (test_isinfl):
	* tests/test-isnan.c (test_long_double):
	* tests/test-isnanl.h (main):
	* tests/test-snprintf-posix.h (test_function):
	* tests/test-sprintf-posix.h (test_function):
	* tests/test-vasnprintf-posix.c (test_function):
	* tests/test-vasprintf-posix.c (test_function):
	Test only that noncanonical values do not cause crashes, not that
	they are treated as NaNs.  In some cases this means a larger
	output buffer is needed.

2015-02-20  Jaroslav Skarvada  <jskarvad@redhat.com>

	fts: remove redundant close() (trivial)
	* lib/fts.c (fts_read): Remove redundant call to close().
	Spotted by coverity.

2015-02-20  Paul Eggert  <eggert@cs.ucla.edu>

	getdtablesize: port better for Android
	Problem reported by Kevin Cernekee in:
	http://lists.gnu.org/r/bug-gnulib/2015-02/msg00112.html
	* doc/glibc-functions/getdtablesize.texi (getdtablesize): Mention bug.
	* lib/getdtablesize.c (getdtablesize): Don't fall back on _SC_OPEN_MAX.
	Instead, just use getrlimit, taking care to avoid Cygwin bug.

	poll: fixes for large fds
	* lib/poll.c (poll): Don't check directly for NFD too large.
	Don't rely on undefined behavior in FD_SET when an arg exceeds
	FD_SETSIZE.  Always set revents afterwards, even if to zero.
	* tests/test-poll.c (poll1): Set revents to -1 instead of 0,
	as that makes the test a bit stricter.

2015-02-19  Kevin Cernekee  <cernekee@google.com>

	fcntl: Fix cross compiling
	* m4/fcntl.m4 (gl_FUNC_FCNTL): Assign the guessed result to the
	correct variable name (gl_cv_func_fcntl_f_dupfd_works).

2015-02-18  Paul Eggert  <eggert@cs.ucla.edu>

	dup2, fcntl: cross-compile better for Android
	Problem reported by Kevin Cernekee in:
	http://lists.gnu.org/r/bug-gnulib/2015-02/msg00109.html
	* m4/dup2.m4 (gl_FUNC_DUP2): Don't guess no when cross-compiling
	for a Linux kernel.  That kernel bug was fixed on 2009-05-11, and
	there's little need to cross-compile for older kernels nowadays.
	* m4/fcntl.m4 (gl_FUNC_FCNTL): When cross-compiling, guess no only
	for systems where the bug is known to occur (AIX, Cygwin, Haiku).

2015-02-18  Pádraig Brady  <P@draigBrady.com>

	getopt: don't crash on memory exhaustion
	* lib/getopt.c (_getopt_internal_r): Use degraded diagnostics on
	memory exhaustion.  In the _LIBC case we use alloca() as is
	already done in glibc, so we don't need to consider the separate
	error path in that awkward case.  Also fix a memory leak when
	ambiguous options are present.
	Reported by Tobias Stoeckmann

2015-02-17  Mike Miller  <mtmiller@ieee.org>

	tempname: allow compilation with C++ (trivial)
	* lib/tempname.h [C++]: Specify extern "C" linkage.
	* lib/tempname.h (try_tempname):
	* lib/tempname.c (__try_tempname, __gen_tempname):
	Rename 'try' to 'tryfunc'.

2015-02-17  Paul Eggert  <eggert@cs.ucla.edu>

	dup2, fcntl: port to AIX
	* m4/dup2.m4 (gl_FUNC_DUP2):
	* m4/fcntl.m4 (gl_FUNC_FCNTL):
	Prefer getrusage (RLIM_NOFILE ...)/rlim_cur to sysconf (_SC_OPEN_MAX).
	The former works on AIX 7.1 but the latter does not.
	Also, this may work better with Android; see:
	http://lists.gnu.org/r/bug-gnulib/2015-02/msg00100.html

2015-02-16  Paul Eggert  <eggert@cs.ucla.edu>

	getdtablesize, dup2, fcntl: port to Android
	Problem reported by Kevin Cernekee in:
	http://lists.gnu.org/r/bug-gnulib/2015-02/msg00092.html
	* doc/glibc-functions/getdtablesize.texi (getdtablesize):
	Mention that getdtablesize doesn't work on Android.
	* lib/getdtablesize.c: Use getrlimit substitute only if
	getdtablesize is declared.  This should suffice for Cygwin
	while not breaking Android.
	* m4/dup2.m4 (gl_FUNC_DUP2):
	* m4/fcntl.m4 (gl_FUNC_FCNTL):
	Prefer sysconf (_SC_OPEN_MAX) to getdtablesize, as the former is
	standardized but the latter is not, and sysconf works on Android.
	* m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE):
	Also check that getdtablesize is declared.
	This removes the need for a special case for Android.

2015-02-16  Kevin Cernekee  <cernekee@google.com>

	localename: Implement gl_locale_name_thread_unsafe for Android
	* lib/localename.c: Android API level >= 21 supports two hardcoded
	locales: C (POSIX) and C.UTF-8.  Distinguish them by checking
	the internal __locale_t struct.

2015-02-16  Kamil Dudka  <kdudka@redhat.com>

	fts: avoid crash when a cycle is added while traversing
	This could be triggered by auto-mounting a recursive bind mount.
	Reported by Michael Chapman in: https://bugzilla.redhat.com/1188498
	* lib/fts.c (fts_read): Avoid removing the original hash table item
	when leaving a directory that caused a cycle, and preserve the FTS_DC
	flag.

2015-02-16  Daiki Ueno  <ueno@gnu.org>

	uniname/uniname: support character alias
	* lib/uniname/gen-uninames.lisp (main): New argument ALIASFILE.
	Generate one-way mapping from aliases to codepoints in the
	generated tables.  Special case variation selectors to reduce
	table size.
	* lib/uniname/uniname.c (unicode_character_name): Special case
	variation selectors.
	(unicode_name_character): Special case variation selectors and
	their aliases.
	* lib/uniname/uninames.h: Regenerate.
	* tests/uniname/NameAliases.txt: New file, taken from UCD 7.0.0.
	* modules/uniname/uniname-tests (Files): Add
	tests/uniname/NameAliases.txt.
	* tests/uniname/test-uninames.c: Mark as static.
	(ALIASLEN): Define.
	(struct unicode_alias): New struct.
	(unicode_aliases): New variable.
	(fill_aliases): New function.
	(test_alias_lookup): New test function.
	(main): Run the 'test_alias_lookup' test if the second argument is
	given.
	* tests/uniname/test-uninames.sh: Supply NameAliases.txt as the
	second argument.

2015-02-11  Kevin Cernekee  <cernekee@google.com>

	Fix FILE struct compatibility with Android API level >= 21
	* lib/stdio-impl.h: Test explicitly for __ANDROID__ instead of
	__sferror.  Recent versions of Bionic's stdio.h no longer define
	__sferror.
	* lib/fbufmode.c: Likewise.
	* lib/fflush.c: 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/fwritable.c: Likewise.

	Assume unbroken ungetc() on Android
	* m4/ungetc.m4: Add Android case to host OS check.  The ungetc()
	test case passed when running on an Android host, and the code
	hasn't really changed since 2009.

	getdtablesize: Fix Android build
	* m4/getdtablesize.m4: Add Android case to host OS check.  Recent NDK
	versions have this symbol in the .so library (at least 32-bit
	platforms) but are missing the declaration in the header file,
	causing the m4 logic to guess incorrectly.

	localename: Fix Android build
	* modules/localename (Depends-on): Add langinfo.

	getugroups: Fix Android build
	* lib/getugroups.c: Don't reference unsupported {get,set,end}grent
	functions.

	euidaccess: Fix Android build
	* modules/euidaccess (Depends-on): Add fcntl-h to ensure that
	AT_EACCESS gets declared.

	linkat_nofollow: Add fallback case for cross compiling
	* m4/linkat.m4: Guess no for Darwin, yes otherwise.

	net_if: Handle content-free <net/if.h> system headers
	* m4/net_if_h.m4: Check to make sure <net/if.h> actually defines
	struct if_nameindex.  If not, enable the replacement header.

	signal_h: Fix Android build
	* lib/signal.in.h: Add Android to the list of platforms that declare
	pthread_sigmask() in <pthread.h> instead of <signal.h>.

	duplocale: Fix Android build of duplocale-tests
	* modules/duplocale-tests (Depends-on): Add langinfo, as the header
	is included by test-duplocale.c (but not by duplocale.c).
	* modules/duplocale-tests (configure.ac): Check for monetary.h.
	* tests/test-duplocale.c: Skip test if monetary.h is absent.
	* doc/posix-headers/monetary.texi: Add Android to the list of
	platforms missing monetary.h.

2015-02-11  Pádraig Brady  <P@draigBrady.com>

	tests: avoid recent -Werror=unused-variable regression in test-locale
	* tests/test-locale.c (main): Reference the variable to avoid the
	"unused variable" warning.

2015-02-11  Pádraig Brady  <P@draigBrady.com>

	maint: various whitespace cleanups in tempname
	* lib/tempname.c: Normalize spacing and line length.
	* lib/tempname.h: Likewise.
	* modules/tempname: Likewise.

2015-02-11  Pádraig Brady  <P@draigBrady.com>

	tests: provide returns_() to simplify exit status checking
	* tests/init.sh (returns_): A new function for use in tests,
	to allow for easier checking of return values, where you expect
	a command to exit with failure status.  By checking for a particular
	exit code, you don't hide any crashes for example.

2015-02-11  Pádraig Brady  <P@draigBrady.com>

	mountlist: only use libmount when specified
	There are currently many shared libs dependencies introduced by
	libmount with associated runtime and virt mem overhead.
	Therefore don't enable by default.
	* m4/ls-mntd-fs.m4: Use --with-libmount to enable at build time.

2015-02-08  Daiki Ueno  <ueno@gnu.org>

	uniname/unimame-tests: don't link with -lunistring
	* modules/uniname/uniname-tests (Makefile.am): Don't link against
	$(LIBUNISTRING).  Document the rationale why we need to
	conditionalize the test.

2015-02-07  Paul Eggert  <eggert@cs.ucla.edu>

	fstrcmp: don't assume strlen < INT_MAX
	* lib/fstrcmp.c: Include stddef.h and stdint.h.
	(uintptr_t): Remove, as we're now assuming stdint.
	(OFFSET, EXTRA_CONTEXT_FIELDS, fstrcmp_bounded):
	Prefer ptrdiff_t to int when the value could exceed INT_MAX
	if the input string is long.
	(fstrcmp_bounded): Check for size-calculation overflow.  Prefer
	uintptr_t to size_t when the underlying value is a pointer casted
	to an unsigned integer.  Avoid unnecessary 'buffer != NULL' test.
	* modules/fstrcmp (Depends-on): Add stdint.

	diffseq: prefer ptrdiff_t to ssize_t
	* lib/diffseq.h: In commentary, prefer ptrdiff_t to ssize_t.
	ptrdiff_t is the natural type for signed indexes.
	On a few older platforms, ssize_t is narrower than size_t.

	xalloc: fix typo that suppressed warnings
	* lib/xalloc.h: Add missing _GL_INLINE_HEADER_END.
	This typo, introduced a couple of years ago, mistakenly suppressed
	some -Wsuggest-attribute=const, -Wmissing-prototypes, and
	-Wmissing-declarations warnings.

	full-read: fix license notice typo
	* lib/full-read.h: Remove a stray line in the license notice.
	Reported by Sam Ellis in: http://bugs.gnu.org/19808

	crypto/gc: fix a -Wswitch warning
	Reported by Bruce Korb in:
	http://lists.gnu.org/r/bug-gnulib/2015-02/msg00046.html
	* lib/gc-gnulib.c (gc_hash_open): Fail faster if MODE is nonzero.

2015-02-03  Pádraig Brady  <P@draigBrady.com>

	gnulib-tool: fix handling of patch(1) diagnostics
	* gnulib-tool: Send diagnostics from patch(1) to stderr,
	as otherwise gnulib-tool will reparse that output and attempt
	to lookup modules.

2015-02-03  Pádraig Brady  <P@draigBrady.com>

	bootstrap: exit immediately upon gnulib-tool failure
	* build-aux/bootstrap: Exit immediately if gnulib-tool fails.
	This was noticed when gnulib-tool exited early due to failure
	to apply a patch in coreutils at http://hydra.nixos.org/eval/1172233,
	but various confusing errors were then given as the build proceeded.

2015-02-02  Andreas Gruenbacher  <agruen@gnu.org>

	symlinkat: include all required header files
	* lib/symlinkat.c (HAVE_SYMLINK_AT): Add <sys/stat.h> for fstatat(),
	and string.h for strlen(), required at least on OS X 10.10 (Yosemite).
	Reported at https://savannah.gnu.org/bugs/index.php?44151
	and by Jack Howarth.

2015-01-29  Pádraig Brady  <P@draigBrady.com>

	localename: support Solaris 12 and illumos
	* lib/localename.c (gl_locale_name_thread_unsafe): call
	getlocalename_l() on newer __sun platforms.
	Reported by Alexander Pyhalov.
	Fix suggested by Rich Burridge.

2015-01-29  Alexander Pyhalov  <alp@rsu.ru>

	locale: fix tests on illumos (trivial)
	* tests/test-locale.c: LC_GLOBAL_LOCALE is a function call on illumos,
	so move from global scope to main().

2015-01-24  Daiki Ueno  <ueno@gnu.org>

	unictype: avoid undefined left-shift behavior
	* lib/unictype/bidi_of.c (uc_bidi_class): Building libunistring with
	gcc's -fsanitize=shift and running its tests triggered:
	  unictype/bidi_of.c:43:60: runtime error: left shift of 40167 by 16 \
	    places cannot be represented in type 'int'
	Cast LHS to 'unsigned int' after integer promotion.
	* lib/unictype/categ_of.c (lookup_withtable): Likewise.
	* lib/unictype/joininggroup_of.c (uc_joining_group): Likewise.

2015-01-20  Daiki Ueno  <ueno@gnu.org>

	libunistring: bump version of unitypes dependants
	Due to the header file search order, all the headers which depend
	on unitypes.h need to be generated, when the preinstalled
	libunistring is older.
	* modules/unicase/base (configure.ac): Bump minimum version to
	0.9.4.
	* modules/uniconv/base (configure.ac): Likewise.
	* modules/unilbrk/base (configure.ac): Likewise.
	* modules/uninorm/base (configure.ac): Likewise.
	* modules/unistdio/base (configure.ac): Likewise.
	* modules/unistr/base (configure.ac): Likewise.
	* modules/uniwbrk/base (configure.ac): Likewise.
	* modules/uniwidth/base (configure.ac): Likewise.

2015-01-20  Daiki Ueno  <ueno@gnu.org>

	unictype/category-none: fix link with libunistring
	Since _UC_CATEGORY_NONE is not a public symbol, it will be
	prefixed with "libstring_" when compiled as part of libunistring.
	To avoid undefined symbol at link time, increase the minimum
	version when the dependant modules are updated.
	* modules/unictype/category-none (configure.ac): Bump minimum
	version to 0.9.5.

2015-01-20  Daiki Ueno  <ueno@gnu.org>

	unitypes: fix build with installed libunistring
	The minimum version has not bumped after _UC_ATTRIBUTE_CONST and
	_UC_ATTRIBUTE_PURE were added to unitypes.in.h.
	* modules/unitypes (configure.ac): Bump minimum version to 0.9.4.

2015-01-15  Paul Eggert  <eggert@cs.ucla.edu>

	time: port to MinGW32 3.21
	Problem reported by Eli Zaretskii in:
	http://lists.gnu.org/r/bug-gnulib/2015-01/msg00042.html
	* lib/time.in.h:
	* m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC):
	* modules/time (Depends-on):
	Fall back on unistd.h if the other include files don't define
	struct timespec.

	update-copyright: apply to self
	* build-aux/update-copyright: Fix copyright date.  How ironic!

2015-01-15  Daiki Ueno  <ueno@gnu.org>

	libunistring: update to Unicode 7.0.0
	* lib/unictype/joininggroup_byname.gperf: Add Straight Waw and
	Manichaean names.
	* lib/unictype/joininggroup_name.h: Likewise.
	* lib/unictype.in.h (UC_JOINING_GROUP_STRAIGHT_WAW)
	(UC_JOINING_GROUP_MANICHAEAN_ALEPH): New enumeration values.
	* lib/gen-uni-tables.c (UC_JOINING_GROUP_STRAIGHT_WAW)
	(UC_JOINING_GROUP_MANICHAEAN_*): New enumeration values.
	(fill_arabicshaping, joining_group_as_c_identifier): Support those
	enum values.
	(is_property_alphabetic): Accept newly added characters to
	cuneiform numeric signs.
	(is_property_default_ignorable_code_point): Reject U+0605.
	(FIELDLEN): Increase from 120 to 160.
	* lib/uniwidth/width.c (nonspacing_table_data): Add U+0605,
	U+08FF, U+0C00, U+0C81, U+0D01, U+1AB0..U+1ABE, U+1BAC..U+1BAD,
	U+1CF8..U+1CF9, U+1DE7..U+1DF5, U+A9E5, U+AA7C, U+FE27..U+FE2D,
	U+102E0, U+10376..U+1037A, U+10AE5..U+10AE6, U+1107F, U+11173,
	U+1122F..U+11231, U+11234, U+11236..U+11237, U+112DF,
	U+112E3..U+112EA, U+11301, U+1133C, U+11340, U+11366..U+1136C,
	U+11370..U+11374, U+114B3..U+114B8, U+114BA, U+114BF..U+114C0,
	U+114C2..U+114C3, U+115B2..U+115B5, U+115BC..U+115C0,
	U+11633..U+1163A, U+1163D, U+1163F..U+11640, U+16AF0..U+16AF4,
	U+16B30..U+16B36, U+1BC9D..U+1BC9E, U+1BCA0..U+1BCA3, and
	U+1E8D0..U+1E8D6.
	(uc_width): Adjust nonspacing_table_ind boundary from 240 to 248.
	* tests/uniwidth/test-uc_width2.sh: Same updates as in
	lib/uniwidth/width.c.
	* all generated files under lib/uni* and tests/uni*: Regenerate.

2015-01-14  Daiki Ueno  <ueno@gnu.org>

	libunistring: update to Unicode 6.3.0
	* lib/uniwbrk.in.h (WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
	* lib/uniwbrk/u-wordbreaks.h (FUNC): Support WB7a, WB7b, and WB7c.
	Update WB5, WB6, WB7, WB9, WB11, WB12, WB13a, and WB13b.
	* lib/uniwbrk/wbrktable.h (uniwbrk_table): Adjust table size.
	* lib/uniwbrk/wbrktable.c (uniwbrk_table): Support rule WB7a.
	Update WB5, WB9, WB10, WB13a, and WB13b.
	* tests/uniwbrk/test-uc-wordbreaks.c
	(wordbreakproperty_to_string): Support WBP_DQ, WBP_SQ, and WBP_HL.
	* lib/gen-uni-tables.c (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
	(UC_BIDI_PDI): New enumeration values.
	(bidi_category_byname): Support those enum values.
	(is_WBP_MIDNUMLET): Exclude 0x0027 (SINGLE QUOTE), which is now a
	dedicated property assigned.
	(is_property_case_ignorable): Check 0x0027.
	(WBP_DQ, WBP_SQ, WBP_HL): New enumeration values.
	(get_wbp, debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
	(output_wbp): Support those enum values.
	* lib/unictype.in.h (UC_BIDI_LRI, UC_BIDI_RLI, UC_BIDI_FSI)
	(UC_BIDI_PDI): New enumeration values.
	* lib/unictype/bidi_byname.gperf: Add those property names.
	* lib/uniwidth/width.c (nonspacing_table_data): Add U+061C,
	U+180E, U+1A1B, and U+2066..U+2069.
	* tests/uniwidth/test-uc_width2.sh: Same updates as in
	lib/uniwidth/width.c.
	* all generated files under lib/uni* and tests/uni*: Regenerate.

2015-01-14  Daiki Ueno  <ueno@gnu.org>

	libunistring: update to Unicode 6.2.0
	* lib/unilbrk/lbrktables.h (LBP_RI): New enumeration value.
	(unilbrk_table): Adjust table size.
	* lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
	for LBP_RI.
	* lib/uniwbrk.in.h (WBP_RI): New enumeration value.
	* lib/uniwbrk/u-wordbreaks.h (FUNC): Support rule WB13c.
	Normalize table index skipping ignored properties.
	* lib/uniwbrk/wbrktable.c (uniwbrk_table): Support WBP_RI.  Remove
	WBP_EXTEND and WBP_FORMAT, which are now computed without using
	the table.
	* lib/uniwbrk/wbrktable.h: Adjust table size.
	* lib/unigbrk.in.h (GBP_RI): New enumeration value.
	* lib/unigbrk/uc-is-grapheme-break.c (UC_IS_GRAPHEME_BREAK):
	Support rule GB8a.
	(UC_GRAPHEME_BREAKS_FOR, gb_table): Support GBP_RI.
	* tests/unigbrk/test-uc-is-grapheme-break.c
	(graphemebreakproperty_to_string): Support GBP_RI.
	* tests/uniwbrk/test-uc-wordbreaks.c
	(wordbreakproperty_to_string): Support WBP_RI.
	* lib/gen-uni-tables.c (LBP_RI): New enumeration value.
	(get_lbp, debug_output_lbp, fill_org_lbp, debug_output_org_lbp)
	(output_lbp): Support LBP_RI.  Adjust some characters changed from
	LBP_AL to LBP_ID.
	(output_lbp): Support LBP_RI.
	(WBP_RI): New enumeration value.
	(debug_output_wbp, fill_org_wbp, debug_output_org_wbp)
	(output_wbp): Support WBP_RI.
	(GBP_RI): New enumeration value.
	(output_gbp_test, fill_org_gbp): Support GBP_RI.
	* all generated files under lib/uni* and tests/uni*: Regenerate.

2015-01-14  Daiki Ueno  <ueno@gnu.org>

	libunistring: update to Unicode 6.1.0
	* lib/gen-uni-tables.c (output_joining_group): Switch to
	3-level table to accommodate joining groups defined with higher
	codepoint value.  Since there are only 88 groups defined in
	Unicode 7.0.0, use 7-bit packed format for level3 entries.
	(get_lbp): Update for Unicode 6.1.0.
	* lib/unictype/joininggroup_of.c (uc_joining_group): Adjust to use
	3-level table.
	* lib/unictype/joininggroup_byname.gperf: Add Rohingya Yeh
	joining group name.
	* lib/unictype/joininggroup_name.h: Likewise.
	* lib/unilbrk/lbrktables.h (LBP_HL): New enumeration value.
	(unilbrk_table): Adjust table size.
	* lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column
	for LBP_HL.
	* lib/uniwidth/width.c (nonspacing_table_data): Add U+0604,
	U+08E4..U+08FE, U+1BAB, U+1CF4, U+A674..U+A67B, U+A69F,
	U+AAEC..U+AAED, U+AAF6, U+11100..U+11102, U+11127..U+1112B,
	U+1112D..U+11134, U+11180..U+11181, U+111B6..U+111BE, U+116AB,
	U+116AD, U+116B0..U+116B5, U+116B7, U+16F8F..U+16F92.  Remove
	U+302E..U+302F.
	* tests/uniwidth/test-uc_width2.sh: Same updates as in
	lib/uniwidth/width.c.
	* all generated files under lib/uni* and tests/uni*: Regenerate.
	* modules/uni*/* (configure.ac): Bump minimum version to 0.9.5.

2015-01-15  Daiki Ueno  <ueno@gnu.org>

	uniwbrk/u32-wordbreaks-tests: add conformance test
	* modules/uniwbrk/u32-wordbreaks-tests (Files): Add
	tests/uniwbrk/test-uc-wordbreaks.c,
	tests/uniwbrk/test-uc-wordbreaks.sh, and
	tests/uniwbrk/WordBreakTest.txt.
	(Makefile.am): Add uniwbrk/test-uc-wordbreaks.sh to $(TESTS), add
	test-uc-wordbreaks to $(check_PROGRAMS), and define
	test_uc_wordbreaks_SOURCES and test_uc_wordbreaks_LDADD.
	* tests/uniwbrk/test-uc-wordbreaks.sh: New file.
	* tests/uniwbrk/test-uc-wordbreaks.c: New file.

2015-01-15  Daiki Ueno  <ueno@gnu.org>

	uniwbrk: ignore Extended/Format characters at BOL not BOS
	* lib/uniwbrk/u-wordbreaks.h (FUNC): Ignore Extend and Format
	characters if the previous character property is one of
	WBP_NEWLINE, WBP_CR, and WBP_LF.

2015-01-11  Jim Meyering  <meyering@fb.com>

	test-strstr.c: avoid a trivial leak
	* tests/test-strstr.c (main): Free haystack.

	update-copyright: recognize groff's \(co marker
	* build-aux/update-copyright (circle_c_re): Also accept
	uses of \(co, as found in gzip.1.

2015-01-08  Pádraig Brady  <P@draigBrady.com>

	maint.mk: fix compatibility with OS X nm
	* top/maint.mk (_gl_tight_scope): Use the -g option to
	show exported items rather than the -e option which is
	ignored on all platforms except OS X where it gives an error.
	Reported by Assaf Gordon.

2015-01-07  KO Myung-Hun  <komh@chollian.net>

	localcharset: improve charset detection on OS/2
	Use system codepage when appropriate.  Map OS/2 codepages to
	GNU canonical charset names if possible.
	* lib/config.charset: Don't output aliases if "$os" is os2*.
	* lib/localcharset.c (get_charset_aliases) [OS2]: Hardcode the
	result for OS/2.
	(locale_charset) [OS2]: Use system codepage if codeset is omitted
	from the locale name which is neither "C" nor "POSIX".

2015-01-06  Paul Eggert  <eggert@cs.ucla.edu>

	count-leading-zeros: use 64-bit intrinsics on 32-bit Windows
	This reverts the last patch but one, as it shouldn't be needed now
	that the typo is fixed.
	* lib/count-leading-zeros.h (count_leading_zeros_ll):
	* lib/count-trailing-zeros.h:
	* lib/count-one-bits.h:
	Go back to using 64-bit intrinsics.

	count-leading-zeros: fix pragma typos
	* lib/count-leading-zeros.h (_BitScanReverse, _BitScanReverse64):
	Fix typos in declaration of intrinsics when _MSC_VER.

2015-01-06  Pádraig Brady  <P@draigBrady.com>

	count-leading-zeros: avoid 64-bit intrinsics on 32-bit Windows
	* lib/count-leading-zeros.h (count_leading_zeros_ll): Use 32 bit
	intrinsics in this case.
	* lib/count-trailing-zeros.h: Likewise.
	* lib/count-one-bits.h: Likewise.

2015-01-06  Daiki Ueno  <ueno@gnu.org>

	uniname/uniname: update to Unicode 7.0.0
	To accommodate new characters added since Unicode 5.1.0, this
	changes the internal representation of codepoint ranges.
	Previously, we grouped codepoint ranges by manually assigned 4-bit
	tag, which only allowed 16 groups.  This removes the limitation by
	switching to binary search on a table.  For the detail rationale
	and the benchmark results, see:
	https://lists.gnu.org/r/bug-libunistring/2014-06/msg00001.html
	* lib/uniname/gen-uninames.lisp (unicode-char): Rename CODE member
	to INDEX, as it no longer represents a codepoint.
	(range): New struct.
	(main): Switch to intervals list from a bit-pattern based
	classification.
	* lib/uniname/uninames.h: Regenerate.
	* tests/uniname/UnicodeDataNames.txt: Update to Unicode 7.0.0.
	* modules/uniname/base (configure.ac): Bump minimum version to
	0.9.5.
	* modules/uniname/uniname (configure.ac): Bump minimum version to
	0.9.5.

2015-01-05  Eric Blake  <eblake@redhat.com>

	doc: update INSTALL from autoconf
	* doc/install.texi: Resync from autoconf.
	* doc/INSTALL: Reflect recent autoconf update.
	* doc/INSTALL.ISO: Likewise.
	* doc/INSTALL.UTF-8: Likewise.

	stdio: fix use of PRIdMAX on modern mingw
	* m4/stdio_h.m4 (gl_STDIO_H): Probe for printf flavor via inttypes.
	* lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): Use result
	to work with modern mingw.

2015-01-05  Daniel P. Berrange  <berrange@redhat.com>  (tiny change)

	pthread: detect git mingw builds with only partial pollution
	* m4/pthread.m4 (gl_PTHREAD_CHECK): Check for additional
	pollution, as seen temporarily in Fedora 21.

2015-01-04  Paul Eggert  <eggert@cs.ucla.edu>

	lib-symbol-versions: cache script check
	* m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT):
	Cache the check for linker version scripts.
	From a suggestion by Christophe Curis in:
	http://lists.gnu.org/r/bug-gnulib/2015-01/msg00011.html

2015-01-04  Benno Schulenberg  <bensberg@justemail.net>

	maint: fix grammar nits in propername (trivial change)
	* lib/propername.h: Remove a mistaken comma and a duplicate "from",
	and use an adequate verb and tense.

2015-01-02  Ludovic Courtès  <ludo@gnu.org>

	Suggested by Paul Eggert <eggert@cs.ucla.edu>.
	* module/gendocs: Add 'doc/gendocs_template_min'.

	* build-aux/gendocs.sh: Change email addresses and upstream URLs
	from to Gnulib's.
	(scripturl, templateurl): Adjust accordingly.

2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	gendocs: copyright date and version fix
	Reported by Karl Berry in:
	http://lists.gnu.org/r/bug-gnulib/2015-01/msg00002.html
	* build-aux/gendocs.sh, doc/gendocs_template, doc/gendocs_template_min:
	Fix copyright date.
	* build-aux/gendocs.sh (scriptversion): Update.

2015-01-01  Karl Berry  <karl@gnu.org>

	* doc/install.texi,
	* build-aux/mdate-sh,
	* build-aux/depcomp,
	* build-aux/config.guess,
	* build-aux/config.sub,
	* build-aux/ar-lib,
	* build-aux/compile: revert copyright updates (some from last
	year) in slaved files.

2015-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	version-etc: new year
	* doc/gnulib.texi:
	* lib/version-etc.c (COPYRIGHT_YEAR): Update copyright date.
	* all files: Run 'make update-copyright'.

2014-12-30  Pádraig Brady  <P@draigBrady.com>

	xstrtol: ensure errno is reset
	Since commit 3bf75404, on 26-09-1998, errno may not have been reset.
	Noticed with a spurious coreutils test failure on Darwin 14.0.0.

	* lib/xstrtol.c (__xstrtol): Always reset errno before returning.

2014-12-28  Paul Eggert  <eggert@cs.ucla.edu>

	utimens: fix dependency typo
	* modules/utimens (Depends-on): Remove 'assure'.
	This bug was introduced in the recent 'assure' patch.

2014-12-22  Eric Blake  <eblake@redhat.com>

	docs: mention why libgen.h is bad
	* doc/posix-headers/libgen.texi (libgen.h): Refer to dirname module.

2014-12-20  Paul Eggert  <eggert@cs.ucla.edu>

	assure: new module
	This works better than 'assert' when compiling with -DNDEBUG,
	as it avoids some compiler diagnostics in that case.
	Reported by Norihiro Tanaka in:
	http://lists.gnu.org/r/bug-gnulib/2014-12/msg00215.html
	* MODULES.html.sh (func_all_modules): Add 'assure'.
	* lib/assure.h, modules/assure: New files.
	* lib/chdir-long.c, lib/cycle-check.c, lib/fchdir.c, lib/fts.c:
	* lib/poll.c, lib/savewd.c, lib/xstrtol.c:
	Prefer 'assure' to 'assert'.
	* lib/utimens.c: Stop using 'assert'; it wasn't helpful.
	* modules/chdir-long, modules/cycle-check, modules/fchdir:
	* modules/poll, modules/savewd, modules/utimens, modules/xstrtol:
	Depend on 'assure'.

2014-12-16  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign: port better to HP compilers
	* m4/stdalign.m4 (gl_STDALIGN_H): Try the test if __HP_cc or
	__HP_aCC are nonzero, to be consistent with the 2014-01-20 patch.

	stdalign: work around Apple GCC 4.0 bug
	Reported by David Fang in:
	http://lists.gnu.org/r/bug-gnulib/2014-12/msg00194.html
	* lib/stdalign.in.h (_Alignas):
	* m4/stdalign.m4 (gl_STDALIGN_H):
	Do not use aligned attribute with GCC 4.0 on Apple.

2014-12-16  Pádraig Brady  <P@draigBrady.com>

	getcwd: fix test failure on OS X 10.9
	* m4/getcwd-path-max.m4: Avoid the replacement if it
	won't be effective due to the PATH_MAX limitation of lstat().
	(gl_cv_func_getcwd_path_max): Adjust to indicate this case.
	* m4/getcwd.m4 (gl_FUNC_GETCWD): Define HAVE_GETCWD_SHORTER
	for this case for use in tests, and also exclude this
	case when setting REPLACE_GETCWD.
	* tests/test-getcwd.c (test_long_name): Restrict the
	tested path length so that lstat() will not be passed
	a path greater than PATH_MAX.
	Also key a test condition on HAVE_OPENAT_SUPPORT rather
	than AT_FDCWD, since the latter is set unconditionally
	since Sep 2009 in commit 52c658e9.

2014-12-14  Tim Rühsen  <tim.ruehsen@gmx.de>

	parse-datetime: avoid a compiler warning with byacc (trivial)
	* lib/parse-datetime.y (yylex): Use the same prototype in the
	function definition as the declaration, to avoid a -Wstrict-prototypes
	warning seen when using byacc.

2014-12-12  Daiki Ueno  <ueno@gnu.org>

	unicase/locale-language-tests: fix LOCALE_FR test
	* tests/unicase/test-locale-language.sh: Really use $LOCALE_FR for
	a French locale with traditional encoding.
	Reported by umerqayam in:
	http://lists.gnu.org/r/bug-libunistring/2014-12/msg00000.html

2014-12-12  Paul Eggert  <eggert@cs.ucla.edu>

	stddef: support C11's max_align_t
	* doc/posix-headers/stddef.texi (stddef.h): Document max_align_t.
	* lib/stddef.in.h (_@GUARD_PREFIX@_STDDEF_H) [__need_wint_t]:
	Do not undef, as that might cause max_align_t to be defined twice.
	Instead, change use to check for _GL_STDDEF_WINT_T too.
	(max_align_t) [!HAVE_MAX_ALIGN_T]: New decl.
	* m4/stddef_h.m4 (gl_STDDEF_H, gl_STDDEF_H_DEFAULTS):
	Check for max_align_t.
	* modules/stddef (stddef.h): Substitute HAVE_MAX_ALIGN_T.
	* modules/stddef-tests (Depends-on): Add stdalign.
	* tests/test-stddef.c: Test max_align_t.

2014-12-11  Daiki Ueno  <ueno@gnu.org>

	unistd: fix iOS check conditional
	On Mac OS X 10.8, the TARGET_* macros are unconditonally defined
	as 0 or 1 in <TargetConditionals.h>, and the previous check always
	yielded true on non-iOS environment.
	* lib/unistd.in.h (environ) [__APPLE__]: Check the values of
	TARGET_OS_IPHONE and TARGET_IPHONE_SIMULATOR, instead of whether
	they are defined.

2014-12-09  Paul Eggert  <eggert@cs.ucla.edu>

	posixtm: avoid compiler warning in a better way
	* lib/posixtm.c (IF_LINT): Remove.
	(year, posix_time_parse):
	Return true (not 0) if successful.  All callers changed.
	(posix_time_parse): Simplify to pacify GCC without need for IF_LINT.

2014-12-08  KO Myung-Hun  <komh78@gmail.com>

	* lib/relocatable.c (relocate): Prepend $UNIXROOT to pathname if it is
	started with '/' on EMX.

2014-12-08  KO Myung-Hun  <komh78@gmail.com>

	freopen: workaround freopen() on OS/2 kLIBC
	* lib/freopen.c (rpl_freopen): Workaround.
	* m4/freopen.m4: Add os2* case.

	get_shared_library_fullname: port to EMX
	* lib/relocatable.c: Define strcmp and strncmp to stricmp and strnicmp
	on EMX, respectively.
	(_DLL_InitTerm): New on EMX.
	(get_shared_library_fullname): Implement on EMX.

	find_executable: port to EMX
	* lib/progreloc.c (find_executable): Implement on EMX.

	sched: check struct sched_param in spawn.h as well
	* lib/sched.in.h: Include spawn.h on kLIBC.
	* lib/sched_h.m4: Check struct sched_param in spawn.h as well.

2014-12-08  Martin Kletzander  <mkletzan@redhat.com>  (tiny change)

	bootstrap: Allow perl modules in $buildreq
	* build-aux/bootstrap: Add case for perl modules.

2014-12-08  Pádraig Brady  <P@draigBrady.com>

	apply _GL_ATTRIBUTE_PURE to some inline functions
	clang 3.4.2 flagged these inline functions as pure
	* lib/savewd.h (savewd_errno): Set _GL_ATTRIBUTE_PURE.
	* lib/sig-handler.h (get_handler): Likewise.
	* lib/stat-time.h (get_stat_{a,c,m,birth}time{,_ns}): Likewise.
	* lib/timespec.h (timespec_cmp, timespec_sign): Likewise.

2014-12-06  Pádraig Brady  <P@draigBrady.com>

	vasnprintf: fix potential use after free
	* lib/vasnprintf.c (VASNPRINTF): Fix free-memory read,
	flagged by clang-analyzer 3.4.2.

2014-12-05  Pádraig Brady  <P@draigBrady.com>

	filevercmp, posixtm: avoid compiler warnings with -O3
	* lib/filevercmp.h (filevercmp): Tag with _GL_ATTRIBUTE_PURE
	* lib/posixtm.c: (IF_LINT): Define.
	(posix_time_parse): Use it to void a "may be used uninitialized"
	warning, seen only with -O3.

2014-12-05  Bruno Haible  <bruno@clisp.org>

	Fix LDBL80_WORDS macro on big endian platforms.
	* m4/isfinite.m4 (gl_ISFINITEL_WORKS): Add missing parenthesis in
	LDBL80_WORDS macro.
	* m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
	* m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
	* tests/test-isfinite.c (test_isfinitel): Likewise.
	* tests/test-isinf.c (test_isinfl): Likewise.
	* tests/test-isnan.c (test_long_double): Likewise.
	* tests/test-isnanl.h (main): Likewise.
	* tests/test-snprintf-posix.h (LDBL80_WORDS): Add missing parenthesis.
	* tests/test-sprintf-posix.h (LDBL80_WORDS): Likewise.
	* tests/test-vasnprintf-posix.c (LDBL80_WORDS): Likewise.
	* tests/test-vasprintf-posix.c (LDBL80_WORDS): Likewise.
	Reported by Pádraig Brady.

2014-12-02  KO Myung-Hun  <komh78@gmail.com>

	git-version-gen: do not print new line characters
	* build-aux/git-version-gen: Use printf instead of echo and tr.

	gnulib-tool: recognize x:* as an absolute path
	* gnulib-tool (func_gnulib_dir): Add ?:* case.
	(func_relconcat): Likewise.

2014-12-02  Andrei Borzenkov  <arvidjaar@gmail.com>

	argp: avoid extraneous translation and mem leak with empty pre doc
	* lib/argp-help.c (argp_doc): Never translate the empty string,
	when "\v" is the first or last character of the string, as that
	has a reserved meaning to return the header info from a po file.
	This also fixes a small memory leak in the !post case.
	The issue can be seen with this command for example:
	LC_MESSAGES=en_US grub2-mknetdir --help

2014-11-27  Daiki Ueno  <ueno@gnu.org>

	uniname/uniname-tests: skip if system's libunistring is used
	* modules/uniname/uniname-tests (Makefile.am): Skip test if
	uniname/uniname module is not compiled.

2014-11-27  Pádraig Brady  <P@draigBrady.com>

	printf: fix configure check on big endian systems
	* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Add missing bracket.

2014-11-22  Daiki Ueno  <ueno@gnu.org>

	pipe-filter-gi, pipe-filter-ii: port to AIX
	On AIX 7.1, 'select' is defined as static and cannot be referred
	to from inline function.
	* lib/pipe-filter-aux.h (nointr_select): Remove, manually expand
	the definition...
	* lib/pipe-filter-gi.c (filter_loop): ...here, and...
	* lib/pipe-filter-ii.c (pipe_filter_ii_execute): ...here.

2014-11-20  Paul Eggert  <eggert@cs.ucla.edu>

	gitlog-to-changelog: add --until
	* build-aux/gitlog-to-changelog: Support new --until option.
	Need described by Eli Zaretskii in: http://bugs.gnu.org/19113

2014-11-14  Paul Eggert  <eggert@cs.ucla.edu>

	extern-inline: update commentary about GCC bugs
	* m4/extern-inline.m4: Add another GCC bug number to comments.

2014-11-13  Daiki Ueno  <ueno@gnu.org>

	gen-uni-tables: untabify
	* lib/gen-uni-tables.c: Untabify.

2014-11-13  Daiki Ueno  <ueno@gnu.org>

	gen-uni-tables: check out-of-range values added to 3-level tables
	* lib/gen-uni-tables.c (output_category, output_bidi_category)
	(output_joining_type, output_ident_category): Check out-of-range
	values added to 3-level tables.

2014-11-13  Daiki Ueno  <ueno@gnu.org>

	gen-uni-tables: utilize 'assert'
	* lib/gen-uni-tables.c: Include <assert.h>.
	(output_category, output_combclass, output_decimal_digit_test)
	(output_decimal_digit, output_digit_test, output_digit)
	(output_numeric, get_mirror_value, fill_properties)
	(fill_property30, is_property_alphabetic)
	(is_property_default_ignorable_code_point)
	(is_property_uppercase, is_property_lowercase)
	(is_property_cased, is_property_case_ignorable)
	(is_property_changes_when_lowercased, is_property_iso_control)
	(is_property_math, fill_arabicshaping, output_joining_group)
	(fill_scripts, fill_blocks, output_lbp, fill_org_wbp)
	(output_wbp, fill_org_gbp, get_decomposition)
	(output_decomposition, fill_composition_exclusions)
	(debug_output_composition_tables, output_composition_tables)
	(redistribute_casefolding_rules, output_casing_rules): Use
	'assert (EXPR);' instead of 'if (!EXPR) abort ();' for better error
	reporting.

2014-11-13  Daiki Ueno  <ueno@gnu.org>

	gen-uni-tables: cosmetic improvements
	* lib/gen-uni-tables.c: Escape newlines in the Emacs file local
	variables specification.
	(is_outdigit): Remove unused function.

2014-11-12  Jeroen Roovers  <jer@gentoo.org>  (tiny change)

	fcntl-h-tests: port to PA-RISC GNU/Linux
	* tests/test-fcntl-h.c (main): Check O_SYNC is different from O_DSYNC.

2014-11-10  Paul Eggert  <eggert@cs.ucla.edu>

	fts: port to C89
	Problem reported for MSVC 16 by Gisle Vanem in:
	http://lists.gnu.org/r/bug-gnulib/2014-11/msg00027.html
	* lib/fts.c (fts_build): Avoid declaration before statement.

2014-11-06  Paul Eggert  <eggert@cs.ucla.edu>

	unistd: port to iOS
	Problem reported by André Klitzing in:
	http://lists.gnu.org/r/bug-gnulib/2014-11/msg00013.html
	* lib/unistd.in.h (environ): Do not include crt_externs.h on iOS.

2014-11-05  Paul Eggert  <eggert@cs.ucla.edu>

	obstack: do not reject malloc-style obstack_chunkfun, obstack_freefun
	Problem reported by Alan Modra in:
	http://lists.gnu.org/r/bug-gnulib/2014-11/msg00007.html
	* lib/obstack.h (obstack_chunkfun, obstack_freefun):
	Always cast the function arg, reverting this part of the previous
	change.

2014-11-04  Paul Eggert  <eggert@cs.ucla.edu>

	obstack: avoid potentially-nonportable function casts
	* lib/obstack.c (CALL_CHUNKFUN, CALL_FREEFUN):
	Remove, replacing with ...
	(call_chunkfun, call_freefun): New static functions.
	All uses changed.  Avoid potentially-nonportable casts.
	(chunkfun_type, freefun_type): Remove typedefs; no longer used.
	(_obstack_begin_worker): Omit last two args, since they
	rely on potentially-nonportable casts.  All callers changed.
	* lib/obstack.h (_OBSTACK_CAST): New macro.
	Use it everywhere the old API used a potentially-nonportable cast.
	The new API doesn't cast.
	(struct obstack): Use unions rather than requiring
	potentially-nonportable casts.
	(obstack_chunkfun, obstack_freefun): Return void.

2014-11-03  Alan Modra  <amodra@gmail.com>

	obstack: fix macro return values
	* lib/obstack.h (obstack_next_free): Return void *.
	(obstack_1grow_fast, obstack_blank_fast): Return void.
	For __GNUC__ macros:
	(obstack_1grow, obstack_blank): Remove now unnecessary (void) 0.
	For !__GNUC__ macros:
	(obstack_make_room, obstack_grow, obstack_grow0)
	(obstack_ptr_grow_fast, obstack_int_grow_fast): Return void.

2014-11-03  Paul Eggert  <eggert@cs.ucla.edu>

	obstack: do not assume system-supplied obstack is size_t safe
	* m4/obstack.m4: New file.
	* modules/obstack (Files): Add it.

	obstack: port to platforms that #define __alignof__
	* lib/obstack.c: Include <alignof.h> if !defined __alignof__,
	not if !_LIBC.  We don't know of any platforms that #define
	__alignof__, but it might be useful in tests.  Conversely,
	glibc assumes GCC.

2014-11-03  Pádraig Brady  <P@draigBrady.com>

	linkat: don't unconditionally replace on GNU/Linux
	* m4/linkat.m4 (gl_FUNC_LINKAT): The compile check for AT_SYMLINK_FOLLOW
	was redundant for a few reasons.  It was present to support compiling
	on new systems but running on the old narrow window of Linux 2.6.1[67].
	It setup and cleaned up test files which weren't actually used.
	On non __linux__ it compile tested AT_SYMLINK_FOLLOW, but that is
	implicit in the following check.

2014-11-03  Pádraig Brady  <P@draigBrady.com>

	linkat: wrap to handle symlinks on OS X 10.10
	* m4/linkat.m4 (gl_FUNC_LINKAT): linkat() is available on Yosemite
	but not usable because it doesn't support creating hardlinks
	to symlinks.  Therefore add a generic test for this capability
	and fallback to our emulation if linkat() fails with ENOTSUP.

2014-11-02  Paul Eggert  <eggert@cs.ucla.edu>

	open, openat: document nonstandard FreeBSD, NetBSD O_NOFOLLOW errno
	* doc/posix-functions/open.texi (open):
	* doc/posix-functions/openat.texi (openat):
	Document that these functions do not set errno to ELOOP when
	a symlink is opened with O_NOFOLLOW.

2014-10-31  Paul Eggert  <eggert@cs.ucla.edu>

	obstack: add NEWS entry for recent incompatible changes
	* NEWS: Describe recent changes.

2014-10-30  Pádraig Brady  <P@draigBrady.com>

	mountlist: don't use libmount to decide on dummy/remote
	* lib/mountlist.c (read_file_system_list): Don't use the libmount
	routines to determine whether a file system is dummy or remote,
	as they're not currently compatible.  For example the remoteness
	is determined on file system type (for which the list seems incomplete),
	rather than simply checking for a ':' in the device name.
	Also libmount currently determines that 'tmpfs' is a dummy file system
	even though it has associated storage.

2014-10-29  Paul Eggert  <eggert@cs.ucla.edu>

	obstack: prefer __alignof__ to alignof
	This is for portability to pre-4.7 GCC when compiling glibc.
	See Joseph S. Myers in:
	http://sourceware.org/ml/libc-alpha/2014-10/msg00703.html
	* lib/obstack.c (__alignof__) [!_LIBC && !__GNUC__]:
	New macro, defined by including and using <alignof.h>.
	(MAX): New macro.
	(DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Redefine in terms of these.
	Do not use enums as they are not portable to some broken compilers.
	* modules/obstack (Depends-on): Depend on alignof, not stdalign.

	obstack: prefer alignof to calculating alignments by hand
	* lib/obstack.c: Include <stdalign.h>.
	(struct fooalign): Remove.
	(DEFAULT_ALIGNMENT): Use alignof rather than the old offsetof hack.
	* modules/obstack (Depends-on): Add stdalign.

2014-10-28  Paul Eggert  <eggert@cs.ucla.edu>

	obstack: use size_t alignments and check for overflow
	* lib/obstack.c, lib/obstack.h (_obstack_begin, _obstack_begin_1):
	* lib/obstack.c (_obstack_begin_worker, _obstack_newchunk):
	* lib/obstack.h (struct obstack.alignment_mask):
	Use _OBSTACK_SIZE_T, not int, for alignments.
	* lib/obstack.c (_obstack_newchunk): Fail if the size calculation
	overflows, e.g., when adding the alignment.

2014-10-29  Alan Modra  <amodra@gmail.com>

	obstack: 64-bit obstack support, part 3
	This finally enables full 64-bit obstack support.  The glibc
	shared library specific code is removed from obstack.c too, and
	the error handling code conditionally compiled under control of
	another macro, _OBSTACK_NO_ERROR_HANDLER.
	* lib/obstack.h: Include string.h earlier.
	(_OBSTACK_INTERFACE_VERSION): Define.
	(_OBSTACK_SIZE_T, _CHUNK_SIZE_T): Define as size_t for version 2.
	* lib/obstack.c: Don't include shlib-compat.h.
	(OBSTACK_INTERFACE_VERSION): Delete.
	(_OBSTACK_ELIDE_CODE): Rename from ELIDE_CODE.  Define when version 1
	glibc code is compatible with version 2.  Don't include stdio.h for
	__GNU_LIBRARY.
	(obstack_exit_failure, print_and_abort, obstack_alloc_failed_handler):
	Omit when _OBSTACK_NO_ERROR_HANDLER defined.  Include stdio.h here.
	(_obstack_compat, _obstack, _obstack_newchunk, obstack_free): Delete
	glibc shared library specific source.

	obstack: 64-bit obstack support, part 2
	This gets us 4G obstack support, without changing ABI
	compatibility, apart from possibly introducing some
	signed/unsigned comparison warnings in code that uses obstack.h.
	a) Replace "int" size parameters, return values, and macro local vars
	   with _OBSTACK_SIZE_T, an "unsigned int" for now.
	b) Make obstack.chunk_size a _CHUNK_SIZE_T, an "unsigned long" for now.
	c) Make all obstack macros checking available room use obstack_room.
	   "next_free + desired > chunk_limit" may wrap the lhs for chunks
	   allocated near the top of memory.
	d) Use unsigned comparisons, and macro locals to support >2G on 32-bit.
	* lib/obstack.h (_OBSTACK_SIZE_T): Define.  Use throughout
	in place of "int" size parameters, return values and local vars.
	(_CHUNK_SIZE_T): Define.
	(struct obstack): Make chunk_size a _CHUNK_SIZE_T.  Make temp
	union use an _OBSTACK_SIZE_T integer type.
	For __GNUC__ versions of the following macros...
	(obstack_room): Rename local var.
	(obstack_make_room): Use obstack_room.
	(obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
	obstack_int_grow, obstack_blank): Likewise.
	(obstack_finish): Use unsigned comparison when comparing aligned
	next_free against chunk_limit.
	(obstack_free): Cast OBJ to remove possible const qualifier.
	For !__GNUC__ versions of the following macros...
	(obstack_make_room): Use obstack_room.
	(obstack_grow, obstack_grow0, obstack_1grow, obstack_ptr_grow,
	obstack_int_grow, obstack_blank): Likewise.
	(obstack_finish): Use unsigned comparision when comparing aligned
	next_free against chunk_limit.
	(obstack_free): Use temp.p and same comparisons as __GNUC__ version.
	* lib/obstack.c (_obstack_begin_worker): Make "size" parameter
	_OBSTACK_SIZE_T.
	(_obstack_begin, _obstack_begin_1): Likewise.
	(_obstack_newchunk): Likewise for length parameter.  Use size_t locals.
	(_obstack_memory_used): Return and use _OBSTACK_SIZE_T local.

	obstack: 64-bit obstack support, part 1
	a) Correct calls to alloc function, to use a size_t arg.  "long" is
	   just wrong on targets like x86_64-mingw64 where "long" is 32 bits
	   and "size_t" 64 bits.
	b) Consolidate _obstack_begin and _obstack_begin1 code.
	* lib/obstack.h (struct obstack <chunkfun>): Correct prototype to
	use "size_t" rather than "long".
	(_obstack_begin, _obstack_begin1): Likewise.
	(obstack_init, obstack_begin, obstack_specify_allocation_with_arg,
	obstack_chunkfun): Update alloc function casts.
	* lib/obstack.c (CALL_CHUNKFUN): Update chunkfun cast.
	(chunkfun_type, freefun_type): New typdefs.
	(_obstack_begin_worker): Split out from ..
	(_obstack_begin, _obstack_begin_1): ..here.

	obstack: tidy part 2
	a) Don't be concerned about "not polluting the namespace with stddef.h
	   symbols" in obstack.h, since gnulib string.h includes stddef.h
	   anyway, and it seems unlikely that anyone would care.
	b) Don't roll our own slow memcpy in _obstack_newchunk.
	c) Rename obstack_free to _obstack_free.  This makes the naming
	   consistent with other obstack functions and obviates the need for
	   __obstack_free.  Ancient obstack.c defined both obstack_free and
	   _obstack_free.  We continue to do that for _LIBC via an alias.
	d) Miscellaneous macro fixes.  The expression used to test for gcc-2.8
	   is clever, but nowadays gcc warns on undefined macros.  You'll get
	   an undefined macro warning if simulating an old gcc with -U__GNUC__
	   -U__GNUC_MINOR__ -D__GNUC__=1.
	* lib/obstack.h: Include stddef.h unconditionally.  Formatting fixes.
	(PTR_INT_TYPE): Delete, replace with ptrdiff_t.
	(__obstack_free): Delete, update refs.
	(_obstack_free): Rename from obstack_free.
	(__extension__): Avoid undefined macro warning for __GNUC_MINOR__.
	(obstack_object_size, obstack_room): Parenthesise !__GNUC__ versions.
	* lib/obstack.c: Don't include stddef.h.
	(COPYING_UNIT): Delete.
	(_obstack_begin): Formatting fix.
	(_obstack_newchunk): Use memcpy to move existing object to new chunk.
	(_obstack_free): Rename from __obstack_free, update alias.  Move
	undef of obstack_free to where it is needed.

	obstack: tidy part 1
	a) Rename temp fields.  temp.tempint and temp.tempptr just looks ugly
	   to me, and result in overlong lines after later patches.
	b) Move error handling code, to avoid a forward declaration and to
	   simplify later patches in this series.
	* lib/obstack.h (struct obstack <temp>): Rename fields of union
	and update all uses.
	* lib/obstack.c: Include stdlib.h earlier.
	(obstack_exit_failure, obstack_alloc_failed_handler): Move later
	in file.
	(print_and_abort): Remove now redundant forward declaration.

2014-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	socketlib, sockets, sys_socket: Use AC_REQUIRE to pacify autoconf.
	Without this change, in bleeding-edge fileutils Autoconf complains
	that gl_SOCKETLIB etc. are AC_REQUIREd after being invoked.
	* modules/socketlib (configure.ac): AC_REQUIRE gl_SOCKETLIB.
	* modules/sockets (configure.ac): AC_REQUIRE gl_SOCKETS.
	* modules/sys_socket (configure.ac): AC_REQUIRE gl_HEADER_SYS_SOCKET.

2014-10-24  Daiki Ueno  <ueno@gnu.org>

	iconv: avoid false detection of non-working iconv
	The INBUF arguments of iconv can be either 'const char **'
	or 'char **'.  If CC is g++, the difference causes a compile error
	and thus leads to a false detection of non-working iconv.
	Reported by Eli Zaretskii and Werner LEMBERG in:
	<https://lists.gnu.org/r/bug-gnulib/2014-10/msg00023.html>.
	* m4/iconv.m4 (AM_ICONV_LINK): Try all possible argument types of
	iconv.  Bump serial number.

2014-10-23  Pádraig Brady  <P@draigBrady.com>

	bootstrap: print more diagnostics for missing programs
	* build-aux/bootstrap: only suppress stderr when checking for
	alternative program names.  This supports programs issuing non
	standard error messages.

2014-10-23  Pádraig Brady  <P@draigBrady.com>

	bootstrap: only update the gnulib submodule
	* build-aux/bootstrap: Restrict the "submodule update" command
	to the gnulib path.

2014-10-18  Paul Eggert  <eggert@cs.ucla.edu>

	symlinkat: port to AIX 7.1
	* doc/posix-functions/symlinkat.texi (symlinkat):
	Mention AIX porting problem.
	* lib/symlinkat.c: Always include errno.h.
	(rpl_symlinkat) [HAVE_SYMLINKAT]: New function.
	* lib/unistd.in.h (symlinkat): Add replacement machinery.
	* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Check symlinkat behavior.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_SYMLINKAT.
	* modules/symlinkat (Depends-on): Add fstatat if REPLACE_SYMLINKAT.
	(configure.ac): Also compile replacement if REPLACE_SYMLINKAT.
	* modules/unistd (unistd.h): Substitute REPLACE_SYMLINKAT.

	readlinkat: port to AIX 7.1
	* doc/posix-functions/readlink.texi (readlink):
	* doc/posix-functions/readlinkat.texi (readlinkat):
	Mention AIX porting problem.
	* lib/readlinkat.c (rpl_readlinkat) [HAVE_READLINKAT]:
	New function.
	* lib/unistd.in.h (readlinkat): Add replacement machinery.
	* m4/readlinkat.m4 (gl_FUNC_READLINKAT): Check readlinkat signature.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_READLINKAT.
	* modules/readlinkat (configure.ac): Also compile replacement
	if REPLACE_READLINKAT.
	* modules/unistd (unistd.h): Substitute REPLACE_READLINKAT.

2014-10-12  Karl Berry  <karl@gnu.org>

	* doc/posix-functions/dirname.texi: remove spurious {.

2014-09-28  Ben Pfaff  <blp@cs.stanford.edu>

	basename, dirname: Improve documentation.
	* doc/posix-functions/basename.texi: Mention dirname module and
	base_name() function.
	* doc/posix-functions/dirname.texi: Mention dir_name() and
	mdir_name() functions.
	Suggested by Werner LEMBERG <wl@gnu.org>.

2014-09-24  Jim Meyering  <meyering@fb.com>

	exclude: declare exclude_patopts static
	* lib/exclude.c (exclude_patopts): Declare static,
	to avoid triggering a -Wmissing-prototypes warning.
	The alternative (declaring it in the .h file) would
	require publicizing the private "struct patopts".

2014-09-21  Werner Lemberg  <wl@gnu.org>

	dirname: support compilation with C++
	* lib/dirname.h: Add necessary C linkage declarations.

2014-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	qsort_r: include <config.h>
	Problem reported by Tom G. Christensen in:
	http://lists.gnu.org/r/bug-gnulib/2014-09/msg00071.html
	* lib/qsort.c [!_LIBC]: Include <config.h> first.

2014-09-16  Dylan Cali  <calid1984@gmail.com>

	avltree-list: avoid compiler warnings (trivial)
	* lib/gl_anytree_list2.h: Add _GL_ATTRIBUTE_PURE to avoid
	-Werror=suggest-attribute=pure.
	* lib/gl_array_list.c: Likewise.
	* lib/gl_avltree_list.c (gl_avltree_list_check_invariants): Add extern
	declaration to avoid -Werror=missing-prototypes.  This is not added
	to a header as only exported for tests.  Add (void) to the
	check_invariants() call to indicate we're discarding the result
	in this context which avoids -Werror=unused-value.  Note we don't
	use ignore_value here to avoid a dependency as we know we'll not
	be adding __attribute__((warn_unused_result)) to check_invariants().
	Add _GL_ATTRIBUTE_CONST to avoid -Werror=suggest-attribute=const.

2014-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	qsort_r: new module, for GNU-style qsort_r
	* m4/qsort_r.m4: New file.  Forgot to add this earlier.

2014-09-15  Werner LEMBERG  <wl@gnu.org>

	strerror_r-posix: support compilation with C++
	* lib/strerror_r.c: Add necessary C linkage declarations.

2014-09-11  Johannes Zarl  <johannes.zarl@jku.at>

	fcntl-h: fix compilation with Intel C++ compiler (trivial)
	* lib/fcntl.in.h: ICC has the same issue as GCC <= 4.2.

2014-09-09  Fridolin Pokorny  <fpokorny@redhat.com>

	mountlist: use /proc/self/mountinfo when available
	Use libmount to propagate device IDs provided by Linux in
	/proc/self/mountinfo.  This will give more accurate output when
	using df in chroot'ed environments as the device IDs are not
	determined by stat() which may be inaccurate within the chroot.
	* lib/mountlist.c (read_file_system_list): Use the libmount routines
	from util-linux to parse "/proc/self/mountinfo" or fall back to
	standard getmntent() processing.
	* m4/ls-mntd-fs.m4: Check for libmount only when 1-argument
	getmntent() is used, as is the case on GNU/Linux.

2014-09-07  Eric Wong  <normalperson@yhbt.net>

	users.txt: add cmogstored
	cmogstored has used gnulib since the beginning in 2012 to support
	GNU/Linux, FreeBSD, and GNU/kFreeBSD.

2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>

	Trivial change.
	* gnulib-tool: Use same options as build-aux/bootstrap to download
	PO files.

2014-09-05  Mathieu Anquetin  <mathieu@anquetin.eu>

	Trivial change.
	* gnulib-tool: Fallback to wget when rsync of PO files fails.

2014-09-04  Eric Blake  <eblake@redhat.com>

	maintainer-makefile: add syntax check for useless ';;'
	* top/maint.mk (sc_prohibit_double_semicolon): New rule.

2014-09-04  Paul Eggert  <eggert@cs.ucla.edu>

	pthread, pthread_sigmask, threadlib: port to Ubuntu 14.04
	Problem reported by Assaf Gordon in:
	http://lists.gnu.org/r/bug-gnulib/2014-09/msg00023.html
	Apparently Ubuntu is doing some fancy link-time optimization
	that doesn't work with -lpthread but does work with -pthread.
	Work around the bug by preferring -pthread to -lpthread.
	* m4/pthread.m4 (gl_PTHREAD_CHECK):
	* m4/threadlib.m4 (gl_THREADLIB_BODY): Prefer -pthread to -lpthread.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
	Treat -pthread like -lpthread.

2014-09-04  Eric Blake  <eblake@redhat.com>

	error: drop spurious semicolon
	* lib/error.c (__error_at_line): Fix ';;'.

2014-09-02  Paul Eggert  <eggert@cs.ucla.edu>

	gnulib-common.m4: port to GCC 4.2.1 and Sun Studio 12 C++
	* m4/gnulib-common.m4 (AC_C_RESTRICT):
	Override AC_C_RESTRICT unconditionally.
	Update from autoconf, incorporating:
	2014-09-02 autoconf: port 'restrict' to GCC 4.2.1
	2009-01-28 Fix AC_C_RESTRICT for Sun Studio 12 C++.

2014-09-01  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: add GCC 4.9 warnings
	Also, make it easier to maintain this in the future.
	* build-aux/gcc-warning.spec: Add -Wabi-tag,
	-Wconditionally-supported, -Wdelete-incomplete,
	-Winherited-variadic-ctor, -Wvirtual-move-assign, -Wzerotrip.
	Remove duplicates.  Use tabs uniformly, as that's what 'cut' wants.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add -Wdate-time,
	-Wopenmp-simd.  Use -fdiagnostics-show-option and -funit-at-a-time
	only for older GCC versions that need them.  Handle
	-Wnormalized=nfc specially, so that the 'comm' command used
	for maintenance doesn't get confused.

2014-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	vasnprintf: fix bugs in width computation
	* lib/vasnprintf.c (VASNPRINTF):
	Rework previous change, which introduced a bug,
	to avoid the warning in a different way.
	Avoid undefined behavior if the width arg is less than -INT_MAX.
	Avoid unnecessary use of HAS_WIDTH local.

2014-08-31  Thien-Thi Nguyen  <ttn@gnu.org>  (tiny change)

	vasnprintf: Avoid signed/unsigned comparison warning.
	* lib/vasnprintf.c (VASNPRINTF): To calculate padding,
	compare end addr of generated string w/ maximum end addr.

2013-08-30  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)

	parse-datetime: Avoid pointer difference.
	* lib/parse-datetime.y (yylex): Compare pointer to end of buffer,
	instead of calculating difference of pointers.  This removes an
	annoying warning, devoid of any use.

2014-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	qsort_r: new module, for GNU-style qsort_r
	This works even on FreeBSD, which has an incompatible qsort_r API.
	* MODULES.html.sh: Add it.
	* doc/glibc-functions/qsort_r.texi: It's now supported.
	* lib/qsort.c: New file, taken from glibc with minor changes
	inside "#ifndef _LIBC" and with an unnecessary "#include <alloca.h>"
	removed.
	* lib/qsort_r.c: New file, compiled only on FreeBSD.
	* lib/stdlib.in.h (qsort_r): Declare in the usual way.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS):
	* modules/qsort_r, modules/qsort_r-tests: New files.
	* modules/stdlib (Makefile): Set up its defaults.
	* tests/test-qsort_r.c: New file.

2014-08-08  Paul Eggert  <eggert@cs.ucla.edu>

	vla: new module
	GNU RCS can use this, mostly for documentation I expect.  See:
	http://lists.gnu.org/r/bug-gnulib/2014-08/msg00025.html
	* MODULES.html.sh: Add vla.
	* lib/vla.h, modules/vla: New files.

2014-08-07  Daiki Ueno  <ueno@gnu.org>

	localename: make gl_locale_name_thread really thread-safe on Windows
	* lib/localename.c [WINDOWS_NATIVE && !IN_LIBINTL]: Include
	"glthread/lock.h".
	(get_lcid_lock) [WINDOWS_NATIVE]: New variable.
	(get_lcid) [WINDOWS_NATIVE]: Lock while looking for an LCID.

2014-08-07  Paul Eggert  <eggert@cs.ucla.edu>

	getpass: don't assume struct termios
	Problem report and trivial fix by Jonas 'Sortie' Termansen in:
	http://lists.gnu.org/r/bug-gnulib/2014-08/msg00015.html
	* lib/getpass.c (getpass): Port to systems lacking struct termios.

	getdtablesize: fall back on sysconf (_SC_OPEN_MAX)
	Problem reported by Jonas 'Sortie' Termansen in:
	http://lists.gnu.org/r/bug-gnulib/2014-08/msg00023.html
	* lib/getdtablesize.c (getdtablesize) [_SC_OPEN_MAX]:
	Implement via sysconf for platforms that lack getdtablesize.

	vararrays: modernize AC_C_VARARRAYS for C11
	This backports a change I recently made to Autoconf.
	* m4/vararrays.m4 (AC_C_VARARRAYS): Define __STDC_NO_VLA__ if
	VLAs are not supported, as this is what C11 does.  The old macro
	HAVE_C_VARARRAYS is still defined if they are supported, but is
	now obsolescent.  Also, check for VLA bug in GCC 3.4.3.

2014-08-07  Alessandro Degano  <degano@cern.ch>  (tiny change)

	relocatable-prog-wrapper: port gettext to OS X 10.8 + GCC 4.8.1
	* build-aux/install-reloc (func_create_wrapper): Also wrap
	strerror-override, stat, stat.

2014-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	sys_select: fix FD_ZERO problem on Solaris 10
	* lib/sys_select.in.h: Fix Solaris 10 bug where "#include
	<sys/time.h>" followed by "#include <sys/select.h>" caused FD_ZERO
	to expand to an expression that invoked memset without necessarily
	including <string.h>.  The problem was that the first include
	defined _SYS_TIME_H, causing the second include to short-circuit.
	Fix a similar problem with <sys/types.h> followed by <sys/select.h>.
	Also, fix what appears to be a cut-and-paste typo, by replacing
	_GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H with
	_GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TYPES_H.

	accept: document Solaris 10 type glitch
	* doc/posix-functions/accept.texi (accept): Mention that
	Solaris 10 'accept' takes void * last arg, not socklen_t *.

2014-08-04  Paul Eggert  <eggert@cs.ucla.edu>

	extern-inline: port to FreeBSD, DragonFly
	* m4/extern-inline.m4 (gl_EXTERN_INLINE): Also assume the bug
	is present if either __DragonFly__ or __FreeBSD__ is defined.
	FreeBSD problem reported by Andrey Borzenkov in:
	http://lists.gnu.org/r/bug-gnulib/2014-07/msg00104.html
	Also, worry about __APPLE__ only if __MACH__ is also defined,
	as this is more consistent with the rest of gnulib.
	(_GL_EXTERN_INLINE_STDHEADER_BUG): Rename this internal macro from
	_GL_EXTERN_INLINE_APPLE_BUG, since the bug is not limited to Apple.

2014-08-01  Siddhesh Poyarekar  <siddhesh@redhat.com>

	regex: Make #if/#ifdef usage consistent for DEBUG
	* lib/regex_internal.c: Use "#if defined DEBUG && DEBUG" instead
	of the inconsistent usage of #if and #ifdef as that works with
	both Glibc and Gnulib's style.

2014-07-31  Eric Blake  <eblake@redhat.com>

	openat-die: use _Noreturn markup
	* modules/openat-die (Depends-on): Add snippet/_Noreturn.
	* lib/openat-die.c (openat_save_fail, openat_restore_fail): Mark
	_Noreturn.

2014-07-30  Eric Blake  <eblake@redhat.com>

	test-open: port to cygwin, which lacks Fortify
	* tests/test-open.h (ALWAYS_INLINE): New macro.
	(__always_inline): Don't abuse internal symbol on non-glibc.

2014-07-19  Eli Zaretskii  <eliz@gnu.org>

	localename: Enforce declarations before statements.
	* localename.c (gl_locale_name_thread): Declare 'lcid' before the
	first statement.

2014-07-18  Jim Meyering  <meyering@fb.com>

	test-userspec: don't look up numeric user names
	* tests/test-userspec.c: I found a system for which getpwnam("0")
	returned a pointer to a non-root user's entry, and that made the
	test fail.
	(T): Prefix each numeric input with "+", to inhibit lookup.

2014-07-15  Eli Zaretskii  <eliz@gnu.org>

	localcharset, localename: MS-Windows support for non-default locales
	* lib/localcharset.c (locale_charset) [WINDOWS_NATIVE]: Before
	falling back on the default system codepage, try extracting
	the codepage from what 'setlocale' returns.  This allows to
	take into account changes of the codeset due to non-default
	locale set by a previous call to 'setlocale'.
	* lib/localename.c (LOCALE_NAME_MAX_LENGTH) [WINDOWS_NATIVE]:
	Define if not already defined.
	(enum_locales_fn, get_lcid) [WINDOWS_NATIVE]: New functions.
	(gl_locale_name_thread) [WINDOWS_NATIVE]: Produce the
	current locale by calling 'setlocale', then converting the
	locale name into LCID by calling 'get_lcid'.  This allows to
	take into account changes in the current locale from the
	default one, in contrast to GetThreadLocale.

2014-07-14  Daiki Ueno  <ueno@gnu.org>

	announce-gen: avoid failure when Digest::SHA is installed
	When Digest::SHA is available, Digest::SHA1 is not loaded and thus
	Digest::SHA1->new in print_checksums fails.
	* build-aux/announce-gen (digest_classes): New associative array
	for available message digest implementations.
	(print_locations): Use it.

2014-07-13  Pádraig Brady  <P@draigBrady.com>

	gettext: revert "update macros to version 0.19"
	This reverts commit 9b9370ca, as it currently requires that
	developers of any project that explicitly uses the gettext module
	or implicitly uses it through the utimens-tests or
	futimens-tests modules, use gettext >= 0.19.
	However there are some stability and availablity issues with
	that version at present.  We can reinstate this soon, when stability
	is addressed and packages are more readily available.

2014-07-12  Jim Meyering  <meyering@fb.com>

	regex: don't deref NULL upon heap allocation failure
	* lib/regcomp.c (parse_dup_op): Handle duplicate_tree
	failure in one more place.
	To trigger the segfault, configure grep -with-included-regex,
	build it, and run these commands:
	( ulimit -v 300000; echo a|src/grep -E a+++++++++++++++++++++ )
	I discovered this while replying to a private report from
	Jens Schleusener about excessive memory consumption by grep
	when using a regular expression like the one above.

2014-07-11  Paul Eggert  <eggert@cs.ucla.edu>

	regex: fix memory leak in compiler
	Fix by Andreas Schwab in:
	https://sourceware.org/ml/libc-alpha/2014-06/msg00503.html
	* lib/regcomp.c (parse_reg_exp): Deallocate partially
	constructed tree before returning error.

2014-07-10  Assaf Gordon  <assafgordon@gmail.com>

	announce-gen: avoid perl warnings
	* build-aux/announce-gen: add two minor checks to avoid
	"use of uninitialized value" warnings when command-line parameters are
	missing.

2014-07-10  Assaf Gordon  <assafgordon@gmail.com>

	localename: avoid -Wsuggest-attribute={const,pure} warnings
	* lib/localename.c (string_has): Tag internal function as pure.
	* lib/localename.h (gl_locale_name_default): Tag extern declaration
	as const when appropriate.

2014-07-10  Eli Zaretskii  <eliz@gnu.org>

	nl_langinfo: Fix last change.
	* lib/nl_langinfo.c (includes): Drop redundant include.

2014-07-10  Siddhesh Poyarekar  <siddhesh@redhat.com>

	error: Fix -Wundef warnings in glibc
	* lib/error.c [_LIBC]: Define default macros for
	glibc.
	(print_errno_message) [defined HAVE_STRERROR_R || _LIBC]:
	Check _LIBC before STRERROR_R_CHAR_P.

	error: Sync from glibc master
	* lib/error.c [_LIBC]: Remove INTUSE usage.
	(error_tail): Remove unused macro ALLOCA_LIMIT.
	Fix potential buffer overflow.  Fix potential NULL dereference
	in strcmp.

2014-07-09  Pavel Hrdina  <phrdina@redhat.com> (tiny change)

	nl_langinfo: fix build under mingw
	* lib/nl_langinfo.c (includes): Pick up <windows.h> for GetACP().

2014-07-09  Andrew D Warshall  <warshall@99main.com>

	mountlist: do not classify a bind-mounted dir entry as "dummy"
	* m4/ls-mntd-fs.m4: Check for hasmntopt() on platforms with
	1-argument getmntent() (instead of assuming absence).

2014-07-08  Eric Blake  <eblake@redhat.com>

	maint.mk: less syntax-check noise when SIGPIPE is ignored
	* top/maint.mk (_sc_header_without_use)
	(sc_require_config_h_first): Parse full list.

2014-07-07  Eli Zaretskii  <eliz@gnu.org>
	    Paul Eggert  <eggert@cs.ucla.edu>

	nl_langinfo: CODESET on MS-Windows and more items from localeconv
	* lib/langinfo.in.h (DECIMAL_POINT, THOUSANDS_SEP, GROUPING)
	(CURRENCY_SYMBOL, INT_CURR_SYMBOL, MON_DECIMAL_POINT)
	(MON_THOUSANDS_SEP, MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN)
	(FRAC_DIGITS, INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES)
	(P_SEP_BY_SPACE, N_SEP_BY_SPACE, P_SIGN_POSN, N_SIGN_POSN): Define.
	* lib/nl_langinfo.c: Include <locale.h> and <string.h> early.
	Include <stdio.h> if Microsoft Windows.
	Include <time.h> if !REPLACE_NL_LANGINFO.
	(ctype_codeset): New function, taken from rpl_nl_langinfo,
	and with improvements for Microsoft Windows.
	(rpl_nl_langinfo): Use it.
	(nl_langinfo) [!REPLACE_NL_LANGINFO]: Likewise.
	Compute the values of RADIXCHAR, THOUSEP, GROUPING, CRNCYSTR,
	INT_CURR_SYMBOL, MON_DECIMAL_POINT, MON_THOUSANDS_SEP,
	MON_GROUPING, POSITIVE_SIGN, NEGATIVE_SIGN, FRAC_DIGITS,
	INT_FRAC_DIGITS, P_CS_PRECEDES, N_CS_PRECEDES, P_SEP_BY_SPACE,
	N_SEP_BY_SPACE, P_SIGN_POSN, and N_SIGN_POSN from the
	corresponding values returned by 'localeconv'.  Compute the values
	of AM_STR, PM_STR, DAY_n, ABDAY_n, MON_n, and ABMON_n by calling
	'strftime' with a suitable struct tm value.

2014-07-05  Paul Eggert  <eggert@cs.ucla.edu>

	Bruno Haible has stepped down as maintainer.
	See Karl Berry in:
	http://lists.gnu.org/r/bug-gnulib/2014-07/msg00004.html
	Daiki Ueno has volunteered to maintain libunistring; see:
	http://lists.gnu.org/r/bug-gnulib/2014-07/msg00005.html
	* modules/gen-uni-tables, modules/libunistring:
	* modules/libunistring-optional, modules/ucs4-utf16, modules/ucs4-utf8:
	* modules/unicase/base, modules/unicase/cased:
	* modules/unicase/empty-prefix-context:
	* modules/unicase/empty-suffix-context, modules/unicase/ignorable:
	* modules/unicase/locale-language, modules/unicase/special-casing:
	* modules/unicase/tocasefold, modules/unicase/tolower:
	* modules/unicase/totitle, modules/unicase/toupper:
	* modules/unicase/u16-casecmp, modules/unicase/u16-casecoll:
	* modules/unicase/u16-casefold, modules/unicase/u16-casemap:
	* modules/unicase/u16-casexfrm, modules/unicase/u16-ct-casefold:
	* modules/unicase/u16-ct-tolower, modules/unicase/u16-ct-totitle:
	* modules/unicase/u16-ct-toupper, modules/unicase/u16-is-cased:
	* modules/unicase/u16-is-casefolded, modules/unicase/u16-is-invariant:
	* modules/unicase/u16-is-lowercase, modules/unicase/u16-is-titlecase:
	* modules/unicase/u16-is-uppercase, modules/unicase/u16-prefix-context:
	* modules/unicase/u16-suffix-context, modules/unicase/u16-tolower:
	* modules/unicase/u16-totitle, modules/unicase/u16-toupper:
	* modules/unicase/u32-casecmp, modules/unicase/u32-casecoll:
	* modules/unicase/u32-casefold, modules/unicase/u32-casemap:
	* modules/unicase/u32-casexfrm, modules/unicase/u32-ct-casefold:
	* modules/unicase/u32-ct-tolower, modules/unicase/u32-ct-totitle:
	* modules/unicase/u32-ct-toupper, modules/unicase/u32-is-cased:
	* modules/unicase/u32-is-casefolded, modules/unicase/u32-is-invariant:
	* modules/unicase/u32-is-lowercase, modules/unicase/u32-is-titlecase:
	* modules/unicase/u32-is-uppercase, modules/unicase/u32-prefix-context:
	* modules/unicase/u32-suffix-context, modules/unicase/u32-tolower:
	* modules/unicase/u32-totitle, modules/unicase/u32-toupper:
	* modules/unicase/u8-casecmp, modules/unicase/u8-casecoll:
	* modules/unicase/u8-casefold, modules/unicase/u8-casemap:
	* modules/unicase/u8-casexfrm, modules/unicase/u8-ct-casefold:
	* modules/unicase/u8-ct-tolower, modules/unicase/u8-ct-totitle:
	* modules/unicase/u8-ct-toupper, modules/unicase/u8-is-cased:
	* modules/unicase/u8-is-casefolded, modules/unicase/u8-is-invariant:
	* modules/unicase/u8-is-lowercase, modules/unicase/u8-is-titlecase:
	* modules/unicase/u8-is-uppercase, modules/unicase/u8-prefix-context:
	* modules/unicase/u8-suffix-context, modules/unicase/u8-tolower:
	* modules/unicase/u8-totitle, modules/unicase/u8-toupper:
	* modules/unicase/ulc-casecmp, modules/unicase/ulc-casecoll:
	* modules/unicase/ulc-casexfrm, modules/unicodeio:
	* modules/uniconv/base, modules/uniconv/u16-conv-from-enc:
	* modules/uniconv/u16-conv-to-enc:
	* modules/uniconv/u16-strconv-from-enc:
	* modules/uniconv/u16-strconv-from-locale:
	* modules/uniconv/u16-strconv-to-enc:
	* modules/uniconv/u16-strconv-to-locale:
	* modules/uniconv/u32-conv-from-enc, modules/uniconv/u32-conv-to-enc:
	* modules/uniconv/u32-strconv-from-enc:
	* modules/uniconv/u32-strconv-from-locale:
	* modules/uniconv/u32-strconv-to-enc:
	* modules/uniconv/u32-strconv-to-locale:
	* modules/uniconv/u8-conv-from-enc, modules/uniconv/u8-conv-to-enc:
	* modules/uniconv/u8-strconv-from-enc:
	* modules/uniconv/u8-strconv-from-locale:
	* modules/uniconv/u8-strconv-to-enc:
	* modules/uniconv/u8-strconv-to-locale, modules/unictype/base:
	* modules/unictype/bidicategory-all:
	* modules/unictype/bidicategory-byname:
	* modules/unictype/bidicategory-name, modules/unictype/bidicategory-of:
	* modules/unictype/bidicategory-test, modules/unictype/bidiclass-all:
	* modules/unictype/bidiclass-byname:
	* modules/unictype/bidiclass-longname, modules/unictype/bidiclass-name:
	* modules/unictype/bidiclass-of, modules/unictype/bidiclass-test:
	* modules/unictype/block-all, modules/unictype/block-list:
	* modules/unictype/block-of, modules/unictype/block-test:
	* modules/unictype/category-C, modules/unictype/category-Cc:
	* modules/unictype/category-Cf, modules/unictype/category-Cn:
	* modules/unictype/category-Co, modules/unictype/category-Cs:
	* modules/unictype/category-L, modules/unictype/category-LC:
	* modules/unictype/category-Ll, modules/unictype/category-Lm:
	* modules/unictype/category-Lo, modules/unictype/category-Lt:
	* modules/unictype/category-Lu, modules/unictype/category-M:
	* modules/unictype/category-Mc, modules/unictype/category-Me:
	* modules/unictype/category-Mn, modules/unictype/category-N:
	* modules/unictype/category-Nd, modules/unictype/category-Nl:
	* modules/unictype/category-No, modules/unictype/category-P:
	* modules/unictype/category-Pc, modules/unictype/category-Pd:
	* modules/unictype/category-Pe, modules/unictype/category-Pf:
	* modules/unictype/category-Pi, modules/unictype/category-Po:
	* modules/unictype/category-Ps, modules/unictype/category-S:
	* modules/unictype/category-Sc, modules/unictype/category-Sk:
	* modules/unictype/category-Sm, modules/unictype/category-So:
	* modules/unictype/category-Z, modules/unictype/category-Zl:
	* modules/unictype/category-Zp, modules/unictype/category-Zs:
	* modules/unictype/category-all, modules/unictype/category-and:
	* modules/unictype/category-and-not, modules/unictype/category-byname:
	* modules/unictype/category-longname, modules/unictype/category-name:
	* modules/unictype/category-none, modules/unictype/category-of:
	* modules/unictype/category-or, modules/unictype/category-test:
	* modules/unictype/category-test-withtable:
	* modules/unictype/combining-class:
	* modules/unictype/combining-class-all:
	* modules/unictype/combining-class-byname:
	* modules/unictype/combining-class-longname:
	* modules/unictype/combining-class-name, modules/unictype/ctype-alnum:
	* modules/unictype/ctype-alpha, modules/unictype/ctype-blank:
	* modules/unictype/ctype-cntrl, modules/unictype/ctype-digit:
	* modules/unictype/ctype-graph, modules/unictype/ctype-lower:
	* modules/unictype/ctype-print, modules/unictype/ctype-punct:
	* modules/unictype/ctype-space, modules/unictype/ctype-upper:
	* modules/unictype/ctype-xdigit, modules/unictype/decimal-digit:
	* modules/unictype/digit, modules/unictype/joininggroup-all:
	* modules/unictype/joininggroup-byname:
	* modules/unictype/joininggroup-name, modules/unictype/joininggroup-of:
	* modules/unictype/joiningtype-all:
	* modules/unictype/joiningtype-byname:
	* modules/unictype/joiningtype-longname:
	* modules/unictype/joiningtype-name, modules/unictype/joiningtype-of:
	* modules/unictype/mirror, modules/unictype/numeric:
	* modules/unictype/property-all, modules/unictype/property-alphabetic:
	* modules/unictype/property-ascii-hex-digit:
	* modules/unictype/property-bidi-arabic-digit:
	* modules/unictype/property-bidi-arabic-right-to-left:
	* modules/unictype/property-bidi-block-separator:
	* modules/unictype/property-bidi-boundary-neutral:
	* modules/unictype/property-bidi-common-separator:
	* modules/unictype/property-bidi-control:
	* modules/unictype/property-bidi-embedding-or-override:
	* modules/unictype/property-bidi-eur-num-separator:
	* modules/unictype/property-bidi-eur-num-terminator:
	* modules/unictype/property-bidi-european-digit:
	* modules/unictype/property-bidi-hebrew-right-to-left:
	* modules/unictype/property-bidi-left-to-right:
	* modules/unictype/property-bidi-non-spacing-mark:
	* modules/unictype/property-bidi-other-neutral:
	* modules/unictype/property-bidi-pdf:
	* modules/unictype/property-bidi-segment-separator:
	* modules/unictype/property-bidi-whitespace:
	* modules/unictype/property-byname:
	* modules/unictype/property-case-ignorable:
	* modules/unictype/property-cased:
	* modules/unictype/property-changes-when-casefolded:
	* modules/unictype/property-changes-when-casemapped:
	* modules/unictype/property-changes-when-lowercased:
	* modules/unictype/property-changes-when-titlecased:
	* modules/unictype/property-changes-when-uppercased:
	* modules/unictype/property-combining:
	* modules/unictype/property-composite:
	* modules/unictype/property-currency-symbol:
	* modules/unictype/property-dash:
	* modules/unictype/property-decimal-digit:
	* modules/unictype/property-default-ignorable-code-point:
	* modules/unictype/property-deprecated:
	* modules/unictype/property-diacritic:
	* modules/unictype/property-extender:
	* modules/unictype/property-format-control:
	* modules/unictype/property-grapheme-base:
	* modules/unictype/property-grapheme-extend:
	* modules/unictype/property-grapheme-link:
	* modules/unictype/property-hex-digit:
	* modules/unictype/property-hyphen:
	* modules/unictype/property-id-continue:
	* modules/unictype/property-id-start:
	* modules/unictype/property-ideographic:
	* modules/unictype/property-ids-binary-operator:
	* modules/unictype/property-ids-trinary-operator:
	* modules/unictype/property-ignorable-control:
	* modules/unictype/property-iso-control:
	* modules/unictype/property-join-control:
	* modules/unictype/property-left-of-pair:
	* modules/unictype/property-line-separator:
	* modules/unictype/property-logical-order-exception:
	* modules/unictype/property-lowercase, modules/unictype/property-math:
	* modules/unictype/property-non-break:
	* modules/unictype/property-not-a-character:
	* modules/unictype/property-numeric:
	* modules/unictype/property-other-alphabetic:
	* modules/unictype/property-other-default-ignorable-code-point:
	* modules/unictype/property-other-grapheme-extend:
	* modules/unictype/property-other-id-continue:
	* modules/unictype/property-other-id-start:
	* modules/unictype/property-other-lowercase:
	* modules/unictype/property-other-math:
	* modules/unictype/property-other-uppercase:
	* modules/unictype/property-paired-punctuation:
	* modules/unictype/property-paragraph-separator:
	* modules/unictype/property-pattern-syntax:
	* modules/unictype/property-pattern-white-space:
	* modules/unictype/property-private-use:
	* modules/unictype/property-punctuation:
	* modules/unictype/property-quotation-mark:
	* modules/unictype/property-radical:
	* modules/unictype/property-sentence-terminal:
	* modules/unictype/property-soft-dotted:
	* modules/unictype/property-space:
	* modules/unictype/property-terminal-punctuation:
	* modules/unictype/property-test, modules/unictype/property-titlecase:
	* modules/unictype/property-unassigned-code-value:
	* modules/unictype/property-unified-ideograph:
	* modules/unictype/property-uppercase:
	* modules/unictype/property-variation-selector:
	* modules/unictype/property-white-space:
	* modules/unictype/property-xid-continue:
	* modules/unictype/property-xid-start:
	* modules/unictype/property-zero-width, modules/unictype/scripts:
	* modules/unictype/scripts-all, modules/unictype/syntax-c-ident:
	* modules/unictype/syntax-c-whitespace:
	* modules/unictype/syntax-java-ident:
	* modules/unictype/syntax-java-whitespace, modules/unigbrk/base:
	* modules/unigbrk/u16-grapheme-breaks:
	* modules/unigbrk/u16-grapheme-next, modules/unigbrk/u16-grapheme-prev:
	* modules/unigbrk/u32-grapheme-breaks:
	* modules/unigbrk/u32-grapheme-next, modules/unigbrk/u32-grapheme-prev:
	* modules/unigbrk/u8-grapheme-breaks, modules/unigbrk/u8-grapheme-next:
	* modules/unigbrk/u8-grapheme-prev, modules/unigbrk/uc-gbrk-prop:
	* modules/unigbrk/uc-is-grapheme-break:
	* modules/unigbrk/ulc-grapheme-breaks, modules/unilbrk/base:
	* modules/unilbrk/tables, modules/unilbrk/u16-possible-linebreaks:
	* modules/unilbrk/u16-width-linebreaks:
	* modules/unilbrk/u32-possible-linebreaks:
	* modules/unilbrk/u32-width-linebreaks:
	* modules/unilbrk/u8-possible-linebreaks:
	* modules/unilbrk/u8-width-linebreaks, modules/unilbrk/ulc-common:
	* modules/unilbrk/ulc-possible-linebreaks:
	* modules/unilbrk/ulc-width-linebreaks, modules/uniname/base:
	* modules/uniname/uniname, modules/uninorm/base:
	* modules/uninorm/canonical-decomposition:
	* modules/uninorm/compat-decomposition, modules/uninorm/composition:
	* modules/uninorm/decompose-internal, modules/uninorm/decomposing-form:
	* modules/uninorm/decomposition, modules/uninorm/decomposition-table:
	* modules/uninorm/filter, modules/uninorm/nfc, modules/uninorm/nfd:
	* modules/uninorm/nfkc, modules/uninorm/nfkd:
	* modules/uninorm/u16-normalize, modules/uninorm/u16-normcmp:
	* modules/uninorm/u16-normcoll, modules/uninorm/u16-normxfrm:
	* modules/uninorm/u32-normalize, modules/uninorm/u32-normcmp:
	* modules/uninorm/u32-normcoll, modules/uninorm/u32-normxfrm:
	* modules/uninorm/u8-normalize, modules/uninorm/u8-normcmp:
	* modules/uninorm/u8-normcoll, modules/uninorm/u8-normxfrm:
	* modules/unistdio/base, modules/unistdio/u-printf-args:
	* modules/unistdio/u16-asnprintf, modules/unistdio/u16-asprintf:
	* modules/unistdio/u16-printf-parse, modules/unistdio/u16-snprintf:
	* modules/unistdio/u16-sprintf, modules/unistdio/u16-u16-asnprintf:
	* modules/unistdio/u16-u16-asprintf, modules/unistdio/u16-u16-snprintf:
	* modules/unistdio/u16-u16-sprintf:
	* modules/unistdio/u16-u16-vasnprintf:
	* modules/unistdio/u16-u16-vasprintf:
	* modules/unistdio/u16-u16-vsnprintf:
	* modules/unistdio/u16-u16-vsprintf, modules/unistdio/u16-vasnprintf:
	* modules/unistdio/u16-vasprintf, modules/unistdio/u16-vsnprintf:
	* modules/unistdio/u16-vsprintf, modules/unistdio/u32-asnprintf:
	* modules/unistdio/u32-asprintf, modules/unistdio/u32-printf-parse:
	* modules/unistdio/u32-snprintf, modules/unistdio/u32-sprintf:
	* modules/unistdio/u32-u32-asnprintf:
	* modules/unistdio/u32-u32-asprintf, modules/unistdio/u32-u32-snprintf:
	* modules/unistdio/u32-u32-sprintf:
	* modules/unistdio/u32-u32-vasnprintf:
	* modules/unistdio/u32-u32-vasprintf:
	* modules/unistdio/u32-u32-vsnprintf:
	* modules/unistdio/u32-u32-vsprintf, modules/unistdio/u32-vasnprintf:
	* modules/unistdio/u32-vasprintf, modules/unistdio/u32-vsnprintf:
	* modules/unistdio/u32-vsprintf, modules/unistdio/u8-asnprintf:
	* modules/unistdio/u8-asprintf, modules/unistdio/u8-printf-parse:
	* modules/unistdio/u8-snprintf, modules/unistdio/u8-sprintf:
	* modules/unistdio/u8-u8-asnprintf, modules/unistdio/u8-u8-asprintf:
	* modules/unistdio/u8-u8-snprintf, modules/unistdio/u8-u8-sprintf:
	* modules/unistdio/u8-u8-vasnprintf, modules/unistdio/u8-u8-vasprintf:
	* modules/unistdio/u8-u8-vsnprintf, modules/unistdio/u8-u8-vsprintf:
	* modules/unistdio/u8-vasnprintf, modules/unistdio/u8-vasprintf:
	* modules/unistdio/u8-vsnprintf, modules/unistdio/u8-vsprintf:
	* modules/unistdio/ulc-asnprintf, modules/unistdio/ulc-asprintf:
	* modules/unistdio/ulc-fprintf, modules/unistdio/ulc-printf-parse:
	* modules/unistdio/ulc-snprintf, modules/unistdio/ulc-sprintf:
	* modules/unistdio/ulc-vasnprintf, modules/unistdio/ulc-vasprintf:
	* modules/unistdio/ulc-vfprintf, modules/unistdio/ulc-vsnprintf:
	* modules/unistdio/ulc-vsprintf, modules/unistr/base:
	* modules/unistr/u16-check, modules/unistr/u16-chr:
	* modules/unistr/u16-cmp, modules/unistr/u16-cmp2:
	* modules/unistr/u16-cpy, modules/unistr/u16-cpy-alloc:
	* modules/unistr/u16-endswith, modules/unistr/u16-mblen:
	* modules/unistr/u16-mbsnlen, modules/unistr/u16-mbtouc:
	* modules/unistr/u16-mbtouc-unsafe, modules/unistr/u16-mbtoucr:
	* modules/unistr/u16-move, modules/unistr/u16-next:
	* modules/unistr/u16-prev, modules/unistr/u16-set:
	* modules/unistr/u16-startswith, modules/unistr/u16-stpcpy:
	* modules/unistr/u16-stpncpy, modules/unistr/u16-strcat:
	* modules/unistr/u16-strchr, modules/unistr/u16-strcmp:
	* modules/unistr/u16-strcoll, modules/unistr/u16-strcpy:
	* modules/unistr/u16-strcspn, modules/unistr/u16-strdup:
	* modules/unistr/u16-strlen, modules/unistr/u16-strmblen:
	* modules/unistr/u16-strmbtouc, modules/unistr/u16-strncat:
	* modules/unistr/u16-strncmp, modules/unistr/u16-strncpy:
	* modules/unistr/u16-strnlen, modules/unistr/u16-strpbrk:
	* modules/unistr/u16-strrchr, modules/unistr/u16-strspn:
	* modules/unistr/u16-strstr, modules/unistr/u16-strtok:
	* modules/unistr/u16-to-u32, modules/unistr/u16-to-u8:
	* modules/unistr/u16-uctomb, modules/unistr/u32-check:
	* modules/unistr/u32-chr, modules/unistr/u32-cmp:
	* modules/unistr/u32-cmp2, modules/unistr/u32-cpy:
	* modules/unistr/u32-cpy-alloc, modules/unistr/u32-endswith:
	* modules/unistr/u32-mblen, modules/unistr/u32-mbsnlen:
	* modules/unistr/u32-mbtouc, modules/unistr/u32-mbtouc-unsafe:
	* modules/unistr/u32-mbtoucr, modules/unistr/u32-move:
	* modules/unistr/u32-next, modules/unistr/u32-prev:
	* modules/unistr/u32-set, modules/unistr/u32-startswith:
	* modules/unistr/u32-stpcpy, modules/unistr/u32-stpncpy:
	* modules/unistr/u32-strcat, modules/unistr/u32-strchr:
	* modules/unistr/u32-strcmp, modules/unistr/u32-strcoll:
	* modules/unistr/u32-strcpy, modules/unistr/u32-strcspn:
	* modules/unistr/u32-strdup, modules/unistr/u32-strlen:
	* modules/unistr/u32-strmblen, modules/unistr/u32-strmbtouc:
	* modules/unistr/u32-strncat, modules/unistr/u32-strncmp:
	* modules/unistr/u32-strncpy, modules/unistr/u32-strnlen:
	* modules/unistr/u32-strpbrk, modules/unistr/u32-strrchr:
	* modules/unistr/u32-strspn, modules/unistr/u32-strstr:
	* modules/unistr/u32-strtok, modules/unistr/u32-to-u16:
	* modules/unistr/u32-to-u8, modules/unistr/u32-uctomb:
	* modules/unistr/u8-check, modules/unistr/u8-chr:
	* modules/unistr/u8-cmp, modules/unistr/u8-cmp2, modules/unistr/u8-cpy:
	* modules/unistr/u8-cpy-alloc, modules/unistr/u8-endswith:
	* modules/unistr/u8-mblen, modules/unistr/u8-mbsnlen:
	* modules/unistr/u8-mbtouc, modules/unistr/u8-mbtouc-unsafe:
	* modules/unistr/u8-mbtoucr, modules/unistr/u8-move:
	* modules/unistr/u8-next, modules/unistr/u8-prev:
	* modules/unistr/u8-set, modules/unistr/u8-startswith:
	* modules/unistr/u8-stpcpy, modules/unistr/u8-stpncpy:
	* modules/unistr/u8-strcat, modules/unistr/u8-strchr:
	* modules/unistr/u8-strcmp, modules/unistr/u8-strcoll:
	* modules/unistr/u8-strcpy, modules/unistr/u8-strcspn:
	* modules/unistr/u8-strdup, modules/unistr/u8-strlen:
	* modules/unistr/u8-strmblen, modules/unistr/u8-strmbtouc:
	* modules/unistr/u8-strncat, modules/unistr/u8-strncmp:
	* modules/unistr/u8-strncpy, modules/unistr/u8-strnlen:
	* modules/unistr/u8-strpbrk, modules/unistr/u8-strrchr:
	* modules/unistr/u8-strspn, modules/unistr/u8-strstr:
	* modules/unistr/u8-strtok, modules/unistr/u8-to-u16:
	* modules/unistr/u8-to-u32, modules/unistr/u8-uctomb, modules/unitypes:
	* modules/uniwbrk/base, modules/uniwbrk/table:
	* modules/uniwbrk/u16-wordbreaks, modules/uniwbrk/u32-wordbreaks:
	* modules/uniwbrk/u8-wordbreaks, modules/uniwbrk/ulc-wordbreaks:
	* modules/uniwbrk/wordbreak-property, modules/uniwidth/base:
	* modules/uniwidth/u16-strwidth, modules/uniwidth/u16-width:
	* modules/uniwidth/u32-strwidth, modules/uniwidth/u32-width:
	* modules/uniwidth/u8-strwidth, modules/uniwidth/u8-width:
	* modules/uniwidth/width, modules/utf16-ucs4:
	* modules/utf16-ucs4-unsafe, modules/utf8-ucs4:
	* modules/utf8-ucs4-unsafe:
	Change maintainer from Bruno Haible to Daiki Ueno.
	This is my guess at the libunistring modules; please feel free
	to fix if I guessed incorrectly.
	* modules/accept4, modules/acl, modules/acos, modules/acosf:
	* modules/alignof, modules/amemxfrm, modules/ansi-c++-opt:
	* modules/areadlink, modules/array-list, modules/array-mergesort:
	* modules/array-oset, modules/asin, modules/asinf, modules/astrxfrm:
	* modules/atan, modules/atan2, modules/atan2f, modules/atanf:
	* modules/avltree-list, modules/avltree-oset, modules/avltreehash-list:
	* modules/binary-io, modules/bison-i18n, modules/btowc:
	* modules/c-ctype, modules/c-strcase, modules/c-strcaseeq:
	* modules/c-strcasestr, modules/c-strstr, modules/calloc-posix:
	* modules/canonicalize-lgpl, modules/careadlinkat, modules/carray-list:
	* modules/cbrt, modules/cbrt-ieee, modules/cbrtf, modules/cbrtf-ieee:
	* modules/cbrtl, modules/cbrtl-ieee, modules/ceil, modules/ceil-ieee:
	* modules/ceilf, modules/ceilf-ieee, modules/ceill, modules/ceill-ieee:
	* modules/chdir, modules/classpath, modules/clean-temp, modules/close:
	* modules/closedir, modules/concat-filename, modules/copy-file:
	* modules/copysign, modules/copysignf, modules/copysignl, modules/cos:
	* modules/cosf, modules/cosh, modules/coshf, modules/csharpcomp:
	* modules/csharpcomp-script, modules/csharpexec:
	* modules/csharpexec-script, modules/ctype, modules/diffseq:
	* modules/dprintf, modules/dprintf-posix, modules/dup:
	* modules/dup2-obsolete, modules/dup3, modules/duplocale:
	* modules/eealloc, modules/environ, modules/erf, modules/erfc:
	* modules/errno, modules/execute, modules/exp, modules/exp-ieee:
	* modules/exp2, modules/exp2-ieee, modules/exp2f, modules/exp2f-ieee:
	* modules/exp2l, modules/exp2l-ieee, modules/expf, modules/expf-ieee:
	* modules/expl, modules/expl-ieee, modules/expm1, modules/expm1-ieee:
	* modules/expm1f, modules/expm1f-ieee, modules/expm1l:
	* modules/expm1l-ieee, modules/fabs, modules/fabs-ieee, modules/fabsf:
	* modules/fabsf-ieee, modules/fabsl, modules/fabsl-ieee:
	* modules/fatal-signal, modules/fbufmode, modules/fchdir:
	* modules/fclose, modules/fd-hook, modules/fdopen, modules/filename:
	* modules/findprog, modules/findprog-lgpl, modules/floor:
	* modules/floor-ieee, modules/floorf, modules/floorf-ieee:
	* modules/floorl, modules/floorl-ieee, modules/fma, modules/fma-ieee:
	* modules/fmaf, modules/fmaf-ieee, modules/fmal, modules/fmal-ieee:
	* modules/fmod, modules/fmod-ieee, modules/fmodf, modules/fmodf-ieee:
	* modules/fmodl, modules/fmodl-ieee, modules/fopen, modules/fpieee:
	* modules/fprintf-posix, modules/fpucw, modules/fpurge:
	* modules/freadable, modules/freadahead, modules/freadptr:
	* modules/freadseek, modules/freopen, modules/frexp:
	* modules/frexp-ieee, modules/frexp-nolibm, modules/frexpf:
	* modules/frexpf-ieee, modules/frexpl, modules/frexpl-ieee:
	* modules/frexpl-nolibm, modules/fseek, modules/fseeko:
	* modules/fseterr, modules/fstat, modules/fstrcmp, modules/ftell:
	* modules/ftello, modules/full-read, modules/full-write:
	* modules/fwritable, modules/fwriteerror, modules/gcd:
	* modules/get-rusage-as, modules/get-rusage-data:
	* modules/getdtablesize, modules/getrusage, modules/gettext:
	* modules/gettext-h, modules/git-merge-changelog, modules/gperf:
	* modules/grantpt, modules/havelib, modules/host-cpu-c-abi:
	* modules/hostent, modules/hypot, modules/hypot-ieee, modules/hypotf:
	* modules/hypotf-ieee, modules/hypotl, modules/hypotl-ieee:
	* modules/iconv, modules/iconv-h, modules/iconv_open:
	* modules/iconv_open-utf, modules/idpriv-drop, modules/idpriv-droptemp:
	* modules/ilogb, modules/ilogbf, modules/ilogbl, modules/imaxabs:
	* modules/imaxdiv, modules/integer_length, modules/integer_length_l:
	* modules/integer_length_ll, modules/ioctl, modules/isatty:
	* modules/isblank, modules/isnand, modules/isnand-nolibm:
	* modules/isnanf, modules/isnanf-nolibm, modules/isnanl:
	* modules/isnanl-nolibm, modules/iswblank, modules/iswctype:
	* modules/j0, modules/j1, modules/javacomp, modules/javacomp-script:
	* modules/javaexec, modules/javaexec-script, modules/javaversion:
	* modules/jn, modules/langinfo, modules/ldd, modules/ldexp:
	* modules/ldexp-ieee, modules/ldexpf, modules/ldexpf-ieee:
	* modules/ldexpl, modules/ldexpl-ieee, modules/lgamma:
	* modules/lib-symbol-visibility, modules/libsigsegv:
	* modules/linked-list, modules/linkedhash-list, modules/list:
	* modules/localcharset, modules/locale, modules/localeconv:
	* modules/localename, modules/lock, modules/log, modules/log-ieee:
	* modules/log10, modules/log10-ieee, modules/log10f:
	* modules/log10f-ieee, modules/log10l, modules/log10l-ieee:
	* modules/log1p, modules/log1p-ieee, modules/log1pf:
	* modules/log1pf-ieee, modules/log1pl, modules/log1pl-ieee:
	* modules/log2, modules/log2-ieee, modules/log2f, modules/log2f-ieee:
	* modules/log2l, modules/log2l-ieee, modules/logb, modules/logb-ieee:
	* modules/logbf, modules/logbf-ieee, modules/logbl, modules/logbl-ieee:
	* modules/logf, modules/logf-ieee, modules/login_tty:
	* modules/logl-ieee, modules/malloc-posix, modules/malloca:
	* modules/mbchar, modules/mbfile, modules/mbiter, modules/mbmemcasecmp:
	* modules/mbmemcasecoll, modules/mbrlen, modules/mbrtowc:
	* modules/mbscasecmp, modules/mbscasestr, modules/mbschr:
	* modules/mbscspn, modules/mbsinit, modules/mbslen:
	* modules/mbsncasecmp, modules/mbsnlen, modules/mbsnrtowcs:
	* modules/mbspbrk, modules/mbspcasecmp, modules/mbsrchr:
	* modules/mbsrtowcs, modules/mbssep, modules/mbsspn, modules/mbsstr:
	* modules/mbstok_r, modules/mbswidth, modules/mbtowc, modules/mbuiter:
	* modules/memchr-obsolete, modules/memcmp2, modules/minmax:
	* modules/mkdtemp, modules/mkostemp, modules/mktime-internal:
	* modules/modf, modules/modf-ieee, modules/modff, modules/modff-ieee:
	* modules/modfl, modules/modfl-ieee, modules/msvc-inval:
	* modules/msvc-nothrow, modules/multiarch, modules/nextafter:
	* modules/nl_langinfo, modules/no-c++, modules/nocrash:
	* modules/nonblocking, modules/open, modules/opendir, modules/openmp:
	* modules/oset, modules/pclose, modules/pipe, modules/pipe-filter-gi:
	* modules/pipe-filter-ii, modules/pipe2, modules/poll-h:
	* modules/posix_spawn, modules/posix_spawn-internal:
	* modules/posix_spawn_file_actions_addclose:
	* modules/posix_spawn_file_actions_adddup2:
	* modules/posix_spawn_file_actions_addopen:
	* modules/posix_spawn_file_actions_destroy:
	* modules/posix_spawn_file_actions_init:
	* modules/posix_spawnattr_destroy, modules/posix_spawnattr_getflags:
	* modules/posix_spawnattr_getpgroup:
	* modules/posix_spawnattr_getschedparam:
	* modules/posix_spawnattr_getschedpolicy:
	* modules/posix_spawnattr_getsigdefault:
	* modules/posix_spawnattr_getsigmask, modules/posix_spawnattr_init:
	* modules/posix_spawnattr_setflags, modules/posix_spawnattr_setpgroup:
	* modules/posix_spawnattr_setschedparam:
	* modules/posix_spawnattr_setschedpolicy:
	* modules/posix_spawnattr_setsigdefault:
	* modules/posix_spawnattr_setsigmask, modules/posix_spawnp:
	* modules/pow, modules/powf, modules/printf-frexp:
	* modules/printf-frexpl, modules/printf-posix, modules/printf-safe:
	* modules/progname, modules/propername, modules/pselect:
	* modules/pthread_sigmask, modules/ptsname, modules/ptsname_r:
	* modules/qacl, modules/quotearg-simple, modules/raise, modules/random:
	* modules/rbtree-list, modules/rbtree-oset, modules/rbtreehash-list:
	* modules/read, modules/readdir, modules/readlink:
	* modules/realloc-posix, modules/regex-quote, modules/relocatable-lib:
	* modules/relocatable-lib-lgpl, modules/relocatable-perl:
	* modules/relocatable-prog, modules/relocatable-prog-wrapper:
	* modules/relocatable-script, modules/remainder:
	* modules/remainder-ieee, modules/remainderf, modules/remainderf-ieee:
	* modules/remainderl, modules/remainderl-ieee, modules/rewinddir:
	* modules/rint, modules/rint-ieee, modules/rintf, modules/rintf-ieee:
	* modules/rintl, modules/rintl-ieee, modules/round-ieee:
	* modules/roundf-ieee, modules/roundl-ieee, modules/safe-read:
	* modules/safe-write, modules/sched, modules/servent, modules/setenv:
	* modules/setlocale, modules/sh-quote, modules/shutdown:
	* modules/signal, modules/signbit, modules/sigpipe:
	* modules/sigpipe-die, modules/sigprocmask, modules/sin, modules/sinf:
	* modules/sinh, modules/sinhf, modules/size_max, modules/sleep:
	* modules/snippet/arg-nonnull, modules/snippet/c++defs:
	* modules/snippet/link-warning, modules/snippet/unused-parameter:
	* modules/snprintf, modules/snprintf-posix, modules/spawn:
	* modules/spawn-pipe, modules/sprintf-posix, modules/sqrt:
	* modules/sqrt-ieee, modules/sqrtf, modules/sqrtf-ieee:
	* modules/sqrtl-ieee, modules/stdalign, modules/stdarg:
	* modules/stdbool, modules/stpcpy, modules/stpncpy, modules/strcase:
	* modules/strcasestr, modules/strcasestr-simple, modules/strcspn:
	* modules/streq, modules/strerror_r-posix, modules/striconv:
	* modules/striconveh, modules/striconveha, modules/strncat:
	* modules/strnlen1, modules/strpbrk, modules/strtod-obsolete:
	* modules/sublist, modules/sys_resource, modules/sys_utsname:
	* modules/sys_wait, modules/system-posix, modules/system-quote:
	* modules/tan, modules/tanf, modules/tanh, modules/tanhf:
	* modules/tcgetsid, modules/termios, modules/threadlib, modules/tls:
	* modules/tmpdir, modules/towctrans, modules/trunc, modules/trunc-ieee:
	* modules/truncf, modules/truncf-ieee, modules/truncl:
	* modules/truncl-ieee, modules/ttyname_r, modules/uname:
	* modules/unlockpt, modules/unsetenv, modules/vasnprintf:
	* modules/vasnprintf-posix, modules/vasprintf, modules/vasprintf-posix:
	* modules/vdprintf, modules/vdprintf-posix, modules/vfprintf-posix:
	* modules/vfscanf, modules/vma-iter, modules/vprintf-posix:
	* modules/vscanf, modules/vsnprintf-posix, modules/vsprintf-posix:
	* modules/wait-process, modules/waitpid, modules/wcpcpy:
	* modules/wcpncpy, modules/wcrtomb, modules/wcscasecmp, modules/wcscat:
	* modules/wcschr, modules/wcscmp, modules/wcscoll, modules/wcscpy:
	* modules/wcscspn, modules/wcsdup, modules/wcslen, modules/wcsncasecmp:
	* modules/wcsncat, modules/wcsncmp, modules/wcsncpy, modules/wcsnlen:
	* modules/wcsnrtombs, modules/wcspbrk, modules/wcsrchr:
	* modules/wcsrtombs, modules/wcsspn, modules/wcsstr, modules/wcstok:
	* modules/wcswidth, modules/wcsxfrm, modules/wctob, modules/wctomb:
	* modules/wctrans, modules/wctype, modules/wcwidth, modules/wmemchr:
	* modules/wmemcmp, modules/wmemcpy, modules/wmemmove, modules/wmemset:
	* modules/write, modules/xconcat-filename, modules/xlist:
	* modules/xmalloca, modules/xoset, modules/xprintf-posix:
	* modules/xreadlink, modules/xsetenv, modules/xsize, modules/xstriconv:
	* modules/xstriconveh, modules/xsublist, modules/xvasprintf-posix:
	* modules/y0, modules/y1, modules/yn:
	Remove Bruno Haible as maintainer; if he's the sole maintainer,
	change the maintainer to 'all'.  Let's hope someone volunteers.

2014-06-27  Paul Eggert  <eggert@cs.ucla.edu>

	mktime: merge #if/#ifdef usage from glibc
	* lib/mktime.c: Use "#if defined DEBUG && DEBUG", not "#if DEBUG",
	as that works with both Glibc's and Gnulib's style.
	See thread starting at Siddhesh Poyarekar's bug report at:
	http://lists.gnu.org/r/bug-gnulib/2014-06/msg00102.html

2014-06-20  Alfred M. Szmidt  <ams@gnu.org>

	git-version-gen: improve option descriptions
	* build-aux/git-version-gen: Mention that --prefix and --fallback
	have a mandatory argument.

2014-06-19  Paul Eggert  <eggert@penguin.cs.ucla.edu>

	regex: fix memory leak in compiler
	Fix by Andreas Schwab in:
	https://sourceware.org/ml/libc-alpha/2014-06/msg00462.html
	* lib/regcomp.c (parse_expression): Deallocate partially
	constructed tree before returning error.

	regex: merge patch from libc
	2014-02-12  Joseph Myers  <joseph@codesourcery.com>
	Combine __USE_BSD and __USE_SVID into __USE_MISC.
	* lib/regex.h [__USE_BSD]: Change condition to [__USE_MISC].

2014-06-17  Paul Eggert  <eggert@cs.ucla.edu>

	acl: port to gcc -Wredundant-decls
	From a request by Dmitry Antipov in:
	http://lists.gnu.org/r/emacs-devel/2014-06/msg00263.html
	* lib/acl.h (_GL_ACL_H): New macro.  Protect entire contents with
	"#ifndef _GL_ACL_H".

2014-06-11  Bruce Korb  <bkorb@gnu.org>
	Jim Meyering  <meyering@fb.com>

	parse-duration: eliminate 68-year duration limit
	* lib/parse-duration.c: Include "intprops.h".
	(TIME_MAX): Rename to MAX_DURATION and define to
	TYPE_MAXIMUM(time_t).
	* modules/parse-duration (Depends-on): Add intprops.
	Reported by Jonas 'Sortie' Termansen.

2014-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
	* modules/pthread (Depends-on): Add 'extensions', as it defines
	_POSIX_PTHREAD_SEMANTICS, which is needed on Solaris.
	(configure.ac-early): New section.
	* m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, as
	it is no longer needed.

2014-06-14  Pádraig Brady  <P@draigBrady.com>

	pthread: define thread-safe macros on some platforms
	* m4/pthread.m4 (gl_PTHREAD_CHECK): Define macros needed
	for thread-safe operation on some platforms.

2014-06-13  Paul Eggert  <eggert@cs.ucla.edu>

	regex: don't be multithreaded if USE_UNLOCKED_IO.
	Problem reported by Michael Felt in: http://bugs.gnu.org/17773
	* lib/regex_internal.h: Do not use multithreaded version if
	USE_UNLOCKED_IO is defined.  This is a hack, but it works
	around a porting bug with coreutils 8.22 on AIX 7.1.

2014-06-11  Daiki Ueno  <ueno@gnu.org>

	gettext: update macros to version 0.19
	* m4/intl.m4, m4/po.m4: Update from gettext-0.19.  In particular,
	depend on gl_EXTERN_INLINE and drop support for older Bison
	versions.

2014-06-10  Pádraig Brady  <P@draigBrady.com>

	select,poll: fix console handle check on windows 8
	lib/poll.c (IsConsoleHandle): Change from testing the lower
	2 bits of the handle to the more expensive but accurate syscall.
	lib/select.c: Likewise.

2014-06-10  Eli Zaretskii  <eliz@gnu.org>

	select: fix waiting on anonymous pipes on MS-Windows
	* lib/select.c (rpl_select): Fall back to polling when select()
	indicates there is nothing to check, while due to the timeout not
	expiring, activity is indicated on one of the handles.
	Also clear the TIMEOUT argument if the timer does expire.

2014-06-10  Eli Zaretskii  <eliz@gnu.org>

	times: fix to return non constant value on MS-Windows
	* lib/times.c (times): Don't use the process creation time,
	rather clock() which on windows returns the number of
	clock ticks since the process started.

2014-06-09  Michael Goffioul  <michael.goffioul@gmail.com>

	isatty: fix to work on windows 8
	* lib/isatty.c (IsConsoleHandle): Change from testing the lower
	2 bits of the handle to the more expensive but accurate syscall.

2014-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	maint: fix typo in fdl.texi
	* doc/fdl.texi: Fix typo (missing '@').
	Somehow this was in fdl.texi but not fdl-1.3.texi.

2014-06-06  Ben Walton  <bdwalton@gmail.com>

	mountlist: avoid hasmntopt const type warning on solaris
	* lib/mountlist.c: Solaris defines the OPT param of hasmntopt()
	with char * instead of const char *.  Passing the constant string
	"ignore" generates a compiler warning.  For Solaris cast MNT_IGNORE
	to avoid the warning.

2014-06-04  Eric Blake  <eblake@redhat.com>

	maintainer-makefile: delete obsolete code
	* top/maint.mk (build_aux): Drop old code, as threatened.

	maintainer-makefile: avoid spurious error messages
	* top/maint.mk (syntax-check): Guard definition and use of
	$(shell) by whether Makefile is present.

2014-06-03  Ben Walton  <bdwalton@gmail.com>

	rename: avoid unused-but-set-variable compiler warning
	* lib/rename.c (rpl_rename):  In the non-Win32 variant of rpl_rename,
	it is possible that dst_exists may be set but not used.  Mark it with
	the unused attribute to avoid compiler warnings.

2014-06-02  Ben Walton  <bdwalton@gmail.com>

	rename: mark a label as potentially unused
	* lib/rename.c (rpl_rename): Avoid compiler warnings seen on Solaris,
	by marking the out label as potentially unused.
	* m4/gnulib-common.m4: Mention the need for the trailing ; for C++.

2014-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	gnulib-common.m4: Fix typo in _GL_UNUSED_LABEL.
	* m4/gnulib-common.m4 (_GL_UNUSED_LABEL): Omit trailing semicolon.

2014-06-02  Ben Walton  <bdwalton@gmail.com>

	acl: apply pure attribute to two functions
	* lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial):
	Mark as "pure" as flagged by gcc 4.9 on Solaris 10.

2014-06-01  Pádraig Brady  <P@draigBrady.com>

	gnulib-common.m4: add _GL_UNUSED_LABEL
	* m4/gnulib-common.m4: Add _GL_UNUSED_LABEL which is similar to
	_GL_UNUSED, but handles g++ < 4.5 not supporting this syntax.

2014-05-31  Paul Eggert  <eggert@cs.ucla.edu>

	dup2, fcntl, fcntl-h: port to AIX 7.1
	This fixes some porting problems discovered when testing the latest
	grep snapshot on AIX 7.1.  I don't think if fixes any bugs
	in grep but it could be important for other applications.
	* doc/posix-functions/dup2.texi:
	* doc/posix-functions/fcntl.texi:
	* doc/posix-headers/fcntl.texi:
	Document AIX bugs.
	* lib/fcntl.in.h (O_CLOEXEC, O_NOFOLLOW, O_TTY_INIT) [_AIX]:
	Define to 0 if outside 'int' range.
	* m4/dup2.m4 (gl_FUNC_DUP2):
	* m4/fcntl.m4 (gl_FUNC_FCNTL):
	Check for getdtablesize.  If it's available, test a value just
	outside its range instead of testing 1000000.  When cross-compiling,
	guess that AIX will fail this improved test.

2014-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	printf, config.rpath: Port to FreeBSD 10.
	Problem reported by Tijl Coosemans in:
	http://lists.gnu.org/r/bug-gnulib/2014-05/msg00078.html
	* build-aux/config.rpath (hardcode_libdir_flag_spec)
	(hardcode_direct): Simplify FreeBSD configuration.
	(library_names_spec): Don't mishandle FreeBSD 10+.
	* m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE)
	(gl_PRINTF_INFINITE_LONG_DOUBLE, gl_PRINTF_DIRECTIVE_F)
	(gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99)
	(gl_SNPRINTF_DIRECTIVE_N, gl_VSNPRINTF_ZEROSIZE_C99):
	Don't mishandle FreeBSD 10+ when cross-compiling.

	ftoastr: work around compiler bug in IBM xlc 12.1
	* lib/ftoastr.h (_GL_FLT_PREC_BOUND, _GL_DBL_PREC_BOUND)
	(_GL_LDBL_PREC_BOUND): Make these macros, not enums, to work
	around a compiler bug in IBM xlc 12.1.0.0: it complains
	'"ftoastr.c", line 80.37: 1506-045 (S) Undeclared identifier
	_GL_FLT_PREC_BOUND.'

2014-05-30  Kieran Colford  <colfordk@gmail.com>

	valgrind-tests: fixed misleading help message
	* m4/valgrind-tests.m4: The help message generated by configure
	implied that valgrind was disabled by default, which it wasn't.
	Adjusted the help message using s/enable/disable/ to clarify.

2014-05-30  Ulrich Weigand  <uweigand@de.ibm.com>

	isfinite, isinf, isnan tests: fix for little-endian PowerPC
	* tests/test-isfinite.c (test_isfinitel): Only manipulate the
	first double of a PowerPC "double double" pair.
	* tests/test-isinf.c (test_isinfl): Likewise.
	* tests/test-isnan.c (test_long_double): Likewise.
	* tests/test-isnanl.h (main): Likewise.
	* tests/test-signbit.c (test_signbitl): Likewise.

2014-05-29  Paul Eggert  <eggert@cs.ucla.edu>

	exclude-tests: port to AIX 7.1
	* modules/exclude-tests (test_exclude_LDADD): Add $(LIBTHREAD).
	Needed on AIX 7.1 with xlc V12.1, otherwise it won't link because
	the regex code uses locks.

2014-05-28  Paul Eggert  <eggert@cs.ucla.edu>

	pthread_sigmask, timer-time: use gl_THREADLIB only if needed
	Without this fix, Emacs would sometimes call sigprocmask instead
	of pthread_sigmask, which is a no-no in multithreaded applications.
	Problem reported by Jorgen Schaefer in <http://bugs.gnu.org/17561>.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
	Suppress check for pthread_sigmask working without -lpthread if
	the application always links with -lpthread.  Do not link with
	$LIBMULTITHREAD if gl_THREADLIB is not defined.
	* m4/timer_time.m4 (gl_TIMER_TIME):
	Require gl_THREADLIB only if it is defined.  Do not append
	$LIBMULTITHREAD to LIB_TIMER_TIME if gl_THREADLIB is not defined.

2014-05-27  Sylvain Beucler  <beuc@beuc.net>.

	gnulib-tool: wget translations using --no-verbose rather than --quiet
	This allows the user to see error messages if any (--quiet hides them)
	* gnulib-tool: Invoke wget with --no-verbose, rather than --quiet.

2014-05-27  Sylvain Beucler  <beuc@beuc.net>

	gnulib-tool: adjust translation wget to avoid a https redirection
	Context: http://translationproject.org/latest/gnulib redirects to
	   https://translationproject.org/latest/gnulib/
	Rationale: if the user falls back to wget, she doesn't have rsync and
	is probably in a minimal build environment, where packages such as
	'ca-certificates' are missing as well, resulting in a failed (and
	difficult to detect since ignored) translation initial fetch.
	Consequently let's avoid https if possible, and add the missing
	trailing slash.  This also avoids an unnecessary 302 redirection.
	* gnulib-tool: Add trailing slash to gnulib URL.

2014-05-22  Pádraig Brady  <P@draigBrady.com>

	getlogin_r-tests: check return value rather than errno
	* tests/test-getlogin_r.c (main): As per POSIX we should be
	verifying the return value from getlogin_r() rather than errno.

2014-05-22  Pádraig Brady  <P@draigBrady.com>

	getlogin_r-tests: fix various issues in recent change
	* tests/test-getlogin_r.c: Include required headers that were
	missed in recent commit eec20b4e.
	Also consistently check the errno rather than the return value from
	getlogin_r as POSIX only specifies that non zero is returned on error.
	* modules/getlogin_r-tests (configure.ac): Add the check for ttyname().

2014-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	fchdir: port 'open' and 'close' redefinitions to AIX 7.1
	* lib/chown.c, lib/clean-temp.c, lib/copy-file.c, lib/execute.c:
	* lib/fsusage.c, lib/gc-gnulib.c, lib/javacomp.c, lib/mountlist.c:
	* lib/openat-proc.c, lib/pagealign_alloc.c, lib/progreloc.c:
	* lib/spawn-pipe.c:
	Do not #undef 'open' and 'close'.  AIX 7 does '#define open open64'
	and then 'int open64(const char *, int, ...);', which means the
	declaration for 'open' gets lost if we later '#undef open'.
	Discovered while building grep pretest 2.18.151-1c770 on AIX 7.1,
	where the compilation reported the non-fatal error "In function
	'openat_proc_name' ... warning: implicit declaration of function
	'open'".  In this case the error is relatively harmless, but in
	other cases it might not be so minor.

2014-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc: don't potentially generate invalid code for xmemdup calls
	* lib/xalloc.h (xmemdup): Do not mark with _GL_ATTRIBUTE_ALLOC, as
	this function can initialize the newly-allocated storage with new
	pointers, which means this function is not malloc-like.  See:
	https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56955

2014-05-19  Pádraig Brady  <P@draigBrady.com>

	getlogin_r-tests: avoid false failure under sudo/ssh etc.
	* tests/test-getlogin_r.c (main): Sync up with test-getlogin.c
	changes from commit 97249cf29 to not depend on environment variables.

2014-05-18  Pádraig Brady  <P@draigBrady.com>

	getlogin-tests: avoid false failure under cron
	* tests/test-getlogin.c (main): Avoid verifying errnos from ttyname()
	since that's not what's under test.  Centos 6 was seen to return
	EINVAL for ttyname() when run from cron.

2014-05-16  Jim Meyering  <meyering@fb.com>

	mbrtowc.m4: fix a comment typo
	* m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Fix typo s/2/-2/ in
	emitted documentation string.

2014-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	mbrlen, mbrtowc: fix bug with empty input
	* lib/mbrtowc.c (rpl_mbrtowc) [MBRTOWC_EMPTY_INPUT_BUG]: Fix the bug.
	* m4/mbrlen.m4 (gl_MBRLEN_EMPTY_INPUT): New macro.  It's not used,
	so this is mainly for documentation.
	* m4/mbrtowc.m4 (gl_MBRTOWC_EMPTY_INPUT): New macro.
	(gl_FUNC_MBRTOWC): Use it.
	* tests/test-mbrtowc.c (main): Test for the bug.

2014-05-15  Paul Eggert  <eggert@cs.ucla.edu>

	doc: document mbrtowc and mbrlen problem with empty input
	* doc/posix-functions/mbrlen.texi (mbrlen):
	* doc/posix-functions/mbrtowc.texi (mbrtowc):
	Document portability problem when the input string is empty.  See:
	https://sourceware.org/bugzilla/show_bug.cgi?id=16950

	doc: document exec* = spawn+exit bug with non-Cygwin Windows platforms
	Problem reported by Eli Zaretskii in:
	http://lists.gnu.org/r/bug-grep/2014-05/msg00118.html
	* doc/posix-functions/execl.texi (execl):
	* doc/posix-functions/execle.texi (execle):
	* doc/posix-functions/execlp.texi (execlp):
	* doc/posix-functions/execv.texi (execv):
	* doc/posix-functions/execve.texi (execve):
	* doc/posix-functions/execvp.texi (execvp):
	Mention spawn+exit problem on non-Cygwin Windows platforms.

2014-05-14  Guilherme de Almeida Suckevicz  <guito.linux@gmail.com>

	getlogin-tests: avoid false failure under sudo/ssh etc.
	* modules/getlogin-tests (configure.ac): Check for ttyname().
	* tests/test-getlogin.c (main): Don't depend on environment variables
	to correlate with getlogin(), since sudo and ssh etc. can tamper
	with the LOGNAME and USER env vars.  Instead lookup the name from
	the uid associated with the stdin tty.

2014-05-11  Paul Eggert  <eggert@cs.ucla.edu>

	mbsstr, quotearg, xstrtol: pacify IRIX 6.5 cc
	These were found when building the latest grep snapshot on IRIX 6.5.
	* lib/mbsstr.c (knuth_morris_pratt_multibyte): Break "a=b=c;" into
	"b=c; a=b;", since IRIX 6.5 cc complains about the former if b is
	never used later.
	* lib/quotearg.c (quoting_options_from_style):
	* lib/xstrtol.c (__xstrtol):
	Use enum instead of 0, to pacify IRIX 6.5 cc.

2014-04-18  Pádraig Brady  <P@draigBrady.com>

	gitlog-to-changelog: revert inclusion of git-log-fix file
	* build-aux/git-log-fix: Delete dummy file.
	* modules/gitlog-to-changelog: Don't reference (overwrite)
	the project specific git-log-fix file.

2014-04-18  Assaf Gordon  <agordon@wi.mit.edu>

	maint.mk: Relax the copyright check to cater for non FSF projects
	* top/maint.mk (sc_copyright_check): Relax the check for $PACKAGE.texi
	to not require the "Free" suffix after the copyright years.

2014-04-18  Natanael Copa  <ncopa@alpinelinux.org>

	physmem: use sysinfo on linux-gnu if _SC_PHYS_PAGES unavailable
	* lib/physmem.c (physmem_total): Some systems like musl libc don't yet
	support _SC_PHYS_PAGES.  Use the linux syscall sysinfo as fallback
	if _SC_PHYS_PAGES or _SC_PAGESIZE fails.
	(physmem_available): Likewise for _SC_AVPHYS_PAGES.

2014-04-18  Paul Eggert  <eggert@cs.ucla.edu>

	exclude: port to strict C99
	Strict C does not allow converting a function pointer to void *
	and vice versa.  Pass a pointer to a function pointer instead.
	* lib/exclude.c (add_exclude_file):
	Pass the address of the function pointer.
	(call_addfn): And deference the address here, to match.

2014-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	regex: do not depend on malloc-gnu
	* modules/regex (Depends-on): Remove malloc-gnu.
	It's no longer needed, because of the 2012-12-29 patch
	"regex: port to hosts where malloc (0) == NULL".
	Reported by Nathan Kennedy in:
	http://lists.gnu.org/r/bug-gnulib/2014-04/msg00026.html

2014-04-16  Assaf Gordon  <agordon@wi.mit.edu>

	expl: avoid incorrect expl(small_value) on OpenBSD 5.4
	* m4/expl.m4 (gl_FUNC_EXPL): Add a check for this condition.
	* doc/posix-functions/expl.texi: Mention the workaround.

2014-04-12  Paul Eggert  <eggert@cs.ucla.edu>

	xalloc: allow x2nrealloc (P, PN, S) where P && !*PN
	* lib/xalloc.h (x2nrealloc): Extend slightly, to allow the current
	size to be zero even when the pointer is nonnull.  This
	accommodates the use case where P is malloc (0) and *PN is 0 on a
	host where malloc (0) yields nonnull.

2014-04-09  Eric Blake  <eblake@redhat.com>

	fts: avoid unnecessary strlen calls
	* lib/fts.c (_D_EXACT_NAMLEN): Restore definition when needed.

2014-04-09  Paul Eggert  <eggert@cs.ucla.edu>

	fts: avoid unnecessary strlen calls
	* lib/fts.c (fts_build): Go back to using _D_EXECT_NAMLEN
	when that can be faster than strlen.

2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>

	fts: avoid unnecessary strlen calls
	* lib/fts.c (_D_EXACT_NAMLEN): Remove macro.
	(fts_build): Store the length of the dp->d_name entry in a local variable
	instead of calling strlen() several times via the above, removed macro.
	For 'rm -rf some-dir' with e.g. 1M directory entries, this speeds up the
	run by ~4%, yet this reduces the execution time by about a third if run
	via "ltrace -c rm -rf some-dir".

2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	obstack: Remove ancient NeXTSTEP gcc support conditional
	This change will ease merging with glibc.  The "#if ... __NEXT__"
	causes a warning with -Wundef which glibc now enables by default.
	Problem reported by Will Newton in
	<http://lists.gnu.org/r/bug-gnulib/2014-03/msg00032.html>.
	glibc <sys/cdefs.h> now uses __extension__ for GCC 2.8 or later,
	so go with that.
	* lib/obstack.h (__extension__):

2014-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	obstack: merge with glibc changes
	* lib/obstack.c, lib/obstack.h: Merge from glibc.
	This is mostly indenting and commentary changes.
	Instances of 'register' have been removed.

2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>

	strftime: wrap macros in "do {...} while(0)"
	* lib/strftime.c (DO_NUMBER): Wrap multi-statement code block of
	this macro in "do {...} while(0)" to prevent false use as a
	single statement, e.g., in an un-braced "{}" else-block.
	(DO_SIGNED_NUMBER, DO_TZ_OFFSET, DO_NUMBER_SPACEPAD): Likewise.
	(strftime_case_): Remove 'else' after 'goto' - which was the
	only non-fatal, un-braced use of one of the above macros.
	Spotted by coverity (NESTING_INDENT_MISMATCH).

2014-03-26  Bernhard Voelker  <mail@bernhard-voelker.de>

	modechange: avoid memory leaks for invalid octal modes
	* lib/modechange.c (mode_compile): During the parsing of
	notations like +40, free the 'mc' buffer for invalid mode
	strings like +17777 (greater than the maximum octal mode),
	=18 (bad octal mode characters) or u=1 ('affected' with
	octal modes).
	Reproducer, e.g.:
	    $ valgrind --leak-check=full chmod +17777 file
	Introduced via the 2012-03-09 commit, 4730c3e3, "modechange:
	add notations +40, 00440, etc.".
	Spotted by coverity (RESOURCE_LEAK).

2014-03-24  Paul Eggert  <eggert@cs.ucla.edu>

	gitlog-to-changelog: include a dummy git-log-fix file
	Problem reported by Nathan Stratton Treadway in:
	http://lists.gnu.org/r/bug-tar/2014-03/msg00082.html
	* build-aux/git-log-fix: New file.

2014-03-13  Jim Meyering  <meyering@fb.com>

	gitlog-to-changelog: also include the file, git-log-fix
	* modules/gitlog-to-changelog (Files): Add git-log-fix.
	Reported by Assaf Gordon.

2014-03-06  Paul Eggert  <eggert@cs.ucla.edu>

	regex: port to OS X 10.8.5 en_US.UTF-8 locale
	This fixes a bug when ignoring case and when comparing the
	titlecase letter 'ǈ' (U+01C8 LATIN CAPITAL LETTER L WITH SMALL
	LETTER J) to the corresponding uppercase letter 'Ǉ' (U+01C7 LATIN
	CAPITAL LETTER LJ).  In the OS X 10.8.5 en_US.UTF-8 locale, the
	titlecase letter is neither lowercase nor uppercase, but
	uppercasing the titlecase letter (via towupper) yields the
	uppercase letter, so the two letters should match when ignoring case.
	Problem reported by Jim Meyering in <http://debbugs.gnu.org/16911#16>.
	* lib/regex_internal.c (build_wcs_upper_buffer, build_upper_buffer):
	Don't test whether a character is lowercase before uppercasing it.

2014-03-04  Kevin Cernekee  <cernekee@gmail.com>

	stdint, read-file: fix missing SIZE_MAX on Android (tiny change)
	This is basically one of the options Bruno Haible proposed in:
	http://lists.gnu.org/r/bug-gnulib/2012-01/msg00282.html
	* lib/sys_types.in.h (_GL_INCLUDING_UNISTD_H): New macro.
	* lib/stdint.in.h: Use it.
	* modules/stdint (Depends-on): Add sys_types.

2014-02-26  Pádraig Brady  <P@draigBrady.com>

	parse-datetime: fix crash or infloop in TZ="" parsing
	* lib/parse-datetime.y (parse_datetime): Break out of the
	TZ="" parsing loop once the second significant " is found.
	Also skip over any subsequent whitespace to be consistent
	with the non TZ= case.
	* tests/test-parse-datetime.c: Add test cases for TZ="" parsing.

2014-02-26  Paul Eggert  <eggert@cs.ucla.edu>

	savedir: new symbol for fast-read version
	* lib/savedir.h (SAVEDIR_SORT_FASTREAD): New symbol, for programs
	like GNU cp that want to use SAVEDIR_SORT_INODE if available,
	SAVEDIR_SORT_NONE otherwise.  Problem reported by Bernhard Voelker in:
	http://lists.gnu.org/r/coreutils/2014-02/msg00037.html

2014-02-25  Paul Eggert  <eggert@penguin.cs.ucla.edu>

	unistd: port readlink to Mac OS X 10.3.9
	* lib/unistd.in.h (_GL_INCLUDING_UNISTD_H): New macro, to work
	around self-include problem in Mac OS X 10.3.9 when combined with
	readlink module.  Problem reported by Klaus Zietler in
	<http://bugs.gnu.org/16825>.

2014-02-23  Paul Eggert  <eggert@cs.ucla.edu>

	diffseq: remove TOO_EXPENSIVE heuristic
	Problem with diffutils reported by Vincent Lefevre in
	<http://bugs.gnu.org/16848>.  The simplest solution is to remove
	the TOO_EXPENSIVE heuristic that I added to GNU diff in 1993.
	Although appropriate for circa-1993 hardware, these days the heuristic
	seems to be more trouble than it's worth.
	* lib/diffseq.h: Modernize citations.
	(struct context): Remove member too_expensive.
	All uses changed.
	(struct partition): Remove members lo_minimal, hi_minimal.
	All uses changed.
	(diag, compareseq): Remove arg find_minimal.  All uses changed.
	(diag): Remove the TOO_EXPENSIVE heuristic that I added back in
	1993 to make 'diff' run faster (but not as well) on large inputs.
	These days, computers are fast enough that it's typically better
	to run slower but more accurately.
	* lib/fstrcmp.c: Remove duplicate comment.
	* lib/fstrcmp.c (strcmp_bounded):
	* lib/git-merge-changelog.c (compute_differences):
	Adjust to diffseq.h changes.
	* NEWS: Document the change.

	savedir: simplify by using stpcpy
	* lib/savedir.c (direntry_t): Remove size member.  All uses removed.
	(streamsavedir): Use stpcpy instead.
	* modules/savedir (Depends-on): Add stpcpy.

2014-02-21  Pádraig Brady  <P@draigBrady.com>

	spawn: fix link error on uclibc
	* m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): use AC_SEARCH_LIBS,
	to incorporate -lrt if needed (on uclibc for example).
	* modules/posix_spawn: Reference the substituted LIB.

2014-02-21  Thomas Petazzoni  <thomas.petazzoni@free-electrons.com>  (tiny change)
	timer: fix uClibc detection of threading
	* m4/time_time.m4 (gl_TIMER_TIME): Detect whether threads are
	enabled in uClibc.

2014-02-21  Eric Blake  <eblake@redhat.com>

	maintainer-makefiles: provide AC_PROG_SED for older autoconf
	* m4/gnulib-common.m4 (AC_PROG_SED): Copy from newer autoconf.

2014-02-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	exclude: add support for posix regexps

	This commit adds support for POSIX extended regular expressions
	and fixes a long-standing memory leak (pattern buffer was never
	freed).  It also implements a new interface function to read
	exclude patterns from a FILE, which passes an additional parameter
	to its callback function, thereby allowing to preserve its state
	between invocations.

	* lib/exclude.c (struct patopts): Pack regex and pattern into union.
	(pattern_buffer): New struct.
	(exclude): New member patbuf.
	(exclude_add_pattern_buffer): New function.
	(free_exclude_segment): Free regexps.
	(free_exclude): Free allocated pattern buffers.
	(exclude_patopts): New function.
	(file_pattern_matches): Use exclude_patopts.
	(add_exclude): support regexps.
	(add_exclude_fp): New function.
	(add_exclude_file): Rewrite using add_exclude_fp.
	(fnmatch_pattern_has_wildcards): Support posix extended regexps.
	* lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
	(add_exclude_fp)
	(add_exclude_file): Rewrite using add_exclude_fp.
	(fnmatch_pattern_has_wildcards): Support posix extended regexps.
	* lib/exclude.h (EXCLUDE_REGEX, EXCLUDE_ALLOC): New flags.
	(add_exclude_fp)
	(exclude_add_pattern_buffer): New prototypes.
	* modules/exclude: Depends on regex and filename.

2014-02-20  Eric Blake  <eblake@redhat.com>

	maintainer-makefiles: use $(SED) for syntax check
	* modules/maintainer-makefile (configure.ac): Check for sane sed.
	* top/maint.mk: Change sed to $(SED).

2014-02-11  Sergey Poznyakoff  <gray@gnu.org.ua>
	    Paul Eggert  <eggert@cs.ucla.edu>

	savedir: add sorting arg to savedir, streamsavedir; remove fdsavedir
	Patch based on an idea by Dick Streefland in
	<https://savannah.gnu.org/patch/?7892>.
	* NEWS: Document this.
	* lib/savedir.c (NAME_SIZE_DEFAULT): Remove.
	(direntry_t, comparison_function): New types.
	(direntry_cmp_name): New function.
	(direntry_cmp_inode) [D_INO_IN_DIRENT]: New function.
	(streamsavedir, savedir): New arg OPTION.
	(streamsavedir): Simplify memory allocation.
	(fdsavedir): Remove.
	* lib/savedir.h (enum savedir_option): New type.
	(streamsavedir, savedir): New arg OPTION.
	(fdsavedir): Remove.

2014-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	file-type: add support for doors and other less-common file types
	Problem with S_ISDOOR reported by Rich Burridge.
	* lib/file-type.c (file_type): Do S_ISLNK early too.  Do S_TYPEIS*
	macros before the rest.  Add S_ISCTG, S_ISDOOR, S_ISMPB, S_ISMPC,
	S_ISMPX, S_ISNAM, S_ISNWK, S_ISOFD, S_ISOFL, S_ISPORT, S_ISWHT.

2014-01-23  Eric Blake  <eblake@redhat.com>

	pthread: work around winpthread header pollution on mingw
	* lib/time.in.h: Move pthread workarounds...
	* lib/pthread.in.h: ...here.
	* m4/pthread.m4 (gl_PTHREAD_CHECK): Also build pthread.h when we
	detect macro pollution on mingw.
	* doc/posix-headers/pthread.texi (pthread.h): Document the problems.

2014-01-22  Paul Eggert  <eggert@cs.ucla.edu>

	qacl: check for fchmod
	* m4/acl.m4 (gl_FUNC_ACL): Check for fchmod, since acl-internal.h
	and qset-acl.c both use HAVE_FCHMOD.

2014-01-20  Paul Eggert  <eggert@cs.ucla.edu>

	fdopen-tests: port to Tru64
	* tests/test-fdopen.c (main): Don't invoke fdopen on a file
	descriptor that is not open, as POSIX doesn't specify the
	resulting behavior and the test does not work on Tru64.
	Problem reported by Steven M. Schweda in:
	http://lists.gnu.org/r/bug-gnulib/2014-01/msg00079.html

	stdalign: port to HP-UX compilers
	* lib/stdalign.in.h (_Alignas): Use __attribute__ (__aligned__ (x))
	if __HP_cc or __HP_aCC are nonzero.

2014-01-16  Paul Eggert  <eggert@cs.ucla.edu>

	strtoimax: port to platforms lacking 'long long'
	VMS's pre-C99 compiler lacks 'long long', so 'configure' doesn't
	check whether strtoll is declared, which causes the C file to
	wrongly report an error.  Problem reported by Steven M. Schweda in:
	http://lists.gnu.org/r/bug-diffutils/2014-01/msg00003.html
	* lib/strtoimax.c (strtoull):
	Declare only if HAVE_UNSIGNED_LONG_LONG_INT.
	(strtoll): Declare only if HAVE_LONG_LONG_INT.

2014-01-16  Daniel Albers  <daniel@lbe.rs>  (tiny change)

	relocatable-perl: fix texi syntax
	* doc/relocatable-maint.texi: Escape braces.

2014-01-09  Reuben Thomas  <rrt@sc3d.org>

	relocatable-perl: like relocatable-script, but for Perl scripts
	* build-aux/relocatable.pl.in: Add.
	* doc/relocatable-maint.texi: Add documentation.
	* modules/relocatable-perl: Add.

2014-01-07  Paul Eggert  <eggert@cs.ucla.edu>

	tests: fix export bug in previous patch
	Problem reported by Jim Meyering.
	* tests/init.sh (re_shell): New var, which is exported instead of
	re_shell_.

	tests: simplify porting to Solaris 10 /bin/sh
	Some test cases in 'grep' need a shell that groks '$(';
	export re_shell_ for their benefit.  Problem reported for 'grep'
	by Dagobert Michelsen in <http://bugs.gnu.org/16380>.
	* tests/init.sh (re_shell_): Export if it's used.

2014-01-06  Eric Blake  <eblake@redhat.com>

	md5, sha1, sha256, sha512: support older autoconf
	* m4/00gnulib.m4 (m4_divert_push): Wrap diversion stack
	for autoconf < 2.63b.

	include_next: port to autoconf 2.63
	* m4/gnulib-common.m4 (AS_VAR_COPY): Define if missing.

2014-01-04  Jim Meyering  <meyering@fb.com>

	maint: add a gnulib-local rule to keep non-ascii out of .texi files
	* cfg.mk (sc_keep_gnulib_texi_files_mostly_ascii): New rule,
	so that "make sc_maint" will ding anyone who puts non-ascii
	in any of gnulib's .texi files.

2014-01-03  Jim Meyering  <meyering@fb.com>

	freadable, fwritable, fwriting: declare with the "pure" attribute
	* lib/freadable.h (freadable): Declare with the "pure" attribute.
	* lib/fwritable.h (fwritable): Likewise.
	* lib/fwriting.h (fwriting): Likewise.
	Suggested by Bruno Haible.

	maint.mk: adapt openat.h-include-without-use test
	* top/maint.mk (sc_prohibit_openat_without_use): Also check for
	FCHMODAT_INLINE, FCHOWNAT_INLINE and STATAT_INLINE, to avoid
	failing on gnulib's own lib/{chmod,chown,stat}at.c files.
	With this change, running "make sc_maint" in gnulib's top-level
	directory now passes for me.

2014-01-03  Paul Eggert  <eggert@cs.ucla.edu>

	doc: use ASCII in .texi files where UTF-8 isn't needed
	* doc/posix-functions/crypt.texi, doc/posix-functions/encrypt.texi:
	* doc/posix-functions/setkey.texi, doc/regex.texi:
	Use ASCII input, not UTF-8.

2014-01-02  Jim Meyering  <meyering@fb.com>

	freading: declare with the "pure" attribute
	* lib/freading.h (freading): Declare with the "pure" attribute.

	manywarnings: remove -Wmudflap
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove -Wmudflap, since
	it is no longer supported in gcc-4.9-to-be.

2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	relocatable-script: remove unused code
	Problem reported by Reuben Thomas in:
	http://lists.gnu.org/r/bug-gnulib/2013-12/msg00117.html
	* build-aux/relocatable.sh.in (func_tmpdir): Remove unused function.

2014-01-01  Jim Meyering  <meyering@fb.com>

	maint: fix public-submodule-commit to work with newer git
	* top/maint.mk (public-submodule-commit): Remove excess quoting.
	We were over-quoting the test arguments, and somewhere prior to
	version 1.8.5.2.229, git stopped removing those excess quotes,
	which made the test fail, since the unexpanded strings would
	always differ; using GIT_TRACE=1 confirmed that the git merge-base
	command wasn't even being run.

2014-01-01  Paul Eggert  <eggert@cs.ucla.edu>

	doc: update main copyright year
	* doc/gnulib.texi: Update copyright date.

2014-01-01  Eric Blake  <eblake@redhat.com>

	version-etc: new year
	* lib/version-etc.c (COPYRIGHT_YEAR): Bump to 2014.
	* all files: run 'make update-copyright'

2013-12-24  Eric Blake  <eblake@redhat.com>

	passfd: give nicer error for recvfd at eof
	* lib/passfd.c (recvfd): Fake ENOTCONN if other end closes early.
	* tests/test-passfd.c (main): Enhance test to cover this.

2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>

	gettimeofday: port recent C++ fix to Emacs
	Without this further patch, Emacs won't build due to
	the portcheck failing.  Also, this simplifies the patch a bit.
	* lib/time.in.h (localtime, gmtime): Don't replace unless
	GNULIB_GETTIMEOFDAY.  Treat them more like mktime.
	* lib/time.in.h (localtime, gmtime):
	* m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME):
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
	* modules/time (time.h):
	Don't worry about the possibility of localtime and gmtime
	being absent; they're present in all C libraries we know about.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS):
	Don't assume sys_time is present and has been initialized.
	Instead, use a hack that should work even if it hasn't been.
	Don't use a portcheck for gmtime or localtime; this supports
	the hack.
	* modules/time (time.h): Substitute GNULIB_GETTIMEOFDAY.

2013-12-17  John W. Eaton  <jwe@gnu.org>

	gettimeofday: fix C++ crosscompilation

	Never replace gmtime and localtime by macros when compiling with
	C++, this prevents <ctime> from being included.

	* m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Do not
	define gmtime and localtime as preprocessor macros.  Instead
	define some HAVE_GMTIME, HAVE_LOCALTIME, REPLACE_GMTIME, and
	REPLACE_LOCALTIME substitutions.
	* lib/time.in.h: Declare gmtime and localtime when needed.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): AC_SUBST HAVE_GMTIME,
	HAVE_LOCALTIME, REPLACE_GMTIME, and REPLACE_LOCALTIME.
	* modules/time: Depend on gettimeofday, and substitute the above
	variables in time.h.

2013-12-17  Paul Eggert  <eggert@cs.ucla.edu>

	qacl: port to Windows better
	See Eli Zaretskii in
	<http://lists.gnu.org/r/emacs-devel/2013-12/msg00593.html>.
	* lib/file-has-acl.c (acl_access_nontrivial):
	Return -1 and set errno if !HAVE_ACL_FIRST_ENTRY &&
	!HAVE_ACL_TO_SHORT_TEXT && !HAVE_ACL_FREE_TEXT.

2013-12-12  Alexander V. Lukyanov  <lav@netis.ru>

	md5, sha1, sha256, sha512: fix (trivial) compile error in c++ mode.
	* lib/gl_openssl.h: Cast void pointers to a specific type.

2013-12-07  Pádraig Brady  <P@draigBrady.com>

	open-tests: fix build failure with -Werror=old-style-declaration
	* tests/test-open.h: Reorder the inline to avoid the issue.

2013-12-07  Pádraig Brady  <P@draigBrady.com>

	md5, sha1, sha256, sha512: fix link error with partial libcrypto
	* m4/gl-openssl.m4 (gl_CRYPTO_CHECK): Only clear LIB_CRYPTO at
	init time, so that if early checks find crypto routines,
	while the last does not, then @LIB_CRYPTO@ is replaced correctly,
	avoiding link failures.

2013-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	md5, sha1, sha256, sha512: add gl_SET_CRYPTO_CHECK_DEFAULT
	This provides a new way to specify the default for
	gl_CRYPTO_CHECK, one that is reflected in the --help message.
	Emacs uses this, as well as the old way.
	This attempts to implement a suggestion by Pádraig Brady in
	<http://lists.gnu.org/r/coreutils/2013-12/msg00080.html>.
	* m4/gl-openssl.m4(gl_SET_CRYPTO_CHECK_DEFAULT): New macro.
	(gl_CRYPTO_CHECK): Use it.  Mention the default in --help output.

	md5, sha1, sha256, sha512: add 'auto', and a way to specify default
	* m4/gl-openssl.m4 (gl_CRYPTO_CHECK):
	Add support for a new option, --with-openssl=auto, which causes
	the library to be used if available and silently ignored if not.
	Add support to allow configure.ac to specify its own
	default, by setting with_openssl_default before invoking gl_INIT.

2013-12-05  Paul Eggert  <eggert@cs.ucla.edu>

	open-tests: port to glibc with _FORTIFY_SOURCE and -O1
	Problem reported by Daiki Ueno in:
	http://lists.gnu.org/r/bug-gnulib/2013-06/msg00052.html
	* tests/test-open.h (__always_inline):
	New macro, if not already defined.
	(test_open): Use it.

2013-12-04  Eric Blake  <eblake@redhat.com>

	include_next: minimize code duplication
	* modules/include_next (Depends-on): Add absolute-header.
	* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Reuse
	gl_ABSOLUTE_HEADER_ONE instead of open-coding it.

2013-12-04  Pádraig Brady  <P@draigBrady.com>

	getcwd: fix compile error in configure check
	* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Include errno.h

2013-12-04  Pádraig Brady  <P@draigBrady.com>

	regex: suppress core dumps from detection code
	* m4/regex.m4 (gl_REGEX): Catch the SIGABRT and convert to SIGTERM
	to suppress core dumps that may well occur on glibc systems.
	These core dumps might not be cleaned up automatically, or could
	trigger some system core dump handling logic.

2013-12-03  Pádraig Brady  <P@draigBrady.com>

	md5, sha1, sha256, sha512: support mandating use of openssl
	* m4/gl-openssl.m4 (gl_crypto_check): Adjust the --with-openssl
	description, to list the now 3 separate options.  also don't
	mention the default=no, since this is implicit given the option
	is described as --with-openssl rather than --without-openssl.
	If projects change the default they're free to document that.
	with --with-openssl[=yes] we now error out when the specified
	hash algorithm is not available in libcrypto.

2013-12-03  Ivailo  <xakepa10@gmail.com>

	test-xvasprintf: (trivial) fix to disable some -Wformat-security diags
	* tests/test-xvasprintf.c: Disable -Wformat-zero-length and
	-Wformat-nonliteral checks, as these edge cases are part of the test.

2013-12-03  Eric Blake  <eblake@redhat.com>

	regex: avoid glibc deadlock during configure
	* m4/regex.m4 (gl_REGEX): Avoid recursive malloc deadlock when
	glibc bug 15078 in turn triggers bug 16159.
	Reported by Michal Privoznik.

2013-12-02  Pádraig Brady  <P@draigBrady.com>

	md5, sha1, sha256, sha512: use openssl routines if available.
	--with-openssl the libcrypto md5, sha1, sha224, sha256, sha384, sha256
	routines will be used if available, requiring apps to link @LIB_CRYPTO@
	* lib/gl_openssl.h: Provide wrappers for specified openssl hash.
	* m4/gl-openssl.m4 (gl_CRYPTO_CHECK): New function to lookup libcrypto
	in the standard system location.
	* m4/sha1.m4: Call gl_CRYPTO_CHECK() for SHA1.
	* m4/sha256.m4: Likewise with SHA256.
	* m4/sha512.m4: Likewise with SHA512.
	* m4/md5.m4: Likewise with MD5.
	* m4/gc.m4: Ensure @LIB_CRYPTO@ set for tests.
	* lib/sha1.h: Include wrappers if HAVE_OPENSSL_SHA1.
	* lib/sha256.h: Likewise with SHA256.
	* lib/sha512.h: Likewise with SHA512.
	* lib/md5.h: Likewise with MD5.
	* lib/sha1.c: Exlude functionality if HAVE_OPENSSL_SHA1.
	* lib/sha256.c: Likewise with SHA256.
	* lib/sha512.c: Likewise with SHA512.
	* lib/md5.c: Likewise with MD5.
	* modules/crypto/sha1 (Link:): Add the new optional lib.
	(Depends-on:): Add dependency on extern-inline.
	* modules/crypto/sha256: Likewise.
	* modules/crypto/sha512: Likewise.
	* modules/crypto/md5: Likewise.
	* modules/crypto/sha1-tests: Reference the lib here too.
	* modules/crypto/md5-tests: Likewise.
	* modules/crypto/gc-des-tests: Likewise.
	* modules/crypto/gc-hmac-md5-tests: Likewise.
	* modules/crypto/gc-hmac-sha1-tests: Likewise.
	* modules/crypto/gc-hmac-sha256-tests: Likewise.
	* modules/crypto/gc-hmac-sha512-tests: Likewise.
	* modules/crypto/gc-md5-tests: Likewise.
	* modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
	* modules/crypto/gc-sha1-tests: Likewise.
	* modules/crypto/gc-tests: Likewise.
	* modules/crypto/hmac-md5-tests: Likewise.
	* modules/crypto/hmac-sha1-tests: Likewise.
	* modules/crypto/hmac-sha256-tests: Likewise.
	* modules/crypto/hmac-sha512-tests: Likewise.

2013-11-29  RV1971  <rv1971@web.de>

	base64: (trivial) fix compilation regression on some compilers
	* lib/base64.c: Don't return the void function,
	instead split to a separate return statement.

2013-11-28  Paul Eggert  <eggert@cs.ucla.edu>

	ignore-value: revert previous code change
	* lib/ignore-value.h (ignore_value): Use __extension__ and
	__typeof__ only for GCC 3.4 and later.  Reported by Eric Blake in
	<http://lists.gnu.org/r/bug-gnulib/2013-11/msg00102.html>.
	Change the comment to try to explain this better.

2013-11-27  Pádraig Brady  <P@draigBrady.com>

	selinux-h: improve stub types and add more stub functions

	* lib/se-selinux.in.h: Change security_context_t to a typedef
	rather than a define, as it's a pointer type and so is better
	as a typedef to avoid issues declaring multiple variables
	with the comma operator.  Also add stub for string_to_security_class().
	* lib/se-context.in.h: Add stub functions for
	context_{type,range,role,user}_get().

2013-11-27  Paul Eggert  <eggert@cs.ucla.edu>

	ignore-value: prefer GCC version back through 2.0
	The code didn't match the comments, so I did a bit of software
	archaeology.  GCC 2.0 seems to support __extension__ and
	__typeof__, so fix both code and comments to use 2.0.
	* lib/ignore-value.h (ignore_value): Use __extension__ and
	__typeof__ for GCC 2.0 through 3.3, too.

2013-11-25  Mats Erik Andersson  <gnu@gisladisker.se>

	pty: Activate the signature wrapper of forkpty.
	The intended preprocessor macro HAVE_FORKPTY is
	never defined, yet `lib/forkpty.c' depends on it.

	* m4/pty.m4 (gl_FUNC_FORKPTY): At completed analysis,
	apply AC_DEFINE_UNQUOTED to HAVE_FORKPTY with value
	$HAVE_FORKPTY for access to wrapper in `lib/forkpty.c'.

2013-11-18  Jim Meyering  <meyering@fb.com>
	and Paul Eggert  <eggert@cs.ucla.edu>

	quotearg: don't attempt to store 1 << 31 into an "int"
	* lib/quotearg.c (quotearg_buffer_restyled): Building coreutils with
	gcc's new -fsanitize=undefined and running its tests triggered some
	new test failures due to undefined behavior, all with this diagnostic:
	  lib/quotearg.c:629:62: runtime error: left shift of 1 by 31 places \
	    cannot be represented in type int
	Rather than shifting "1" left to form a mask, shift the bits right and
	simply use "1" as the mask.

2013-11-21  Paul Eggert  <eggert@cs.ucla.edu>

	error: depend on stdio
	Problem reported by Nikos Mavrogiannopoulos in
	<http://lists.gnu.org/r/bug-gnulib/2013-11/msg00084.html>
	* modules/error (Depends-on): Add stdio.

2013-11-18  Ben Pfaff  <blp@cs.stanford.edu>

	* doc/relocatable-maint.texi (Supporting Relocation): Improve
	wording.
	Reported by Reuben Thomas <rrt@sc3d.org>.

2013-11-13  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getgroups.c (posix_getgroups, getgroups) [__APPLE__]:
	New function and macro, to work around _DARWIN_C_SOURCE problem.
	Reported by Jack Howarth in <http://bugs.gnu.org/14463>.

2013-11-11  Pádraig Brady  <P@draigBrady.com>

	base64: provide a fast path for encoding well sized buffers
	Avoid conditionals in the base64 encoding loop,
	which was seen to give 60% better throughput.
	* lib/base64.c (base64_encode_fast): A new function to be called
	when we don't want to NUL terminate, and we have enough space
	in the output to encode the given input.
	(base64_encode): Call the _fast() version when appropriate.
	Also remove a redundant mask with 0x3F on the first encoded byte.

2013-11-08  Paul Eggert  <eggert@cs.ucla.edu>

	extern-inline: port better to OS X 10.9
	* m4/extern-inline.m4: Omit serial number; this file doesn't use them.
	(gl_EXTERN_INLINE): Do not suppress the use of extern inline on
	OS X 10.9, except for g++ where the bug is still present.
	See <http://trac.macports.org/ticket/41033>.

2013-11-08  Eric Blake  <eblake@redhat.com>

	fpending: fix regression on DragonFly BSD
	* m4/fpending.m4 (gl_FUNC_FPENDING): Check for declaration.
	* lib/fpending.h (__fpending): Don't declare twice.
	Reported by GW in
	<https://lists.gnu.org/r/bug-m4/2013-11/msg00000.html>

2013-11-05  Jim Meyering  <meyering@fb.com>

	hash: relax license to LGPLv2+, for libguestfs
	* modules/hash (License): Change from GPL to LGPLv2+.

2013-11-03  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: port to Oracle Studio c99
	* lib/intprops.h (_GL_HAVE___TYPEOF__) [__SUNPRO_C && __STDC__]:
	Define to 0, to avoid diagnostics when Oracle Studio is pedantic.

2013-10-31  Paul Eggert  <eggert@cs.ucla.edu>

	obstack: pacify HP C
	* lib/obstack.h (obstack_free) [!__GNUC__]: Rewrite to avoid
	warning "conversion from pointer to smaller integer" from HP
	C-ANSI-C - cc version B9007AA/B3910B A.06.26.  It's safe to assume
	C89 or later nowadays, so cast to void instead of int.  Privately
	reported by H.Merijn Brand.  Also, change header to match glibc's,
	to make checking against glibc easier.

2013-10-29  Jim Meyering  <meyering@fb.com>

	maint.mk: prefer gpgv2 over gpgv
	* top/maint.mk (gpgv): Use gpgv2 if present, else gpgv.
	(gpg_key_ID): Use $(gpgv), rather than hard-coding "gpgv".
	Reported by Gary Vaughan.

2013-10-30  Paul Eggert  <eggert@cs.ucla.edu>

	isnan: port to VAX
	Reported by John Klos for NetBSD-5/VAX in
	<http://lists.gnu.org/r/bug-gnulib/2013-10/msg00133.html>.
	* lib/isnan.c (IEEE_FLOATING_POINT): New macro, stolen from Emacs.
	(FUNC): Use it.

2013-10-28  Jim Meyering  <meyering@fb.com>

	gnulib-tool: protect against CDPATH
	* gnulib-tool: Many "cd" built-in functions print a directory name
	to stdout when CDPATH is set, e.g.,
	  $ bash -c 'CDPATH=/; cd tmp'
	  /tmp
	Unset it, when possible.  Prompted by a comment from Bruce Korb.

	maint.mk: restore functionality removed by recent change...
	Sunday's change, v0.0-8062-g6b24f60, may have appeared correct from
	the context of a shallow-cloned gnulib repository: "git describe"
	would fail in such a directory.  However, that change made it so
	the reported gnulib revision no longer includes the version number
	or a commit count, even when run from a full clone.
	* top/maint.mk (gnulib-version): Use the full "git describe"
	output when possible, e.g., the form above, rather than the
	abbreviated, no-tag, no-commit-count string, and fall back to
	using a 10-byte hash, rather than the default minimal-length
	hash prefix, since while the minimal-length one may be fine today,
	it is likely not to be unique for very long.

2013-10-26  Jim Meyering  <meyering@fb.com>

	maint.mk: fix "release" target to build _version
	This fixes a bug in README-release whereby following the outlined
	steps, one would publish a tarball whose programs would report
	--version output not consistent with the package version number.
	This bug caused grep-2.15 to produce a grep program whose
	--version option made it print 2.14.56-1e3d rather than 2.15.
	* top/maint.mk (release): Making this target build "_version"
	ensures that the new version number is reflected in configure.

2013-10-21  Ben Pfaff  <blp@cs.stanford.edu>

	install-reloc: Support multi-binary installation.
	* build-aux/install-reloc: Support installing multiple programs in
	one invocation, as done by Automake starting with commit
	4295fe33eb23f (Multi-file install for PROGRAMS.).  From Bruno
	Haible <bruno@clisp.org>, archived at
	http://lists.debian.org/debian-bsd/2012/05/msg00032.html.
	Reported by Sylvain <beuc@gnu.org>.

2013-10-21  Michael Haubenwallner  <michael.haubenwallner@salomon.at>

	selinux-h: Really build without selinux when library is missing.
	* m4/selinux-selinux-h.m4: When the selinux library is missing, really
	continue without selinux, as already told in the warning message.

2013-10-21  Jim Meyering  <meyering@fb.com>

	regex: also remove dependency on HAVE_WCSCOLL
	* lib/regex_internal.h: Remove final vestige of the wcscoll dependency.

2013-10-21  Reuben Thomas  <rrt@sc3d.org>

	xfreopen: Fix typo. s/frepoen/freopen/
	* lib/xfreopen.c: Fix description.
	* modules/xfreopen: Likewise.

2013-10-21  Jim Meyering  <meyering@fb.com>

	regex: don't depend on wcscoll
	* m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wcscoll.
	It is no longer used.

2013-10-20  Jim Meyering  <meyering@fb.com>

	error: add the printf attribute to a static function
	* lib/error.c (error_tail): Add the printf attribute, to placate
	gcc's -Werror=suggest-attribute=format option.

2013-09-30  Jim Meyering  <meyering@fb.com>

	fpending, obstack, strerror-override: use pure+const function attrs
	* lib/fpending.h (__fpending): Declare with the "pure" attribute.
	* lib/obstack.c (_obstack_allocated_p): Likewise.
	* lib/obstack.h (_obstack_memory_used): Likewise.
	(_obstack_memory_used): Likewise.
	* lib/strerror-override.h (strerror_override): Declare with
	the "const" attribute.

2013-10-18  Eric Blake  <eblake@redhat.com>

	extern-inline: make safe for -Wundef usage
	Reported by Vladimir 'phcoder' Serbinenko in
	https://lists.gnu.org/r/bug-gnulib/2013-10/msg00078.html
	* m4/extern-inline.m4 (gl_EXTERN_INLINE): Port to older gcc.

2013-10-16  Paul Eggert  <eggert@cs.ucla.edu>

	mkfifo-tests, etc.: allow HP-UX 11.11 bug
	Problem reported by Daniel Richard G. in
	<http://lists.gnu.org/r/bug-gnulib/2013-10/msg00068.html>.
	* doc/posix-functions/mkfifo.texi (mkfifo):
	* doc/posix-functions/mkfifoat.texi (mkfifoat):
	* doc/posix-functions/mknod.texi (mknod):
	* doc/posix-functions/mknodat.texi (mknodat):
	Document the HP-UX 11.11 bug.
	* tests/test-mkfifo.h (test_mkfifo):
	Allow the HP-UX 11.11 bug.

2013-10-14  Paul Eggert  <eggert@cs.ucla.edu>

	acl: allow cross-compilation to Gentoo
	Problem reported by Gabriel Marcano in
	<http://lists.gnu.org/r/bug-gnulib/2013-10/msg00058.html>.
	* m4/acl.m4 (gl_ACL_GET_FILE): When cross-compiling,
	test only whether it links.

2013-10-13  Paul Eggert  <eggert@cs.ucla.edu>

	mgetgroups: remove dependency on realloc-gnu
	The dependency violates the comment in realloc-gnu, which
	says that tests can't depend on realloc-gnu; some tests depend
	on mgetgroups, so mgetgroups can't depend on realloc-gnu.
	Problem reported by Daniel Richard G. in
	<http://lists.gnu.org/r/bug-gnulib/2013-10/msg00056.html>.
	* lib/mgetgroups.c (mgetgroups): Don't call realloc (NULL, 0).
	* modules/mgetgroups (Depends-on): Depend on realloc-posix,
	not realloc-gnu.

2013-10-12  Paul Eggert  <eggert@cs.ucla.edu>

	regex-tests: port to HP-UX 11.11
	Problem reported by Daniel Richard G. in
	<http://lists.gnu.org/r/bug-gnulib/2013-10/msg00052.html>.
	* modules/regex-tests (test_regex_LDADD): Add LIBTHREAD, LIB_PTHREAD.

2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	verify: document some 'assume' pitfalls
	* doc/verify.texi (Compile-time Assertions):
	Mention that 'assume (E)' can sometimes slow things down.
	Use CHAR_MAX + 1, not UCHAR_MAX + 1.

2013-10-10  Eric Blake  <eblake@redhat.com>

	strtoumax: fix typo in previous commit.
	* modules/strtoumax (Depends-on): Fix typo.
	* modules/strtoimax (Depends-on): Likewise.

2013-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	strtoumax: port to Solaris 8
	This problem was introduced in the recent HP-UX patch.
	Reported by Tom G. Christensen in
	<http://lists.gnu.org/r/bug-gnulib/2013-10/msg00037.html>.
	* modules/strtoumax (Depends-on): Test HAVE_STRTOUMAX
	and REPLACE_STRTOUMAX rather than ac_cv_func_strtoumax.

2013-10-09  Paul Eggert  <eggert@cs.ucla.edu>

	strtoimax, strtoumax: port to HP-UX 11.11
	Problem reported by Daniel Richard G. in
	<http://lists.gnu.org/r/bug-gnulib/2013-10/msg00023.html>.
	* lib/inttypes.in.h (strtoumax): Replace strtoumax if
	REPLACE_STRTOUMAX, thus treating it consistently with strtoimax.
	* m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Add default for
	REPLACE_STRTOUMAX.
	* m4/strtoimax.m4 (gl_FUNC_STRTOIMAX):
	* m4/strtoumax.m4 (gl_FUNC_STRTOUMAX):
	Replace the function if defined as a macro but not as a function.
	* modules/inttypes-incomplete (inttypes.h): Substitute
	REPLACE_STRTOUMAX.
	* modules/strtoumax (configure.ac): Replace strtoumax if
	REPLACE_STRTOUMAX.

2013-10-08  Paul Eggert  <eggert@cs.ucla.edu>

	strtoimax: port to HP-UX 11.11
	Problem reported by Daniel Richard G.
	* lib/strtoimax.c (Strtoimax, Strtol, Strtoll): New macros.
	(strtoimax, strtol, strtoll) [UNSIGNED]: Remove, since
	they might clash with inttypes.h.

2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	New module 'count-trailing-zeros'.
	* MODULES.html.sh: Mention it.
	* lib/count-trailing-zeros.c, lib/count-trailing-zeros.h:
	* m4/count-trailing-zeros.m4, modules/count-trailing-zeros:
	* modules/count-trailing-zeros-tests:
	* tests/test-count-trailing-zeros.c:
	New files.

	count-leading-zeros: port to MSC; support types wider than 64 bits
	The ideas behind the MSC port are stolen from Emacs.
	* lib/count-leading-zeros.h:
	Don't include verify.h: it's no longer needed, as types wider than
	64 bits are now supported.
	(COUNT_LEADING_ZEROS): New arg MSC_BUILTIN, for better
	performance with MSC.  All uses changed.  Do not assume that TYPE
	has at most 64 bits.
	(count_leading_zeros_32): Assume 0 < X < 2**32, for speed.
	All uses changed.  Fold the subtraction from 31 into the table.

	count-one-bits: port to MSC; support types wider than 64 bits
	The ideas behind the MSC port are stolen from Emacs.
	* lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable.
	* lib/count-one-bits.h: Include limits.h, for CHAR_BIT.
	Don't include verify.h: it's no longer needed, as types wider than
	64 bits are now supported.
	(COUNT_ONE_BITS_GENERIC): New macro.
	(popcount_supported) [_MSC_VER]: New inline function.
	(COUNT_ONE_BITS): Use it.  New arg MSC_BUILTIN, for better
	performance with MSC.  All uses changed.  Do not assume that TYPE
	has at most 64 bits.
	* modules/count-one-bits (Depends-on): Do not depend on 'verify'.

2013-10-06  Andrew Borodin  <aborodin@vmail.ru>

	mountlist: fix resource leak with MOUNTED_INTERIX_STATVFS
	* lib/mountlist.c (read_file_system_list): fix leak of directory
	streams in case of #ifdef MOUNTED_INTERIX_STATVFS.

2013-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	tests: improve diagnostic when an assertion fails
	* tests/macros.h (ASSERT): Report the assertion that failed.

2013-10-02  Paul Eggert  <eggert@cs.ucla.edu>

	verify: new macro 'assume'
	This is taken from Emacs, and should be generally useful.
	* doc/verify.texi (assume): Document it.
	* lib/verify.h (assume): New macro.
	(__has_builtin): Expand to 0 if not defined.

2013-09-26  Eric Blake  <eblake@redhat.com>

	dup2, dup3: work around another cygwin crasher
	* m4/dup2.m4 (gl_FUNC_DUP2): Expose the bug.
	* m4/dup3.m4 (gl_FUNC_DUP3): Likewise.
	* tests/test-dup2.c (main): Likewise.
	* lib/dup2.c (rpl_dup2): Use setdtablesize to avoid it.
	* lib/dup3.c (dup3): Likewise.
	* doc/posix-functions/dup2.texi (dup2): Document it.
	* doc/glibc-functions/dup3.texi (dup3): Likewise.

	getdtablesize: work around cygwin issue
	* m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Detect problem.
	* modules/getdtablesize (configure.ac): Build replacement.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set up a witness.
	* modules/unistd (Makefile.am): Expose the witness.
	* lib/unistd.in.h (getdtablesize): Declare replacement.
	* lib/getdtablesize.c (rpl_getdtablesize): Work around it.
	* tests/test-getdtablesize.c (main): Test it.
	* doc/glibc-functions/getdtablesize.texi (getdtablesize): Document it.

2013-09-25  Mats Erik Andersson  <gnu@gisladisker.se>

	pmccabe2html: escaping of special characters
	Escape all '<', '>', and '&' in HTML output.
	* build-aux/pmccabe2html (html_fnc): Call gsub()
	instead of sub() to capture all '<', '>', and '&'.
	Neither of '<' and '>' is special in a regexp,
	so first arguments to gsub() are corrected. Also,
	in replacement strings, ampersand must be escaped.
	Finally, '&' must be handled first, then '<' and '>'.

2013-09-24  Eric Blake  <eblake@redhat.com>

	manywarnings: enable nicer gcc warning messages
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Older gcc requires
	some -f options for optimal warnings.

2013-09-21  Jim Meyering  <meyering@fb.com>

	timespec: use the new TIMESPEC_RESOLUTION in a few more places
	* lib/timespec-add.c (timespec_add): Also replace 999999999
	with TIMESPEC_RESOLUTION - 1.
	* lib/timespec-sub.c (timespec_sub): Likewise.

2013-09-23  Paul Eggert  <eggert@cs.ucla.edu>

	warnings: port --enable-gcc-warnings to Solaris Studio 12.3
	Problem reported by Dagobert Michelsen via Eric Blake in
	<http://lists.gnu.org/r/bug-gnulib/2013-09/msg00052.html>.
	* m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use AC_LINK_IFELSE,
	not AC_COMPILE_IFELSE.

2013-09-23  Eric Blake  <eblake@redhat.com>

	configmake: support new --runstatedir option
	* m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir
	even if autoconf was too old to provide the command line option.
	* modules/configmake (Makefile.am): Propagate it to .h file.

2013-09-22  Paul Eggert  <eggert@cs.ucla.edu>

	ctype, string: depend on extern-inline
	This is needed to complete the recent OS X fixes.
	Also, fix related documentation as suggested by Eric Blake.
	* doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
	* doc/posix-functions/isascii.texi, doc/posix-functions/iscntrl.texi:
	* doc/posix-functions/isdigit.texi, doc/posix-functions/isgraph.texi:
	* doc/posix-functions/islower.texi, doc/posix-functions/isprint.texi:
	* doc/posix-functions/ispunct.texi, doc/posix-functions/isspace.texi:
	* doc/posix-functions/isupper.texi, doc/posix-functions/isxdigit.texi:
	* doc/posix-functions/toascii.texi, doc/posix-functions/tolower.texi:
	* doc/posix-functions/toupper.texi:
	List the 'ctype' gnulib module.
	* doc/posix-functions/strcat.texi, doc/posix-functions/strcpy.texi:
	* doc/posix-functions/strncpy.texi:
	List the 'string' gnulib module.
	* modules/memcpy, modules/memmove, modules/memset (Depends-on):
	Add string.
	* modules/ctype, modules/string (Depends-on): Add extern-inline.

2013-09-19  Pádraig Brady  <P@draigBrady.com>

	userspec: support optional parameters to parse_user_spec()
	* lib/userspec.c (parse_user_spec): If the GID param is NULL,
	then avoid group processing and treat the full spec as a user.
	(parse_with_separator): Allow the USERNAME and GROUPNAME to
	be optional params (NULL), in which case they're ignored.

2013-09-19  Paul Eggert  <eggert@cs.ucla.edu>

	timespec: new function make_timespec, and new constants
	* lib/timespec.h: Incorporate recent changes on the Emacs trunk.
	(TIMESPEC_RESOLUTION, LOG10_TIMESPEC_RESOLUTION): New constants.
	(make_timespec): New function.
	* lib/dtotimespec.c (dtotimespec):
	* lib/timespec-add.c (timespec_add):
	* lib/timespec-sub.c (timespec_sub):
	* lib/utimens.c (validate_timespec):
	* lib/utimensat.c (rpl_utimensat):
	Use these new constants and functions.

	stdio: OS X port of putc_unlocked + extern inline
	* lib/stdio.in.h (putc_unlocked): #undef on problematic Apple platforms.
	* doc/posix-functions/putc_unlocked.texi:
	* doc/posix-functions/putchar_unlocked.texi:
	Document this portability problem.

	signal: OS X port of sigaddset etc. + extern inline
	* lib/signal.in.h (sigaddset, sigdelset, sigemptyset, sigfillset)
	(sigismember): #undef on problematic Apple platforms.
	* doc/posix-functions/sigaddset.texi:
	* doc/posix-functions/sigdelset.texi:
	* doc/posix-functions/sigemptyset.texi:
	* doc/posix-functions/sigfillset.texi:
	* doc/posix-functions/sigismember.texi:
	Document this portability problem.

	extern-inline: do not always suppress extern inline on OS X
	* m4/extern-inline.m4 (gl_EXTERN_INLINE): Suppress the use of
	extern inline on Apple only if the particular compile-time
	configuration is known to have the problem.
	(_GL_EXTERN_INLINE_APPLE_BUG): New private macro, to implement this.
	(_GL_EXTERN_INLINE_IN_USE): New macro, intended for use by
	other Gnulib modules.

	extern-inline: document fixes for ctype and wctype macros
	* doc/posix-functions/isalnum.texi, doc/posix-functions/isalpha.texi:
	* doc/posix-functions/isascii.texi, doc/posix-functions/isblank.texi:
	* doc/posix-functions/iscntrl.texi, doc/posix-functions/isdigit.texi:
	* doc/posix-functions/isgraph.texi, doc/posix-functions/islower.texi:
	* doc/posix-functions/isprint.texi, doc/posix-functions/ispunct.texi:
	* doc/posix-functions/isspace.texi, doc/posix-functions/isupper.texi:
	* doc/posix-functions/iswalnum.texi, doc/posix-functions/iswalpha.texi:
	* doc/posix-functions/iswcntrl.texi, doc/posix-functions/iswctype.texi:
	* doc/posix-functions/iswdigit.texi, doc/posix-functions/iswgraph.texi:
	* doc/posix-functions/iswlower.texi, doc/posix-functions/iswprint.texi:
	* doc/posix-functions/iswpunct.texi, doc/posix-functions/iswspace.texi:
	* doc/posix-functions/iswupper.texi, doc/posix-functions/iswxdigit.texi:
	* doc/posix-functions/isxdigit.texi, doc/posix-functions/toascii.texi:
	* doc/posix-functions/memcpy.texi, doc/posix-functions/memmove.texi:
	* doc/posix-functions/memset.texi, doc/posix-functions/stpcpy.texi:
	* doc/posix-functions/stpncpy.texi, doc/posix-functions/strcat.texi:
	* doc/posix-functions/strcpy.texi, doc/posix-functions/strncat.texi:
	* doc/posix-functions/strncpy.texi:
	* doc/posix-functions/tolower.texi, doc/posix-functions/toupper.texi:
	* doc/posix-functions/towlower.texi, doc/posix-functions/towupper.texi:
	Document that Gnulib fixes portability problems with these
	functions on OS X 10.8 and earlier when called from plain inline
	or extern inline functions.

2013-09-17  Kevin Cernekee  <cernekee@gmail.com>

	fflush, freadahead, fseeko: Fix for Android
	Suggested by Bruno Haible in:
	<http://lists.gnu.org/r/bug-gnulib/2012-01/msg00306.html>
	* lib/stdio-impl.h: Use local __sfileext definition.

2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>

	pmccabe2html: Portability to other awk versions.
	The functions systime() and strftime() are available
	in Gawk only.  Properly close two HTML-tags 'style'
	and 'span'.
	* build-aux/pmccabe2html (BEGIN): Store timing
	strings in EPOCH_TIME and CHRONOS_TIME.  Replace
	systime() in HTML_COMMENT.
	(html_header): Correctly close tag 'style'.
	(END): Replace strftime() by CHRONOS_TIME.  Close
	tag 'span' correctly, not as 'div'.

2013-09-17  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)

	getgroups: statement without effect
	* lib/getgroups.c (rpl_getgroups) [HAVE_GETGROUPS]:
	Change equality conditional to expected assignment.

2013-09-09  Eric Blake  <eblake@redhat.com>

	glob: fix compilation
	* lib/glob.in.h (__THROW): Fix missing line in previous commit.

2013-09-07  Eric Blake  <eblake@redhat.com>

	glob: fix build for platforms without __THROW
	* lib/glob.in.h (__THROW): Add definition again.

2013-09-04  Anton Ovchinnikov  <revolver112@gmail.com>  (tiny change)

	regex-quote: fix buffer access out of bounds
	http://lists.gnu.org/r/bug-gnulib/2013-09/msg00001.html
	* lib/regex-quote.c (regex_quote_spec_pcre):
	Fix typo that resulted in an out-of-bounds read.

2013-09-04  Eric Blake  <eblake@redhat.com>

	glob: avoid -Wattribute warnings on glibc
	* lib/glob.c (next_brace_sub, prefix_array, collated_compare): Use
	__THROWNL, not __THROW, on static functions.
	* lib/glob.in.h (__THROW): Adjust...
	(__THROWNL): ...accordingly.

2013-08-28  Paul Eggert  <eggert@cs.ucla.edu>

	headers: check that _GL_INLINE_HEADER_BEGIN is defined
	Suggested by Bruce Korb in:
	http://lists.gnu.org/r/bug-gnulib/2013-08/msg00070.html
	* doc/extern-inline.texi (extern inline):
	Suggest checking that _GL_INLINE_HEADER_BEGIN is defined.
	* lib/acl-internal.h, lib/argp-fmtstream.h, lib/argp.h:
	* lib/binary-io.h, lib/bitrotate.h, lib/count-leading-zeros.h:
	* lib/count-one-bits.h, lib/eealloc.h, lib/execinfo.in.h:
	* lib/gethrxtime.h, lib/gl_list.h, lib/gl_oset.h, lib/gl_xlist.h:
	* lib/gl_xoset.h, lib/gl_xsublist.h, lib/glthread/cond.h:
	* lib/glthread/thread.h, lib/math.in.h, lib/mbchar.h, lib/mbfile.h:
	* lib/mbiter.h, lib/mbuiter.h, lib/openat.h, lib/pipe-filter-aux.h:
	* lib/priv-set.h, lib/pthread.in.h, lib/savewd.h, lib/se-context.in.h:
	* lib/se-selinux.in.h, lib/sig-handler.h, lib/stat-time.h:
	* lib/sys_socket.in.h, lib/timespec.h, lib/u64.h, lib/unistd.in.h:
	* lib/utimens.h, lib/wctype.in.h, lib/xalloc.h, lib/xsize.h:
	* lib/xtime.h:
	Check that _GL_INLINE_HEADER_BEGIN is defined.

2013-08-29  Pádraig Brady  <P@draigBrady.com>

	bootstrap: remove the --version requirement from ancillary tools
	* build-aux/bootstrap (check_exists): A new refactored function to
	determine if a command exists.
	(find_tool): Use the new function which does not require the
	--version option to be supported.
	(check_versions): Use the new function.

2013-08-26  Simon Josefsson  <simon@josefsson.org>

	gc: support HMAC-SHA256 and HMAC-SHA512.
	* lib/gc.h: Add gc_hmac_sha256 and gc_hmac_sha512.
	* lib/gc-libgcrypt.c (gc_hmac_sha256, gc_hmac_sha512): New
	functions.
	(gc_hmac_md5): Use symbolic constant.
	* lib/gc-gnulib.c: Include hmac.h for HMAC-SHA256/512 too.
	(gc_hmac_sha256, gc_hmac_sha512): New functions.
	* lib/hmac.h: Add hmac_sha256 and hmac_sha512 prototypes.
	* m4/sha256.m4: Protect against empty expansion.
	* m4/sha512.m4: Likewise.
	* lib/hmac-sha256.c: New file.
	* lib/hmac-sha512.c: Likewise.
	* m4/gc-hmac-sha256.m4: Likewise.
	* m4/gc-hmac-sha512.m4: Likewise.
	* m4/gc-sha256.m4: Likewise.
	* m4/gc-sha512.m4: Likewise.
	* modules/crypto/gc-hmac-sha256: Likewise.
	* modules/crypto/gc-hmac-sha256-tests: Likewise.
	* modules/crypto/gc-hmac-sha512: Likewise.
	* modules/crypto/gc-hmac-sha512-tests: Likewise.
	* modules/crypto/hmac-sha256: Likewise.
	* modules/crypto/hmac-sha256-tests: Likewise.
	* modules/crypto/hmac-sha512: Likewise.
	* modules/crypto/hmac-sha512-tests: Likewise.
	* tests/test-gc-hmac-sha256.c: Likewise.
	* tests/test-gc-hmac-sha512.c: Likewise
	* tests/test-hmac-sha256.c: Likewise.
	* tests/test-hmac-sha512.c: Likewise

2013-08-24  Daiki Ueno  <ueno@gnu.org>

	* m4/intl.m4: Update from gettext-0.18.3.1, which fixes a misuse
	of AC_CHECK_DECLS.

2013-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	selinux-at: omit unnecessary include
	* lib/selinux-at.c: Don't include dosname.h; not needed, since
	this source file doesn't use its macros, and subsidiary files that
	use the macros already include it.

2013-08-21  Eric Blake  <eblake@redhat.com>

	d-ino: avoid false negative on symlink
	* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use lstat.
	Reported by Stephane Chazelas.

2013-08-12  Mike Miller  <mtmiller@ieee.org>  (tiny change)

	bootstrap: port to OpenBSD sed
	* build-aux/bootstrap (insert_if_absent): Port to OpenBSD sed which
	does not interpret `-' as a file argument to mean stdin.

2013-08-15  Eric Blake  <eblake@redhat.com>

	warnings: minor optimization
	* m4/warnings.m4 (gl_COMPILER_OPTION_IF): Use fewer processes.

	warnings: check -Wfoo rather than -Wno-foo
	* m4/warnings.m4 (gl_COMPILER_OPTION_IF): If name begins with
	-Wno-, test if the compiler recognizes the positive form instead.

2013-08-15  Karl Berry  <karl@gnu.org>

	* config/srclist-update: add option "doclicense" to placate
	pulling *.texi files from Emacs.  Write terse usage
	documentation at the top.

2013-08-13  Paul Eggert  <eggert@cs.ucla.edu>

	xvasprintf-tests: port to GCC with hardening flags
	* tests/test-xvasprintf.c (test_xasprintf): Pass another arg to
	xasprintf, to pacify GCC.  Reported by Santiago Vila in:
	http://lists.gnu.org/r/bug-diffutils/2013-08/msg00002.html

2013-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	fpending: port to recent Cygwin change to stdio_ext.h
	Reported by LRN in
	<http://lists.gnu.org/r/bug-gnulib/2013-08/msg00028.html>.
	* lib/fpending.h: Don't worry about HAVE_DECL___FPENDING;
	just declare __fpending unless it's a macro.
	A duplicate decl shouldn't hurt.
	* m4/fpending.m4 (gl_FUNC_FPENDING): Check that an __fpending
	call compiles and links, instead of separately checking for
	decl and lib function.
	* modules/fpending (configure-ac):
	Adjust to fpending.m4's renaming of shell variable.

2013-08-10  Paul Eggert  <eggert@cs.ucla.edu>

	sys_time: port to OpenBSD
	* lib/sys_time.in.h: Simply delegate to the system's header
	in the BSDish cases as well.  Problem reported by Mike Miller in
	<http://lists.gnu.org/r/bug-gnulib/2013-08/msg00016.html>.
	* tests/test-sys_select.c, tests/test-sys_time.c (verify_tv_sec_type):
	Allow platforms like 64-bit OpenBSD where timeval's tv_sec is
	wider than time_t.

2013-08-09  Pádraig Brady  <P@draigBrady.com>

	bootstrap: support checksum utils having -c but not --status
	* build-aux/bootstrap: Only look for sha1sum if updating po files.
	Add sha1 to the list of supported checksum utils since it's now
	supported through adjustments below.
	(update_po_files): Remove the use of --status
	in a way that will suppress all error messages, but since this is
	only used to minimize updates, it shouldn't cause an issue.
	Exit early if there is a problem updating the po file checksums.
	(find_tool): Remove the check for --version support as this
	is optional as per commit 86186b17.  Don't even check for the
	presence of the command as if that is needed, it's supported
	through configuring prerequisites in bootstrap.conf.
	Prompt that when a tool isn't found, one can define an environment
	variable to add to the hardcoded search list.

2013-08-05  Jim Meyering  <meyering@fb.com>

	regex: port to non-glibc/lock-using systems
	Since 29-05-2013 commit, 55ba71f4, compilation on a non-glibc
	system with GNULIB_LOCK would fail due to absence of the
	included "glthread/lock.h".  This would affect any package
	for which the "lock" module is used only by the regex module,
	and not explicitly used.
	* m4/regex.m4 (gl_PREREQ_REGEX): Require gl_GLIBC21.
	* modules/regex (Depends-on) [!GLIBC && $ac_use_included_regex]:
	Add a dependency on the "lock" module.

2013-07-20  Daiki Ueno  <ueno@gnu.org>

	localecharset: make locale_charset thread-safe on Mac OS X
	* lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L
	instead of MB_CUR_MAX.

2013-07-20  Daiki Ueno  <ueno@gnu.org>

	gettext: update to version 0.18.3
	* m4/intl.m4, m4/po.m4: Update from gettext-0.18.3.  In particular,
	require AC_PROG_SED to allow user to specify custom sed command when
	generating en@quot PO file.

2013-07-18  Werner Lemberg  <wl@gnu.org>  (tiny change)

	bootstrap: use correct source when copying build-aux files
	* build-aux/bootstrap (gnulib_extra_files): This variable is
	relative to upstream gnulib layout, not downstream.

2013-07-17  Paul Eggert  <eggert@cs.ucla.edu>

	tmpdir: fix bug in VMS port
	* lib/tmpdir.c (path_search) [__VMS]: Never add slash.
	See Steven M. Schweda in
	<http://lists.gnu.org/r/bug-gnulib/2013-07/msg00026.html>.

2013-07-15  Paul Eggert  <eggert@cs.ucla.edu>

	tmpdir: port to VMS, to // != /, and to long dirs
	* lib/tmpdir.c (__libc_secure_getenv) [!_LIBC]: Rename from
	__secure_getenv, so that we're more like the glibc version.
	All uses changed.
	(path_search): Don't put slash after directory if __VMS.
	Problem reported by Steven M. Schweda in
	<http://lists.gnu.org/r/bug-gnulib/2013-07/msg00019.html>.
	Simplify code to add slash; no need for a loop.
	Do not remove trailing slash from "//".
	Do not assume dlen <= INT_MAX.

2013-07-09  Paul Eggert  <eggert@cs.ucla.edu>

	regex: port to --with-included-regex --enable-gcc-warnings non-threaded
	* lib/regex_internal.h (lock_fini, lock_lock): Rework to avoid
	gcc warnings in the non-threaded case.  Reported by Charlie Brown in
	<http://lists.gnu.org/r/bug-gnulib/2013-07/msg00015.html>.

	accept4, dup3, pipe2: port to Cygwin
	Problem reported for Emacs by Ken Brown in <http://bugs.gnu.org/14821>.
	* lib/accept4.c (accept4) [O_BINARY]:
	* lib/dup3.c (dup3) [O_BINARY]:
	* lib/pipe2.c (pipe2) [O_BINARY]:
	Use set_binary_mode, not setmode.
	* lib/pipe2.c [!GNULIB_BINARY_IO]: Include binary-io.h.
	* modules/binary-io (Depends-on): Remove module indicator.
	These last two bits undo the previous change to pipe2 and binary-io.

2013-07-09  Pádraig Brady  <P@draigBrady.com>

	mountlist: add support for deallocating returned list entries
	* lib/mountlist.c (free_mount_entry): A new exported function
	to deallocate a mount list entry.
	(read_file_system_list): Refactor to use the new deallocation function.
	Suggested by Anton Ovchinnikov.

2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
	Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
	* lib/stdalign.in.h (_Alignas, _Alignof):
	Port to FreeBSD 9.1, and to C11 and C++11.
	(_Alignas): Also support ICC.
	* lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
	* m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.

2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	fnmatch: don't goto over declaration
	* lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
	undefined behavior for goto over a declaration.
	Problem reported by Charlie Brown in
	<http://lists.gnu.org/r/bug-gnulib/2013-07/msg00009.html>.

	pipe2: decouple from binary-io a bit
	This is for Emacs, which needs pipe2 but not binary-io.
	* lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
	* modules/binary-io (Depends-on): Add module indicator.

2013-07-03  Eric Blake  <eblake@redhat.com>

	mgetgroups: relax license to LGPLv2+
	* modules/getugroups (License): Change from GPLv3+.
	* modules/mgetgroups (License): Likewise.
	* modules/getgroups (License): Change from LGPLv3+.

	xalloc-oversized: relax license to LGPLv2+
	* modules/xalloc-oversized (License): Change from GPLv3+.

	nproc: relax license to LGPLv2+
	* modules/nproc (License): Change from LGPLv3+.

	bootstrap: honor --no-git
	* build-aux/bootstrap: Don't even try to use git when user is
	pointing to a static checkout.

2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>

	ignore-value: port to gcc -pedantic
	* lib/ignore-value.h (ignore_value):
	Port to gcc -pedantic, by using __extension__.
	Reindent as per usual gnulib style nowadays.
	Simplify GCC version check.

2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>

	extern-inline: port to gcc -std=c89
	* m4/extern-inline.m4 (gl_EXTERN_INLINE):
	Do not use __gnu_inline__ if pedantic and pre-C99.

2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>

	doc: document extern-inline
	* doc/extern-inline.texi: New file.
	* doc/gnulib.texi (alloca-opt): Include it.
	* m4/extern-inline.m4: Move some comments to documentation,
	and others closer to what they describe.

	doc: chatter less
	* doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
	(updated-stamp): Use it.  This causes 'make' to output just
	one file name rather than zillions.

	fflush, fseeko: port to musl cross-compiles
	* lib/fseeko.c (fseeko): Assume that fflushing stdin works if
	on some implementation that (1) is not known to be buggy,
	(2) claims conformance to POSIX.1-2008 or later, and (3) is being
	cross-compiled to so we can't easily check for lack of
	conformance.  This is for cross-compiling to musl.
	Reported by Rich Felker in
	<http://lists.gnu.org/r/bug-gnulib/2013-06/msg00043.html>.
	* m4/fclose.m4 (gl_FUNC_FCLOSE):
	* m4/fflush.m4 (gl_FUNC_FFLUSH):
	* m4/fseeko.m4 (gl_FUNC_FSEEKO):
	Adjust to above change.
	* m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
	to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
	FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
	known not to work, or unknown.

2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	msvc-inval: port to mingw-w64
	* lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
	Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
	<http://lists.gnu.org/r/bug-gnulib/2013-06/msg00039.html>.

2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>

	getcwd-lgpl: port to Tru64
	* lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
	Problem reported by Steven M. Schweda in
	<http://lists.gnu.org/r/bug-gzip/2013-06/msg00010.html>.

	tests: port large-fd POSIX spawn tests to OS X
	Problem reported by Daiki Ueno in
	<http://lists.gnu.org/r/bug-gnulib/2013-06/msg00031.html>.
	* tests/test-posix_spawn_file_actions_addclose.c:
	* tests/test-posix_spawn_file_actions_adddup2.c:
	* tests/test-posix_spawn_file_actions_addopen.c:
	Include <limits.h>, for OPEN_MAX, if available.
	(big_fd): New static function.
	(main): Use it.

2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>

	tests/nap.h: use an adaptive delay to avoid ctime update issues
	The recent change in nap.h (5191133e) decreased the probability of lost
	races to about a third, however such problems could still be observed
	in virtual machines and openSUSE's OBS.
	Before, nap() detected the needed time once empirically and then used
	that delay (together with a small correction multiplier) in further
	calls.  This problem has been reported and discussed several times,
	including guesses about possible kernel issues:
	https://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html
	http://lists.gnu.org/r/coreutils/2012-03/msg00088.html
	https://lists.gnu.org/r/bug-gnulib/2011-11/msg00226.html
	http://bugs.gnu.org/12820
	https://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html
	https://lists.gnu.org/r/bug-gnulib/2009-11/msg00007.html
	Now, nap() avoids the race alltogether by verifying on a reference
	file whether a timestamp difference has happened.
	* tests/nap.h (nap_fd): Define file descriptor variable for the
	witness file.
	(nap_works): Change return value to bool.  Change passing
	the old file's status by value instead of by reference as this function
	does no longer update that timestamp; rename the function argument from
	st to old_st.  Remove the local variables cdiff and mdiff because that
	function now returns true/false instead of the precise delay.
	(guess_delay): Remove function.
	(clear_tmp_file): Add new function to close and unlink the witness file.
	(nap): Instead of re-using the delay which has been calculated during
	the first call, avoid the race by actually verifying that a timestamp
	difference can be observed on the current file system.  Use an adaptive
	approach for the delay to minimize execution time.  Assert that the
	maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
	= 2^31 - 1 = 2.1s.
	Use atexit to call clear_tmp_file when the process terminates.

2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>

	sig2str: port to C++
	* lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
	Reported by Daniel J Sebald in
	<http://lists.gnu.org/r/bug-gnulib/2013-06/msg00000.html>.

2013-05-30  Eric Blake  <eblake@redhat.com>

	docs: mention cygwin shortcoming in <sys/un.h>
	* doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.

	vasnprintf: silence mingw compiler warning
	* lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.

2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>

	c-ctype, regex, verify: port to gcc -std=c90 -pedantic
	Avoid constructions that are rejected by gcc -std=c90 -pedantic.
	This fixes a porting bug I recently reintroduced in regex, and
	some other instances that I discovered while testing the fix.
	* lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
	* lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
	* lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
	with an empty argument if this is a pedantic pre-C99 GCC.
	* lib/verify.h: Do not use _Static_assert if this is a pedantic
	pre-C11 GCC.

	regex: adapt to locking regime instead of depending on pthread
	Instead of depending on pthread, adapt to whatever thread
	modules are in use.  Problem reported by Ludovic Courtès in
	<http://lists.gnu.org/r/bug-gnulib/2013-05/msg00082.html>
	and by Mats Erik Andersson in
	<http://lists.gnu.org/r/bug-gnulib/2013-05/msg00100.html>.
	* lib/regex_internal.h (lock_define, lock_init, lock_fini):
	Support either the 'lock' module, or the 'pthread' module, or
	no module.
	(lock_lock, lock_unlock): New macros.
	* lib/regexec.c (regexec, re_search_stub): Use the new macros.
	* modules/lock, modules/pthread (configure.ac): Add module indicator.
	* modules/regex (Depends-on): Remove pthread.

2013-05-22  Eric Blake  <eblake@redhat.com>

	getgroups: document portability issues
	* doc/glibc-functions/initgroups.texi (initgroups): Mention
	multithread safety.
	* doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
	* doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
	* doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
	getugroups.
	* doc/posix-functions/getgroups.texi (getgroups): Mention
	multithread safety and mgetgroups.

2013-05-22  Bernhard Voelker  <mail@bernhard-voelker.de>

	test-lchown, test-chown: also skip test if chown fails with EPERM
	* tests/test-lchown.h (test_lchown): Add EPERM to the condition to
	skip this test, to handle FAT file systems.
	* tests/test-chown.h (test_chown): Likewise.

2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	regex: fix dfa race in multithreaded uses
	Problem reported by Ludovic Courtès in
	<http://lists.gnu.org/r/bug-gnulib/2013-05/msg00058.html>.
	* lib/regex_internal.h (lock_define, lock_init, lock_fini):
	New macros.  All uses of __libc_lock_define, __libc_lock_init
	changed to use the first two of these.
	(__libc_lock_lock, __libc_lock_unlock): New macros, for
	non-glibc platforms.
	(struct re_dfa_t): Define the lock unconditionally.
	* lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
	'#ifdef _LIBC"s.
	* modules/regex (Depends-on): Add pthread, if we use the
	included regex.

	* lib/regcomp.c: Do actions that are not needed for glibc,
	but may be needed elsewhere.
	(regfree, re_compile_internal): Destroy the lock.
	(re_compile_internal): Check for lock-initialization failure.

	malloca: port to compilers that reject size-zero arrays
	This fixes a bug introduced in my previous patch.
	* lib/malloca.c (struct preliminary_header): Use an int
	rather than a character array of size int; that's simpler.
	(struct header): Remove, replacing with ...
	(union header): New type.  This avoids the need for declaring a
	character array of size zero, which is not allowed on some platforms.
	All uses changed.

2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime, tests: don't use "string" + int
	Recent versions of 'clang' complain about C source code that
	uses expressions of the form '"string literal" + integer',
	I guess on the theory that it's confusing for readers who are
	used to C++.  On those grounds I suppose it's OK to make this
	minor style change.
	* lib/parse-datetime.y (parse_datetime):
	* tests/test-fchdir.c (main):
	* tests/test-snprintf-posix.h (test_function):
	* tests/test-snprintf.c (main):
	* tests/test-vasnprintf-posix.c (test_function):
	* tests/test-vasnprintf.c (test_function):
	* tests/test-vsnprintf.c (main):
	* tests/unistdio/test-ulc-asnprintf1.h (test_function):
	Rewrite '"str" + E' to '&"str"[E]'.

2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>

	argmatch: port to C++
	* lib/argmatch.h [__cplusplus]: Add extern "C".

	argp: typo fix
	* lib/argp-help.c: Typo in comment.

2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>

	manywarnings: update for GCC 4.8.0
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
	Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
	are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
	-Wmissing-noreturn, as they are duplicates of other warnings.
	Remove -Wunreachable-code, as it is removed in GCC 4.8 and
	was documented to be flaky in earlier versions of GCC.

	spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
	* tests/test-spawn.c (main):
	* tests/test-sys_socket.c (main):
	* tests/test-sys_wait.c (main):
	Don't have a switch value that isn't covered by a case.

	getaddrinfo-tests: port --enable-gcc-warnings to clang
	* tests/test-getaddrinfo.c (simple):
	Avoid casts from looser to stricter-aligned pointers.

	thread: port --enable-gcc-warnings to clang
	* lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
	Include <signal.h>, to pacify a warning about pthread_sigmask.

	stdio: use __REDIRECT for fwrite, fwrite_unlocked
	* lib/stdio.in.h (fwrite):
	When working around bug 11959, use __REDIRECT rather than '#define
	fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
	fix the -Wunused-value issue with clang, and it works with GCC too.
	Problem with targeting reported by Eric Blake in
	<http://lists.gnu.org/r/bug-gnulib/2013-05/msg00067.html>.
	(fwrite_unlocked): Treat like fwrite.  I ran into this issue while
	debugging the fwrite issue.

	stdio: port --enable-gcc-warnings to clang
	* lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
	since the GCC workaround for fwrite does not pacify clang.

	sig2str: port --enable-gcc-warnings to clang
	* lib/sig2str.c (sig2str): Avoid warning about unused printf argument.

	obstack: port --enable-gcc-warnings to clang
	* lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
	Avoid casts from looser to stricter-aligned pointers.

	memchr2: port --enable-gcc-warnings to clang
	* lib/memchr2.c (memchr2):
	Avoid casts from looser to stricter-aligned pointers.

	mbsstr: port --enable-gcc-warnings to clang
	* lib/mbsstr.c (knuth_morris_pratt_multibyte):
	Avoid casts from looser to stricter-aligned pointers.

	malloca: port --enable-gcc-warnings to clang
	* lib/malloca.c (struct header): New member 'magic', to avoid casts.
	(mmalloca): Avoid casts from looser to stricter-aligned pointers.

	inttostr: port --enable-gcc-warnings to clang
	* lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.

	warnings: port to clang
	Problem reported by Daniel P. Berrange via Eric Blake in
	<http://lists.gnu.org/r/bug-gnulib/2013-05/msg00055.html>.
	* m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
	(gl_WARN_ADD): Use it.

2013-05-11  Jim Meyering  <meyering@fb.com>

	quotearg: do not read beyond end of buffer
	* lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
	end of an ARG for which no length was specified.  With an N-byte
	quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
	would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
	via coreutils' misc/sort-debug-keys.sh test and detected by running
	the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
	* tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
	* modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
	Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
	characters correctly."

2013-05-11  Daiki Ueno  <ueno@gnu.org>

	lock: work around pthread recursive mutexes bug in Mac OS X 10.6
	* m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
	compilation target is Mac OS X 10.6.
	Problem reported by parafin and Andoni Morales in
	<http://savannah.gnu.org/bugs/?37844> and
	<http://lists.gnu.org/r/bug-gettext/2013-05/msg00007.html>.

2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>

	mkdir-p: remove assumptions about umask and mode
	* lib/mkdir-p.c (make_dir_parents): Do not assume that the current
	umask is 0, or that MODE is a subset of MODE_BITS.

2013-05-10  Eric Blake  <eblake@redhat.com>

	maint.mk: catch more abuse of HAVE_DECL in syntax-check
	* top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.

2013-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>

	deps: require Automake >= 1.9.6 in generated Makefile fragments

	That is the same minimal version required in the DEPENDENCIES file.
	Moreover, the old code generated a requirement of Automake >= 1.5,
	and that is an insanely outdated version.

	* gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
	* tests/havelib/rpathlx/Makefile.am: Likewise.
	* tests/havelib/rpathly/Makefile.am: Likewise.
	* tests/havelib/rpathlyx/Makefile.am: Likewise.
	* tests/havelib/rpathlz/Makefile.am: Likewise.
	* tests/havelib/rpathlzyx/Makefile.am: Likewise.
	* tests/havelib/rpathx/Makefile.am: Likewise.
	* tests/havelib/rpathy/Makefile.am: Likewise.
	* tests/havelib/rpathz/Makefile.am: Likewise.

2013-05-08  Eric Blake  <eblake@redhat.com>

	bootstrap: AC_INIT may have more than four parameters
	* build-aux/bootstrap (extract_package_name): Correctly extract
	non-empty tarname field.  Avoid range in regex.
	Based on a report by Sami Kerola <kerolasa@iki.fi>.

2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>

	qacl: port to MS-Windows port of GNU Emacs
	* lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
	Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
	port of GNU Emacs.  Problem reported by Eli Zaretskii in
	<http://bugs.gnu.org/14295#14>.

2013-05-07  Mike Frysinger  <vapier@gentoo.org>

	acl: include quote.h
	* lib/copy-acl.c: Include quote.h.
	* lib/set-acl.c: Likewise.

2013-05-06  Mike Frysinger  <vapier@gentoo.org>

	fchownat, renameat, unlinkat: update statat dependencies
	These modules use statat and lstatat, not fstatat; so depend on
	the statat module, which was split out recently from fstatat.
	* modules/fchownat, modules/unlinkat: Change fstatat to statat.
	* modules/renameat: Likewise.  Also delete fstat.
	URL: http://bugs.gentoo.org/468790

2013-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>

	Assume gnulib is checked out from Git, not CVS

	In fact, access to the gnulib repository through CVS has been
	disabled, or more precisely, got broken and was never restored; see:
	<http://lists.gnu.org/r/bug-gnulib/2013-05/msg00008.html>

	Note that support for CVS is not removed completely and unthinkingly
	by this change: only support for CVS checkouts of gnulib itself is
	removed.  For example, the 'bootstrap' script still cater to .cvsingore
	files and CVS directories, for the benefit of those poor gnulib clients
	still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.

	* gnulib-tool: Simplify accordingly.
	* posix-modules: Likewise.
	* MODULES.html.sh: Likewise.
	* doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
	repository.
	* doc/gnulib-intro.texi: Likewise.
	* doc/gnulib-readme.texi: Likewise.
	* doc/gnulib-tool.texi: In the examples and explanations, refer to a
	sample '.gitignore' file rather than a sample '.cvsignore'.
	* NEWS: Update.
	* m4/extensions.m4: While at it, remove a comment mistakenly referring
	to "CVS Autoconf" rather than "git Autoconf".

2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>

	utimensat-tests, etc.: try to fix some races
	Problem reported by Bernhard Voelker in
	<http://lists.gnu.org/r/bug-gnulib/2013-04/msg00071.html>.
	I don't know whether this patch fixes that race condition, but it
	fixes *some* race conditions, so it should be a win.
	* modules/chown-tests (Depends-on):
	* modules/fchownat-tests (Depends-on):
	* modules/fdutimensat-tests (Depends-on):
	* modules/futimens-tests (Depends-on):
	* modules/lchown-tests (Depends-on):
	* modules/stat-time-tests (Depends-on):
	* modules/utimens-tests (Depends-on):
	* modules/utimensat-tests (Depends-on):
	Depend on nanosleep, not usleep.
	* modules/chown-tests (test_chown_LDADD):
	* modules/lchown-tests (test_lchown_LDADD):
	* modules/stat-time-tests (test_stat_time_LDADD):
	New macro.
	* modules/fchownat-tests (test_fchownat_LDADD):
	* modules/fdutimensat-tests (test_fdutimensat_LDADD):
	* modules/futimens-tests (test_futimens_LDADD):
	* modules/utimens-tests (test_utimens_LDADD):
	* modules/utimensat-tests (test_utimensat_LDADD):
	Add $(LIB_NANOSLEEP).
	* modules/stat-time-tests (Files): Add tests/nap.h.
	* tests/nap.h: Include <limits.h>, for INT_MAX.
	(lt_mtime): Remove.
	(diff_timespec): New function.
	(get_stat): Rename from get_mtime.  All callers changed.
	(nap_works): Determine the needed delay by inspecting the
	file system's timestamp jumps; this should be more reliable.
	Look at both mtime and ctime, and take the maximum of the two jumps.
	(nap_works, guess_delay):
	Return a nanosecond count, not a microsecond count.
	All callers changed.
	(nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
	failure.
	(nap): Multiply the guess by 1.125, to accommodate the case where
	the file system's clock is a bit slower than nanosleep's clock.
	* tests/test-stat-time.c (BASE): New macro.
	Include nap.h.
	(nap): Remove; nap.h now defines this.  This removes a duplicate
	implementation of 'nap'.

	utimens, utimensat: work around Solaris UTIME_OMIT bug
	Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
	Linux kernel 2.6.32 does.  Work around it in the same way.
	* doc/posix-functions/futimens.texi (futimens):
	* doc/posix-functions/utimensat.texi (utimensat): Document the bug.
	* lib/utimens.c (fdutimens, lutimens):
	* lib/utimensat.c (rpl_utimensat): Work around the bug.

	gettext: now it's your responsibility to add -I$(top_builddir)/intl
	Formerly, it was your responsibility to do this for all Makefile.ams
	other than Gnulib's.  Now it's your responsibility to do it for
	Gnulib's Makefile.am, too.
	* NEWS: Document this.
	* modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.

	acl: include errno.h to get errno
	Reported by Daiki Ueno in
	<http://lists.gnu.org/r/bug-gnulib/2013-04/msg00073.html>.
	* lib/copy-acl.c, lib/set-acl.c: Include errno.h.

2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>

	tests: don't assume getdtablesize () <= 10000000
	* modules/cloexec-tests:
	* modules/dup2-tests:
	* modules/dup3-tests:
	* modules/nonblocking-tests:
	* modules/posix_spawn_file_actions_addclose-tests:
	* modules/posix_spawn_file_actions_adddup2-tests:
	* modules/posix_spawn_file_actions_addopen-tests:
	* modules/unistd-safer-tests:
	Depend on the getdtablesize module.
	* tests/test-cloexec.c:
	* tests/test-dup-safer.c:
	* tests/test-dup2.c:
	* tests/test-dup3.c:
	* tests/test-fcntl.c:
	* tests/test-nonblocking.c:
	* tests/test-posix_spawn_file_actions_addclose.c:
	* tests/test-posix_spawn_file_actions_adddup2.c:
	* tests/test-posix_spawn_file_actions_addopen.c:
	Don't assume getdtablesize () <= 10000000.

2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>

	extern-inline: work around bug in Sun c99
	* m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
	Work around bug in Sun C 5.12 c99's implementation of 'inline'.

2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>

	qacl: new module, broken out from the acl module
	This is for GNU Emacs, which wants the acl functions but does
	not want 'error' invoked when they fail.
	* lib/acl-internal.h: Do not include error.h, quote.h.
	(ENOSYS, ENOTSUP): Remove; no longer needed.
	(ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
	* lib/acl.h: Include <stdbool.h>.
	(acl_errno_valid): New function.
	* lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
	* lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
	* lib/set-acl.c: Rename from lib/set-mode-acl.c.
	(chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
	(ACL_INTERNAL_INLINE): Remove; no longer needed.
	* lib/file-has-acl.c (file_has_acl):
	* lib/qcopy-acl.c (qcopy_acl):
	* lib/qset-acl.c (qset_acl):
	Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
	* modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
	lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
	lib/file-has-acl.c, m4/acl.m4 to qacl module.
	Add lib/set-acl.c.
	(Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
	Add qacl.
	(configure.ac): Move gl_FUNC_ACL to qacl module.
	(lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
	Rename set-mode-acl.c to set-acl.c.
	* lib/acl-errno-valid.c: New file.
	* lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
	copy_acl function remains in copy-acl.c.
	* lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
	(_): Remove; not needed.
	* lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
	set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
	* modules/qacl: New file, moved from the old modules/acl.
	(Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
	Remove set-mode-acl.c, copy-acl.c.
	(Depends-on): Remove error, gettext-h, quote.  Add stdbool.

	alignof, intprops, malloca: port better to IBM's C compiler
	* lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
	* lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
	* lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.

2013-04-25  Daiki Ueno  <ueno@gnu.org>

	wctype-h: fix gettext link error on mingw
	Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
	<https://lists.gnu.org/r/bug-gettext/2013-03/msg00086.html>.
	* lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
	rpl_towupper and rpl_towupper.

2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>

	regex-tests, regex: allow glibc re_search behavior
	* tests/test-regex.c (main): In test for glibc bug 15078, reformat
	re_search input data to make the multi-character collating element
	in it clearly visible, and treat re_search return code 0 as valid.
	* m4/regex.m4 (gl_REGEX): Likewise.

2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign: doc fix
	* doc/posix-headers/stdalign.texi (stdalign.h):
	Gnulib doesn't support '_Alignof expr'.

2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>

	stdalign: port to stricter ISO C11
	ISO C11 says that _Alignof's operand must be a parenthesized type.
	Problem reported by Eli Zaretskii in
	<http://lists.gnu.org/r/emacs-devel/2013-03/msg00960.html>.
	* doc/posix-headers/stdalign.texi (stdalign.h): Document this.
	* m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).

2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>

	sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
	Problem reported by Marco Atzeri in
	<http://lists.gnu.org/r/bug-gnulib/2013-03/msg00000.html>.
	* lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
	Simply delegate to the system <sys/select.h> in this case too.
	Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
	if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
	be needed on Solaris either.
	* lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
	Simply delegate to the system <sys/time.h> in this case.

2013-03-19  Karl Berry  <karl@gnu.org>

	* build-aux/gnupload: check for erroneous (with gnupload) use of
	ftp-upload.gnu.org, tweak help.

2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	copy-file, rpmatch: fix problems found by cppcheck
	Reported by Arno Onken in
	<http://lists.gnu.org/r/bug-gnulib/2013-03/msg00069.html>.
	* lib/rpmatch.c (try): Fix memory leak.
	* lib/copy-file.c: Include "ignore-value.h".
	(qcopy_file_preserving): Ignore chown value.
	* modules/copy-file (Depends-on): Add ignore-value.

2013-01-27  Jim Meyering  <jim@meyering.net>

	prefix-gnulib-mk: give better diagnostics
	* build-aux/prefix-gnulib-mk: Don't just "die".
	Give better diagnostics upon failure.

2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>

	putenv: port to Solaris 10
	* lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
	HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
	is not what is wanted here.
	* m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
	declaration, not for its existence.

2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>

	mktime: fix configure typo
	* m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.

2013-03-12  Eric Blake  <eblake@redhat.com>

	regex-tests: skip UTF-8 test on mingw
	* modules/regex-tests (Depends-on): Add localcharset.
	* tests/test-regex.c (main): Use it to skip test on mingw.

2013-03-11  Eric Blake  <eblake@redhat.com>

	tests: make it easier to bypass alarm time in debugger
	* tests/test-file-has-acl.c (main): Allow gdb to override alarm.
	* tests/test-memmem.c (main): Likewise.
	* tests/test-passfd.c (main): Likewise.
	* tests/test-ptsname.c (main): Likewise.
	* tests/test-ptsname_r.c (main): Likewise.
	* tests/test-strcasestr.c (main): Likewise.
	* tests/test-strstr.c (main): Likewise.

	regex: port to mingw's recent addition of undeclared alarm
	* doc/posix-functions/alarm.texi (alarm): Document that alarm
	exists but still doesn't work in newer mingw.
	* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
	not existence.  Ensure SIGALRM is not trapped.
	* m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
	* m4/regex.m4 (gl_REGEX): Likewise.
	* m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
	* tests/test-regex.c (main): Use correct probe for alarm.

	putenv: avoid compilation warning on mingw
	* lib/putenv.c (_unsetenv): Protect variable declaration.
	(putenv): Fix indentation.

2013-03-11  Gary V. Vaughan  <gary@gnu.org>

	unistd: don't prevent Tru64 Unix from using gnulib strtod.
	* lib/unistd.in.h: be careful not to include un-needed system
	stdlib.h from here, because that prevents gnulib stdlib.h from
	defining rpl_strtod correctly.

2013-03-09  Gary V. Vaughan  <gary@gnu.org>

	vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
	changesets, but for the 'precision 0' test.
	* tests/test-vasprintf-posix.c (test_function): Don't insist on
	round-to-even, since POSIX says rounding is implementation-defined
	and OS X 10.8.2 rounds 1.51 to 1 here.

	vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
	changeset.
	* tests/test-vasprintf-posix.c (test_function): Don't insist on
	round-to-even, since POSIX says rounding is implementation-defined
	and OS X 10.8.2 rounds 1.5 to 1 here.

2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>

	vasnprintf-posix-tests: allow rounding 1.5 to 1
	* tests/test-vasnprintf-posix.c (test_function): Don't insist on
	round-to-even, since POSIX says rounding is implementation-defined
	and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
	<http://lists.gnu.org/r/bug-gnulib/2013-03/msg00019.html>.

	bootstrap: port to FreeBSD
	* build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
	that treat '--' differently.  Reported by Mats Erik Andersson in
	<http://lists.gnu.org/r/bug-gnulib/2013-03/msg00012.html>.

2013-03-08  Gary V. Vaughan  <gary@gnu.org>

	regex: rename remaining __attribute calls to __attribute__.
	2012-02-25 changed definition of __attribute, but left some uses
	unchanged, preventing compilation of regex module on most non-gcc
	environments.
	* lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
	(lookup_collation_sequence_value, build_range_exp)
	(build_collating_symbol): Set attributes with newly renamed
	__attribute__ decorator.
	* lib/regex_internal.c (re_string_peek_byte_case)
	(re_node_set_compare, re_node_set_contains): Likewise.
	* lib/regexec.c (acquire_init_state_context): Likewise.

2013-03-06  Bruno Haible  <bruno@clisp.org>

	execute: Revert last change, but use a different condition.
	* lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
	on Windows.

2013-03-05  Eric Blake  <eblake@redhat.com>

	execute: drop dead code
	* lib/execute.c (nonintr_close, nonintr_open): Delete.

2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>

	non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
	* m4/non-recursive-gnulib-prefix-hack.m4
	(gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
	Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
	<http://bugs.gnu.org/10305#237>.

2013-03-04  Eric Blake  <eblake@redhat.com>

	test-getsockopt: avoid compiler warning
	* tests/test-getsockopt.c (includes): Ensure close is declared.

2013-03-02  Bruno Haible  <bruno@clisp.org>

	sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
	* m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.

2013-03-02  Bruno Haible  <bruno@clisp.org>

	gettext: Update to version 0.18.2.
	* m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
	2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
		* intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.

2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>

	regex: merge patches from libc

	2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
	* lib/regex_internal.h (__attribute__): Rename from __attribute.
	All uses changed.
	(bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
	(re_string_wchar_at, re_string_elem_size_at):
	Mark function as possibly unused.

	2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
	* lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
	elements compare against the byte sequence of it, not its name.

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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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 [BZ #15078]
	* 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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/bug-gnulib/2012-06/msg00122.html>
	and fix suggested by Bruno Haible in
	<http://lists.gnu.org/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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.0.
	* 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/r/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/r/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.0.
	* 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.0 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.0 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.0 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.0.
	* doc/*/*.texi: Mention Solaris 11.0 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/r/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/r/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/r/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/r/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/r/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/r/bug-gnulib/2011-11/msg00237.html>.
	A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
	<http://lists.gnu.org/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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/r/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
	define as a function, as that's a bit cleaner than having it be
	sometimes a function and sometimes a macro.
	(rpl_dup2): Move the Windows-specific stuff out of here and into
	ms_windows_dup2.  Don't protect the Haiku-related fix with
	"#if !defined __linux__", as the same code also works around
	a Linux kernel bug, and it doesn't add any system calls on any
	platform.  Add comment about FreeBSD 6.1.

	sigprocmask: move #include directive
	* lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
	Windows-specific section, so that the Emacs source need not
	contain msvc-inval.h.

2011-09-23  Bruno Haible  <bruno@clisp.org>

	read: Support for MSVC 9.
	* lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
	is not 1.
	* lib/read.c (read_nothrow): New function.
	(rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
	read_nothrow.
	* m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
	invalid parameter handler.
	(gl_PREREQ_READ): New macro.
	* modules/read (Depends-on): Add msvc-inval.
	(configure.ac): Invoke gl_PREREQ_READ.
	* doc/posix-functions/read.texi: Mention the problem on MSVC.

2011-09-23  Bruno Haible  <bruno@clisp.org>

	close: Support for MSVC 9.
	* lib/close.c: Include <errno.h>, msvc-inval.h.
	(close_nothrow): New function.
	(rpl_close): Use it.
	* m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
	invalid parameter handler.
	* modules/close (Depends-on): Add msvc-inval.
	* modules/dup2-tests (Depends-on): Add close.
	* modules/dup3-tests (Depends-on): Likewise.
	* modules/fcntl-tests (Depends-on): Likewise.
	* modules/spawn-pipe-tests (Depends-on): Likewise.
	* modules/unistd-safer-tests (Depends-on): Likewise.
	* doc/posix-functions/close.texi: Mention the problem on MSVC.

2011-09-23  Bruno Haible  <bruno@clisp.org>

	New module 'dup'.
	* lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
	Allow replacement.
	* lib/dup.c: New file.
	* lib/fchdir.c (rpl_dup): Remove function.
	* m4/dup.m4: New file.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
	* m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
	(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
	* modules/unistd (Makefile.am): Substitute GNULIB_DUP.
	* modules/dup: New file.
	* tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
	'dup' module is in use.
	* modules/fdopendir (Depends-on): Add dup.
	* modules/fdutimensat-tests (Depends-on): Likewise.
	* modules/fts (Depends-on): Likewise.
	* modules/futimens-tests (Depends-on): Likewise.
	* modules/posix_spawnp-tests (Depends-on): Likewise.
	* modules/unistd-safer-tests (Depends-on): Likewise.
	* modules/utimens-tests (Depends-on): Likewise.
	* doc/posix-functions/dup.texi: Mention the new module and the problem
	on MSVC.

2011-09-23  Bruno Haible  <bruno@clisp.org>

	getdtablesize: Support for MSVC 9.
	* lib/getdtablesize.c: Include msvc-inval.h.
	(_setmaxstdio_nothrow): New function.
	(_setmaxstdio): Redefine it.
	* m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
	* modules/getdtablesize (Depends-on): Add msvc-inval.
	(configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.

2011-09-23  Bruno Haible  <bruno@clisp.org>

	signal-h: Rename from signal.
	* modules/signal-h: Renamed from modules/signal.
	* modules/pthread_sigmask (Depends-on): Update.
	* modules/raise (Depends-on): Likewise.
	* modules/sigaction (Depends-on): Likewise.
	* modules/sigpipe (Depends-on): Likewise.
	* modules/sigprocmask (Depends-on): Likewise.
	* modules/sys_select (Depends-on): Likewise.
	* modules/signal-h-tests: Renamed from modules/signal-tests.
	(Files, Depends-on, Makefile.am): Update.
	* tests/test-signal-h.c: Renamed from tests/test-signal.c.
	* modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
	(Files, Makefile.am): Update.
	* tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
	* tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
	* modules/signal: New placeholder file.
	* MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
	* doc/posix-headers/signal.texi: Update.
	* NEWS: Mention the change.

2011-09-23  Bruno Haible  <bruno@clisp.org>

	sigprocmask: Avoid crashes through signal() on MSVC 9.
	* lib/sigprocmask.c: Include msvc-inval.h.
	(signal_nothrow): New function.
	(signal): Redefine it.
	* m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
	* modules/sigprocmask (Depends-on): Add msvc-inval.
	* doc/posix-functions/signal.texi: Mention the problem on MSVC.

2011-09-23  Bruno Haible  <bruno@clisp.org>

	Tests for module 'raise'.
	* modules/raise-tests: New file.
	* tests/test-raise.c: New file.

	raise: Support for MSVC.
	* lib/signal.in.h (raise): New declaration.
	* lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
	for native Windows platforms.
	* m4/raise.m4: New file.
	* m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
	HAVE_RAISE, REPLACE_RAISE.
	* modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
	REPLACE_RAISE.
	* modules/raise (Status, Notice): Remove fields.
	(Files): Add m4/raise.m4.
	(Depends-on): Add signal, msvc-inval.
	(configure.ac): Use the common idioms.
	(Maintainer): Add me.
	* tests/test-signal-c++.cc: Check the signature of raise.
	* doc/posix-functions/raise.texi: Mention the problem on MSVC.

2011-09-23  Bruno Haible  <bruno@clisp.org>

	pipe2: Fix compilation on pre-C99 compilers.
	* lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.

2011-09-23  Bruno Haible  <bruno@clisp.org>

	New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
	* lib/msvc-nothrow.h: New file.
	* lib/msvc-nothrow.c: New file.
	* m4/msvc-nothrow.m4: New file.
	* modules/msvc-nothrow: New file.
	* lib/dup2.c: Include msvc-nothrow.h.
	(rpl_dup2): No need to protect _get_osfhandle call here.
	* lib/accept4.c: Include msvc-nothrow.h.
	* lib/error.c: Likewise.
	* lib/fcntl.c: Likewise.
	* lib/lseek.c: Likewise.
	* lib/nonblocking.c: Likewise.
	* lib/poll.c: Likewise.
	* lib/read.c: Likewise.
	* lib/select.c: Likewise.
	* lib/sockets.h: Likewise.
	* lib/sockets.c: Likewise.
	* lib/stdio-read.c: Likewise.
	* lib/stdio-write.c: Likewise.
	* lib/write.c: Likewise.
	* lib/w32sock.h: Likewise.
	* lib/w32spawn.h: Likewise.
	* lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
	* lib/fsync.c: Likewise.
	* lib/isapipe.c: Likewise.
	* modules/dup2 (Depends-on): Add msvc-nothrow.
	* modules/accept4 (Depends-on): Likewise.
	* modules/error (Depends-on): Likewise.
	* modules/fcntl (Depends-on): Likewise.
	* modules/lseek (Depends-on): Likewise.
	* modules/nonblocking (Depends-on): Likewise.
	* modules/poll (Depends-on): Likewise.
	* modules/read (Depends-on): Likewise.
	* modules/select (Depends-on): Likewise.
	* modules/sockets (Depends-on): Likewise.
	* modules/sigpipe (Depends-on): Likewise.
	* modules/write (Depends-on): Likewise.
	* modules/accept (Depends-on): Likewise.
	* modules/bind (Depends-on): Likewise.
	* modules/connect (Depends-on): Likewise.
	* modules/gethostname (Depends-on): Likewise.
	* modules/getpeername (Depends-on): Likewise.
	* modules/getsockname (Depends-on): Likewise.
	* modules/getsockopt (Depends-on): Likewise.
	* modules/ioctl (Depends-on): Likewise.
	* modules/listen (Depends-on): Likewise.
	* modules/recv (Depends-on): Likewise.
	* modules/recvfrom (Depends-on): Likewise.
	* modules/send (Depends-on): Likewise.
	* modules/sendto (Depends-on): Likewise.
	* modules/setsockopt (Depends-on): Likewise.
	* modules/shutdown (Depends-on): Likewise.
	* modules/socket (Depends-on): Likewise.
	* modules/execute (Depends-on): Likewise.
	* modules/spawn-pipe (Depends-on): Likewise.
	* modules/flock (Depends-on): Likewise.
	* modules/fsync (Depends-on): Likewise.
	* modules/isapipe (Depends-on): Likewise.
	* tests/test-cloexec.c: Include msvc-nothrow.h.
	* tests/test-dup-safer.c: Likewise.
	* tests/test-dup2.c: Likewise.
	* tests/test-dup3.c: Likewise.
	* tests/test-fcntl.c: Likewise.
	* tests/test-pipe.c: Likewise.
	* tests/test-pipe2.c: Likewise.
	* modules/cloexec-tests (Depends-on): Add msvc-nothrow.
	* modules/unistd-safer-tests (Depends-on): Likewise.
	* modules/dup2-tests (Depends-on): Likewise.
	* modules/dup3-tests (Depends-on): Likewise.
	* modules/fcntl-tests (Depends-on): Likewise.
	* modules/pipe-posix-tests (Depends-on): Likewise.
	* modules/pipe2-tests (Depends-on): Likewise.

2011-09-23  Bruno Haible  <bruno@clisp.org>

	dup2: Make code more maintainable.
	* lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
	(rpl_dup2): Use it.
	* m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
	* modules/dup2 (configure.ac): Invoke it.
	Reported by Paul Eggert.

2011-09-23  Bruno Haible  <bruno@clisp.org>

	msvc-inval: Fix compilation error.
	* lib/msvc-inval.h: Include <excpt.h>.

2011-09-23  Bruno Haible  <bruno@clisp.org>

	mkdir: Tweak for MSVC 9.
	* lib/sys_stat.in.h: Update comments.
	* doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.

	Tests for module 'chdir'.
	* modules/chdir-tests: New file.
	* tests/test-chdir.c: New file.

	New module 'chdir'.
	* modules/chdir: New file.
	* lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
	(chdir): New declaration.
	* m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
	(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
	* modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
	* tests/test-unistd-c++.cc: Check signature of chdir.
	* doc/posix-functions/chdir.texi: Mention problem on native Windows.
	* modules/chdir-long (Depends-on): Add chdir.
	* modules/fchdir (Depends-on): Likewise.
	* modules/rename (Depends-on): Likewise.
	* modules/savewd (Depends-on): Likewise.

	rmdir: Support for mingw, MSVC 9.
	* lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
	* doc/posix-functions/getcwd.texi: Mention problem on native Windows.

	getcwd: Tweak for MSVC 9.
	* lib/unistd.in.h: Update comments.
	* doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.

2011-09-22  Bruno Haible  <bruno@clisp.org>

	strerror_r-posix: Avoid a link error on MSVC.
	* m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
	* lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.

2011-09-22  Bruno Haible  <bruno@clisp.org>

	select: Avoid link errors on MSVC.
	* m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
	* modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
	* modules/pselect (Link): Likewise.
	* NEWS: Mention the change.
	* modules/select-tests (Makefile.am): Link test-select, test-select-fd,
	test-select-stdin against $(LIB_SELECT).
	* modules/pselect-tests (Makefile.am): Link test-pselect against
	$(LIB_SELECT).

2011-09-22  Bruno Haible  <bruno@clisp.org>

	select: Avoid compilation error on MSVC.
	* lib/select.c: Don't include <stdbool.h>.

2011-09-21  Bruno Haible  <bruno@clisp.org>

	Consolidate all uses of PATH_MAX in *.m4 files.
	* m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
	macros.
	* m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
	and gl_PATHMAX_SNIPPET.
	* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
	* modules/chdir-long (Files): Add m4/pathmax.m4.
	* modules/getcwd (Files): Likewise.

2011-09-21  Bruno Haible  <bruno@clisp.org>

	ftruncate: Un-deprecate, concentrate on Win32 support.
	* modules/ftruncate (Status, Notice): Remove sections.
	(Depends-on): Add largefile.
	* m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
	non-mingw platforms.
	* lib/ftruncate.c: Remove code for the older platforms. For Win32,
	include <io.h>.
	* modules/perror-tests (Depends-on): Add ftruncate.
	* doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
	'ftruncate' module.

2011-09-21  Bruno Haible  <bruno@clisp.org>

	Add dependencies to new dirent related modules.
	* modules/opendir (Depends-on): Add closedir.
	* modules/getcwd (Depends-on): Add opendir, closedir.
	* modules/dirent-safer-tests (Depends-on): Likewise.
	* modules/fdopendir-tests (Depends-on): Likewise.
	* modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
	* modules/renameat-tests (Depends-on): Likewise.

2011-09-21  Bruno Haible  <bruno@clisp.org>

	opendir: Avoid compilation error on mingw.
	* lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
	* modules/opendir (Depends-on): Add unistd.

2011-09-21  Bruno Haible  <bruno@clisp.org>

	ftruncate tests: Avoid a test failure on mingw.
	* tests/test-ftruncate.c (main): Allow a failure with EACCES.

2011-09-21  Bruno Haible  <bruno@clisp.org>

	select tests: Avoid test failures on OSF/1 5.1 and mingw.
	* tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
	native Windows.

2011-09-21  Bruno Haible  <bruno@clisp.org>

	New module 'fdopen'.
	* lib/stdio.in.h (fdopen): New declaration.
	* lib/fdopen.c: New file.
	* m4/fdopen.m4: New file.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
	REPLACE_FDOPEN.
	* modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
	REPLACE_FDOPEN.
	* modules/fdopen: New file.
	* modules/stdio-tests (Depends-on): Remove fdopen-tests.
	* tests/test-stdio-c++.cc: Check signature of fdopen.
	* doc/posix-functions/fdopen.texi: Mention the new module.

2011-09-21  Bruno Haible  <bruno@clisp.org>

	unlockpt tests: Avoid test failure on NetBSD 5.1.
	* tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
	* doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.

2011-09-21  Bruno Haible  <bruno@clisp.org>

	getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
	* tests/test-getlogin.c (main): Allow a failure with EINVAL.
	* tests/test-getlogin_r.c (main): Likewise.

2011-09-20  Bruno Haible  <bruno@clisp.org>

	time tests: Don't require pid_t.
	* doc/posix-headers/time.texi: Revert last change.
	* m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
	* tests/test-time.c: Comment out the check for pid_t.

2011-09-20  Bruno Haible  <bruno@clisp.org>

	fsync tests: Avoid a test failure on mingw.
	* tests/test-fsync.c (main): Allow a failure with EIO.

2011-09-20  Bruno Haible  <bruno@clisp.org>

	euidaccess: Update comments.
	* m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.

2011-09-20  Bruno Haible  <bruno@clisp.org>

	Ensure EBADF returns for socket functions on mingw.
	* lib/accept.c (rpl_accept): Fail with error EBADF if the file
	descriptor is invalid.
	* lib/bind.c (rpl_bind): Likewise.
	* lib/connect.c (rpl_connect): Likewise.
	* lib/getpeername.c (rpl_getpeername): Likewise.
	* lib/getsockname.c (rpl_getsockname): Likewise.
	* lib/getsockopt.c (rpl_getsockopt): Likewise.
	* lib/listen.c (rpl_listen): Likewise.
	* lib/recv.c (rpl_recv): Likewise.
	* lib/recvfrom.c (rpl_recvfrom): Likewise.
	* lib/send.c (rpl_send): Likewise.
	* lib/sendto.c (rpl_sendto): Likewise.
	* lib/setsockopt.c (rpl_setsockopt): Likewise.
	* lib/shutdown.c (rpl_shutdown): Likewise.

2011-09-20  Bruno Haible  <bruno@clisp.org>

	select tests: EBADF tests.
	* tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
	test_bad_fd): New functions.
	(test_function): Invoke also test_bad_fd.

2011-09-20  Bruno Haible  <bruno@clisp.org>

	Tests for module 'posix_spawn_file_actions_addopen.
	* modules/posix_spawn_file_actions_addopen-tests: New file.
	* tests/test-posix_spawn_file_actions_addopen.c: New file.

	Tests for module 'posix_spawn_file_actions_adddup2'.
	* modules/posix_spawn_file_actions_adddup2-tests: New file.
	* tests/test-posix_spawn_file_actions_adddup2.c: New file.

	Tests for module 'posix_spawn_file_actions_addclose'.
	* modules/posix_spawn_file_actions_addclose-tests: New file.
	* tests/test-posix_spawn_file_actions_addclose.c: New file.

2011-09-20  Bruno Haible  <bruno@clisp.org>

	Tests for module 'unlockpt'.
	* modules/unlockpt-tests: New file.
	* tests/test-unlockpt.c: New file.
	* doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.

	Tests for module 'grantpt'.
	* modules/grantpt-tests: New file.
	* tests/test-grantpt.c: New file.
	* doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.

2011-09-20  Bruno Haible  <bruno@clisp.org>

	freopen tests: EBADF tests.
	* tests/test-freopen.c: Include errno.h, unistd.h.
	(main): Add tests for EBADF, commented out for the moment.

	fclose tests: EBADF tests.
	* tests/test-fclose.c (main): Add tests for EBADF.

	fflush tests: EBADF tests.
	* tests/test-fflush.c: Include errno.h, macros.h.
	(main): Add tests for EBADF.

	ftello tests: EBADF tests.
	* tests/test-ftello4.sh: New file.
	* tests/test-ftello4.c: New file.
	* modules/ftello-tests (Files): Add them.
	(Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.

	fseeko tests: EBADF tests.
	* tests/test-fseeko4.sh: New file.
	* tests/test-fseeko4.c: New file.
	* modules/fseeko-tests (Files): Add them.
	(Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.

	Tests for function fputc().
	* modules/fputc-tests: New file.
	* tests/test-fputc.c: New file.
	* modules/stdio-tests (Depends-on): Add fputc-tests.

	Tests for function fgetc().
	* modules/fgetc-tests: New file.
	* tests/test-fgetc.c: New file.
	* modules/stdio-tests (Depends-on): Add fgetc-tests.

	Tests for function fdopen().
	* modules/fdopen-tests: New file.
	* tests/test-fdopen.c: New file.
	* modules/stdio-tests (Depends-on): Add fdopen-tests.

	Tests for module 'vdprintf'.
	* modules/vdprintf-tests: New file.
	* tests/test-vdprintf.c: New file.

	Tests for module 'dprintf'.
	* modules/dprintf-tests: New file.
	* tests/test-dprintf.c: New file.

2011-09-20  Bruno Haible  <bruno@clisp.org>

	Tests for module 'ioctl'.
	* modules/ioctl-tests: New file.
	* tests/test-ioctl.c: New file.

2011-09-20  Bruno Haible  <bruno@clisp.org>

	fcntl tests: EBADF tests.
	* tests/test-fcntl.c (main): Add more tests for EBADF.

2011-09-20  Bruno Haible  <bruno@clisp.org>

	utimensat tests: EBADF tests.
	* tests/test-utimensat.c (main): Add tests for EBADF.

	renameat tests: EBADF tests.
	* tests/test-renameat.c (main): Add tests for EBADF.

	mkfifoat tests: EBADF tests.
	* tests/test-mkfifoat.c (main): Add tests for EBADF.

	readlinkat tests: EBADF tests.
	* tests/test-readlinkat.c (main): Add tests for EBADF.

	symlinkat tests: EBADF tests.
	* tests/test-symlinkat.c (main): Add tests for EBADF.

	linkat tests: EBADF tests.
	* tests/test-linkat.c (main): Add tests for EBADF.

	Tests for module 'faccessat'.
	* modules/faccessat-tests: New file.
	* tests/test-faccessat.c: New file.

	fdopendir tests: EBADF tests.
	* tests/test-fdopendir.c (main): Add more tests for EBADF.

	openat tests: EBADF tests.
	* tests/test-fchownat.c (main): Add tests for EBADF.
	* tests/test-fstatat.c (main): Likewise.
	* tests/test-mkdirat.c (main): Likewise.
	* tests/test-openat.c (main): Likewise.
	* tests/test-unlinkat.c (main): Likewise.
	* tests/test-fchmodat.c: New file.
	* modules/openat-tests (Files): Add tests/test-fchmodat.c.
	(Makefile.am): Also run 'test-fchmodat'.

2011-09-20  Bruno Haible  <bruno@clisp.org>

	utimens, futimens, fdutimensat tests: EBADF tests.
	* tests/test-futimens.h (test_futimens): Add more tests for EBADF.

	Tests for function fstat().
	* modules/fstat-tests: New file.
	* tests/test-fstat.c: New file.
	* modules/sys_stat-tests (Depends-on): Add fstat-tests.

2011-09-20  Bruno Haible  <bruno@clisp.org>

	test-ttyname_r tests: EBADF tests.
	* tests/test-ttyname_r.c (main): Add tests for EBADF.

	Tests for module 'isatty'.
	* modules/isatty-tests: New file.
	* tests/test-isatty.c: New file.

	Tests for module 'write'.
	* modules/write-tests: New file.
	* tests/test-write.c: New file.

	Tests for module 'read'.
	* modules/read-tests: New file.
	* tests/test-read.c: New file.

	pwrite tests: EBADF tests.
	* tests/test-pwrite.c (main): Add tests for EBADF.

	pread tests: EBADF tests.
	* tests/test-pread.c (main): Add tests for EBADF.

	lseek tests: EBADF tests.
	* tests/test-lseek.c (main): Add more tests for EBADF.

	Tests for module 'ftruncate'.
	* modules/ftruncate-tests: New file.
	* tests/test-ftruncate.sh: New file.
	* tests/test-ftruncate.c: New file.

	fsync tests: EBADF tests.
	* tests/test-fsync.c (main): Add more tests for EBADF.

	fdatasync tests: EBADF tests.
	* tests/test-fdatasync.c (main): Add more tests for EBADF.

	Tests for module 'fchown'.
	* modules/fchown-tests: New file.
	* tests/test-fchown.c: New file.

	Tests for module 'fchmod'.
	* modules/fchmod-tests: New file.
	* tests/test-fchmod.c: New file.

	fchdir tests: EBADF tests.
	* tests/test-fchdir.c (main): Add more tests for EBADF.

	dup2 tests: EBADF tests.
	* tests/test-dup2.c (main): Add more tests for EBADF.

	Tests for module 'dup'.
	* modules/dup-tests: New file.
	* tests/test-dup.c: New file.

	Tests for module 'close'.
	* modules/close-tests: New file.
	* tests/test-close.c: New file.

2011-09-20  Bruno Haible  <bruno@clisp.org>

	Tests for module 'shutdown'.
	* modules/shutdown-tests: New file.
	* tests/test-shutdown.c: New file.

	Tests for module 'setsockopt'.
	* modules/setsockopt-tests: New file.
	* tests/test-setsockopt.c: New file.

	Tests for module 'sendto'.
	* modules/sendto-tests: New file.
	* tests/test-sendto.c: New file.

	Tests for module 'send'.
	* modules/send-tests: New file.
	* tests/test-send.c: New file.

	Tests for module 'recvfrom'.
	* modules/recvfrom-tests: New file.
	* tests/test-recvfrom.c: New file.

	Tests for module 'recv'.
	* modules/recv-tests: New file.
	* tests/test-recv.c: New file.

	Tests for module 'listen'.
	* modules/listen-tests: New file.
	* tests/test-listen.c: New file.

	Tests for module 'getsockopt'.
	* modules/getsockopt-tests: New file.
	* tests/test-getsockopt.c: New file.

	Tests for module 'getsockname'.
	* modules/getsockname-tests: New file.
	* tests/test-getsockname.c: New file.

	Tests for module 'getpeername'.
	* modules/getpeername-tests: New file.
	* tests/test-getpeername.c: New file.

	Tests for module 'connect'.
	* modules/connect-tests: New file.
	* tests/test-connect.c: New file.

	Tests for module 'bind'.
	* modules/bind-tests: New file.
	* tests/test-bind.c: New file.

	accept4 tests: Fix for native Windows.
	* tests/test-accept4.c: Include sockets.h.
	(main): Invoke gl_sockets_startup.
	* modules/accept4-tests (Depends-on): Add sockets.

	accept tests: Fix for native Windows.
	* tests/test-accept.c: Include sockets.h.
	(main): Invoke gl_sockets_startup.
	* modules/accept-tests (Depends-on): Add sockets.

2011-09-19  Bruno Haible  <bruno@clisp.org>

	msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
	* lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
	do...while(0).
	* lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
	Suggested by Paul Eggert.

2011-09-19  Bruno Haible  <bruno@clisp.org>

	sched: Ensure pid_t is defined.
	* m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
	not define pid_t.
	* lib/sched.in.h: Include <sys/types.h>.
	* doc/posix-headers/sched.texi: Mention the pid_t problem.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2011-09-19  Bruno Haible  <bruno@clisp.org>

	msvc-inval: Ensure the entire expansion is a single statement.
	* lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
	of braces.

2011-09-19  Jim Meyering  <meyering@redhat.com>

	tests: use printf, not echo in init.sh's warn_ function
	* tests/init.sh (warn_): Use printf, not echo.  The latter would
	misbehave when given strings containing a backslash or starting
	with e.g., -n.  James Youngman suggested setting IFS.

2011-09-19  Eric Blake  <eblake@redhat.com>

	futimens: enhance test
	* tests/test-futimens.h (test_futimens): Also check for EBADF on
	closed non-negative fd.

	date: accept 'hence' as opposite of 'ago'
	* lib/parse-datetime.y (relative_time_table): Add 'hence'.
	* tests/test-parse-datetime.c (main): Enhance test.
	Suggested by Jesse Wilson.

2011-09-19  Jim Meyering  <meyering@redhat.com>

	getcwd: don't fail in a deep directory on a system without openat
	Before this change, getcwd would fail when called from a directory
	of depth PATH_MAX / 3 or greater.  That was due to the fact that
	the non-openat implementation used "..", "../..", "../../..", etc.
	to access ancestor directories.  With too many, that string would
	be longer than PATH_MAX.
	* lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
	using gnulib's openat replacement.
	* m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
	we're using the replacement function.

2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>

	maint.mk: avoid warnings from perl about missing files
	* top/maint.mk (def_sym_regex): Ignore files listed in
	$(gl_other_headers_) that do not exist, say because a project
	does not use a corresponding module.

2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	stat: use pathmax.h only if needed
	* lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
	This is better for Emacs, which does not have a mingw port and
	therefore can avoid the pathmax module.

	utimens: remove dependency on dup2
	* lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
	to work around the Linux kernel bug.
	* modules/utimens (Depends-on): Remove dup2.

2011-09-18  Bruno Haible  <bruno@clisp.org>

	inet_ntop, inet_pton: Look for it also in libresolv.
	* m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
	libnsl, search for it in libresolv.
	* m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
	Needed on Solaris 7.

2011-09-18  Bruno Haible  <bruno@clisp.org>

	accept, accept4 tests: Avoid link error on Solaris.
	* modules/accept-tests (Makefile.am): Link test-accept against
	$(LIBSOCKET).
	* modules/accept4-tests (Makefile.am): Link test-accept4 against
	$(LIBSOCKET).

	accept4: Avoid link error on Solaris.
	* modules/accept4 (Link): New section.

	socket functions: Avoid link errors on Solaris.
	* modules/accept (Depends-on): Add socketlib.
	(Link): New section.
	* modules/bind (Depends-on): Add socketlib.
	(Link): New section.
	* modules/connect (Depends-on): Add socketlib.
	(Link): New section.
	* modules/getpeername (Depends-on): Add socketlib.
	(Link): New section.
	* modules/getsockname (Depends-on): Add socketlib.
	(Link): New section.
	* modules/getsockopt (Depends-on): Add socketlib.
	(Link): New section.
	* modules/listen (Depends-on): Add socketlib.
	(Link): New section.
	* modules/recv (Depends-on): Add socketlib.
	(Link): New section.
	* modules/recvfrom (Depends-on): Add socketlib.
	(Link): New section.
	* modules/send (Depends-on): Add socketlib.
	(Link): New section.
	* modules/sendto (Depends-on): Add socketlib.
	(Link): New section.
	* modules/setsockopt (Depends-on): Add socketlib.
	(Link): New section.
	* modules/shutdown (Depends-on): Add socketlib.
	(Link): New section.
	* modules/socket (Depends-on): Add socketlib.
	(Link): New section.

2011-09-18  Bruno Haible  <bruno@clisp.org>

	ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
	* tests/test-ptsname.c (main): Terminate the test if it takes longer
	than 5 seconds.
	* modules/ptsname-tests (configure.ac): Test for alarm.

2011-09-18  Bruno Haible  <bruno@clisp.org>

	posix_spawn_file_actions_add*: Fix module dependencies.
	* modules/posix_spawn_file_actions_addclose (Dependencies): Add
	posix_spawn_file_actions_init.
	* modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
	* modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.

2011-09-18  Bruno Haible  <bruno@clisp.org>

	rename, renameat tests: Avoid test failures on FreeBSD 6.4.
	* tests/test-rename.h (test_rename): Allow error code EEXIST.
	* tests/test-renameat.c (main): Likewise.

2011-09-18  Bruno Haible  <bruno@clisp.org>

	Tests for module 'accept4'.
	* modules/accept4-tests: New file.
	* tests/test-accept4.c: New file.

2011-09-18  Bruno Haible  <bruno@clisp.org>

	Tests for module 'accept'.
	* modules/accept-tests: New file.
	* tests/test-accept.c: New file.

2011-09-18  Bruno Haible  <bruno@clisp.org>

	dup2: Support for MSVC.
	* lib/dup2.c: Include msvc-inval.h.
	(rpl_dup2): Handle invalid parameter notifications during dup2 and
	_get_osfhandle calls.
	* modules/dup2 (Depends-on): Add msvc-inval.
	* doc/posix-functions/dup2.texi: Mention problem on MSVC.

	New module 'msvc-inval'.
	* lib/msvc-inval.h: New file.
	* lib/msvc-inval.c: New file.
	* m4/msvc-inval.m4: New file.
	* modules/msvc-inval: New file.

2011-09-17  Bruno Haible  <bruno@clisp.org>

	Tests for module 'pclose'.
	* modules/pclose-tests: New file.

	New module 'pclose'.
	* lib/stdio.in.h (pclose): New declaration.
	* lib/pclose.c: New file.
	* m4/pclose.m4: New file.
	* m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
	(gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
	* modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
	* modules/pclose: New file.
	* modules/popen-tests (Depends-on): Add pclose.
	* modules/popen-safer-tests (Depends-on): Likewise.
	* doc/posix-functions/pclose.texi: Mention the new module.

2011-09-17  Bruno Haible  <bruno@clisp.org>

	popen: Support for MSVC.
	* lib/stdio.in.h (popen): Declare it if the system lacks this function.
	* lib/popen.c (popen): Provide alternate definition for native Windows.
	* m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
	* modules/popen (Depends-on, configure.ac): Update condition.
	* modules/stdio (Makefile.am): Substitute HAVE_POPEN.
	* doc/posix-functions/popen.texi: Mention that the MSVC problem is
	fixed.

2011-09-17  Bruno Haible  <bruno@clisp.org>

	isnanl, isnand, isnanf: Work around MSVC bug.
	* lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.

2011-09-17  Bruno Haible  <bruno@clisp.org>

	sys_socket tests: Fix recent mistake.
	* tests/test-sys_socket.c (t1): Avoid collision of identifiers.

2011-09-17  Bruno Haible  <bruno@clisp.org>

	putenv: Support for MSVC.
	* modules/putenv (Depends-on): Add environ.
	* lib/putenv.c (environ): Disable declaration.
	* lib/unistd.in.h: Update comment.

2011-09-17  Bruno Haible  <bruno@clisp.org>

	math: Avoid macro redefinition warnings on MSVC.
	* lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
	Undefine before redefining.

2011-09-17  Bruno Haible  <bruno@clisp.org>

	doc: Mention functions which are declared as macros.
	* doc/posix-functions/*[fl].texi: Mention that some functions are
	defined as macros with arguments only.

2011-09-17  Bruno Haible  <bruno@clisp.org>

	Add dependencies to new dirent related modules.
	* modules/backupfile (Depends-on): Add opendir, readdir, closedir.
	* modules/fts (Depends-on): Likewise.
	* modules/glob (Depends-on): Likewise.
	* modules/savedir (Depends-on): Likewise.
	* modules/scandir (Depends-on): Likewise.
	* modules/dirent-safer (Depends-on): Add opendir, closedir.
	* modules/fdopendir (Depends-on): Add opendir.

2011-09-17  Bruno Haible  <bruno@clisp.org>

	inet_pton: Support for MSVC on Windows Vista or newer.
	* lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
	* lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
	HAVE_DECL_INET_PTON is defined.
	* m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
	On platforms with <winsock2.h>, test whether inet_pton is declared in
	<ws2tcpip.h>. If so, arrange to replace it.
	* m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
	REPLACE_INET_PTON.
	* modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
	* modules/inet_pton (Files): Add m4/sys_socket_h.m4.
	(Depends-on, configure.ac): Update condition.
	* doc/posix-functions/inet_pton.texi: Mention the MSVC problem.

2011-09-17  Bruno Haible  <bruno@clisp.org>

	inet_ntop: Support for MSVC on Windows Vista or newer.
	* lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
	* lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
	HAVE_DECL_INET_NTOP is defined.
	* m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
	On platforms with <winsock2.h>, test whether inet_ntop is declared in
	<ws2tcpip.h>. If so, arrange to replace it.
	* m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
	REPLACE_INET_NTOP.
	* modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
	* modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
	(Depends-on, configure.ac): Update condition.
	* doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.

2011-09-16  Eric Blake  <eblake@redhat.com>

	test-fsync: yet another enhancement
	* tests/test-fsync.c (main): Also test behavior on read-only text
	file.

2011-09-16  Bruno Haible  <bruno@clisp.org>

	Enhance fsync, fdatasync tests.
	* tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
	* tests/test-fdatasync.c (main): Likewise.

2011-09-16  Bruno Haible  <bruno@clisp.org>

	Support for MSVC compiler: Ensure mode_t gets defined.
	* m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
	* m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
	* m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
	* tests/test-fcntl-h.c: Check that mode_t is defined.
	* tests/test-sys_stat.c: Likewise.
	* tests/test-sys_types.c: Likewise.
	* doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
	* doc/posix-headers/sys_stat.texi: Likewise.
	* doc/posix-headers/sys_types.texi: Likewise.

2011-09-16  Bruno Haible  <bruno@clisp.org>

	sys_stat: Support for MSVC.
	* lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
	* tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
	* doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
	MSVC.

2011-09-16  Bruno Haible  <bruno@clisp.org>

	Support for MSVC compiler: Ensure off_t gets defined.
	* lib/unistd.in.h: Include <sys/types.h>.
	* tests/test-fcntl-h.c: Check that off_t is defined.
	* tests/test-sys_stat.c: Likewise.
	* tests/test-sys_types.c: Likewise.

2011-09-16  Eric Blake  <eblake@redhat.com>

	fdatasync: port to Solaris
	* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
	* modules/fdatasync (Link): Document it.
	* modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.

	fdatasync: port to MacOS X 10.7
	* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
	declared.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
	* modules/unistd (Makefile.am): Substitute it.
	* lib/unistd.in.h (fdatasync): Declare on MacOS.
	* doc/posix-functions/fdatasync.texi (fdatasync): Document it.

	fdatasync: minor improvements
	* modules/fdatasync (Depends-on): Add condition for fsync.
	* lib/fdatasync.c (fdatasync): Add comment.
	* tests/test-unistd-c++.cc: Test fdatasync.

	unistd: update refs to newer POSIX
	* lib/unistd.in.h: Prefer POSIX 2008 over 2001.
	Suggested by Bruno Haible.

	fdatasync: new module
	* modules/fsync (Description): Document difference to fdatasync.
	* modules/fdatasync: New module.
	* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
	* lib/fdatasync.c (fdatasync): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
	defaults.
	* modules/unistd (Makefile.am): Set witnesses.
	* lib/unistd.in.h (fdatasync): Declare.
	* MODULES.html.sh: Document it.
	* doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
	* modules/fdatasync-tests: New test.
	* tests/test-fdatasync.c: Likewise.

2011-09-16  Eric Blake  <eblake@redhat.com>

	test-fsync: enhance tests
	* modules/fsync-tests (Depends-on): Add errno, for mingw.
	* tests/test-fsync.c (main): Enhance test.

2011-09-15  Bruno Haible  <bruno@clisp.org>

	Support for MSVC compiler: Ensure ssize_t gets defined.
	* doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
	* doc/posix-headers/stdio.texi: Likewise.
	* modules/stdio (Depends-on): Add ssize_t.
	* modules/sys_socket (Depends-on): Likewise.
	* modules/sys_types (Depends-on): Likewise.
	* modules/sys_uio (Depends-on): Likewise.
	* modules/unistd (Depends-on): Likewise.
	* tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
	* tests/test-sys_types.c: Check that ssize_t is defined.

2011-09-14  Bruno Haible  <bruno@clisp.org>

	Avoid using #, the m4 comment starter character, near brackets.
	* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
	delimiter character in sed expressions.
	* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
	Suggested by Eric Blake.

	Properly quote AC_CHECK_DECLS' 4th argument.
	* m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
	argument.
	* m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
	* m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
	* m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
	* m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
	* m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
	* m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
	* m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
	* m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
	* m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
	* m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
	* m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
	* m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
	* m4/isfinite.m4 (gl_ISFINITE): Likewise.
	* m4/isinf.m4 (gl_ISINF): Likewise.
	* m4/logb.m4 (gl_FUNC_LOGB): Likewise.
	* m4/readutmp.m4 (gl_READUTMP): Likewise.
	* m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
	* m4/round.m4 (gl_FUNC_ROUND): Likewise.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
	* m4/signbit.m4 (gl_SIGNBIT): Likewise.
	* m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
	* m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
	* m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
	* m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
	* m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
	Reported by Eric Blake.

	Properly quote AC_CHECK_DECL's 4th argument.
	* m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
	argument.
	* m4/argp.m4 (gl_ARGP): Likewise.
	* m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
	* m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
	* m4/cosl.m4 (gl_FUNC_COSL): Likewise.
	* m4/expl.m4 (gl_FUNC_EXPL): Likewise.
	* m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
	* m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
	* m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
	* m4/logl.m4 (gl_FUNC_LOGL): Likewise.
	* m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
	* m4/sinl.m4 (gl_FUNC_SINL): Likewise.
	* m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
	* m4/tanl.m4 (gl_FUNC_TANL): Likewise.
	Reported by Eric Blake.

2011-09-14  Eric Blake  <eblake@redhat.com>

	opendir: avoid compile warning
	* lib/opendir.c (includes): Always include errno.h.
	Reported by Tatsuro MATSUOKA.

2011-09-14  Jim Meyering  <meyering@redhat.com>

	maint.mk: sc_tight_scope: propagate failure from sub-make
	* top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
	Reported by Martin von Gagern.

2011-09-13  Bruno Haible  <bruno@clisp.org>

	tempname: Support for MSVC.
	* doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
	MSVC.
	* modules/tempname (Depends-on): Add fcntl-h.

2011-09-13  Bruno Haible  <bruno@clisp.org>

	sys_time: Support for MSVC.
	* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
	gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
	include <winsock2.h>.
	* lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
	function declarations that collide with POSIX.
	* modules/sys_time (Files): Add m4/sys_socket_h.m4.
	(Makefile.am): Substitute HAVE_WINSOCK2_H.

2011-09-13  Bruno Haible  <bruno@clisp.org>

	stat: Support for MSVC.
	* lib/stat.c: Include pathmax.h.
	* modules/stat (Depends-on): Add pathmax.

	pathmax: Support for native Windows.
	* lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.

2011-09-12  Bruno Haible  <bruno@clisp.org>

	New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
	* lib/dirent.in.h (struct dirent): New type.
	(DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
	DT_WHT): New macros.
	(DIR): New type.
	(opendir, closedir): Declare only if the module 'opendir' is enabled.
	(readdir, rewinddir): New declarations.
	* lib/dirent-private.h: New file.
	* lib/opendir.c: New file.
	* lib/readdir.c: New file.
	* lib/rewinddir.c: New file.
	* lib/closedir.c: New file.
	* lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
	* m4/opendir.m4: New file.
	* m4/readdir.m4: New file.
	* m4/rewinddir.m4: New file.
	* m4/closedir.m4: New file.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
	REPLACE_CLOSEDIR here.
	* m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
	readdir, rewinddir are declared.
	(gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
	GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
	HAVE_REWINDDIR, HAVE_CLOSEDIR.
	* modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
	GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
	HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
	* modules/opendir: New file.
	* modules/readdir: New file.
	* modules/rewinddir: New file.
	* modules/closedir: New file.
	* doc/posix-functions/opendir.texi: Mention the 'opendir' module.
	* doc/posix-functions/readdir.texi: Mention the 'readdir' module.
	* doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
	* doc/posix-functions/closedir.texi: Mention the 'closedir' module.
	* NEWS: Mention the 'fchdir' change.

2011-09-11  Bruno Haible  <bruno@clisp.org>

	asm-underscore.m4: Support for MSVC.
	* m4/asm-underscore.m4 (gl_C_ASM): New macro.
	(gl_ASM_SYMBOL_PREFIX): Require it. Use its results.

2011-09-11  Reuben Thomas  <rrt@sc3d.org>

	Doc about crypt functions.
	* doc/posix-functions/crypt.texi: Expand range of glibc versions
	needing for _GNU_SOURCE to get crypt.
	* doc/posix-functions/encrypt.texi: Likewise.
	* doc/posix-functions/setkey.texi: Likewise.

2011-09-11  Bruno Haible  <bruno@clisp.org>

	doc: Update regarding MSVC 9.
	* doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
	tested".
	* doc/posix-functions/*.texi: Update with info about MSVC 9.
	* doc/posix-headers/*.texi: Likewise.
	* doc/pastposix-functions/*.texi: Likewise.
	* doc/glibc-functions/*.texi: Likewise.
	* doc/glibc-headers/*.texi: Likewise.

2011-09-11  Bruno Haible  <bruno@clisp.org>

	unistd et al.: Don't assume <unistd.h> exists.
	* m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
	does not exist.
	* m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
	exist. But include <stdlib.h>.
	* m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
	include <io.h> and <stdlib.h> instead. Don't test symbolink links if
	symlink() does not exist.
	* m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
	include <io.h> instead.
	* m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
	include <direct.h> instead.
	* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
	* m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
	<io.h> instead.
	* m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
	correctly if the system does not have hard links.
	* m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
	<direct.h> instead.
	* m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
	it when looking for function declarations.
	* m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
	<direct.h> and <io.h> instead.
	* doc/posix-headers/unistd.texi: More details about MSVC problem.

2011-09-11  Bruno Haible  <bruno@clisp.org>

	strcase: Support for MSVC.
	* modules/strcase (Status, Notice): Remove obsoletion mark.
	* doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
	* doc/posix-functions/strncasecmp.texi: Likewise.

	strings: Don't assume <strings.h> exists.
	* lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
	* m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
	* modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
	* doc/posix-headers/strings.texi: Mention the MSVC problem.

2011-09-11  Bruno Haible  <bruno@clisp.org>

	dirent: Don't assume <dirent.h> exists.
	* lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
	* m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
	* modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
	* doc/posix-headers/dirent.texi: Mention the MSVC problem.

2011-09-11  Bruno Haible  <bruno@clisp.org>

	Fix wint_t on MSVC.
	* lib/wchar.in.h (wint_t): On MSVC, override it.
	* lib/wctype.in.h (wint_t): Likewise.
	* m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
	MSVC.
	* doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
	* doc/posix-headers/wctype.texi: Likewise.

2011-09-11  Bruno Haible  <bruno@clisp.org>

	sys_types: Fix typo.
	* lib/sys_types.in.h: Fix typo in comment.
	Reported by Paul Eggert.

	Support for MSVC compiler: Ensure size_t gets defined.
	* modules/strings (Depends-on): Add 'sys_types'.
	* modules/sys_uio (Depends-on): Likewise.
	* lib/sys_uio.in.h: Update comment.

	C++ tests for module 'sys_types'.
	* modules/sys_types-c++-tests: New file.
	* tests/test-sys_types-c++.cc: New file.

	Tests for module 'sys_types'.
	* modules/sys_types-tests: New file.
	* tests/test-sys_types.c: New file.

	New module 'sys_types'.
	* lib/sys_types.in.h: New file.
	* m4/sys_types_h.m4: New file.
	* modules/sys_types: New file.
	* doc/posix-headers/sys_types.texi: Mention the new module and the
	size_t problem on MSVC 9.

2011-09-11  Bruno Haible  <bruno@clisp.org>

	Support for MSVC compiler: Avoid division by a literal 0.
	* lib/math.in.h (NAN): Define through a function call also on MSVC.
	* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
	* m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
	gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
	(gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
	* tests/infinity.h: New file.
	* tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
	on MSVC.
	* tests/test-ceilf1.c: Include infinity.h.
	(main): Use Infinityf.
	* tests/test-ceil1.c: Include infinity.h.
	(main): Use Infinityd.
	* tests/test-ceill.c: Include infinity.h.
	(main): Use Infinityl.
	* tests/test-dprintf-posix.c: Include infinity.h.
	(test_function): Use Infinityd.
	* tests/test-floorf1.c: Include infinity.h.
	(main): Use Infinityf.
	* tests/test-floor1.c: Include infinity.h.
	(main): Use Infinityd.
	* tests/test-floorl.c: Include infinity.h.
	(main): Use Infinityl.
	* tests/test-fprintf-posix.c: Include infinity.h.
	(test_function): Use Infinityd.
	* tests/test-frexp.c: Include infinity.h.
	(main): Use Infinityd.
	* tests/test-frexpl.c: Include infinity.h.
	(main): Use Infinityl.
	* tests/test-isfinite.c: Include infinity.h.
	(test_isfinitef): Use Infinityf.
	(test_isfinited): Use Infinityd.
	(test_isfinitel): Use Infinityl.
	* tests/test-isinf.c: Include infinity.h.
	(test_isinff): Use Infinityf.
	(test_isinfd): Use Infinityd.
	(test_isinfl): Use Infinityl.
	* tests/test-isnan.c: Include infinity.h.
	(test_float): Use Infinityf.
	(test_double): Use Infinityd.
	(test_long_double): Use Infinityl.
	* tests/test-isnanf.h: Include infinity.h.
	(main): Use Infinityf.
	* tests/test-isnand.h: Include infinity.h.
	(main): Use Infinityd.
	* tests/test-isnanl.h: Include infinity.h.
	(main): Use Infinityl.
	* tests/test-ldexpl.c: Include infinity.h.
	(main): Use Infinityl.
	* tests/test-printf-posix.h: Include infinity.h.
	(test_function): Use Infinityd.
	* tests/test-roundf1.c: Include infinity.h.
	(main): Use Infinityf.
	* tests/test-round1.c: Include infinity.h.
	(main): Use Infinityd.
	* tests/test-roundl.c: Include infinity.h.
	(main): Use Infinityl.
	* tests/test-signbit.c: Include infinity.h.
	(test_signbitf): Use Infinityf.
	(test_signbitd): Use Infinityd.
	(test_signbitl): Use Infinityl.
	* tests/test-snprintf-posix.h: Include infinity.h.
	(test_function): Use Infinityd, Infinityl.
	* tests/test-sprintf-posix.h: Include infinity.h.
	(test_function): Use Infinityd, Infinityl.
	* tests/test-truncf1.c: Include infinity.h.
	(main): Use Infinityf.
	* tests/test-trunc1.c: Include infinity.h.
	(main): Use Infinityd.
	* tests/test-truncl.c: Include infinity.h.
	(main): Use Infinityl.
	* tests/test-vasnprintf-posix.c: Include infinity.h.
	(test_function): Use Infinityd, Infinityl.
	* tests/test-vasprintf-posix.c: Include infinity.h.
	(test_function): Use Infinityd, Infinityl.
	* modules/ceilf-tests (Files): Add tests/infinity.h.
	* modules/ceil-tests (Files): Likewise.
	* modules/ceill-tests (Files): Likewise.
	* modules/dprintf-posix-tests (Files): Likewise.
	* modules/floorf-tests (Files): Likewise.
	* modules/floor-tests (Files): Likewise.
	* modules/floorl-tests (Files): Likewise.
	* modules/fprintf-posix-tests (Files): Likewise.
	* modules/frexp-tests (Files): Likewise.
	* modules/frexp-nolibm-tests (Files): Likewise.
	* modules/frexpl-tests (Files): Likewise.
	* modules/frexpl-nolibm-tests (Files): Likewise.
	* modules/isfinite-tests (Files): Likewise.
	* modules/isinf-tests (Files): Likewise.
	* modules/isnan-tests (Files): Likewise.
	* modules/isnanf-tests (Files): Likewise.
	* modules/isnanf-nolibm-tests (Files): Likewise.
	* modules/isnand-tests (Files): Likewise.
	* modules/isnand-nolibm-tests (Files): Likewise.
	* modules/isnanl-tests (Files): Likewise.
	* modules/isnanl-nolibm-tests (Files): Likewise.
	* modules/ldexpl-tests (Files): Likewise.
	* modules/printf-posix-tests (Files): Likewise.
	* modules/roundf-tests (Files): Likewise.
	* modules/round-tests (Files): Likewise.
	* modules/roundl-tests (Files): Likewise.
	* modules/signbit-tests (Files): Likewise.
	* modules/snprintf-posix-tests (Files): Likewise.
	* modules/sprintf-posix-tests (Files): Likewise.
	* modules/truncf-tests (Files): Likewise.
	* modules/trunc-tests (Files): Likewise.
	* modules/truncl-tests (Files): Likewise.
	* modules/vasnprintf-posix-tests (Files): Likewise.
	* modules/vasprintf-posix-tests (Files): Likewise.
	* modules/vdprintf-posix-tests (Files): Likewise.
	* modules/vfprintf-posix-tests (Files): Likewise.
	* modules/vprintf-posix-tests (Files): Likewise.
	* modules/vsnprintf-posix-tests (Files): Likewise.
	* modules/vsprintf-posix-tests (Files): Likewise.
	* modules/xprintf-posix-tests (Files): Likewise.

2011-09-11  Bruno Haible  <bruno@clisp.org>

	Ensure pid_t gets defined.
	* m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
	* m4/sched_h.m4 (gl_SCHED_H): Likewise.
	* m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
	* m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
	* m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
	* m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
	* m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
	* tests/test-fcntl-h.c: Check that pid_t is defined.
	* tests/test-sched.c: Likewise.
	* tests/test-termios.c: Likewise.
	* tests/test-time.c: Likewise.
	* doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
	* doc/posix-headers/signal.texi: Likewise.
	* doc/posix-headers/sys_types.texi: Likewise.
	* doc/posix-headers/time.texi: Likewise.

2011-09-11  Bruno Haible  <bruno@clisp.org>

	acl: Fix compilation on Solaris 10 (older version).
	* lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
	of ACE_EVERYONE.
	* lib/set-mode-acl.c (qset_acl): Likewise.
	Reported by Christian Jullien <eligis@orange.fr>.

2011-09-10  Bruno Haible  <bruno@clisp.org>

	iconv, unsetenv: Add support for MSVC compiler.
	* m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
	* m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.

2011-09-10  Bruno Haible  <bruno@clisp.org>

	*printf: Add support for MSVC compiler.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
	handles the exception caused by the %n directive. When cross-compiling,
	guess no on native Windows.
	(gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
	gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
	emulate it through vsnprintf.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
	* doc/posix-functions/dprintf.texi: Update documentation regarding
	MSVC 9.
	* 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/swprintf.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/glibc-functions/asprintf.texi: Likewise.
	* doc/glibc-functions/obstack_printf.texi: Likewise.
	* doc/glibc-functions/obstack_vprintf.texi: Likewise.
	* doc/glibc-functions/vasprintf.texi: Likewise.

2011-09-10  Bruno Haible  <bruno@clisp.org>

	nocrash: Add support for native Windows.
	* m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.

2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
	    Bruno Haible  <bruno@clisp.org>

	absolute-header, include-next: Add support for MSVC compiler.
	* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
	AC_CANONICAL_HOST. On native Windows, recognize also backslash as
	directory separator in #line directives.
	* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
	recognize also backslash as directory separator in #line directives.

2011-09-08  Jim Meyering  <meyering@redhat.com>

	maint.mk: mark the post-release commit log with "maint: " prefix
	* top/maint.mk (emit-commit-log): Add "maint: " prefix to the
	one-line commit-log summary.

2011-09-08  Reuben Thomas  <rrt@sc3d.org>
	    Bruno Haible  <bruno@clisp.org>

	Doc about crypt functions.
	* doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
	systems.
	* doc/posix-functions/encrypt.texi: Likewise.
	* doc/posix-functions/setkey.texi: Likewise.

2011-09-08  Simon Josefsson  <simon@josefsson.org>

	* lib/gc.h: Fix copyright header.

2011-09-07  Bruno Haible  <bruno@clisp.org>

	pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
	* m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
	AC_LINK_IFELSE instead of AC_SEARCH_LIBS.

2011-09-07  Bruno Haible  <bruno@clisp.org>

	openat: Work around compilation error with OSF/1 5.1 DTK cc.
	* lib/fopen.c: Use different syntax for include of <stdio.h>.
	* lib/freopen.c: Likewise.
	* lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
	* lib/lstat.c: Likewise.
	* lib/stat.c: Likewise.
	* lib/open.c: Use different syntax for include of <fcntl.h>.
	* lib/openat.c: Include fcntl.h again, explicitly.

2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>

	parse-datetime: document the newly accepted format
	* doc/parse-datetime.texi (Combined date and time of day items):
	New section.

2011-09-06  Bruno Haible  <bruno@clisp.org>

	acl: Fix a test failure on newer Solaris 10 with ZFS.
	* tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
	ENOSYS as no ACL.
	Reported by Jim Meyering.

2011-09-06  Bruno Haible  <bruno@clisp.org>

	acl: Update for AIX >= 5.3 with NFS.
	* lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
	ENOSYS as no ACL.

	acl: Fix a test failure on AIX >= 5.3 with NFS.
	* tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
	as no ACL.

2011-09-06  Bruno Haible  <bruno@clisp.org>

	acl: Fix a test failure on IRIX 6.5 with NFS.
	* lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
	* lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
	of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
	* lib/copy-acl.c (qcopy_acl): Likewise.

2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>

	openat: port to AIX 7.1 with large files
	AIX 7.1 does a "#define openat open64at" if large files are in use,
	so we can't simply #undef openat.  Use the orig_openat trick (similar
	to orig_open in lib/open.c) to work around the problem.  Problem
	reported by Kevin Brott for GNU tar, in the thread containing
	<http://lists.gnu.org/r/bug-tar/2011-09/msg00032.html>.
	* lib/openat.c (__need_system_fcntl_h): Define first.
	Include <fcntl.h> and <sys/types.h> before undefining.
	(orig_openat) [HAVE_OPENAT]: New inline function.
	(openat) [HAVE_OPENAT]: Do not undef.
	(rpl_openat): Use orig_openat, not openat.

2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
	    Bruno Haible  <bruno@clisp.org>

	acl: Avoid errors on NonStop Kernel.
	* lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
	ENOTSUP errors.

2011-09-05  Bruno Haible  <bruno@clisp.org>

	acl: Clean up Solaris code.
	* lib/acl-internal.h: Remove no-op #if.
	* lib/file-has-acl.c: Likewise.
	* lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
	* lib/copy-acl.c (qcopy_acl): Likewise.

2011-09-05  Bruno Haible  <bruno@clisp.org>

	acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
	binaries built on the original Solaris 10.
	* lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
	trivial.

2011-09-05  Bruno Haible  <bruno@clisp.org>

	acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
	* lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
	10.
	* lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
	(acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
	* lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
	instead of acl_get, facl_get, acl_set, facl_set.

2011-09-05  Bruno Haible  <bruno@clisp.org>

	copy-file: Try unit tests on more file systems.
	* tests/test-copy-file-1.sh: New file.
	* tests/test-copy-file-2.sh: New file.
	* modules/copy-file-tests (Files): Add them.
	(Makefile.am): Add them to TESTS.

	acl: Try unit tests on more file systems.
	* tests/test-file-has-acl-1.sh: New file.
	* tests/test-file-has-acl-2.sh: New file.
	* tests/test-set-mode-acl-1.sh: New file.
	* tests/test-set-mode-acl-2.sh: New file.
	* tests/test-copy-acl-1.sh: New file.
	* tests/test-copy-acl-2.sh: New file.
	* modules/acl-tests (Files): Add them.
	(Makefile.am): Add them to TESTS.

2011-09-04  Bruno Haible  <bruno@clisp.org>

	acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
	* lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
	10.
	(OLD_ALLOW, OLD_DENY): New macros.
	(NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
	ACE_ACCESS_ALLOWED_ACE_TYPE.
	(NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
	ACE_ACCESS_DENIED_ACE_TYPE.
	(OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
	(NEW_ACE_EXECUTE): Fix value.
	(NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
	NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
	NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
	NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
	NEW_ACE_SYNCHRONIZE): New macros.
	* lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
	instead of acl_fromtext, acl_set, facl_set.
	Fixes a coreutils/tests/cp/perm failure.

2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>

	openat: test for fstatat (..., 0) bug
	Further testing with tar suggests that fstatat (..., 0)
	does not work in general, on AIX 7.1; see
	<http://lists.gnu.org/r/bug-tar/2011-09/msg00023.html>.
	So, give up entirely on AIX 7.1's fstatat, and fall back on our
	replacement fstatat (which is what older AIX releases were using
	anyway).
	* lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
	use is now changed to orig_fstatat.  This was probably the right
	thing to do anyway.
	(FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
	(rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
	(rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
	(AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
	* m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
	and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
	if the bug is found.

	openat: test for fstatat (AT_FDCWD, ..., 0) bug
	This tests for another fstatat bug on AIX 7.1:
	fstatat (AT_FDCWD, ..., 0) does not work.  See
	<http://lists.gnu.org/r/bug-tar/2011-09/msg00015.html>.
	* lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
	(LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
	(rpl_fstatat): Adjust so that it works around either (or both)
	bugs if present.
	* m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.

2011-09-03  Karl Berry  <karl@gnu.org>

	* doc/regex.texi (Character Class Operators): Avoid literal ":"
	in index entries.

2011-09-02  Bruno Haible  <bruno@clisp.org>

	Allow the user to override the choice of AR, ARFLAGS, RANLIB.
	* m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
	values of AR, ARFLAGS, RANLIB.
	Reported by John W. Eaton <jwe@gnu.org> for Octave.

2011-09-02  Bruno Haible  <bruno@clisp.org>

	Find 'ar' program that fits with --host argument.
	* m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.

2011-09-02  Bruno Haible  <bruno@clisp.org>

	tests: init.sh: Support any non-GNU diff.
	* tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
	not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
	Solaris 8.

2011-09-02  Bruno Haible  <bruno@clisp.org>

	tests: init.sh: work also with any non-GNU diff that supports -u
	* tests/init.sh: Relax check for diff -u support.
	Rather than checking for GNU diff via --version, simply check
	for support for -u itself.  Useful at least on OpenBSD 4.9,
	AIX 7.1, IRIX 6.5, and Solaris 10.

2011-09-01  Bruno Haible  <bruno@clisp.org>

	strtoimax, strtoumax: Document problem on HP-UX 11.
	* doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
	* doc/posix-functions/strtoumax.texi: Likewise.

2011-09-01  Bruno Haible  <bruno@clisp.org>

	strtoumax: Avoid link error on OSF/1 with DTK cc.
	* m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
	defined as a function.
	* modules/strtoumax (Depends-on, configure.ac): Test only whether
	strtoumax is defined, not whether it is declared.

2011-09-01  Bruno Haible  <bruno@clisp.org>

	strtoimax: Avoid link error on OSF/1 with DTK cc.
	* m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
	defined as a function.
	* modules/strtoimax (Depends-on, configure.ac): Test only whether
	strtoimax is defined, not whether it is declared.

2011-09-01  Bruno Haible  <bruno@clisp.org>

	imaxdiv: Avoid link error on OSF/1 with DTK cc.
	* m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
	as a function.
	* modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
	whether it is declared.

2011-09-01  Bruno Haible  <bruno@clisp.org>

	imaxabs: Avoid link error on OSF/1 with DTK cc.
	* m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
	as a function.
	* modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
	whether it is declared.

2011-09-01  Bruno Haible  <bruno@clisp.org>

	Tests for module 'strtoumax'.
	* modules/strtoumax-tests: New file.
	* tests/test-strtoumax.c: New file.

	Tests for module 'strtoimax'.
	* modules/strtoimax-tests: New file.
	* tests/test-strtoimax.c: New file.

	Tests for module 'imaxdiv'.
	* modules/imaxdiv-tests: New file.
	* tests/test-imaxdiv.c: New file.

	Tests for module 'imaxabs'.
	* modules/imaxabs-tests: New file.
	* tests/test-imaxabs.c: New file.

2011-09-01  Bruno Haible  <bruno@clisp.org>

	pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
	* m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
	pthread_create.

2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>

	openat: work around AIX 7.1 fstatat issue
	This should fix the problem that was not properly fixed
	in the previous change, dated 2011-08-30.
	* lib/fstatat.c: Include <sys/stat.h> twice, the first with
	__need_system_stat_h defined.
	(orig_fstatat) [HAVE_FSTATAT]: New function.
	(rpl_fstatat): Go back to the old way of doing things,
	except call orig_fstatat instead of fstatat.
	* m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
	Remove unnecessary check whether fstatat fills in st_size etc.

2011-09-01  Bruno Haible  <bruno@clisp.org>

	sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
	* lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
	just include the system's header.

2011-08-31  Jim Meyering  <meyering@redhat.com>

	tests: avoid spurious assertion failure in test-float.c on ppc64
	* tests/test-float.c (test_long_double): Comment out an assertion,
	LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
	with gcc-4.4.4.

	maint: indent with spaces, not TABs
	I need to get in the habit of running gnulib's "make check".
	Both of these would have been caught.
	* m4/largefile.m4: Indent with spaces, not TABs.
	* lib/parse-datetime.y (iso_8601_time): Likewise.
	Spotted by Pádraig Brady.

	test-parse-datetime.c: accommodate a relatively strict gcc warning
	* tests/test-parse-datetime.c (gmt_offset): Declare function "static",
	to avoid a warning from gcc's -Werror=missing-declarations.
	Insert a few spaces-before-funcall-parenthesis.

2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>

	parse-datetime: accept ISO 8601 date and time rep with "T" separator
	The parser now accepts ISO 8601 date-time strings with "T" as the
	separator.  It has long parsed dates like "2004-02-29 16:21:42"
	with a space between the date and time strings.  Now it also parses
	"2004-02-29T16:21:42" and fractional-second and time-zone-annotated
	variants like "2004-02-29T16:21:42.333-07:00"
	* lib/parse-datetime.y: Parse ISO 8601 extended date and time
	of day representation using the 'T' separator character.
	* doc/parse-datetime.texi (General date syntax): replace use of
	deprecated --iso-8601 option with --rfc-3339 in example of date
	command output formats that can be parsed.
	* tests/test-parse-datetime.c (tm_diff): New function, taken from
	lib/parse-datetime.y.
	(gmt_offset): New function.
	(main): Add additional test cases to validate ISO8601 extended
	date and time of day parsing.

2011-08-31  Bruno Haible  <bruno@clisp.org>

	freopen: Documentation.
	* doc/posix-functions/freopen.texi: Document the bug with the NULL file
	name.
	Reported by Claudio Bley <claudio.bley@gmail.com>.

2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)

	freopen: Don't crash if the filename argument is NULL.
	* lib/freopen.c (rpl_freopen): Don't compare the filename if it is
	NULL.

2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	openat: work around AIX 7.1 fstatat bug
	Problem reported by Kevin Brott for GNU tar, in the thread containing
	<http://lists.gnu.org/r/bug-tar/2011-08/msg00015.html>.
	* lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
	FSTATAT_ST_SIZE_ETC_BROKEN.
	(fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
	rpl_fstatat.
	* m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
	part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
	AC_CHECK_FUNCS_ONCE for fstatat.
	(gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
	fchmodat, mkdirat, openat and unlinkat.

2011-08-30  Bruno Haible  <bruno@clisp.org>

	Avoid endless recursions if config.h includes some header files.
	* lib/fopen.c (__need_FILE): Define already before including config.h.
	* lib/freopen.c (__need_FILE): Likewise.
	* lib/open.c (__need_system_fcntl_h): Likewise.
	* lib/stat.c (__need_system_sys_stat_h): Likewise.
	* lib/lstat.c (__need_system_sys_stat_h): Likewise.
	Reported by Michael Goffioul <michael.goffioul@gmail.com>.

2011-08-25  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (ylwrap): new try.
	* build-aux/ylwrap: new file.

2011-08-23  Bruno Haible  <bruno@clisp.org>

	tmpdir: Use a good default directory on native Windows.
	* lib/tmpdir.c: Include <windows.h>, pathmax.h.
	(P_tmpdir): Default to _P_tmpdir on native Windows.
	(path_search): On native Windows, try the value returned by GetTempPath
	before trying P_tmpdir.
	* modules/tmpdir (Depends-on): Add pathmax.
	Suggested by John Darrington <john@darrington.wattle.id.au>.

2011-08-20  Reuben Thomas  <rrt@sc3d.org>

	doc: fix typo in README-release
	* top/README-release: Capitalize first word of a sentence.

2011-08-19  Jim Meyering  <meyering@redhat.com>

	fts: do not exhaust memory when processing million-entry directories
	Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
	directory would require about 256*N bytes of memory.  Thus, it was
	easy to construct a directory too large to be processed by any of
	those tools.  With this change, fts' maximum memory utilization is
	now limited to around 30MB.
	* lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
	(fts_read): When we've processed the final entry (i.e., when
	->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
	using the parent entry to read any remaining entries.  Dispatch
	depending on what fts_build returns:
	- NULL+stop, aka failure: stop
	- NULL otherwise: move up in the dir hierarchy
	- non-NULL: handle this new entry
	(fts_build): Declare and use new local, continue_readdir.
	Prepare to be called from fts_read, when the entries
	from a partially-read directory have just been exhausted.
	In that case, we'll skip the opendir and instead use the parent's
	fts_dirp and derive dir_fd from that.
	Finally, in the readdir loop, if we read max_entries entries,
	exit the loop ensuring *not* to call closedir.  This is required
	so that fts_dirp can be reused on a subsequent call.
	Prompted by Ben England's report of memory exhaustion in find
	and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.

	maint: fts: move decl of `dp' down into while loop; split a long line
	* lib/fts.c (fts_build): No semantic change.

	fts: add/use new struct member, fts_dirp
	We are about to use this to manage any directory with
	too many entries to read all of them into memory at once.
	To do that, we'll need to save the DIR* pointer in each
	affected FTSENT struct.
	* lib/fts_.h: Include <dirent.h>.
	(struct FTSENT) [fts_dirp]: New member.
	* lib/fts.c (closedir_and_clear): Define.
	Use it in place of closedir so that we are sure to
	clear the new fts_dirp member when done with it.
	(fts_alloc): Initialize the new member.
	(fts_lfree): Free, if needed.

	maint: fts: give __opendir2 a new parameter and rename
	* lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
	than surreptitiously using sole caller's "dir_fd".
	(fts_opendir): Rename from __opendir2.

	maint: fts.c: remove __opendir2's now-unused parameter, oflag
	* lib/fts.c (__opendir2): Remove unused parameter, oflag.

	maint: fts.c: correct off-by-one indentation
	* lib/fts.c (fts_build): Correct indentation, change style
	of a couple of block comments, and bracing style.

	maint: fts.c: move __opendir2 #define "up" out of function body
	* lib/fts.c (__opendir2): Move "up".  No semantic change.

	maint: fts.c: remove #if-0'd FTS_WHITEOUT code
	* lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
	out for a long time and besides was useful only on BSD systems.

2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>

	regex: port to Stratus OpenVOS
	* lib/regex_internal.h (internal_function) [!_LIBC]: Simply
	define to empty, rather than attempting nonportable optimizations.
	Problem reported by Paul Green in:
	http://lists.gnu.org/r/bug-diffutils/2011-08/msg00047.html
	and fix suggested by Eric Blake in:
	http://lists.gnu.org/r/bug-gnulib/2011-08/msg00143.html

2011-08-17  Eric Blake  <eblake@redhat.com>

	getcwd: fix test failures on mingw
	* lib/getcwd.c (__getcwd): Early exit for ERANGE.
	* tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
	test if long directory cannot be created, and allow mingw errno.

	getcwd-lgpl: fix m4 to match relaxed test for BSD
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
	(gl_FUNC_GETCWD_SIGNATURE): New macro.
	(gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
	* doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
	signature problem.

	getcwd: fix compilation on mingw64
	* lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
	getcwd.
	Reported by Marc-André Lureau.

	pipe2: silence compiler warning
	* lib/pipe2.c (pipe2): Hide label if it is not used.

2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>

	relocatable-prog: fix link error
	* modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
	invoke AC_LIBOBJ([relocatable]).  This invocation was previously
	in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
	into modules/relocatable-lib without noticing that
	modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
	also needs to build relocatable.c.

2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	getaddrinfo: fix sh typo in gai_strerrorA decl checking
	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
	shell code: it contained a 'break' that was not in a loop.
	Apparently the macro assumed that AC_CHECK_DECLS is implemenented
	via a shell-language loop; this may have been true in old Autoconf
	versions, but it's not true in Autoconf 2.68.  I found this bug
	when testing coreutils git on Solaris 8, whose shell complains
	about the syntax error.

2011-08-12  Simon Josefsson  <simon@josefsson.org>

	* lib/base64.c: Fix comment to reference RFC 4648.
	Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
	<gvtulder@gmail.com>.

2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	* build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.

	po/Makefile.in.in: fix make -q problem
	* build-aux/po/Makefile.in.in (check-macro-version): Remove this
	rule, since there's no file named 'check-macro-version' and its
	use as a file breaks make -q.
	(all): Don't depend on check-macro-version.
	(CHECK_MACRO_VERSION): New macro.
	(stamp-po): Use it.

	configmake: fix make -q problem
	* modules/configmake (configmake.h): Update configmake.h's time stamp
	even if the file does not change.  Otherwise, 'make -q' fails.
	Problem reported by Simon Josefsson in
	<http://lists.gnu.org/r/bug-gnulib/2011-08/msg00088.html>.

2011-08-11  Jim Meyering  <meyering@redhat.com>

	git-version-gen: correct the advice in a comment
	* build-aux/git-version-gen: Correct comment.
	Don't recommend to list .tarball-version in .gitignore.

2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>

	base64: fix off-by-one buffer size bug
	Problem and (trivial) fix reported by Gijs van Tulder in
	<http://lists.gnu.org/r/bug-gnulib/2011-08/msg00083.html>.
	* lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
	* tests/test-base64.c (main): Catch the bug.

2011-08-10  Eric Blake  <eblake@redhat.com>

	closein: correct comments
	* lib/closein.c (close_stdin): Improve comments.

2011-08-09  Bruno Haible  <bruno@clisp.org>

	More tests for 'fseeko'.
	* tests/test-fseeko3.c: New file, from Eric Blake.
	* tests/test-fseeko3.sh: New file.
	* modules/fseeko-tests (Files): Add them.
	(TESTS): Add test-fseeko3.sh.
	(check_PROGRAMS): Add test-fseeko3.

2011-08-09  Eric Blake  <eblake@redhat.com>

	fseeko: remove unneeded hack
	* lib/fseeko.c (fseeko): Don't special-case SEEK_END.

	fseeko: fix bug on glibc
	* lib/fseeko.c (fseeko): Set stream offset to match fd offset.
	Reported by John W. Eaton.

2011-08-08  Bruno Haible  <bruno@clisp.org>

	unictype/base: Fix interoperability with preinstalled libunistring.
	* modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
	Reported by Simon Josefsson.

2011-08-08  Bruno Haible  <bruno@clisp.org>

	iswblank: Detect declaration correctly.
	* m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
	AC_CHECK_DECLS invocation.

2011-08-08  Bruno Haible  <bruno@clisp.org>

	tcgetsid: Detect declaration correctly.
	* m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
	AC_CHECK_DECLS invocation.
	Reported by Simon Josefsson.

2011-08-08  Eric Blake  <eblake@redhat.com>

	largefile: fix typo that regressed large file support
	* modules/largefile (configure.ac-early): Fix section name.

2011-08-06  Karl Berry  <karl@gnu.org>

	* MODULES.html.sh (func_all_files): _Noreturn is no longer
	a separate module.

2011-08-05  Simon Josefsson  <simon@josefsson.org>

	openat: Fix warnings and commens when building unlinkat.c on Hurd.
	* lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
	get prototype for free.

2011-08-04  Bruno Haible  <bruno@clisp.org>

	Tests for module 'pathmax'.
	* modules/pathmax-tests: New file.
	* tests/test-pathmax.c: New file.

	canonicalize-lgpl: Support larger filenames on the Hurd.
	* lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
	Reported by Paul Eggert.

	pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
	* lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
	* lib/chdir-long.h: Include pathmax.h.
	* lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
	* lib/getcwd.c: Include pathmax.h instead of <limits.h>.
	(PATH_MAX): Remove code that is done by pathmax.h.
	* lib/canonicalize.c (PATH_MAX): Provide a fallback value.
	* lib/tmpfile.c: Add a comment.
	* m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
	* modules/chdir-long (Depends-on): Add pathmax.
	* modules/getcwd (Depends-on): Add pathmax.
	* tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
	is not defined.
	* doc/posix-headers/limits.texi: Mention the pathmax module.
	* NEWS: Mention the change.

2011-08-02  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Actually use results of gl_THREADLIB.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
	gl_THREADLIB, not gl_[]THREADLIB.
	Reported by Eric Blake.

2011-08-02  Jim Meyering  <meyering@redhat.com>

	maint.mk: relax the default _gl_TS_function_match regexp
	* top/maint.mk (_gl_TS_function_match): Don't require at least one
	space between function name and "(" in an "extern" declaration.
	That would fail to match a decl with no space there: extern void foo();

2011-07-31  Iain Nicol  <iain@thenicols.net>

	git-version-gen: document that EXTRA_DIST must include .version
	* build-aux/git-version-gen: In the how-to-use comment, document
	that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
	will fail when run from an unpacked distribution tarball.

2011-08-01  Bruno Haible  <bruno@clisp.org>

	wctype-h: Fix last change.
	* m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
	REPLACE_TOWLOWER to 0.
	Reported by Sam Steingold <sds@gnu.org>.

2011-07-31  Bruno Haible  <bruno@clisp.org>

	frexpl: Update autoconf test.
	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
	according to changes of 2011-06-20.

2011-07-31  Bruno Haible  <bruno@clisp.org>

	sys_utsname: Add support for Minix.
	* lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
	<sys/utsname.h>.
	* m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
	* doc/posix-headers/sys_utsname.texi: Document the Minix problem.

2011-07-31  Bruno Haible  <bruno@clisp.org>

	strings: Add support for Minix.
	* lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
	* m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
	* doc/posix-headers/strings.texi: Document the Minix problem.

2011-07-31  Bruno Haible  <bruno@clisp.org>

	wctype-h: Add support for Minix.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
	REPLACE_TOWLOWER.
	* modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
	* lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
	REPLACE_ISWCNTRL.

2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
	This is a performance improvement for 64-bit hosts: it causes the
	value of DEFAULT_MXFAST to track what's in glibc on such hosts.

2011-07-31  Bruno Haible  <bruno@clisp.org>

	stdioext: Add support for Minix.
	* lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
	* lib/fpurge.c (fpurge): Likewise.
	* lib/freadahead.c (freadahead): Likewise.
	* lib/freadable.c (freadable): Likewise.
	* lib/freading.c (freading): Likewise.
	* lib/freadptr.c (freadptr): Likewise.
	* lib/freadseek.c (freadptrinc): Likewise.
	* lib/fseeko.c (rpl_fseeko): Likewise.
	* lib/fseterr.c (fseterr): Likewise.
	* lib/fwritable.c (fwritable): Likewise.
	* lib/fwriting.c (fwriting): Likewise.
	* lib/fflush.c (clear_ungetc_buffer): Update comment.
	* m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.

2011-07-31  Bruno Haible  <bruno@clisp.org>

	errno: Port to Minix.
	* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
	ECONNABORTED are defined.
	* lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
	GNULIB_defined_ECONNABORTED): New macros.
	* lib/strerror-override.h (strerror_override): Test also
	GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
	* lib/strerror-override.c (strerror_override): Handle also ENETRESET,
	ECONNABORTED.
	* doc/posix-headers/errno.texi: Mention the Minix problem.

2011-07-31  Bruno Haible  <bruno@clisp.org>

	Work around declaration collisions on Minix.
	* m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
	defined, set REPLACE_MBSINIT.
	* m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
	defined, set REPLACE_MBRTOWC.
	* m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
	set REPLACE_MBRLEN.
	* m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
	defined, set REPLACE_MBSRTOWCS.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
	defined, set REPLACE_WCRTOMB.
	* m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
	defined, set REPLACE_WCSRTOMBS.

2011-07-31  Bruno Haible  <bruno@clisp.org>

	Add support for Minix with ACK compiler.
	* m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
	* gnulib-tool (func_import, func_create_testdir): Emit invocation of
	gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.

2011-07-31  Bruno Haible  <bruno@clisp.org>

	Documentation about Minix.
	* doc/posix-headers/*.texi: Add info about Minix 3.1.8.
	* doc/glibc-headers/*.texi: Likewise.
	* doc/posix-functions/*.texi: Likewise.
	* doc/glibc-functions/*.texi: Likewise.

2011-07-31  Bruno Haible  <bruno@clisp.org>

	snippet/warn-on-use: Fix indentation.
	* m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.

2011-07-25  Jim Meyering  <meyering@redhat.com>

	tests: test-update-copyright.sh: remove unnecessary "rm" commands
	* tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
	commands.

2011-07-27  Jim Meyering  <meyering@redhat.com>

	maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
	* top/maint.mk (gl_extract_significant_defines_): Now that
	SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
	gnulib/lib/signal.in.h, and now that we recommend to
	define-if-undefined those two symbols in application code,
	we must filter them out of the "significant" list.
	This avoids a "make syntax-check" failure in coreutils.

2011-07-26  Eric Blake  <eblake@redhat.com>

	warnings: add comments about previous patch
	* m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
	* m4/include_next.m4: Likewise.
	* m4/warn-on-use.m4: Likewise.
	* m4/warnings.m4: Likewise, and simplify use.
	Suggested by Stefano Lattarini.

	include-next, warnings: support older autoconf
	* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
	AS_VAR_PUSHDEF in a way that works with older autoconf.
	* m4/warnings.m4 (gl_WARN_ADD): Likewise.
	Reported by Daniel P. Berrange.

2011-07-25  Bruno Haible  <bruno@clisp.org>

	fseek, ftell: Fix doc.
	* doc/posix-functions/fseek.texi: Reword statement about
	AC_SYS_LARGEFILE.
	* doc/posix-functions/ftell.texi: Likewise.

2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	Add dependencies to the 'largefile' module.
	* modules/fopen (Depends-on): Add 'largefile'.
	* modules/freopen (Depends-on): Likewise.
	* modules/fseeko (Depends-on): Likewise.
	* modules/ftello (Depends-on): Likewise.
	* modules/glob (Depends-on): Likewise.
	* modules/lseek (Depends-on): Likewise.
	* modules/lstat (Depends-on): Likewise.
	* modules/mkostemp (Depends-on): Likewise.
	* modules/mkostemps (Depends-on): Likewise.
	* modules/mkstemp (Depends-on): Likewise.
	* modules/mkstemps (Depends-on): Likewise.
	* modules/open (Depends-on): Likewise.
	* modules/openat (Depends-on): Likewise.
	* modules/pread (Depends-on): Likewise.
	* modules/pwrite (Depends-on): Likewise.
	* modules/scandir (Depends-on): Likewise.
	* modules/stat (Depends-on): Likewise.
	* modules/tmpfile (Depends-on): Likewise.
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
	since the containing module now depends on the largefile module.
	* m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
	* doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
	off_t is fixed by gnulib.
	* doc/posix-functions/freopen.texi: Likewise.
	* doc/posix-functions/fseeko.texi: Likewise.
	* doc/posix-functions/fstatat.texi: Likewise.
	* doc/posix-functions/ftello.texi: Likewise.
	* doc/posix-functions/glob.texi: Likewise.
	* doc/posix-functions/lseek.texi: Likewise.
	* doc/posix-functions/lstat.texi: Likewise.
	* doc/posix-functions/mkstemp.texi: Likewise.
	* doc/posix-functions/open.texi: Likewise.
	* doc/posix-functions/openat.texi: Likewise.
	* doc/posix-functions/pread.texi: Likewise.
	* doc/posix-functions/pwrite.texi: Likewise.
	* doc/posix-functions/scandir.texi: Likewise.
	* doc/posix-functions/stat.texi: Likewise.
	* doc/posix-functions/tmpfile.texi: Likewise.
	* doc/glibc-functions/mkostemp.texi: Likewise.
	* doc/glibc-functions/mkostemps.texi: Likewise.
	* doc/glibc-functions/mkstemps.texi: Likewise.

2011-07-25  Bruno Haible  <bruno@clisp.org>

	fcntl: Move AC_LIBOBJ invocation to module description.
	* m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
	* modules/fcntl (configure.ac): Invoke AC_LIBOBJ.

	fcntl: Remove call-in from fchdir.m4.
	* m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.

	dup3: Remove potential call-in from fchdir.m4.
	* m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.

	dup2: Move AC_LIBOBJ invocation to module description.
	* m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
	(gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
	Don't invoke AC_LIBOBJ.
	* modules/dup2 (configure.ac): Invoke AC_LIBOBJ.

	dup2: Remove call-in from fchdir.m4.
	* m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.

	fclose: Move AC_LIBOBJ invocation to module description.
	* m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
	(gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
	to 1.
	* modules/fclose (configure.ac): Invoke AC_LIBOBJ.

	fclose: Remove call-in from close.m4.
	* m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
	* m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.

	close: Move AC_LIBOBJ invocation to module description.
	* m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
	(gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
	1.
	* modules/close (configure.ac): Invoke AC_LIBOBJ.

	close: Remove call-in from fchdir.m4.
	* m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.

	open: Move AC_LIBOBJ invocation to module description.
	* m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
	(gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
	* modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.

	open: Remove call-in from fchdir.m4.
	* m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.

	fchdir: Start to remove gl_REPLACE_* idiom.
	* m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
	(gl_FUNC_FCHDIR): Invoke it.

2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/ftell.c (ftell): Comment out cast.

	close: use gl_REPLACE_FCLOSE only if defined
	* m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
	is defined.  The close module doesn't depend on the fclose module
	any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
	<http://lists.gnu.org/r/bug-gnulib/2011-07/msg00392.html>.
	I reproduced the problem with "./gnulib-tool --test close sys_socket".

2011-07-24  Jim Meyering  <meyering@redhat.com>

	test-select.h: avoid warning when using gcc's -Wmissing-declarations
	* tests/test-select.h (test_function): Declare as "static".

2011-07-24  Bruno Haible  <bruno@clisp.org>

	doc: Mention the effects of AC_SYS_LARGEFILE.
	* doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
	on this function.
	* doc/posix-functions/aio_error.texi: Likewise.
	* doc/posix-functions/aio_fsync.texi: Likewise.
	* doc/posix-functions/aio_read.texi: Likewise.
	* doc/posix-functions/aio_return.texi: Likewise.
	* doc/posix-functions/aio_suspend.texi: Likewise.
	* doc/posix-functions/aio_write.texi: Likewise.
	* doc/posix-functions/fgetpos.texi: Likewise.
	* doc/posix-functions/fopen.texi: Likewise.
	* doc/posix-functions/freopen.texi: Likewise.
	* doc/posix-functions/fsetpos.texi: Likewise.
	* doc/posix-functions/fstatvfs.texi: Likewise.
	* doc/posix-functions/ftruncate.texi: Likewise.
	* doc/posix-functions/ftw.texi: Likewise.
	* doc/posix-functions/getrlimit.texi: Likewise.
	* doc/posix-functions/glob.texi: Likewise.
	* doc/posix-functions/lio_listio.texi: Likewise.
	* doc/posix-functions/lockf.texi: Likewise.
	* doc/posix-functions/mkstemp.texi: Likewise.
	* doc/posix-functions/mmap.texi: Likewise.
	* doc/posix-functions/nftw.texi: Likewise.
	* doc/posix-functions/openat.texi: Likewise.
	* doc/posix-functions/opendir.texi: Likewise.
	* doc/posix-functions/posix_fadvise.texi: Likewise.
	* doc/posix-functions/posix_fallocate.texi: Likewise.
	* doc/posix-functions/pread.texi: Likewise.
	* doc/posix-functions/pwrite.texi: Likewise.
	* doc/posix-functions/readdir.texi: Likewise.
	* doc/posix-functions/readdir_r.texi: Likewise.
	* doc/posix-functions/rewinddir.texi: Likewise.
	* doc/posix-functions/scandir.texi: Likewise.
	* doc/posix-functions/seekdir.texi: Likewise.
	* doc/posix-functions/setrlimit.texi: Likewise.
	* doc/posix-functions/statvfs.texi: Likewise.
	* doc/posix-functions/telldir.texi: Likewise.
	* doc/posix-functions/tmpfile.texi: Likewise.
	* doc/posix-functions/truncate.texi: Likewise.
	* doc/glibc-functions/fallocate.texi: Likewise.
	* doc/glibc-functions/fstatfs.texi: Likewise.
	* doc/glibc-functions/fts_children.texi: Likewise.
	* doc/glibc-functions/fts_read.texi: Likewise.
	* doc/glibc-functions/getdirentries.texi: Likewise.
	* doc/glibc-functions/mkostemp.texi: Likewise.
	* doc/glibc-functions/mkostemps.texi: Likewise.
	* doc/glibc-functions/mkstemps.texi: Likewise.
	* doc/glibc-functions/preadv.texi: Likewise.
	* doc/glibc-functions/pwritev.texi: Likewise.
	* doc/glibc-functions/sendfile.texi: Likewise.
	* doc/glibc-functions/statfs.texi: Likewise.

2011-07-24  Bruno Haible  <bruno@clisp.org>

	doc: Fix typo.
	* doc/posix-functions/fstat.texi: Talk about fstat, not stat.

2011-07-24  Bruno Haible  <bruno@clisp.org>

	doc: Mention fsusage.
	* doc/posix-functions/statvfs.texi: Mention the fsusage module.

2011-07-24  Bruno Haible  <bruno@clisp.org>

	doc: Mention new glibc headers and functions.
	* doc/glibc-headers/gshadow.texi: New file.
	* doc/glibc-functions/endsgent.texi: New file.
	* doc/glibc-functions/fgetsgent.texi: New file.
	* doc/glibc-functions/fgetsgent_r.texi: New file.
	* doc/glibc-functions/getsgent.texi: New file.
	* doc/glibc-functions/getsgent_r.texi: New file.
	* doc/glibc-functions/getsgnam.texi: New file.
	* doc/glibc-functions/getsgnam_r.texi: New file.
	* doc/glibc-functions/putsgent.texi: New file.
	* doc/glibc-functions/setsgent.texi: New file.
	* doc/glibc-functions/sgetsgent.texi: New file.
	* doc/glibc-functions/sgetsgent_r.texi: New file.
	* doc/glibc-functions/malloc_info.texi: New file.
	* doc/glibc-functions/preadv.texi: New file.
	* doc/glibc-functions/pwritev.texi: New file.
	* doc/glibc-functions/register_printf_modifier.texi: New file.
	* doc/glibc-functions/register_printf_specifier.texi: New file.
	* doc/glibc-functions/register_printf_type.texi: New file.
	* doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
	* doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
	* doc/glibc-functions/pthread_getaffinity_np.texi: New file.
	* doc/glibc-functions/pthread_getname_np.texi: New file.
	* doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
	* doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
	* doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
	* doc/glibc-functions/pthread_setaffinity_np.texi: New file.
	* doc/glibc-functions/pthread_setname_np.texi: New file.
	* doc/glibc-functions/pthread_sigqueue.texi: New file.
	* doc/glibc-functions/pthread_timedjoin_np.texi: New file.
	* doc/glibc-functions/pthread_tryjoin_np.texi: New file.
	* doc/glibc-functions/qsort_r.texi: New file.
	* doc/glibc-functions/quick_exit.texi: New file.
	* doc/glibc-functions/syncfs.texi: New file.
	* doc/gnulib.texi: Include them.
	(Glibc gshadow.h, Glibc sys/uio.h): New sections.
	* doc/posix-functions/psiginfo.texi: Fix info about glibc version.
	* doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
	* doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
	* doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
	* doc/glibc-functions/execvpe.texi: Likewise.

2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	ftell: don't include <unistd.h>
	* lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
	guaranteed to define off_t, and the ftell module depends on the
	stdio module.

	ftell: do not assume wraparound signed arithmetic
	* lib/ftell.c: Include <limits.h>.
	(ftell): Don't assume wraparound signed arithmetic.

2011-07-24  Bruno Haible  <bruno@clisp.org>

	close: No longer depend on module 'fclose'.
	* modules/close (Depends-on): Remove fclose.
	* NEWS: Mention the change.
	Suggested by Sam Steingold <sds@gnu.org>.

2011-07-24  Bruno Haible  <bruno@clisp.org>

	fsusage: Enable large volume support on AIX >= 5.2.
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
	larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
	instead of STAT_STATVFS.
	* lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.

	fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
	f_blocks field only on MacOS X.

	fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
	* modules/fsusage (Depends-on): Add largefile.

2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	* README: Modernize discussion of signed integers.
	Assuming overflow wraparound is no longer safe.
	Mention ones' complement and signed magnitude.

2011-07-22  Bruno Haible  <bruno@clisp.org>

	select tests, pselect tests: Refactor.
	* tests/test-select.h: New file, extracted from tests/test-select.c.
	(select_fn): New type.
	(test, do_select, do_select_nowait, do_select_wait, test_tty,
	test_connect_first, test_accept_first, test_pair, test_socket_pair,
	test_pipe): Add my_select argument.
	(test_function): Renamed from main. Add my_select argument.
	* tests/test-select.c: Move most code to tests/test-select.h. Include
	test-select.h.
	* modules/select-tests (Files): Add tests/test-select.h.
	* tests/test-pselect.c: Include test-select.h instead of test-select.c.
	(my_select, main): New functions.
	* modules/pselect-tests (Files): Add tests/test-select.h,
	tests/macros.h, tests/signature.h.
	(Depends-on): Remove select-tests. Add dependencies of test-select.h.
	(configure.ac): Check for <sys/wait.h>.

2011-07-22  Bruno Haible  <bruno@clisp.org>

	sys_select tests: Check the signature of FD_*.
	* tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
	signature tests from here...
	* tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
	here.
	* modules/sys_select-tests (Files): Add tests/signature.h.

2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>

	largefile: new module, replacing large-inode
	Pádraig Brady suggested this in	<http://debbugs.gnu.org/9140#20>.
	* MODULES.html.sh: Add largefile, remove large-inode.
	* modules/largefile, m4/largefile.m4: New files.
	* modules/large-inode, m4/large-inode.m4: Remove.

	fsusage: port to MacOS X 10.7 with 4 TiB file systems
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
	implementations that use only 32 bits to count blocks.
	On typical hosts with 1024-byte blocks, this fails with file
	systems as small as 4 TiB.  Problem reported by Herb Wartens
	<http://debbugs.gnu.org/9140> and this should also fix a similar
	problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.

	large-inode: New module
	* MODULES.html.sh: Add it.
	* modules/large-inode, m4/large-inode.m4: New files.

	extensions: Enable extensions on MacOS X 10.5 and later.
	* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.

2011-07-22  Kamil Dudka  <kdudka@redhat.com>

	file-has-acl: use acl_extended_file_nofollow if available
	* lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
	(acl_extended_file): New macro.
	* lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
	* m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.

2011-07-21  Bruno Haible  <bruno@clisp.org>

	Declare system functions in a way that works with C++.
	* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
	declare fdopendir as extern "C".
	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
	declare frexpl as extern "C".
	* m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
	declare gai_strerror as extern "C".
	* m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
	programs, declare gai_strerror as extern "C".
	* m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
	declare getlogin_r as extern "C".
	* m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
	as extern "C".
	* m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
	declare ldexpl as extern "C".
	* m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
	as extern "C".
	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
	program, declare getmntinfo as extern "C".
	* m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
	stpncpy as extern "C".
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
	program, declare __xpg_strerror_r as extern "C".
	* m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
	strndup as extern "C".
	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
	declare memset and bzero as extern "C".
	Reported by Sam Steingold <sds@gnu.org>.

2011-07-12  Jim Meyering  <meyering@redhat.com>

	maint.mk: prohibit inclusion of "verify.h" without use
	* top/maint.mk (sc_prohibit_verify_without_use): New rule.

2011-07-19  Pádraig Brady  <P@draigBrady.com>

	timer-time: A new module to check for timer_settime()
	* m4/timer_time.m4: Check for the posix function.
	* modules/timer-time: Add the new module.
	* MODULES.html.sh (Compat checks for POSIX:2008 functions):
	Mention it.

2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: assume POSIX threads if --avoid=threadlib
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
	not defined, assume POSIX threads and look for pthread_sigmask in
	$LIBS, without changing $CPPFLAGS.

2011-07-19  Bruno Haible  <bruno@clisp.org>

	strstr: Update cross-compilation guess.
	* m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
	CPUs, guess no, in view of glibc
	BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
	Suggested by Eric Blake. Reported by Reuben Thomas.

2011-07-19  Pádraig Brady  <P@draigBrady.com>

	getopt-gnu: suppress core dumps from detection code
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
	to suppress core dumps that may well occur on glibc systems.
	* modules/getopt-gnu: Depend on nocrash.

2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>

	pthread_sigmask: ensure usleep is declared
	* lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
	Include <unistd.h>, to declare usleep.  Needed on Solaris 8,

2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>

	doc: Document NonStop portability issues.
	* doc/posix-functions/sigaction.texi (sigaction):
	* doc/posix-headers/signal.texi (signal.h):
	Document NonStop.  See Joachim Schmitz in
	http://lists.gnu.org/r/bug-coreutils/2011-07/msg00062.html

2011-07-15  Bruno Haible  <bruno@clisp.org>

	ffsl, ffsll: Avoid unportable behaviour.
	* lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.

2011-07-15  Bruno Haible  <bruno@clisp.org>

	ffs: More tests.
	* tests/test-ffs.c (NBITS): New macro.
	(main): Add more tests.
	* tests/test-ffsl.c (NBITS): New macro.
	(main): Add more tests.
	* tests/test-ffsll.c (NBITS): New macro.
	(main): Add more tests.

2011-07-15  Eric Blake  <eblake@redhat.com>

	ffsl, ffsll: new modules
	* modules/ffsl: New file.
	* modules/ffsll: Likewise.
	* m4/ffsl.m4: Likewise.
	* m4/ffsll.m4: Likewise.
	* lib/ffsl.c: Likewise.
	* lib/ffsl.h: Likewise.
	* lib/ffsll.c: Likewise.
	* m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
	(gl_HEADER_STRING_H_DEFAULTS): Add defaults.
	* modules/string (Makefile.am): Substitute witnesses.
	* lib/strings.in.h (ffsl, ffsll): Declare.
	* modules/ffsl-tests: New test file.
	* modules/ffsll-tests: Likewise.
	* tests/test-ffsl.c: Likewise.
	* tests/test-ffsll.c: Likewise.
	* MODULES.html.sh (Integer arithmetic functions): Mention it.
	* doc/glibc-functions/ffsl.texi (ffsl): Likewise.
	* doc/glibc-functions/ffsll.texi (ffsll): Likewise.

	ffs: fix m4 prerequisite
	* m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.

	ffs: avoid undefined behavior
	* lib/ffs.c (ffs): Provide fallback for non-32-bit int.
	* tests/test-ffs.c (naive, main): Avoid signed shifts.
	Reported by Bruno Haible.

2011-07-12  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Rely on module 'threadlib'.
	* modules/pthread_sigmask (Depends-on): Add threadlib.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
	is defined.

2011-07-12  Bruno Haible  <bruno@clisp.org>

	regex: Depend on module 'strcase'.
	* modules/regex (Depends-on): Add strcase, for strcasecmp().

2011-07-12  Jim Meyering  <meyering@redhat.com>

	warn-on-use: fix typo in file name
	* modules/snippet/warn-on-use (Files): Correct file name:
	include /snippet/ component in "build-aux/snippet/warn-on-use.h".

2011-07-12  Bruno Haible  <bruno@clisp.org>

	strings: Document module.
	* doc/posix-headers/strings.texi: Mention module 'strings'.

2011-07-12  Bruno Haible  <bruno@clisp.org>

	Rename module '_Noreturn' to 'snippet/_Noreturn'.
	* modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
	(Files, Makefile.am): Update.
	* build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
	* modules/stdlib (Depends-on): Update.

2011-07-12  Bruno Haible  <bruno@clisp.org>

	* NEWS: Mention the changes.

	Rename module 'warn-on-use' to 'snippet/warn-on-use'.
	* modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
	(Files, Makefile.am): Update.
	* build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
	* modules/arpa_inet (Depends-on): Update.
	* modules/ctype (Depends-on): Update.
	* modules/dirent (Depends-on): Update.
	* modules/fcntl-h (Depends-on): Update.
	* modules/glob (Depends-on): Update.
	* modules/iconv-h (Depends-on): Update.
	* modules/inttypes-incomplete (Depends-on): Update.
	* modules/langinfo (Depends-on): Update.
	* modules/locale (Depends-on): Update.
	* modules/math (Depends-on): Update.
	* modules/netdb (Depends-on): Update.
	* modules/poll-h (Depends-on): Update.
	* modules/pty (Depends-on): Update.
	* modules/search (Depends-on): Update.
	* modules/signal (Depends-on): Update.
	* modules/spawn (Depends-on): Update.
	* modules/stdio (Depends-on): Update.
	* modules/stdlib (Depends-on): Update.
	* modules/string (Depends-on): Update.
	* modules/strings (Depends-on): Update.
	* modules/sys_file (Depends-on): Update.
	* modules/sys_ioctl (Depends-on): Update.
	* modules/sys_select (Depends-on): Update.
	* modules/sys_socket (Depends-on): Update.
	* modules/sys_stat (Depends-on): Update.
	* modules/sys_time (Depends-on): Update.
	* modules/sys_times (Depends-on): Update.
	* modules/sys_utsname (Depends-on): Update.
	* modules/sys_wait (Depends-on): Update.
	* modules/termios (Depends-on): Update.
	* modules/time (Depends-on): Update.
	* modules/unistd (Depends-on): Update.
	* modules/wchar (Depends-on): Update.
	* modules/wctype-h (Depends-on): Update.
	* MODULES.html.sh (Support for building libraries and executables):
	Update.

	Rename module 'unused-parameter' to 'snippet/unused-parameter'.
	* modules/snippet/unused-parameter: Renamed from
	modules/unused-parameter.
	(Files, Makefile.am): Update.
	* build-aux/snippet/unused-parameter.h: Renamed from
	build-aux/unused-parameter.h.
	* modules/selinux-h (Depends-on): Update.
	* modules/unistr/base (Depends-on): Update.
	* MODULES.html.sh (Core language properties): Update.

	Rename module 'link-warning' to 'snippet/link-warning'.
	* modules/snippet/link-warning: Renamed from modules/link-warning.
	(Files, Makefile.am): Update.
	* build-aux/snippet/link-warning.h: Renamed from
	build-aux/link-warning.h.
	* MODULES.html.sh (Support for building libraries and executables):
	Update.

	Rename module 'c++defs' to 'snippet/c++defs'.
	* modules/snippet/c++defs: Renamed from modules/c++defs.
	(Files, Makefile.am): Update.
	* build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
	* modules/arpa_inet (Depends-on): Update.
	* modules/ctype (Depends-on): Update.
	* modules/dirent (Depends-on): Update.
	* modules/fcntl-h (Depends-on): Update.
	* modules/glob (Depends-on): Update.
	* modules/iconv-h (Depends-on): Update.
	* modules/langinfo (Depends-on): Update.
	* modules/locale (Depends-on): Update.
	* modules/math (Depends-on): Update.
	* modules/netdb (Depends-on): Update.
	* modules/poll-h (Depends-on): Update.
	* modules/pty (Depends-on): Update.
	* modules/search (Depends-on): Update.
	* modules/signal (Depends-on): Update.
	* modules/spawn (Depends-on): Update.
	* modules/stdio (Depends-on): Update.
	* modules/stdlib (Depends-on): Update.
	* modules/string (Depends-on): Update.
	* modules/strings (Depends-on): Update.
	* modules/sys_ioctl (Depends-on): Update.
	* modules/sys_select (Depends-on): Update.
	* modules/sys_socket (Depends-on): Update.
	* modules/sys_stat (Depends-on): Update.
	* modules/sys_time (Depends-on): Update.
	* modules/sys_wait (Depends-on): Update.
	* modules/termios (Depends-on): Update.
	* modules/time (Depends-on): Update.
	* modules/unistd (Depends-on): Update.
	* modules/wchar (Depends-on): Update.
	* modules/wctype-h (Depends-on): Update.

	Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
	* modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
	(Files, Makefile.am): Update.
	* build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
	* modules/argv-iter (Depends-on): Update.
	* modules/arpa_inet (Depends-on): Update.
	* modules/dirent (Depends-on): Update.
	* modules/fcntl-h (Depends-on): Update.
	* modules/fnmatch (Depends-on): Update.
	* modules/getopt-posix (Depends-on): Update.
	* modules/glob (Depends-on): Update.
	* modules/iconv-h (Depends-on): Update.
	* modules/inttypes-incomplete (Depends-on): Update.
	* modules/locale (Depends-on): Update.
	* modules/math (Depends-on): Update.
	* modules/netdb (Depends-on): Update.
	* modules/search (Depends-on): Update.
	* modules/signal (Depends-on): Update.
	* modules/spawn (Depends-on): Update.
	* modules/stdio (Depends-on): Update.
	* modules/stdlib (Depends-on): Update.
	* modules/string (Depends-on): Update.
	* modules/strings (Depends-on): Update.
	* modules/sys_socket (Depends-on): Update.
	* modules/sys_stat (Depends-on): Update.
	* modules/sys_time (Depends-on): Update.
	* modules/sys_times (Depends-on): Update.
	* modules/sys_utsname (Depends-on): Update.
	* modules/time (Depends-on): Update.
	* modules/unistd (Depends-on): Update.
	* modules/wchar (Depends-on): Update.
	* MODULES.html.sh (Support for building libraries and executables):
	Update.

2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>

	Improvements on _Noreturn and related modules.

	modules/_Exit-tests: test _Noreturn too
	* tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
	old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
	(main): Use them.

	stdnoreturn, stdnoreturn-tests: remove modules
	They're not needed here and a bit premature for use elsewhere.  See
	<http://lists.gnu.org/r/bug-gnulib/2011-07/msg00209.html>.
	* m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
	* tests/test-stdnoreturn.c: Remove files.
	* MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
	* lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
	* lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
	and using noreturn.
	* modules/openat, modules/sigpipe-die, modules/xalloc:
	* modules/xmemdup0, modules/xstrtol:
	Remove dependency on stdnoreturn.

	_Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
	* build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
	Reparenthesize to avoid GCC warning.
	Support Microsoft's syntax.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.

	_Noreturn-tests: remove module
	* modules/_Noreturn-tests: Remove.
	* modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
	* tests/test-_Noreturn.c: Remove.
	* tests/test-stdnoreturn.c: Merge from the old
	tests/test-_Noreturn.c, testing both noreturn and _Noreturn.

2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>

	_Noreturn, stdnoreturn, and related modules.

	* top/maint.mk: Adjust to new noreturn support.
	(gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
	(def_sym_regex): Do not remove ATTRIBUTE_NORETURN.

	xalloc: use stdnoreturn.h
	* lib/xalloc.h: Include <stdnoreturn.h>.
	(_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
	* modules/xalloc (Depends-on): Add stdnoreturn.

	xstrtol: use stdnoreturn.h
	* lib/xstrtol.h: Include <stdnoreturn.h>.
	(_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
	* modules/xstrtol (Depends-on): Add stdnoreturn.

	xmemdup0: use stdnoreturn.h
	* lib/xmemdup0.h: Include <stdnoreturn.h>.
	(_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
	* modules/xmemdup0 (Depends-on): Add stdnoreturn.

	sigpipe-die: use stdnoreturn.h
	* lib/sigpipe-die.h: Include <stdnoreturn.h>.
	(_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
	* modules/sigpipe-die (Depends-on): Add stdnoreturn.

	openat: use stdnoreturn.h
	* lib/openat.h: Include <stdnoreturn.h>.
	(_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
	* modules/openat (Depends-on): Add stdnoreturn.

	* lib/openat-die.c (openat_save_fail): Modernize comment.

	* lib/xalloc-die.c (xalloc_die): Modernize comment.

	* lib/glthread/thread.h: Modernize comment.

	obstack: use _Noreturn
	* lib/obstack.c (__attribute__): Remove macro.
	(print_and_abort): Use _Noreturn.

	c-stack: use _Noreturn
	* lib/c-stack.c (die, overflow_handler, segv_handler):
	Use _Noreturn rather than __attribute__((noreturn)).

	argmatch-tests, exclude_tests: use _Noreturn
	* tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
	Remove.
	(ARGMATCH_DIE_DECL): Use _Noreturn instead.

	stdlib: use _Noreturn
	* lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
	(_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
	* modules/stdlib (Depends-on): Add _Noreturn.
	(stdlib.h): Depend on $(_NORETURN_H), and copy it in.

	stdnoreturn-tests: new module
	* modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.

	stdnoreturn: new module
	* MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
	* m4/stdnoreturn.m4, modules/stdnoreturn: New files.

	_Noreturn-tests: new module
	* modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.

	_Noreturn: new module
	* MODULES.html.sh (Support for systems lacking draft ISO C 1X):
	New section, mentioning it.
	* build-aux/_Noreturn.h, modules/_Noreturn: New files.

	* m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.

2011-07-11  Eric Blake  <eblake@redhat.com>

	ffs: new module
	* modules/ffs: New file.
	* m4/ffs.m4: Likewise.
	* lib/ffs.c: Likewise.
	* m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
	* modules/strings (Makefile.am): Substitute witness.
	(Depends-on): Add c++defs.
	* lib/strings.in.h (ffs): Declare.
	* modules/ffs-tests: New test file.
	* tests/test-ffs.c: Test new module.
	* MODULES.html.sh (Integer arithmetic functions): Mention it.
	* doc/posix-functions/ffs.texi (ffs): Likewise.

	regex: avoid compiler warning
	* lib/regex.c (includes): Include <strings.h>, for use of
	strcasecmp in regcomp.c.
	Reported by Joachim Schmitz.

2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>

	stdint: respect system's intmax_t if INTMAX_MAX
	* lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
	INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
	uintmax_t.  This is for some Mac OS X builds, where intmax_t is
	long but int64_t is long long, and where we will clash with the
	system intmax_t if we override it.  See
	<http://lists.gnu.org/r/bug-gnulib/2011-07/msg00160.html>.
	(INTMAX_C, UINTMAX_C): For consistency, respect the system's
	INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
	similarly for UINTMAX_C.

2011-07-08  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask tests: Avoid a compiler warning.
	* tests/test-pthread_sigmask1.c (main): Complain if system() returns
	non-zero.

	sigprocmask tests: A better way to avoid a compiler warning.
	* tests/test-sigprocmask.c: Don't include "ignore-value.h".
	(main): Complain if system() returns non-zero.
	* modules/sigprocmask-tests (Depends-on): Remove ignore-value.

2011-07-08  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Work around IRIX bug.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
	bug.
	* lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
	there may be unblocked pending signals.
	* doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.

2011-07-08  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Work around Cygwin bug.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
	bug.
	* lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
	the system's pthread_sigmask function.
	* doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.

2011-07-08  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Work around bug in single-threaded implementation.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
	FreeBSD, HP-UX, Solaris bug.
	(gl_PREREQ_PTHREAD_SIGMASK): New macro.
	* lib/pthread_sigmask.c: Include <stddef.h>.
	(pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
	the system's pthread_sigmask function.
	* modules/pthread_sigmask (configure.ac): Invoke
	gl_PREREQ_PTHREAD_SIGMASK.
	* doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
	HP-UX, Solaris.

2011-07-08  Eric Blake  <eblake@redhat.com>

	test-sigprocmask: avoid compiler warning
	* modules/sigprocmask-tests (Depends-on): Add ignore-value.
	* tests/test-sigprocmask.c (main): Use it to silence warning.
	Reported by Jim Meyering.

	test-snprintf: avoid compiler warning
	* tests/test-snprintf.c (main): Avoid shadowed declaration.
	* tests/test-vsnprintf.c (main): Likewise.
	Reported by Jim Meyering.

2011-07-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'pthread_sigmask'.
	* modules/pthread_sigmask-tests: New file.
	* tests/test-pthread_sigmask1.c: New file, based on
	tests/test-sigprocmask.c.
	* tests/test-pthread_sigmask2.c: New file.

2011-07-08  Jim Meyering  <meyering@redhat.com>

	test-getopt.h: avoid warning about an unused variable
	* tests/test-getopt.h (test_getopt): Remove unused variable, "c".

2011-07-07  Jim Meyering  <meyering@redhat.com>

	maint: reduce list of files exempt from sc_prohibit_leading_TABs
	* Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
	now that it no longer contains leading TABs.
	Remove unused "url=FIXME" statement.

2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>

	pthread_sigmask: Assume POSIX when not gl_THREADLIB.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
	When gl_THREADLIB is not in use, assume that the POSIX sematics
	are desired.  This is better for Emacs, which uses POSIX semantics
	on GNUish and/or POSIXish platforms, and does not use threads at
	all otherwise.

	pthread_sigmask: fix typo when testing for libraries
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
	AC_LINK_IFELSE, not AC_COMPILE_IFELSE.

2011-07-08  Eric Blake  <eblake@redhat.com>

	fts: introduce FTS_NOATIME
	* lib/fts_.h (FTS_NOATIME): New bit flag.
	(FTS_OPTIONMASK): Adjust.
	* lib/fts.c (diropen, fts_open, fts_build): Honor it.
	(fd_ring_check): Debug code unconditionally uses O_NOATIME.

2011-07-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'thread'.
	* modules/thread-tests: New file.
	* tests/test-thread_self.c: New file.
	* tests/test-thread_create.cc: New file.

2011-07-08  Bruno Haible  <bruno@clisp.org>

	thread: Avoid gcc warnings when using gl_thread_self().
	* lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
	'void *'.
	(gl_thread_self_pointer): Update.

2011-07-07  Bruno Haible  <bruno@clisp.org>

	signal-c++-tests: Check declaration of pthread_sigmask.
	* tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
	* modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
	$(LIB_PTHREAD_SIGMASK).

2011-07-07  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
	* lib/signal.in.h (pthread_sigmask): Override if
	REPLACE_PTHREAD_SIGMASK is 1.
	* m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
	REPLACE_PTHREAD_SIGMASK.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
	REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
	* modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
	* modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
	(Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).

2011-07-07  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Ensure declaration in <signal.h>.
	* lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
	include <pthread.h>.
	* doc/posix-functions/pthread_sigmask.texi: Mention the header file
	problem.

2011-07-07  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Document the module.
	* doc/posix-functions/pthread_sigmask.texi: Mention the new module.

2011-07-07  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Follow gnulib conventions.
	* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
	gl_PTHREAD_SIGMASK.
	* modules/pthread_sigmask (configure.ac): Update.

2011-07-07  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Make declaration C++ safe.
	* lib/signal.in.h: In two special conditions, just do an #include_next.
	(pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
	Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
	* m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
	HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
	* m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
	not REPLACE_PTHREAD_MASK.
	* modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
	not REPLACE_PTHREAD_MASK.
	* modules/pthread_sigmask (Depends-on, configure.ac): Update condition.

2011-07-07  Bruno Haible  <bruno@clisp.org>

	pthread_sigmask: Fix return value.
	* lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
	* lib/pthread_sigmask.c: New file.
	* modules/pthread_sigmask (Files): Add it.
	(configure.ac): Invoke AC_LIBOBJ.

2011-07-07  Eric Blake  <eblake@redhat.com>

	getopt: more portable argv creation
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
	const, use char arrays rather than strings.
	Suggested by Paul Eggert.

2011-07-07  Bruno Haible  <bruno@clisp.org>

	Tests for module 'sigprocmask'.
	* modules/sigprocmask-tests: New file.
	* tests/test-sigprocmask.c: New file.

2011-07-07  Bruno Haible  <bruno@clisp.org>

	float tests: Tweak.
	* tests/test-float.c (main): Tweak skip message.

2011-07-07  Eric Blake  <eblake@redhat.com>

	getopt: avoid compiler warning during configure
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
	assigning string literals to non-const pointer.

	getopt-gnu: avoid crash in glibc getopt
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
	* tests/test-getopt.h (test_getopt): Enhance test.
	* tests/test-getopt_long.h (test_getopt_long): Likewise.
	* doc/posix-functions/getopt.texi (getopt): Document it.
	* doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
	* doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
	Likewise.

2011-07-07  Ulrich Drepper  <drepper@gmail.com>

	getopt: handle W; without long options in getopt [BZ #12922]
	* lib/getopt.c (_getopt_internal_r): When "W;" is in short options
	but no long options are defined, just return 'W'.

2011-07-07  Bruno Haible  <bruno@clisp.org>

	Avoid literal tabs.
	* m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
	variable containing a tab instead of a literal tab.
	Reported by Jim Meyering.

2011-07-07  Bruno Haible  <bruno@clisp.org>

	Comments.
	* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.

2011-07-06  Bruno Haible  <bruno@clisp.org>

	sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
	* lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
	<winsock2.h>.
	(rpl_fd_isset, FD_ISSET): New definitions, copied from
	lib/sys_socket.in.h.
	(close, gethostname): Hide declarations from <winsock2.h>.
	(socket, connect, accept, bind, getpeername, getsockname, getsockopt,
	listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
	* lib/sys_socket.in.h (close, gethostname): Tweak indentation.
	(select): Don't override if gnulib's <sys/select.h> was already
	included.
	* lib/unistd.in.h (socket, connect, accept, bind, getpeername,
	getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
	setsockopt, shutdown, select): Tweak indentation.

2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
	and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
	in an application that does not use the sys_select module.

2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>

	poll: do not return 0 on timeout=-1
	* lib/poll.c: Loop with yield if no events occurred.

2011-07-06  Eric Blake  <eblake@redhat.com>

	pthread_sigmask: always replace when not using pthread
	* m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
	replacement when using some threading other than pthread.  Fix
	logic bug.

2011-07-06  Bruno Haible  <bruno@clisp.org>

	Comments.
	* m4/printf.m4: Update comments about mingw.

2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	sys_select: define sigset_t more portably
	* lib/sys_select.in.h: Always include <sys/types.h>, since
	we now need sigset_t and mingw defines it there.
	Include <signal.h> before split inclusion guard, to avoid
	mishaps on Solaris, whose <signal.h> eventually includes us.
	* m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
	(gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
	which come from ...
	* m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
	gl_CHECK_TYPE_SIGSET_T.
	(gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
	does the real work.
	* modules/sys_select (Depends-on): Add 'signal'.

	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
	Suggested by Bruno Haible.

	pselect: Use pthread_sigmask, not sigprocmask.
	* lib/pselect.c (pselect): Use pthread_sigmask, as it supports
	multithreaded apps better than sigprocmask does.
	* modules/pselect (Depends-on): Depend on pthread_sigmask, not
	sigprocmask directly.

2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/pselect.c (pselect): Use plain name, without "rpl_".
	Don't #undef,  since we don't need any underlying pselect.
	* modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
	(Depends-on): Add select.
	(Link): Add $(LIBSOCKET).
	These changes suggested by Bruno Haible.

	pselect: document better
	* MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
	* doc/posix-functions/pselect.texi (pselect): Document new module.

	pthread_sigmask: new module
	* MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
	* doc/posix-functions/pthread_sigmask.texi: Document new module.
	* lib/signal.in.h (pthread_sigmask): Arrange for replacement.
	This is done only as a macro; I don't know how well that'll
	work for C++.  Move <sys/types.h> include before the include_next,
	to avoid mishap on Solaris.
	* m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
	* modules/signal (Makefile.am): Substitute the check's results.
	* modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.

	test-pselect: new module
	* modules/pselect-tests, tests/test-pselect.c: New files.
	* tests/test-select.c, tests/test-sys_select-c++.cc:
	If TEST_PSELECT is defined, test pselect instead of testing select.

	* tests/test-sys_select.c (sigset_t): Test for it, too.
	Suggested by Bruno Haible.

2011-07-05  Eric Blake  <eblake@redhat.com>

	snprintf: guarantee %1$d, for libintl
	* m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
	* m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
	* doc/posix-functions/snprintf.texi (snprintf): Update.
	* doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
	* tests/test-snprintf.c (main): Enhance test.
	* tests/test-vsnprintf.c (main): Likewise.

2011-07-05  Jim Meyering  <meyering@redhat.com>

	maint: exempt stdio-read.c and stdio-write.c from the cppi check
	* Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
	per Bruno's request, to accommodate this idiom (no space after "#")
	even when the function is inside an #if block:
	char *
	gets (char *s)
	#undef gets
	{
	  ...
	}

2011-07-04  Jim Meyering  <meyering@redhat.com>

	maint: indent with spaces, not TABs, and add a rule to check this
	* tests/test-userspec.c: Indent with spaces, not TABs.
	* tests/test-argp.c: Likewise.
	* tests/test-c-stack2.sh: Likewise.
	* tests/test-parse-duration.sh: Likewise
	* m4/strtod.m4: Likewise.
	* m4/alloca.m4: Likewise.
	* m4/pselect.m4: Likewise.
	* Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.

2011-07-03  Jim Meyering  <meyering@redhat.com>

	maint.mk: correct omissions in prohibit_argmatch_without_use check
	This rule would mistakenly report that argmatch.h is included without
	use even when both the argmatch and invalid_arg macro were used.
	* top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
	of argmatch and invalid_arg.

2011-07-03  Bruno Haible  <bruno@clisp.org>

	Comments about EINTR.
	* lib/safe-read.h: Explain the purpose of this module.
	* lib/safe-write.h: Likewise.
	* doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
	module.
	* doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
	module.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>

	xnanosleep: Rewrite to use new dtotimespec module.
	It has the conversion code that used to be in xnanosleep.
	* lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
	assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
	(TIME_T_MAX): Remove.
	(xnanosleep): Rewrite in terms of dtotimespec.
	* modules/xnanosleep (Depends-on): Add dtotimespec.
	Remove intprops, stdbool.

	timespec-add, timespec-sub: new modules
	* lib/timespec.h (timespec_add, timespec_sub): New decls.
	* lib/timespec-add.c, lib/timespec-sub.c:
	* modules/timespec-add, modules/timespec-sub: New files.

	dtotimespec: new module
	* lib/timespec.h (dtotimespec): New decl.
	* lib/dtotimespec.c, modules/dtotimespec: New files.

	* lib/timespec.h (timespec_sign, timespectod): New inline functions.

	pselect: new module
	* lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
	(pselect): New decls.
	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
	since the standard pselect decl uses 'restrict'.
	(gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
	HAVE_PSELECT, REPLACE_PSELECT.
	* modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
	HAVE_PSELECT, REPLACE_PSELECT.
	* lib/pselect.c, m4/pselect.m4, modules/pselect: New files.

	sys_select: don't depend on sys_socket
	This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
	<http://lists.gnu.org/r/bug-gnulib/2011-06/msg00358.html>.
	This fix works on GNU and GNU-like platforms, but has not been tested
	on native Windows.
	* lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
	gl_HEADER_SYS_SOCKET.
	* modules/sys_select (Files): Add m4/sys_socket_h.m4, for
	gl_PREREQ_SYS_H_WINSOCK2.

2011-06-29  Eric Blake  <eblake@redhat.com>

	pipe2: fix C89 compile problem
	* lib/pipe2.c (pipe2): Avoid C99 array initialization.
	Reported by Bruno Haible.

	pipe, pipe2: don't corrupt fd on error
	* lib/pipe.c (pipe): Leave fd unchanged on error.
	* lib/pipe2.c (pipe2): Likewise.
	* doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
	* doc/glibc-functions/pipe2.texi (pipe2): Likewise.

2011-06-27  Paolo Bonzini  <bonzini@gnu.org>

	mmap-anon: do not use regular expressions inadvertently
	* m4/mmap-anon.m4: Remove trailing period from strings sought
	in the output.

2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>

	nanosleep: fix integer overflow problem
	* lib/nanosleep.c (my_usleep): Don't assume signed integer
	arithmetic wraps around on overflow.

	nanosleep: simplify carrying
	* lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
	first call to the underyling nanosleep, not for the last one.
	This doesn't fix any bugs, but it simplifies the computation of
	the remaining delay.  Found while auditing integer overflow issues.

	dup2: remove test for existence of fcntl
	* m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
	"#if HAVE_FCNTL", in the configure-time test program.
	This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
	and therefore speeds up "configure" a bit.  Found while
	adding the dup2 module to Emacs.

2011-06-24  Eric Blake  <eblake@redhat.com>

	maint.mk: enhance useless header checks
	* top/maint.mk (_sc_header_without_use): Check both include
	styles.
	(sc_prohibit_assert_without_use)
	(sc_prohibit_close_stream_without_use)
	(sc_prohibit_getopt_without_use)
	(sc_prohibit_quotearg_without_use)
	(sc_prohibit_quote_without_use)
	(sc_prohibit_long_options_without_use)
	(sc_prohibit_inttostr_without_use)
	(sc_prohibit_ignore_value_without_use)
	(sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
	(sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
	(sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
	(sc_prohibit_hash_pjw_without_use)
	(sc_prohibit_safe_read_without_use)
	(sc_prohibit_argmatch_without_use)
	(sc_prohibit_canonicalize_without_use)
	(sc_prohibit_root_dev_ino_without_use)
	(sc_prohibit_openat_without_use)
	(sc_prohibit_c_ctype_without_use)
	(sc_prohibit_signal_without_use)
	(sc_prohibit_stdio--_without_use)
	(sc_prohibit_stdio-safer_without_use)
	(sc_prohibit_strings_without_use)
	(sc_prohibit_intprops_without_use)
	(sc_prohibit_stddef_without_use)
	(sc_prohibit_xfreopen_without_use): Update clients.

2011-06-24  Jim Meyering  <meyering@redhat.com>

	syntax-check: keep one maint.mk rule in sync with its header
	* Makefile (sc_check_sym_list): Add a rule to prevent a repeat
	of the bug Eric has just fixed, with today's commit 25e4c2ec.
	I prefer to avoid temporary files here, so use <(...), but that
	is not supported by /bin/sh, so...
	(SHELL): Define to /bin/bash.

2011-06-24  Eric Blake  <eblake@redhat.com>

	maint.mk: update sc_prohibit_intprops_without_use
	* top/maint.mk (_intprops_names): Match recent changes.

2011-06-24  Bruno Haible  <bruno@clisp.org>

	strerror-override: No-op tweak.
	* lib/strerror-override.h (strerror_override): Reorder conditions,
	for consistency with lib/strerror-override.c.

2011-06-23  Eric Blake  <eblake@redhat.com>

	maint.mk: test further PATH_MAX issues
	* top/maint.mk (sc_prohibit_path_max_array): Rename...
	(sc_prohibit_path_max_allocation): ...and also test alloca.
	Suggested by Jim Meyering.

2011-06-22  Eric Blake  <eblake@redhat.com>

	maint.mk: add syntax-check to avoid char[PATH_MAX]
	* top/maint.mk (sc_prohibit_path_max_array): New rule.

	stat: be robust to PATH_MAX definition
	* lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
	* modules/stat (Depends-on): Add verify.

	link: work around IRIX bug
	* m4/link.m4 (gl_FUNC_LINK): Expose the bug.
	* lib/link.c (rpl_link): Work around it.
	* tests/test-link.h (test_link): Enhance test.
	* doc/posix-functions/link.texi (link): Document the bug.

	getopt: silence clang warning
	* lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
	dereference.
	Reported by Gustavo Martin Domato.

2011-06-22  Jim Meyering  <meyering@redhat.com>

	bootstrap: do not insert a blank line into each .gitignore file
	* build-aux/bootstrap (sort_patterns): Filter out blank lines.

2011-06-21  Eric Blake  <eblake@redhat.com>

	perror: test for output mismatch
	* m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
	perror on IRIX.

	strerror_r: fix OpenBSD behavior on out-of-range
	* lib/strerror_r.c (strerror_r): Always use maximal string.
	* doc/posix-functions/strerror_r.texi (strerror_r): Document it.

	strerror_r: fix OpenBSD behavior on 0
	* lib/strerror-override.c (strerror_override): Also override 0
	when needed.
	* lib/strerror-override.h (strerror_override): Likewise.
	* lib/strerror.c (strerror): Simplify, now that 0 override is done
	earlier.
	* lib/strerror_r.c (strerror_r): Likewise.
	* m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
	behavior...
	(gl_FUNC_STRERROR_0): ...into new macro.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
	is overridden.
	(gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
	* modules/strerror-override (Files): Add strerror.m4.
	(configure.ac): Also provide override for 0 when needed.
	* doc/posix-functions/strerror.texi (strerror): Document this.
	* doc/posix-functions/perror.texi (perror): Likewise.

	perror: adjust array size
	* modules/perror (Depends-on): Add strerror-override.
	* lib/perror.c (perror): Use it to avoid magic number.

	strerror-override: reduce size
	* lib/strerror-override.c (strerror_override): Use fewer lines.

2011-06-20  Bruno Haible  <bruno@clisp.org>

	pathmax: Ensure correct value for PATH_MAX on HP-UX.
	* lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.

2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>

	alloca: port to compilers that can optimize like GCC 4.6.0
	* lib/alloca.c (find_stack_direction): New signature, taken from
	Autoconf git.  This works with GCC 4.6.0.  This code should never
	be used with GCC 4.6.0 itself, as GCC has alloca, but it might
	be used with other compilers that optimize as well as GCC 4.6.0 does.
	(alloca): Adjust to new signature.
	* m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
	New macro, which patches Autoconf in a similar way.

	c-stack: stop worrying about stack direction
	* lib/c-stack.c (find_stack_direction): Remove.
	(segv_handler): Don't worry about stack direction growth, as it's
	too much of a pain to configure this correctly, given how compilers
	are optimizing-away our stack-growth detection code.  Instead, assume
	that any access to just before or just after the stack is OK.
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
	Don't require AC_FUNC_ALLOCA; no longer needed.

2011-06-20  Eric Blake  <eblake@redhat.com>

	test-stat: don't allocate PATH_MAX bytes
	* tests/test-stat.h (test_stat_func): Don't stack-allocate a
	PATH_MAX-sized buffer.
	* modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
	* modules/stat-tests (Depends-on): Likewise.
	* tests/test-fstatat.c (includes): Drop pathmax.h.
	* tests/test-stat.c (includes): Likewise.
	Reported by Bruno Haible.

2011-06-20  Bruno Haible  <bruno@clisp.org>

	float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
	* lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
	* lib/float.c: New file.
	* m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
	REPLACE_FLOAT_LDBL.
	* modules/float (Files): Add lib/float.c.
	(configure.ac): Invoke AC_LIBOBJ.
	* doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.

2011-06-20  Bruno Haible  <bruno@clisp.org>

	Tests for module 'float'.
	* modules/float-tests: New file.
	* tests/test-float.c: New file.

2011-06-19  Bruno Haible  <bruno@clisp.org>

	isinf: Coding style.
	* lib/isinf.c: Use GNU coding style.

2011-06-19  Bruno Haible  <bruno@clisp.org>

	linkat test: Avoid test failure on AIX 7.1.
	* tests/test-linkat.c (main): Allow EINVAL as alternate error value.
	* tests/test-link.h (test_link): Likewise.

2011-06-19  Bruno Haible  <bruno@clisp.org>

	pread test: Avoid test failure on OpenBSD 4.9.
	* tests/test-pread.c (main): Allow EFBIG instead of EINBAL.

2011-06-19  Bruno Haible  <bruno@clisp.org>

	sprintf-posix: Fix test failure on AIX 7.1.
	* m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
	* doc/posix-functions/dprintf.texi: Mention limited precision problem
	on AIX.
	* 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.

2011-06-19  Bruno Haible  <bruno@clisp.org>

	roundl-ieee: Fix test failure on AIX 7.1.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
	* doc/posix-functions/roundl.texi: Mention problem with negative
	arguments.

2011-06-19  Bruno Haible  <bruno@clisp.org>

	round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
	* modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
	* doc/posix-functions/round.texi: Mention problem with negative
	arguments.
	* doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.

2011-06-19  Bruno Haible  <bruno@clisp.org>

	roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
	* modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
	* doc/posix-functions/roundf.texi: Mention problem with negative
	arguments.
	* doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.

2011-06-19  Bruno Haible  <bruno@clisp.org>

	ceilf-ieee: Work around bug on MacOS X 10.5.
	* doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.

	floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
	* m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
	IEEE compliant, avoid compiler optimizations.
	* m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
	* m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
	* m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
	* m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
	* m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
	* m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
	* m4/round.m4 (gl_FUNC_ROUND): Likewise.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.

2011-06-19  Bruno Haible  <bruno@clisp.org>

	ceilf-ieee: Work around bug on AIX 7.1.
	* m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
	* doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.

2011-06-19  Bruno Haible  <bruno@clisp.org>

	ceil-ieee: Work around bug on AIX 7.1.
	* m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
	* doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.

2011-06-18  Bruno Haible  <bruno@clisp.org>

	fsync test: Avoid test failure on MacOS X and AIX.
	* tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
	EINVAL.

2011-06-18  Bruno Haible  <bruno@clisp.org>

	openat, fdopendir tests: Fix link errors.
	* modules/openat-tests (Depends-on): Add progname.
	* modules/fdopendir-tests (Depends-on): Likewise.
	* tests/test-fchownat.c: Include progname.h.
	(main): Call set_program_name.
	* tests/test-fstatat.c: Include progname.h.
	(main): Call set_program_name.
	* tests/test-mkdirat.c: Include progname.h.
	(main): Call set_program_name.
	* tests/test-openat.c: Include progname.h.
	(main): Call set_program_name.
	* tests/test-unlinkat.c: Include progname.h.
	(main): Call set_program_name.
	* tests/test-fdopendir.c: Include progname.h.
	(main): Call set_program_name.

2011-06-18  Bruno Haible  <bruno@clisp.org>

	Doc update.
	* doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
	HP-UX.
	* doc/posix-functions/pthread_attr_setstack.texi: Likewise.

2011-06-18  Bruno Haible  <bruno@clisp.org>

	getcwd tests: Avoid compilation error on HP-UX 11.31.
	* modules/getcwd-tests (Depends-on): Add pathmax.
	* tests/test-getcwd.c: Include pathmax.h.

2011-06-18  Bruno Haible  <bruno@clisp.org>

	isfinite, isinf: Fix link error on AIX 6 and 7.
	* m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
	needed, also test the macro with a 'float' argument.
	* m4/isinf.m4 (gl_ISINF): Likewise.

2011-06-18  Bruno Haible  <bruno@clisp.org>

	getloadavg: Don't clobber LIBS. Regression from previous commit.
	* m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
	AC_CHECK_LIB from here...
	(gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
	(gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
	gl_func_getloadavg_done.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2011-06-18  Bruno Haible  <bruno@clisp.org>

	clean-temp: Improve documentation.
	* lib/clean-temp.h: Explain better how to use this module.
	Reported by John Darrington <john@darrington.wattle.id.au>.

2011-06-17  Bruno Haible  <bruno@clisp.org>

	pread, pwrite: Avoid cc warning on AIX.
	* lib/unistd.in.h (pread): Undefine before defining as a macro.
	(pwrite): Likewise.

2011-06-17  Bruno Haible  <bruno@clisp.org>

	spawn-pipe tests: Fix link error.
	* tests/test-spawn-pipe-child.c: Undefine fprintf.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2011-06-17  Bruno Haible  <bruno@clisp.org>

	Tests: Remove unnecessary dependency.
	* modules/canonicalize-tests (Depends-on): Remove progname.
	* modules/chown-tests (Depends-on): Likewise.
	* modules/dirname-tests (Depends-on): Likewise.
	* modules/fdopendir-tests (Depends-on): Likewise.
	* modules/fdutimensat-tests (Depends-on): Likewise.
	* modules/hash-tests (Depends-on): Likewise.
	* modules/lchown-tests (Depends-on): Likewise.
	* modules/linkat-tests (Depends-on): Likewise.
	* modules/renameat-tests (Depends-on): Likewise.
	* modules/spawn-pipe-tests (Depends-on): Likewise.
	* modules/utimensat-tests (Depends-on): Likewise.

2011-06-17  Bruno Haible  <bruno@clisp.org>

	spawn-pipe tests: Fix link error.
	* tests/test-spawn-pipe-child.c: Undefine fflush.

2011-06-17  Bruno Haible  <bruno@clisp.org>

	Fix tests link errors.
	* modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
	* modules/chown-tests (Makefile.am): Don't link test-chown with
	LIBINTL.
	* modules/lchown-tests (Makefile.am): Don't link test-lchown with
	LIBINTL.
	* modules/utimens-tests (Makefile.am): Don't link test-utimens with
	LIBINTL.
	* modules/futimens-tests (Makefile.am): Don't link test-futimens with
	LIBINTL.

2011-06-16  Bruno Haible  <bruno@clisp.org>

	crypto/gc-sha1: Fix recent regression.
	* modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
	* m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.

	crypto/gc-md5: Fix recent regression.
	* modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.

	crypto/gc-md4: Fix recent regression.
	* modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
	* m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.

	crypto/gc-arctwo: Fix recent regression.
	* modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
	* m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.

	crypto/gc-rijndael: Fix recent regression.
	* modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
	(configure.ac): Invoke AC_LIBOBJ here.
	* m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

	crypto/gc-hmac-sha1: Fix recent regression.
	* modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
	(configure.ac): Invoke AC_LIBOBJ here.
	* m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

	crypto/gc-hmac-md5: Fix recent regression.
	* modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
	(configure.ac): Invoke AC_LIBOBJ here.
	* m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

	crypto/gc-des: Fix recent regression.
	* modules/crypto/gc-des (Files): Remove m4/des.m4.
	(configure.ac): Invoke AC_LIBOBJ here.
	* m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

	crypto/gc-arcfour: Fix recent regression.
	* modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
	(configure.ac): Invoke AC_LIBOBJ here.
	* m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
	After the 2011-05-21 change, this macro requires
	gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
	AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.

2011-06-16  Bruno Haible  <bruno@clisp.org>

	fprintftime: Move AC_LIBOBJ invocations to module description.
	* m4/fprintftime.m4: Remove file.
	* modules/fprintftime (Files): Remove m4/fprintftime.m4.
	(configure.ac): Remove gl_FPRINTFTIME call.
	(Makefile.am): Augment lib_SOURCES.
	Reported by Jim Meyering.

2011-06-16  Bruno Haible  <bruno@clisp.org>

	tmpfile-safer: Finish 2011-05-23 commit.
	* m4/stdio-safer.m4: Really remove file.
	Reported by Jim Meyering.

2011-06-16  Bruno Haible  <bruno@clisp.org>

	syntax-check: Fix typo.
	* Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
	printf-posix.m4.
	Reported by Jim Meyering.

2011-06-13  Jim Meyering  <meyering@redhat.com>

	syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
	* Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	yesno: Move AC_LIBOBJ invocations to module description.
	* m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
	* modules/yesno (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	xstrtol: Move AC_LIBOBJ invocations to module description.
	* m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
	* modules/xstrtol (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	xstrtold: Move AC_LIBOBJ invocations to module description.
	* m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
	* modules/xstrtold (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	xstrtod: Move AC_LIBOBJ invocations to module description.
	* m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
	* modules/xstrtod (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	xnanosleep: Move AC_LIBOBJ invocations to module description.
	* m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
	* modules/xnanosleep (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	xgetcwd: Move AC_LIBOBJ invocations to module description.
	* m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
	* modules/xgetcwd (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	xalloc: Move AC_LIBOBJ invocations to module description.
	* m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
	* modules/xalloc (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	write-any-file: Move AC_LIBOBJ invocations to module description.
	* m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
	invocation.
	* modules/write-any-file (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	utimens: Move AC_LIBOBJ invocations to module description.
	* m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
	* modules/utimens (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	utimecmp: Move AC_LIBOBJ invocations to module description.
	* m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
	* modules/utimecmp (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	userspec: Move AC_LIBOBJ invocations to module description.
	* m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
	* modules/userspec (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	unlinkdir: Move AC_LIBOBJ invocations to module description.
	* m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
	* modules/unlinkdir (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	unistd-safer: Move AC_LIBOBJ invocations to module description.
	* m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
	* modules/unistd-safer (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	tempname: Move AC_LIBOBJ invocations to module description.
	* m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
	* modules/tempname (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	strftime: Move AC_LIBOBJ invocations to module description.
	* m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
	* modules/strftime (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	stdlib-safer: Move AC_LIBOBJ invocations to module description.
	* m4/stdlib-safer.m4: Remove file.
	* modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
	(configure.ac): Remove gl_STDLIB_SAFER call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	tmpfile-safer: Move AC_LIBOBJ invocations to module description.
	* m4/stdio-safer.m4: Remove file.
	* modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
	(configure.ac): Remove gl_TMPFILE_SAFER call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	popen-safer: Move AC_LIBOBJ invocations to module description.
	* m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
	* modules/popen-safer (Files): Remove m4/stdio-safer.m4.
	(configure.ac): Remove gl_POPEN_SAFER call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	freopen-safer: Move AC_LIBOBJ invocations to module description.
	* m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
	* modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
	(configure.ac): Remove gl_FREOPEN_SAFER call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	fopen-safer: Move AC_LIBOBJ invocations to module description.
	* m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
	* modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
	(configure.ac): Remove gl_FOPEN_SAFER call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	crypto/sha512: Move AC_LIBOBJ invocations to module description.
	* m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
	* modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	crypto/sha256: Move AC_LIBOBJ invocations to module description.
	* m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
	* modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	crypto/sha1: Move AC_LIBOBJ invocations to module description.
	* m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
	* modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	settime: Move AC_LIBOBJ invocations to module description.
	* m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
	* modules/settime (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	savedir: Move AC_LIBOBJ invocations to module description.
	* m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
	* modules/savedir (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	save-cwd: Move AC_LIBOBJ invocations to module description.
	* m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
	* modules/save-cwd (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	same: Move AC_LIBOBJ invocations to module description.
	* m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
	* modules/same (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	safe-write: Move AC_LIBOBJ invocations to module description.
	* m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
	* modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
	instead of gl_SAFE_WRITE.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	safe-read: Move AC_LIBOBJ invocations to module description.
	* m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
	* modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
	of gl_SAFE_READ.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	safe-alloc: Move AC_LIBOBJ invocations to module description.
	* m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
	* modules/safe-alloc (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	crypto/rijndael: Move AC_LIBOBJ invocations to module description.
	* m4/rijndael.m4: Remove file.
	* modules/crypto/rijndael (Files): Remove it.
	(configure.ac): Remove gl_RIJNDAEL call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	readtokens: Move AC_LIBOBJ invocations to module description.
	* m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
	* modules/readtokens (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	read-file: Move AC_LIBOBJ invocations to module description.
	* m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
	* modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
	of gl_FUNC_READ_FILE.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	quotearg: Move AC_LIBOBJ invocations to module description.
	* m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
	* modules/quotearg (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	quote: Move AC_LIBOBJ invocations to module description.
	* m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
	* modules/quote (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	posixver: Move AC_LIBOBJ invocations to module description.
	* m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
	* modules/posixver (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	posixtm: Move AC_LIBOBJ invocations to module description.
	* m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
	* modules/posixtm (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	physmem: Move AC_LIBOBJ invocations to module description.
	* m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
	* modules/physmem (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	pagealign_alloc: Move AC_LIBOBJ invocations to module description.
	* m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
	invocation.
	* modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	mpsort: Move AC_LIBOBJ invocations to module description.
	* m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
	* modules/mpsort (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	modechange: Move AC_LIBOBJ invocations to module description.
	* m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
	* modules/modechange (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	mkdir-p: Move AC_LIBOBJ invocations to module description.
	* m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
	* modules/mkdir-p (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	mkancesdirs: Move AC_LIBOBJ invocations to module description.
	* m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
	* modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	mgetgroups: Move AC_LIBOBJ invocations to module description.
	* m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
	* modules/mgetgroups (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	memxor: Move AC_LIBOBJ invocations to module description.
	* m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
	* modules/memxor (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	memcoll: Move AC_LIBOBJ invocations to module description.
	* m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
	* modules/memcoll (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	memcasecmp: Move AC_LIBOBJ invocations to module description.
	* m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
	* modules/memcasecmp (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	crypto/md5: Move AC_LIBOBJ invocations to module description.
	* m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
	* modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	crypto/md4: Move AC_LIBOBJ invocations to module description.
	* m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
	* modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	crypto/md2: Move AC_LIBOBJ invocations to module description.
	* m4/md2.m4: Remove file.
	* modules/crypto/md2 (Files): Remove it.
	(configure.ac): Remove gl_MD2 call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	long-options: Move AC_LIBOBJ invocations to module description.
	* m4/long-options.m4: Remove file.
	* modules/long-options (Files): Remove it.
	(configure.ac): Remove gl_LONG_OPTIONS call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	i-ring: Move AC_LIBOBJ invocations to module description.
	* m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
	* modules/i-ring (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	idcache: Move AC_LIBOBJ invocations to module description.
	* m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
	* modules/idcache (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	human: Move AC_LIBOBJ invocations to module description.
	* m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
	* modules/human (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
	* m4/hmac-sha1.m4: Remove file.
	* modules/crypto/hmac-sha1 (Files): Remove it.
	(configure.ac): Remove gl_HMAC_SHA1 call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
	* m4/hmac-md5.m4: Remove file.
	* modules/crypto/hmac-md5 (Files): Remove it.
	(configure.ac): Remove gl_HMAC_MD5 call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	hash: Move AC_LIBOBJ invocations to module description.
	* m4/hash.m4: Remove file.
	* modules/hash (Files): Remove it.
	(configure.ac): Remove gl_HASH call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	hard-locale: Move AC_LIBOBJ invocations to module description.
	* m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
	* modules/hard-locale (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	getugroups: Move AC_LIBOBJ invocations to module description.
	* m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
	* modules/getugroups (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	gettime: Move AC_LIBOBJ invocations to module description.
	* m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
	* modules/gettime (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	getndelim2: Move AC_LIBOBJ invocations to module description.
	* m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
	* modules/getndelim2 (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
	* m4/gc-pbkdf2-sha1.m4: Remove file.
	* modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
	(configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	fts: Move AC_LIBOBJ invocations to module description.
	* m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
	* modules/fts (configure.ac): ... to here.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	file-type: Move AC_LIBOBJ invocations to module description.
	* m4/file-type.m4: Remove file.
	* modules/file-type (Files): Remove it.
	(configure.ac): Remove gl_FILE_TYPE call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	filenamecat*: Respect rules for use of AC_LIBOBJ.
	* m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
	Remove AC_LIBOBJ invocation.
	* modules/filenamecat (Makefile.am): Augment lib_SOURCES.
	* modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	filemode: Move AC_LIBOBJ invocations to module description.
	* m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
	* modules/filemode (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	openat-safer: Move AC_LIBOBJ invocations to module description.
	* m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
	* modules/openat-safer (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	fcntl-safer: Move AC_LIBOBJ invocations to module description.
	* m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
	* modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	exclude: Move AC_LIBOBJ invocations to module description.
	* m4/exclude.m4: Remove file.
	* modules/exclude (Files): Remove it.
	(configure.ac): Remove gl_EXCLUDE call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	dirname*: Respect rules for use of AC_LIBOBJ.
	* m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
	invocations.
	* modules/dirname (Makefile.am): Augment lib_SOURCES.
	* modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	dirent-safer: Move AC_LIBOBJ invocations to module description.
	* m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
	* modules/dirent-safer (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	crypto/des: Move AC_LIBOBJ invocations to module description.
	* m4/des.m4: Remove file.
	* modules/crypto/des (Files): Remove it.
	(configure.ac): Remove gl_DES call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	cycle-check: Move AC_LIBOBJ invocations to module description.
	* m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
	* modules/cycle-check (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	c-strtold: Move AC_LIBOBJ invocations to module description.
	* m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
	* modules/c-strtold (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	c-strtod: Move AC_LIBOBJ invocations to module description.
	* m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
	* modules/c-strtod (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	crc: Move AC_LIBOBJ invocations to module description.
	* m4/crc.m4: Remove file.
	* modules/crc (Files): Remove it.
	(configure.ac): Remove gl_CRC call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	close-stream: Move AC_LIBOBJ invocations to module description.
	* m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
	* modules/close-stream (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	closeout: Move AC_LIBOBJ invocations to module description.
	* m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
	* modules/closeout (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	closein: Move AC_LIBOBJ invocations to module description.
	* m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
	* modules/closein (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	cloexec: Move AC_LIBOBJ invocations to module description.
	* m4/cloexec.m4: Remove file.
	* modules/cloexec (Files): Remove it.
	(configure.ac): Remove gl_CLOEXEC call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	check-version: Move AC_LIBOBJ invocations to module description.
	* m4/check-version.m4: Remove file.
	* modules/check-version (Files): Remove it.
	(configure.ac): Remove gl_CHECK_VERSION call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	chdir-safer: Move AC_LIBOBJ invocations to module description.
	* m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
	* modules/chdir-safer (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	canonicalize: Move AC_LIBOBJ invocations to module description.
	* m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
	AC_LIBOBJ invocation.
	* modules/canonicalize (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	canon-host: Move AC_LIBOBJ invocations to module description.
	* m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
	* modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
	instead of gl_CANON_HOST.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	backupfile: Move AC_LIBOBJ invocations to module description.
	* m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
	* modules/backupfile (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	argmatch: Move AC_LIBOBJ invocations to module description.
	* m4/argmatch.m4: Remove file.
	* modules/argmatch (Files): Remove it.
	(configure.ac): Remove gl_ARGMATCH call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	crypto/arctwo: Move AC_LIBOBJ invocations to module description.
	* m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
	* modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	crypto/arcfour: Move AC_LIBOBJ invocations to module description.
	* m4/arcfour.m4: Remove file.
	* modules/crypto/arcfour (Files): Remove it.
	(configure.ac): Remove gl_ARCFOUR call.
	(Makefile.am): Augment lib_SOURCES.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	write: Move AC_LIBOBJ invocations to module description.
	* m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
	* modules/write (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wmemset: Move AC_LIBOBJ invocations to module description.
	* m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
	here...
	* modules/wmemset (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wmemmove: Move AC_LIBOBJ invocations to module description.
	* m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
	here...
	* modules/wmemmove (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wmemcpy: Move AC_LIBOBJ invocations to module description.
	* m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
	here...
	* modules/wmemcpy (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wmemcmp: Move AC_LIBOBJ invocations to module description.
	* m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
	here...
	* modules/wmemcmp (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wmemchr: Move AC_LIBOBJ invocations to module description.
	* m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
	here...
	* modules/wmemchr (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcswidth: Move AC_LIBOBJ invocations to module description.
	* m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
	here...
	* modules/wcswidth (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcwidth: Respect rules for use of AC_LIBOBJ.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
	invocation from here...
	* modules/wcwidth (configure.ac): ... to here.
	(Depends-on): Update conditions.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wctype: Move AC_LIBOBJ invocations to module description.
	* m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
	invocation from here...
	* modules/wctype (configure.ac): ... to here.
	(Depends-on): Update conditions.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wctrans: Move AC_LIBOBJ invocations to module description.
	* m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
	invocation from here...
	* modules/wctrans (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wctomb: Move AC_LIBOBJ invocations to module description.
	* m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
	invocations from here...
	* modules/wctomb (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wctob: Move AC_LIBOBJ invocations to module description.
	* m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
	gl_PREREQ_WCTOB invocations from here...
	* modules/wctob (configure.ac): ... to here.
	(Depends-on): Update conditions.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcsxfrm: Move AC_LIBOBJ invocations to module description.
	* m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
	here...
	* modules/wcsxfrm (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcstok: Move AC_LIBOBJ invocations to module description.
	* m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
	* modules/wcstok (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcsstr: Move AC_LIBOBJ invocations to module description.
	* m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
	* modules/wcsstr (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcsspn: Move AC_LIBOBJ invocations to module description.
	* m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
	* modules/wcsspn (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcsrtombs: Move AC_LIBOBJ invocations to module description.
	* m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
	gl_PREREQ_WCSRTOMBS invocations from here...
	* modules/wcsrtombs (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcsrchr: Move AC_LIBOBJ invocations to module description.
	* m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
	here...
	* modules/wcsrchr (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcspbrk: Move AC_LIBOBJ invocations to module description.
	* m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
	here...
	* modules/wcspbrk (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcsnrtombs: Move AC_LIBOBJ invocations to module description.
	* m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
	gl_PREREQ_WCSNRTOMBS invocations from here...
	* modules/wcsnrtombs (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcsnlen: Move AC_LIBOBJ invocations to module description.
	* m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
	here...
	* modules/wcsnlen (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcsncpy: Move AC_LIBOBJ invocations to module description.
	* m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
	here...
	* modules/wcsncpy (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcsncmp: Move AC_LIBOBJ invocations to module description.
	* m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
	here...
	* modules/wcsncmp (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcsncat: Move AC_LIBOBJ invocations to module description.
	* m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
	here...
	* modules/wcsncat (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcsncasecmp: Move AC_LIBOBJ invocations to module description.
	* m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
	from here...
	* modules/wcsncasecmp (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcslen: Move AC_LIBOBJ invocations to module description.
	* m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
	* modules/wcslen (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcsdup: Move AC_LIBOBJ invocations to module description.
	* m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
	* modules/wcsdup (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcscspn: Move AC_LIBOBJ invocations to module description.
	* m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
	here...
	* modules/wcscspn (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcscpy: Move AC_LIBOBJ invocations to module description.
	* m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
	* modules/wcscpy (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcscoll: Move AC_LIBOBJ invocations to module description.
	* m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
	here...
	* modules/wcscoll (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcscmp: Move AC_LIBOBJ invocations to module description.
	* m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
	* modules/wcscmp (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcschr: Move AC_LIBOBJ invocations to module description.
	* m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
	* modules/wcschr (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcscat: Move AC_LIBOBJ invocations to module description.
	* m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
	* modules/wcscat (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcscasecmp: Move AC_LIBOBJ invocations to module description.
	* m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
	here...
	* modules/wcscasecmp (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcrtomb: Move AC_LIBOBJ invocations to module description.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
	invocations from here...
	* modules/wcrtomb (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcpncpy: Move AC_LIBOBJ invocations to module description.
	* m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
	here...
	* modules/wcpncpy (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	wcpcpy: Move AC_LIBOBJ invocations to module description.
	* m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
	* modules/wcpcpy (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	waitpid: Move AC_LIBOBJ invocations to module description.
	* m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
	invocation from here...
	* modules/waitpid (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	utimensat: Move AC_LIBOBJ invocations to module description.
	* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
	here...
	* modules/utimensat (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	usleep: Move AC_LIBOBJ invocations to module description.
	* m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
	here...
	* modules/usleep (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	unlockpt: Move AC_LIBOBJ invocations to module description.
	* m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
	gl_PREREQ_UNLOCKPT invocations from here...
	* modules/unlockpt (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	unlink: Respect rules for use of AC_LIBOBJ.
	* m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
	* modules/unlink (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	uname: Move AC_LIBOBJ invocations to module description.
	* m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
	here...
	* modules/uname (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	ttyname_r: Move AC_LIBOBJ invocations to module description.
	* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
	gl_PREREQ_TTYNAME_R invocations from here...
	* modules/ttyname_r (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	tsearch: Move AC_LIBOBJ invocations to module description.
	* m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
	invocations from here...
	* modules/tsearch (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	towctrans: Move AC_LIBOBJ invocations to module description.
	* m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
	AC_LIBOBJ invocation from here...
	* modules/towctrans (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	tmpfile: Move AC_LIBOBJ invocations to module description.
	* m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
	invocations from here...
	* modules/tmpfile (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	times: Move AC_LIBOBJ invocations to module description.
	* m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
	* modules/times (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	time_r: Move AC_LIBOBJ invocations to module description.
	* m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
	invocations from here...
	* modules/time_r (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	timegm: Move AC_LIBOBJ invocations to module description.
	* m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
	invocations from here...
	* modules/timegm (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	tcgetsid: Move AC_LIBOBJ invocations to module description.
	* m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
	and gl_PREREQ_TCGETSID invocations from here...
	* modules/tcgetsid (configure.ac): ... to here.
	(Depends-on): Update conditions.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	symlinkat: Move AC_LIBOBJ invocations to module description.
	* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
	here...
	* modules/symlinkat (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	symlink: Move AC_LIBOBJ invocations to module description.
	* m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
	here...
	* modules/symlink (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strverscmp: Move AC_LIBOBJ invocations to module description.
	* m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
	from here...
	* modules/strverscmp (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strtok_r: Move AC_LIBOBJ invocations to module description.
	* m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
	and gl_PREREQ_STRTOK_R invocations from here...
	* modules/strtok_r (configure.ac): ... to here.
	(Depends-on): Update conditions.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strtoumax: Move AC_LIBOBJ invocations to module description.
	* m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
	from here...
	* modules/strtoumax (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strtoimax: Move AC_LIBOBJ invocations to module description.
	* m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
	from here...
	* modules/strtoimax (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strtoull: Move AC_LIBOBJ invocations to module description.
	* m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
	from here...
	* modules/strtoull (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strtoll: Move AC_LIBOBJ invocations to module description.
	* m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
	here...
	* modules/strtoll (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strtoul: Move AC_LIBOBJ invocations to module description.
	* m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
	* modules/strtoul (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strtol: Move AC_LIBOBJ invocations to module description.
	* m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
	* modules/strtol (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strtod: Move AC_LIBOBJ invocations to module description.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
	invocations from here...
	* modules/strtod (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strstr*: Move AC_LIBOBJ invocations to module description.
	* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
	invocations from here...
	* modules/strstr-simple (configure.ac): ... to here.
	* modules/strstr (configure.ac): ... and here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strsignal: Move AC_LIBOBJ invocations to module description.
	* m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
	AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
	* modules/strsignal (configure.ac): ... to here.
	(Depends-on): Update conditions.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strsep: Move AC_LIBOBJ invocations to module description.
	* m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
	here...
	* modules/strsep (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strptime: Move AC_LIBOBJ invocations to module description.
	* m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
	gl_PREREQ_STRPTIME invocations from here...
	* modules/strptime (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strpbrk: Move AC_LIBOBJ invocations to module description.
	* m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
	here...
	* modules/strpbrk (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strnlen: Move AC_LIBOBJ invocations to module description.
	* m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
	invocations from here...
	* modules/strnlen (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strndup: Move AC_LIBOBJ invocations to module description.
	* m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
	invocations from here...
	* modules/strndup (configure.ac): ... to here.
	(Depends-on): Update conditions.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strncat: Move AC_LIBOBJ invocations to module description.
	* m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
	invocations from here...
	* modules/strncat (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
	* m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
	invocations from here...
	* modules/strdup (configure.ac): ... to here.
	* modules/strdup-posix (configure.ac): ... and here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strcspn: Move AC_LIBOBJ invocations to module description.
	* m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
	here...
	* modules/strcspn (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strchrnul: Move AC_LIBOBJ invocations to module description.
	* m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
	gl_PREREQ_STRCHRNUL invocations from here...
	* modules/strchrnul (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strcasestr*: Move AC_LIBOBJ invocations to module description.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
	Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
	* modules/strcasestr-simple (configure.ac): ... to here.
	* modules/strcasestr (configure.ac): ... and here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strcase: Move AC_LIBOBJ invocations to module description.
	* m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
	(gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
	of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
	gl_PREREQ_STRNCASECMP invocations from here...
	* modules/strcase (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	stpncpy: Move AC_LIBOBJ invocations to module description.
	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
	here...
	* modules/stpncpy (configure.ac): ... to here.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	stpcpy: Move AC_LIBOBJ invocations to module description.
	* m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
	here...
	* modules/stpcpy (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	stat: Move AC_LIBOBJ invocations to module description.
	* m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
	(gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
	here...
	* modules/stat (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	sleep: Move AC_LIBOBJ invocations to module description.
	* m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
	* modules/sleep (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	signbit: Move AC_LIBOBJ invocations to module description.
	* m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
	* modules/signbit (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	sigprocmask: Move AC_LIBOBJ invocations to module description.
	* m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
	gl_PREREQ_SIGPROMASK invocations from here...
	* modules/sigprocmask (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	sigaction: Move AC_LIBOBJ invocations to module description.
	* m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
	gl_PREREQ_SIGACTION invocations from here...
	* modules/sigaction (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	sig2str: Move AC_LIBOBJ invocations to module description.
	* m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
	here...
	* modules/sig2str (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	setlocale: Move AC_LIBOBJ invocations to module description.
	* m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
	gl_PREREQ_SETLOCALE invocations from here...
	* modules/setlocale (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	unsetenv: Move AC_LIBOBJ invocations to module description.
	* m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
	and gl_PREREQ_UNSETENV invocations from here...
	* modules/unsetenv (configure.ac): ... to here.
	(Depends-on): Update.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	setenv: Move AC_LIBOBJ invocations to module description.
	* m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
	here...
	* modules/setenv (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	selinux-h: Move AC_LIBOBJ invocations to module description.
	* m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
	AC_LIBOBJ invocation from here...
	* modules/selinux-h (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	select: Respect rules for use of AC_LIBOBJ.
	* m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
	here...
	* modules/select (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	scandir: Move AC_LIBOBJ invocations to module description.
	* m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
	invocations from here...
	* modules/scandir (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	rpmatch: Move AC_LIBOBJ invocations to module description.
	* m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
	here...
	* modules/rpmatch (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	rmdir: Respect rules for use of AC_LIBOBJ.
	* m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
	* modules/rmdir (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	renameat: Move AC_LIBOBJ invocations to module description.
	* m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
	here...
	* modules/renameat (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	rename: Respect rules for use of AC_LIBOBJ.
	* m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
	here...
	* modules/rename (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	remove: Move AC_LIBOBJ invocations to module description.
	* m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
	here...
	* modules/remove (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	relocatable-lib: Move AC_LIBOBJ invocations to module description.
	* m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
	macro.
	(gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
	* modules/relocatable-lib (configure.ac): ... to here.
	* modules/relocatable-prog-wrapper (configure.ac): Invoke
	gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	relocatable-prog: Move AC_LIBOBJ invocations to module description.
	* m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
	here...
	* modules/relocatable-prog (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	regex: Move AC_LIBOBJ invocations to module description.
	* m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
	invocations from here...
	* modules/regex (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	realloc-*: Move AC_LIBOBJ invocations to module description.
	* m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
	(gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
	AC_LIBOBJ invocations from here...
	* modules/realloc-gnu (configure.ac): ... to here.
	* modules/realloc-posix (configure.ac): ... and here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	readutmp: Move AC_LIBOBJ invocations to module description.
	* m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
	* modules/readutmp (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	readlinkat: Move AC_LIBOBJ invocations to module description.
	* m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
	here...
	* modules/readlinkat (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	readlink: Move AC_LIBOBJ invocations to module description.
	* m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
	gl_PREREQ_READLINK invocations from here...
	* modules/readlink (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	readline: Move AC_LIBOBJ invocations to module description.
	* m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
	gl_PREREQ_READLINE invocations from here...
	* modules/readline (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	read: Move AC_LIBOBJ invocations to module description.
	* m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
	* modules/read (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	rawmemchr: Move AC_LIBOBJ invocations to module description.
	* m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
	from here...
	* modules/rawmemchr (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	random_r: Move AC_LIBOBJ invocations to module description.
	* m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
	gl_PREREQ_RANDOM_R invocations from here...
	* modules/random_r (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	pwrite: Move AC_LIBOBJ invocations to module description.
	* m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
	* modules/pwrite (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	putenv: Move AC_LIBOBJ invocations to module description.
	* m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
	* modules/putenv (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	login_tty: Move AC_LIBOBJ invocations to module description.
	* m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
	* modules/login_tty (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	openpty: Move AC_LIBOBJ invocations to module description.
	* m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
	* modules/openpty (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	forkpty: Move AC_LIBOBJ invocations to module description.
	* m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
	* modules/forkpty (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	ptsname: Move AC_LIBOBJ invocations to module description.
	* m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
	invocations from here...
	* modules/ptsname (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	pread: Move AC_LIBOBJ invocations to module description.
	* m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
	* modules/pread (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	posix_spawn*: Move AC_LIBOBJ invocations to module description.
	* m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
	gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
	* modules/posix_spawn (configure.ac): ... to here.
	* modules/posix_spawnp (configure.ac): ... and here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	popen: Move AC_LIBOBJ invocations to module description.
	* m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
	invocations from here...
	* modules/popen (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	poll: Move AC_LIBOBJ invocations to module description.
	* m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
	invocations from here...
	* modules/poll (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	pipe-posix: Move AC_LIBOBJ invocations to module description.
	* m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
	* modules/pipe-posix (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	openat: Respect rules for use of AC_LIBOBJ.
	* m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
	* modules/openat (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	obstack-printf*: Move AC_LIBOBJ invocations to module description.
	* m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
	invocation from here...
	* modules/obstack-printf (configure.ac): ... to here.
	* modules/obstack-printf-posix (configure.ac): ... and here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	nl_langinfo: Move AC_LIBOBJ invocations to module description.
	* m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
	from here...
	* modules/nl_langinfo (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	nanosleep: Move AC_LIBOBJ invocations to module description.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
	gl_PREREQ_NANOSLEEP invocations from here...
	* modules/nanosleep (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mountlist: Move AC_LIBOBJ invocations to module description.
	* m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
	gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
	* modules/mountlist (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mktime: Respect rules for use of AC_LIBOBJ.
	* m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
	(gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
	AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
	(gl_FUNC_MKTIME_INTERNAL): ... and here...
	* modules/mktime (configure.ac): ... to here.
	* modules/mktime-internal (configure.ac): ... and here.
	* m4/timegm.m4 (gl_FUNC_TIMEGM): Update.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mkstemps: Move AC_LIBOBJ invocations to module description.
	* m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
	here...
	* modules/mkstemps (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mkstemp: Move AC_LIBOBJ invocations to module description.
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
	gl_PREREQ_MKSTEMP invocations from here...
	* modules/mkstemp (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mkostemps: Move AC_LIBOBJ invocations to module description.
	* m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
	here...
	* modules/mkostemps (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mkostemp: Move AC_LIBOBJ invocations to module description.
	* m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
	gl_PREREQ_MKOSTEMP invocations from here...
	* modules/mkostemp (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mknod: Move AC_LIBOBJ invocations to module description.
	* m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
	* modules/mknod (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mkfifoat: Move AC_LIBOBJ invocations to module description.
	* m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
	here...
	* modules/mkfifoat (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mkfifo: Respect rules for use of AC_LIBOBJ.
	* m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
	here...
	* modules/mkfifo (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mkdtemp: Move AC_LIBOBJ invocations to module description.
	* m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
	invocations from here...
	* modules/mkdtemp (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mkdir: Move AC_LIBOBJ invocations to module description.
	* m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
	* modules/mkdir (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	memset: Move AC_LIBOBJ invocations to module description.
	* m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
	here...
	* modules/memset (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	memrchr: Move AC_LIBOBJ invocations to module description.
	* m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
	here...
	* modules/memrchr (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mempcpy: Move AC_LIBOBJ invocations to module description.
	* m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
	here...
	* modules/mempcpy (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	memmove: Move AC_LIBOBJ invocations to module description.
	* m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
	here...
	* modules/memmove (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	memmem*: Move AC_LIBOBJ invocations to module description.
	* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
	here...
	(gl_FUNC_MEMMEM): ... and here...
	* modules/memmem-simple (configure.ac): ... to here.
	* modules/memmem (configure.ac): ... and here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	memcpy: Move AC_LIBOBJ invocations to module description.
	* m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
	here...
	* modules/memcpy (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	memcmp: Simplify autoconf macro.
	* m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
	the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
	* modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	memcmp: Move AC_LIBOBJ invocations to module description.
	* m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
	(gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
	AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
	* modules/memcmp (configure.ac): ... to here.
	(Depends-on): Update conditions.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	memchr: Respect rules for use of AC_LIBOBJ.
	* m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
	invocations from here...
	* modules/memchr (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mbtowc: Move AC_LIBOBJ invocations to module description.
	* m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
	invocations from here...
	* modules/mbtowc (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mbsrtowcs: Move AC_LIBOBJ invocations to module description.
	* m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
	gl_PREREQ_MBSRTOWCS invocations from here...
	* modules/mbsrtowcs (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
	* m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
	gl_PREREQ_MBSNRTOWCS invocations from here...
	* modules/mbsnrtowcs (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mbsinit: Move AC_LIBOBJ invocations to module description.
	* m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
	invocations from here...
	* modules/mbsinit (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mbrlen: Move AC_LIBOBJ invocations to module description.
	* m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
	invocations from here...
	* modules/mbrlen (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mbrtowc: Respect rules for use of AC_LIBOBJ.
	* m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
	invocations from here...
	* modules/mbrtowc (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	malloc-*: Move AC_LIBOBJ invocations to module description.
	* m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
	(gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
	AC_LIBOBJ invocations from here...
	* modules/malloc-gnu (configure.ac): ... to here.
	* modules/malloc-posix (configure.ac): ... and here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	lstat, openat: Respect rules for use of AC_LIBOBJ.
	* m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
	AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
	gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
	(gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
	(gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
	* modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
	here.
	* m4/openat.m4 (gl_FUNC_OPENAT): Update.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	lseek: Move AC_LIBOBJ invocations to module description.
	* m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
	(gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
	* modules/lseek (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	linkat: Move AC_LIBOBJ invocations to module description.
	* m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
	here...
	* modules/linkat (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	link: Respect rules for use of AC_LIBOBJ.
	* m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
	* modules/link (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	lchown: Move AC_LIBOBJ invocations to module description.
	* m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
	* modules/lchown (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	iswctype: Move AC_LIBOBJ invocations to module description.
	* m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
	here...
	* modules/iswctype (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	iswblank: Move AC_LIBOBJ invocations to module description.
	* m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
	here...
	* modules/iswblank (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	atanl: Move AC_LIBOBJ invocations to module description.
	* m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
	* modules/atanl (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	acosl: Move AC_LIBOBJ invocations to module description.
	* m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
	* modules/acosl (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	asinl: Respect rules for use of AC_LIBOBJ.
	* m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
	* modules/asinl (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	tanl: Move AC_LIBOBJ invocations to module description.
	* m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
	* modules/tanl (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	cosl: Move AC_LIBOBJ invocations to module description.
	* m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
	* modules/cosl (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	sinl: Move AC_LIBOBJ invocations to module description.
	* m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
	* modules/sinl (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	logl: Move AC_LIBOBJ invocations to module description.
	* m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
	* modules/logl (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	expl: Move AC_LIBOBJ invocations to module description.
	* m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
	* modules/expl (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	roundl: Move AC_LIBOBJ invocations to module description.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
	* modules/roundl (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	round: Move AC_LIBOBJ invocations to module description.
	* m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
	* modules/round (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	roundf: Move AC_LIBOBJ invocations to module description.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
	* modules/roundf (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	truncl: Move AC_LIBOBJ invocations to module description.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
	* modules/truncl (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	trunc: Move AC_LIBOBJ invocations to module description.
	* m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
	* modules/trunc (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	truncf: Move AC_LIBOBJ invocations to module description.
	* m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
	* modules/truncf (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	ceill: Move AC_LIBOBJ invocations to module description.
	* m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
	* modules/ceill (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	ceil: Move AC_LIBOBJ invocations to module description.
	* m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
	* modules/ceil (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	ceilf: Move AC_LIBOBJ invocations to module description.
	* m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
	* modules/ceilf (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	floorl: Respect rules for use of AC_LIBOBJ.
	* m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
	* modules/floorl (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	floor: Respect rules for use of AC_LIBOBJ.
	* m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
	* modules/floor (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	floorf: Move AC_LIBOBJ invocations to module description.
	* m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
	* modules/floorf (configure.ac): ... to here.

2011-05-20  Bruno Haible  <bruno@clisp.org>

	sqrtl: Respect rules for use of AC_LIBOBJ.
	* m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
	* modules/sqrtl (configure.ac): ... to here.

2011-05-20  Bruno Haible  <bruno@clisp.org>

	ldexpl: Respect rules for use of AC_LIBOBJ.
	* m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
	* modules/ldexpl (configure.ac): ... to here.

2011-05-20  Bruno Haible  <bruno@clisp.org>

	frexpl*: Respect rules for use of AC_LIBOBJ.
	* m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
	invocation from here...
	* modules/frexpl (configure.ac): ... to here.
	* modules/frexpl-nolibm (configure.ac): ... and here.

2011-05-20  Bruno Haible  <bruno@clisp.org>

	frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
	* m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
	invocation from here...
	* modules/frexp (configure.ac): ... to here.
	* modules/frexp-nolibm (configure.ac): ... and here.

2011-05-20  Bruno Haible  <bruno@clisp.org>

	isnan: Respect rules for use of AC_LIBOBJ.
	* m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
	invocations here.
	* modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
	REPLACE_ISNAN.
	* modules/isnand (configure.ac): Likewise.
	* modules/isnanl (configure.ac): Likewise.

2011-05-20  Bruno Haible  <bruno@clisp.org>

	isnanl*: Respect rules for use of AC_LIBOBJ.
	* m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
	invocation from here...
	* modules/isnanl (configure.ac): ... to here.
	* modules/isnanl-nolibm (configure.ac): ... and here.

2011-05-20  Bruno Haible  <bruno@clisp.org>

	isnand*: Move AC_LIBOBJ invocations to module description.
	* m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
	invocation from here...
	* modules/isnand (configure.ac): ... to here.
	* modules/isnand-nolibm (configure.ac): ... and here.

2011-05-20  Bruno Haible  <bruno@clisp.org>

	isnanf*: Move AC_LIBOBJ invocations to module description.
	* m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
	invocation from here...
	* modules/isnanf (configure.ac): ... to here.
	* modules/isnanf-nolibm (configure.ac): ... and here.

2011-05-20  Bruno Haible  <bruno@clisp.org>

	isnan*: Separate the AC_LIBOBJ invocations.
	* m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
	AC_LIBOBJ invocation.
	(gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
	here.
	* m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
	AC_LIBOBJ invocation.
	(gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
	here.
	* m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
	AC_LIBOBJ invocation.
	(gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
	here.
	* m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	isinf: Move AC_LIBOBJ invocations to module description.
	* m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
	* modules/isinf (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	isfinite: Move AC_LIBOBJ invocations to module description.
	* m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
	* modules/isfinite (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	isblank: Move AC_LIBOBJ invocations to module description.
	* m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
	here...
	* modules/isblank (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	isapipe: Move AC_LIBOBJ invocations to module description.
	* m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
	gl_PREREQ_ISAPIPE invocations from here...
	* modules/isapipe (configure.ac): ... to here.
	(Depends-on): Update condition.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	ioctl: Move AC_LIBOBJ invocations to module description.
	* m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
	invocations from here...
	* modules/ioctl (configure.ac): ... to here.
	(Depends-on): Update condition.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	imaxdiv: Move AC_LIBOBJ invocations to module description.
	* m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
	invocations from here...
	* modules/imaxdiv (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	imaxabs: Move AC_LIBOBJ invocations to module description.
	* m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
	invocations from here...
	* modules/imaxabs (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getaddrinfo: Move AC_LIBOBJ invocations to module description.
	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
	AC_LIBOBJ invocations from here...
	* modules/getaddrinfo (configure.ac): ... to here.
	(Depends-on): Add conditions.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
	* m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
	AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
	gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
	(gl_PREREQ_INET_PTON): ... from here.
	* modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
	gl_PREREQ_INET_PTON here.
	(Depends-on): Update condition.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
	* m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
	AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
	gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
	(gl_PREREQ_INET_NTOP): ... from here.
	* modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
	gl_PREREQ_INET_NTOP here.
	(Depends-on): Update condition.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	iconv_open: Move AC_LIBOBJ invocations to module description.
	* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
	AC_LIBOBJ invocations from here...
	* modules/iconv_open (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
	If module 'iconv_open' is among the main modules and module
	'iconv_open-utf' is among the tests dependencies, then
	REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
	return the special iconv_t values. Therefore iconv() and iconv_close()
	must support these special iconv_t values, already in lib, not only in
	tests.
	* m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
	* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
	gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
	(gl_FUNC_ICONV_OPEN_UTF): Remove macro.
	* modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
	(Depends-on): Add the dependencies of iconv_open-utf.
	* modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
	m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
	(Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	group-member: Move AC_LIBOBJ invocations to module description.
	* m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
	gl_PREREQ_GROUP_MEMBER invocations from here...
	* modules/group-member (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	grantpt: Move AC_LIBOBJ invocations to module description.
	* m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
	invocations from here...
	* modules/grantpt (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	glob: Move AC_LIBOBJ invocations to module description.
	* m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
	from here...
	* modules/glob (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getusershell: Move AC_LIBOBJ invocations to module description.
	* m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
	Move AC_LIBOBJ invocation from here...
	* modules/getusershell (configure.ac): ... to here.
	(Depends-on): Update condition.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	gettimeofday: Move AC_LIBOBJ invocations to module description.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
	gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
	gl_PREREQ_GETTIMEOFDAY invocations from here...
	* modules/gettimeofday (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
	* modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
	just gl_FUNC_TZSET.
	* m4/tzset.m4 (gl_FUNC_TZSET): New macro.
	(gl_FUNC_TZSET_CLOBBER): Remove actions.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
	gl_FUNC_TZSET_CLOBBER and its actions here, if present.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getsubopt: Move AC_LIBOBJ invocations to module description.
	* m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
	gl_PREREQ_GETSUBOPT invocations from here...
	* modules/getsubopt (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getpass-gnu: Move AC_LIBOBJ invocations to module description.
	* m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
	AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
	* modules/getpass-gnu (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getpass: Move AC_LIBOBJ invocations to module description.
	* m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
	gl_PREREQ_GETPASS invocations from here...
	* modules/getpass (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getpagesize: Move AC_LIBOBJ invocations to module description.
	* m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
	from here...
	* modules/getpagesize (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getopt: Move AC_LIBOBJ invocations to module description.
	* m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
	(gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
	invocations from here...
	* modules/getopt-gnu (configure.ac): ... to here.
	* modules/getopt-posix (configure.ac): ... and here.
	(Depends-on): Update condition.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getopt, argp: Respect rules for use of AC_LIBOBJ.
	* m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
	(gl_REPLACE_GETOPT_ALWAYS): New macro.
	* m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
	gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getlogin_r: Move AC_LIBOBJ invocations to module description.
	* m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
	gl_PREREQ_GETLOGIN_R invocations from here...
	* modules/getlogin_r (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getlogin: Move AC_LIBOBJ invocations to module description.
	* m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
	here...
	* modules/getlogin (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getloadavg: Move AC_LIBOBJ invocations to module description.
	* m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
	AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
	* modules/getloadavg (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	gethrxtime: Move AC_LIBOBJ invocations to module description.
	* m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
	LIB_GETHRXTIME from here...
	(gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
	invocations from here...
	* modules/gethrxtime (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	gethostname: Move AC_LIBOBJ invocations to module description.
	* m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
	gl_PREREQ_GETHOSTNAME invocations from here...
	* modules/gethostname (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getgroups: Move AC_LIBOBJ invocations to module description.
	* m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
	here...
	* modules/getgroups (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getdtablesize: Move AC_LIBOBJ invocations to module description.
	* m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
	invocation from here...
	* modules/getdtablesize (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getdomainname: Move AC_LIBOBJ invocations to module description.
	* m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
	gl_PREREQ_GETDOMAINNAME invocations from here...
	* modules/getdomainname (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getline: Move AC_LIBOBJ invocations to module description.
	* m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
	invocations from here...
	* modules/getline (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getline: Simplify.
	* m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
	It's already handled through the module dependency.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getdelim: Move AC_LIBOBJ invocations to module description.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
	and gl_PREREQ_GETDELIM invocations from here...
	* modules/getdelim (configure.ac): ... to here.
	(Depends-on): Fix condition.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getcwd: Move AC_LIBOBJ invocations to module description.
	* m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
	invocations from here...
	* modules/getcwd (configure.ac): ... to here.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
	* m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
	here...
	* modules/getcwd-lgpl (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	crypto/gc: Move AC_LIBOBJ invocations to module description.
	* m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
	* modules/crypto/gc (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	fwriting: Move AC_LIBOBJ invocations to module description.
	* m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
	here...
	* modules/fwriting (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	fwritable: Move AC_LIBOBJ invocations to module description.
	* m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
	here...
	* modules/fwritable (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	futimens: Move AC_LIBOBJ invocations to module description.
	* m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
	here...
	* modules/futimens (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	ftruncate: Move AC_LIBOBJ invocations to module description.
	* m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
	gl_PREREQ_FTRUNCATE invocations from here...
	* modules/ftruncate (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	fsync: Move AC_LIBOBJ invocations to module description.
	* m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
	invocations from here...
	* modules/fsync (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	fsusage: Move AC_LIBOBJ invocations to module description.
	* m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
	gl_PREREQ_FSUSAGE_EXTRA invocations from here...
	* modules/fsusage (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	freopen: Move AC_LIBOBJ invocations to module description.
	* m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
	invocations from here...
	* modules/freopen (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	free: Move AC_LIBOBJ invocations to module description.
	* m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
	invocations from here...
	* modules/free (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	freadable: Move AC_LIBOBJ invocations to module description.
	* m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
	here...
	* modules/freadable (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	fpurge: Move AC_LIBOBJ invocations to module description.
	* m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
	invocations from here...
	* modules/fpurge (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	fpending: Move AC_LIBOBJ invocations to module description.
	* m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
	gl_FUNC_FPENDING.
	(gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
	invocations from here...
	* modules/fpending (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	fopen: Move AC_LIBOBJ invocations to module description.
	* m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
	invocations from here...
	* modules/fopen (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
	* m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
	gl_FUNC_FNMATCH_POSIX.
	(gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
	invocations from here...
	* modules/fnmatch (configure.ac): ... to here.
	* modules/fnmatch-gnu (configure.ac): ... and here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	flock: Move AC_LIBOBJ invocations to module description.
	* m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
	invocations from here...
	* modules/flock (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	fileblocks: Move AC_LIBOBJ invocations to module description.
	* m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
	gl_PREREQ_FILEBLOCKS invocations from here...
	* modules/fileblocks (configure.ac): ... to here.

2011-05-06  Bruno Haible  <bruno@clisp.org>

	fflush: Move AC_LIBOBJ invocations to module description.
	* m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
	(gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
	invocations from here...
	* modules/fflush (configure.ac): ... to here.

2011-05-06  Bruno Haible  <bruno@clisp.org>

	fdopendir: Move AC_LIBOBJ invocations to module description.
	* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
	here...
	* modules/fdopendir (configure.ac): ... to here.
	(Depends-on): Improve conditions.

2011-05-06  Bruno Haible  <bruno@clisp.org>

	_Exit: Move AC_LIBOBJ invocations to module description.
	* m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
	invocations from here...
	* modules/_Exit (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	euidaccess: Respect rules for use of AC_LIBOBJ.
	* m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
	from here...
	* modules/euidaccess (configure.ac): ... to here.

2011-05-06  Bruno Haible  <bruno@clisp.org>

	error: Move AC_LIBOBJ invocations to module description.
	* m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
	AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
	invocations from here...
	* modules/error (configure.ac): ... to here.

2011-05-06  Bruno Haible  <bruno@clisp.org>

	duplocale: Move AC_LIBOBJ invocations to module description.
	* m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
	gl_PREREQ_DUPLOCALE invocations from here...
	* modules/duplocale (configure.ac): ... to here.

2011-05-05  Bruno Haible  <bruno@clisp.org>

	dirfd: Move AC_LIBOBJ invocations to module description.
	* m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
	gl_FUNC_DIRFD.
	(gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
	here...
	* modules/dirfd (configure.ac): ... to here.
	(Depends-on): Fix condition.

2011-05-05  Bruno Haible  <bruno@clisp.org>

	chown: Respect rules for use of AC_LIBOBJ.
	* m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
	* modules/chown (configure.ac): ... to here.

2011-05-05  Bruno Haible  <bruno@clisp.org>

	chdir-long: Move AC_LIBOBJ invocations to module description.
	* m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
	gl_PREREQ_CHDIR_LONG invocations from here...
	* modules/chdir-long (configure.ac): ... to here.

2011-05-05  Bruno Haible  <bruno@clisp.org>

	canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
	* m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
	from here...
	* modules/canonicalize-lgpl (configure.ac): ... to here.

2011-05-05  Bruno Haible  <bruno@clisp.org>

	calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
	* m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
	(gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
	REPLACE_CALLOC.
	* modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
	* modules/calloc-gnu (configure.ac): Likewise.

2011-05-05  Bruno Haible  <bruno@clisp.org>

	btowc: Move AC_LIBOBJ invocations to module description.
	* m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
	invocations from here...
	* modules/btowc (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	atexit: Move AC_LIBOBJ invocations to module description.
	* m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
	AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
	here...
	* modules/atexit (configure.ac): ... to here.

2011-05-05  Bruno Haible  <bruno@clisp.org>

	atoll: Move AC_LIBOBJ invocations to module description.
	* m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
	invocations from here...
	* modules/atoll (configure.ac): ... to here.

2011-05-05  Bruno Haible  <bruno@clisp.org>

	argz: Move AC_LIBOBJ invocations to module description.
	* m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
	* modules/argz (configure.ac): ... to here.

2011-05-05  Bruno Haible  <bruno@clisp.org>

	alphasort: Move AC_LIBOBJ invocations to module description.
	* m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
	gl_PREREQ_ALPHASORT invocations from here...
	* modules/alphasort (configure.ac): ... to here.

2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	verify: new macro verify_expr; verify_true deprecated
	* NEWS: Mention this.
	* doc/verify.texi (Compile-time Assertions): Document this.
	* lib/verify.h (verify_true): Deprecate.
	(verify_expr): New macro.
	* tests/test-verify.c (function): Test verify_expr.

2011-06-14  Jim Meyering  <meyering@redhat.com>

	init.sh: give more portable redirection-related advice in a comment
	* tests/init.sh (stderr_fileno_): Update the advice in comments.
	See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
	for lots of discussion.  Stefano Lattarini suggested the solution
	of putting "9>&2" after the command.  Reported by Bruno Haible.

2011-06-13  Bruno Haible  <bruno@clisp.org>

	locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
	'none'.

2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>

	ftoastr: use strtof only if HAVE_STRTOF
	This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
	<http://lists.gnu.org/r/bug-gnulib/2011-06/msg00154.html>.
	* lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
	* modules/ftoastr (configure.ac): Check for strtof.

2011-06-13  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Addendum to 2011-06-08 commit.
	* gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
	and --witness-c-macro have been given, augment AM_CPPFLAGS.

2011-06-13  Bruno Haible  <bruno@clisp.org>

	fseeko: Provide a non-inline replacement of fseek().
	* lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
	* modules/fseeko (Depends-on): Add fseek.
	* modules/fseek (License): Change to LGPLv2+.

2011-06-13  Bruno Haible  <bruno@clisp.org>

	ftello: Provide a non-inline replacement of ftell().
	* lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
	* m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
	not have ftello() (such as on mingw).
	* modules/ftello (Depends-on): Add ftell.
	* modules/ftell (License): Change to LGPLv2+.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	ftell: Move AC_LIBOBJ invocations to module description.
	* m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
	* modules/ftell (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	ftello: Respect rules for use of AC_LIBOBJ.
	* m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
	(gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
	here...
	* modules/ftello (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	fseeko: Simplify.
	* m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
	(gl_FUNC_FSEEKO): Inline it here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	fseek: Move AC_LIBOBJ invocations to module description.
	* m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
	(gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
	* modules/fseek (configure.ac): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	fseek: Respect rules for use of AC_LIBOBJ.
	* m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
	here...
	* m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	fseeko: Respect rules for use of AC_LIBOBJ.
	* m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
	(gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
	here...
	* modules/fseeko (configure.ac): ... to here.

2011-06-13  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Allow comments in the 'Depends-on' section.
	* doc/gnulib.texi (Module description): Mention comment syntax in the
	Depends-on section.
	* gnulib-tool (func_get_dependencies): Filter out comment lines.

2011-06-13  Bruno Haible  <bruno@clisp.org>

	file-set.h: guard __attibute__ use, now that it's not always defined
	* lib/file-set.h (record_file): Use __attribute__ only with compiler
	versions that support it.  This fixes a coreutils build failure with
	the vendor cc on HP-UX 11.31.

2011-06-12  Bruno Haible  <bruno@clisp.org>

	acl: Add support for HP-UX >= 11.11 JFS ACLs.
	* doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
	* m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
	* lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
	(acl, aclsort): New declarations.
	(aclv_nontrivial): New declaration.
	* lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
	(file_has_acl): Read also the second kind of HP-UX ACLs.
	* lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
	kind of HP-UX ACLs if the first kind fails.
	* lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
	second kind of HP-UX ACLs.
	* tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
	(main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
	agree.
	* tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
	hpuxjfs.
	Handle hpuxjfs.
	* tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
	hpuxjfs.
	Handle hpuxjfs.
	* tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
	(func_test_same_acls): Use both lsacl and getacl.
	Handle hpuxjfs.
	* tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
	(func_test_same_acls): Use both lsacl and getacl.
	Handle hpuxjfs.

2011-06-12  Bruno Haible  <bruno@clisp.org>

	acl: Complete the 2010-08-10 fix.
	* lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
	* lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
	* lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
	explicitly.
	* tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
	Reported in <http://debbugs.gnu.org/db/60/6053.html>.

2011-06-12  Bruno Haible  <bruno@clisp.org>

	spawn-pipe tests: Comments.
	* tests/test-spawn-pipe-child.c (main): Update comment.
	Reported by James Youngman <jay@gnu.org>.

2011-06-11  James Youngman  <jay@gnu.org>

	New module 'stat-size'.
	* modules/stat-size: New module.  Provides macros for accessing
	file size information in instances of struct stat.  Depends on the
	fileblocks module because it calls st_blocks.
	* lib/stat-size.h: New file, adapted from coreutils' system.h.
	* doc/gnulib.texi: Include stat-size.texi.
	* doc/stat-size.texi: Documentation for this module.
	* m4/stat-size.m4: New file; defines gl_STAT_SIZE.
	* m4/fileblocks.m4: Mention that stat-size depends on the call to
	AC_STRUCT_ST_BLOCKS.

2011-06-09  Bruno Haible  <bruno@clisp.org>

	thread: Support pthreads-win32.
	* lib/glthread/thread.h (gl_thread_self): Define differently on
	pthreads-win32.
	(gl_null_thread): New declaration.
	(gl_thread_self_pointer): New macro.
	* lib/glthread/thread.c (gl_null_thread): New constant.
	* tests/test-lock.c: Use gl_thread_self_pointer instead of
	gl_thread_self.
	* tests/test-tls.c: Likewise.
	Suggested by Paul Eggert. Reported by Eric Blake.

2011-06-09  Bruno Haible  <bruno@clisp.org>

	thread: Fix confusion between NULL and 0.
	* lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
	Reported by Paul Eggert.

2011-06-09  Bruno Haible  <bruno@clisp.org>

	spawn-pipe tests: Avoid test failure on HP-UX 11.
	* tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
	is closed.

2011-06-09  Bruno Haible  <bruno@clisp.org>

	acl tests: Fix compilation error on HP-UX 11.
	* tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.

2011-06-09  Bruno Haible  <bruno@clisp.org>

	rmdir: Avoid test failure on HP-UX 10.20.
	* tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
	EEXIST.

2011-06-08  Eric Blake  <eblake@redhat.com>

	perror: fix test on mingw
	* modules/perror-tests (Depends-on): Add dup2.

	strerror_r-posix: fix on MacOS
	* m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
	logic bug.
	* lib/strerror_r.c (strerror_r): Fix the bug.
	* lib/strerror.c (strerror): Likewise.
	* doc/posix-functions/strerror_r.texi (strerror_r): Document the
	problem.
	* doc/posix-functions/strerror.texi (strerror): Likewise.
	* doc/posix-functions/perror.texi (perror): Likewise.
	* tests/test-strerror.c (main): Enhance test.
	* tests/test-strerror_r.c (main): Likewise.

2011-06-08  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Better isolation between different gnulib-tool invocations.
	* gnulib-tool: New option --witness-c-macro.
	(witness_c_macro): New variable.
	(func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
	AM_CPPFLAGS define it as a C macro.
	(func_emit_tests_Makefile_am): Likewise.
	(func_import): Store witness_c_macro setting in gnulib-cache.m4 and
	read it from there.
	* m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
	m4_define, not AC_DEFUN.
	(gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
	gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
	(gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
	* modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
	s|...|...|, to substitute the values of the GNULIB_* module indicator
	variables.
	* modules/dirent (Makefile.am): Likewise.
	* modules/fcntl-h (Makefile.am): Likewise.
	* modules/iconv-h (Makefile.am): Likewise.
	* modules/langinfo (Makefile.am): Likewise.
	* modules/locale (Makefile.am): Likewise.
	* modules/math (Makefile.am): Likewise.
	* modules/netdb (Makefile.am): Likewise.
	* modules/poll-h (Makefile.am): Likewise.
	* modules/pty (Makefile.am): Likewise.
	* modules/search (Makefile.am): Likewise.
	* modules/signal (Makefile.am): Likewise.
	* modules/spawn (Makefile.am): Likewise.
	* modules/stdio (Makefile.am): Likewise.
	* modules/stdlib (Makefile.am): Likewise.
	* modules/string (Makefile.am): Likewise.
	* modules/sys_ioctl (Makefile.am): Likewise.
	* modules/sys_select (Makefile.am): Likewise.
	* modules/sys_socket (Makefile.am): Likewise.
	* modules/sys_stat (Makefile.am): Likewise.
	* modules/sys_times (Makefile.am): Likewise.
	* modules/sys_utsname (Makefile.am): Likewise.
	* modules/sys_wait (Makefile.am): Likewise.
	* modules/termios (Makefile.am): Likewise.
	* modules/time (Makefile.am): Likewise.
	* modules/unistd (Makefile.am): Likewise.
	* modules/wchar (Makefile.am): Likewise.

2011-06-08  Eric Blake  <eblake@redhat.com>

	strerror: simplify replacement
	* m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
	* modules/strerror (configure.ac): No prereqs needed here...
	* modules/strerror-override (configure.ac): ...but this needs it.
	(Files): Add file for needed prereq macro.

2011-06-08  Bruno Haible  <bruno@clisp.org>

	strerror_r-posix: Tweaks.
	* m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
	gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
	message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
	(gl_FUNC_STRERROR_R): ... to here.
	(gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.

2011-06-07  Eric Blake  <eblake@redhat.com>

	perror: document fixed bugs
	* doc/posix-functions/perror.texi (perror): Document recent
	patches.

2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>

	stat-time: get_stat_birthtime failure is better-defined
	* lib/stat-time.h (get_stat_birthtime): If the time is not available,
	return a timestamp whose tv_sec and tv_nsec values are both -1.
	Previously, the spec said only that the tv_nsec value was negative.
	This upward-compatible change simplifies GNU tar a bit.

2011-06-07  Eric Blake  <eblake@redhat.com>

	strerror_r-posix: work around cygwin 1.7.9
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
	(gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
	bug without replacing strerror_r.
	* m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
	strerror_r is buggy, but without requiring strerror_r compilation.
	* doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.

	test-perror: relax test to ignore cygwin bug
	* tests/test-perror2.c (main): Relax test on requiring detection
	of stream errors, and use unbuffered stream.
	* doc/posix-functions/dprintf.texi (dprintf): Document bug.
	* doc/posix-functions/fprintf.texi (fprintf): Likewise.
	* doc/posix-functions/fputc.texi (fputc): Likewise.
	* doc/posix-functions/fputs.texi (fputs): Likewise.
	* doc/posix-functions/fputws.texi (fputws): Likewise.
	* doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
	* doc/posix-functions/fwrite.texi (fwrite): Likewise.
	* doc/posix-functions/getopt.texi (getopt): Likewise.
	* doc/posix-functions/perror.texi (perror): Likewise.
	* doc/posix-functions/printf.texi (printf): Likewise.
	* doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
	* doc/posix-functions/psignal.texi (psignal): Likewise.
	* doc/posix-functions/putc.texi (putc): Likewise.
	* doc/posix-functions/putc_unlocked.texi (putc_unlocked):
	Likewise.
	* doc/posix-functions/putchar.texi (putchar): Likewise.
	* doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
	Likewise.
	* doc/posix-functions/puts.texi (puts): Likewise.
	* doc/posix-functions/putwc.texi (putwc): Likewise.
	* doc/posix-functions/putwchar.texi (putwchar): Likewise.
	* doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
	* doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
	* doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
	* doc/posix-functions/vprintf.texi (vprintf): Likewise.
	* doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
	* doc/posix-functions/wordexp.texi (wordexp): Likewise.
	* doc/posix-functions/wprintf.texi (wprintf): Likewise.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	strerror: Move AC_LIBOBJ invocations to module description.
	* m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
	gl_PREREQ_STRERROR invocations from here...
	* modules/strerror (configure.ac): ... to here.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	perror: Use common idiom.
	* modules/perror (configure.ac): Reorder statements.

2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests: fix usage message in 'mktempd_'
	* tests/init.sh (mktempd_): In the usage message, use literal
	'mktempd_', not '$ME' (which is even undefined), as the name of
	the subroutine.

2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>

	tests init: new function 'fatal_', for hard errors
	Before this patch, the only way offered by tests/init.sh to
	properly signal a hard error was the `framework_failure_'
	function.  But the error message issued by that function,
	as its name would suggest, refers to a set-up failure in the
	testsuite, while hard errors can obviously also be due to
	other reasons.  The best way to fix this inconsistency is to
	introduce a new function with a more general error message.
	* tests/init.sh (fatal_): New function.

2011-06-06  Eric Blake  <eblake@redhat.com>

	canonicalize-lgpl: use common idiom
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
	over newer POSIX -Rf.
	Reported by Bruno Haible.

	canonicalize-lgpl: work around AIX realpath bug
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
	* doc/posix-functions/realpath.texi (realpath): Document it.
	Reported by Bruno Haible.

	strerror: work around FreeBSD bug
	* lib/strerror.c (strerror): Special case 0.
	Reported by Bruno Haible.

	strerror-override: avoid bloating errno module
	* modules/errno (Files, configure.ac): Move replacement strings...
	* modules/strerror-override: ...to new module.
	* modules/strerror (Depends-on): Add strerror-override.
	* modules/strerror_r-posix (Depends-on): Likewise.
	* MODULES.html.sh: Document new module.
	Reported by Bruno Haible.

2011-06-06  Bruno Haible  <bruno@clisp.org>

	spawn-pipe tests: Rename program.
	* tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
	* tests/test-spawn-pipe-child.c: Update comment.
	* tests/test-spawn-pipe.sh: Update.
	* modules/spawn-pipe-tests (Files, Makefile.am): Update.

	spawn-pipe tests: Link the child program only against libc.
	* tests/test-spawn-pipe-child.c: New file, extracted from
	tests/test-spawn-pipe.c.
	(main): Expect only one argument.
	(is_open): New function, copied from tests/test-pipe.c.
	* tests/test-spawn-pipe.c: Don't include <errno.h>.
	(child_main): Remove function.
	(test_pipe): Pass only one argument to the child program.
	(main): Remove child process code. Expect the child program's name as
	first argument.
	* tests/test-spawn-pipe.sh: Pass the child program's name as first
	argument.
	* modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
	(Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
	test-spawn-pipe-child against no libraries.

2011-06-06  Bruno Haible  <bruno@clisp.org>

	careadlinkat: Avoid mismatch between ssize_t and int.
	* lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
	* lib/careadlinkat.c (careadlinkatcwd): Define always.

2011-06-06  Jim Meyering  <meyering@redhat.com>

	gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
	* m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
	_GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.

2011-06-05  Bruno Haible  <bruno@clisp.org>

	ansi-c++-opt: Interoperability with libtool.
	* m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
	set the variable to "no", not to ":".
	* NEWS: Mention the change.

2011-06-05  Bruno Haible  <bruno@clisp.org>

	acl: Fix test failure on AIX 7.
	* tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
	Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.

2011-06-05  Bruno Haible  <bruno@clisp.org>

	pipe-filter-ii: Fix test failure on AIX and IRIX.
	* lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
	with EAGAIN, retry with a smaller buffer size.

2011-06-05  Bruno Haible  <bruno@clisp.org>

	localename: Fix link dependencies.
	* modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
	* modules/localename-tests (Makefile.am): Link test-localename with
	$(LIBTHREAD).

2011-06-05  Bruno Haible  <bruno@clisp.org>

	error: Avoid gcc warning.
	* lib/error.c (strerror_r): Declare also when its return type is 'int'.

2011-06-05  Bruno Haible  <bruno@clisp.org>

	unsetenv: Avoid gcc warning.
	* lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.

2011-06-05  Bruno Haible  <bruno@clisp.org>

	setenv: Avoid gcc warning.
	* lib/setenv.c (setenv): Provide declaration if system lacks it.

2011-06-05  Bruno Haible  <bruno@clisp.org>

	sys_select: Ensure memset is declared also on AIX 7.
	* lib/sys_select.in.h: Include <string.h> also on AIX.
	* doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
	self-contained also on AIX 7.1.

2011-06-04  Jim Meyering  <meyering@redhat.com>

	maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
	* top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
	function name, "error".
	(_gl_translatable_diag_func_re): New configurable variable.

2011-06-04  Bruno Haible  <bruno@clisp.org>

	getopt: Avoid gcc warning.
	* lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.

2011-06-04  Bruno Haible  <bruno@clisp.org>

	strerror_r: Fix comments.
	* lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
	commit.

2011-06-04  Bruno Haible  <bruno@clisp.org>

	perror: Fix compilation error.
	* lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
	Undefine fprintf, not sprintf.
	* modules/perror (Depends-on): Remove intprops, verify.

2011-06-04  Bruno Haible  <bruno@clisp.org>

	setlocale: Enable replacement on Cygwin 1.5.
	* m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
	Cygwin 1.5.x.
	* doc/posix-functions/setlocale.texi: Mention that the problem with the
	LC_CTYPE category also exists on Cygwin 1.5.x.

2011-06-04  Bruno Haible  <bruno@clisp.org>

	strerror-override: Don't disable symbol renamings.
	* lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
	* lib/strerror-override.c: Include config.h.
	(strerror_override): Don't undefine.

2011-06-03  Bruno Haible  <bruno@clisp.org>

	Copyright: Use LGPL 2.1 instead of LGPL 2.0.
	* lib/localename.h: Update copyright header.
	* lib/localename.c: Likewise.
	* lib/relocatable.h: Likewise.
	* lib/relocatable.c: Likewise.

2011-06-02  Bruno Haible  <bruno@clisp.org>

	doc: Fix a module name.
	* doc/posix-functions/open.texi: Fix module name 'nonblocking'.

2011-06-02  Bruno Haible  <bruno@clisp.org>

	pipe2: Remove dependency on 'nonblocking' module.
	* lib/pipe2.c: Include verify.h. Include nonblocking.h only if
	O_NONBLOCK is defined by gnulib.
	(pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
	is zero.
	* modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
	* tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
	defined by gnulib.
	(get_nonblocking_flag): New function.
	(main): Test O_NONBLOCK flag only if it is nonzero.
	* doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.

2011-06-03  Jim Meyering  <meyering@redhat.com>

	maint: three new prohibit-header-without-use rules
	Prohibit use of cloexec.h, posixver.h, same.h without use.
	* top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
	(sc_prohibit_posixver_without_use): Likewise.
	(sc_prohibit_same_without_use): Likewise.

2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>

	allocator: 'die' routine is now given requested size
	* lib/allocator.h (struct allocator.die): New size arg.
	* lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
	If the actual problem is an ssize_t limitation, not a size_t or
	malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.

2011-06-01  Eric Blake  <eblake@redhat.com>

	strerror: drop strerror_r dependency
	* lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
	* lib/strerror-override.c (strerror_override): ...to new file.
	* lib/strerror-override.h: Add prototype.
	* lib/strerror-impl.h: Delete.
	* lib/strerror.c (strerror): New implementation.
	* modules/errno (Files): Add new files.
	(configure.ac): Compile new file as appropriate.
	* modules/strerror (Files): Drop unused file.
	(Depends-on): Drop strerror_r-posix.
	* MODULES.html.sh: Document strerror_r-posix.
	Requested by Sam Steingold.

	perror: call strerror_r directly
	* modules/perror (Files): Drop strerror-impl.h.
	* lib/perror.c (perror): Use our own stack buffer, rather than
	calling a wrapper that uses static storage.
	* doc/posix-functions/perror.texi (perror): Document a limitation
	of our replacement.

	strerror_r: fix includes for FreeBSD
	* lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
	since we use abort on some platforms.
	Reported by Matthias Bolte.

2011-05-31  Bruno Haible  <bruno@clisp.org>

	Fix link errors in tests: openat-die uses gettext-h.
	* modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
	against $(LIBINTL).
	* modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
	against $(LIBINTL).
	* modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
	$(LIBINTL).
	* modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
	against $(LIBINTL).
	* modules/linkat-tests (Makefile.am): Link test-linkat against
	$(LIBINTL).
	* modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
	$(LIBINTL).
	* modules/openat-safer-tests (Makefile.am): Link test-openat-safer
	against $(LIBINTL).
	* modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
	test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
	* modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
	$(LIBINTL).
	* modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
	$(LIBINTL).
	* modules/utimensat-tests (Makefile.am): Link test-utimensat against
	$(LIBINTL).
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2011-05-31  Bruno Haible  <bruno@clisp.org>

	Fix link errors in tests: wait-process uses gettext-h.
	* modules/nonblocking-pipe-tests (Makefile.am): Set
	test_nonblocking_pipe_main_LDADD.
	* modules/nonblocking-socket-tests (Makefile.am): Link
	test-nonblocking-socket-main against $(LIBINTL).
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>

	assert-h: work around 'verify' incompatibility
	* lib/verify.h: Use @...@ directives, not ifdef.
	* modules/assert-h (assert.h): Implement the directives.
	(assert.h): Substitute the symbol-prefix more consistently.

2011-05-29  Jim Meyering  <meyering@redhat.com>

	trim: remove three superfluous assignments
	* lib/trim.c (trim2): Remove three superfluous assignments
	and correct brace positioning.

2011-05-29  Bruno Haible  <bruno@clisp.org>

	wctype-h: Avoid namespace pollution on Solaris 2.6.
	* lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
	identifiers.
	* doc/posix-headers/wctype.texi: Mention the problem.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2011-05-28  Jim Meyering  <meyering@redhat.com>

	parse-datetime.y: accommodate -Wstrict-overflow
	* lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
	placate -Wstrict-overflow.

	trim: avoid a warning from -O2 -Wstrict-overflow
	* lib/trim.c (trim2): Declare local to be "unsigned int", not "int".

2011-05-29  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix bug in yesterday's commit.
	* gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
	twice.

2011-05-29  Bruno Haible  <bruno@clisp.org>

	Allow multiple gnulib generated include files to be combined.
	* gnulib-tool (func_compute_include_guard_prefix): New function.
	(func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
	${gl_include_guard_prefix} references.
	(func_import, func_create_testdir): Invoke
	func_compute_include_guard_prefix.
	* lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
	* lib/ctype.in.h: Likewise.
	* lib/dirent.in.h: Likewise.
	* lib/errno.in.h: Likewise.
	* lib/fcntl.in.h: Likewise.
	* lib/float.in.h: Likewise.
	* lib/getopt.in.h: Likewise.
	* lib/iconv.in.h: Likewise.
	* lib/langinfo.in.h: Likewise.
	* lib/locale.in.h: Likewise.
	* lib/math.in.h: Likewise.
	* lib/netdb.in.h: Likewise.
	* lib/netinet_in.in.h: Likewise.
	* lib/poll.in.h: Likewise.
	* lib/pthread.in.h: Likewise.
	* lib/pty.in.h: Likewise.
	* lib/sched.in.h: Likewise.
	* lib/se-selinux.in.h: Likewise.
	* lib/search.in.h: Likewise.
	* lib/signal.in.h: Likewise.
	* lib/spawn.in.h: Likewise.
	* lib/stdarg.in.h: Likewise.
	* lib/stddef.in.h: Likewise.
	* lib/stdint.in.h: Likewise.
	* lib/stdio.in.h: Likewise.
	* lib/stdlib.in.h: Likewise.
	* lib/string.in.h: Likewise.
	* lib/strings.in.h: Likewise.
	* lib/sys_file.in.h: Likewise.
	* lib/sys_ioctl.in.h: Likewise.
	* lib/sys_select.in.h: Likewise.
	* lib/sys_socket.in.h: Likewise.
	* lib/sys_stat.in.h: Likewise.
	* lib/sys_time.in.h: Likewise.
	* lib/sys_times.in.h: Likewise.
	* lib/sys_uio.in.h: Likewise.
	* lib/sys_utsname.in.h: Likewise.
	* lib/sys_wait.in.h: Likewise.
	* lib/sysexits.in.h: Likewise.
	* lib/termios.in.h: Likewise.
	* lib/time.in.h: Likewise.
	* lib/unistd.in.h: Likewise.
	* lib/wchar.in.h: Likewise.
	* lib/wctype.in.h: Likewise.
	* modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
	* modules/ctype (Makefile.am): Likewise.
	* modules/dirent (Makefile.am): Likewise.
	* modules/errno (Makefile.am): Likewise.
	* modules/fcntl-h (Makefile.am): Likewise.
	* modules/float (Makefile.am): Likewise.
	* modules/getopt-posix (Makefile.am): Likewise.
	* modules/iconv-h (Makefile.am): Likewise.
	* modules/langinfo (Makefile.am): Likewise.
	* modules/locale (Makefile.am): Likewise.
	* modules/math (Makefile.am): Likewise.
	* modules/netdb (Makefile.am): Likewise.
	* modules/netinet_in (Makefile.am): Likewise.
	* modules/poll-h (Makefile.am): Likewise.
	* modules/pthread (Makefile.am): Likewise.
	* modules/pty (Makefile.am): Likewise.
	* modules/sched (Makefile.am): Likewise.
	* modules/search (Makefile.am): Likewise.
	* modules/selinux-h (Makefile.am): Likewise.
	* modules/signal (Makefile.am): Likewise.
	* modules/spawn (Makefile.am): Likewise.
	* modules/stdarg (Makefile.am): Likewise.
	* modules/stddef (Makefile.am): Likewise.
	* modules/stdint (Makefile.am): Likewise.
	* modules/stdio (Makefile.am): Likewise.
	* modules/stdlib (Makefile.am): Likewise.
	* modules/string (Makefile.am): Likewise.
	* modules/strings (Makefile.am): Likewise.
	* modules/sys_file (Makefile.am): Likewise.
	* modules/sys_ioctl (Makefile.am): Likewise.
	* modules/sys_select (Makefile.am): Likewise.
	* modules/sys_socket (Makefile.am): Likewise.
	* modules/sys_stat (Makefile.am): Likewise.
	* modules/sys_time (Makefile.am): Likewise.
	* modules/sys_times (Makefile.am): Likewise.
	* modules/sys_uio (Makefile.am): Likewise.
	* modules/sys_utsname (Makefile.am): Likewise.
	* modules/sys_wait (Makefile.am): Likewise.
	* modules/sysexits (Makefile.am): Likewise.
	* modules/termios (Makefile.am): Likewise.
	* modules/time (Makefile.am): Likewise.
	* modules/unistd (Makefile.am): Likewise.
	* modules/wchar (Makefile.am): Likewise.
	* modules/wctype-h (Makefile.am): Likewise.
	* modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.

2011-05-29  Bruno Haible  <bruno@clisp.org>

	assert-h: Allow multiple gnulib generated replacements to coexist.
	* lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.

2011-05-29  Bruno Haible  <bruno@clisp.org>

	argp: Allow coexistence with strerror_r-posix module.
	* lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
	(either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
	by gnulib's <string.h> replacement), assume it has the POSIX signature,
	not the glibc signature.

2011-05-28  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Alternative structure of testdirs, similar to --import.
	* gnulib-tool: New option --single-configure.
	(func_usage): Document it.
	(single_configure): New variable.
	(func_modules_transitive_closure_separately,
	func_modules_transitive_closure_separately,
	func_determine_use_libtests, func_modules_add_dummy_separately,
	func_modules_to_filelist_separately): New functions, extracted from
	func_import.
	(func_emit_tests_Makefile_am): Handle $single_configure = true case.
	(func_import): Use the new functions.
	(func_create_testdir): Set final_modules. Handle $single_configure =
	true case.

2011-05-28  Bruno Haible  <bruno@clisp.org>

	getloadavg: Remove an unreliable safety check.
	* m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
	getloadavg.c is in place.
	* modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
	Reported by Sam Steingold <sds@gnu.org>.

2011-05-28  Bruno Haible  <bruno@clisp.org>

	doc: Cleanup yet another file produced by texinfo.tex.
	* doc/Makefile (mostlyclean): Remove also gnulib.cn.

2011-05-28  Bruno Haible  <bruno@clisp.org>

	Finish the conditional dependencies mechanism.
	* gnulib-tool: New option --no-conditional-dependencies.
	(func_usage): Document it. Don't mark --conditional-dependencies as
	experimental.
	(cond_dependencies): The possible values can now be true, false, empty.
	(func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
	(func_import): Store setting in gnulib-cache.m4 and read it from there.
	* doc/gnulib-tool.texi (Conditional dependencies): New section.

2011-05-28  Bruno Haible  <bruno@clisp.org>

	doc: Use a recent texinfo.tex.
	* doc/Makefile (tex_opts): New variable.
	(%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.

2011-05-28  Jim Meyering  <meyering@redhat.com>

	intprops.h: adjust comment to match code change
	* lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
	only once, it *may* have side effects.  Also fix an unrelated typo.
	(_GL_INT_SIGNED): Likewise.

2011-05-26  Simon Josefsson  <simon@josefsson.org>

	* lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.

2011-05-26  Bruno Haible  <bruno@clisp.org>

	mbsrchr: Avoid collision with system function on Interix.
	* lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
	Reported by Markus Duft <mduft@gentoo.org>.

2011-05-15  James Youngman  <jay@gnu.org>

	getopt: for ambiguous options, enumerate the possibilities.
	* lib/getopt.c (_getopt_internal_r): Merge glibc change printing
	the ambiguous options when an ambiguous prefix is given. This was
	http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
	glibc change was
	http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.

2011-05-25  Eric Blake  <eblake@redhat.com>

	getcwd: work around mingw bug
	* lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
	* doc/posix-functions/getcwd.texi (getcwd): Document it.
	Reported by Matthias Bolte.

2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>

	test-intprops: disable -Wtype-limits diagnostics
	* tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
	diagnostics.  Otherwise, the integer overflow macros generate many
	diagnostics.  Reported by Jim Meyering in
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.

	intprops: shorten, to pacify gcc -Woverlength-strings
	* lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
	(_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
	so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
	likely to run afoul of C compiler limits for string constant lengths.
	See <http://lists.gnu.org/r/bug-gnulib/2011-05/msg00528.html>.

2011-05-24  Eric Blake  <eblake@redhat.com>

	docs: document recently fixed glibc printf bug
	* doc/posix-functions/fprintf.texi (fprintf): Document it.
	* doc/posix-functions/printf.texi (printf): Likewise.
	* doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
	* doc/posix-functions/vprintf.texi (vprintf): Likewise.

	closein-tests: convert to init.sh
	* modules/closein-tests (Files): Add init.sh
	* tests/test-closein.sh Use it.

	yesno-tests: convert to init.sh
	* modules/yesno-tests (Files): Add init.sh.
	* tests/test-yesno.sh: Use it.

	atexit-tests: ensure reliable exit status
	* tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
	Reported by Bruno Haible.

2011-05-24  Bruno Haible  <bruno@clisp.org>

	strerror_r-posix: Respect rules for use of AC_LIBOBJ.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
	gl_PREREQ_STRERROR_R invocations from here...
	* modules/strerror_r-posix (configure.ac): ... to here.

2011-05-24  Eric Blake  <eblake@redhat.com>

	strerror_r: fix missing header
	* lib/strerror_r.c: Avoid compiler warning about snprintf.

	strerror_r: fix AIX test failures
	* lib/strerror_r.c (strerror_r): Convert silent truncation to
	ERANGE failure.

	strerror_r: fix Solaris test failures
	* lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
	failures.
	* doc/posix-functions/strerror_r.texi (strerror_r): Document this.

	strerror_r: enforce POSIX recommendations
	* lib/strerror_r.c (safe_copy): New helper method.
	(strerror_r): Guarantee a non-empty string.
	* tests/test-strerror_r.c (main): Enhance tests to incorporate
	recent POSIX rulings and to match our strerror guarantees.
	* doc/posix-functions/strerror_r.texi (strerror_r): Document this.

2011-05-24  Jim Meyering  <meyering@redhat.com>

	test-perror2.c: avoid warning about unused variable
	* tests/test-perror2.c (main): Remove declaration of unused "fp".

2011-05-24  Eric Blake  <eblake@redhat.com>

	perror: avoid spurious test failure on HP-UX
	* tests/test-perror.sh: Use Exit to avoid wrong exit status.

	tests: fix logic bug in init.sh
	* tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
	shell.

2011-05-24  Jim Meyering  <meyering@redhat.com>

	utimensat: do not reference an out-of-scope buffer
	Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
	declared in an inner scope, yet "times" would be dereferenced outside
	the scope in which "ts" was valid.
	* lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
	of ts[2] "out/up", so that the use of aliased "times" (via
	"times = ts;") does not end up referencing an out-of-scope "ts"

	opendir-safer.c: don't clobber errno; don't close negative FD
	* lib/opendir-safer.c (opendir_safer):
	[HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
	file descriptor, and more importantly, don't clobber the
	offending errno value with EINVAL.  Before, upon failure
	of dup_safer, we would pass the negative file descriptor to
	fdopendir, which would clobber errno.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	idcache: Fix module description.
	* modules/idcache (Include): Set to "idcache.h".

2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>

	gnulib-tool: fix portability problem with MacOS sed
	A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
	before the "}".  Problem reported by Leo in
	<http://lists.gnu.org/r/emacs-devel/2011-05/msg00717.html>.
	* gnulib-tool (func_modules_transitive_closure): Insert newlines in
	sed_extract_condition1, sed_extract_condition2.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	hash: Simplify autoconf macro.
	* m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.

2011-05-23  Bruno Haible  <bruno@clisp.org>

	getugroups: Fix module description.
	* modules/getugroups (Include): Set to "getugroups.h".

2011-05-23  Bruno Haible  <bruno@clisp.org>

	linkat: Simplify autoconf macro.
	* m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.

2011-05-23  Bruno Haible  <bruno@clisp.org>
	    Eric Blake  <eblake@redhat.com>

	linkat, renameat: Update dependencies.
	* modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
	* modules/linkat (Depends-on): Likewise. Remove also readlink,
	symlinkat.

2011-05-23  Jim Meyering  <meyering@redhat.com>

	maint.mk: more tight_scope improvements
	* top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
	(_gl_TS_headers): Define only in if-0'd block.
	(_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
	sometimes we must *not* use it.  Adjust uses accordingly.
	(sc_tight_scope): Use much simpler grep-based test to determine
	whether we skip this rule.

	maint.mk: generalize/improve the tight-scope rule
	* top/maint.mk: Emit a warning when the test is skipped.
	(_gl_TS_dir): Add $(srcdir)/ prefix.
	(_gl_TS_function_match): Simplify, rather than trying
	to enumerate common types.  Otherwise, it would fail to match an
	"extern unsigned char const *" declaration in idutils.
	(_gl_TS_extern): Do not endorse use of "XTERN", but do provide
	a way to support use of that type of macro.
	(_gl_TS_var_match): Simplify regexp.
	(_gl_TS_obj_files): New configurable variable.
	(_gl_TS_headers): Likewise.

2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>

	verify: fix bug when gnulib <assert.h> is also included
	* lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
	is defined, not if _GL_STATIC_ASSERT_H is not defined.
	Perhaps there's a better way, but this fixes the immediate problem.
	Problem reported by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00478.html>.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	xgetcwd: Simplify autoconf macro.
	* m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	New module 'mktime-internal'.
	* modules/mktime-internal: New file.
	* m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
	* m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
	mktime_internal as a C macro if libc has __mktime_internal.
	* modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
	conditions.
	* MODULES.html.sh (Date and time <time.h>): Add mktime-internal.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	timegm: Correct mktime replacement statements.
	* m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
	defining mktime as a C macro. This completes a 2009-07-28 commit.

2011-05-22  Bruno Haible  <bruno@clisp.org>

	timegm: Simplify autoconf macro.
	* m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.

2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>

	clock-time: change to LGPLv2+.
	* modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
	BSD-like but we have no mark for that; this is good enough for now.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	strerror_r: Fix comments.
	* lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	relocatable-prog-wrapper: Fix possible link error.
	* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
	HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
	(gl_FUNC_SETENV): ... to here.
	* m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
	* m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	relocatable-prog-wrapper: Assume strerror() exists.
	* modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
	m4/strerror.m4.
	(configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
	* lib/relocwrapper.c: Remove mention of strerror module.
	* lib/strerror.c: Assume REPLACE_STRERROR is 1.
	* m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
	(gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
	C macro.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	select: Simplify replacement idiom.
	* m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
	Win32 platforms.
	* lib/sys_select.in.h (select): Simplify accordingly.
	* modules/select (Depends-on): Likewise.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mkdir-p: Simplify autoconf macro.
	* m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
	gl_FUNC_LCHOWN.

2011-05-21  Eric Blake  <eblake@redhat.com>

	strerror_r: avoid clobbering strerror on cygwin
	* lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
	fall back instead to sys_errlist.
	* modules/strerror (configure.ac): Add witness.
	* tests/test-strerror_r.c (main): Enhance test.
	* doc/posix-functions/strerror_r.texi (strerror_r): Document it.
	* tests/test-perror2.c (main): Free memory before exit.

2011-05-21  Bruno Haible  <bruno@clisp.org>

	mkdtemp: Use gnulib naming conventions.
	* m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
	* modules/mkdtemp (configure.ac): Update.

2011-05-20  Eric Blake  <eblake@redhat.com>

	strerror_r: avoid corrupting errno on Solaris
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
	* doc/posix-functions/strerror_r.texi (strerror_r): Document it.

	strerror_r: avoid compiler warning
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.

	strerror_r: simplify AIX code
	* lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.

	test-perror: avoid spurious failure on FreeBSD
	* modules/perror-tests (Depends-on): Add strerror, now that
	strerror_r no longer pulls it in.

2011-05-20  Bruno Haible  <bruno@clisp.org>

	strerror_r-posix: Remove unused dependencies.
	* modules/strerror_r-posix (Depends-on): Remove strerror.
	Reported by Eric Blake.

2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: remove assumption about A|B representation
	* lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
	is a valid integer if both A and B are.  Although this is true for
	all known practical hosts, the C standard doesn't guarantee it,
	and the code need not assume it.  Also, this change may work around
	HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00426.html>.

2011-05-20  Eric Blake  <eblake@redhat.com>

	perror: work around FreeBSD bug
	* m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
	is broken.  Move AC_LIBOBJ...
	* modules/perror (configure.ac): Here.
	* doc/posix-functions/perror.texi (perror): Document this.
	* tests/test-perror2.c (main): Enhance test.

	test-perror: check for strerror interactions
	* tests/macros.h (STREQ): Add macro.
	* modules/perror-tests (Files): Add second test.
	* tests/test-perror2.c (main): New file.
	* doc/posix-functions/perror.texi (perror): Document glibc bug.

	test-perror: rewrite to use init script
	* modules/perror-tests (Files): Add init.sh.
	* tests/test-perror.sh: Use temporary directory.

2011-05-20  Jim Meyering  <meyering@redhat.com>

	maint: replace misused "a" with "an"
	* doc/intprops.texi: "a integer"
	* doc/regex.texi: "a explanation"
	* lib/alignof.h: "a object"
	* lib/argmatch.h: "a explanation"
	* lib/argp-help.c: "a option" and "a OPTION_DOC"
	* lib/stdint.in.h: "a integer"
	* lib/userspec.c: "a owner"
	* doc/gnulib.texi: Fix "a idea", and reword.

2011-05-19  Jim Meyering  <meyering@redhat.com>

	maint: correct misuse of "a" and "an"
	* doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
	* lib/argp-help.c: "an docum...": s/an/a/
	* lib/argp-parse.c: "An vector": s/An/A/
	* lib/execute.c: "an native": s/an/a/
	* lib/spawn-pipe.c: Likewise.
	* lib/gc.h: "an Gc_rc": s/an/a/
	* lib/unigbrk.in.h: "an grapheme": s/an/a/
	* lib/fts.c: "an stat.st_dev": s/an/a/

2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	intprops-tests: work around HP-UX 11.23 cc bug with constants
	* tests/test-intprops.c (VERIFY): New macro.
	(main): Use it, instead of verify, to work around the compiler bug; see
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.

	intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
	See http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html
	* lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
	(_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
	(_GL_REMAINDER_OVERFLOW): Use it.

	intprops-tests: revert unsigned part of previous change
	* tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
	Remove; they weren't actually needed.  All uses of U0 and U1 removed,
	and other casts to 'unsigned int' reverted to 'u' suffixes.  See
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00406.html>.

2011-05-19  Bruno Haible  <bruno@clisp.org>

	strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
	* lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
	strerror_r() returned without filling the buffer.
	Reported by Eric Blake.

2011-05-19  Eric Blake  <eblake@redhat.com>

	strerror_r: guarantee unchanged errno
	* lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
	* lib/strerror-impl.h (strerror): Set errno to match strerror_r
	failure.
	* tests/test-strerror_r.c (main): Enhance test.

2011-05-19  Bruno Haible  <bruno@clisp.org>

	strerror_r: Reorder #if blocks.
	* lib/strerror_r.c (strerror_r): Reorder conditionals in the function
	for consistency with the previous commit.

2011-05-19  Bruno Haible  <bruno@clisp.org>

	perror: Avoid clobbering the strerror buffer when possible.
	* lib/strerror-impl.h: New file, extracted from lib/strerror.c.
	* lib/strerror.c: Include it.
	* modules/strerror (Files): Add lib/strerror-impl.h.
	* lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
	(my_strerror): New function, defined through lib/strerror-impl.h.
	(perror): Use it instead of strerror.
	* modules/perror (Files): Add lib/strerror-impl.h.
	(Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.

2011-05-19  Eric Blake  <eblake@redhat.com>

	strerror_r: fix on newer cygwin
	* lib/strerror_r.c (strerror_r): Cygwin now has
	__xpg_strerror_r, use it.

2011-05-19  Bruno Haible  <bruno@clisp.org>

	strerror_r: Avoid clobbering the strerror buffer when possible.
	* lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
	(sys_nerr, sys_errlist): New declarations.
	(strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
	HP-UX, native Win32, IRIX, and 32-bit Solaris.
	* m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.

2011-05-19  Bruno Haible  <bruno@clisp.org>

	strerror_r: Fix test failure on mingw.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
	EXTEND_STRERROR_R.
	* lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
	macros from errno.in.h instead.

2011-05-19  Eric Blake  <eblake@redhat.com>

	strerror: relax test for Solaris
	* tests/test-strerror.c (main): Permit Solaris behavior.
	* tests/test-strerror_r.c (main): Likewise.

	strerror: enforce POSIX ruling on strerror(0)
	* m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
	* lib/strerror_r.c (rpl_strerror_r): Work around it.
	* doc/posix-functions/strerror.texi (strerror): Document it.
	* doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
	* tests/test-strerror.c (main): Strengthen test.
	* tests/test-strerror_r.c (main): Likewise.

2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	intprop-tests: port to older and more-pedantic compilers
	* modules/intprops-tests (Files): Add tests/macros.h.
	* tests/test-intprops.c: Include macros.h.
	(TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
	it's no longer documented to expand to an integer constant expression.
	(TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
	argument is floating point, as it's no longer documented to expand
	to an integer constant expression in that case.
	(UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
	compiler bugs reported by Bruno Haible.  See
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.
	(U0, U1): New constants, to work around the same bugs.  Also,
	in tests, use e.g., "(unsigned int) 39" rather than "39u".

	intprops: work around C compiler bugs
	* lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
	bug in Sun C 5.11 2010/08/13 and other compilers; see
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00401.html>.

	intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
	* doc/intprops.texi (Integer Type Determination): Fix
	documentation for TYPE_IS_INTEGER: it returns an constant
	expression, not an integer constant expression.  Fix doc for
	TYPE_SIGNED: it returns an integer constant expression only if its
	argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
	hardly worth documented that way....)

2011-05-18  Bruno Haible  <bruno@clisp.org>

	strerror_r: Avoid clobbering the strerror buffer when possible.
	* lib/strerror_r.c (strerror_r): Merge the three implementations.
	Handle gnulib defined errno values here. When strerror() returns NULL
	or an empty string, return EINVAL.
	* lib/strerror.c (strerror): Always call strerror_r. Don't handle
	gnulib defined errno values here.
	* modules/strerror (Depends-on): Add verify, strerror_r-posix.

2011-05-18  Eric Blake  <eblake@redhat.com>

	fnmatch: avoid compiler warning
	* lib/fnmatch_loop.c (FCT): Use correct type.
	Reported by Matthias Bolte.

2011-05-13  Jim Meyering  <meyering@redhat.com>

	maint.mk: three new prohibit_<HDR>_without_use rules
	* top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
	(sc_prohibit_stdio-safer_without_use): Likewise.
	(sc_prohibit_xfreopen_without_use): Likewise.

2011-05-17  Jim Meyering  <meyering@redhat.com>

	announce-gen: fail if the NEWS delta is empty
	If there's nothing noteworthy in NEWS, then either you forgot
	or you shouldn't be releasing.
	* build-aux/announce-gen: Die if the NEWS delta is effectively empty.

2011-05-17  Pádraig Brady  <P@draigBrady.com>

	* top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
	reserved symbols starting with double underscore from the check.

2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: add doc
	* doc/intprops.texi: New file, documenting intprops.
	* doc/gnulib.texi (Particular Modules): Include it.

	verify: add doc to gnulib manual and fix example
	* doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
	* doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
	(Compile-time Assertions): Fix example so it can't overflow.

2011-05-17  Jim Meyering  <meyering@redhat.com>

	warnings.m4: don't usurp save_CPPFLAGS variable name
	* m4/warnings.m4: Prefix local temporary variable name with gl_.

	doc: fix typo
	* doc/gnulib-intro.texi (Target Platforms): s/is/are/

2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	doc: Tweak recent change.
	* README (Portability guidelines): Tweak new text.
	* doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
	Interix 6.1.

2011-05-16  Eric Blake  <eblake@redhat.com>

	inttypes: avoid autoconf warning
	* m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
	* m4/stdint.m4 (gl_STDINT_H): Likewise.

2011-05-16  Sam Steingold  <sds@gnu.org>
	and Eric Blake  <eblake@redhat.com>

	vc-list-files: accept multiple directory operands
	* build-aux/vc-list-files: Iterate over all remaining operands.

2011-05-16  Bruno Haible  <bruno@clisp.org>

	Fix confusion regarding deprecated modules.
	* modules/calloc (Status, Notice): Mark module as deprecated, not
	obsolete.
	* modules/fnmatch-posix (Status, Notice): Likewise.
	* modules/getdate (Status, Notice): Likewise.
	* modules/getopt (Status, Notice): Likewise.
	* modules/malloc (Status, Notice): Likewise.
	* modules/pipe (Status, Notice): Likewise.
	* modules/realloc (Status, Notice): Likewise.
	* modules/rename-dest-slash (Status, Notice): Likewise.
	* modules/unictype/bidicategory-all (Status, Notice): Likewise.
	* modules/unictype/bidicategory-byname (Status, Notice): Likewise.
	* modules/unictype/bidicategory-name (Status, Notice): Likewise.
	* modules/unictype/bidicategory-of (Status, Notice): Likewise.
	* modules/unictype/bidicategory-test (Status, Notice): Likewise.

2011-05-16  Bruno Haible  <bruno@clisp.org>

	doc: List the target platforms.
	* doc/gnulib-intro.texi (Target Platforms): New section.
	* doc/gnulib.texi (Introduction): Update menu.
	* README (Portability guidelines): Refer to the new section. Update
	statement about oldest supported environment. Remove rationale why
	<errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
	unportable C89 function.
	Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
	Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.

2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	* build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.

2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	intprops-tests: new module
	* modules/intprops-tests, tests/test-intprops.c: New files.

	intprops: add safe, portable integer overflow checking
	* lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
	(_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
	(_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
	(INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
	(INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
	(INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
	(_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
	(_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
	(INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
	(INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
	(INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.

2011-05-12  James Youngman  <jay@gnu.org>

	Add a test for glibc's Bugzilla bug #12378.
	* m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
	doesn't allow the literal matching of a lone "[" (which is
	required by POSIX).
	* tests/test-fnmatch.c (main): Check that "[/b" matches itself.

2011-05-11  Ulrich Drepper  <drepper@gmail.com>

	Sync glibc change fixing Bugzilla bug #12378.
	* lib/fnmatch_loop.c (FCT): When matching '[' keep track of
	beginning and fall back to matching as normal character if the
	string ends before the matching ']' is found.  This is what POSIX
	requires.

2011-05-13  Eric Blake  <eblake@redhat.com>

	getcwd-lgpl: relax test for FreeBSD
	* doc/posix-functions/getcwd.texi (getcwd): Document portability
	issue.
	* tests/test-getcwd-lgpl.c (main): Relax test.
	Reported by Matthias Bolte.

2011-05-11  Eric Blake  <eblake@redhat.com>

	test-fflush: silence compiler warning
	* tests/test-fflush.c (main): Don't fclose a NULL pointer.

2011-05-11  Bruno Haible  <bruno@clisp.org>

	canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
	* modules/canonicalize (Depends-on): Add 'nocrash'.
	* modules/canonicalize-lgpl (Depends-on): Likewise.
	* doc/posix-functions/realpath.texi: Update platforms list.
	Reported by Ryan Schmidt <ryandesign@macports.org>.

2011-05-11  Bruno Haible  <bruno@clisp.org>

	group-member: Declare function in <unistd.h>.
	* lib/unistd.in.h (group_member): New declaration.
	* lib/group-member.h: Remove file.
	* lib/group-member.c: Include <unistd.h> instead of group-member.h.
	* tests/test-unistd-c++.cc: Check signature of group_member.
	* m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
	gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
	* m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
	(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
	HAVE_GROUP_MEMBER.
	* modules/group-member (Files): Remove lib/group-member.h.
	(Depends-on): Add unistd. Specify conditions.
	(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
	(Include): Change to <unistd.h>.
	* modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
	HAVE_GROUP_MEMBER.
	* NEWS: Mention the change.
	* lib/euidaccess.c: Don't include group-member.h.

2011-05-11  Bruno Haible  <bruno@clisp.org>

	group-member: Document module.
	* doc/glibc-functions/group_member.texi: Mention the 'group-member'
	module.

2011-05-11  Bruno Haible  <bruno@clisp.org>

	fclose: Fix mistake earlier today.
	* lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.

2011-05-11  Eric Blake  <eblake@redhat.com>

	fclose: preserve fflush errors
	* lib/fclose.c (rpl_fclose): Don't lose fflush errors.
	Reported by Jim Meyering.

	bootstrap: support a prereq of 'rpcgen -' on RHEL5
	* build-aux/bootstrap (check_versions): When no specific version
	is required, merely check that the app produces an exit status
	that indicates its existence.

	maint.mk: drop redundant check
	* top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
	the same but better.

2011-05-11  Bruno Haible  <bruno@clisp.org>

	fclose: Fix possible link error.
	* lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
	unregister_shadow_fd. Improve comments.
	* lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
	Eric Blake.

2011-05-11  Jim Meyering  <meyering@redhat.com>

	maint.mk: improve "can not" detection and generalize rule name
	* top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
	sc_prohibit_can_not, since we'll probably add a few more word pairs here.
	Use the same technique as in sc_prohibit_doubled_word, so that
	we recognize "can not" also when the words are separated by a newline.
	Suggested by Eric Blake.
	(perl_filename_lineno_text_): Define.  Factored out of...
	(prohibit_doubled_word_): ...here.  Use the new definition.
	(prohibit_undesirable_word_seq_): New var.  Use it here, too.
	(prohibit_undesirable_word_seq_RE_): New overridable variable.
	(ignore_undesirable_word_sequence_RE_): New overridable variable.

2011-05-10  Eric Blake  <eblake@redhat.com>

	fclose: avoid double close race when possible
	* lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
	all but WINDOWS_SOCKETS.

2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>

	openat: correct new comment
	* lib/openat-proc.c (openat_proc_name): Correct the comment.

2011-05-10  Jim Meyering  <meyering@redhat.com>

	openat: add comments
	* lib/openat-proc.c (openat_proc_name): Add comments,
	mostly from Eric Blake.

2011-05-09  Eric Blake  <eblake@redhat.com>

	openat: reduce syscalls in first probe of /proc
	* lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
	be a directory.  Simplify the probe for .. bugs.
	* modules/openat (Depends-on): Drop same-inode.
	Reported by Bastien ROUCARIES.

2011-05-09  Jim Meyering  <meyering@redhat.com>

	maint.mk: change semantics/name of tight_scope variables
	* top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
	Rename variables to align with semantics that make them more useful.

	maint.mk: tweak new rule's name not to impinge
	* top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
	(sc_tight_scope): Use new rule name rather than $@-0.

	maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
	* top/maint.mk (sc_tight_scope): New rule.
	(sc_tight_scope-0): New rule, ifdef'd out.
	(_gl_TS_dir): Default.
	(_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
	(_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.

2011-05-09  Simon Josefsson  <simon@josefsson.org>

	* m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
	Haible <bruno@clisp.org>.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	Comments.
	* m4/isnanf.m4: Add comment.
	* m4/isnanl.m4: Likewise.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	glob: Remove obsolete macro.
	* m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.

2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: Sun C 5.11 supports __typeof__
	* lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
	for either GCC 2 or later, as before, or for Sun C 5.11 or later,
	which is new.
	(_GL_SIGNED_TYPE_OR_EXPR): Use it.

	intprops: switch to usual gnulib indenting and naming
	* lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
	(_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.

	* tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.

2011-05-08  Jim Meyering  <meyering@redhat.com>

	maint.mk: suppress "Entering/Leaving directory" diag in announcement
	* top/maint.mk (release-prep): Use make's --no-print-directory
	option when generating the announcement.  This eliminates the
	pesky "make[2]: Entering/Leaving directory" diagnostics in the
	generated announcement template.

2011-05-08  Bruno Haible  <bruno@clisp.org>

	tzset: Fix gettimeofday wrapper on Solaris 2.6.
	* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
	gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.

2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>

	ignore-value, verify: Omit include files from lib_SOURCES.
	* modules/ignore-value, modules/verify (Makefile.am):
	Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
	that leads Automake to duplicate use of am__objects_... variables
	in Makefile.in.  See
	<http://lists.gnu.org/r/emacs-devel/2011-05/msg00257.html>.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	fclose: Simplify autoconf macro.
	* m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
	defined.

2011-05-07  Bruno Haible  <bruno@clisp.org>

	canonicalize-lgpl: Fix autoconf macro ordering bug.
	* m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
	gl_STDLIB_H_DEFAULTS.

2011-05-06  Eric Blake  <eblake@redhat.com>

	maintainer-makefile: make sc_po_check easier to tune
	* top/maint.mk (sc_po_check): Allow overriding which non-VC files
	to probe for strings, such as an alternate location for gnulib.

	fclose: guarantee behavior on seekable stdin
	* modules/fclose (Depends-on): Add fflush.
	* doc/posix-functions/fclose.texi (fclose): Document this.
	* tests/test-fclose.c (main): Make test for this unconditional.

2011-05-06  Bruno Haible  <bruno@clisp.org>

	fflush, fpurge: Relicense under LGPLv2+.
	* modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
	* modules/fpurge (License): Likewise.
	With permission from Eric Blake and Jim Meyering.
	Suggested by Eric Blake.

2011-05-06  Karl Berry  <karl@gnu.org>

	* MODULES.html.sh (func_all_modules): remove exit.

2011-05-06  Jim Meyering  <meyering@redhat.com>

	maint.mk: use info-gnu@ as the default only for a stable release
	* top/maint.mk: Don't default to info-gnu for alpha or beta releases.
	For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
	to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488

2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>

	assert-h: new module, which supports C1X-style static_assert
	* lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
	* lib/verify.h: Revamp so that this can be copied into assert.h,
	while retaining the ability to use it standalone as before.
	Rename private identifiers so as not to encroach on the
	standard C namespace, since this is now used by assert.h.
	(_GL_VERIFY_TYPE): New macro, factoring out differing parts of
	the old verify_true.
	(_GL_VERIFY_TRUE): New macro, with much of the contents of
	the old verify_true.  Use _GL_VERIFY_TYPE.
	(_GL_VERIFY): New macro, with much of the contents of the old verify.
	(static_assert): New macro, if _GL_STATIC_ASSERT_H
	is defined and static_assert is not; _GL_STATIC_ASSERT_H is
	defined when this file is copied into the replacement assert.h.
	(_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
	and _Static_assert is not built in.
	(verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
	defined, and use the new macros mentioned above.
	* doc/posix-headers/assert.texi: Document this.

2011-05-05  Bruno Haible  <bruno@clisp.org>

	fclose, fflush: Respect rules for use of AC_LIBOBJ.
	* m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
	* m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
	gl_REPLACE_FCLOSE here.
	* modules/fflush (Depends-on): Remove fclose.
	* doc/posix-functions/fclose.texi: Mention module 'fflush' only in
	combination with module 'fclose'.

2011-05-05  Bruno Haible  <bruno@clisp.org>

	fflush, fseeko: Respect rules for use of AC_LIBOBJ.
	* m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
	gl_FUNC_FFLUSH.
	(gl_FUNC_FFLUSH): Use it.
	(gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
	* m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
	gl_REPLACE_FSEEKO here.

2011-05-05  Bruno Haible  <bruno@clisp.org>

	tzset: Relicense under LGPL.
	* modules/tzset (License): Change to LGPL.
	No agreement needed; it's a no-op.

	strtoimax, strtoumax: Relicense under LGPL.
	* modules/strtoimax (License): Change to LGPL.
	* modules/strtoumax (License): Likewise.
	With permission from Jim Meyering, Paul Eggert:
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00124.html>
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00109.html>

	getgroups: Relicense under LGPL.
	* modules/getgroups (License): Change to LGPL.
	With permission from Jim Meyering, Paul Eggert, Eric Blake:
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>

	nanosleep: Relicense under LGPL.
	* modules/nanosleep (License): Change to LGPL.
	With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
	Haible:
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00111.html>
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00148.html>
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>

	futimens: Relicense under LGPL.
	* modules/futimens (License): Change to LGPL.
	With permission from Eric Blake:
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>

	fflush: Relicense under LGPL.
	* modules/fflush (License): Change to LGPL.
	With permission from Eric Blake, Bruno Haible, Jim Meyering:
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00138.html>
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00131.html>
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00133.html>

	tmpfile: Relicense under LGPL.
	* modules/tmpfile (License): Change to LGPL.
	With permission from Ben Pfaff:
	<http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>

	isfinite: Relicense under LGPL.
	* modules/isfinite (License): Change to LGPL.
	With permission from Ben Pfaff, Bruno Haible:
	<http://lists.gnu.org/r/bug-gnulib/2010-12/msg00185.html>
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00130.html>

	acosl..tanl: Relicense under LGPL.
	* modules/acosl (License): Change to LGPL.
	* modules/asinl (License): Likewise.
	* modules/atanl (License): Likewise.
	* modules/cosl (License): Likewise.
	* modules/expl (License): Likewise.
	* modules/logl (License): Likewise.
	* modules/sinl (License): Likewise.
	* modules/sqrtl (License): Likewise.
	* modules/tanl (License): Likewise.
	Source code originally from glibc and Paolo Bonzini. Agreements:
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00137.html>
	<http://lists.gnu.org/r/bug-gnulib/2011-05/msg00128.html>

2011-05-05  Bruno Haible  <bruno@clisp.org>

	signal: Define sighandler_t.
	* lib/signal.in.h (sighandler_t): New type.
	* m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
	whether sighandler_t is defined.
	(gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
	* modules/signal (Depends-on): Add extensions.
	(Makefile.am): Substitute HAVE_SIGHANDLER_T.
	* doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
	Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.

2011-05-05  Eric Blake  <eblake@redhat.com>

	maint: remove useless REPLACE_*_H macros
	* m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
	* m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
	* m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
	* m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
	* m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
	* m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
	* m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
	* m4/btowc.m4: Update callers.
	* m4/dirfd.m4: Likewise.
	* m4/duplocale.m4: Likewise.
	* m4/fchdir.m4: Likewise.
	* m4/fdopendir.m4: Likewise.
	* m4/inet_ntop.m4: Likewise.
	* m4/inet_pton.m4: Likewise.
	* m4/ioctl.m4: Likewise.
	* m4/mbrlen.m4: Likewise.
	* m4/mbrtowc.m4: Likewise.
	* m4/mbsinit.m4: Likewise.
	* m4/mbsnrtowcs.m4: Likewise.
	* m4/mbsrtowcs.m4: Likewise.
	* m4/poll.m4: Likewise.
	* m4/setlocale.m4: Likewise.
	* m4/wcrtomb.m4: Likewise.
	* m4/wcsnrtombs.m4: Likewise.
	* m4/wcsrtombs.m4: Likewise.
	* m4/wctob.m4: Likewise.
	* m4/wcwidth.m4: Likewise.
	* modules/posix_spawn: Likewise.
	* modules/posix_spawn_file_actions_addclose: Likewise.
	* modules/posix_spawn_file_actions_adddup2: Likewise.
	* modules/posix_spawn_file_actions_addopen: Likewise.
	* modules/posix_spawn_file_actions_destroy: Likewise.
	* modules/posix_spawn_file_actions_init: Likewise.
	* modules/posix_spawnattr_destroy: Likewise.
	* modules/posix_spawnattr_getflags: Likewise.
	* modules/posix_spawnattr_getpgroup: Likewise.
	* modules/posix_spawnattr_getschedparam: Likewise.
	* modules/posix_spawnattr_getschedpolicy: Likewise.
	* modules/posix_spawnattr_getsigdefault: Likewise.
	* modules/posix_spawnattr_getsigmask: Likewise.
	* modules/posix_spawnattr_init: Likewise.
	* modules/posix_spawnattr_setflags: Likewise.
	* modules/posix_spawnattr_setpgroup: Likewise.
	* modules/posix_spawnattr_setschedparam: Likewise.
	* modules/posix_spawnattr_setschedpolicy: Likewise.
	* modules/posix_spawnattr_setsigdefault: Likewise.
	* modules/posix_spawnattr_setsigmask: Likewise.
	* modules/posix_spawnp: Likewise.

2011-05-04  Reuben Thomas  <rrt@sc3d.org>

	Add option to do-release-commit-and-tag to specify branch.
	* build-aux/do-release-commit-and-tag: Add --branch.

2011-05-03  Bruno Haible  <bruno@clisp.org>

	Avoid unnecessary compilation units, through conditional dependencies.
	* modules/accept (Depends-on): Add conditions to the dependencies.
	* modules/acosl (Depends-on): Likewise.
	* modules/argz (Depends-on): Likewise.
	* modules/asinl (Depends-on): Likewise.
	* modules/atanl (Depends-on): Likewise.
	* modules/atoll (Depends-on): Likewise.
	* modules/bind (Depends-on): Likewise.
	* modules/btowc (Depends-on): Likewise.
	* modules/canonicalize-lgpl (Depends-on): Likewise.
	* modules/ceil (Depends-on): Likewise.
	* modules/ceilf (Depends-on): Likewise.
	* modules/ceill (Depends-on): Likewise.
	* modules/chdir-long (Depends-on): Likewise.
	* modules/chown (Depends-on): Likewise.
	* modules/close (Depends-on): Likewise.
	* modules/connect (Depends-on): Likewise.
	* modules/cosl (Depends-on): Likewise.
	* modules/dirfd (Depends-on): Likewise.
	* modules/dprintf (Depends-on): Likewise.
	* modules/dprintf-posix (Depends-on): Likewise.
	* modules/error (Depends-on): Likewise.
	* modules/euidaccess (Depends-on): Likewise.
	* modules/expl (Depends-on): Likewise.
	* modules/faccessat (Depends-on): Likewise.
	* modules/fchdir (Depends-on): Likewise.
	* modules/fclose (Depends-on): Likewise.
	* modules/fcntl (Depends-on): Likewise.
	* modules/fdopendir (Depends-on): Likewise.
	* modules/fflush (Depends-on): Likewise.
	* modules/floor (Depends-on): Likewise.
	* modules/floorf (Depends-on): Likewise.
	* modules/floorl (Depends-on): Likewise.
	* modules/fnmatch (Depends-on): Likewise.
	* modules/fopen (Depends-on): Likewise.
	* modules/fprintf-posix (Depends-on): Likewise.
	* modules/frexp (Depends-on): Likewise.
	* modules/frexp-nolibm (Depends-on): Likewise.
	* modules/frexpl (Depends-on): Likewise.
	* modules/frexpl-nolibm (Depends-on): Likewise.
	* modules/fseek (Depends-on): Likewise.
	* modules/fsusage (Depends-on): Likewise.
	* modules/ftell (Depends-on): Likewise.
	* modules/ftello (Depends-on): Likewise.
	* modules/futimens (Depends-on): Likewise.
	* modules/getcwd (Depends-on): Likewise.
	* modules/getcwd-lgpl (Depends-on): Likewise.
	* modules/getdelim (Depends-on): Likewise.
	* modules/getdomainname (Depends-on): Likewise.
	* modules/getgroups (Depends-on): Likewise.
	* modules/gethostname (Depends-on): Likewise.
	* modules/getline (Depends-on): Likewise.
	* modules/getlogin_r (Depends-on): Likewise.
	* modules/getopt-posix (Depends-on): Likewise.
	* modules/getpeername (Depends-on): Likewise.
	* modules/getsockname (Depends-on): Likewise.
	* modules/getsockopt (Depends-on): Likewise.
	* modules/getsubopt (Depends-on): Likewise.
	* modules/getusershell (Depends-on): Likewise.
	* modules/glob (Depends-on): Likewise.
	* modules/grantpt (Depends-on): Likewise.
	* modules/iconv_open (Depends-on): Likewise.
	* modules/iconv_open-utf (Depends-on): Likewise.
	* modules/inet_ntop (Depends-on): Likewise.
	* modules/inet_pton (Depends-on): Likewise.
	* modules/ioctl (Depends-on): Likewise.
	* modules/isapipe (Depends-on): Likewise.
	* modules/isfinite (Depends-on): Likewise.
	* modules/isinf (Depends-on): Likewise.
	* modules/lchown (Depends-on): Likewise.
	* modules/ldexpl (Depends-on): Likewise.
	* modules/link (Depends-on): Likewise.
	* modules/linkat (Depends-on): Likewise.
	* modules/listen (Depends-on): Likewise.
	* modules/logl (Depends-on): Likewise.
	* modules/lstat (Depends-on): Likewise.
	* modules/mbrlen (Depends-on): Likewise.
	* modules/mbrtowc (Depends-on): Likewise.
	* modules/mbsinit (Depends-on): Likewise.
	* modules/mbsnrtowcs (Depends-on): Likewise.
	* modules/mbsrtowcs (Depends-on): Likewise.
	* modules/mbtowc (Depends-on): Likewise.
	* modules/memcmp (Depends-on): Likewise.
	* modules/mkdir (Depends-on): Likewise.
	* modules/mkdtemp (Depends-on): Likewise.
	* modules/mkfifo (Depends-on): Likewise.
	* modules/mkfifoat (Depends-on): Likewise.
	* modules/mknod (Depends-on): Likewise.
	* modules/mkostemp (Depends-on): Likewise.
	* modules/mkostemps (Depends-on): Likewise.
	* modules/mkstemp (Depends-on): Likewise.
	* modules/mkstemps (Depends-on): Likewise.
	* modules/mktime (Depends-on): Likewise.
	* modules/nanosleep (Depends-on): Likewise.
	* modules/open (Depends-on): Likewise.
	* modules/openat (Depends-on): Likewise.
	* modules/perror (Depends-on): Likewise.
	* modules/poll (Depends-on): Likewise.
	* modules/popen (Depends-on): Likewise.
	* modules/posix_spawn (Depends-on): Likewise.
	* modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
	* modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
	* modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
	* modules/posix_spawnp (Depends-on): Likewise.
	* modules/pread (Depends-on): Likewise.
	* modules/printf-posix (Depends-on): Likewise.
	* modules/ptsname (Depends-on): Likewise.
	* modules/putenv (Depends-on): Likewise.
	* modules/pwrite (Depends-on): Likewise.
	* modules/readline (Depends-on): Likewise.
	* modules/readlink (Depends-on): Likewise.
	* modules/readlinkat (Depends-on): Likewise.
	* modules/recv (Depends-on): Likewise.
	* modules/recvfrom (Depends-on): Likewise.
	* modules/regex (Depends-on): Likewise.
	* modules/remove (Depends-on): Likewise.
	* modules/rename (Depends-on): Likewise.
	* modules/renameat (Depends-on): Likewise.
	* modules/rmdir (Depends-on): Likewise.
	* modules/round (Depends-on): Likewise.
	* modules/roundf (Depends-on): Likewise.
	* modules/roundl (Depends-on): Likewise.
	* modules/rpmatch (Depends-on): Likewise.
	* modules/select (Depends-on): Likewise.
	* modules/send (Depends-on): Likewise.
	* modules/sendto (Depends-on): Likewise.
	* modules/setenv (Depends-on): Likewise.
	* modules/setlocale (Depends-on): Likewise.
	* modules/setsockopt (Depends-on): Likewise.
	* modules/shutdown (Depends-on): Likewise.
	* modules/sigaction (Depends-on): Likewise.
	* modules/signbit (Depends-on): Likewise.
	* modules/sigprocmask (Depends-on): Likewise.
	* modules/sinl (Depends-on): Likewise.
	* modules/sleep (Depends-on): Likewise.
	* modules/snprintf (Depends-on): Likewise.
	* modules/snprintf-posix (Depends-on): Likewise.
	* modules/socket (Depends-on): Likewise.
	* modules/sprintf-posix (Depends-on): Likewise.
	* modules/sqrtl (Depends-on): Likewise.
	* modules/stat (Depends-on): Likewise.
	* modules/strchrnul (Depends-on): Likewise.
	* modules/strdup-posix (Depends-on): Likewise.
	* modules/strerror (Depends-on): Likewise.
	* modules/strerror_r-posix (Depends-on): Likewise.
	* modules/strndup (Depends-on): Likewise.
	* modules/strnlen (Depends-on): Likewise.
	* modules/strptime (Depends-on): Likewise.
	* modules/strsep (Depends-on): Likewise.
	* modules/strsignal (Depends-on): Likewise.
	* modules/strstr-simple (Depends-on): Likewise.
	* modules/strtod (Depends-on): Likewise.
	* modules/strtoimax (Depends-on): Likewise.
	* modules/strtok_r (Depends-on): Likewise.
	* modules/strtoumax (Depends-on): Likewise.
	* modules/symlink (Depends-on): Likewise.
	* modules/symlinkat (Depends-on): Likewise.
	* modules/tanl (Depends-on): Likewise.
	* modules/tcgetsid (Depends-on): Likewise.
	* modules/tmpfile (Depends-on): Likewise.
	* modules/trunc (Depends-on): Likewise.
	* modules/truncf (Depends-on): Likewise.
	* modules/truncl (Depends-on): Likewise.
	* modules/uname (Depends-on): Likewise.
	* modules/unlink (Depends-on): Likewise.
	* modules/unlockpt (Depends-on): Likewise.
	* modules/unsetenv (Depends-on): Likewise.
	* modules/usleep (Depends-on): Likewise.
	* modules/utimensat (Depends-on): Likewise.
	* modules/vasprintf (Depends-on): Likewise.
	* modules/vdprintf (Depends-on): Likewise.
	* modules/vdprintf-posix (Depends-on): Likewise.
	* modules/vfprintf-posix (Depends-on): Likewise.
	* modules/vprintf-posix (Depends-on): Likewise.
	* modules/vsnprintf (Depends-on): Likewise.
	* modules/vsnprintf-posix (Depends-on): Likewise.
	* modules/vsprintf-posix (Depends-on): Likewise.
	* modules/wcrtomb (Depends-on): Likewise.
	* modules/wcscasecmp (Depends-on): Likewise.
	* modules/wcscspn (Depends-on): Likewise.
	* modules/wcsdup (Depends-on): Likewise.
	* modules/wcsncasecmp (Depends-on): Likewise.
	* modules/wcsnrtombs (Depends-on): Likewise.
	* modules/wcspbrk (Depends-on): Likewise.
	* modules/wcsrtombs (Depends-on): Likewise.
	* modules/wcsspn (Depends-on): Likewise.
	* modules/wcsstr (Depends-on): Likewise.
	* modules/wcstok (Depends-on): Likewise.
	* modules/wcswidth (Depends-on): Likewise.
	* modules/wctob (Depends-on): Likewise.
	* modules/wctomb (Depends-on): Likewise.
	* modules/wctype (Depends-on): Likewise.
	* modules/wcwidth (Depends-on): Likewise.
	* modules/write (Depends-on): Likewise.

2011-05-03  Bruno Haible  <bruno@clisp.org>

	Support for conditional dependencies.
	* doc/gnulib.texi (Module description): Document the syntax of
	conditional dependencies.
	* gnulib-tool: New option --conditional-dependencies.
	(func_usage): Document it.
	(cond_dependencies): New variable.
	(func_get_automake_snippet_conditional,
	func_get_automake_snippet_unconditional): New functions, extracted from
	func_get_automake_snippet.
	(func_get_automake_snippet): Use them.
	(sed_first_32_chars): New variable.
	(func_module_shellfunc_name): New function.
	(func_module_shellvar_name): New function.
	(func_module_conditional_name): New function.
	(func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
	func_cond_module_condition): New functions.
	(func_modules_transitive_closure): Add support for conditional
	dependencies.
	(func_emit_lib_Makefile_am): For a conditional module, enclose the
	conditional automake snippet in an automake conditional.
	(func_emit_autoconf_snippets): Emit shell functions that contain the
	code for conditional modules.
	(func_import, func_create_testdir): Update specification.

2011-05-03  Eric Blake  <eblake@redhat.com>

	test-getaddrinfo: report error information
	* tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.

2011-05-03  Jim Meyering  <meyering@redhat.com>

	bootstrap: avoid build failure when $GZIP is set
	* build-aux/bootstrap (check_versions): Do not treat $GZIP as a
	program name.  If defined at all, it is supposed to list gzip options.
	Reported by Alan Curry in http://debbugs.gnu.org/8609

2011-05-03  Reuben Thomas  <rrt@sc3d.org>

	readme-release: new module with release instructions
	* modules/readme-release: New module.
	* top/README-release: New file, from coreutils, grep, diffutils.
	* MODULES.html.sh (Support for maintaining and releasing): Add it.

2011-05-02  Eric Blake  <eblake@redhat.com>

	fflush: also replace fclose when fixing fflush
	* modules/fflush (Depends-on): Add fclose.
	* m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
	* lib/fclose.c (rpl_fclose): Don't cause spurious failures on
	memstreams with no backing fd.
	* doc/posix-functions/fclose.texi (fclose): Document the use of
	fflush module to fix the bug.
	* tests/test-fclose.c (main): Relax test when fclose is used in
	isolation.

	fclose: add some tests
	* modules/fclose-tests: New test module.
	* tests/test-fclose.c: New file.
	* doc/posix-functions/fclose.texi (fclose): Document the bug.

	fclose: reduced dependencies
	* modules/fclose (Depends-on): Switch from fflush/fseeko to
	simpler lseek.
	* lib/fclose.c (rpl_fclose): Likewise.
	Reported by Simon Josefsson.

	exit: drop remaining clients
	* modules/argmatch (Depends-on): Replace exit with stdlib.
	* modules/copy-file (Depends-on): Likewise.
	* modules/execute (Depends-on): Likewise.
	* modules/exitfail (Depends-on): Likewise.
	* modules/obstack (Depends-on): Likewise.
	* modules/pagealign_alloc (Depends-on): Likewise.
	* modules/pipe-filter-gi (Depends-on): Likewise.
	* modules/pipe-filter-ii (Depends-on): Likewise.
	* modules/savewd (Depends-on): Likewise.
	* modules/spawn-pipe (Depends-on): Likewise.
	* modules/wait-process (Depends-on): Likewise.
	* modules/xsetenv (Depends-on): Likewise.
	* modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
	* modules/git-merge-changelog (Depends-on): Likewise.
	* modules/long-options (Depends-on): Likewise.
	* modules/pt_chown (Depends-on): Likewise.
	* modules/sysexits (Depends-on): Likewise.

	freading: relax license from LGPLv3+ to LGPLv2+
	* modules/freading (License): Relax LGPL version.

2011-05-02  Bruno Haible  <bruno@clisp.org>

	fchdir: Remove unused dependencies.
	* modules/fchdir (Depends-on): Remove include_next.

2011-05-02  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Refactor.
	* gnulib-tool (func_emit_autoconf_snippet): New function, extracted
	from func_emit_autoconf_snippets.
	(func_emit_autoconf_snippets): Use it.

2011-05-02  Simon Josefsson  <simon@josefsson.org>

	* NEWS: Document removal of 'exit'.
	* modules/exit: Remove file.

2011-05-01  Bruno Haible  <bruno@clisp.org>

	Update DEPENDENCIES.
	* DEPENDENCIES (gettext): Recommend the newest release.
	Reported by Simon Josefsson.

2011-05-01  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Reduce code duplication.
	* gnulib-tool (func_emit_autoconf_snippets): New function.
	(func_import, func_create_testdir): Use it.

2011-04-30  Eric Blake  <eblake@redhat.com>

	fclose: don't fail on non-seekable input stream
	* modules/fclose (Depends-on): Add freading, fflush, fseeko.
	* lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
	since fflush is allowed to fail in that case.

2011-04-30  Bruno Haible  <bruno@clisp.org>

	dup3: cleanup
	* lib/dup3.c: Remove old code, leftover from 2009-12-16.

2011-04-30  Bruno Haible  <bruno@clisp.org>

	netdb: Make it work in C++ mode.
	* lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
	(getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
	module.
	* m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR_FOR_TESTS.
	* modules/netdb-tests (Depends-on): Add netdb-c++-tests.
	* modules/netdb-c++-tests: New file.
	* tests/test-netdb-c++.cc: New file.

2011-04-30  Bruno Haible  <bruno@clisp.org>

	New modules 'vfscanf', 'vscanf'.
	* modules/vfscanf: New file.
	* modules/vscanf: New file.
	* m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
	here.
	* doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
	* doc/posix-functions/vscanf.texi: Mention module 'vscanf'.

2011-04-30  Bruno Haible  <bruno@clisp.org>

	passfd: Add comments.
	* lib/passfd.c: Add comments about platforms.

2011-04-30  Bruno Haible  <bruno@clisp.org>

	sys_uio: Make <sys/uio.h> self-contained.
	* lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
	* doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.

2011-04-30  Bruno Haible  <bruno@clisp.org>

	sys_socket: Ensure 'struct iovec' definition.
	* lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
	<sys/socket.h>.
	* doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.

2011-04-30  Bruno Haible  <bruno@clisp.org>

	sys_uio: Protect definition of 'struct iovec'.
	* lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
	it as a C struct.

2011-04-30  Bruno Haible  <bruno@clisp.org>

	manywarnings: fix indentation
	* m4/manywarnings.m4: Indent by 2 spaces consistently.

2011-04-30  Pádraig Brady  <P@draigBrady.com>

	manywarnings: add -Wno-missing-field-initializers if needed.
	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
	option if it's needed to allow initialization with { 0, }

2011-04-29  Reuben Thomas  <rrt@sc3d.org>

	announce-gen: cosmetic improvement
	* build-aux/announce-gen: Strip any leading ./ from the NEWS file name.

2011-04-29  Jim Meyering  <meyering@redhat.com>

	vc-list-files: indent with spaces, not TABs
	* build-aux/vc-list-files: Convert leading TABs to spaces,
	to match the style of most other files in gnulib.

	announce-gen: indent with spaces, not TABs
	* build-aux/announce-gen: Convert all TABs to spaces, to match
	the style of most other files in gnulib.

2011-04-29  Eric Blake  <eblake@redhat.com>

	quotearg: avoid uninitialized variable use
	* lib/quotearg.c (quoting_options_from_style): Initialize
	remaining fields, and ensure that custom styles are only used via
	quoting_options rather than quoting_style.

2011-04-29  Jim Meyering  <meyering@redhat.com>

	maint.mk: remove unused VC-tag variable
	* top/maint.mk (VC-tag): Remove unused variable.

2011-04-29  Bruno Haible  <bruno@clisp.org>

	netdb: fix gai_strerror replacements
	* lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
	* modules/netdb: Substitute it.

2011-04-29  Jim Meyering  <meyering@redhat.com>

	test-getcwd.c: avoid new set-but-not-used warning
	* tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
	not just the glibc/abort one that getcwd-abort-bug.m4 detects.
	* m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
	and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.

	test-hash.c: avoid a new shadowing warning
	* tests/test-hash.c (main): Don't shadow "dup".

2011-04-28  Eric Blake  <eblake@redhat.com>

	getaddrinfo: fix gai_strerror signature
	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
	and work around mingw with UNICODE defined.
	(gl_PREREQ_GETADDRINFO): Drop redundant decl check.
	* m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
	* modules/netdb (Makefile.am): Substitute it.
	* lib/netdb.in.h (gai_strerror): Declare replacement.
	* lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
	* doc/posix-functions/gai_strerror.texi (gai_strerror): Document
	the fix.

	getsockopt: avoid compiler warning
	* lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
	Reported by Matthias Bolte.

	tests: drop unused link dependency
	* modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
	* modules/dirent-safer-tests (Makefile.am): Likewise.
	* modules/fdopendir-tests (Makefile.am): Likewise.
	* modules/mkfifoat-tests (Makefile.am): Likewise.
	* modules/openat-safer-tests (Makefile.am): Likewise.
	* modules/openat-tests (Makefile.am): Likewise.
	* modules/readlinkat-tests (Makefile.am): Likewise.
	* modules/symlinkat-tests (Makefile.am): Likewise.
	* modules/linkat-tests (Makefile.am): Likewise.
	(Depends-on): Switch to filenamecat-lgpl.
	* modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
	LIBINTL.
	* modules/utimensat-tests (test_utimensat_LDADD): Likewise.
	* tests/test-linkat.c (main): Don't require xalloc.

	hash, mgetgroups: drop xalloc dependency
	* lib/hash.c (includes): Adjust includes.
	* lib/mgetgroups.c (includes): Likewise.
	(xgetgroups): Move...
	* lib/xgetgroups.c: ...to new file.
	* lib/mgetgroups.h (xgetgroups): Make declaration conditional.
	* modules/xgetgroups: New file, split from...
	* modules/mgetgroups: ...here.
	(Depends-on): Add xalloc-oversized.
	* modules/hash (Depends-on): Likewise.
	* modules/hash-tests (Depends-on): Drop xalloc.
	(test_hash_LDADD): Drop unused library.
	* tests/test-hash.c (main): Break xalloc dependency.
	(includes): Drop unused include.

	xalloc-oversized: new module
	* modules/xalloc-oversized: New module.
	* modules/xalloc (Depends-on): Add it.
	* lib/xalloc.h (xalloc_oversized): Move...
	* lib/xalloc-oversized.h: ...into new file.

	utimecmp: drop dependency on xmalloc
	* lib/utimecmp.c (utimecmp): Work even if hash table cache fails
	due to memory pressure.
	* modules/utimecmp (Depends-on): Drop xalloc.

2011-04-27  Eric Blake  <eblake@redhat.com>

	getcwd: fix mingw bugs
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
	* doc/posix-functions/getcwd.texi (getcwd): Document the problems.
	* lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.

2011-04-27  Bruno Haible  <bruno@clisp.org>

	mkstemps: Ensure declaration on MacOS X 10.5.
	* lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
	* doc/glibc-functions/mkstemps.texi: Document header file problem on
	MacOS X.

2011-04-27  Bruno Haible  <bruno@clisp.org>

	mkstemp: More documentation.
	* doc/posix-functions/mkstemp.texi: Document header file problem on
	MacOS X.

2011-04-27  Bruno Haible  <bruno@clisp.org>

	mkstemp: Tweak configure message when cross-compiling.
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
	result as a guess.

2011-04-27  Bruno Haible  <bruno@clisp.org>

	clean-temp: Clarify what it does.
	* lib/clean-temp.h: Add more comments.
	* doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
	module.
	* doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
	* doc/glibc-functions/mkstemps.texi: Likewise.
	* doc/glibc-functions/mkostemps.texi: Likewise.

2011-04-27  Eric Blake  <eblake@redhat.com>

	fchdir: avoid extra chdir and fix test
	* modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
	getcwd-lgpl.
	* lib/fchdir.c (get_name): Any absolute name will do; it does not
	have to be canonical.
	(canonicalize_file_name): Drop unused macro.
	* m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.

	filenamecat-lgpl: fix licence
	* modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
	when it was first created.

	linkat, renameat: add missing dependency
	* modules/linkat (Depends-on): Require getcwd-lgpl.
	* modules/renameat (Depends-on): Likewise.

	tests: reduce dependencies
	* tests/test-linkat.c (main): Use lighter-weight getcwd.
	* tests/test-renameat.c (main): Likewise.
	* modules/linkat-tests (Depends-on): Relax dependency.
	* modules/renameat-tests (Depends-on): Likewise.
	* modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
	dependency explicit.

	save-cwd: reduce default dependency
	* modules/save-cwd (Depends-on): Use getcwd-lgpl.
	* lib/save-cwd.c: Update comments.
	* NEWS: Document the semantic change.

	getcwd: enhance tests
	* tests/test-getcwd-lgpl.c: New file, taken from...
	* tests/test-getcwd.c: ...old contents.  Rewrite this file to
	repeat long path stress tests from m4 probe.
	* modules/getcwd-lgpl-tests: New module.
	* modules/getcwd-tests (Depends-on): Depend on lgpl tests.
	* m4/getcwd-abort-bug.m4: Update comment.
	* m4/getcwd-path-max.m4: Likewise.

	getcwd-lgpl: new module
	* modules/getcwd-lgpl: New module.
	* lib/getcwd-lgpl.c: New file.
	* doc/posix-functions/getcwd.texi (getcwd): Document it.
	* MODULES.html.sh (lacking POSIX:2008): Likewise.
	* modules/getcwd (configure.ac): Set C witness.
	* m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.

	getcwd: tweak comments
	* m4/getcwd-abort-bug.m4: Fix comments.
	* m4/getcwd-path-max.m4: Likewise.
	* m4/getcwd.m4: Likewise.

2011-04-27  Reuben Thomas  <rrt@sc3d.org>
	and Eric Blake  <eblake@redhat.com>

	mkstemp: replace if system version uses wrong permissions
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
	read/write mode bits set in file created by mkstemp.
	* doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.

2011-04-27  Eric Blake  <eblake@redhat.com>

	passfd: avoid compiler warning
	* lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
	Reported by Laine Stump.

2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)

	* gnulib-tool: change "join -a 2" to "join -a2", the latter is
	required by the NetBSD (and perhaps other 4.4BSD derived) join.

2011-04-27  Reuben Thomas  <rrt@sc3d.org>
	and Eric Blake  <eblake@redhat.com>

	mkstemp: mention clean-temp module
	* lib/mkstemp.c: Add comment.
	* doc/posix-functions/mkstemp.texi (mkstemp): Likewise.

2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>

	inttypes: also provide default values for 32-bit tests
	* m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
	for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.

2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>

	strtoumax: remove dependency on strtoimax
	This is like the strtoull change of yesterday.
	* modules/strtoumax (Files): Add lib/strtoimax.c.
	(Depends-on): Remove strtoimax and add verify.

	inttypes-incomplete: new module
	* m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
	all but the PRI* and SCN* parts of gl_INTTYPES_H.
	(gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
	of gl_INTTYPES_H.
	(gl_INTTYPES_H): Rewrite in terms of these new macros.
	(gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
	parts, in case gl_INTTYPE_PRI_SCN is not invoked.
	* modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
	* modules/strtoumax, modules/xstrtol (Depends-on):
	Depend on inttypes-incomplete, not inttypes.
	* modules/inttypes-incomplete: New module, containing the contents
	of the old modules/inttypes module, except that the Files: section
	omits m4/inttypes-pri.m4, and the configure.ac section invokes
	gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
	* modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
	(Depends-on): Depend only on inttypes-incomplete.
	(Makefile.am): Remove everything; this is now in inttypes-incomplete.

	inttypes: omit now-redundant strtoimax and strtoumax work
	* m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
	strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.

	strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
	This supports apps that need pointers to strtoimax and strtoumax,
	and ports to HP-UX 11.00 64.bit, which has macros that expand to
	nonexistent functions.  See
	<http://lists.gnu.org/r/bug-gnulib/2011-04/msg00241.html>
	et seq.
	* lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
	* m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
	a macro.
	* m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.

2011-04-25  Simon Josefsson  <simon@josefsson.org>

	* modules/gnumakefile (configure.ac): Replace TAB with SPCs.

2011-04-25  Bruno Haible  <bruno@clisp.org>

	strtol, strtoul: Mark modules as obsolete.
	* modules/strtol (Status, Notice): New sections.
	* modules/strtoul (Status, Notice): New sections.

2011-04-25  Bruno Haible  <bruno@clisp.org>

	strtod: Remove check for strtod, unless supporting old platforms.
	* modules/strtod-obsolete: New file.
	* m4/strtod-obsolete.m4: New file.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
	if gl_FUNC_STRTOD_OBSOLETE is not also defined.
	* modules/strtod (Depends-on): Add strtod-obsolete.
	* doc/posix-functions/strtod.texi: Mention module strtod-obsolete.

2011-04-25  Bruno Haible  <bruno@clisp.org>

	strcase: Make module obsolete.
	* modules/strcase (Status, Notice): New sections.

2011-04-25  Bruno Haible  <bruno@clisp.org>

	dup2: Remove check for dup2, unless supporting old obsolete platforms.
	* modules/dup2-obsolete: New file.
	* m4/dup2-obsolete.m4: New file.
	* m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
	gl_FUNC_DUP2_OBSOLETE is not also defined.
	* modules/dup2 (Depends-on): Add dup2-obsolete.
	* doc/posix-functions/dup2.texi: Mention module dup2-obsolete.

2011-04-25  Bruno Haible  <bruno@clisp.org>

	strnlen: Avoid memchr related link error on old obsolete platforms.
	* modules/memchr-obsolete: New file.
	* m4/memchr-obsolete.m4: New file.
	* m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
	gl_FUNC_MEMCHR_OBSOLETE is not also defined.
	* modules/memchr (Depends-on): Add memchr-obsolete.
	* modules/strnlen (Depends-on): Likewise.
	* doc/posix-functions/memchr.texi: Mention module memchr-obsolete.

2011-04-25  Jim Meyering  <meyering@redhat.com>

	maint.mk: makefile_at_at_check extend and clean up
	* top/maint.mk (sc_makefile_at_at_check): Check *.mk files
	in addition to */Makefile.am.
	Exempt legitimate uses of @VAR@ notation, e.g.,
	MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
	Remove obsolete coreutils-specific comment.
	Prompted by discussion here:
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074

2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>

	strtoul: remove dependency on strtol
	This is so that 'configure' need not check for strtol merely because
	the application needs strtoul.
	* modules/strtoul (Files): Add lib/strtol.c.
	(Depends-on): Remove strtol.

	strtoull: remove dependency on strtoul
	This is like the strtoll change.
	* modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
	(Depends-on): Remove strtoul.

	strtoll: remove dependency on strtol
	This is so that 'configure' need not check for strtol merely because
	the application needs strtoll.
	* modules/strtoll (Files): Add lib/strtol.c.
	(Depends-on): Remove strtol.

2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>

	inttypes: Move some configure check to module 'imaxdiv'.
	* m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
	instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
	* m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.

2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>

	inttypes: Move some configure check to module 'imaxabs'.
	* m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
	instead of gl_INTTYPES_H.  Check for imaxabs decl here.
	* m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.

2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>

	inttypes: Remove configure tests that are not needed since 2009-12-31.
	* m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
	gl_cv_header_working_inttypes_h.

2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/strnlen (Depends-on): Remove memchr.
	The strnlen implementation doesn't need the memchr module's fixes; see
	<http://lists.gnu.org/r/bug-gnulib/2011-04/msg00237.html>.

	strtol: remove dependency on wchar
	* lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
	* modules/strtol (Depends-on): Remove wchar.

2011-04-21  Eric Blake  <eblake@redhat.com>

	passfd: fix test regression on Linux
	* modules/passfd-tests (configure.ac): Correct socketpair check.

	passfd: speed up configure and drop unused code
	* m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
	* m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
	its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
	Instead of probing at configure for unix_scm_rights_bsd44_way,
	instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
	check to a struct member probe.
	* lib/passfd.c (includes): Nothing here requires <sys/un.h>.
	(sendfd, recvfd): Update preprocessor checks.
	* modules/passfd (Files): Reflect rename, and drop unused file.
	(Depends-on): Drop unused dependency.

	passfd: allow compilation on mingw
	* modules/sys_socket (Depends-on): Add sys_uio.
	* lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
	iovec and a minimal struct msghdr.
	* m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
	* tests/test-sys_socket.c (main): Enhance test.
	* lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
	guaranteed to provide what we need.
	(sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
	* modules/passfd-tests (Depends-on): Add sys_wait.
	* tests/test-passfd.c (main): Skip test on mingw, for now.
	* doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
	partial 'struct msghdr' implementation.

	sys_uio: new module
	* modules/sys_uio: New module.
	* modules/sys_uio-tests: Likewise.
	* lib/sys_uio.in.h: New file.
	* m4/sys_uio_h.m4: Likewise.
	* tests/test-sys_uio.c: Likewise.
	* doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
	* MODULES.html.sh (systems lacking POSIX:2008): Likewise.

2011-04-20  Jim Meyering  <meyering@redhat.com>

	useless-if-before-free: avoid false-positive
	* build-aux/useless-if-before-free: Adjust regexp for the non-brace
	disjunct so that it too requires a terminating ";".  Without that,
	this script would identify as useless one statement from gcc that
	was not:
	  if (aligned_ptr)
	    free (((void **) aligned_ptr) [-1]);

2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>

	doc: update users.txt.
	* users.txt: Add barcode.

2011-04-19  Bruno Haible  <bruno@clisp.org>

	ioctl: Remove link dependency on native Windows.
	* lib/fd-hook.h: Renamed from lib/close-hook.h.
	(gl_close_fn, gl_ioctl_fn): New types.
	(struct fd_hook): Renamed from struct close_hook. Change type of
	private_close_fn field. Add private_ioctl_fn field.
	(close_hook_fn): Add parameter for primary close method.
	(execute_close_hooks, execute_all_close_hooks): Likewise.
	(ioctl_hook_fn): New type.
	(execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
	(register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
	argument.
	(unregister_fd_hook): Renamed from unregister_close_hook.
	* lib/fd-hook.c: Renamed from lib/close-hook.c.
	Don't include <unistd.h>.
	(close): Remove undef.
	(anchor): Update.
	(execute_close_hooks): Add argument for primary close method.
	(execute_all_close_hooks): Likewise.
	(execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
	(register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
	argument. Allow each argument to be NULL.
	(unregister_fd_hook): Renamed from unregister_close_hook.
	* lib/close.c (rpl_close): Pass 'close' function pointer to
	execute_all_close_hooks.
	* lib/ioctl.c: Include <errno.h>, fd-hook.h.
	(primary_ioctl): New function.
	(ioctl): Don't call ioctlsocket here. Instead, call
	execute_all_ioctl_hooks.
	* lib/sockets.c (close_fd_maybe_socket): Add argument for primary
	close method.
	(ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
	(fd_sockets_hook): Renamed from close_sockets_hook.
	(gl_sockets_startup, gl_sockets_cleanup): Update.
	* modules/fd-hook: Renamed from modules/close-hook. Update.
	* modules/close (Depends-on): Add fd-hook, remove close-hook.
	* modules/sockets (Depends-on): Likewise.
	* modules/ioctl (Depends-on): Add fd-hook.
	* tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
	GNULIB_SOCKET.

2011-04-19  Bruno Haible  <bruno@clisp.org>

	Move the support of O_NONBLOCK in open() to the 'open' module.
	* modules/nonblocking (Depends-on): Remove 'open'.
	* m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
	gl_cv_have_open_O_NONBLOCK.
	* m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
	O_NONBLOCK support.
	* doc/posix-functions/open.texi: Document support for O_NONBLOCK.

2011-04-17  Bruno Haible  <bruno@clisp.org>

	pipe2: Simplify code.
	* lib/pipe2.c (pipe2): Reduce code duplication.

2011-04-17  Bruno Haible  <bruno@clisp.org>

	nonblocking: Add comment.
	* lib/fcntl.in.h (O_NONBLOCK): Add comment.

2011-04-17  Bruno Haible  <bruno@clisp.org>

	nonblocking: Add tests for sockets.
	* tests/test-nonblocking-socket.sh: New file.
	* tests/test-nonblocking-socket-main.c: New file.
	* tests/test-nonblocking-socket-child.c: New file.
	* tests/test-nonblocking-socket.h: New file.
	* tests/socket-server.h: New file.
	* tests/socket-client.h: New file.
	* modules/nonblocking-socket-tests: New file.
	* modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.

2011-04-17  Bruno Haible  <bruno@clisp.org>

	nonblocking: Add tests for pipes.
	* tests/test-nonblocking-pipe.sh: New file.
	* tests/test-nonblocking-pipe-main.c: New file.
	* tests/test-nonblocking-pipe-child.c: New file.
	* tests/test-nonblocking-pipe.h: New file.
	* tests/test-nonblocking-writer.h: New file.
	* tests/test-nonblocking-reader.h: New file.
	* tests/test-nonblocking-misc.h: New file.
	* modules/nonblocking-pipe-tests: New file.
	* modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.

2011-04-16  Bruno Haible  <bruno@clisp.org>

	gettext: Clarify the needed programmer actions.
	* modules/gettext (Notice): New field.
	Suggested by Ben Pfaff <blp@cs.stanford.edu>.

2011-04-16  Bruno Haible  <bruno@clisp.org>

	strchrnul: Tweak last commit.
	* doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
	bug.
	* lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
	as in _GL_FUNCDECL_SYS.
	* m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
	AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".

2011-04-15  Eric Blake  <eblake@redhat.com>

	strchrnul: work around cygwin bug
	* doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
	* m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
	* modules/string (Makefile.am): Substitute it.
	* lib/string.in.h (strchrnul): Use it.

2011-04-15  Bruno Haible  <bruno@clisp.org>

	Don't require lib/stdio-write.c when only module 'stdio' is used.
	* m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
	invocation.
	Reported by Rob Vermaas <rob.vermaas@gmail.com>.

2011-04-14  Bruno Haible  <bruno@clisp.org>

	Support non-blocking pipe I/O in read() on native Windows.
	* lib/unistd.in.h: Include <sys/types.h> also for 'read'.
	(read): New declaration.
	* lib/read.c: New file.
	* lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
	_GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
	(fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
	vscanf): New declarations.
	* lib/stdio-read.c: New file.
	* m4/read.m4: New file.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
	REPLACE_READ.
	* m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
	GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
	GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
	desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
	(gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
	GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
	GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
	* modules/read: New file.
	* modules/nonblocking (Files): Add lib/stdio-read.c.
	* modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
	* modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
	GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
	GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
	* modules/pread (Depends-on): Add read.
	* modules/safe-read (Depends-on): Likewise.
	* tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
	gets, scanf, vfscanf, vscanf): Verify signatures.
	* doc/posix-functions/read.texi: Mention 'nonblocking' module and
	problem with non-blocking pipes.
	* doc/posix-functions/fgetc.texi: Likewise.
	* doc/posix-functions/fgets.texi: Likewise.
	* doc/posix-functions/fread.texi: Likewise.
	* doc/posix-functions/fscanf.texi: Likewise.
	* doc/posix-functions/getc.texi: Likewise.
	* doc/posix-functions/getchar.texi: Likewise.
	* doc/posix-functions/gets.texi: Likewise.
	* doc/posix-functions/scanf.texi: Likewise.
	* doc/posix-functions/vfscanf.texi: Likewise.
	* doc/posix-functions/vscanf.texi: Likewise.

2011-04-14  Bruno Haible  <bruno@clisp.org>

	Support non-blocking pipe I/O in write() on native Windows.
	* lib/write.c (rpl_write): Split a write request that failed merely
	because the byte count was larger than the pipe buffer's size.
	* doc/posix-functions/write.texi: Mention the problem with large byte
	counts.

2011-04-14  Bruno Haible  <bruno@clisp.org>

	wchar: Ensure that wchar_t gets defined on uClibc.
	* lib/wchar.in.h: On uClibc, include <stddef.h>.
	Reported by Giuseppe Scrivano <gscrivano@gnu.org>.

2011-04-13  Bruno Haible  <bruno@clisp.org>

	safe-write, full-read: Avoid unnecessary compilation units.
	* modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
	(Depends-on): Remove safe-read. Add ssize_t.
	* modules/full-read (Files): Add lib/full-write.c.
	(Depends-on): Add full-write.

2011-04-13  Bruno Haible  <bruno@clisp.org>

	Support non-blocking pipe I/O and SIGPIPE in pwrite().
	* modules/pwrite (Depends-on): Add 'write'.

2011-04-13  Bruno Haible  <bruno@clisp.org>

	Support non-blocking pipe I/O in write() on native Windows.
	* lib/unistd.in.h (write): Enable replacement also if
	GNULIB_UNISTD_H_NONBLOCKING is 1.
	* lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
	(rpl_write): When failing to write on a non-blocking pipe, change
	errno from ENOSPC to EAGAIN.
	* lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
	putchar, puts, vfprintf, vprintf): Enable replacement also if
	GNULIB_STDIO_H_NONBLOCKING is 1.
	* lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
	(CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
	(CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
	CALL_WITH_SIGPIPE_EMULATION.
	(CALL_WITH_SIGPIPE_EMULATION): Use them.
	* m4/nonblocking.m4: New file.
	* m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
	for non-blocking I/O support.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
	GNULIB_UNISTD_H_NONBLOCKING.
	* m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
	required for non-blocking I/O support.
	(gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
	* modules/nonblocking (Files): Add m4/nonblocking.m4,
	lib/stdio-write.c, m4/asm-underscore.m4.
	(Depends-on): Add stdio, unistd.
	(configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
	Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
	* modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
	* modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
	* doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
	problem with non-blocking pipes.
	* doc/posix-functions/fputc.texi: Likewise.
	* doc/posix-functions/fputs.texi: Likewise.
	* doc/posix-functions/fwrite.texi: Likewise.
	* doc/posix-functions/printf.texi: Likewise.
	* doc/posix-functions/putc.texi: Likewise.
	* doc/posix-functions/putchar.texi: Likewise.
	* doc/posix-functions/puts.texi: Likewise.
	* doc/posix-functions/vfprintf.texi: Likewise.
	* doc/posix-functions/vprintf.texi: Likewise.
	* doc/posix-functions/write.texi: Likewise.

2011-04-10  Jim Meyering  <meyering@redhat.com>

	maint.mk: prohibit doubled words
	Detect them also when they're separated by a newline.
	There are 3 ways to customize it:
	  - disable the test on a per file basis, as usual with rules using
	    $(VC_LIST_EXCEPT)
	  - replace the default doubled-word-selecting regexp (affects all files)
	  - ignore a particular file-vs-doubled-word match
	I nearly used that last one to ignore the "is is" match in
	coreutils' NEWS file, since the text was "ls -is is ..."
	To do that, I would have added this line to cfg.mk:
	  ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
	but it would have ignored any "is is" match in NEWS.
	Low probability, but still...
	Instead, I changed the text, slightly:
	  -  ls -is is now consistent with ls -lis in ignoring values returned
	  +  "ls -is" is now consistent with ls -lis in ignoring values returned
	* top/maint.mk (prohibit_double_word_RE_): Provide default.
	(prohibit_doubled_word_): Define.
	(sc_prohibit_doubled_word): New rule.
	(sc_prohibit_the_the): Remove.  Subsumed by the above.

2011-04-10  Jim Meyering  <meyering@redhat.com>

	maint: fix doubled-word typo in comment
	* m4/gethostname.m4: s/is is/it is/
	* m4/getdomainname.m4: Likewise.

2011-04-10  Jim Meyering  <meyering@redhat.com>

	maint: remove doubled word: s/it it/it/
	* lib/stat-time.h (get_stat_birthtime): s/it it/it/

2011-04-10  Jim Meyering  <meyering@redhat.com>

	maint.mk: remove useless semicolon and backslash
	* top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
	semicolon and backslash.

2011-04-10  Bruno Haible  <bruno@clisp.org>

	stdint test: Fix compilation failure on OSF/1 with DTK compiler.
	* modules/stdint-tests (Depends-on): Add wchar.

2011-04-10  Jim Meyering  <meyering@redhat.com>

	maint: remove doubled words in comments, e.g., s/a a/a/
	* lib/strptime.c (day_of_the_week): s/the the/the/
	* tests/test-chown.h (test_chown): s/a a/a/

	test-chown.h: correct a cast
	* tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
	when the destination is a stat.st_gid.

2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)

	getaddrinfo: Fix test for sa_len member.
	* m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
	include <sys/types.h> before <sys/socket.h>.

2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>

	maint: change "can not" to "cannot"
	* doc/posix-functions/iconv.texi (iconv): This one crossed line
	boundaries.

2011-04-09  Jim Meyering  <meyering@redhat.com>

	maint: change "a a" to "a"
	* tests/test-lchown.h (test_lchown): s/a a/a/

	maint.mk: prohibit \<the the\>
	* top/maint.mk (sc_prohibit_the_the): New rule.

	maint: fix "the the" in comment
	* lib/count-one-bits.h: s/the the/the/

	maint: change "can not" to "cannot"
	But do not change the occurrences in maintain.texi or in
	build-aux/po/Makefile.in.in, which I presume comes from gettext.
	* doc/gnulib-tool.texi: s/can not/cannot/
	* doc/posix-functions/accept.texi (accept): Likewise.
	* doc/posix-functions/socket.texi (socket): Likewise.
	* lib/mbrtowc.c: Likewise.

	maint.mk: prohibit use of "can not"
	* top/maint.mk (sc_prohibit_can_not): New rule.
	Writing "can not" (rather than "cannot") is too common.  Prohibit it.

2011-04-09  Bruno Haible  <bruno@clisp.org>

	careadlinkat: Guard against misuse of careadlinkatcwd.
	* lib/careadlinkat.c: Include <stdlib.h>.
	(careadlinkatcwd): Check that the fd argument is as expected.

2011-04-09  Bruno Haible  <bruno@clisp.org>

	careadlinkat: Use common coding style.
	* lib/careadlinkat.c: Move gnulib includes after system includes.

2011-04-09  Bruno Haible  <bruno@clisp.org>

	careadlinkat: Clarify specification.
	* lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
	(careadlinkatcwd): Add comment.
	* lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.

2011-04-09  Bruno Haible  <bruno@clisp.org>

	areadlinkat: Avoid link error on many platforms.
	* modules/areadlinkat (Depends-on): Add areadlink.

2011-04-09  Bruno Haible  <bruno@clisp.org>

	allocator, careadlinkat: Fix double-inclusion guard.
	* lib/allocator.h: Fix double-inclusion guard.
	* lib/careadlinkat.h: Likewise.

2011-04-09  Bruno Haible  <bruno@clisp.org>

	relocatable-prog-wrapper: Update after module 'areadlink' changed.
	* lib/relocwrapper.c: Update dependencies hierarchy.
	* build-aux/install-reloc: Update list of files to be compiled.
	* modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
	lib/allocator.[hc].

2011-04-08  Eric Blake  <eblake@redhat.com>

	strftime: silence gnulib-tool warning
	* modules/strftime-tests (Depends-on): Drop automatic dependency.

2011-04-08  Bruno Haible  <bruno@clisp.org>

	verify: Fix syntax error with GCC 4.6 in C++ mode.
	* lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
	(HAVE_STATIC_ASSERT): New macro.
	(verify_true, verify): Use 'static_assert' if it is supported and
	'_Static_assert' is not supported.

2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>

	allocator: New module.
	* modules/allocator, lib/allocator.c: New files.
	* lib/allocator.h (stdlib_allocator): New decl.
	* lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
	Remove.  Do not include <stdlib.h>.
	(careadlinkat): Use stdlib_allocator instead of rolling our own.
	* modules/careadlinkat (Files): Remove lib/allocator.h.
	(Depends-on): Add allocator.

	stdlib: let modules use system malloc, realloc
	* lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
	if !_GL_USE_STDLIB_ALLOC.
	(malloc, realloc): Limit this change to a smaller scope.

	* lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
	(malloc, realloc): Don't #undef; no longer needed.
	* lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
	* lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
	* lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
	* lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
	* lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
	* lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
	* lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
	* lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.

	careadlinkat: rename members to avoid problem
	* lib/allocator.h (struct allocator): Rename members from
	malloc/realloc to allocate/reallocate, to avoid problems if malloc
	and realloc are #define'd.  Reported by Eric Blake in
	<http://lists.gnu.org/r/bug-gnulib/2011-04/msg00091.html>.
	* lib/careadlinkat.c (careadlinkat): Adjust to renaming.

2011-04-08  Eric Blake  <eblake@redhat.com>

	nonblocking: reduce dependency
	* tests/test-nonblocking.c: Only test sockets when in use.
	* modules/nonblocking-tests (Depends-on): Drop socket.
	(Makefile.am): Link even if sockets are not present.
	* modules/pipe2-tests (Makefile.am): Likewise.
	* lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.

	pipe2: fix O_NONBLOCK support on mingw
	* modules/pipe2 (Depends-on): Add nonblocking.
	* lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
	* tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
	* tests/test-nonblocking.c (main): Likewise.
	* modules/pipe2-tests (Makefile.am): Avoid link failure.

	fcntl-h: fix O_ACCMODE on cygwin
	* doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
	* lib/fcntl.in.h (O_ACCMODE): Fix it.

	pipe-filter: drop O_NONBLOCK workarounds
	* modules/pipe-filter-gi (Depends-on): Add fcntl-h.
	* modules/pipe-filter-ii (Depends-on): Likewise.
	* lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.

	nonblocking: provide O_NONBLOCK for mingw
	* modules/nonblocking (Depends-on): Add open.
	(configure.ac): Set new witness macro.
	* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
	* modules/fcntl-h (Makefile.am): Substitute it.
	* lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
	nonblocking module is in use.
	* lib/nonblocking.c: Adjust portability test.
	* lib/open.c (open): Don't let native open see gnulib flag.
	* tests/test-fcntl-h.c (main): Enhance test.
	* tests/test-open.h (test_open): Likewise.
	* doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.

	careadlinkat: fix compilation error on mingw
	* lib/careadlinkat.c (standard_allocator): Avoid renaming fields
	within struct allocator.

2011-04-06  Eric Blake  <eblake@redhat.com>

	binary-io: relicense under LGPLv2+
	* modules/binary-io (License): Relax to LGPLv2+.
	Requested for libvirt, and required by pipe2.

2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>

	verify: use _Static_assert if available
	* lib/verify.h (HAVE__STATIC_ASSERT): New macro.
	(verify_true, verify): Use it if available.  This generates better
	diagnostics with GCC 4.6.0 and later.

2011-04-05  Bruno Haible  <bruno@clisp.org>

	Remove leftover generated .h files after config.status changed.

	* m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
	GL_GENERATE_ALLOCA_H.
	* modules/alloca-opt (Makefile.am): Remove alloca.h if
	GL_GENERATE_ALLOCA_H evaluates to false.

	* m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
	GL_GENERATE_ARGZ_H.
	* modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
	evaluates to false.

	* m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
	GL_GENERATE_BYTESWAP_H.
	* modules/byteswap (Makefile.am): Remove byteswap.h if
	GL_GENERATE_BYTESWAP_H evaluates to false.

	* m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
	GL_GENERATE_ERRNO_H.
	* modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
	evaluates to false.

	* m4/float_h.m4 (gl_FLOAT_H): New automake conditional
	GL_GENERATE_FLOAT_H.
	* modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
	evaluates to false.

	* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
	GL_GENERATE_FNMATCH_H.
	* modules/fnmatch (Makefile.am): Remove fnmatch.h if
	GL_GENERATE_FNMATCH_H evaluates to false.

	* m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
	GL_GENERATE_GLOB_H.
	* modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
	evaluates to false.

	* m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
	automake conditional GL_GENERATE_ICONV_H.
	* modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
	evaluates to false.

	* m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
	GL_GENERATE_NETINET_IN_H.
	* modules/netinet_in (Makefile.am): Remove netinet/in.h if
	GL_GENERATE_NETINET_IN_H evaluates to false.

	* m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
	conditional GL_GENERATE_PTHREAD_H.
	(gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
	* modules/pthread (Makefile.am): Remove pthread.h if
	GL_GENERATE_PTHREAD_H evaluates to false.

	* m4/sched_h.m4 (gl_SCHED_H): New automake conditional
	GL_GENERATE_SCHED_H.
	* modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
	evaluates to false.

	* m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
	conditional GL_GENERATE_SELINUX_CONTEXT_H.
	* modules/selinux-h (Makefile.am): Remove selinux/context.h if
	GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.

	* m4/stdarg.m4 (gl_STDARG_H): New automake conditional
	GL_GENERATE_STDARG_H.
	* modules/stdarg (Makefile.am): Remove stdarg.h if
	GL_GENERATE_STDARG_H evaluates to false.

	* m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
	GL_GENERATE_STDBOOL_H.
	* modules/stdbool (Makefile.am): Remove stdbool.h if
	GL_GENERATE_STDBOOL_H evaluates to false.

	* m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
	conditional GL_GENERATE_STDDEF_H.
	(gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
	* modules/stddef (Makefile.am): Remove stddef.h if
	GL_GENERATE_STDDEF_H evaluates to false.

	* m4/stdint.m4 (gl_STDINT_H): New automake conditional
	GL_GENERATE_STDINT_H.
	* modules/stdint (Makefile.am): Remove stdint.h if
	GL_GENERATE_STDINT_H evaluates to false.

	* m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
	GL_GENERATE_SYSEXITS_H.
	* modules/sysexits (Makefile.am): Remove sysexits.h if
	GL_GENERATE_SYSEXITS_H evaluates to false.

	Reported by Karl Berry and Ralf Wildenhues.

2011-04-05  Bruno Haible  <bruno@clisp.org>

	Ensure to rebuild generated .h files when config.status has changed.
	* modules/arpa_inet (Makefile.am): Add dependency from .h file to
	config.status.
	* modules/ctype (Makefile.am): Likewise.
	* modules/dirent (Makefile.am): Likewise.
	* modules/errno (Makefile.am): Likewise.
	* modules/fcntl-h (Makefile.am): Likewise.
	* modules/float (Makefile.am): Likewise.
	* modules/getopt-posix (Makefile.am): Likewise.
	* modules/glob (Makefile.am): Likewise.
	* modules/iconv-h (Makefile.am): Likewise.
	* modules/inttypes (Makefile.am): Likewise.
	* modules/langinfo (Makefile.am): Likewise.
	* modules/locale (Makefile.am): Likewise.
	* modules/math (Makefile.am): Likewise.
	* modules/netdb (Makefile.am): Likewise.
	* modules/netinet_in (Makefile.am): Likewise.
	* modules/poll-h (Makefile.am): Likewise.
	* modules/pthread (Makefile.am): Likewise.
	* modules/pty (Makefile.am): Likewise.
	* modules/sched (Makefile.am): Likewise.
	* modules/search (Makefile.am): Likewise.
	* modules/selinux-h (Makefile.am): Likewise.
	* modules/signal (Makefile.am): Likewise.
	* modules/spawn (Makefile.am): Likewise.
	* modules/stdarg (Makefile.am): Likewise.
	* modules/stdbool (Makefile.am): Likewise.
	* modules/stddef (Makefile.am): Likewise.
	* modules/stdint (Makefile.am): Likewise.
	* modules/stdio (Makefile.am): Likewise.
	* modules/stdlib (Makefile.am): Likewise.
	* modules/string (Makefile.am): Likewise.
	* modules/strings (Makefile.am): Likewise.
	* modules/sys_file (Makefile.am): Likewise.
	* modules/sys_ioctl (Makefile.am): Likewise.
	* modules/sys_select (Makefile.am): Likewise.
	* modules/sys_socket (Makefile.am): Likewise.
	* modules/sys_stat (Makefile.am): Likewise.
	* modules/sys_time (Makefile.am): Likewise.
	* modules/sys_times (Makefile.am): Likewise.
	* modules/sys_utsname (Makefile.am): Likewise.
	* modules/sys_wait (Makefile.am): Likewise.
	* modules/sysexits (Makefile.am): Likewise.
	* modules/termios (Makefile.am): Likewise.
	* modules/time (Makefile.am): Likewise.
	* modules/unistd (Makefile.am): Likewise.
	* modules/wchar (Makefile.am): Likewise.
	* modules/wctype-h (Makefile.am): Likewise.
	Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.

2011-04-05  Bruno Haible  <bruno@clisp.org>

	pipe2: Relicense under LGPLv2+.
	* modules/pipe2 (License): Change to LGPLv2+.
	Requested by Eric Blake, for libvirt.

2011-04-05  Bruce Korb  <bkorb@gnu.org>

	bootstrap: compute gnulib_extra_files after updating build_aux
	* build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
	change build_aux or also supply gnulib_extra_files.  Handle correctly.

2011-04-05  Eric Blake  <eblake@redhat.com>

	bootstrap: preserve git whitelist item sorting
	* build-aux/bootstrap (sort_patterns): New function.
	(insert_sorted_if_absent): Use it to sink ! lines to the bottom.

2011-04-05  Simon Josefsson  <simon@josefsson.org>

	* top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
	sc_space_tab check.

2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>

	areadlink, areadlinkat: rewrite in terms of careadlinkat
	* lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
	instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
	(SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
	(malloc, realloc): Remove #undefs.
	(areadlink, areadlinkat): Rewrite in terms of careadlinkat.
	* modules/areadlink (Depends-on): Add careadlinkat.  Remove
	readlink, ssize_t, stdint, unistd.
	* modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
	areadlink, stdint.

	careadlinkat: new module
	* lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
	* modules/careadlinkat: New files, written by me with
	a review and feedback from Ben Pfaff in
	<http://lists.gnu.org/r/bug-gnulib/2011-04/msg00008.html>.

2011-04-01  Bruno Haible  <bruno@clisp.org>

	wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
	* lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
	_GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
	systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
	Reported by Bruce Korb <bruce.korb@gmail.com>.

2011-04-01  Bruno Haible  <bruno@clisp.org>

	wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
	* m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
	* m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
	* modules/wcpcpy (Depends-on): Add extensions.
	* modules/wcpncpy (Depends-on): Likewise.
	* doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
	systems.
	* doc/posix-functions/wcpncpy.texi: Likewise.
	* doc/posix-functions/wcwidth.texi: Likewise.

2011-03-31  Eric Blake  <eblake@redhat.com>

	nonblocking: fix mingw test failures
	* lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
	non-blocking flag on regular file.
	(get_nonblocking_flag): Set errno on invalid fd.
	* tests/test-nonblocking.c (main): Avoid test failure on
	directories if fchdir is not active.
	* modules/nonblocking-tests (Depends-on): Drop unused dependency.

2011-03-31  Bruno Haible  <bruno@clisp.org>

	Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
	* m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
	gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
	Reported by Simon Josefsson <simon@josefsson.org>.

2011-03-31  Bruno Haible  <bruno@clisp.org>
	and Eric Blake  <eblake@redhat.com>

	nonblocking: new module
	* modules/nonblocking: New module.
	* modules/nonblocking-tests: Likewise.
	* lib/nonblocking.h: New file.
	* lib/nonblocking.c: Likewise.
	* tests/test-nonblocking.c: New test.
	* lib/ioctl.c (ioctl) [mingw]: Update comment.

2011-03-30  Bruno Haible  <bruno@clisp.org>

	stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
	* lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
	instead of 'printf' format for GCC >= 4.4.
	(_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
	(fprintf, printf, vfprintf, vprintf): Declare with
	_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
	the system's vfprintf() function.
	Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.

2011-03-30  Eric Blake  <eblake@redhat.com>

	passfd: fix scoping bug
	* lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
	before sendmsg/recvmsg.

	passfd: standardize coding conventions
	* m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
	can be learned at compile time.
	* lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
	ifdefs.
	(sendfd, recvfd): Follow gnulib code conventions.

	passfd: fix incorrect sendmsg arguments
	* lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
	incorrect msg_controllen value.
	* modules/passfd-tests (Depends-on): Check for alarm.
	* tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
	Reported by Bastien ROUCARIES.

2011-03-30  Bruno Haible  <bruno@clisp.org>

	c-strcasestr: Relicense under LGPLv2+.
	* modules/c-strcasestr (License): Change to LGPLv2+.
	Requested by Eric Blake, for libvirt.

2011-03-30  Simon Josefsson  <simon@josefsson.org>

	* users.txt: Add libidn2.  Fix libtasn1 link.

2011-03-30  Jim Meyering  <meyering@redhat.com>

	tests: readlink* ("",... fails with EINVAL on newer kernels
	readlink and readlinkat have typically failed with ENOENT for
	the invalid, empty file name,  "".  However, with the advent
	of linux-2.6.39, they fail with EINVAL.
	* tests/test-areadlink.h (test_areadlink): Also accept EINVAL
	when operating on the empty file name.
	* tests/test-readlink.h (test_readlink): Likewise.

2011-03-29  Bruno Haible  <bruno@clisp.org>

	Relicense some modules under LGPLv2+, for libidn2.
	* modules/array-mergesort (License): Change to LGPLv2+.
	* modules/c-strcaseeq (License): Likewise.
	* modules/striconveh (License): Likewise.
	* modules/striconveha (License): Likewise.
	* modules/uniconv/base (License): Likewise.
	* modules/uniconv/u8-conv-from-enc (License): Likewise.
	* modules/uniconv/u8-strconv-from-enc (License): Likewise.
	* modules/uniconv/u8-strconv-from-locale (License): Likewise.
	* modules/unictype/base (License): Likewise.
	* modules/unictype/bidiclass-of (License): Likewise.
	* modules/unictype/category-M (License): Likewise.
	* modules/unictype/category-none (License): Likewise.
	* modules/unictype/category-of (License): Likewise.
	* modules/unictype/category-test (License): Likewise.
	* modules/unictype/category-test-withtable (License): Likewise.
	* modules/unictype/combining-class (License): Likewise.
	* modules/unictype/joiningtype-of (License): Likewise.
	* modules/unictype/scripts (License): Likewise.
	* modules/uninorm/base (License): Likewise.
	* modules/uninorm/canonical-decomposition (License): Likewise.
	* modules/uninorm/composition (License): Likewise.
	* modules/uninorm/decompose-internal (License): Likewise.
	* modules/uninorm/decomposition-table (License): Likewise.
	* modules/uninorm/nfc (License): Likewise.
	* modules/uninorm/nfd (License): Likewise.
	* modules/uninorm/u32-normalize (License): Likewise.
	* modules/unistr/base (License): Likewise.
	* modules/unistr/u32-cpy (License): Likewise.
	* modules/unistr/u32-mbtouc-unsafe (License): Likewise.
	* modules/unistr/u32-to-u8 (License): Likewise.
	* modules/unistr/u32-uctomb (License): Likewise.
	* modules/unistr/u8-check (License): Likewise.
	* modules/unistr/u8-mblen (License): Likewise.
	* modules/unistr/u8-mbtouc (License): Likewise.
	* modules/unistr/u8-mbtouc-unsafe (License): Likewise.
	* modules/unistr/u8-mbtoucr (License): Likewise.
	* modules/unistr/u8-prev (License): Likewise.
	* modules/unistr/u8-strlen (License): Likewise.
	* modules/unistr/u8-to-u32 (License): Likewise.
	* modules/unistr/u8-uctomb (License): Likewise.
	* modules/unitypes (License): Likewise.
	Requested by Simon Josefsson.

2011-03-29  Simon Josefsson  <simon@josefsson.org>

	lib-symbol-visibility: Add a notice.
	* modules/lib-symbol-visibility (Notice): New field.

2011-03-29  Bruno Haible  <bruno@clisp.org>

	getaddrinfo: Doc fix.
	* doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
	section "fixed in Gnulib".

2011-03-28  Simon Josefsson  <simon@josefsson.org>

	* doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
	Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.

2011-03-26  Bruno Haible  <bruno@clisp.org>

	unictype/property-byname: Reduce the number of load-time relocations.
	* lib/unictype/pr_byname.c: Include <stdlib.h>.
	(UC_PROPERTY_INDEX_*): New enumeration values.
	(uc_property_byname): Convert an index from the lookup table to an
	uc_property_t.
	* lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
	values.

2011-03-26  Bruno Haible  <bruno@clisp.org>

	unictype/property-byname: Allow omitted word separators and aliases.
	* lib/unictype/pr_byname.gperf: Add property names without word
	separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
	for 'space'.

2011-03-26  Bruno Haible  <bruno@clisp.org>

	unictype/joininggroup-byname: Allow hyphens, omitted word separators.
	* lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
	also hyphens to space.
	* lib/unictype/joininggroup_byname.gperf: Recognize the names also
	without spaces.
	* tests/unictype/test-joininggroup_byname.c (main): Add more tests.

2011-03-26  Bruno Haible  <bruno@clisp.org>

	unictype/joiningtype-byname: Recognize long names as well.
	* lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
	a long name.
	* lib/unictype/joiningtype_byname.c: Include <string.h>,
	unictype/joiningtype_byname.h.
	(uc_joiningtype_class_byname): Use uc_joining_type_lookup.
	* lib/unictype/joiningtype_byname.gperf: New file.
	* modules/unictype/joiningtype-byname (Files): Add
	lib/unictype/joiningtype_byname.gperf.
	(Depends-on): Add gperf.
	(Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
	* tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
	long names.

	Tests for module 'unictype/joiningtype-longname'.
	* modules/unictype/joiningtype-longname-tests: New file.
	* tests/unictype/test-joiningtype_longname.c: New file.

	New module 'unictype/joiningtype-longname'.
	* lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
	* lib/unictype/joiningtype_longname.c: New file.
	* modules/unictype/joiningtype-longname: New file.
	* modules/unictype/joiningtype-all (Depends-on): Add
	unictype/joiningtype-longname.

2011-03-26  Bruno Haible  <bruno@clisp.org>

	unictype/bidiclass-byname: Recognize long names as well.
	* lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
	name.
	* lib/unictype/bidi_byname.c: Include <string.h>,
	unictype/bidi_byname.h.
	(uc_bidi_class_byname): Use uc_bidi_class_lookup.
	* lib/unictype/bidi_byname.gperf: New file.
	* modules/unictype/bidiclass-byname (Files): Add
	lib/unictype/bidi_byname.gperf.
	(Depends-on): Add gperf.
	(Makefile.am): Add rule for generating unictype/bidi_byname.h.
	* tests/unictype/test-bidi_byname.c (main): Test the recognition of
	long names.

	Tests for module 'unictype/bidiclass-longname'.
	* modules/unictype/bidiclass-longname-tests: New file.
	* tests/unictype/test-bidi_longname.c: New file.

	New module 'unictype/bidiclass-longname'.
	* lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
	* lib/unictype/bidi_longname.c: New file.
	* modules/unictype/bidiclass-longname: New file.
	* modules/unictype/bidiclass-all (Depends-on): Add
	unictype/bidiclass-longname.

2011-03-26  Bruno Haible  <bruno@clisp.org>

	unictype/bidi*: Rename modules.
	* modules/unictype/bidiclass-all: Renamed from
	modules/unictype/bidicategory-all.
	* modules/unictype/bidiclass-name: Renamed from
	modules/unictype/bidiclass-name.
	(Description): Update.
	* modules/unictype/bidiclass-name-tests: Renamed from
	modules/unictype/bidicategory-name-tests.
	* modules/unictype/bidiclass-byname: Renamed from
	modules/unictype/bidicategory-byname.
	(Description): Update.
	* modules/unictype/bidiclass-byname-tests: Renamed from
	modules/unictype/bidicategory-byname-tests.
	* modules/unictype/bidiclass-of: Renamed from
	modules/unictype/bidicategory-of.
	(Description): Update.
	* modules/unictype/bidiclass-of-tests: Renamed from
	modules/unictype/bidicategory-of-tests.
	* modules/unictype/bidiclass-test: Renamed from
	modules/unictype/bidicategory-test.
	(Description): Update.
	* modules/unictype/bidiclass-test-tests: Renamed from
	modules/unictype/bidicategory-test-tests.
	* modules/unictype/bidicategory-all: New file, a simple redirection.
	* modules/unictype/bidicategory-name: Likewise.
	* modules/unictype/bidicategory-byname: Likewise.
	* modules/unictype/bidicategory-of: Likewise.
	* modules/unictype/bidicategory-test: Likewise.
	* modules/unictype/property-bidi-* (Dependencies): Update.
	* lib/unictype/bidi_*.c: Update comment.

2011-03-26  Bruno Haible  <bruno@clisp.org>

	unictype/bidi*: Rename functions, part 2.
	* modules/unictype/bidicategory-name (configure.ac): Update required
	libunistring version.
	* modules/unictype/bidicategory-byname (configure.ac): Likewise.

2011-03-25  Bruno Haible  <bruno@clisp.org>

	New module 'unictype/combining-class-all'.
	* modules/unictype/combining-class-all: New file.

	Tests for module 'unictype/combining-class-byname'.
	* modules/unictype/combining-class-byname-tests: New file.
	* tests/unictype/test-combiningclass_byname.c: New file.

	New module 'unictype/combining-class-byname'.
	* lib/unictype.in.h (uc_combining_class_byname): New declaration.
	* lib/unictype/combiningclass_byname.c: New file.
	* lib/unictype/combiningclass_byname.gperf: New file.
	* modules/unictype/combining-class-byname: New file.

	Tests for module 'unictype/combining-class-longname'.
	* modules/unictype/combining-class-longname-tests: New file.
	* tests/unictype/test-combiningclass_longname.c: New file.

	New module 'unictype/combining-class-longname'.
	* lib/unictype.in.h (uc_combining_class_long_name): New declaration.
	* lib/unictype/combiningclass_longname.c: New file.
	* modules/unictype/combining-class-longname: New file.

	Tests for module 'unictype/combining-class-name'.
	* modules/unictype/combining-class-name-tests: New file.
	* tests/unictype/test-combiningclass_name.c: New file.

	New module 'unictype/combining-class-name'.
	* lib/unictype.in.h (uc_combining_class_name): New declaration.
	* lib/unictype/combiningclass_name.c: New file.
	* modules/unictype/combining-class-name: New file.

2011-03-25  Bruno Haible  <bruno@clisp.org>

	unictype/combining-class: Rename source files.
	* lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
	of unictype/combining.h.
	* lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
	Update.
	* lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
	* modules/unictype/combining-class (Description): Fix.
	(Files, Makefile.am): Update.
	* tests/unictype/test-combiningclass.c: Renamed from
	tests/unictype/test-combining.c.
	* modules/unictype/combining-class-tests (Files, Makefile.am): Update.

2011-03-25  Bruno Haible  <bruno@clisp.org>

	unictype: Update list of canonical combining classes.
	* lib/unictype.in.h (UC_CCC_ATA): New enumeration value.

2011-03-25  Bruno Haible  <bruno@clisp.org>

	unictype/category-byname: Recognize long names as well.
	* lib/unictype.in.h (uc_general_category_byname): Allow argument to be
	a long name.
	* lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
	unictype/categ_byname.h.
	(UC_CATEGORY_INDEX_*): New enumeration values.
	(uc_general_category_byname): Use uc_general_category_lookup and
	convert from index to value.
	* lib/unictype/categ_byname.gperf: New file.
	* modules/unictype/category-byname (Files): Add
	lib/unictype/categ_byname.gperf.
	(Depends-on): Add gperf.
	(Makefile.am): Add rule for generating unictype/categ_byname.h.
	* tests/unictype/test-categ_byname.c (main): Test the recognition of
	long names.

	Tests for module 'unictype/category-longname'.
	* modules/unictype/category-longname-tests: New file.
	* tests/unictype/test-categ_longname.c: New file.

	New module 'unictype/category-longname'.
	* lib/unictype.in.h (uc_general_category_long_name): New declaration.
	* lib/unictype/categ_longname.c: New file.
	* modules/unictype/category-longname: New file.
	* modules/unictype/category-all (Depends-on): Add it.

2011-03-25  Bruno Haible  <bruno@clisp.org>

	Tests for module 'unictype/category-LC'.
	* modules/unictype/category-LC-tests: New file.
	* tests/unictype/test-categ_LC.c: New file, automatically generated.

	New module 'unictype/category-LC'.
	* lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
	(UC_CATEGORY_LC): New declaration.
	(UC_CASED_LETTER): New macro.
	* lib/gen-uni-tables.c (is_category_LC): New function.
	(output_categories): Also handle category LC.
	(UC_CATEGORY_MASK_LC): New enumeration value.
	(general_category_byname): Also handle category LC.
	* lib/unictype/categ_LC.c: New file.
	* lib/unictype/categ_LC.h: New file, automatically generated.
	* lib/unictype/categ_name.c (uc_general_category_name): Also handle
	category LC.
	* lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
	* modules/unictype/category-LC: New file.
	* modules/unictype/category-byname (Depends-on): Add
	unictype/category-LC.
	* modules/unictype/category-all (Depends-on): Likewise.

2011-03-25  Eric Blake  <eblake@redhat.com>

	xmalloc: revert yesterday's regression
	* lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
	realloc's underlying behavior (allowing allocation of zero-size
	objects, especially if malloc-gnu is also in use).

2011-03-25  Reuben Thomas  <rrt@sc3d.org>

	maint.mk: add missing version to VC-tag
	* top/maint.mk: git tag was missing actual tag name; add it.

	valgrind: do leak checking, and exit with code 1 on error (not 0)
	* m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
	to VALGRIND.

2010-11-30  Reuben Thomas  <rrt@sc3d.org>

	posix-modules: say what it does.
	* posix-modules: Add a line to the --help output saying what it does.

2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>

	xmalloc: Do not leak if underlying realloc is C99 compatible.
	* lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
	This avoids a leak on C99-based systems.  See
	<http://lists.gnu.org/r/bug-gnulib/2011-03/msg00243.html>.

2011-03-24  Eric Blake  <eblake@redhat.com>

	realloc: document portability problem
	* doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
	passing 0 size to realloc.

2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>

	doc: update users.txt
	* users.txt: Add cvsps, tmpwatch

2011-03-23  Matt Rice  <ratmice@gmail.com>

	doc: update users.txt
	* users.txt: Add gdb.

2011-03-23  Jim Meyering  <meyering@redhat.com>

	doc: update users.txt
	Looking through matches up to the following URL (there are still
	several more pages), I found several projects that use gnulib:
	http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
	* users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
	gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.

2011-03-22  Bruno Haible  <bruno@clisp.org>

	unictype/bidi*: Rename functions.
	* lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
	uc_bidi_class, uc_is_bidi_class): New declarations.
	* lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
	uc_bidi_category_byname.
	(uc_bidi_category_byname): New function.
	* lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
	u_bidi_category_name.
	(uc_bidi_class_name): Renamed from uc_bidi_category_name.
	(uc_bidi_category_name): New function.
	* lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
	uc_bidi_category.
	(uc_bidi_category): New function.
	* lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
	uc_is_bidi_category. Invoke uc_bidi_class.
	(uc_is_bidi_category): New function.
	* tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
	instead of uc_bidi_category_byname.
	* tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
	instead of uc_bidi_category_name.
	* tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
	uc_bidi_category.
	* tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
	instead of uc_is_bidi_category.

2011-03-21  Bruno Haible  <bruno@clisp.org>

	New module 'unictype/joininggroup-all'.
	* modules/unictype/joininggroup-all: New file.

	Tests for module 'unictype/joininggroup-of'.
	* modules/unictype/joininggroup-of-tests: New file.
	* tests/unictype/test-joininggroup_of.c: New file.
	* tests/unictype/test-joininggroup_of.h: New file, automatically
	generated by gen-uni-tables.

	New module 'unictype/joininggroup-of'.
	* modules/unictype/joininggroup-of: New file.
	* lib/unictype/joininggroup_of.c: New file.
	* lib/unictype/joininggroup_of.h: New file, automatically generated by
	gen-uni-tables.

	Tests for module 'unictype/joininggroup-byname'.
	* modules/unictype/joininggroup-byname-tests: New file.
	* tests/unictype/test-joininggroup_byname.c: New file.

	New module 'unictype/joininggroup-byname'.
	* modules/unictype/joininggroup-byname: New file.
	* lib/unictype/joininggroup_byname.c: New file.
	* lib/unictype/joininggroup_byname.gperf: New file.

	Tests for module 'unictype/joininggroup-name'.
	* modules/unictype/joininggroup-name-tests: New file.
	* tests/unictype/test-joininggroup_name.c: New file.

	New module 'unictype/joininggroup-name'.
	* modules/unictype/joininggroup-name: New file.
	* lib/unictype/joininggroup_name.c: New file.
	* lib/unictype/joininggroup_name.h: New file.

	New module 'unictype/joiningtype-all'.
	* modules/unictype/joiningtype-all: New file.

	Tests for module 'unictype/joiningtype-of'.
	* modules/unictype/joiningtype-of-tests: New file.
	* tests/unictype/test-joiningtype_of.c: New file.
	* tests/unictype/test-joiningtype_of.h: New file, automatically
	generated by gen-uni-tables.

	New module 'unictype/joiningtype-of'.
	* modules/unictype/joiningtype-of: New file.
	* lib/unictype/joiningtype_of.c: New file.
	* lib/unictype/joiningtype_of.h: New file, automatically generated by
	gen-uni-tables.

	Tests for module 'unictype/joiningtype-byname'.
	* modules/unictype/joiningtype-byname-tests: New file.
	* tests/unictype/test-joiningtype_byname.c: New file.

	New module 'unictype/joiningtype-byname'.
	* modules/unictype/joiningtype-byname: New file.
	* lib/unictype/joiningtype_byname.c: New file.

	Tests for module 'unictype/joiningtype-name'.
	* modules/unictype/joiningtype-name-tests: New file.
	* tests/unictype/test-joiningtype_name.c: New file.

	New module 'unictype/joiningtype-name'.
	* modules/unictype/joiningtype-name: New file.
	* lib/unictype/joiningtype_name.c: New file.

	unictype: Add support for Arabic shaping properties.
	* lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
	(uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
	declarations.
	(UC_JOINING_GROUP_*): New enumeration values.
	(uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
	declarations.
	* lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
	(unicode_joining_type): New variable.
	(UC_JOINING_GROUP_*): New enumeration values.
	(unicode_joining_group): New variable.
	(fill_arabicshaping, joining_type_as_c_identifier,
	output_joining_type_test, output_joining_type,
	joining_group_as_c_identifier, output_joining_group_test,
	output_joining_group): New functions.
	(main); Add an argument denoting the ArabicShaping.txt file. Invoke
	fill_arabicshaping and output_joining_type_test, output_joining_type,
	output_joining_group_test, output_joining_group.
	Reported by Simon Josefsson.

2011-03-21  Jim Meyering  <meyering@redhat.com>

	strftime: fix a bug in yesterday's change
	* lib/strftime.c (add): Accommodate width's initial value of -1.
	Otherwise, nstrftime would copy uninitialized data into
	the result buffer.

2011-03-21  Jim Meyering  <meyering@redhat.com>

	tests: add strftime-tests module
	* tests/test-strftime.c: New file.
	* modules/strftime-tests: New module.

2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>

	strftime: don't assume a byte count fits in 'int'
	* lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
	found this problem by static analysis, using gcc -Wstrict-overflow
	(GCC 4.5.2, x86-64).  This reported an optimization that depended
	on an integer overflow having undefined behavior, but it turns out
	that the argument is a size, which might not fit in 'int' anyway,

2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>

	stdio: don't require ignore_value around fwrite

	This patch works around libc bug 11959
	<http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
	Without this patch, applications must often write
	ignore_value (fwrite (...)) even though the ignore_value is
	not helpful here.  It's common to write many objects, using
	fwrite/printf/etc., and then use ferror to detect output error.

	I considered making this patch optional, but decided against it,
	because libc is obviously being inconsistent here: there is no
	reason libc should insist that user code must inspect fwrite
	return's value without also insisting that it inspect printf's,
	putchar's, etc.  If user code wants to have a strict style where
	all these functions' values are checked (so that ferror need not
	be checked), we could add support for that style in a new gnulib
	module, but in the meantime it's better to be consistent and to
	support common usage.

	* lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
	to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
	that we are compiling in checking mode, and if not C++, and
	if not already wrapping fwrite for some other reason.
	(fwrite): #define to rpl_fwrite if the latter is defined.

2011-03-20  Bruno Haible  <bruno@clisp.org>

	verror: Fix compilation error introduced on 2011-02-13.
	* lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
	instead of __attribute__.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	socklen: do not depend on sys_socket
	While trying to modify Emacs to use gnulib's socklen module,
	I discovered a circular dependency: socklen depends on sys_socket
	and vice versa.  Emacs can use socklen, but it does not need
	sys_socket because it has its own substitute for sys/socket.h.
	* m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
	gl_TYPE_SOCKLEN_T.
	(gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
	gl_PREREQ_SYS_H_SOCKET.
	(gl_TYPE_SOCKLEN_T): Require it instead of requiring
	gl_PREREQ_SYS_H_SOCKET.
	* m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
	gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
	* modules/socklen (Depends-on): Do not depend on sys_socket.
	(Include): Adjust to match the code used in gl_SOCKET_HEADERS.

2011-03-20  Jim Meyering  <meyering@redhat.com>

	maint.mk: sort file names *after* new transformation
	* top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
	prefix would have led to an unwarranted failure in GNU parted.
	Sort after that transformation.

2011-03-19  Jim Meyering  <meyering@redhat.com>

	maint.mk: fix po-file syntax-check rule
	* top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
	Patch by Bruno Haible.

2011-03-19  Bruno Haible  <bruno@clisp.org>

	socklen: Update comment.
	* m4/socklen.m4: Update comment about platforms.

2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	inet_ntop, inet_pton: Simplify.
	* modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
	documented to provide socklen_t and we already depend on sys_socket.
	* modules/inet_pton (Depends-on): Likewise.
	* lib/arpa_inet.in.h: Adjust comment.

2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	netdb: Simplify.
	* modules/netdb (Depends-on): Remove socklen, since sys_socket is
	documented to provide socklen_t and we already depend on sys_socket.
	* lib/netdb.in.h: Adjust comment.

2011-03-19  Bruno Haible  <bruno@clisp.org>

	sys_socket, netdb: Document problem with socklen_t.
	* doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
	platforms.
	* doc/posix-headers/netdb.texi: Likewise.

2011-03-18  Eric Blake  <eblake@redhat.com>

	maint.mk: let po check work in VPATH build
	* top/maint.mk (po_file): Allow cfg.mk override.
	(sc_po_check): Allow VPATH use.
	Reported by Jiri Denemark.

2011-03-16  Jim Meyering  <meyering@redhat.com>

	maint.mk: allow fine-grained syntax-check exclusion via Make variables
	Before, you would have had to create one .x-sc_ file per rule in order
	to exempt offending files.  Now, you may instead use a Make variable --
	usually defined in cfg.mk -- whose name identifies the affected rule.
	* top/maint.mk (_sc_excl): Define.
	(VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
	(_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.

2011-03-13  Bruno Haible  <bruno@clisp.org>

	ignore-value tests: Avoid warnings.
	* tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
	empty for gcc < 3.4.

2011-03-13  Bruno Haible  <bruno@clisp.org>

	passfd: Fix link error on Solaris.
	* modules/passfd (Description): Correct.
	(Depends-on): Add socketlib.
	(Link): New section.
	* modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.

2011-03-13  Bruno Haible  <bruno@clisp.org>

	passfd: Fix link error on AIX 5.2.
	* m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.

2011-03-13  Bruno Haible  <bruno@clisp.org>

	passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
	* lib/sys_socket.in.h: Include <stddef.h>.
	* m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
	CMSG_FIRSTHDR. Remove unused variable.

2011-03-13  Bruno Haible  <bruno@clisp.org>

	passfd: Fix compilation error on OpenBSD.
	* lib/passfd.c: Include <sys/uio.h>.

2011-03-13  Bruno Haible  <bruno@clisp.org>

	passfd test: Fix warnings.
	* tests/test-passfd.c: Include <sys/wait.h>.
	(main): Fix typo.

2011-03-13  Bruno Haible  <bruno@clisp.org>

	passfd module, part 4, tweaks.
	* tests/test-passfd.c: Reorder includes.
	(main): Fix perror and printf calls.

2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>

	passfd module, part 4.
	* modules/passfd-tests: New file.
	* tests/test-passfd.c: New file.

2011-03-13  Jim Meyering  <meyering@redhat.com>

	Makefile: rely on GNU make; derive syntax-check rule names
	Rather than requiring that each sc_ rule be listed as a dependent
	of "check", use features of GNU make to derive the list.
	* Makefile (syntax-check-rules): Define.
	(check): Depend on the new variable, not the hard-coded list.

2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
	    Bruno Haible  <bruno@clisp.org>

	passfd module, part 3.
	* lib/passfd.h (recvfd): Add a flags argument.
	* lib/passfd.c: Include <fcntl.h>, cloexec.h.
	(recvfd): Add a flags argument.
	* m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
	exists.
	* modules/passfd (Depends-on): Add cloexec.
	Suggested by Eric Blake.

2011-03-13  Bruno Haible  <bruno@clisp.org>

	passfd module, part 2, tweaks.
	* modules/passfd (Files): Reorder.
	(Depends-on): Remove errno.
	(Include): Remove <sys/socket.h>, <sys/un.h>.
	* lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
	* lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
	specification header. Include <sys/socket.h> always. Don't include
	<winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
	(sendfd): Clarify that it sets errno when it fails.
	(recvfd): Fix specification.

2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>

	passfd module, part 2.
	* modules/passfd: New file.
	* lib/passfd.h: New file.
	* lib/passfd.c: New file.

2011-03-12  Bruno Haible  <bruno@clisp.org>

	wcswidth, mbswidth: Avoid integer overflow.
	* lib/wcswidth.c: Include <limits.h>.
	* lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
	* lib/mbswidth.c: Include <limits.h>.
	(mbsnwidth): Avoid 'int' overflow.
	Reported by Jim Meyering.

2011-03-12  Bruno Haible  <bruno@clisp.org>

	futimens, utimensat: Avoid endless recursion on Solaris 10.
	* lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
	Solaris.
	Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
	in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.

2011-03-11  Jim Meyering  <meyering@redhat.com>

	maint.mk: relax a regexp to accommodate other formatting styles
	* top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
	between "ngettext" and the following "(".

2011-03-11  Pádraig Brady  <P@draigBrady.com>

	maint.mk: suppress a false positive warning
	* top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
	diagnostics are marked with ngettext.

2011-03-10  Eric Blake  <eblake@redhat.com>

	wchar: add explicit dependencies, for Tru64
	* modules/mbmemcasecoll (Depends-on): Add wchar.
	* modules/mbtowc (Depends-on): Likewise.
	* modules/vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u-printf-args (Depends-on): Likewise.
	* modules/wctomb (Depends-on): Likewise.
	Reported by Peter O'Gorman.

2011-03-08  Bruno Haible  <bruno@clisp.org>

	passfd module, part 1, tweaks.
	* m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
	Improve indentation. Improve AC_MSG_CHECKING messages.
	* m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
	gl_SOCKET_FAMILIES.

2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>

	passfd module, part 1.
	* m4/afunix.m4: New file.
	* m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
	sockets.

2011-03-08  Bruno Haible  <bruno@clisp.org>

	regex-quote: New API.
	* lib/regex-quote.h: Include <stdbool.h>.
	(struct regex_quote_spec): New type.
	(regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
	New declarations.
	(regex_quote_length, regex_quote_copy, regex_quote): Take a
	'const struct regex_quote_spec *' argument.
	* lib/regex-quote.c (RE_*, PCRE_*): New macros.
	(pcre_special): New constant.
	(regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
	New functions.
	(regex_quote_length, regex_quote_copy, regex_quote): Take a
	'const struct regex_quote_spec *' argument.
	* modules/regex-quote (Depends-on): Add stdbool.
	* tests/test-regex-quote.c (check): Update for new API. Add test for
	anchored results.
	* NEWS: Mention the API change.
	Reported by Reuben Thomas and Eric Blake.

2011-03-06  Bruno Haible  <bruno@clisp.org>

	regex-quote: Fix creation of POSIX extended regular expressions.
	* lib/regex-quote.c (ere_special): Add grouping and alternation
	operators.

2011-03-05  Bruno Haible  <bruno@clisp.org>

	doc: Improve doc regarding autopoint vs. gnulib.
	* doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
	disable autopoint while running autoreconf.
	Suggested by Ralf Wildenhues.

2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
	* m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.

2011-03-03  Bruce Korb  <bkorb@gnu.org>

	parse-duration: remove xalloc.h dependency
	* lib/parse-duration.c (parse_period): handle NULL return from
	strdup instead of calling xstrdup().
	* modules/parse-duration: remove "xalloc" dependency

2011-03-03  Matthew Booth  <mbooth@redhat.com>

	bootstrap: honor m4_base when running aclocal
	* build-aux/bootstrap: Fix hard-coded use of m4 directory name.

2011-03-02  Jim Meyering  <meyering@redhat.com>

	getopt-gnu: relax license from LGPLv3+ to LGPLv2+
	* modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
	on request from Matt Booth.

2011-03-01  Eric Blake  <eblake@redhat.com>

	test-link: work on Hurd
	* tests/test-link.h (test_link): Hurd rejects linking directories
	with EISDIR instead of the POSIX-mandated EPERM.

2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>

	stdio: simplify by moving files to printf-posix, sigpipe
	* m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
	since this symbol is needed only if printf is replaced.
	* m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
	Require gl_ASM_SYMBOL_PREFIX.
	* modules/printf-posix (Files): Add m4/asm-underscore.m4.
	* modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
	(Depends-on): Add 'raise'.
	(configure.ac): Require gl_ASM_SYMBOL_PREFIX.
	* modules/stdio (Files): Remove lib/stdio-write.c,
	m4/asm-underscore.m4.
	(Depends-on): Remove 'raise'.

	stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
	* m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
	* m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
	* modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.

2011-02-28  Bruno Haible  <bruno@clisp.org>

	localcharset: Assume ANSI C behaviour of free().
	* lib/localcharset.c (get_charset_aliases): Remove NULL test before
	calling free().
	Suggested by Simon Josefsson <simon@josefsson.org>.

2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
	    Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
	    Bruno Haible  <bruno@clisp.org>  (tiny change)

	On Cygwin, use /proc file system instead of win32 API.
	* lib/relocatable.c: On Cygwin, use file names from /proc, rather than
	Win32 file names.
	(DllMain): Simplify by removing Cygwin specific code.
	(find_shared_library_fullname): Use Linux specific implementation also
	for Cygwin.
	(get_shared_library_fullname): Update accordingly.
	* lib/progreloc.c: On Cygwin, use file names from /proc, rather than
	Win32 file names.
	(find_executable): On Cygwin, use /proc, like on Linux. Remove previous
	Cygwin specific code.

2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
	    Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)

	Fix OpenMP flag detection for various Fortran compilers.
	* m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
	OpenMP-conditional compilation construct, to force compile
	failure with missing OpenMP flag.
	(AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.

2011-02-25  Eric Blake  <eblake@redhat.com>

	strstr: expand test coverage
	* tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
	compilation.
	* tests/test-memmem.c (main): Duplicate tests.
	* tests/test-strcasestr.c (main): Likewise.
	* tests/test-c-strcasestr.c (main): Likewise.

2011-02-25  Jim Meyering  <meyering@redhat.com>

	maint.mk: detect missing-NL-at-EOF, too
	* top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
	it also detects when a file lacks a newline at EOF.
	(require_exactly_one_NL_at_EOF_): Renamed from
	detect_empty_lines_at_EOF_.  I opted not to rename the rule,
	since people may well have .x-sc_... file names tied to the
	existing name.  Suggested by Eric Blake.

2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>

	dirname: move m4/dos.m4 functionality into lib/dosname.h

	m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
	extracts symbols from it, puts them into config.h; but it's much
	easier to use the symbols directly.  filename.h already does this,
	but it disagrees with dos.m4 in some respects.  This patch
	introduces a different include file dosname.h that packages up
	dos.m4, and then later we can work on merging filename.h and
	dosname.h.  Applications that need only the easy-to-configure
	symbols should consider including dosname.h rather than dirname.h.
	* NEWS: Mention incompatible changes.
	* m4/dos.m4: Remove.
	* lib/dosname.h, modules/dosname: New files.
	* lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
	(FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
	(IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
	* lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
	Include dosname.h, not dirname.h.
	* lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
	Include dosname.h, for definitions of symbols like ISSLASH
	that used to be in config.h.
	* m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
	* m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
	* m4/stat.m4 (gl_FUNC_STAT): Likewise.
	* m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
	* modules/dirname-lgpl (Files): Omit m4/dos.m4.
	* modules/rmdir (Files): Likewise.
	* modules/stat (Files): Likewise.
	* modules/unlink (Files): Likewise.
	* modules/dirname-lgpl (Depends-on): Add dosname.
	* modules/lstat (Depends-on): Likewise.
	* modules/openat (Depends-on): Likewise.
	* modules/rmdir (Depends-on): Likewise.
	* modules/savewd (Depends-on): Likewise.
	* modules/stat (Depends-on): Likewise.
	* modules/unlink (Depends-on): Likewise.
	* modules/openat (Depends-on): Remove dirname-lgpl.
	* modules/savewd (Depends-on): Likewise.
	* tests/test-dirname.c: Do not use removed symbols like
	FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
	the remaining symbols, e.g., ISSLASH ('\\').

2011-02-25  Eric Blake  <eblake@redhat.com>

	strstr: revert patches that introduced bug and pessimization
	* lib/str-two-way.h: Add another reference.
	(two_way_short_needle, two_way_long_needle): Revert changes from
	2011-02-24; they pessimize search speed.
	(critical_factorization): Partially revert changes from
	2010-06-22; they violate the requirement that the left half of the
	needle be smaller than the period of the needle.

2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>

	filenamecat: remove unnecessary dependency on dirname-lgpl
	* modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
	is no direct dependency, just an indirect one via filenamecat-lgpl.

	remove: remove unnecessary use of m4/dos.m4
	* m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
	* modules/remove (FILES): Remove m4/dos.m4.

	* lib/openat-proc.c: Don't include dirname.h; not needed.

	backupfile: remove unnecessary use of m4/dos.m4
	* m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
	of its symbols are used by the backupfile code.  backupfile.c does
	use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
	for the rare case of programs that want all their backup file
	names to live within 8+3 limits, and dos.m4 doesn't address that.
	* modules/backupfile (Files): Remove m4/dos.m4.

2011-02-24  Jim Meyering  <meyering@redhat.com>

	strstr: fix a bug whereby strstr would mistakenly return NULL
	* lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
	in period calculation.
	(two_way_long_needle): Likewise.
	The original problem was reported by Mike Stump in
	http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
	Ralf Wildenhues provided the short needle and haystack.
	* tests/test-strstr.c: Add Ralf's test case to trigger the bug.
	Add a more involved test to trigger the bug in two_way_long_needle.

2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)

	gnulib-tool: remove use of bold display in help screen
	* gnulib-tool (func_usage): Do not use bold display anymore in the
	help screen.  That was just meant to be a temporary emphasis for a
	backward-incompatible change.

2011-02-23  Bruno Haible  <bruno@clisp.org>

	Fix misindentation of preprocessor directives.
	* lib/argp-namefrob.h: Reindent preprocessor directives.
	* lib/getopt_int.h (struct _getopt_data): Likewise.
	* lib/progreloc.c (maybe_executable, find_executable): Likewise.
	* lib/vasnprintf.c (decode_long_double): Likewise.
	* tests/test-argmatch.c: Insert blank lines, for clarity.
	* tests/test-exclude.c: Likewise.

2011-02-22  Bruno Haible  <bruno@clisp.org>

	ioctl: Fix for MacOS X in 64-bit mode.
	* lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
	value.
	Suggested by Eric Blake.
	Reported by Markus Gothe <nietzsche@lysator.liu.se>.

2011-02-22  Jim Meyering  <meyering@redhat.com>

	maint: sc_cpp_indent_check: remove the "only in lib/" restriction
	* Makefile (sc_cpp_indent_check): Don't limit the check to files
	in lib/.

2011-02-22  Eric Blake  <eblake@redhat.com>

	maint: avoid any CDPATH issue
	* Makefile (sc_cpp_indent_check): Anchor cd argument.

	maint: adjust cpp indentation for my modules, as well
	* Makefile (sc_cpp_indent_check): Add my name.
	* lib/fbufmode.c: Filter through cppi.
	* lib/fpurge.c: Likewise.
	* lib/freadable.c: Likewise.
	* lib/freading.c: Likewise.
	* lib/fwritable.c: Likewise.
	* lib/fwriting.c: Likewise.
	* lib/sigaction.c: Likewise.

2011-02-22  Jim Meyering  <meyering@redhat.com>

	maint: adjust cpp indentation to reflect nesting depth
	I.e., in a block of code that begins with an unnested "#if",
	put one space between the "#" in column 1 and following token.
	For example,
	-#include <sys/vfs.h>
	+# include <sys/vfs.h>
	Do this only in .c files that are part of a module I maintain.
	* lib/linkat.c: Filter through cppi.
	* lib/nanosleep.c: Likewise.
	* lib/openat.c: Likewise.
	* lib/openat-die.c: Likewise.
	* lib/dup3.c: Likewise.
	* lib/fchownat.c: Likewise.
	* lib/flock.c: Likewise.
	* lib/fsync.c: Likewise.
	* lib/fts.c: Likewise.
	* lib/getpass.c: Likewise.
	* lib/gettimeofday.c: Likewise.
	* lib/userspec.c: Likewise.
	* Makefile (sc_cpp_indent_check): New rule, to check this.

2011-02-22  Bruno Haible  <bruno@clisp.org>

	New module 'wctomb'.
	* lib/stdlib.in.h (wctomb): New declaration.
	* lib/wctomb.c: New file.
	* lib/wctomb-impl.h: New file.
	* m4/wctomb.m4: New file.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
	REPLACE_WCTOMB.
	* modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
	REPLACE_WCTOMB.
	* modules/wctomb: New file.
	* tests/test-stdlib-c++.cc: Test signature of wctomb.
	* doc/posix-functions/wctomb.texi: Mention the new module.
	* modules/wctob (Depends-on): Add wctomb.

2011-02-22  Bruno Haible  <bruno@clisp.org>

	New module 'mbtowc'.
	* lib/stdlib.in.h (mbtowc): New declaration.
	* lib/mbtowc.c: New file.
	* lib/mbtowc-impl.h: New file, from libutf8 with modifications.
	* m4/mbtowc.m4: New file.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
	REPLACE_MBTOWC.
	* modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
	REPLACE_MBTOWC.
	* modules/mbtowc: New file.
	* tests/test-stdlib-c++.cc: Test signature of mbtowc.
	* doc/posix-functions/mbtowc.texi: Mention the new module.
	* modules/btowc (Depends-on): Add mbtowc.

2011-02-22  Bruno Haible  <bruno@clisp.org>

	wcrtomb: Add more tests for native Windows platforms.
	* tests/test-wcrtomb-w32-1.sh: New file.
	* tests/test-wcrtomb-w32-2.sh: New file.
	* tests/test-wcrtomb-w32-3.sh: New file.
	* tests/test-wcrtomb-w32-4.sh: New file.
	* tests/test-wcrtomb-w32-5.sh: New file.
	* tests/test-wcrtomb-w32.c: New file.
	* modules/wcrtomb-tests (Files): Add them.
	(Makefile.am): Arrange to run these tests.
	* tests/test-wcrtomb-w32-6.sh: New file, currently unused.
	* tests/test-wcrtomb-w32-7.sh: New file, currently unused.

2011-02-20  Bruno Haible  <bruno@clisp.org>

	wcrtomb: Enhance test.
	* tests/test-wcrtomb.c (main): Add test against bug with NULL argument.

2011-02-20  Bruno Haible  <bruno@clisp.org>

	mbrtowc: Tiny optimization.
	* lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.

2011-02-20  Jim Meyering  <meyering@redhat.com>

	test-exclude.c: remove unmatched #endif
	* tests/test-exclude.c: Remove stray #endif, left over from
	the change of a week ago.

2011-02-19  Jim Meyering  <meyering@redhat.com>

	git-version-gen: skip "-dirty" check when appropriate
	* build-aux/git-version-gen: Don't run any git commands when the
	version string comes from .tarball-version.  Prior to this, we
	would run git update-index --refresh even from a just-unpacked
	tarball directory, and that could affect a .git/ directory in a
	parent of the build directory.  Reported by Mike Frysinger.

2011-02-19  Bruno Haible  <bruno@clisp.org>

	unictype/property-byname: Reduce the size of the 'data' segment.
	* lib/unictype/pr_byname.gperf: Add gperf option '%pic'.

2011-02-19  Bruno Haible  <bruno@clisp.org>

	unictype/scripts: Reduce the size of the 'data' segment.
	* lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
	'%pic'.
	* lib/unictype/scripts_byname.gperf: Regenerated.

2011-02-19  Bruno Haible  <bruno@clisp.org>

	stdint: Update documentation.
	* doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.

2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>

	stdint: omit redundant check for wchar.h
	* m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
	always tests whether wchar.h exists, so remove the now-redundant test.

2011-02-18  Bruno Haible  <bruno@clisp.org>

	stdint: Cut dependency to module 'wchar'.
	* lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
	include the necessary prerequisites.
	* m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
	* modules/stdint (Depends-on): Remove wchar.
	(Makefile.am): Substitute HAVE_WCHAR_H.
	This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.

2011-02-18  Eric Blake  <eblake@redhat.com>

	longlong: skip, rather than fail, on cross-compilation
	* m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
	when cross-compiling; regression from 2011-02-16.

2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>

	* NEWS: Mention 2011-02-08 change to stdlib.

2011-02-17  Bruno Haible  <bruno@clisp.org>

	getloadavg: Add comments about platforms.
	* m4/getloadavg.m4: Add comment.
	* lib/getloadavg.c: Likewise.

2011-02-17  Bruno Haible  <bruno@clisp.org>

	getloadavg: Fix link error on Solaris 2.6.
	* modules/getloadavg (Link): New section.
	* modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
	linking test-getloadavg.
	* doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
	getloadavg.

2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
	It was 'int', but this doesn't match the IRIX 6.5 manual.
	Suggested by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2011-02/msg00207.html>.

2011-02-17  Bruno Haible  <bruno@clisp.org>

	havelib: Fix comments.
	* m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
	change.

2011-02-17  Bruno Haible  <bruno@clisp.org>

	havelib: Update config.rpath.
	* build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.

2011-02-17  Bruno Haible  <bruno@clisp.org>

	getloadavg test: Add some plausibility checks.
	* tests/test-getloadavg.c (check_avg): Print a warning when the value
	is improbable.

2011-02-16  Eric Blake  <eblake@redhat.com>

	maintainer-makefile: make syntax-check a no-op from tarballs
	* top/maint.mk (no-vc-detected): New rule.
	(local-checks-available): Use it to avoid hanging if someone tries
	'make syntax-check' from a tarball.  Also append to any non-syntax
	checks already defined in cfg.mk.

2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>

	longlong: tune, particularly for common case of c99

	* m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
	or running anything if c99, or if unsigned long long int does not
	work.  In either case, we know the answer without further tests.
	Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
	it at most once, and use its results for both long long int and
	unsigned long long int.  This is more likely to be efficient in
	the common case where the program wants to check for both long
	long int and unsigned long long int.
	(AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
	since the answer is already known.

2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>

	getloadavg: set errno
	* lib/getloadavg.c: Set errno when returning -1.  If no other
	error number looks appropriate, set it to ENOSYS if the getloadavg
	looks like it can't possibly ever work, ENOTSUP otherwise.
	Suggested by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2011-02/msg00187.html>.

	getloadavg: trim unused parts and speed up 'configure'
	* NEWS: Document this.
	* lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
	always compiled if getloadavg is absent.
	Move test code to ...
	* tests/test-getloadavg.c: New file, containing previous
	contents of test from lib/getloadavg.c.  It also contains
	suggestions by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2011-02/msg00186.html>.
	* modules/getloadavg-tests: New file.
	* m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
	Do tests in the same order as they're needed for getloadavg.c.
	Omit setgid-related tests that generate symbols KMEM_GROUP,
	NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
	Do only the tests that are needed to see whether the system has
	getloadavg, moving the other tests into ...
	(gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
	NLIST_NAME_UNION; nobody should be using it.  Do not define
	symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
	relevant, as the user of this module shouldn't care how getloadavg
	is implemented.

	getloadavg: omit unused var
	* lib/getloadavg.c (getloadavg): Omit unused local variable.

2011-02-15  Jim Meyering  <meyering@redhat.com>

	doc: update users.txt
	* users.txt: Update iwhd's URL.

2011-02-13  Bruno Haible  <bruno@clisp.org>

	Consistent macro naming for macros that use GCC __attribute__.
	* lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
	_ATTRIBUTE_NONNULL_.
	* lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
	* lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
	* lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
	ATTRIBUTE_DEPRECATED.
	* lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
	ATTRIBUTE_NORETURN.
	* lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
	* lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
	* lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
	* lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
	(_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
	(_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
	* lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
	ATTRIBUTE_SENTINEL.
	* lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
	ATTRIBUTE_RETURN_CHECK.
	* tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
	* tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
	ATTRIBUTE_NORETURN.
	* tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
	Reported by Paul Eggert.

2011-02-13  Bruno Haible  <bruno@clisp.org>

	Don't interfere with a program's definition of __attribute__.
	* lib/argp.h (__attribute__): Remove definition.
	(_GL_ATTRIBUTE_FORMAT): New macro.
	(argp_error, __argp_error, argp_failure, __argp_failure): Use it.
	* lib/argp-fmtstream.h (__attribute__): Remove definition.
	(_GL_ATTRIBUTE_FORMAT): New macro.
	(__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
	* lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
	GCC 3 or newer.
	* lib/error.h (__attribute__): Remove definition.
	(_GL_ATTRIBUTE_FORMAT): New macro.
	(error, error_at_line): Use it.
	* lib/hash.h (__attribute__): Remove definition.
	(ATTRIBUTE_WUR): Update definition. Define always.
	* lib/openat.h (__attribute__): Remove definition.
	(ATTRIBUTE_NORETURN): Update definition. Define always.
	* lib/sigpipe-die.h (__attribute__): Remove definition.
	(ATTRIBUTE_NORETURN): Update definition. Define always.
	* lib/vasnprintf.h (__attribute__): Remove definition.
	(_GL_ATTRIBUTE_FORMAT): New macro.
	(asnprintf, vasnprintf): Use it.
	* lib/xalloc.h (__attribute__): Remove definition.
	(ATTRIBUTE_NORETURN): Update definition. Define always.
	(ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
	* lib/xmemdup0.h (__attribute__): Remove definition.
	(ATTRIBUTE_NORETURN): Update definition. Define always.
	* lib/xprintf.h (__attribute__): Remove definition.
	(_GL_ATTRIBUTE_FORMAT): New macro.
	(xprintf, xvprintf, xfprintf, xvfprintf): Use it.
	* lib/xstrtol.h (__attribute__): Remove definition.
	(ATTRIBUTE_NORETURN): Update definition. Define always.
	* lib/xvasprintf.h (__attribute__): Remove definition.
	(_GL_ATTRIBUTE_FORMAT): New macro.
	(xasprintf, xvasprintf): Use it.
	* tests/test-argmatch.c (__attribute__): Remove definition.
	(ATTRIBUTE_NORETURN): Update definition. Define always.
	* tests/test-exclude.c (__attribute__): Remove definition.
	(ATTRIBUTE_NORETURN): Update definition. Define always.
	Reported by Paul Eggert.

2011-02-13  Bruno Haible  <bruno@clisp.org>

	mbrtowc: Add more tests for native Windows platforms.
	* tests/test-mbrtowc-w32-1.sh: New file.
	* tests/test-mbrtowc-w32-2.sh: New file.
	* tests/test-mbrtowc-w32-3.sh: New file.
	* tests/test-mbrtowc-w32-4.sh: New file.
	* tests/test-mbrtowc-w32-5.sh: New file.
	* tests/test-mbrtowc-w32.c: New file.
	* modules/mbrtowc-tests (Files): Add them.
	(Makefile.am): Arrange to run these tests.
	* tests/test-mbrtowc-w32-6.sh: New file, currently unused.
	* tests/test-mbrtowc-w32-7.sh: New file, currently unused.

2011-02-13  Bruno Haible  <bruno@clisp.org>

	mbrtowc: Work around native Windows bug.
	* m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
	guess when no suitable locale for testing was found.
	* doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.

2011-02-13  Bruno Haible  <bruno@clisp.org>

	mbsinit: Work around mingw bug.
	* m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
	* lib/mbsinit.c (mbsinit): Provide an alternate definition for native
	Windows.
	* doc/posix-functions/mbsinit.texi: Mention the mingw bug.

2011-02-13  Bruno Haible  <bruno@clisp.org>

	mbsinit: Don't crash for a NULL argument.
	* lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
	* tests/test-mbsinit.c (mbsinit): Check this behaviour.

2011-02-13  Bruno Haible  <bruno@clisp.org>

	Don't interfere with a program's definition of __attribute__.
	* lib/stdio.in.h (__attribute__): Remove definition.
	(_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
	(dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
	printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
	vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
	* lib/string.in.h (__attribute__): Remove definition.
	Reported by Paul Eggert.

2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>

	stdlib: don't get in the way of non-GCC __attribute__
	See thread starting at
	<http://lists.gnu.org/r/bug-gnulib/2011-02/msg00161.html>.
	Revert previous stdlib change, installing the following instead:
	* lib/stdlib.in.h (__attribute__): Remove.  We do not want
	to get in the way of a non-GCC compiler that supports __attribute__.
	(_GL_ATTRIBUTE_RETURN): New macro.
	(_Exit): Use it instead of __attribute__.

2011-02-12  Bruno Haible  <bruno@clisp.org>

	quotearg test: Avoid test failure on mingw.
	* tests/test-quotearg.sh: Convert the locale identifier from native
	Windows syntax to Unix syntax.

2011-02-12  Bruno Haible  <bruno@clisp.org>

	setlocale: Prefer gnulib's override over libintl's override.
	* lib/locale.in.h (GNULIB_defined_setlocale): New macro.
	* lib/gettext.h (setlocale): Redefine to rpl_setlocale if
	GNULIB_defined_setlocale is set.

2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>

	stdlib: support non-GCC __attribute__

	Fix a serious and tricky problem encountered when attempting to
	add the getloadavg module to Emacs.  Emacs worked fine on RHEL
	5.5, but it crashed due to memory corruption on Solaris 10 with
	Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
	bits that are otherwise zero.  This tagging is optional inside
	Emacs but is preferred and is used when __attribute__ ((__aligned
	(8))) works, as it does with both recent-enough GCC and with Sun C
	5.11.  However, Sun C 5.11 is not GCC and does not #define
	__GNUC__ and __GNUC_MINOR__.

	When I added the getloadavg module to Emacs, it brought in
	stdlib.in.h, which contained this fragment:

	   #ifndef __attribute__
	   # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
	   #  define __attribute__(Spec)   /* empty */
	   # endif
	   #endif

	When files that include <stdlib.h> were compiled with Sun C 5.11,
	the above code disabled __attribute__ ((__aligned (8))), which
	caused variables to not be properly aligned, which eventually led
	to the pointer corruption mentioned above.  (This was a bit hard
	to diagnose, unfortunately.)

	Several "#define __attribute__(X) /* empty */" code snippets need
	to be eradicated from Gnulib to work with non-GCC compilers that
	support __attribute__.  The Autoconf way to do this is to test for
	each kind of attribute that we want support for, and selectively
	enable that in source code.

	Fix this problem just for stdlib.h, by adding a test for the
	__noreturn__ attribute, and change stdlib.in.h to use that test
	when needed.  This technique can be easily generalized to the
	other *.in.h files and attributes, and a similar technique can be
	used for *.h and *.c files.  This patch is enough to solve the
	problem for Emacs + getloadavg, and I thought I'd publish it for
	feedback before undertaking further, similar fixes in other
	modules.

	This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
	because it's not needed for stdlib.h.  It merely substitutes the
	value directly into stdlib.h.  We may well need to #define it, or
	similar symbols, for other modules, but it's nice to also have an
	option to not #define it for applications like Emacs that do not
	need it.

	* lib/stdlib.in.h (__attribute__): Do not #define.
	(_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
	be defined only if the _Exit module is also used.
	* m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
	HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
	platforms.
	* modules/_Exit (Files): Add m4/attribute.m4.
	* modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
	* m4/attribute.m4: New file.

2011-02-12  Bruno Haible  <bruno@clisp.org>

	wcsrtombs: Work around bug on native Windows.
	* m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
	* lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
	instead of len.
	* doc/posix-functions/wcsrtombs.texi: Document mingw bug.

2011-02-12  Bruno Haible  <bruno@clisp.org>

	mbsrtowcs: Work around bug on native Windows.
	* m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
	against mingw bug.
	* doc/posix-functions/mbsrtowcs.texi: Document mingw bug.

2011-02-12  Bruno Haible  <bruno@clisp.org>

	Avoid setlocale bugs in tests.
	* modules/btowc (Dependencies): Add setlocale.
	* modules/c-strcase (Dependencies): Likewise.
	* modules/mbmemcasecmp (Dependencies): Likewise.
	* modules/mbmemcasecoll (Dependencies): Likewise.
	* modules/mbrtowc (Dependencies): Likewise.
	* modules/mbscasecmp (Dependencies): Likewise.
	* modules/mbscasestr (Dependencies): Likewise.
	* modules/mbschr (Dependencies): Likewise.
	* modules/mbscspn (Dependencies): Likewise.
	* modules/mbsinit (Dependencies): Likewise.
	* modules/mbsncasecmp (Dependencies): Likewise.
	* modules/mbsnrtowcs (Dependencies): Likewise.
	* modules/mbspbrk (Dependencies): Likewise.
	* modules/mbspcasecmp (Dependencies): Likewise.
	* modules/mbsrchr (Dependencies): Likewise.
	* modules/mbsrtowcs (Dependencies): Likewise.
	* modules/mbsspn (Dependencies): Likewise.
	* modules/mbsstr (Dependencies): Likewise.
	* modules/nl_langinfo (Dependencies): Likewise.
	* modules/quotearg (Dependencies): Likewise.
	* modules/unicase/locale-language (Dependencies): Likewise.
	* modules/unicase/ulc-casecmp (Dependencies): Likewise.
	* modules/unicase/ulc-casecoll (Dependencies): Likewise.
	* modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
	* modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
	* modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
	* modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
	* modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
	* modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
	* modules/vasnprintf-posix (Dependencies): Likewise.
	* modules/wcrtomb (Dependencies): Likewise.
	* modules/wcsnrtombs (Dependencies): Likewise.
	* modules/wcsrtombs (Dependencies): Likewise.

2011-02-12  Bruno Haible  <bruno@clisp.org>

	setlocale: Workaround native Windows bug.
	* lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
	succeeds but sets LC_CTYPE to "C", report a failure.
	* tests/test-setlocale2.sh: New file.
	* tests/test-setlocale2.c: New file.
	* modules/setlocale-tests (Files): Add the new files.
	(Makefile.am): Enable test-setlocale2.sh test.
	* doc/posix-functions/setlocale.texi: Mention workaround.

2011-02-11  Bruno Haible  <bruno@clisp.org>

	Tests for module 'setlocale'.
	* modules/setlocale-tests: New file.
	* tests/test-setlocale1.sh: New file.
	* tests/test-setlocale1.c: New file.

	New module 'setlocale'.
	* lib/locale.in.h (setlocale): New declaration.
	* lib/setlocale.c: New file, based on
	gettext/gettext-runtime/intl/setlocale.c.
	* m4/setlocale.m4: New file.
	* m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
	(gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
	* modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
	REPLACE_SETLOCALE.
	* modules/setlocale: New file.
	* tests/test-locale-c++.cc: Test the declaration of setlocale.
	* doc/posix-functions/setlocale.texi: Mention the new module.

2011-02-11  Bruno Haible  <bruno@clisp.org>

	Prepare for locale dependent tests on mingw.
	* m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
	because it has the wrong locale encoding.
	* m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
	French_France.1252 instead of "fr".
	(gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
	* m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
	because it has the wrong locale encoding.
	* m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
	native Windows, try Turkish_Turkey.65001.
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
	Chinese_China.54936.

	Prepare for locale dependent tests on mingw.
	* m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
	differently.
	* m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
	* m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
	* m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.

2011-02-11  Eric Blake  <eblake@redhat.com>

	strptime: avoid compiler warnings
	* lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
	compiler warnings about dead code.
	Reported by Daniel P. Berrange.

2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>

	doc: update users.txt
	* users.txt: Add rcs.

2011-02-10  John W. Eaton  <jwe@gnu.org>

	doc: update users.txt
	* users.txt: Add octave.

2011-02-10  Jim Meyering  <meyering@redhat.com>

	doc: update users.txt
	* users.txt: Add iwhd.

2011-02-09  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Make copyright notice adjustment more robust.
	* gnulib-tool (func_import): In sed_transform_main_lib_file,
	sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
	allow a line break to occur after "GNU" in "GNU [Lesser] General Public
	License".
	Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'towctrans'.
	* modules/towctrans: New file.
	* lib/wctype.in.h (towctrans): New declaration.
	* lib/towctrans.c: New file.
	* lib/towctrans-impl.h: New file.
	* m4/towctrans.m4: New file.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
	(gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
	* modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
	* tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
	* doc/posix-functions/towctrans.texi: Mention the new module.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wctrans'.
	* modules/wctrans: New file.
	* lib/wctype.in.h (wctrans): New declaration.
	* lib/wctrans.c: New file.
	* lib/wctrans-impl.h: New file.
	* m4/wctrans.m4: New file.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
	(gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
	* modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
	* tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
	* doc/posix-functions/wctrans.texi: Mention the new module.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'iswctype'.
	* modules/iswctype: New file.
	* lib/wctype.in.h (iswctype): New declaration.
	* lib/iswctype.c: New file.
	* lib/iswctype-impl.h: New file.
	* m4/iswctype.m4: New file.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
	(gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
	* modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
	* tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
	* doc/posix-functions/iswctype.texi: Mention the new module and the
	HP-UX 11.00 problem.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wctype'.
	* modules/wctype: Change to represent the wctype() substitute.
	* lib/wctype.in.h (wctype): New declaration.
	* lib/wctype.c: New file.
	* lib/wctype-impl.h: New file.
	* m4/wctype.m4: New file.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
	(gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
	* modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
	* tests/test-wctype-h-c++.cc: Test the declaration of wctype.
	* doc/posix-functions/wctype.texi: Mention the new module and the
	HP-UX 11.00 problem.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	wctype-h: Ensure wctype_t and wctrans_t are defined.
	* lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
	(gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
	* modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
	HAVE_WCTRANS_T.
	* tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.

2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>

	flock: fix license typo

	* lib/flock.c: Fix typo in license.  One of the "Lesser"s was
	omitted.

2011-02-08  Bruno Haible  <bruno@clisp.org>

	Split large sed scripts, for HP-UX sed.
	* modules/math (Makefile.am): Split sed scripts around 50 sed commands,
	to avoid HP-UX limit of 99 commands, in the near future.
	* modules/stdlib (Makefile.am): Likewise.
	* modules/unistd (Makefile.am): Likewise.
	* modules/wchar (Makefile.am): Likewise.
	Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
	Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
	<http://lists.gnu.org/r/bug-gnulib/2010-01/msg00216.html>.

2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	stdlib: improve random_r modularization
	* lib/stdlib.in.h: Encapsulate all the stuff having to do with
	random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
	you also need the random_r module to get this material right.
	* m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
	* m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
	(gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.

2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>

	stdlib: don't depend on stdint
	* lib/stdlib.in.h: Don't include <stdint.h> merely because
	GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
	be independent of whether stdint.h is needed.
	* m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
	here, instead of ...
	* m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
	struct random_data should be using the random_r module, not just
	the stdlib module (which wouldn't make sense: what package needs
	just struct random_data without also needing random_r?).
	* modules/stdlib (Depends-on): Remove stdint.

	getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
	See the thread rooted at
	<http://lists.gnu.org/r/bug-gnulib/2011-02/msg00090.html>.
	* lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
	Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
	|| defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
	__VMS)); previously it was always included (via fcntl--.h).
	(getloadavg): Do not use c_strtod.  Instead, approximate it by
	hand; this is good enough for load averages.  Also, do not use
	set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
	flags directly if available and don't bother otherwise.  (Packages
	that need the extra reliability should use the modules that define
	these flags on older platforms that lack them.)
	* modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
	fcntl-safer.

2011-02-08  Jim Meyering  <meyering@redhat.com>

	di-set.h, ino-map.h: add multiple-inclusion guard
	Technically, the guard is required only for ino-map.h, due to its
	INO_MAP_INSERT_FAILURE definition, but do both for consistency.
	* lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
	* lib/ino-map.h: Likewise.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	iswblank: Ensure declaration on glibc systems.
	* m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
	* modules/iswblank (Dependencies): Add 'extensions'.
	* doc/posix-functions/iswblank.texi: Document the glibc problem.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'iswblank'.
	* lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
	* modules/iswblank: New file.
	* modules/wctype-h (Files): Remove lib/iswblank.c.
	(Makefile.am): Substitute GNULIB_ISWBLANK.
	* m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
	* m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
	(gl_WCTYPE_H_DEFAULTS): New macro.
	(gl_WCTYPE_H): Require it. Remove iswblank related code.
	* modules/iswblank-tests: New file.
	* tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
	* tests/test-wctype-h.c (main): Remove iswblank tests.
	* tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
	* doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
	of 'wctype-h'.
	* NEWS: Mention the change.
	* modules/mbchar (Depends-on): Add iswblank.

2011-02-08  Bruno Haible  <bruno@clisp.org>

	di-set tests: Refactor.
	* tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
	unnecessary includes.
	(ASSERT): Remove macro.
	(main): Make C90 compliant by avoiding variable declaration after
	statement.
	* modules/di-set-tests (Files): Add tests/macros.h.

2011-02-08  Bruno Haible  <bruno@clisp.org>

	ino-map tests: Refactor.
	* tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
	unnecessary includes.
	(ASSERT): Remove macro.
	(main): Make C90 compliant by avoiding variable declaration after
	statement.
	* modules/ino-map-tests (Files): Add tests/macros.h.

2011-02-08  Jim Meyering  <meyering@redhat.com>

	di-set: add "const" to a cast
	* lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
	"(void const *)", not "(void *)".  Spotted by Bruno Haible.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	Rename module 'wctype' to 'wctype-h'.
	* modules/wctype-h: Renamed from modules/wctype.
	* modules/wctype: Simplyfy to a redirection to 'wctype-h'.
	* modules/wctype-h-tests: Renamed from modules/wctype-tests.
	(Files, Depends-on, Makefile.am): Update.
	* modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
	(Files, Makefile.am): Update.
	* tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
	* tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
	* doc/posix-headers/wctype.texi: Update.
	* doc/posix-functions/iswalnum.texi: Update.
	* doc/posix-functions/iswalpha.texi: Update.
	* doc/posix-functions/iswblank.texi: Update.
	* doc/posix-functions/iswcntrl.texi: Update.
	* doc/posix-functions/iswdigit.texi: Update.
	* doc/posix-functions/iswgraph.texi: Update.
	* doc/posix-functions/iswlower.texi: Update.
	* doc/posix-functions/iswprint.texi: Update.
	* doc/posix-functions/iswpunct.texi: Update.
	* doc/posix-functions/iswspace.texi: Update.
	* doc/posix-functions/iswupper.texi: Update.
	* doc/posix-functions/iswxdigit.texi: Update.
	* doc/posix-functions/towlower.texi: Update.
	* doc/posix-functions/towupper.texi: Update.
	* NEWS: Mention the change.
	* modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
	* modules/mbchar (Dependencies): Likewise.
	* modules/mbswidth (Dependencies): Likewise.
	* modules/quotearg (Dependencies): Likewise.
	* modules/regex (Dependencies): Likewise.
	* modules/wcscasecmp (Dependencies): Likewise.
	* modules/wcsncasecmp (Dependencies): Likewise.
	* modules/wcwidth (Dependencies): Likewise.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wcswidth'.
	* modules/wcswidth: New file.
	* lib/wchar.in.h (wcswidth): New declaration.
	* lib/wcswidth.c: New file.
	* lib/wcswidth-impl.h: New file, from libutf8 with modifications.
	* m4/wcswidth.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
	REPLACE_WCSWIDTH.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
	HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
	* tests/test-wchar-c++.cc: Test the declaration of wcswidth.
	* doc/posix-functions/wcswidth.texi: Mention the new module.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wcstok'.
	* modules/wcstok: New file.
	* lib/wchar.in.h (wcstok): New declaration.
	* lib/wcstok.c: New file.
	* lib/wcstok-impl.h: New file, from libutf8 with modifications.
	* m4/wcstok.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
	* tests/test-wchar-c++.cc: Test the declaration of wcstok.
	* doc/posix-functions/wcstok.texi: Mention the new module.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wcsstr'.
	* modules/wcsstr: New file.
	* lib/wchar.in.h (wcsstr): New declaration.
	* lib/wcsstr.c: New file.
	* lib/wcsstr-impl.h: New file, from libutf8 with modifications.
	* m4/wcsstr.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
	* tests/test-wchar-c++.cc: Test the declaration of wcsstr.
	* doc/posix-functions/wcsstr.texi: Mention the new module.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wcspbrk'.
	* modules/wcspbrk: New file.
	* lib/wchar.in.h (wcspbrk): New declaration.
	* lib/wcspbrk.c: New file.
	* lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
	* m4/wcspbrk.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
	* tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
	* doc/posix-functions/wcspbrk.texi: Mention the new module.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wcsspn'.
	* modules/wcsspn: New file.
	* lib/wchar.in.h (wcsspn): New declaration.
	* lib/wcsspn.c: New file.
	* lib/wcsspn-impl.h: New file, from libutf8 with modifications.
	* m4/wcsspn.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
	* tests/test-wchar-c++.cc: Test the declaration of wcsspn.
	* doc/posix-functions/wcsspn.texi: Mention the new module.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wcscspn'.
	* modules/wcscspn: New file.
	* lib/wchar.in.h (wcscspn): New declaration.
	* lib/wcscspn.c: New file.
	* lib/wcscspn-impl.h: New file, from libutf8 with modifications.
	* m4/wcscspn.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
	* tests/test-wchar-c++.cc: Test the declaration of wcscspn.
	* doc/posix-functions/wcscspn.texi: Mention the new module.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wcsrchr'.
	* modules/wcsrchr: New file.
	* lib/wchar.in.h (wcsrchr): New declaration.
	* lib/wcsrchr.c: New file.
	* lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
	* m4/wcsrchr.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
	* tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
	* doc/posix-functions/wcsrchr.texi: Mention the new module.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wcschr'.
	* modules/wcschr: New file.
	* lib/wchar.in.h (wcschr): New declaration.
	* lib/wcschr.c: New file.
	* lib/wcschr-impl.h: New file, from libutf8 with modifications.
	* m4/wcschr.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
	* tests/test-wchar-c++.cc: Test the declaration of wcschr.
	* doc/posix-functions/wcschr.texi: Mention the new module.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wcsdup'.
	* modules/wcsdup: New file.
	* lib/wchar.in.h (wcsdup): New declaration.
	* lib/wcsdup.c: New file.
	* lib/wcsdup-impl.h: New file, from libutf8 with modifications.
	* m4/wcsdup.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
	* tests/test-wchar-c++.cc: Test the declaration of wcsdup.
	* doc/posix-functions/wcsdup.texi: Mention the new module.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wcsxfrm'.
	* modules/wcsxfrm: New file.
	* lib/wchar.in.h (wcsxfrm): New declaration.
	* lib/wcsxfrm.c: New file.
	* lib/wcsxfrm-impl.h: New file.
	* m4/wcsxfrm.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
	* tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
	* doc/posix-functions/wcsxfrm.texi: Mention the new module.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wcscoll'.
	* modules/wcscoll: New file.
	* lib/wchar.in.h (wcscoll): New declaration.
	* lib/wcscoll.c: New file.
	* lib/wcscoll-impl.h: New file.
	* m4/wcscoll.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
	* tests/test-wchar-c++.cc: Test the declaration of wcscoll.
	* doc/posix-functions/wcscoll.texi: Mention the new module.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wcsncasecmp'.
	* modules/wcsncasecmp: New file.
	* lib/wchar.in.h (wcsncasecmp): New declaration.
	* lib/wcsncasecmp.c: New file.
	* lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
	* m4/wcsncasecmp.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
	HAVE_WCSNCASECMP.
	* tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
	* doc/posix-functions/wcsncasecmp.texi: Mention the new module.

2011-02-06  Bruno Haible  <bruno@clisp.org>

	New module 'wcscasecmp'.
	* modules/wcscasecmp: New file.
	* lib/wchar.in.h (wcscasecmp): New declaration.
	* lib/wcscasecmp.c: New file.
	* lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
	* m4/wcscasecmp.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
	HAVE_WCSCASECMP.
	* tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
	* doc/posix-functions/wcscasecmp.texi: Mention the new module.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wcsncmp'.
	* modules/wcsncmp: New file.
	* lib/wchar.in.h (wcsncmp): New declaration.
	* lib/wcsncmp.c: New file.
	* lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
	* m4/wcsncmp.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
	* tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
	* doc/posix-functions/wcsncmp.texi: Mention the new module.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wcscmp'.
	* modules/wcscmp: New file.
	* lib/wchar.in.h (wcscmp): New declaration.
	* lib/wcscmp.c: New file.
	* lib/wcscmp-impl.h: New file, from libutf8 with modifications.
	* m4/wcscmp.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
	* tests/test-wchar-c++.cc: Test the declaration of wcscmp.
	* doc/posix-functions/wcscmp.texi: Mention the new module.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wcsncat'.
	* modules/wcsncat: New file.
	* lib/wchar.in.h (wcsncat): New declaration.
	* lib/wcsncat.c: New file.
	* lib/wcsncat-impl.h: New file, from libutf8 with modifications.
	* m4/wcsncat.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
	* tests/test-wchar-c++.cc: Test the declaration of wcsncat.
	* doc/posix-functions/wcsncat.texi: Mention the new module.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wcscat'.
	* modules/wcscat: New file.
	* lib/wchar.in.h (wcscat): New declaration.
	* lib/wcscat.c: New file.
	* lib/wcscat-impl.h: New file, from libutf8 with modifications.
	* m4/wcscat.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
	* tests/test-wchar-c++.cc: Test the declaration of wcscat.
	* doc/posix-functions/wcscat.texi: Mention the new module.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wcpncpy'.
	* modules/wcpncpy: New file.
	* lib/wchar.in.h (wcpncpy): New declaration.
	* lib/wcpncpy.c: New file.
	* lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
	* m4/wcpncpy.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
	* tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
	* doc/posix-functions/wcpncpy.texi: Mention the new module.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wcsncpy'.
	* modules/wcsncpy: New file.
	* lib/wchar.in.h (wcsncpy): New declaration.
	* lib/wcsncpy.c: New file.
	* lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
	* m4/wcsncpy.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
	* tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
	* doc/posix-functions/wcsncpy.texi: Mention the new module.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wcpcpy'.
	* modules/wcpcpy: New file.
	* lib/wchar.in.h (wcpcpy): New declaration.
	* lib/wcpcpy.c: New file.
	* lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
	* m4/wcpcpy.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
	* tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
	* doc/posix-functions/wcpcpy.texi: Mention the new module.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wcscpy'.
	* modules/wcscpy: New file.
	* lib/wchar.in.h (wcscpy): New declaration.
	* lib/wcscpy.c: New file.
	* lib/wcscpy-impl.h: New file, from libutf8 with modifications.
	* m4/wcscpy.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
	* tests/test-wchar-c++.cc: Test the declaration of wcscpy.
	* doc/posix-functions/wcscpy.texi: Mention the new module.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wcsnlen'.
	* modules/wcsnlen: New file.
	* lib/wchar.in.h (wcsnlen): New declaration.
	* lib/wcsnlen.c: New file.
	* lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
	* m4/wcsnlen.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
	* tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
	* doc/posix-functions/wcsnlen.texi: Mention the new module.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wcslen'.
	* modules/wcslen: New file.
	* lib/wchar.in.h (wcslen): New declaration.
	* lib/wcslen.c: New file.
	* lib/wcslen-impl.h: New file, from libutf8 with modifications.
	* m4/wcslen.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
	* tests/test-wchar-c++.cc: Test the declaration of wcslen.
	* doc/posix-functions/wcslen.texi: Mention the new module.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wmemset'.
	* modules/wmemset: New file.
	* lib/wchar.in.h (wmemset): New declaration.
	* lib/wmemset.c: New file.
	* lib/wmemset-impl.h: New file, from libutf8 with modifications.
	* m4/wmemset.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
	* modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
	* tests/test-wchar-c++.cc: Test the declaration of wmemset.
	* doc/posix-functions/wmemset.texi: Mention the new module.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wmemmove'.
	* modules/wmemmove: New file.
	* lib/wchar.in.h (wmemmove): New declaration.
	* lib/wmemmove.c: New file.
	* lib/wmemmove-impl.h: New file, from libutf8 with modifications.
	* m4/wmemmove.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
	* modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
	HAVE_WMEMMOVE.
	* tests/test-wchar-c++.cc: Test the declaration of wmemmove.
	* doc/posix-functions/wmemmove.texi: Mention the new module.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wmemcpy'.
	* modules/wmemcpy: New file.
	* lib/wchar.in.h (wmemcpy): New declaration.
	* lib/wmemcpy.c: New file.
	* lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
	* m4/wmemcpy.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
	* modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
	* tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
	* doc/posix-functions/wmemcpy.texi: Mention the new module.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wmemcmp'.
	* modules/wmemcmp: New file.
	* lib/wchar.in.h (wmemcmp): New declaration.
	* lib/wmemcmp.c: New file.
	* lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
	* m4/wmemcmp.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
	* modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
	* tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
	* doc/posix-functions/wmemcmp.texi: Mention the new module.

2011-02-07  Jim Meyering  <meyering@redhat.com>

	di-set, ino-map: new modules, from coreutils
	* lib/di-set.c: New file.
	* lib/di-set.h: Likewise.
	* lib/ino-map.c: Likewise.
	* lib/ino-map.h: Likewise.
	* modules/di-set: Likewise.
	* modules/di-set-tests: Likewise.
	* modules/ino-map: Likewise.
	* modules/ino-map-tests: Likewise.
	* tests/test-di-set.c: Likewise.
	* tests/test-ino-map.c: Likewise.

2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>

	getloadavg: merge minor changes from Emacs

	* lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
	(getloadavg): Use memset, not bzero.

	2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
	* lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
	clash (bug#86).

2010-11-14  Bruno Haible  <bruno@clisp.org>

	Allow multiple gnulib generated replacements to coexist.
	* lib/getopt.in.h (struct option): Avoid identical redefinition.
	* lib/inttypes.in.h (imaxdiv_t): Likewise.
	* lib/langinfo.in.h (nl_item): Likewise.
	* lib/math.in.h (_NaN, NAN): Likewise.
	* lib/netdb.in.h (struct addrinfo): Likewise.
	* lib/poll.in.h (struct pollfd, nfds_t): Likewise.
	* lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
	pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
	pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
	pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
	pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
	pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
	pthread_mutexattr_init, pthread_mutexattr_settype,
	pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
	pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
	pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
	pthread_spin_trylock, pthread_spin_unlock): Likewise.
	* lib/sched.in.h (struct sched_param): Likewise.
	* lib/se-selinux.in.h (security_class_t, security_context_t,
	is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
	matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
	lsetfilecon, fsetfilecon, security_check_context,
	security_check_context_raw, setexeccon, matchpathcon_init_prefix):
	Likewise.
	* lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
	Likewise.
	* lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
	_gl_function_taking_int_returning_void_t, union sigval,
	struct siginfo_t, siginfo_t, struct sigaction): Likewise.
	* lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
	verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
	* lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
	gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
	uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
	uint_least32_t, int_least64_t, uint_least64_t, 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_fast64_t, uint_fast64_t, gl_intptr_t,
	gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
	* lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
	* lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
	socklen_t, rpl_fd_isset): Likewise.
	* lib/sys_stat.in.h (rpl_mkdir): Likewise.
	* lib/sys_time.in.h (struct timeval): Likewise.
	* lib/sys_times.in.h (struct tms): Likewise.
	* lib/sys_utsname.in.h (struct utsname):
	* lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
	* lib/unistd.in.h (getpagesize): Likewise.
	* lib/wchar.in.h (mbstate_t): Likewise.
	* lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
	iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
	towlower, towupper): Likewise.
	Reported by Sam Steingold <sds@gnu.org>.

2011-02-05  Eric Blake  <eblake@redhat.com>

	unsetenv: work around Haiku issues
	* m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
	* doc/posix-functions/unsetenv.texi (unsetenv): Document it.

2010-12-30  Bruce Korb  <bkorb@gnu.org>

	libposix: avoid calling error() within libposix
	* lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
	is defined.

2011-02-05  Eric Blake  <eblake@redhat.com>

	strerror_r-posix: port to cygwin
	* lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
	implementation.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
	* tests/test-strerror_r.c (main): Fix test.
	* doc/posix-functions/strerror_r.texi (strerror_r): Document the
	issue.

2011-02-05  Bruno Haible  <bruno@clisp.org>

	New module 'wmemchr'.
	* modules/wmemchr: New file.
	* lib/wchar.in.h (wmemchr): New declaration.
	* lib/wmemchr.c: New file.
	* lib/wmemchr-impl.h: New file, from libutf8 with modifications.
	* m4/wmemchr.m4: New file.
	* m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
	(gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
	* modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
	* tests/test-wchar-c++.cc: Test the declaration of wmemchr.
	* doc/posix-functions/wmemchr.texi: Mention the new module.

2011-02-04  Eric Blake  <eblake@redhat.com>

	fdopendir: detect FreeBSD bug
	* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
	* doc/posix-functions/fdopendir.texi (fdopendir): Document it.

2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>

	stdbool: do not define HAVE_STDBOOL_H
	* m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
	AC_HEADER_STDBOOL.  All uses changed.  Do not define
	HAVE_STDBOOL_H, as gnulib does not need this.  This change is
	imported from the latest Autoconf git.  It was motivated by Emacs,
	which uses gnulib but does not need HAVE_STDBOOL_H.

2011-02-04  Bruno Haible  <bruno@clisp.org>

	wcsnrtombs: Prepare for new module wwcsnrtombs.
	* lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
	* lib/wcsnrtombs.c: Include it.
	* modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.

	wcsrtombs: Prepare for new module wwcsrtombs.
	* lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
	* lib/wcsrtombs.c: Include it.
	* modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.

	mbsnrtowcs: Prepare for new module mbsnrtowwcs.
	* lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
	* lib/mbsnrtowcs.c: Include it.
	* modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.

	mbsrtowcs: Prepare for new module mbsrtowwcs.
	* lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
	* lib/mbsrtowcs.c: Include it.
	* modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.

2011-02-04  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Reduce use of malloc for small format strings.
	* lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
	(arguments): Add room for the first 7 arguments.
	* lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
	(char_directives, u8_directives, u16_directives, u32_directives): Add
	room for the first 7 directives.
	* lib/printf-parse.c: Include <string.h>.
	(PRINTF_PARSE): Change memory handling code so that it uses the first
	7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
	* lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
	Reported by Pádraig Brady <P@draigbrady.com>.

2011-01-31  Eric Blake  <eblake@redhat.com>

	dup2: work around Haiku bug
	* m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
	* lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
	* doc/posix-functions/dup2.texi (dup2): Document the bug.
	* tests/test-dup2.c (main): Enhance test.

2011-01-31  Simon Josefsson  <simon@josefsson.org>

	doc: off_t is not available in eglibc 2.11.2 stdio.h.
	* doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
	declared by eglibc 2.11.2.
	* lib/stdio.in.h: Likewise.

2011-01-31  Eric Blake  <eblake@redhat.com>

	ignore-value: add missing test dependency
	* tests/test-ignore-value.c: Revert previous change; stdio.h
	provides off_t.
	* modules/ignore-value-tests (Depends-on): Add missing dependency.

2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>

	mktime: clarify long_int width checking
	* lib/mktime.c (long_int_is_wide_enough): Move this assertion to
	the top level, to make it clearer that the assumption about
	long_int width is being checked.  See
	<http://lists.gnu.org/r/bug-gnulib/2011-01/msg00554.html>.

2011-01-30  Simon Josefsson  <simon@josefsson.org>

	ignore-value: Fix self-test.
	* tests/test-ignore-value.c: Include sys/types.h for off_t.

2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>

	TYPE_MAXIMUM: avoid theoretically undefined behavior
	* lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
	negative number, which the C Standard says has undefined behavior.
	In practice this is not a problem, but might as well do it by the book.
	Reported by Rich Felker and Eric Blake; see
	<http://lists.gnu.org/r/bug-gnulib/2011-01/msg00493.html>.
	* lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
	* m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
	* m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
	* m4/stdint.m4 (gl_STDINT_H): Likewise.
	* lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.

	mktime: #undef mktime before #defining it
	* lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.

	mktime: systematically normalize tm_isdst comparisons
	* lib/mktime.c (isdst_differ): New function.
	(__mktime_internal): Use it systematically for all isdst comparisons.
	This completes the fix for libc BZ #6723, and removes the need for
	normalizing tm_isdst.  See
	<http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
	(not_equal_tm) [DEBUG]: Use isdst_differ here, too.

	mktime: fix some integer overflow issues and sidestep the rest

	This was prompted by a bug report by Benjamin Lindner for MinGW
	<http://lists.gnu.org/r/bug-gnulib/2011-01/msg00472.html>.
	His bug is due to signed integer overflow (0 - INT_MIN), and I
	I scanned through mktime.c looking for other integer overflow
	problems, fixing all the bugs I found.

	Although the C Standard says the resulting code is still not safe
	in the presence of integer overflow, in practice it should be good
	enough for all real-world two's-complement implementations, except
	for debugging environments that deliberately trap on integer
	overflow (e.g., gcc -ftrapv).

	* lib/mktime.c (WRAPV): New macro.
	(SHR): Also check that long_int and time_t shift right in the
	usual way, before using the fast-but-unportable method.
	(TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
	used.  The code already assumed two's complement, so there's
	no need to test for alternatives.  All uses removed.
	(TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
	the C standard.  Problem reported by Rich Felker in
	<http://lists.gnu.org/r/bug-gnulib/2011-01/msg00488.html>.
	(twos_complement_arithmetic): Also check long_int and time_t.
	(time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
	(guess_time_tm, ranged_convert, __mktime_internal): Use them.
	(__mktime_internal): Avoid integer overflow with unary subtraction
	in two instances where -1 - X is an adequate replacement for -X,
	since the calculations are approximate.

2011-01-29  Eric Blake  <eblake@redhat.com>

	mktime: avoid infinite loop
	* m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
	type; behavior is still undefined but portable to all known targets.
	Reported by Rich Felker.

2011-01-29  Simon Josefsson  <simon@josefsson.org>

	rename, unlink, same-inode: Relicense.
	* modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
	* modules/unlink (License): Likewise.
	* modules/same-inode (License): Likewise.

2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>

	mktime: avoid problems on NetBSD 5 / i386
	* lib/mktime.c (long_int): New type.  This works around a problem
	on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
	but time_t is 64 bits, and where I expect the existing code is
	wrong in some cases.
	(leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
	(ydhms_diff): Bring back the compile-time check for wide-enough
	year and yday.

	mktime: fix misspelling in comment
	* lib/mktime.c (__mktime_internal): Fix misspelling in comment.
	This merges all recent glibc changes of importance.

2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	move-if-change: cope with concurrent mv of identical file.
	* build-aux/move-if-change (CMPPROG): Accept environment
	variable as an override for `cmp'.
	(usage): Document CMPPROG.
	Adjust comparison to drop stdout.  Cope with failure of mv if
	the target file exists and is identical to the source, for
	parallel builds.
	Report from H.J. Lu against binutils in PR binutils/12283.

2011-01-28  Bruce Korb  <bkorb@gnu.org>

	* users.txt: Mention sharutils.

2011-01-28  Simon Josefsson  <simon@josefsson.org>

	* users.txt: Mention OATH Toolkit.

2011-01-27  Bruno Haible  <bruno@clisp.org>

	Prepare for supporting FreeBSD 10.
	* build-aux/config.libpath: Remove handling of freebsd1*.

2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)

	Prepare for supporting FreeBSD 10.
	* build-aux/config.rpath: Remove handling of freebsd1* which soon would
	match FreeBSD 10.0.

2011-01-27  Bruno Haible  <bruno@clisp.org>

	vma-iter, get-rusage-as: Add OpenBSD support.
	* modules/vma-iter (configure.ac): Test for mquery.
	* lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
	* lib/vma-iter.c: Include <sys/mman.h>.
	(vma_iterate): Add an implementation based on mquery().
	* lib/resource-ext.h (get_rusage_as): Update comments.
	* lib/get-rusage-as.c: Likewise.
	* lib/get-rusage-data.c: Likewise.

2011-01-26  Karl Berry  <karl@gnu.org>

	* doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
	variables to make it easier to override the makeinfo program used.

2011-01-26  Eric Blake  <eblake@redhat.com>

	fcntl: work around Haiku F_DUPFD bugs
	* m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
	* lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
	cloexec bit on duplication.
	* doc/posix-functions/fcntl.texi (fcntl): Document the bug.

2011-01-26  Bruno Haible  <bruno@clisp.org>

	Enable memory leak tests on AIX.
	* tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
	* tests/test-fprintf-posix3.c (main): Likewise.

2011-01-26  Bruno Haible  <bruno@clisp.org>

	Tests for module 'get-rusage-data'.
	* modules/get-rusage-data-tests: New file.
	* tests/test-get-rusage-data.c: New file.

	New module 'get-rusage-data'.
	* lib/resource-ext.h (get_rusage_data): New declaration.
	* lib/get-rusage-data.c: New file.
	* modules/get-rusage-data: New file.

2011-01-25  Bruno Haible  <bruno@clisp.org>

	get-rusage-as: Allow for easier testing.
	* lib/resource-ext.h (get_rusage_as): Add comment.
	* lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
	(main): New function for interactive testing.

2011-01-25  Bruno Haible  <bruno@clisp.org>

	vma-iter: Treat Haiku like BeOS.
	* lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
	* lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.

2011-01-25  Eric Blake  <eblake@redhat.com>

	c-stack: fix regression on cygwin when libsigsegv is present
	* lib/c-stack.c (die): Don't flatten error if sigsegv is present.

2011-01-24  Bruno Haible  <bruno@clisp.org>

	vma-iter: Avoid empty intervals.
	* lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
	on an empty interval.

2011-01-24  Jim Meyering  <meyering@redhat.com>

	u64: remove unnecessary #include
	* lib/u64.h: Don't include <stddef.h>.  It was not used.

2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	Allow the user to avoid the HAVE_RAW_DECL_* macros.
	* m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.

2011-01-23  Bruno Haible  <bruno@clisp.org>

	New module 'vma-iter'.
	* lib/vma-iter.h: New file.
	* lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
	* modules/vma-iter: New file.
	* lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
	for get_rusage_as_via_iterator.
	(vma_iterate_callback): New function.
	(get_rusage_as_via_iterator): Rewritten to use vma_iterate.
	* modules/get-rusage-as (Depends-on): Add vma-iter.

2011-01-23  Bruno Haible  <bruno@clisp.org>

	uninorm: Tweak includes.
	* lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
	Reported by Jim Meyering.

2011-01-23  Bruno Haible  <bruno@clisp.org>

	get-rusage-as: Improve on NetBSD.
	* lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
	/proc, like on FreeBSD.

2011-01-23  Jim Meyering  <meyering@redhat.com>

	xreadlink.h: remove unnecessary #include
	* lib/xreadlink.h: Don't include <stddef.h>.  It was not used.

	maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
	* top/maint.mk (sc_prohibit_stddef_without_use): New rule.

2011-01-23  Bruno Haible  <bruno@clisp.org>

	get-rusage-as: Fix bug.
	* lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
	original limit when aborting the first loop.

2011-01-23  Bruno Haible  <bruno@clisp.org>

	wctype: Ensure valid C syntax.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
	unconditionally, instead of gl_NEXT_HEADERS conditionally.

2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>

	getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
	symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
	as they are needed only for configure's test case.
	This removes two unnecessary symbols from config.h.

	gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
	* m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
	AC_CHECK_HEADERS_ONCE on a header that we also invoke
	gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
	* m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
	* m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
	* m4/sched_h.m4 (gl_SCHED_H): Likewise.
	* m4/search_h.m4 (gl_SEARCH_H): Likewise.
	* m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
	* m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
	* m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
	* m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
	* m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
	* m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.

2011-01-21  Eric Blake  <eblake@redhat.com>

	maintainer-makefile: work with older git for submodule check
	* top/maint.mk (public-submodule-commit): Rewrite to avoid
	merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
	Reported by Matthias Bolte.

	bootstrap: minor portability fixes
	* build-aux/bootstrap (me): Use $me instead of $0 in functions.
	(usage): Omit leading capital and trailing . on help phrases, per
	GNU Coding Standards.
	(check_versions, top level): Prefix messages with script name.

2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)

	bootstrap: support --no-git option
	* build-aux/bootstrap: Add --no-git option, to be used when
	--gnulib-srcdir points to the exact desired checkout.

2011-01-21  Eric Blake  <eblake@redhat.com>

	strerror_r-posix: work with glibc 2.13
	* lib/strerror_r.c (strerror_r): Fix return type.

2011-01-21  Pádraig Brady  <P@draigBrady.com>
	    Bruno Haible  <bruno@clisp.org>

	uN_strstr: New unit tests.
	* modules/unistr/u8-strstr-tests: New file.
	* modules/unistr/u16-strstr-tests: New file.
	* modules/unistr/u32-strstr-tests: New file.
	* tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
	* tests/unistr/test-u8-strstr.c: New file.
	* tests/unistr/test-u16-strstr.c: New file.
	* tests/unistr/test-u32-strstr.c: New file.

2011-01-21  Pádraig Brady  <P@draigBrady.com>
	    Bruno Haible  <bruno@clisp.org>

	Make uN_strstr functions O(n) worst-case.
	* lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
	16-bit and 32-bit unit cases, use the unibyte algorithm from
	lib/mbsstr.c.
	* lib/unistr/u8-strstr.c: Include <string.h>.
	(UNIT_IS_UINT8_T): New macro.
	* lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
	(U_STRLEN, U_STRNLEN): New macros.
	* lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
	(U_STRLEN, U_STRNLEN): New macros.
	* modules/unistr/u8-strstr (Depends-on): Add strstr.
	(configure.ac): Update required libunistring version.
	* modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
	(Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
	malloca.
	(configure.ac): Update required libunistring version.
	* modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
	(Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
	malloca.
	(configure.ac): Update required libunistring version.

2011-01-21  Pádraig Brady  <P@draigBrady.com>
	    Bruno Haible  <bruno@clisp.org>

	Prepare for faster uN_strstr functions.
	* lib/str-kmp.h: Support definable UNITs.
	(knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
	needle_len argument.
	* lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
	* lib/mbscasestr.c (mbscasestr): Likewise.

2011-01-21  Pádraig Brady  <P@draigBrady.com>

	malloca-tests: make faster by unsetting MALLOC_PERTURB_
	* tests/test-malloca.c (main): Unset the environment variable
	to greatly speed up the test.
	* tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
	* modules/malloca-tests: Depend on unsetenv.

2011-01-21  Pádraig Brady  <P@draigBrady.com>

	ignore-value: remove stdint dependency
	* lib/ignore-value.h: Remove <stdint.h>
	* modules/ignore-value: Remove stdint dependency.

2011-01-21  Jim Meyering  <meyering@redhat.com>

	maint.mk: adjust variable name to be consistent with other gl_ vars
	* top/maint.mk (gl_public_submodule_commit): Rename the variable
	to be lower case.

2011-01-20  Jim Meyering  <meyering@redhat.com>

	maint.mk: make "check" depend on public-submodule-commit by default
	* top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.

2011-01-20  Bruno Haible  <bruno@clisp.org>

	mbfile, mbiter: Complete change from 2008-12-21.
	* m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
	* m4/mbiter.m4 (gl_MBITER): Likewise.

2011-01-20  Jim Meyering  <meyering@redhat.com>

	init.sh: insert space between each function name and "()"
	* tests/init.sh: Make it a little easier to see that a function's
	name is "warn_", and not "warn" when looking at the first part of
	its definition: "warn_ ()".  Suggested by Ralf Wildenhues.

2011-01-20  Jim Meyering  <meyering@redhat.com>

	mountlist: clean up code formatting
	* lib/mountlist.c (read_file_system_list): Split a long line,
	correct bracing style, use NULL in place of "(struct statfs *)0",
	don't parenthesize return value, add spaces around "=" and after
	";-in-for-stmt".

2011-01-14  Markus Duft  <mduft@gentoo.org>

	mountlist: add support for Interix
	* lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
	Apply statvfs to all entries of /dev/fs.
	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
	and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.

2011-01-20  Jim Meyering  <meyering@redhat.com>

	maint.mk: improve the public-submodule-commit rule
	* top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
	to suppress printing of its commands... unless V=1.
	Add git submodule's --quiet option to suppress printing of e.g.,
	"Entering gnulib" output.
	"cd" into $(srcdir) before running git submodule.

2011-01-20  Bruno Haible  <bruno@clisp.org>

	include_next: Fix bug introduced on 2011-01-18.
	* m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
	from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
	ac_cv_header_... variable if the second argument is not 'check'.
	(gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
	gl_NEXT_HEADERS_INTERNAL.

2011-01-20  Bruno Haible  <bruno@clisp.org>

	Allow the user to avoid the GNULIB_TEST_* macros.
	* m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
	Suggested by Paul Eggert.

2011-01-14  Jim Meyering  <meyering@redhat.com>

	bootstrap: avoid failure when there is no .gitmodules file
	": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
	has been assigned to, even when its value is the empty string.
	* build-aux/bootstrap (gnulib_path): Test explicitly for an empty
	"$gnulib_path", rather than using ${gnulib_path=gnulib}.
	Reported by John W. Eaton <jwe@gnu.org>.

2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>

	assume <ctype.h>, ..., <time.h> exist
	For years gnulib has been assuming the existence of the headers
	<ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
	<stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
	them, since they don't appear to be needed.
	* README (Portability guidelines): Document this.
	* lib/flock.c: Assume <fcntl.h> exists.
	* lib/regex_internal.h: Assume <locale.h> exists.
	* m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
	* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
	* m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
	* m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
	* m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
	* m4/regex.m4 (gl_REGEX): Likewise.
	* m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
	* m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
	* m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
	* tests/test-argp.c: Likewise.
	* m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.

	multiarch: remove AA_APPLE_UNIVERSAL_BUILD
	* m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
	AA_APPLE_UNIVERSAL_BUILD.  See
	<http://lists.gnu.org/r/bug-gnulib/2011-01/msg00247.html>.
	* NEWS: Document this.

2011-01-19  Eric Blake  <eblake@redhat.com>

	c-stack: assume stack overflow if SA_SIGINFO unsupported
	* lib/c-stack.c (SIGACTION_WORKS): Rename...
	(SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
	sigaction will work.
	(die): Assume stack overflow if siginfo doesn't work, to let Haiku
	behavior match Linux.
	* tests/test-c-stack.c (main): Prefer NULL for pointers.

	stdbool-tests: accommodate Haiku
	* tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.

	binary-io: fix O_TEXT on Haiku
	* modules/binary-io (Depends-on): Add fcntl-h.
	* lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
	than blindly undefining O_TEXT.
	Reported by Scott McCreary.

2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>

	include_next: do not check for standard headers like stddef.h

	I found this problem when modifying Emacs to use gnulib.
	I noticed that it added HAVE_STDDEF_H to config.h, even though
	gnulib always assumes <stddef.h> exists as per README and this
	symbol is unnecessary.
	* m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
	use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
	gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
	faster for headers like stddef.h that are known to exist.
	(gl_CHECK_NEXT_HEADERS): Use it.
	* m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
	rather than gl_CHECK_NEXT_HEADERS.
	* m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
	* m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.

2011-01-18  Eric Blake  <eblake@redhat.com>

	ansi-c++-opt: skip C++ dependency style if C++ is unused
	* m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
	tests when we know C++ compilation is not desired.
	Reported by Scott McCreary.

2011-01-18  Bruno Haible  <bruno@clisp.org>

	*printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
	* tests/test-fprintf-posix3.c: Include "resource-ext.h".
	(main): Perform test also when getrlimit and setrlimit don't exist or
	when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
	limiting the address space size using setrlimit, compare the address
	space size before and after the test.
	* tests/test-dprintf-posix2.c: Likewise.
	* tests/test-fprintf-posix3.sh: Update skip messages.
	* tests/test-dprintf-posix2.sh: Likewise.
	* modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
	* modules/dprintf-posix-tests (Depends-on): Likewise.
	Reported by Bruce Korb <bkorb@gnu.org> and
	Gary V. Vaughan <gary@gnu.org>.

2011-01-18  Bruno Haible  <bruno@clisp.org>

	get-rusage-as: Improvement for Cygwin.
	* lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
	areas that are merely reserved.

2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>

	strftime: remove dependencies on multibyte modules

	strftime depended on mbrlen, mbsinit, and wchar, but these modules
	are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
	only if __osf__ is defined, and I suspect OSF doesn't need these
	other modules.  If my guess is wrong, we'll need to come up with a
	variant of strftime that doesn't need the multibyte modules.

	I discovered this problem when attempting modify Emacs to use the
	strftime module.  With the previous gnulib, this caused Emacs to
	need 31 new files, ranging from lib/config.charset to
	m4/wint_t.m4.  This was overkill and I expect would be offputting
	to the Emacs maintainers.  After this change, only 6 new files are
	needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
	stdbool.m4, and tm_gmtoff.m4.

	* lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
	Suggested by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2011-01/msg00238.html>.
	* m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
	and do not check for wchar.h.
	* modules/strftime (Files): Remove m4/mbstate_t.m4.
	(Depends-on): Remove mbrlen, mbsinit, wchar.

2011-01-18  Bruno Haible  <bruno@clisp.org>

	Tests for module 'get-rusage-as'.
	* modules/get-rusage-as-tests: New file.
	* tests/test-get-rusage-as.c: New file.

	New module 'get-rusage-as'.
	* modules/get-rusage-as: New file.
	* lib/resource-ext.h: New file.
	* lib/get-rusage-as.c: New file.

2011-01-17  Eric Blake  <eblake@redhat.com>

	sigaction: relax license from LGPLv3+ to LGPLv2+
	* modules/sigaction (License): Relax to LGPLv2+.

2011-01-14  Bruno Haible  <bruno@clisp.org>

	filemode: Make function declarations usable in C++ mode.
	* lib/filemode.h: Enclose function declarations in extern "C" block.
	Reported by John W. Eaton <jwe@gnu.org>.

2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>

	save-cwd: no longer include "xgetcwd.h"
	* lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
	This avoids a compilation failure in projects that use save-cwd
	without also using the xgetcwd module.

2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>

	ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
	This is so that a program like Emacs, which needs only dtoastr,
	does not have to bother with distributing and compiling ftoastr
	and ldtoastr.
	* MODULES.html.sh: Document these modules (ftoastr wasn't documented).
	* modules/dtoastr, modules/ldtoastr: New files.
	* modules/ftoastr: Now works just for 'float'.
	(Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
	(Makefile.am): Remove ftoastr.h (not needed and no effect),
	dtoastr.c, ldtoastr.c.

2011-01-11  Jim Meyering  <meyering@redhat.com>

	save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
	There is no need to work around the lack of the fchdir function,
	since gnulib can now provide a replacement when required.
	* lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
	* modules/save-cwd (Depends-on): Add fchdir.

2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>

	openat, save-cwd: avoid xmalloc

	This removes a direct (but undocumented) dependency of openat on
	xalloc, along with an indirect dependency via save-cwd.  It also
	removes a dependency of save-cwd on xgetcwd, and thereby
	indirectly on xalloc.  This change causes the openat substitute
	to fall back on save_cwd when memory is tight, and for save_cwd to
	fail instead of dying when memory is tight, but that's good enough.
	Problem and initial idea for fix reported by Bastien Roucaries in
	<http://lists.gnu.org/r/bug-gnulib/2011-01/msg00170.html>.

	* lib/openat-proc.c: Include stdlib.h (for malloc), not
	xalloc.h (for xmalloc).
	(openat_proc_name): Use malloc, not xmalloc.
	* lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
	* modules/save-cwd (Files): Depend on getcwd, not xgetcwd.

	openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
	This avoids heap allocation for file names whose lengths are in
	the range 512..1023, with the upper bound increasing to at most
	4031 depending on the platform's PATH_MAX.  (We do not want
	pathmax.h here as it might supply a non-constant PATH_MAX.)
	* lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
	Perhaps they should be moved to malloca.h?
	(OPENAT_BUFFER_SIZE): Use them.

2011-01-10  Bruno Haible  <bruno@clisp.org>

	doc: Update users.txt.
	* users.txt: Add recutils.

2011-01-09  Karl Berry  <karl@gnu.org>

	* doc/posix-functions/gai_strerror.texi: Insert missing @item.

	* doc/configmake.texi: New file.
	* doc/gnulib.texi: Include it.
	* modules/configmake: Move documentation from here.

2011-01-09  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 6.0.0.
	* lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
	(get_lbp): Update for Unicode 6.0.0.
	* lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
	U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
	U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
	U+11001, U+11038..U+11046. Remove U+06DE.
	(uc_width): Fix bounds of planes.
	* tests/uniwidth/test-uc_width2.sh: Same updates as in
	lib/uniwidth/width.c.
	* tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
	trailing whitespace removed.
	* tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
	without comments, but with the original copyright notice.
	* lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
	* lib/unicase/ignorable.h: Likewise.
	* lib/unicase/tocasefold.h: Likewise.
	* lib/unicase/tolower.h: Likewise.
	* lib/unicase/totitle.h: Likewise.
	* lib/unicase/toupper.h: Likewise.
	* lib/unictype/bidi_of.h: Likewise.
	* lib/unictype/blocks.h: Likewise.
	* lib/unictype/categ_C.h: Likewise.
	* lib/unictype/categ_Cn.h: Likewise.
	* lib/unictype/categ_L.h: Likewise.
	* lib/unictype/categ_Ll.h: Likewise.
	* lib/unictype/categ_Lm.h: Likewise.
	* lib/unictype/categ_Lo.h: Likewise.
	* lib/unictype/categ_Lu.h: Likewise.
	* lib/unictype/categ_M.h: Likewise.
	* lib/unictype/categ_Mc.h: Likewise.
	* lib/unictype/categ_Me.h: Likewise.
	* lib/unictype/categ_Mn.h: Likewise.
	* lib/unictype/categ_N.h: Likewise.
	* lib/unictype/categ_Nd.h: Likewise.
	* lib/unictype/categ_No.h: Likewise.
	* lib/unictype/categ_P.h: Likewise.
	* lib/unictype/categ_Po.h: Likewise.
	* lib/unictype/categ_S.h: Likewise.
	* lib/unictype/categ_Sc.h: Likewise.
	* lib/unictype/categ_Sk.h: Likewise.
	* lib/unictype/categ_Sm.h: Likewise.
	* lib/unictype/categ_So.h: Likewise.
	* lib/unictype/categ_of.h: Likewise.
	* lib/unictype/combining.h: Likewise.
	* lib/unictype/ctype_alnum.h: Likewise.
	* lib/unictype/ctype_alpha.h: Likewise.
	* lib/unictype/ctype_graph.h: Likewise.
	* lib/unictype/ctype_lower.h: Likewise.
	* lib/unictype/ctype_print.h: Likewise.
	* lib/unictype/ctype_punct.h: Likewise.
	* lib/unictype/ctype_upper.h: Likewise.
	* lib/unictype/decdigit.h: Likewise.
	* lib/unictype/digit.h: Likewise.
	* lib/unictype/numeric.h: Likewise.
	* lib/unictype/pr_alphabetic.h: Likewise.
	* lib/unictype/pr_bidi_arabic_digit.h: Likewise.
	* lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
	* lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
	* lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
	* lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
	* lib/unictype/pr_bidi_left_to_right.h: Likewise.
	* lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
	* lib/unictype/pr_bidi_other_neutral.h: Likewise.
	* lib/unictype/pr_case_ignorable.h: Likewise.
	* lib/unictype/pr_cased.h: Likewise.
	* lib/unictype/pr_changes_when_casefolded.h: Likewise.
	* lib/unictype/pr_changes_when_casemapped.h: Likewise.
	* lib/unictype/pr_changes_when_lowercased.h: Likewise.
	* lib/unictype/pr_changes_when_titlecased.h: Likewise.
	* lib/unictype/pr_changes_when_uppercased.h: Likewise.
	* lib/unictype/pr_combining.h: Likewise.
	* lib/unictype/pr_composite.h: Likewise.
	* lib/unictype/pr_currency_symbol.h: Likewise.
	* lib/unictype/pr_decimal_digit.h: Likewise.
	* lib/unictype/pr_deprecated.h: Likewise.
	* lib/unictype/pr_format_control.h: Likewise.
	* lib/unictype/pr_grapheme_base.h: Likewise.
	* lib/unictype/pr_grapheme_extend.h: Likewise.
	* lib/unictype/pr_grapheme_link.h: Likewise.
	* lib/unictype/pr_id_continue.h: Likewise.
	* lib/unictype/pr_id_start.h: Likewise.
	* lib/unictype/pr_ideographic.h: Likewise.
	* lib/unictype/pr_lowercase.h: Likewise.
	* lib/unictype/pr_math.h: Likewise.
	* lib/unictype/pr_numeric.h: Likewise.
	* lib/unictype/pr_other_alphabetic.h: Likewise.
	* lib/unictype/pr_other_id_continue.h: Likewise.
	* lib/unictype/pr_other_math.h: Likewise.
	* lib/unictype/pr_punctuation.h: Likewise.
	* lib/unictype/pr_sentence_terminal.h: Likewise.
	* lib/unictype/pr_terminal_punctuation.h: Likewise.
	* lib/unictype/pr_unassigned_code_value.h: Likewise.
	* lib/unictype/pr_unified_ideograph.h: Likewise.
	* lib/unictype/pr_uppercase.h: Likewise.
	* lib/unictype/pr_xid_continue.h: Likewise.
	* lib/unictype/pr_xid_start.h: Likewise.
	* lib/unictype/scripts.h: Likewise.
	* lib/unictype/scripts_byname.gperf: Likewise.
	* lib/unictype/sy_java_ident.h: Likewise.
	* lib/unigbrk/gbrkprop.h: Likewise.
	* lib/unilbrk/lbrkprop1.h: Likewise.
	* lib/unilbrk/lbrkprop2.h: Likewise.
	* lib/uninorm/decomposition-table2.h: Likewise.
	* lib/uniwbrk/wbrkprop.h: Likewise.
	* tests/unicase/test-cased.c: Likewise.
	* tests/unicase/test-ignorable.c: Likewise.
	* tests/unicase/test-uc_tolower.c: Likewise.
	* tests/unicase/test-uc_totitle.c: Likewise.
	* tests/unicase/test-uc_toupper.c: Likewise.
	* tests/unictype/test-categ_C.c: Likewise.
	* tests/unictype/test-categ_Cn.c: Likewise.
	* tests/unictype/test-categ_L.c: Likewise.
	* tests/unictype/test-categ_Ll.c: Likewise.
	* tests/unictype/test-categ_Lm.c: Likewise.
	* tests/unictype/test-categ_Lo.c: Likewise.
	* tests/unictype/test-categ_Lu.c: Likewise.
	* tests/unictype/test-categ_M.c: Likewise.
	* tests/unictype/test-categ_Mc.c: Likewise.
	* tests/unictype/test-categ_Me.c: Likewise.
	* tests/unictype/test-categ_Mn.c: Likewise.
	* tests/unictype/test-categ_N.c: Likewise.
	* tests/unictype/test-categ_Nd.c: Likewise.
	* tests/unictype/test-categ_No.c: Likewise.
	* tests/unictype/test-categ_P.c: Likewise.
	* tests/unictype/test-categ_Po.c: Likewise.
	* tests/unictype/test-categ_S.c: Likewise.
	* tests/unictype/test-categ_Sc.c: Likewise.
	* tests/unictype/test-categ_Sk.c: Likewise.
	* tests/unictype/test-categ_Sm.c: Likewise.
	* tests/unictype/test-categ_So.c: Likewise.
	* tests/unictype/test-ctype_alnum.c: Likewise.
	* tests/unictype/test-ctype_alpha.c: Likewise.
	* tests/unictype/test-ctype_graph.c: Likewise.
	* tests/unictype/test-ctype_lower.c: Likewise.
	* tests/unictype/test-ctype_print.c: Likewise.
	* tests/unictype/test-ctype_punct.c: Likewise.
	* tests/unictype/test-ctype_upper.c: Likewise.
	* tests/unictype/test-decdigit.h: Likewise.
	* tests/unictype/test-digit.h: Likewise.
	* tests/unictype/test-numeric.h: Likewise.
	* tests/unictype/test-pr_alphabetic.c: Likewise.
	* tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
	* tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
	* tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
	* tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
	* tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
	* tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
	* tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
	* tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
	* tests/unictype/test-pr_case_ignorable.c: Likewise.
	* tests/unictype/test-pr_cased.c: Likewise.
	* tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
	* tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
	* tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
	* tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
	* tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
	* tests/unictype/test-pr_combining.c: Likewise.
	* tests/unictype/test-pr_composite.c: Likewise.
	* tests/unictype/test-pr_currency_symbol.c: Likewise.
	* tests/unictype/test-pr_decimal_digit.c: Likewise.
	* tests/unictype/test-pr_deprecated.c: Likewise.
	* tests/unictype/test-pr_format_control.c: Likewise.
	* tests/unictype/test-pr_grapheme_base.c: Likewise.
	* tests/unictype/test-pr_grapheme_extend.c: Likewise.
	* tests/unictype/test-pr_grapheme_link.c: Likewise.
	* tests/unictype/test-pr_id_continue.c: Likewise.
	* tests/unictype/test-pr_id_start.c: Likewise.
	* tests/unictype/test-pr_ideographic.c: Likewise.
	* tests/unictype/test-pr_lowercase.c: Likewise.
	* tests/unictype/test-pr_math.c: Likewise.
	* tests/unictype/test-pr_numeric.c: Likewise.
	* tests/unictype/test-pr_other_alphabetic.c: Likewise.
	* tests/unictype/test-pr_other_id_continue.c: Likewise.
	* tests/unictype/test-pr_other_math.c: Likewise.
	* tests/unictype/test-pr_punctuation.c: Likewise.
	* tests/unictype/test-pr_sentence_terminal.c: Likewise.
	* tests/unictype/test-pr_terminal_punctuation.c: Likewise.
	* tests/unictype/test-pr_unassigned_code_value.c: Likewise.
	* tests/unictype/test-pr_unified_ideograph.c: Likewise.
	* tests/unictype/test-pr_uppercase.c: Likewise.
	* tests/unictype/test-pr_xid_continue.c: Likewise.
	* tests/unictype/test-pr_xid_start.c: Likewise.
	* tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
	* lib/unicase/special-casing-table.gperf: Regenerated; only comment
	changes.
	* lib/unictype/categ_Cc.h: Likewise.
	* lib/unictype/categ_Cf.h: Likewise.
	* lib/unictype/categ_Co.h: Likewise.
	* lib/unictype/categ_Cs.h: Likewise.
	* lib/unictype/categ_Lt.h: Likewise.
	* lib/unictype/categ_Nl.h: Likewise.
	* lib/unictype/categ_Pc.h: Likewise.
	* lib/unictype/categ_Pd.h: Likewise.
	* lib/unictype/categ_Pe.h: Likewise.
	* lib/unictype/categ_Pf.h: Likewise.
	* lib/unictype/categ_Pi.h: Likewise.
	* lib/unictype/categ_Ps.h: Likewise.
	* lib/unictype/categ_Z.h: Likewise.
	* lib/unictype/categ_Zl.h: Likewise.
	* lib/unictype/categ_Zp.h: Likewise.
	* lib/unictype/categ_Zs.h: Likewise.
	* lib/unictype/ctype_blank.h: Likewise.
	* lib/unictype/ctype_cntrl.h: Likewise.
	* lib/unictype/ctype_digit.h: Likewise.
	* lib/unictype/ctype_space.h: Likewise.
	* lib/unictype/ctype_xdigit.h: Likewise.
	* lib/unictype/mirror.h: Likewise.
	* lib/unictype/pr_ascii_hex_digit.h: Likewise.
	* lib/unictype/pr_bidi_block_separator.h: Likewise.
	* lib/unictype/pr_bidi_common_separator.h: Likewise.
	* lib/unictype/pr_bidi_control.h: Likewise.
	* lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
	* lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
	* lib/unictype/pr_bidi_european_digit.h: Likewise.
	* lib/unictype/pr_bidi_pdf.h: Likewise.
	* lib/unictype/pr_bidi_segment_separator.h: Likewise.
	* lib/unictype/pr_bidi_whitespace.h: Likewise.
	* lib/unictype/pr_dash.h: Likewise.
	* lib/unictype/pr_default_ignorable_code_point.h: Likewise.
	* lib/unictype/pr_diacritic.h: Likewise.
	* lib/unictype/pr_extender.h: Likewise.
	* lib/unictype/pr_hex_digit.h: Likewise.
	* lib/unictype/pr_hyphen.h: Likewise.
	* lib/unictype/pr_ids_binary_operator.h: Likewise.
	* lib/unictype/pr_ids_trinary_operator.h: Likewise.
	* lib/unictype/pr_ignorable_control.h: Likewise.
	* lib/unictype/pr_iso_control.h: Likewise.
	* lib/unictype/pr_join_control.h: Likewise.
	* lib/unictype/pr_left_of_pair.h: Likewise.
	* lib/unictype/pr_line_separator.h: Likewise.
	* lib/unictype/pr_logical_order_exception.h: Likewise.
	* lib/unictype/pr_non_break.h: Likewise.
	* lib/unictype/pr_not_a_character.h: Likewise.
	* lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
	* lib/unictype/pr_other_grapheme_extend.h: Likewise.
	* lib/unictype/pr_other_id_start.h: Likewise.
	* lib/unictype/pr_other_lowercase.h: Likewise.
	* lib/unictype/pr_other_uppercase.h: Likewise.
	* lib/unictype/pr_paired_punctuation.h: Likewise.
	* lib/unictype/pr_paragraph_separator.h: Likewise.
	* lib/unictype/pr_pattern_syntax.h: Likewise.
	* lib/unictype/pr_pattern_white_space.h: Likewise.
	* lib/unictype/pr_private_use.h: Likewise.
	* lib/unictype/pr_quotation_mark.h: Likewise.
	* lib/unictype/pr_radical.h: Likewise.
	* lib/unictype/pr_soft_dotted.h: Likewise.
	* lib/unictype/pr_space.h: Likewise.
	* lib/unictype/pr_titlecase.h: Likewise.
	* lib/unictype/pr_variation_selector.h: Likewise.
	* lib/unictype/pr_white_space.h: Likewise.
	* lib/unictype/pr_zero_width.h: Likewise.
	* lib/unictype/sy_c_ident.h: Likewise.
	* lib/unictype/sy_c_whitespace.h: Likewise.
	* lib/unictype/sy_java_whitespace.h: Likewise.
	* lib/uninorm/composition-table.gperf: Likewise.
	* lib/uninorm/decomposition-table1.h: Likewise.
	* tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
	LB8.
	* tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
	* modules/unictype/*: Bump version number of expected libunistring
	version.

2011-01-09  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 5.2.0.
	* tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
	trailing whitespace removed.

2011-01-09  Bruno Haible  <bruno@clisp.org>

	New Unicode character properties, from Unicode 5.2.0.
	* lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
	UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
	UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
	UC_PROPERTY_CHANGES_WHEN_TITLECASED,
	UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
	UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
	uc_is_property_cased, uc_is_property_case_ignorable,
	uc_is_property_changes_when_lowercased,
	uc_is_property_changes_when_uppercased,
	uc_is_property_changes_when_titlecased,
	uc_is_property_changes_when_casefolded,
	uc_is_property_changes_when_casemapped): New declarations.
	* lib/unictype/pr_byname.gperf: Add the new properties.
	* modules/unictype/property-byname (Depends-on): Depend on the new
	properties modules.
	* modules/unictype/property-all (Depends-on): Likewise.
	* MODULES.html.sh (Unicode string functions): Add
	unictype/property-case-ignorable, unictype/property-cased,
	unictype/property-changes-when-casefolded,
	unictype/property-changes-when-casemapped,
	unictype/property-changes-when-lowercased,
	unictype/property-changes-when-titlecased,
	unictype/property-changes-when-uppercased.

	New module 'unictype/property-changes-when-casemapped'.
	* modules/unictype/property-changes-when-casemapped: New file.
	* lib/unictype/pr_changes_when_casemapped.c: New file.
	* lib/unictype/pr_changes_when_casemapped.h: New file, automatically
	generated by gen-uni-tables.
	* modules/unictype/property-changes-when-casemapped-tests: New file.
	* tests/unictype/test-pr_changes_when_casemapped.c: New file,
	automatically generated by gen-uni-tables.

	New module 'unictype/property-changes-when-casefolded'.
	* modules/unictype/property-changes-when-casefolded: New file.
	* lib/unictype/pr_changes_when_casefolded.c: New file.
	* lib/unictype/pr_changes_when_casefolded.h: New file, automatically
	generated by gen-uni-tables.
	* modules/unictype/property-changes-when-casefolded-tests: New file.
	* tests/unictype/test-pr_changes_when_casefolded.c: New file,
	automatically generated by gen-uni-tables.

	New module 'unictype/property-changes-when-titlecased'.
	* modules/unictype/property-changes-when-titlecased: New file.
	* lib/unictype/pr_changes_when_titlecased.c: New file.
	* lib/unictype/pr_changes_when_titlecased.h: New file, automatically
	generated by gen-uni-tables.
	* modules/unictype/property-changes-when-titlecased-tests: New file.
	* tests/unictype/test-pr_changes_when_titlecased.c: New file,
	automatically generated by gen-uni-tables.

	New module 'unictype/property-changes-when-uppercased'.
	* modules/unictype/property-changes-when-uppercased: New file.
	* lib/unictype/pr_changes_when_uppercased.c: New file.
	* lib/unictype/pr_changes_when_uppercased.h: New file, automatically
	generated by gen-uni-tables.
	* modules/unictype/property-changes-when-uppercased-tests: New file.
	* tests/unictype/test-pr_changes_when_uppercased.c: New file,
	automatically generated by gen-uni-tables.

	New module 'unictype/property-changes-when-lowercased'.
	* modules/unictype/property-changes-when-lowercased: New file.
	* lib/unictype/pr_changes_when_lowercased.c: New file.
	* lib/unictype/pr_changes_when_lowercased.h: New file, automatically
	generated by gen-uni-tables.
	* modules/unictype/property-changes-when-lowercased-tests: New file.
	* tests/unictype/test-pr_changes_when_lowercased.c: New file,
	automatically generated by gen-uni-tables.

	New module 'unictype/property-case-ignorable'.
	* modules/unictype/property-case-ignorable: New file.
	* lib/unictype/pr_case_ignorable.c: New file.
	* lib/unictype/pr_case_ignorable.h: New file, automatically generated
	by gen-uni-tables.
	* modules/unictype/property-case-ignorable-tests: New file.
	* tests/unictype/test-pr_case_ignorable.c: New file, automatically
	generated by gen-uni-tables.

	New module 'unictype/property-cased'.
	* modules/unictype/property-cased: New file.
	* lib/unictype/pr_cased.c: New file.
	* lib/unictype/pr_cased.h: New file, automatically generated by
	gen-uni-tables.
	* modules/unictype/property-cased-tests: New file.
	* tests/unictype/test-pr_cased.c: New file, automatically generated by
	gen-uni-tables.

2011-01-09  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 5.2.0.
	* lib/gen-uni-tables.c (output_predicate, output_category,
	output_combclass, output_bidi_category, output_decimal_digit_test,
	output_decimal_digit, output_digit_test, output_digit,
	output_numeric_test, output_numeric, output_mirror, output_scripts,
	output_scripts_byname, output_blocks, output_ident_category): Fix
	comment header.
	(is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
	get_wbp.
	(PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
	items.
	(fill_properties): Also fill the peoperties Cased, Case_Ignorable,
	Changes_When_Lowercased, Changes_When_Uppercased,
	Changes_When_Titlecased, Changes_When_Casefolded,
	Changes_When_Casemapped.
	(is_property_alphabetic, is_property_default_ignorable_code_point):
	Update for Unicode 5.2.0.
	(is_property_cased, is_property_case_ignorable,
	is_property_changes_when_lowercased,
	is_property_changes_when_uppercased,
	is_property_changes_when_titlecased,
	is_property_changes_when_casefolded,
	is_property_changes_when_casemapped): New functions.
	(output_properties): Output also the properties cased, case_ignorable,
	changes_when_lowercased, changes_when_uppercased,
	changes_when_titlecased, changes_when_casefolded,
	changes_when_casemapped.
	(symbolic_width): Update for Unicode 5.2.0, incorporating changes from
	Unicode TR#11 revision 17 -> 19.
	(LBP_CP): New enumeration value.
	(LBP_*): Adjust values accordingly.
	(get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
	TR#14 revision 22 -> 24.
	(debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
	(fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
	(get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
	TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
	is_WBP_MIDLETTER.
	(output_composition_tables): Allow for 24 bits instead of 16 bits in
	the code1 and code2 of each composition rule.
	* lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
	* lib/unicase/ignorable.h: Likewise.
	* lib/unicase/tocasefold.h: Likewise.
	* lib/unicase/tolower.h: Likewise.
	* lib/unicase/totitle.h: Likewise.
	* lib/unicase/toupper.h: Likewise.
	* lib/unictype/bidi_of.h: Likewise.
	* lib/unictype/blocks.h: Likewise.
	* lib/unictype/categ_C.h: Likewise.
	* lib/unictype/categ_Cf.h: Likewise.
	* lib/unictype/categ_Cn.h: Likewise.
	* lib/unictype/categ_L.h: Likewise.
	* lib/unictype/categ_Ll.h: Likewise.
	* lib/unictype/categ_Lm.h: Likewise.
	* lib/unictype/categ_Lo.h: Likewise.
	* lib/unictype/categ_Lu.h: Likewise.
	* lib/unictype/categ_M.h: Likewise.
	* lib/unictype/categ_Mc.h: Likewise.
	* lib/unictype/categ_Mn.h: Likewise.
	* lib/unictype/categ_N.h: Likewise.
	* lib/unictype/categ_Nd.h: Likewise.
	* lib/unictype/categ_Nl.h: Likewise.
	* lib/unictype/categ_No.h: Likewise.
	* lib/unictype/categ_P.h: Likewise.
	* lib/unictype/categ_Pd.h: Likewise.
	* lib/unictype/categ_Po.h: Likewise.
	* lib/unictype/categ_S.h: Likewise.
	* lib/unictype/categ_Sc.h: Likewise.
	* lib/unictype/categ_So.h: Likewise.
	* lib/unictype/categ_of.h: Likewise.
	* lib/unictype/combining.h: Likewise.
	* lib/unictype/ctype_alnum.h: Likewise.
	* lib/unictype/ctype_alpha.h: Likewise.
	* lib/unictype/ctype_graph.h: Likewise.
	* lib/unictype/ctype_lower.h: Likewise.
	* lib/unictype/ctype_print.h: Likewise.
	* lib/unictype/ctype_punct.h: Likewise.
	* lib/unictype/ctype_upper.h: Likewise.
	* lib/unictype/decdigit.h: Likewise.
	* lib/unictype/digit.h: Likewise.
	* lib/unictype/numeric.h: Likewise.
	* lib/unictype/pr_alphabetic.h: Likewise.
	* lib/unictype/pr_bidi_arabic_digit.h: Likewise.
	* lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
	* lib/unictype/pr_bidi_european_digit.h: Likewise.
	* lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
	* lib/unictype/pr_bidi_left_to_right.h: Likewise.
	* lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
	* lib/unictype/pr_bidi_other_neutral.h: Likewise.
	* lib/unictype/pr_combining.h: Likewise.
	* lib/unictype/pr_composite.h: Likewise.
	* lib/unictype/pr_currency_symbol.h: Likewise.
	* lib/unictype/pr_dash.h: Likewise.
	* lib/unictype/pr_decimal_digit.h: Likewise.
	* lib/unictype/pr_deprecated.h: Likewise.
	* lib/unictype/pr_diacritic.h: Likewise.
	* lib/unictype/pr_extender.h: Likewise.
	* lib/unictype/pr_grapheme_base.h: Likewise.
	* lib/unictype/pr_grapheme_extend.h: Likewise.
	* lib/unictype/pr_grapheme_link.h: Likewise.
	* lib/unictype/pr_id_continue.h: Likewise.
	* lib/unictype/pr_id_start.h: Likewise.
	* lib/unictype/pr_ideographic.h: Likewise.
	* lib/unictype/pr_ignorable_control.h: Likewise.
	* lib/unictype/pr_logical_order_exception.h: Likewise.
	* lib/unictype/pr_lowercase.h: Likewise.
	* lib/unictype/pr_numeric.h: Likewise.
	* lib/unictype/pr_other_alphabetic.h: Likewise.
	* lib/unictype/pr_punctuation.h: Likewise.
	* lib/unictype/pr_sentence_terminal.h: Likewise.
	* lib/unictype/pr_terminal_punctuation.h: Likewise.
	* lib/unictype/pr_unassigned_code_value.h: Likewise.
	* lib/unictype/pr_unified_ideograph.h: Likewise.
	* lib/unictype/pr_uppercase.h: Likewise.
	* lib/unictype/pr_xid_continue.h: Likewise.
	* lib/unictype/pr_xid_start.h: Likewise.
	* lib/unictype/pr_zero_width.h: Likewise.
	* lib/unictype/scripts.h: Likewise.
	* lib/unictype/scripts_byname.gperf: Likewise.
	* lib/unictype/sy_java_ident.h: Likewise.
	* lib/unigbrk/gbrkprop.h: Likewise.
	* lib/unilbrk/lbrkprop1.h: Likewise.
	* lib/unilbrk/lbrkprop2.h: Likewise.
	* lib/unilbrk/lbrktables.h: Likewise.
	* lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
	LBP_CP. Implement rule LB30.
	* lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
	U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
	U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
	U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
	U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
	U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
	U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
	U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
	(uc_width): Return 2 also for unassigned code points of planes 2 and 3.
	* lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
	* lib/uninorm/composition.c (struct composition_rule): Allow for 24
	bits instead of 16 bits in the code1 and code2 of each composition
	rule.
	(uc_composition): Update for Unicode 5.2.0.
	* lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
	* lib/uninorm/decomposition-table2.h: Likewise.
	* lib/uniwbrk/wbrkprop.h: Likewise.
	* tests/unicase/test-cased.c: Likewise.
	* tests/unicase/test-ignorable.c: Likewise.
	* tests/unicase/test-uc_tolower.c: Likewise.
	* tests/unicase/test-uc_totitle.c: Likewise.
	* tests/unicase/test-uc_toupper.c: Likewise.
	* tests/unictype/test-categ_C.c: Likewise.
	* tests/unictype/test-categ_Cf.c: Likewise.
	* tests/unictype/test-categ_Cn.c: Likewise.
	* tests/unictype/test-categ_L.c: Likewise.
	* tests/unictype/test-categ_Ll.c: Likewise.
	* tests/unictype/test-categ_Lm.c: Likewise.
	* tests/unictype/test-categ_Lo.c: Likewise.
	* tests/unictype/test-categ_Lu.c: Likewise.
	* tests/unictype/test-categ_M.c: Likewise.
	* tests/unictype/test-categ_Mc.c: Likewise.
	* tests/unictype/test-categ_Mn.c: Likewise.
	* tests/unictype/test-categ_N.c: Likewise.
	* tests/unictype/test-categ_Nd.c: Likewise.
	* tests/unictype/test-categ_Nl.c: Likewise.
	* tests/unictype/test-categ_No.c: Likewise.
	* tests/unictype/test-categ_P.c: Likewise.
	* tests/unictype/test-categ_Pd.c: Likewise.
	* tests/unictype/test-categ_Po.c: Likewise.
	* tests/unictype/test-categ_S.c: Likewise.
	* tests/unictype/test-categ_Sc.c: Likewise.
	* tests/unictype/test-categ_So.c: Likewise.
	* tests/unictype/test-ctype_alnum.c: Likewise.
	* tests/unictype/test-ctype_alpha.c: Likewise.
	* tests/unictype/test-ctype_graph.c: Likewise.
	* tests/unictype/test-ctype_lower.c: Likewise.
	* tests/unictype/test-ctype_print.c: Likewise.
	* tests/unictype/test-ctype_punct.c: Likewise.
	* tests/unictype/test-ctype_upper.c: Likewise.
	* tests/unictype/test-decdigit.h: Likewise.
	* tests/unictype/test-digit.h: Likewise.
	* tests/unictype/test-numeric.h: Likewise.
	* tests/unictype/test-pr_alphabetic.c: Likewise.
	* tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
	* tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
	* tests/unictype/test-pr_bidi_european_digit.c: Likewise.
	* tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
	* tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
	* tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
	* tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
	* tests/unictype/test-pr_combining.c: Likewise.
	* tests/unictype/test-pr_composite.c: Likewise.
	* tests/unictype/test-pr_currency_symbol.c: Likewise.
	* tests/unictype/test-pr_dash.c: Likewise.
	* tests/unictype/test-pr_decimal_digit.c: Likewise.
	* tests/unictype/test-pr_deprecated.c: Likewise.
	* tests/unictype/test-pr_diacritic.c: Likewise.
	* tests/unictype/test-pr_extender.c: Likewise.
	* tests/unictype/test-pr_grapheme_base.c: Likewise.
	* tests/unictype/test-pr_grapheme_extend.c: Likewise.
	* tests/unictype/test-pr_grapheme_link.c: Likewise.
	* tests/unictype/test-pr_id_continue.c: Likewise.
	* tests/unictype/test-pr_id_start.c: Likewise.
	* tests/unictype/test-pr_ideographic.c: Likewise.
	* tests/unictype/test-pr_ignorable_control.c: Likewise.
	* tests/unictype/test-pr_logical_order_exception.c: Likewise.
	* tests/unictype/test-pr_lowercase.c: Likewise.
	* tests/unictype/test-pr_numeric.c: Likewise.
	* tests/unictype/test-pr_other_alphabetic.c: Likewise.
	* tests/unictype/test-pr_punctuation.c: Likewise.
	* tests/unictype/test-pr_sentence_terminal.c: Likewise.
	* tests/unictype/test-pr_terminal_punctuation.c: Likewise.
	* tests/unictype/test-pr_unassigned_code_value.c: Likewise.
	* tests/unictype/test-pr_unified_ideograph.c: Likewise.
	* tests/unictype/test-pr_uppercase.c: Likewise.
	* tests/unictype/test-pr_xid_continue.c: Likewise.
	* tests/unictype/test-pr_xid_start.c: Likewise.
	* tests/unictype/test-pr_zero_width.c: Likewise.
	* tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
	* tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
	changed behaviour: line breaking is now disallowed between a letter
	or '=' and '('.
	* tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
	* tests/uniwidth/test-uc_width2.sh: Same updates as in
	lib/uniwidth/width.c.
	* tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
	without comments, but with the original copyright notice.
	* lib/unicase/special-casing-table.gperf: Regenerated; only comment
	changes.
	* lib/unictype/categ_Cc.h: Likewise.
	* lib/unictype/categ_Co.h: Likewise.
	* lib/unictype/categ_Cs.h: Likewise.
	* lib/unictype/categ_Lt.h: Likewise.
	* lib/unictype/categ_Me.h: Likewise.
	* lib/unictype/categ_Pc.h: Likewise.
	* lib/unictype/categ_Pe.h: Likewise.
	* lib/unictype/categ_Pf.h: Likewise.
	* lib/unictype/categ_Pi.h: Likewise.
	* lib/unictype/categ_Ps.h: Likewise.
	* lib/unictype/categ_Sk.h: Likewise.
	* lib/unictype/categ_Sm.h: Likewise.
	* lib/unictype/categ_Z.h: Likewise.
	* lib/unictype/categ_Zl.h: Likewise.
	* lib/unictype/categ_Zp.h: Likewise.
	* lib/unictype/categ_Zs.h: Likewise.
	* lib/unictype/ctype_blank.h: Likewise.
	* lib/unictype/ctype_cntrl.h: Likewise.
	* lib/unictype/ctype_digit.h: Likewise.
	* lib/unictype/ctype_space.h: Likewise.
	* lib/unictype/ctype_xdigit.h: Likewise.
	* lib/unictype/mirror.h: Likewise.
	* lib/unictype/pr_ascii_hex_digit.h: Likewise.
	* lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
	* lib/unictype/pr_bidi_block_separator.h: Likewise.
	* lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
	* lib/unictype/pr_bidi_common_separator.h: Likewise.
	* lib/unictype/pr_bidi_control.h: Likewise.
	* lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
	* lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
	* lib/unictype/pr_bidi_pdf.h: Likewise.
	* lib/unictype/pr_bidi_segment_separator.h: Likewise.
	* lib/unictype/pr_bidi_whitespace.h: Likewise.
	* lib/unictype/pr_default_ignorable_code_point.h: Likewise.
	* lib/unictype/pr_format_control.h: Likewise.
	* lib/unictype/pr_hex_digit.h: Likewise.
	* lib/unictype/pr_hyphen.h: Likewise.
	* lib/unictype/pr_ids_binary_operator.h: Likewise.
	* lib/unictype/pr_ids_trinary_operator.h: Likewise.
	* lib/unictype/pr_iso_control.h: Likewise.
	* lib/unictype/pr_join_control.h: Likewise.
	* lib/unictype/pr_left_of_pair.h: Likewise.
	* lib/unictype/pr_line_separator.h: Likewise.
	* lib/unictype/pr_math.h: Likewise.
	* lib/unictype/pr_non_break.h: Likewise.
	* lib/unictype/pr_not_a_character.h: Likewise.
	* lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
	* lib/unictype/pr_other_grapheme_extend.h: Likewise.
	* lib/unictype/pr_other_id_continue.h: Likewise.
	* lib/unictype/pr_other_id_start.h: Likewise.
	* lib/unictype/pr_other_lowercase.h: Likewise.
	* lib/unictype/pr_other_math.h: Likewise.
	* lib/unictype/pr_other_uppercase.h: Likewise.
	* lib/unictype/pr_paired_punctuation.h: Likewise.
	* lib/unictype/pr_paragraph_separator.h: Likewise.
	* lib/unictype/pr_pattern_syntax.h: Likewise.
	* lib/unictype/pr_pattern_white_space.h: Likewise.
	* lib/unictype/pr_private_use.h: Likewise.
	* lib/unictype/pr_quotation_mark.h: Likewise.
	* lib/unictype/pr_radical.h: Likewise.
	* lib/unictype/pr_soft_dotted.h: Likewise.
	* lib/unictype/pr_space.h: Likewise.
	* lib/unictype/pr_titlecase.h: Likewise.
	* lib/unictype/pr_variation_selector.h: Likewise.
	* lib/unictype/pr_white_space.h: Likewise.
	* lib/unictype/sy_c_ident.h: Likewise.
	* lib/unictype/sy_c_whitespace.h: Likewise.
	* lib/unictype/sy_java_whitespace.h: Likewise.
	* modules/uni*/*: Bump version number of expected libunistring version.
	Reported by Simon Josefsson.

2011-01-09  Karl Heuer  <kwzh@gnu.org>

	useless-if-before-free: fix typo in --help and make the internal,
	automatic version date update process work once again.
	--help output contained a NUL character instead of the
	backslash-zero that was intended.  Also, the "must lie within
	the first 8 lines" line is on line 9, and hence not getting
	automatically updated.
	* build-aux/useless-if-before-free: Fix the former by adding a
	backslash, and the latter by condensing the three lines of what-it-does
	to a single line, leaving one line of slack for the future.

2011-01-09  Bruno Haible  <bruno@clisp.org>

	uniwidth/width: Fix width of U+1D173..U+1D17A.
	* lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
	symbolic_width, output_width_property_test): New functions.
	(main): Invoke output_nonspacing_property, output_width_property_test.
	* lib/uniwidth/width.c (nonspacing_table_data): Set bits for
	U+1D173..U+1D17A.
	* tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
	1.
	* modules/uniwidth/*: Bump version number of expected libunistring
	version.
	* modules/unilbrk/*: Likewise.

2011-01-08  Bruno Haible  <bruno@clisp.org>

	uninorm tests: Preserve copyright of Unicode data file.
	* tests/uninorm/NormalizationTest.txt: Re-add original copyright.
	Mention modifications.

2011-01-08  Bruno Haible  <bruno@clisp.org>

	gen-uni-tables: Prepare for Unicode 5.2.0.
	* lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
	(debug_output_lbp, output_lbp): Update.

2011-01-08  Bruno Haible  <bruno@clisp.org>

	unilbrk: Clarify gen-uni-tables.c code.
	* lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
	were mistakes in UAX #14 revision 22 that are corrected in revision 24.
	Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.

2011-01-07  Bruno Haible  <bruno@clisp.org>

	strtod: Restore errno when successfully parsing Infinity or NaN.
	* lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
	restore the original errno.

2011-01-07  Bruno Haible  <bruno@clisp.org>

	remove test: Avoid failure on HP-UX 11.
	* tests/test-remove.c (main): Allow EEXIST as alternative error code.

2011-01-07  Bruno Haible  <bruno@clisp.org>

	mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
	* tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
	error code.

2011-01-07  Pádraig Brady  <P@draigBrady.com>

	ignore-value: fixup comments, and add Eric Blake
	as an author since he rewrote the macros.
	* lib/ignore-value.h (ignore_value):  State that
	we now support aggregates.  Also specify exactly
	when the GCC warn_unused_result feature was added.

2011-01-06  Eric Blake  <eblake@redhat.com>

	ignore-value: support aggregate types
	* lib/ignore-value.h (ignore_value): Provide separate gcc
	definition.
	* modules/ignore-value-tests: New test module.
	* tests/test-ignore-value.c: New test.

	maint.mk: improve sc_prohibit_strcmp regex
	* top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
	documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
	definition of STRNEQ.

	signal: work around Haiku issue with SIGBUS
	* lib/siglist.h: Add comment.
	* lib/sig2str.c (numname_table): Swap SIGBUS order, to match
	strsignal's favoring of SIGSEGV.
	* tests/test-signal.c (main): Avoid test failure.
	* doc/posix-headers/signal.texi (signal.h): Document the issue.
	Reported by Scott McCreary.

	maint.mk: add pre-release check to ensure submodule commits are public
	* top/maint.mk (public-submodule-commit): New rule.
	(submodule-checks): New variable.
	(alpha beta stable): Depend on the variable.

2011-01-05  Pádraig Brady  <P@draigBrady.com>
	and Jim Meyering  <meyering@redhat.com>

	ignore-value: make ignore_value more generic; deprecate ignore_ptr
	* lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
	(ATTRIBUTE_DEPRECATED): Define.
	(_ignore_case): New function.
	(ignore_value): New macro, to replace the old function.
	(ignore_ptr): Arrange for any use to evoke a deprecation warning.
	* modules/ignore-value (Depends-on): Add stdint.

2011-01-04  Eric Blake  <eblake@redhat.com>

	doc: regenerate INSTALL
	* doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
	@firstparagraphindent support, now that autoconf dropped it.
	(INSTALL_PRELUDE): Reinstate old macro.
	* doc/install.texi: Resync from autoconf.
	* doc/INSTALL: Reflect recent autoconf update.
	* doc/INSTALL.ISO: Likewise.
	* doc/INSTALL.UTF-8: Likewise.
	Reported by Karl Berry.

2011-01-04  Bruce Korb  <address@hidden>

	git-version-gen: avoid a sub-shell
	* build-aux/git-version-gen: Redirect stderr in `...` via
	"exec 2>...", rather than via an added sub-shell.

2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>

	git-version-gen: use (...) rather than sh -c '...'
	* build-aux/git-version-gen: Rather than hard-coding a shell's name
	with "sh -c '...'", just use "(...)".  Less syntax is better, too.

2011-01-03  Jim Meyering  <meyering@redhat.com>

	git-version-gen: convert leading TABs to spaces
	* build-aux/git-version-gen: Expand leading TABs.

	git-version-gen: handle failed "git rev-list"
	* build-aux/git-version-gen: Rather than leaking a "fatal" error
	from git and proceeding as if it had succeeded but printed no SHA1
	checksums, suppress the diagnostic and handle the failure.
	Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2

	git-version-gen: include command name in one more diagnostic
	* build-aux/git-version-gen: When the required .tarball-version file
	was missing or unreadable, you might see the diagnostic from "cat",
	but no trace of the name of the invoking script.  Now, you still see
	the diagnostic from cat, but also get one from "git-version-gen: ".
	Inspired by a patch from Bruce Korb.

	update-copyright: adjust test to match changed code
	* tests/test-update-copyright.sh: Change test's expected output
	to match new actual output.

2011-01-02  Bruno Haible  <bruno@clisp.org>

	getlogin_r: Avoid test failure on HP-UX 11.
	* tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
	ERANGE when the second argument is zero.
	* doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
	portability problem.

2011-01-02  Bruce Korb  <bkorb@gnu.org>

	* build-aux/update-copyright: doc Simon's changes

2011-01-02  Simon Josefsson  <simon@josefsson.org>

	* build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
	environment variable.

2011-01-02  Bruno Haible  <bruno@clisp.org>

	unigbrk: Avoid gcc warnings.
	* lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
	unused variable.
	* lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
	* lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
	* tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
	* tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
	* tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
	Change type of first argument to 'const char *'.
	(main): Remove unused variable.
	* tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
	type of first argument to 'const char *'.
	* tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
	Likewise.
	(main): Change type of variable 's'.
	* tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
	to 'int'.

2011-01-02  Bruno Haible  <bruno@clisp.org>

	pwrite: Fix test whether it works and make it work on HP-UX 11.11.
	* m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
	AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
	bug.
	* lib/pwrite.c: Undo 2010-12-31 patch.
	* doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.

2011-01-02  Bruno Haible  <bruno@clisp.org>

	pread: Fix test whether it works.
	* m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.

2011-01-02  Bruno Haible  <bruno@clisp.org>

	Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
	* m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
	ends in "6". Don't require a specific month name. Try also the locale
	names found on HP-UX 11 and Solaris 7.

2011-01-02  Bruno Haible  <bruno@clisp.org>

	tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
	* lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
	C linkage.
	* doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.

2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>

	Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
	for consistency, since the "cluster" term is not used elsewhere.
	* lib/unigbrk.in.h: Update name.
	* lib/unigbrk/u16-grapheme-breaks.c: Update name.
	* lib/unigbrk/u16-grapheme-next.c: Update name.
	* lib/unigbrk/u16-grapheme-prev.c: Update name.
	* lib/unigbrk/u32-grapheme-breaks.c: Update name.
	* lib/unigbrk/u32-grapheme-next.c: Update name.
	* lib/unigbrk/u32-grapheme-prev.c: Update name.
	* lib/unigbrk/u8-grapheme-breaks.c: Update name.
	* lib/unigbrk/u8-grapheme-next.c: Update name.
	* lib/unigbrk/u8-grapheme-prev.c: Update name.
	* lib/unigbrk/uc-is-grapheme-break.c: Update name.
	* tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
	Suggested by Bruno Haible.

2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>

	Remove module 'u8-grapheme-len' as too redundant with
	'u8-grapheme-next'.
	* modules/unigbrk/u8-grapheme-len: Delete file.
	* modules/unigbrk/u8-grapheme-len-tests: Delete file.
	* lib/unigbrk.in.h: Remove prototype for deleted function.
	* lib/unigbrk/u8-grapheme-len.c: Delete file.
	* tests/unigbrk/test-u8-grapheme-len.c: Delete file.

	Remove module 'u16-grapheme-len' as too redundant with
	'u16-grapheme-next'.
	* modules/unigbrk/u16-grapheme-len: Delete file.
	* modules/unigbrk/u16-grapheme-len-tests: Delete file.
	* lib/unigbrk.in.h: Remove prototype for deleted function.
	* lib/unigbrk/u16-grapheme-len.c: Delete file.
	* tests/unigbrk/test-u16-grapheme-len.c: Delete file.

	Remove module 'u32-grapheme-len' as too redundant with
	'u32-grapheme-next'.
	* modules/unigbrk/u32-grapheme-len: Delete file.
	* modules/unigbrk/u32-grapheme-len-tests: Delete file.
	* lib/unigbrk.in.h: Remove prototype for deleted function.
	* lib/unigbrk/u32-grapheme-len.c: Delete file.
	* tests/unigbrk/test-u32-grapheme-len.c: Delete file.

	Suggested by Bruno Haible.

2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>

	* unigbrk.in.h: Fix typo: "ben" => "been".
	Reported by Bruno Haible.

2011-01-01  Jim Meyering  <meyering@redhat.com>

	maint: update almost all copyright ranges to include 2011
	Run the new "make update-copyright" rule.

2011-01-01  Jim Meyering  <meyering@redhat.com>

	maint: update-copyright: exempt doc/INSTALL*
	* Makefile (update-copyright): Also exclude doc/INSTALL*,
	since they are generated.  Suggested by Bruno Haible.

2011-01-01  Jim Meyering  <meyering@redhat.com>

	maint: refine the update-copyright rule
	* Makefile (update-copyright): Also exclude any file that includes
	the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
	code that merely generates the comment.

2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>

	New module 'u8-grapheme-len'.
	* modules/unigbrk/u8-grapheme-len: New file.
	* modules/unigbrk/u8-grapheme-len-tests: New file.
	* lib/unigbrk.in.h: Add prototype for new function.
	* lib/unigbrk/u8-grapheme-len.c: New file.
	* tests/unigbrk/test-u8-grapheme-len.c: New file.

	New module 'u16-grapheme-len'.
	* modules/unigbrk/u16-grapheme-len: New file.
	* modules/unigbrk/u16-grapheme-len-tests: New file.
	* lib/unigbrk.in.h: Add prototype for new function.
	* lib/unigbrk/u16-grapheme-len.c: New file.
	* tests/unigbrk/test-u16-grapheme-len.c: New file.

	New module 'u32-grapheme-len'.
	* modules/unigbrk/u32-grapheme-len: New file.
	* modules/unigbrk/u32-grapheme-len-tests: New file.
	* lib/unigbrk.in.h: Add prototype for new function.
	* lib/unigbrk/u32-grapheme-len.c: New file.
	* tests/unigbrk/test-u32-grapheme-len.c: New file.

	New module 'u8-grapheme-next'.
	* modules/unigbrk/u8-grapheme-next: New file.
	* modules/unigbrk/u8-grapheme-next-tests: New file.
	* lib/unigbrk.in.h: Add prototype for new function.
	* lib/unigbrk/u8-grapheme-next.c: New file.
	* tests/unigbrk/test-u8-grapheme-next.c: New file.

	New module 'u16-grapheme-next'.
	* modules/unigbrk/u16-grapheme-next: New file.
	* modules/unigbrk/u16-grapheme-next-tests: New file.
	* lib/unigbrk.in.h: Add prototype for new function.
	* lib/unigbrk/u16-grapheme-next.c: New file.
	* tests/unigbrk/test-u16-grapheme-next.c: New file.

	New module 'u32-grapheme-next'.
	* modules/unigbrk/u32-grapheme-next: New file.
	* modules/unigbrk/u32-grapheme-next-tests: New file.
	* lib/unigbrk.in.h: Add prototype for new function.
	* lib/unigbrk/u32-grapheme-next.c: New file.
	* tests/unigbrk/test-u32-grapheme-next.c: New file.

	New module 'u8-grapheme-prev'.
	* modules/unigbrk/u8-grapheme-prev: New file.
	* modules/unigbrk/u8-grapheme-prev-tests: New file.
	* lib/unigbrk.in.h: Add prototype for new function.
	* lib/unigbrk/u8-grapheme-prev.c: New file.
	* tests/unigbrk/test-u8-grapheme-prev.c: New file.

	New module 'u16-grapheme-prev'.
	* modules/unigbrk/u16-grapheme-prev: New file.
	* modules/unigbrk/u16-grapheme-prev-tests: New file.
	* lib/unigbrk.in.h: Add prototype for new function.
	* lib/unigbrk/u16-grapheme-prev.c: New file.
	* tests/unigbrk/test-u16-grapheme-prev.c: New file.

	New module 'u32-grapheme-prev'.
	* modules/unigbrk/u32-grapheme-prev: New file.
	* modules/unigbrk/u32-grapheme-prev-tests: New file.
	* lib/unigbrk.in.h: Add prototype for new function.
	* lib/unigbrk/u32-grapheme-prev.c: New file.
	* tests/unigbrk/test-u32-grapheme-prev.c: New file.

	New module 'u8-grapheme-breaks'.
	* modules/unigbrk/u8-grapheme-breaks: New file.
	* modules/unigbrk/u8-grapheme-breaks-tests: New file.
	* lib/unigbrk.in.h: Add prototype for new function.
	* lib/unigbrk/u8-grapheme-breaks.c: New file.
	* tests/unigbrk/test-u8-grapheme-breaks.c: New file.

	New module 'u16-grapheme-breaks'.
	* modules/unigbrk/u16-grapheme-breaks: New file.
	* modules/unigbrk/u16-grapheme-breaks-tests: New file.
	* lib/unigbrk.in.h: Add prototype for new function.
	* lib/unigbrk/u16-grapheme-breaks.c: New file.
	* tests/unigbrk/test-u16-grapheme-breaks.c: New file.

	New module 'u32-grapheme-breaks'.
	* modules/unigbrk/u32-grapheme-breaks: New file.
	* modules/unigbrk/u32-grapheme-breaks-tests: New file.
	* lib/unigbrk.in.h: Add prototype for new function.
	* lib/unigbrk/u32-grapheme-breaks.c: New file.
	* tests/unigbrk/test-u32-grapheme-breaks.c: New file.

	New module 'ulc-grapheme-breaks'.
	* modules/unigbrk/ulc-grapheme-breaks: New file.
	* modules/unigbrk/ulc-grapheme-breaks-tests: New file.
	* m4/locale-ar.m4: New file.
	* lib/unigbrk/ulc-grapheme-breaks.c: New file.
	* tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
	* tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.

2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>

	gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
	* lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
	modified how this file was generated before I initially submitted
	the module, but failed to regenerate it.  This meant that several
	of the level2 entries were wrong.
	* lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
	Remove the division-by-2 that is folded into the table now that
	gbrkprop.h has been regenerated properly.  Now -1 entries are
	handled correctly.

	New module 'unigbrk/uc-gbrk-prop-tests'.
	* modules/unigbrk/uc-gbrk-prop-tests: New file.
	* lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
	* tests/unigbrk/test-uc-gbrk-prop.c: New file.
	* tests/unigbrk/test-uc-gbrk-prop.h: New file.

2011-01-01  Bruno Haible  <bruno@clisp.org>

	Avoid use of hexadecimal escapes.
	* tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
	instead of hexadecimal escapes.

2011-01-01  Jim Meyering  <meyering@redhat.com>

	maint: new rule to update copyright year ranges
	* Makefile (update-copyright): New rule.

	maint: indent with TABs in Makefile
	* Makefile: Expand leading sequences of spaces to TABs

	version-etc: update the copyright year it reports
	* lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.

2010-12-31  Bruno Haible  <bruno@clisp.org>

	isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
	* lib/isfinite.c (zerof, zerod, zerol): New variables.
	(gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
	zero.

2010-12-31  Bruno Haible  <bruno@clisp.org>

	pwrite: Work around HP-UX 11.11 bug.
	* m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
	works and set REPLACE_PWRITE if not.
	* lib/pwrite.c (pwrite): Add an implementation that uses the system
	function.
	* doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.

2010-12-31  Bruno Haible  <bruno@clisp.org>

	pread: Work around HP-UX 11 bugs.
	* m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
	and set REPLACE_PREAD if not.
	* doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.

2010-12-31  Eric Blake  <eblake@redhat.com>

	nl_langinfo: fix YESEXPR on Irix 6.5
	* m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
	* lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
	* doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
	it.

2010-12-31  Bruno Haible  <bruno@clisp.org>

	iconv: Document HP-UX 11 bug.
	* doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.

2010-12-31  Bruno Haible  <bruno@clisp.org>

	ldexpl: Fix link error on HP-UX 11.
	* m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
	LDEXPL_LIBM, using $ISNANL_LIBM.

2010-12-31  Eric Blake  <eblake@redhat.com>

	ftello: avoid compilation failure with SunStudio c89
	* lib/ftello.c (ftello): Use lseek, not llseek.

	tests: avoid failing coreutils tests on cygwin
	* tests/init.sh (find_exe_basenames_): Exempt [.exe.
	(create_exe_shims_): Return 0 when skipping.

2010-12-31  Bruno Haible  <bruno@clisp.org>

	sys_select: Avoid warning about missing memset declaration on HP-UX 11.
	* lib/sys_select.in.h: On HP-UX, include also <string.h>.

2010-12-31  Bruno Haible  <bruno@clisp.org>

	waitpid: Fix link error in C++ mode.
	* lib/sys_wait.in.h: Remove extern "C" { ... } group.

2010-12-31  Bruno Haible  <bruno@clisp.org>

	isnan: Use GCC built-ins when possible.
	* lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
	__builtin_isnan.
	(gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
	(isnan): Define using GCC built-ins for GCC >= 4.0.

2010-12-31  Bruno Haible  <bruno@clisp.org>

	isnand: Fix mistake.
	* m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
	__builtin_isnand.

2010-12-31  Bruno Haible  <bruno@clisp.org>

	open: Avoid C++ error on HP-UX 11.
	* lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.

2010-12-31  Bruno Haible  <bruno@clisp.org>

	time_r: Add missing declarations on HP-UX 11.
	* lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
	instead of HAVE_LOCALTIME_R.
	* m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
	HAVE_LOCALTIME_R always.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
	HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
	* modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
	HAVE_LOCALTIME_R.
	* doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
	* doc/posix-functions/localtime_r.texi: Likewise.

2010-12-29  Eric Blake  <eblake@redhat.com>

	mountlist: tweak previous commit
	* lib/mountlist.c (me_remote): Guarantee trailing backslash.
	Reported by Paul Eggert.

	mountlist: fix local drive detection on cygwin
	* lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
	that works for cygwin.

2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>

	ftoastr, snprintf: ftoastr + snprintf module
	* lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
	since the snprintf module now should be good enough here.
	* modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
	It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
	and gl_MODULE_INDICATOR([snprintf]), but the former enables
	GNULIB_SNPRINTF only for the test directory, and the latter
	doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
	seems to suffice by itself.

2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>

	alloca: one step towards thread-safety
	* lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
	need for a static variable.  All callers changed.  This does not
	make the alloca replacement thread-safe, but it's one step.

	tests: minor indenting change
	* tests/init.sh: Sync from coreutils housekeeping patch
	<http://lists.gnu.org/r/coreutils/2010-12/msg00116.html>
	to keep lines within 80 columns.

2010-12-28  Jim Meyering  <meyering@redhat.com>

	regex: don't infloop on persistent failing calloc
	* lib/regexec.c (build_trtable): Return failure indication upon
	calloc failure.  Otherwise, re_search_internal could infloop on OOM.
	In glibc, this was fixed for version 2.13:
	http://sourceware.org/bugzilla/show_bug.cgi?id=12348

2010-12-28  Bruno Haible  <bruno@clisp.org>
	    Paul Eggert <eggert@cs.ucla.edu>

	linkat: Make implementation robust against system behaviour variations.
	* m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
	LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
	way, and to -2 if it needs a generic runtime test.
	* lib/linkat.c (solaris_optimized_link_immediate,
	solaris_optimized_link_follow): New functions.
	* tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
	(check_same_link): Use it.

2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>

	New module 'unigbrk/base'.
	* modules/unigbrk/base: New file.
	* lib/unigbrk.in.h: New file.

	New module 'unigbrk/uc-gbrk-prop'.
	* lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
	* modules/unigbrk/uc-gbrk-prop: New file.
	* lib/unigbrk/gbrkprop.h: New file.
	* lib/unigbrk/uc-gbrk-prop.c: New file.

	New module 'unigbrk/uc-is-grapheme-break'.
	* modules/unigbrk/uc-is-grapheme-break: New file.
	* modules/unigbrk/uc-is-grapheme-break-tests: New file.
	* lib/unigbrk/uc-is-grapheme-break.c: New file.
	* tests/unigbrk/test-uc-is-grapheme-break.c: New file.
	* tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
	* tests/unigbrk/GraphemeBreakTest.txt: New file.

	With corrections and tweaks by Bruno Haible <bruno@clisp.org>.

2010-12-27  Bruno Haible  <bruno@clisp.org>

	linkat test: Avoid failure on Solaris 11 2010-11.
	* tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.

2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>

	utimens: work around glibc rounding bug on more platforms
	* lib/utimens.c (fdutimens): Work around rounding bug even if
	HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2010-12/msg00298.html>.

2010-12-27  Bruno Haible  <bruno@clisp.org>

	select tests: Improve comments.
	* tests/test-select.c (do_select): Add comments.

2010-12-27  Bruno Haible  <bruno@clisp.org>

	select tests: Safer way of handling timeout.
	* tests/test-select.c (do_select_nowait): Zero-initialize the timeout
	at every invocation.

2010-12-27  Bruno Haible  <bruno@clisp.org>

	select tests: Use 'bool' where appropriate.
	* tests/test-select.c (connect_to_socket): Change argument type to
	'bool'.

2010-12-27  Bruno Haible  <bruno@clisp.org>

	select tests: Use existing modules.
	* modules/select-tests (Depends-on): Add pipe-posix, unistd.
	(configure.ac): Don't test for unistd.h.
	* tests/test-select.c: Include <unistd.h> always. Use pipe() as
	declared in <unistd.h>.

2010-12-27  Bruno Haible  <bruno@clisp.org>

	mbrtowc: Work around a Solaris 7 bug.
	* m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
	(gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
	(gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
	MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
	MBRTOWC_NULL_ARG1_BUG.
	* lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
	MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
	* tests/test-mbrtowc.c (main): Test support of a NULL first argument.
	* doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.

2010-12-27  Jim Meyering  <meyering@redhat.com>

	read-file.c: tweak syntax
	* lib/read-file.c (fread_file): Remove space after "*" in function
	definitions.

2010-12-27  Bruno Haible  <bruno@clisp.org>

	times test: Avoid gcc warnings on OSF/1.
	* tests/test-times.c (main): Cast printf arguments from clock_t to
	'long int'.

2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>

	utimens: work around glibc rounding bug on older Linux kernels
	* lib/utimens.c (fdutimens): If invoking futimesat or futimes
	on Linux with a glibc whose utimes might not work, then work
	around a longstanding glibc bug involving rounding rather than
	truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.

2010-12-26  Bruno Haible  <bruno@clisp.org>

	inet_ntop: Hide mismatch of declaration on NonStop Kernel.
	* lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
	_GL_CXXALIAS_SYS.
	Reported by Joachim Schmitz <jojo@schmitz-digital.de>.

2010-12-26  Bruno Haible  <bruno@clisp.org>

	inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
	* lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
	* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
	* m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
	looking for the declaration.
	* m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
	* doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
	problem.
	* doc/posix-functions/inet_pton.texi: Likewise.

2010-12-26  Bruno Haible  <bruno@clisp.org>

	arpa_inet: Use the common idioms with C++ support.
	* lib/arpa_inet.in.h: Include c++defs.h.
	(inet_ntop, inet_pton): Declare using the macros with C++ namespace
	support.
	* modules/arpa_inet (Depends-on): Add c++defs.
	(Makefile.am): Substitute the contents of c++defs.h.
	* modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
	* modules/arpa_inet-c++-tests: New file.
	* tests/test-arpa_inet-c++.cc: New file.

2010-12-25  Bruno Haible  <bruno@clisp.org>

	Fix more C++ link errors on Solaris 8.
	* modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
	$(LIB_EACCESS).
	* modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
	* modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
	* modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
	* modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
	* modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.

2010-12-25  Bruno Haible  <bruno@clisp.org>

	printf-posix: Fix link error when a non-GCC compiler is used.
	* lib/stdio.in.h (printf): When not using GCC, override printf
	correctly.
	Reported by Joachim Schmitz <jojo@schmitz-digital.de>.

2010-12-25  Bruno Haible  <bruno@clisp.org>

	strerror_r-posix: Update doc.
	* doc/posix-functions/strerror_r.texi: Update doc about the return
	value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.

2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	utimens: simplify the logic of the previous change
	* m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
	This should not affect whether the test succeeds or fails.

	utimens: configure better on hosts with NFS clock skew
	* m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
	uses the clock of the local host.  It might use the clock of the
	NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2010-11/msg00113.html>.

2010-12-25  Bruno Haible  <bruno@clisp.org>

	ptsname test: Avoid failure on Solaris.
	* tests/test-ptsname.c (main): For Solaris, use the recommended way to
	open a pseudo-terminal; don't use BSD-style ptys.
	* doc/posix-functions/ptsname.texi: Document the limitation on Solaris.

2010-12-25  Bruno Haible  <bruno@clisp.org>

	ptsname: Avoid ERANGE failure on some systems.
	* lib/ptsname.c (buffer): Increase size.

2010-12-25  Bruno Haible  <bruno@clisp.org>

	rename, renameat: Avoid test failures at NFS mounted locations.
	* tests/test-rename.h (assert_nonexistent): Remove the old directory,
	so that subsequent mkdir calls succeed.

2010-12-25  Bruno Haible  <bruno@clisp.org>

	iswblank: Fix C++ link error on Solaris 8.
	* lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
	_GL_FUNCDECL_SYS.

2010-12-25  Bruno Haible  <bruno@clisp.org>

	unistd: Fix C++ link error on Solaris 8.
	* modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).

2010-12-25  Bruno Haible  <bruno@clisp.org>

	readlink doc: Mention an old glibc bug.
	* doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).

2010-12-25  Bruno Haible  <bruno@clisp.org>

	fcntl-h: Fix for use of C++ on glibc systems.
	* lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
	also on glibc systems in C++ mode.
	Reported by Gary V. Vaughan <gary@gnu.org>.

2010-12-25  Bruno Haible  <bruno@clisp.org>

	roundl-ieee: Make it work on OSF/1 5.1 with cc.
	* modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.

2010-12-25  Bruno Haible  <bruno@clisp.org>

	truncl-ieee: Make it work on OSF/1 5.1 with cc.
	* doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
	test whether truncl works according to ISO C 99 with IEC 60559.
	* m4/truncl-ieee.m4: New file.
	* modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
	m4/signbit.m4.
	(configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.

2010-12-25  Bruno Haible  <bruno@clisp.org>

	ceill-ieee: Make it work on OSF/1 5.1 with cc.
	* doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
	* m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
	test whether ceill works according to ISO C 99 with IEC 60559.
	* m4/ceill-ieee.m4: New file.
	* modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
	m4/signbit.m4.
	(configure.ac): Invoke gl_FUNC_CEILL_IEEE.

2010-12-25  Bruno Haible  <bruno@clisp.org>

	Ensure all prerequisites of <wchar.h> are included.
	* m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
	before <wchar.h>.
	* m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
	gl_MBRLEN_NUL_RETVAL): Likewise.
	* m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
	gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
	AC_FUNC_MBRTOWC): Likewise.
	* m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
	* m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
	* m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
	Likewise.
	* m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
	* m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
	(gl_WCHAR_H): Improve comments.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.

2010-12-25  Bruno Haible  <bruno@clisp.org>

	strtok_r: Fix C syntax error in autoconf macro.
	* m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
	characters in test program.

2010-12-24  Bruno Haible  <bruno@clisp.org>

	ceil, trunc, round: Fix gcc warnings.
	* lib/ceil.c (MIN): Undefine before redefining.
	* lib/trunc.c (MIN): Likewise.
	* lib/round.c (MIN): Likewise.
	Include <math.h> first.

2010-12-24  Bruno Haible  <bruno@clisp.org>

	select tests: Avoid failures on OSF/1 5.1.
	* tests/test-select.c (test_accept_first, test_socket_pair): Ignore
	failure of closing the last socket; it may fail with ECONNRESET.

2010-12-24  Eric Blake  <eblake@redhat.com>

	stdint: avoid HP-UX 10.20 preprocessor bug
	* lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
	than #if.
	* tests/test-floor2.c (main): Likewise.
	Reported by Peter O'Gorman.

	pipe: make obsoletion transition easier
	* lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
	* modules/pipe (Files): Include revived file.
	(Include): Drop reference, to mirror getdate's behavior.

2010-12-24  Bruno Haible  <bruno@clisp.org>

	sys_socket: Hide mismatch of declarations on NonStop Kernel.
	* lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
	_GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
	Reported by Joachim Schmitz <jojo@schmitz-digital.de>.

2010-12-24  Bruno Haible  <bruno@clisp.org>

	gethostname: Ensure declaration on NonStop Kernel.
	* lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
	Reported by Joachim Schmitz <jojo@schmitz-digital.de>.

2010-12-24  Bruno Haible  <bruno@clisp.org>

	sys_select: Ensure all necessary types on NonStop Kernel.
	* lib/sys_select.in.h: If the system does not have <sys/select.h>,
	include <sys/time.h>.
	* doc/posix-headers/sys_select.texi: Mention that it's missing on
	NonStop Kernel.
	Reported by Joachim Schmitz <jojo@schmitz-digital.de>.

2010-12-24  Bruno Haible  <bruno@clisp.org>

	sys_select: Remove unneeded include.
	* lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
	have <sys/select.h>.

2010-12-24  Bruno Haible  <bruno@clisp.org>

	gethostname: Provide a fallback for HOST_NAME_MAX.
	* m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
	nor MAXHOSTNAMELEN is found in the usual system headers, use 256
	instead.
	Reported by Joachim Schmitz <jojo@schmitz-digital.de>.

2010-12-24  Bruno Haible  <bruno@clisp.org>

	sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
	* tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
	(SA_RESTART): Likewise.
	Reported by Joachim Schmitz <jojo@schmitz-digital.de>.

2010-12-24  Bruno Haible  <bruno@clisp.org>

	signal: Define NSIG.
	* lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
	* tests/test-signal.c (nsig): New variable.
	Reported by Joachim Schmitz <jojo@schmitz-digital.de>.

2010-12-24  Bruno Haible  <bruno@clisp.org>

	rename, renameat: Avoid test failures on OSF/1 5.1.
	* tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
	alternative error codes.
	* tests/test-renameat.c (main): Likewise.

2010-12-24  Bruno Haible  <bruno@clisp.org>

	*printf: Detect large precisions bug on Solaris 10/SPARC.
	* m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
	by Paul Eggert.
	* tests/test-snprintf-posix.h (test_function): Add this test code here
	too.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasnprintf-posix.c (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
	around by gnulib.
	* doc/posix-functions/printf.texi: Likewise.
	* doc/posix-functions/snprintf.texi: Likewise.
	* doc/posix-functions/sprintf.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/dprintf.texi: Undo last commit.
	* doc/posix-functions/vdprintf.texi: Likewise.

2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>

	tests: port test-fdutimensat.c to Solaris 8
	* tests/test-fdutimensat.c (do_fdutimens): Don't assume
	fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
	On Solaris 8, it fails with errno == ENOSYS, because there is no
	futimens (so it can't use the fd), and there is no lutimens (so it
	can't implement AT_SYMLINK_NOFOLLOW on symlinks).

	vsnprintf: make more consistent with snprintf; doc fixes

	* doc/posix-functions/snprintf.texi (snprintf): The workaround for
	the byte count return problem was promoted from the snprintf-posix
	to the snprintf module.
	* doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
	* m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
	gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
	* tests/test-snprintf.c (main): Check the byte count returned.
	* tests/test-vsnprintf.c (main): Likewise.

2010-12-23  Eric Blake  <eblake@redhat.com>

	sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
	* modules/sigpipe (License): Relax license.

2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>

	doc: document Solaris printf bug with large float precisions
	* doc/posix-functions/dprintf.texi (dprintf):
	* doc/posix-functions/fprintf.texi (fprintf):
	* doc/posix-functions/printf.texi (printf):
	* doc/posix-functions/snprintf.texi (snprintf):
	* doc/posix-functions/sprintf.texi (sprintf):
	* doc/posix-functions/vdprintf.texi (vdprintf):
	* doc/posix-functions/vfprintf.texi (vfprintf):
	* doc/posix-functions/vprintf.texi (vprintf):
	* doc/posix-functions/vsnprintf.texi (vsnprintf):
	* doc/posix-functions/vsprintf.texi (vsprintf):
	Mention that these functions mishandle large floating point
	precisions on Solaris 10.  The same bug is also present in Solaris
	8, and I assume earlier.  This causes "cd gnulib-tests; make
	check" to fail on Solaris 8 (and I assume, later) when building
	the latest coreutils, in test-vasprintf-posix's call to
	my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
	the wide flavors (e.g., wprintf) so this patch just updates the
	documentation for the narrow ones.

	test-posixtm.c: add two tests
	* tests/test-posixtm.c: Add two tests, to highlight the
	bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
	around this bug; this is merely to document it.

2010-12-22  Bruno Haible  <bruno@clisp.org>

	getlogin_r: Work around portability problem on OSF/1.
	* m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
	* lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
	* lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
	test for a truncated result.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
	* modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
	* modules/getlogin_r (Depends-on): Add memchr.
	* doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.

2010-12-22  Bruno Haible  <bruno@clisp.org>

	ptsname: Avoid test failure on OSF/1 5.1.
	* modules/ptsname-tests (Depends-on): Add 'same-inode'.
	* tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
	(same_slave): New function.
	(main): Use it to compare ptsname's result with the expected file name.

2010-12-22  Bruno Haible  <bruno@clisp.org>

	Port extended stdio modules to HP NonStop Kernel.
	* lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
	macros.
	* lib/fbufmode.c: Update comments.
	* lib/fflush.c: 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/fwritable.c: Likewise.
	* lib/fwriting.c: Likewise.
	Reported by Joachim Schmitz <jojo@schmitz-digital.de>.

2010-12-22  Bruno Haible  <bruno@clisp.org>

	ttyname_r: Work around bug on OSF/1 5.1.
	* doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
	* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
	instead of "guessing no" when the OSF/1 bug or the Solaris bug is
	present.
	* lib/ttyname_r.c (ttyname_r): Update comments.

2010-12-22  Bruno Haible  <bruno@clisp.org>

	round: Implement result sign according to IEEE 754.
	* lib/round.c (MIN, MINUS_ZERO): New macros.
	(FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
	* tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
	* tests/test-round-ieee.c (main): Likewise.
	* tests/test-roundl-ieee.c (main): Likewise.

	trunc: Implement result sign according to IEEE 754.
	* lib/trunc.c (MIN, MINUS_ZERO): New macros.
	(FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
	* tests/test-trunc2.c: Include minus-zero.h.
	(MINUS_ZERO): New macro.
	(trunc_reference): Keep in sync with lib/trunc.c.
	* tests/test-truncf2.c: Include minus-zero.h.
	(MINUS_ZERO): New macro.
	(truncf_reference): Keep in sync with lib/trunc.c.
	* tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
	* tests/test-trunc-ieee.c (main): Likewise.
	* tests/test-truncl-ieee.c (main): Likewise.

	ceil: Implement result sign according to IEEE 754.
	* lib/ceil.c (MIN, MINUS_ZERO): New macros.
	(FUNC): Return -0.0 for -1 < x < 0.
	* tests/test-ceil2.c: Include minus-zero.h.
	(MINUS_ZERO): New macro.
	(ceil_reference): Keep in sync with lib/ceil.c.
	* tests/test-ceilf2.c: Include minus-zero.h.
	(MINUS_ZERO): New macro.
	(ceilf_reference): Keep in sync with lib/ceil.c.
	* tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
	* tests/test-ceil-ieee.c (main): Likewise.
	* tests/test-ceill-ieee.c (main): Likewise.

	floor: Implement result sign according to IEEE 754.
	* lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
	* tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
	* tests/test-floorf2.c (floorf_reference): Likewise.
	* tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
	* tests/test-floor-ieee.c (main): Likewise.
	* tests/test-floorl-ieee.c (main): Likewise.

2010-12-22  Bruno Haible  <bruno@clisp.org>

	getaddrinfo: Update doc.
	* doc/posix-functions/gai_strerror.texi: Return type is also different
	on AIX and HP-UX.

2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>

	getaddrinfo, inet_ntop: Update doc for Solaris.
	* doc/posix-functions/gai_strerror.texi: Return type is also an
	issue on Solaris 9 and earlier.
	* doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
	on Solaris 10 and earlier.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	New module 'roundl-ieee'.
	* modules/roundl-ieee: New file.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
	test whether roundl works according to ISO C 99 with IEC 60559.
	* m4/roundl-ieee.m4: New file.
	* modules/roundl-ieee-tests: New file.
	* tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
	* tests/test-roundl.c (main): Remove signbit tests.
	* modules/roundl-tests (Depends-on): Remove signbit.
	* doc/posix-functions/roundl.texi: Mention the new module.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	New module 'truncl-ieee'.
	* modules/truncl-ieee: New file.
	* modules/truncl-ieee-tests: New file.
	* tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
	* tests/test-truncl.c (main): Remove signbit tests.
	* modules/truncl-tests (Depends-on): Remove signbit.
	* doc/posix-functions/truncl.texi: Mention the new module.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	New module 'ceill-ieee'.
	* modules/ceill-ieee: New file.
	* modules/ceill-ieee-tests: New file.
	* tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
	* tests/test-ceill.c (main): Remove signbit tests.
	* modules/ceill-tests (Depends-on): Remove signbit.
	* doc/posix-functions/ceill.texi: Mention the new module.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	New module 'floorl-ieee'.
	* modules/floorl-ieee: New file.
	* modules/floorl-ieee-tests: New file.
	* tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
	* tests/test-floorl.c (main): Remove signbit tests.
	* modules/floorl-tests (Depends-on): Remove signbit.
	* doc/posix-functions/floorl.texi: Mention the new module.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	New module 'round-ieee'.
	* modules/round-ieee: New file.
	* m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
	whether round works according to ISO C 99 with IEC 60559.
	* m4/round-ieee.m4: New file.
	* modules/round-ieee-tests: New file.
	* tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
	* tests/test-round1.c (main): Remove signbit tests.
	* modules/round-tests (Depends-on): Remove 'signbit'.
	* doc/posix-functions/round.texi: Mention the new module.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	New module 'trunc-ieee'.
	* modules/trunc-ieee: New file.
	* m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
	whether trunc works according to ISO C 99 with IEC 60559.
	* m4/trunc-ieee.m4: New file.
	* lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
	* modules/math (Makefile.am): Substitute REPLACE_TRUNC.
	* modules/trunc-ieee-tests: New file.
	* tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
	* tests/test-trunc1.c (main): Remove signbit tests.
	* modules/trunc-tests (Depends-on): Remove 'signbit'.
	* doc/posix-functions/trunc.texi: Mention the new module.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	New module 'ceil-ieee'.
	* modules/ceil-ieee: New file.
	* m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
	gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
	ISO C 99 with IEC 60559.
	* m4/ceil-ieee.m4: New file.
	* modules/ceil (Files): Add lib/ceil.c.
	(Depends-on): Add 'float'.
	(configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
	* lib/math.in.h (ceil): New declaration.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
	REPLACE_CEIL.
	* modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
	* modules/ceil-ieee-tests: New file.
	* tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
	* tests/test-math-c++.cc: Check the signature of 'ceil'.
	* doc/posix-functions/ceil.texi: Mention the new module.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	New module 'floor-ieee'.
	* modules/floor-ieee: New file.
	* m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
	gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
	ISO C 99 with IEC 60559.
	* m4/floor-ieee.m4: New file.
	* modules/floor (Files): Add lib/floor.c.
	(Depends-on): Add 'float'.
	(configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
	* lib/math.in.h (floor): New declaration.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
	REPLACE_FLOOR.
	* modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
	* modules/floor-ieee-tests: New file.
	* tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
	* tests/test-math-c++.cc: Check the signature of 'floor'.
	* doc/posix-functions/floor.texi: Mention the new module.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	New module 'roundf-ieee'.
	* modules/roundf-ieee: New file.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
	test whether roundf works according to ISO C 99 with IEC 60559.
	* m4/roundf-ieee.m4: New file.
	* modules/roundf-ieee-tests: New file.
	* tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
	* tests/test-roundf1.c (main): Remove signbit tests.
	* modules/roundf-tests (Depends-on): Remove 'signbit'.
	* doc/posix-functions/roundf.texi: Mention the new module.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	New module 'truncf-ieee'.
	* modules/truncf-ieee: New file.
	* m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
	test whether truncf works according to ISO C 99 with IEC 60559.
	* m4/truncf-ieee.m4: New file.
	* lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
	* modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
	* modules/truncf-ieee-tests: New file.
	* tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
	* tests/test-truncf1.c (main): Remove signbit tests.
	* modules/truncf-tests (Depends-on): Remove 'signbit'.
	* doc/posix-functions/truncf.texi: Mention the new module.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	New module 'ceilf-ieee'.
	* modules/ceilf-ieee: New file.
	* m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
	test whether ceilf works according to ISO C 99 with IEC 60559.
	* m4/ceilf-ieee.m4: New file.
	* modules/ceilf-ieee-tests: New file.
	* tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
	* tests/test-ceilf1.c (main): Remove signbit tests.
	* modules/ceilf-tests (Depends-on): Remove 'signbit'.
	* doc/posix-functions/ceilf.texi: Mention the new module.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	New module 'floorf-ieee'.
	* modules/floorf-ieee: New file.
	* m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
	test whether floorf works according to ISO C 99 with IEC 60559.
	* m4/floorf-ieee.m4: New file.
	* modules/floorf-ieee-tests: New file.
	* tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
	* tests/test-floorf1.c (main): Remove signbit tests.
	* modules/floorf-tests (Depends-on): Remove 'signbit'.
	* doc/posix-functions/floorf.texi: Mention the new module.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	Support for minus zero in autoconf macros.
	* m4/minus-zero.m4: New file, based on tests/minus-zero.h.
	* m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
	gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
	* tests/minus-zero.h: Update comments.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	Tests for module 'ceil'.
	* modules/ceil-tests: New file.
	* tests/test-ceil1.c: New file, based on tests/test-ceill.c.
	* tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	Tests for module 'floor'.
	* modules/floor-tests: New file.
	* tests/test-floor1.c: New file, based on tests/test-floorl.c.
	* tests/test-floor2.c: New file, based on tests/test-floorf2.c.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	math: Fix indentation.
	* lib/math.in.h (floorf): Fix indentation.

2010-12-21  Bruno Haible  <bruno@clisp.org>

	Fix cross-compilation guesses on Solaris.
	* m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
	not match "solaris2.10".
	* m4/open.m4 (gl_FUNC_OPEN): Likewise.
	* m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
	gl_VSNPRINTF_ZEROSIZE_C99): Likewise.

2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>

	snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
	This fixes a problem observed with the latest coreutils snapshot
	that caused a test to fail on Solaris 8.  src/csplit.c's call
	snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
	earlier, instead of returning the number of bytes that would have
	been generated; this causes csplit to incorrectly report memory
	exhaustion.
	* m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
	snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
	Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
	comments to match.
	(gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
	Fix typo in matching older versions of Solaris: "solaris2.10"
	is matched by the shell pattern "solaris2.[0-9]*".  This matters
	only for guessing while cross-compiling.
	* m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.

2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>

	ftoastr: fix comment again
	* lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
	<http://lists.gnu.org/r/bug-gnulib/2010-12/msg00149.html>.
	Also, simplify example a bit by using flags = 0.

2010-12-20  Bruno Haible  <bruno@clisp.org>

	round*, trunc*: Update documentation regarding glibc.
	* doc/posix-functions/roundf.texi: Mention missing declaration problem.
	* doc/posix-functions/round.texi: Likewise.
	* doc/posix-functions/roundl.texi: Likewise.
	* doc/posix-functions/truncf.texi: Likewise.
	* doc/posix-functions/trunc.texi: Likewise.
	* doc/posix-functions/truncl.texi: Likewise.

2010-12-20  Bruno Haible  <bruno@clisp.org>

	roundf, round, roundl: Update documentation regarding OSF/1 5.1.
	* doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
	* doc/posix-functions/round.texi: Likewise.
	* doc/posix-functions/roundl.texi: Likewise.

2010-12-20  Bruno Haible  <bruno@clisp.org>

	ttyname_r: Add missing declaration on HP-UX 11.
	* lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
	HAVE_TTYNAME_R.
	* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
	declared. Set HAVE_TTYNAME_R always.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
	HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
	* modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
	HAVE_TTYNAME_R.
	* doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.

2010-12-20  Bruno Haible  <bruno@clisp.org>

	getlogin, getlogin_r: Document HP-UX 11.11 bugs.
	* doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
	* doc/posix-functions/getlogin_r.texi: Likewise.
	* tests/test-getlogin.c: Include <errno.h>.
	(main): Avoid test failure on HP-UX 11.11.
	* tests/test-getlogin_r.c (main): Likewise.

2010-12-20  Bruno Haible  <bruno@clisp.org>

	getlogin_r: Add missing declaration on HP-UX 11.
	* m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
	declared also when it exists as a function.
	* doc/posix-functions/getlogin_r.texi: Document this workaround.

2010-12-20  Bruno Haible  <bruno@clisp.org>

	wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
	* lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
	through wcrtomb.

2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>

	ftoastr: fix comment
	* lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
	<http://lists.gnu.org/r/bug-gnulib/2010-12/msg00130.html>.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	isnan: Ensure it is a macro.
	* lib/math.in.h (isnan): Define as a macro if not already a macro.
	* doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
	Solaris.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	ldexpl test: Fix link error on OSF/1 5.1.
	* modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	wctype: Make it work in C++ mode on OSF/1 5.1.
	* lib/wctype.in.h (iswblank): Declare but not define here.
	* lib/iswblank.c: New file, extracted from lib/wctype.in.h.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
	* modules/wctype (Files): Add lib/iswblank.c.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
	* doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
	* lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
	_POSIX_PII_SOCKET.
	* doc/posix-functions/recv.texi: Document the OSF/1 problem.
	* doc/posix-functions/recvfrom.texi: Likewise.
	* doc/posix-functions/send.texi: Likewise.
	* doc/posix-functions/sendto.texi: Likewise.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	tcgetsid: Add missing declaration on OSF/1 5.1.
	* lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
	HAVE_TCGETSID.
	* m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
	Don't set HAVE_TCGETSID.
	* m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
	HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
	* modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
	HAVE_TCGETSID.
	* doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	stdio: Fix problem with popen() declaration on OSF/1 5.1.
	* lib/stdio.in.h: During the include_next statement, let recursive
	includes of this file include only the system header file.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	iconv_open: Fix regression from 2010-12-04.
	* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
	Reported by Noah Lavine <noah.b.lavine@gmail.com>.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	stdbool test: Avoid a gcc warning.
	* tests/test-stdbool.c (main): Fail if e1 is false.
	Reported by Jim Meyering.

2010-12-19  Jim Meyering  <meyering@redhat.com>

	setenv: restore to working order
	$HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
	mistakenly removed.
	* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
	HAVE_SETENV.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
	HAVE_SETENV.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	Document some different function declarations on OSF/1 5.1.
	* doc/posix-functions/gai_strerror.texi: Mention different declaration.
	* doc/posix-functions/inet_ntop.texi: Likewise.
	* doc/posix-functions/gethostname.texi: Likewise.
	* lib/unistd.in.h (gethostname): Update comment.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	doc: Mention vasprintf-posix module.
	* doc/glibc-functions/asprintf.texi: Mention the workarounds present in
	the 'vasprintf-posix' module.
	* doc/glibc-functions/vasprintf.texi: Likewise.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	unsetenv: Add missing declaration on OSF/1 5.1.
	* lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
	* m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
	Don't set HAVE_UNSETENV. In the test program, set _BSD.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
	not HAVE_UNSETENV.
	* modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
	HAVE_UNSETENV.
	* doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	setenv: Add missing declaration on OSF/1 5.1.
	* lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
	* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
	declared. Don't set HAVE_SETENV.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
	not HAVE_SETENV.
	* modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
	HAVE_SETENV.
	* doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	nl_langinfo tests: Avoid gcc warning.
	* tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	mknod: Avoid error in C++ mode on OSF/1 with GCC.
	* lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
	_GL_CXXALIAS_SYS.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	stdbool: Relax test.
	* tests/test-stdbool.c (e): Don't require that casts from a variable's
	address to 'bool' work in static initializer, for compilers other than
	GCC.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	ftello: Add missing declaration on OSF/1 5.1.
	* lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
	* m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
	* modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
	* doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	fseeko: Add missing declaration on OSF/1 5.1.
	* lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
	* m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
	* modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
	* doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	fchdir: Add missing declaration on OSF/1 5.1.
	* lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
	* modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
	* doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	relocatable-prog-wrapper: Separate from relocatable-prog.
	* modules/relocatable-prog (Makefile.am): Define uninstall-hook and
	uninstall-relocwrapper rule here.
	* modules/relocatable-prog-wrapper (Makefile.am): ... not here.
	Reported by Ian Beckwith <ianb@erislabs.net>.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	unistr/u8-mbsnlen: Add missing dependency.
	* modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
	Reported by Ian Beckwith <ianb@erislabs.net>.

2010-12-19  Bruno Haible  <bruno@clisp.org>

	iconv: Make it possible again to use this module without 'iconv-h'.
	* modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
	if it is not defined.
	Reported by Ian Beckwith <ianb@erislabs.net>.

2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>

	acl: port to Solaris 8 when copying from tmpfs to ufs
	* lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
	error number.  Problem observed on Solaris 8 with latest
	coreutils, with "mv A B", where A is on a tmpfs file system and B
	is on a ufs file system.  This caused coreutils' mv/part-symlink
	test to fail.

	tests: set fail=0 at start
	* tests/init.sh (setup_): Move fail=0 initialization here ...
	(mktempd_): ... from here, so that tests can rely on fail being
	set to 0 initially.  This fixes a problem in coreutils; see:
	http://lists.gnu.org/r/coreutils/2010-12/msg00083.html

2010-12-18  Bruno Haible  <bruno@clisp.org>

	memmem-simple: Stylistic changes.
	* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
	Fix preprocessor directive indentation.

2010-12-15  Pádraig Brady  <P@draigBrady.com>

	memmem, memmem-simple: reorganize and expand empty needle check
	* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
	functional checks to memmem-simple so that one has a fully functional
	memmem by using just this module.
	Restrict the performance only check to the memmem module.
	Also expand the empty needle check to ensure the correct
	pointer is returned, not just a non NULL pointer.
	* doc/glibc-functions/memmem.texi: Rearrange the portability
	documentation to correlate with the rearranged checks.
	Clarify exactly how the memmem and memmem-simple modules
	relate to each other.

2010-12-15  Pádraig Brady  <P@draigBrady.com>
	    Bruno Haible  <bruno@clisp.org>

	Improve cross-compilation guesses for uClibc.
	* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
	that uClibc does not have the glibc bug.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
	* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.

2010-12-14  Eric Blake  <eblake@redhat.com>

	configmake: provide fallbacks for oldest supported autotools
	* m4/configmake.m4: New file.
	* modules/configmake (Files): Ship it.
	(configure.ac): Use it to guarantee fallbacks.

2010-12-13  Pádraig Brady  <P@draigBrady.com>

	read-file: Improve handling of large files
	* lib/read-file.c (fread_file): Minimize realloc()s
	for regular files, and better manage sizes around SIZE_MAX.

2010-12-13  Eric Blake  <eblake@redhat.com>

	cloexec, fcntl: relax license
	* modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
	consent from all contributors.
	* modules/fcntl (License): Likewise.

2010-12-10  Bruno Haible  <bruno@clisp.org>

	Tests for module 'pipe-posix'.
	* modules/pipe-posix-tests: New file.
	* tests/test-pipe.c: New file, based on tests/test-pipe2.c.

2010-12-10  Bruno Haible  <bruno@clisp.org>

	pipe-posix: Make it work in C++ mode.
	* lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
	(pipe): Use common idiom, not a macro definition.
	* lib/pipe.c: New file.
	* m4/pipe.m4: New file.
	* modules/pipe-posix (Description): Enhance.
	(Files): Add lib/pipe.c, m4/pipe.m4.
	(configure.ac): Invoke gl_FUNC_PIPE.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
	* modules/unistd (Makefile.am): Substitute HAVE_PIPE.
	* tests/test-unistd-c++.cc: Check the signature of pipe.

2010-12-10  Bruno Haible  <bruno@clisp.org>

	Rename module 'pipe' to 'spawn-pipe'.
	* modules/spawn-pipe: New file, renamed from modules/pipe.
	(Files, configure.ac, Makefile.am): Update.
	(Include): Mention "spawn-pipe.h" instead of "pipe.h".
	* modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
	* lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
	* lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
	"spawn-pipe.h" instead of "pipe.h".
	* m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
	to gl_SPAWN_PIPE.
	* modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
	(Files, Makefile.am): Update.
	* tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
	Update.
	* tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
	Include "spawn-pipe.h" instead of "pipe.h".
	* lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
	* lib/javacomp.c: Likewise.
	* lib/javaversion.c: Likewise.
	* lib/pipe-filter-gi.c: Likewise.
	* lib/pipe-filter-ii.c: Likewise.
	* modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
	* modules/javacomp (Depends-on): Likewise.
	* modules/javaversion (Depends-on): Likewise.
	* modules/pipe-filter-gi (Depends-on): Likewise.
	* modules/pipe-filter-ii (Depends-on): Likewise.
	* MODULES.html.sh (Executing programs): Update.
	* NEWS: Mention the change.

2010-12-10  Eric Blake  <eblake@redhat.com>

	pipe-posix: new module
	* modules/pipe-posix: New file.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
	(gl_UNISTD_H): Check for declaration.
	* modules/unistd (Makefile.am): Substitute it.
	* lib/unistd.in.h (pipe): Provide it for mingw.
	* doc/posix-functions/pipe.texi (pipe): Update documentation.
	* MODULES.html.sh (File descriptor based Input/Output): Likewise.

2010-12-07  Bruno Haible  <bruno@clisp.org>

	unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
	* lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
	u8_strcmp_gnu.
	* modules/unistr/u8-strcmp (configure.ac): Bump version number.

2010-12-06  Bruno Haible  <bruno@clisp.org>

	Update internal documentation.
	* m4/README: Document new idioms for AC_RUN_IFELSE invocations.

2010-12-04  Bruno Haible  <bruno@clisp.org>

	Put more information about failed tests into the test return codes.
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
	program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
	* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
	* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
	* m4/intdiv0.m4 (gt_INTDIV0): Likewise.
	* m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
	* m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
	* m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
	* m4/stdint.m4 (gl_STDINT_H): Likewise.
	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
	returns a bit mask.
	* m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
	* m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
	* m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
	* m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
	* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
	* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
	* m4/iconv.m4 (AM_ICONV_LINK): Likewise.
	* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
	* m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
	* m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
	* m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
	* m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
	* m4/link.m4 (gl_FUNC_LINK): Likewise.
	* m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
	* m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
	* m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
	* m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
	* m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
	* m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
	* m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
	* m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
	* m4/open.m4 (gl_FUNC_OPEN): Likewise.
	* m4/poll.m4 (gl_FUNC_POLL): Likewise.
	* m4/popen.m4 (gl_FUNC_POPEN): Likewise.
	* m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
	gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
	gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
	gl_PRINTF_PRECISION): Likewise.
	* m4/regex.m4 (gl_REGEX): Likewise.
	* m4/rename.m4 (gl_FUNC_RENAME): Likewise.
	* m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
	* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
	* m4/stat.m4 (gl_FUNC_STAT): Likewise.
	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
	* m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
	* m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
	* m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
	* m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
	* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
	* m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
	* m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
	* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
	* m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
	* m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
	(gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
	enumerated value.
	* m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.

2010-12-04  Bruno Haible  <bruno@clisp.org>

	Update for Solaris 11 2010-11.
	* doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
	Express, released in November 2010.

2010-12-04  Bruno Haible  <bruno@clisp.org>

	nproc: Relax license.
	* modules/nproc (License): Change to LGPL, with consent by Glen Lenker
	and Paul Eggert.
	Requested by Ludovic Courtès <ludo@gnu.org>.

2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>

	utimecmp: fine-grained src to nearby coarse-grained dest

	* lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
	and the source is on a file system with higher-resolution time
	stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
	not work, and the time stamps are close together, the algorithm to
	determine the exact resolution from the read-back mtime was buggy:
	it had a "!=" where it should have had an "==".  This bug has been
	in the code ever since it was introduced to gnulib.
	Problem reported by Dan Jacobson in
	<http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.

2010-11-30  Bruno Haible  <bruno@clisp.org>

	strerror_r-posix: Fix autoconf test.
	* m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.

2010-11-28  Bruno Haible  <bruno@clisp.org>
	    Paul Eggert  <eggert@cs.ucla.edu>

	Tests for module 'getdomainname'.
	* modules/getdomainname-tests: New file.
	* tests/test-getdomainname.c: New file, based on
	tests/test-gethostname.c.

2010-11-28  Bruno Haible  <bruno@clisp.org>
	    Paul Eggert  <eggert@cs.ucla.edu>

	getdomainname: Use the system function when possible.
	* lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
	(getdomainname): Replace if needed. Provide the declaration if it is
	missing. Don't use _GL_CXXALIAS_SYS_CAST.
	* lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
	(getdomainname): When the system has getdomainname, call the system
	function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
	* m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
	gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
	found in libnsl. Look for the declaration also in <netdb.h>. Replace
	the function if its second argument is of type 'int' or if it is found
	in libnsl.
	(gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
	<sys/systeminfo.h> and sysinfo().
	* modules/getdomainname (Depends-on): Add netdb, sys_socket.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
	HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
	HAVE_GETDOMAINNAME.
	* modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
	REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
	* doc/glibc-functions/getdomainname.texi: Document the problems with
	the getdomainname declaration.

2010-11-28  Bruno Haible  <bruno@clisp.org>

	sys_socket: Ensure ss_family field on AIX.
	* lib/sys_socket.in.h (ss_family): New macro definition.
	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
	HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
	(gl_SYS_SOCKET_H_DEFAULTS): Initialize
	HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
	* modules/sys_socket (Makefile.am): Substitute
	HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
	* doc/posix-headers/sys_socket.texi: Mention the AIX bug.

2010-11-27  Bruno Haible  <bruno@clisp.org>

	readline: Improve configure output.
	* m4/readline.m4 (gl_FUNC_READLINE): Make the
	"checking for readline..." result understandable.

2010-11-27  Bruno Haible  <bruno@clisp.org>

	*printf-posix: Detect a bug on Solaris 10/x86.
	* m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
	for floating-point output.
	* tests/test-vasnprintf-posix.c (test_function): Test precision with %f
	directive.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
	* doc/posix-functions/printf.texi: Likewise.
	* doc/posix-functions/snprintf.texi: Likewise.
	* doc/posix-functions/sprintf.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/glibc-functions/obstack_printf.texi: Likewise.
	* doc/glibc-functions/obstack_vprintf.texi: Likewise.

2010-11-27  Bruno Haible  <bruno@clisp.org>

	Fix link error when module libunistring-optional is in use.
	* modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
	* modules/striconveha-tests (Makefile.am): Likewise.

2010-11-27  Bruno Haible  <bruno@clisp.org>

	regex: Mention link dependencies.
	* modules/regex (Link): New section.
	* modules/rpmatch (Link): Likewise.
	* modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).

2010-11-27  Bruno Haible  <bruno@clisp.org>

	ftoastr: Fix compilation error on Solaris.
	* lib/ftoastr.c: Include <config.h>.

2010-11-27  Bruno Haible  <bruno@clisp.org>

	getloadavg: Update documentation.
	* doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.

2010-11-27  Bruno Haible  <bruno@clisp.org>

	sys_socket: Fix test whether the functions are declared.
	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
	not <sys/select.h>.

2010-11-27  Bruno Haible  <bruno@clisp.org>

	getpass: Make sure to get system declaration on some platforms.
	* m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
	gl_USE_SYSTEM_EXTENSIONS.
	* modules/getpass (Depends-on): Add extensions.

2010-11-26  Bruno Haible  <bruno@clisp.org>

	iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
	* lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
	'iconv' module is present.
	(ICONV_CONST): New macro.
	* m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
	ICONV_CONST.
	* m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
	set ICONV_CONST.
	* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
	here.
	* modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
	* modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
	* tests/test-iconv-h.c (ICONV_CONST): Don't define here.
	* tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
	(iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
	present.

2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>

	ftoastr: comment fix
	* lib/ftoastr.c: "little" -> "little or no" in comment

2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>

	stdint: port to GCC 4.3 + OSX + Octave
	On this platform, stdint.h is buggy and defines int64_t to long
	long int.  The replacement defined it to long int, causing
	problems with C++ style name mangling.  Instead, trust the system
	definition if INT64_MAX is defined, and likewise for the unsigned
	variant.   Problem reported by Jarno Rajahalme in
	<http://lists.gnu.org/r/bug-gnulib/2010-04/msg00143.html>.
	* lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
	and don't mess with int64_t and INT64_MAX in this case.
	(GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.

2010-11-24  Bruno Haible  <bruno@clisp.org>

	doc: Corrections regarding MacOS X 10.4 and 10.5.
	* doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
	MacOS X.
	Reported by Simon Josefsson.

2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>

	Uninstall ".bin" files installed by relocwrapper.
	* modules/relocatable-prog-wrapper (uninstall-relocwrapper):
	Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
	unless it is already there.

2010-11-21  Bruno Haible  <bruno@clisp.org>

	Update for NetBSD 5.0.
	* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
	NetBSD; the test fails on NetBSD 5.0.
	* doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
	about NetBSD.

2010-11-21  Bruno Haible  <bruno@clisp.org>

	Update for HP-UX 11.23 and HP-UX 11.31.
	* doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
	HP-UX.

2010-11-21  Bruno Haible  <bruno@clisp.org>

	Update for MacOS X 10.5.
	* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
	MacOS X; the test fails on MacOS X 10.5.8.
	* doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
	about MacOS X.

2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>

	bootstrap: add bootstrap_sync option.
	See discussion at
	<http://lists.gnu.org/r/bug-gnulib/2010-10/msg00369.html>,
	<http://lists.gnu.org/r/bug-gnulib/2010-11/msg00200.html>.
	* build-aux/bootstrap: Accept --bootstrap-sync to update
	bootstrap if it is not identical to the local gnulib's
	bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
	enable this by default.  Accept --no-bootstrap-sync to disable
	it.

2010-11-20  Bruno Haible  <bruno@clisp.org>

	Ensure that <features.h> is included before __GLIBC__ is tested.
	* lib/printf-parse.h: Include <features.h>.
	* m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
	Reported by Mike Frysinger <vapier@gentoo.org>.

	Ensure that <features.h> is included before __GLIBC__ is tested.
	* lib/wchar.in.h: Include <features.h>.
	* m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
	* modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
	Reported by Mike Frysinger <vapier@gentoo.org>.

	Ensure that <features.h> is included before __GLIBC__ is tested.
	* lib/arpa_inet.in.h: Include <features.h>.
	* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
	* modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
	Reported by Mike Frysinger <vapier@gentoo.org>.

	Ensure that <features.h> is included before __GLIBC__ is tested.
	* build-aux/link-warning.h: Include <features.h>.
	* modules/link-warning (configure.ac): Require gl_FEATURES_H.
	(Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
	Reported by Mike Frysinger <vapier@gentoo.org>.

	Ensure that <features.h> is included before __GLIBC__ is tested.
	* m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
	Reported by Mike Frysinger <vapier@gentoo.org>.

2010-11-20  Bruno Haible  <bruno@clisp.org>

	memmem: Fix autoconf test.
	* m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.

2010-11-20  Bruno Haible  <bruno@clisp.org>

	Port to uClibc.
	* build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
	* lib/fcntl.in.h: Likewise.
	* lib/hard-locale.c (GLIBC_VERSION): Likewise.
	* lib/mbrtowc.c (mbrtowc): Likewise.
	* lib/relocatable.c (find_shared_library_fullname): Likewise.
	* lib/strerror_r.c: Likewise.
	* lib/unistr/u8-strnlen.c: Likewise.
	* lib/vasnprintf.c (decimal_point_char): Likewise.
	* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
	* m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
	* m4/glibc21.m4 (gl_GLIBC21): Likewise.
	* tests/test-sigaction.c (handler, main): Likewise.
	* lib/freading.h: Treat uClibc like a non-glibc platform.
	* lib/freading.c: Likewise.
	* lib/gettext.h: Likewise.
	* lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
	Likewise.
	* lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
	* lib/printf-parse.c (PRINTF_PARSE): Likewise.
	* lib/propername.c (proper_name_utf8): Likewise.
	* lib/spawn.in.h: Likewise.
	* lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
	* lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
	mem_cd_iconveh_internal): Likewise.
	* lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
	* lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
	strstr, strcasestr): Likewise.
	* lib/unicodeio.c (unicode_to_mb): Likewise.
	* lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
	* lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
	* lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
	* lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
	* lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
	* lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
	* lib/unistr/u8-stpncpy.c: Likewise.
	* lib/vasnprintf.c (VASNPRINTF): Likewise.
	* lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
	* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
	* m4/glibc2.m4 (gt_GLIBC2): Likewise.
	* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
	* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
	Likewise.
	* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
	* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
	* m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
	* m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
	* tests/test-getopt.h (OPTIND_MIN): Likewise.
	* tests/test-striconveha.c (main): Likewise.
	* tests/test-vasnprintf-posix.c (test_function): Likewise.
	* tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
	* doc/posix-functions/getdelim.texi: Mention an uClibc bug.
	* doc/posix-functions/getline.texi: Likewise.
	Reported by Mike Frysinger <vapier@gentoo.org>.

2010-11-20  Bruno Haible  <bruno@clisp.org>

	nproc: Fix condition.
	* lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
	HAVE_PTHREAD_AFFINITY_NP.

2010-11-20  Bruno Haible  <bruno@clisp.org>

	Fix a comment.
	* lib/vasnprintf.c (VASNPRINTF): Fix comment.

2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>

	ftoastr: don't assume snprintf
	* lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
	Implement a subset of snprintf here, by using sprintf safely.
	* modules/ftoastr (Depends-on): Remove snprintf.

2010-11-19  Jim Meyering  <meyering@redhat.com>

	test-rename.h: fix compilation failure
	* tests/test-rename.h (test_rename): Add omitted "}".

2010-11-17  Jim Meyering  <meyering@redhat.com>

	maint.mk: add a URL discussing the no-@acronym policy
	* top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.

2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>

	ftoastr: depend on snprintf, improve comments
	* lib/ftoastr.c: Also mention Loitsch's draft.
	* lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
	needed in the current implementation, but it might simplify
	speeding up the code later.
	* modules/ftoastr: Depend on snprintf; this improves portability.
	Suggested by Bruno Haible in the same email.

	ftoastr: port to hosts lacking strtof and strtold
	Problem reported by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2010-11/msg00242.html>.
	* lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
	environment and strtold (and presumably strtof) are not available.
	* modules/ftoastr (Files): Add m4/c-strtod.m4.
	(configure.ac): Require gl_C99_STRTOLD.

2010-11-18  Bruno Haible  <bruno@clisp.org>

	c-strtold: Avoid link error on AIX 7.
	* lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
	* m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
	(gl_C_STRTOLD): Test whether strtold_l exists.
	Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.

2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>

	intprops: new macro INT_BITS_STRLEN_BOUND
	* lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
	ftoastr.h.  This exposes an internal of intprops.h that was formerly
	not exposed.  Also, it uses a slightly tighter bound than before;
	though this makes no practical difference, we might as well be as
	tight as we easily can.

	ftoastr: new module, for lossless conversion of floats to short strings
	* lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
	* modules/ftoastr: New files.

2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>

	bootstrap: port to Solaris sed
	* build-aux/bootstrap (get_version): Port to Solaris sed.
	See Ralf Wildenhues's note in
	<http://lists.gnu.org/r/bug-gnulib/2010-11/msg00156.html>.

2010-11-14  Jim Meyering  <meyering@redhat.com>

	maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
	* top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
	and move definition closer to sole use.

2010-11-13  Jim Meyering  <meyering@redhat.com>

	remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
	Now we require at least autoconf-2.59, which means the work-around
	is no longer needed.
	* m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
	* m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
	* m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
	* m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
	* m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.

2010-11-13  Bruno Haible  <bruno@clisp.org>

	rename, renameat: Avoid test failures at NFS mounted locations.
	* tests/test-rename.h (dentry_exists, assert_nonexistent): New
	functions.
	(test_rename): Use assert_nonexistent.
	* tests/test-rename.c: Include <dirent.h>.
	* tests/test-renameat.c: Likewise.
	Reported by Gary V. Vaughan <gary@gnu.org>.

	rename, renameat: Document Linux bug with NFS
	<http://lists.gnu.org/r/bug-gnulib/2010-11/msg00154.html>.
	* doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
	* doc/posix-functions/renameat.texi: Likewise.
	Suggested by Eric Blake.

2010-11-13  Bruno Haible  <bruno@clisp.org>

	rename test: Add comments.
	* tests/test-rename.h (test_rename): Add structure and comments.

2010-11-13  Eric Blake  <eblake@redhat.com>

	maintainer-makefile: cover a few more files
	* top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
	scripts generated within C files, for libvirt.

2010-11-13  Bruno Haible  <bruno@clisp.org>

	unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
	* lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
	character, return the number of bytes that belong together, not always
	1.
	* lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
	* lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
	* lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
	* lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
	number of bytes of an invalid character.
	* tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
	(main): Invoke it.
	* tests/unistr/test-u8-mbtouc.h (test_function): Update two test
	results.
	* tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
	malformed byte sequences.
	* modules/unistr/u8-mbtouc (configure.ac): Bump version number.
	* modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
	* modules/unistr/u8-mbsnlen (configure.ac): Likewise.
	Reported by Ben Pfaff and Paolo Bonzini.

2010-11-13  Bruno Haible  <bruno@clisp.org>

	openat: Work around glibc bug with fchownat() and empty file names.
	* m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
	(gl_FUNC_FCHOWNAT): Invoke it.
	* lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
	* doc/posix-functions/fchownat.texi: Document the glibc bug.
	Reported by Gary V. Vaughan <gary@gnu.org>.

2010-11-13  Bruno Haible  <bruno@clisp.org>

	openat: Ensure autoconf macro ordering.
	* m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
	gl_USE_SYSTEM_EXTENSIONS.
	(gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.

2010-11-13  Bruno Haible  <bruno@clisp.org>

	Update comments.
	* lib/unistr/u8-check.c: Update file name in comments.
	* lib/unistr/u8-mblen.c: Likewise.
	* lib/unistr/u8-prev.c: Likewise.
	* lib/unistr/u8-strmblen.c: Likewise.
	* lib/unistr/u8-strmbtouc.c: Likewise.

2010-11-13  Jim Meyering  <meyering@redhat.com>

	tests: avoid test failure on Solaris 10 due to lack of PATH export
	* tests/test-update-copyright.sh: Don't forget to export PATH.

	init.sh: ensure that IFS is defined, just in case...
	* tests/init.sh (setup_): Ensure that IFS is defined,
	so that saving and restoring it works as expected.  This
	appears to be useful at least for an old version of dash
	from a long time ago (RH 6).  See here for details:
	http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455

	maint.mk: tighten "test a == b" check
	* top/maint.mk (sc_prohibit_test_double_equal): Restrict this
	test to files that contain something like #!/bin/sh.
	Without this, coreutils would get two false positives in
	the comments of C source files.

2010-11-12  Eric Blake  <eblake@redhat.com>

	bootstrap: fix typo in previous attempt
	* build-aux/bootstrap (buildreq): Correct the grouping.
	Reported by Paul Eggert.

	maintainer-makefile: prohibit test x == x
	* top/maint.mk (sc_prohibit_test_double_equal): New rule.
	Based on a report by Matthias Bolte.

	bootstrap: allow FreeBSD gzip
	* build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
	which has no '.' and goes to stderr.
	* build-aux/bootstrap.conf (buildreq): Improve the sample file.
	Reported by Matthias Bolte.

	maintainer-makefile: check for i18n setup
	* top/maint.mk (sc_bindtextdomain): Check for evidence that _()
	will likely work.

2010-11-12  Bruno Haible  <bruno@clisp.org>

	sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
	* lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
	* lib/nanosleep.c (nanosleep): Likewise.

2010-11-11  Bruno Haible  <bruno@clisp.org>

	fcntl-h: Fix for use of C++ on glibc systems.
	* lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
	also on glibc systems in C++ mode.
	Reported by Gary V. Vaughan <gary@gnu.org>.

2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)

	mknod: avoid false failure with dash
	* m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.

2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>

	unlink: Fix "is it should" typo in diagnostic.
	* m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
	<http://lists.gnu.org/r/bug-gnulib/2010-11/msg00106.html>.

2010-11-11  Bruno Haible  <bruno@clisp.org>

	Tests for module 'strerror_r-posix'.
	* modules/strerror_r-posix-tests: New file.
	* tests/test-strerror_r.c: New file.
	* tests/test-string-c++.cc: Check the signature of strerror_r.

	New module 'strerror_r-posix'.
	* lib/string.in.h (strerror_r): New declaration.
	* lib/strerror_r.c: New file.
	* m4/strerror_r.m4: New file.
	* m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
	of strerror_r.
	(gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
	HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
	* modules/strerror_r-posix: New file.
	* modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
	HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
	* doc/posix-functions/strerror_r.texi: Mention the new module and the
	portability problems.

2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)

	* build-aux/pmccabe2html: Fixed a off-by-one error, so last input
	line is also considered for output. Quoted function name in shell
	command, so temporary files for functions like MyClass::operator()
	are removed correctly without errors.

2010-11-09  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/strerror.texi: List more failing platforms.

	* doc/posix-functions/strerror.texi: Add a comment.

2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>

	fdopendir: fix bug on MacOS X when low on file descriptors

	* lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
	(fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
	All callers changed.
	(fdopendir): Invoke save_cwd at the top level, not after using
	multiple dup() calls to use up file descriptors.  Then retry
	fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
	less than the maximum number of open file descriptors, because
	save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
	on Mac OS X 10.6.4 for tar 1.24
	<http://lists.gnu.org/r/bug-tar/2010-10/msg00084.html>
	<http://lists.gnu.org/r/bug-tar/2010-11/msg00000.html>
	and for tar 1.25
	<http://lists.gnu.org/r/bug-tar/2010-11/msg00038.html>.

2010-11-07  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Support I flag on glibc systems.
	* lib/printf-parse.h (FLAG_LOCALIZED): New macro.
	* lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
	* lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
	snprintf function.
	* tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
	glibc systems.
	* tests/test-vasnprintf-posix3.c: New file.
	* modules/vasnprintf-posix-tests (Files): Add it.
	(TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.

2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)

	[html] Fix copy/paste bug: Use unique name for compiler warnings.
	* MODULES.html.sh: For compiler warnings, use name
	`ansic_ext_compwarn' since `ansic_ext_misc' is already taken.

2010-11-05  Eric Blake  <eblake@redhat.com>

	ceil, floor: avoid spurious failure with icc
	* tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
	[denormals-as-zero] when optimizing without -mieee-fp option.
	* tests/test-floorf2.c (floorf_reference): Likewise.
	* tests/test-ceilf1.c (dummy): New function.
	(main): Use it to outsmart icc's optimization.
	* tests/test-floorf1.c (dummy, main): Likewise.

	tests: require working signbit
	* modules/ceilf-tests (Depends-on): Add signbit.
	* modules/ceill-tests (Depends-on): Likewise.
	* modules/floorf-tests (Depends-on): Likewise.
	* modules/floorl-tests (Depends-on): Likewise.
	* modules/round-tests (Depends-on): Likewise.
	* modules/roundf-tests (Depends-on): Likewise.
	* modules/roundl-tests (Depends-on): Likewise.
	* modules/trunc-tests (Depends-on): Likewise.
	* modules/truncf-tests (Depends-on): Likewise.
	* modules/truncl-tests (Depends-on): Likewise.

	strtod: work around icc bug
	* lib/strtod.c (minus_zero): Define to working value.
	(strtod): Use it to avoid icc bug.

	copysign: enhance tests
	* modules/copysign-tests (Files): Add minus-zero.h.
	* tests/test-copysign.c (main): Also test zeros.

2010-11-04  Eric Blake  <eblake@redhat.com>

	ceil, floor, round, trunc: enhance tests of -0
	* tests/test-ceilf1.c (main): Ensure correct sign of result.
	* tests/test-ceill.c (main): Likewise.
	* tests/test-floorf1.c (main): Likewise.
	* tests/test-floorl.c (main): Likewise.
	* tests/test-round1.c (main): Likewise.
	* tests/test-roundf1.c (main): Likewise.
	* tests/test-roundl.c (main): Likewise.
	* tests/test-trunc1.c (main): Likewise.
	* tests/test-truncf1.c (main): Likewise.
	* tests/test-truncl.c (main): Likewise.

2010-11-04  Eric Blake  <eblake@redhat.com>

	frexp, tests: work around ICC bug with -zero
	* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
	works with more compilers.
	* tests/minus-zero.h: New file.
	* modules/ceilf-tests (Files): Include it.
	* modules/ceill-tests (Files): Likewise.
	* modules/floorf-tests (Files): Likewise.
	* modules/floorl-tests (Files): Likewise.
	* modules/frexp-nolibm-tests (Files): Likewise.
	* modules/frexp-tests (Files): Likewise.
	* modules/frexpl-nolibm-tests (Files): Likewise.
	* modules/frexpl-tests (Files): Likewise.
	* modules/isnan-tests (Files): Likewise.
	* modules/isnand-nolibm-tests (Files): Likewise.
	* modules/isnand-tests (Files): Likewise.
	* modules/isnanf-nolibm-tests (Files): Likewise.
	* modules/isnanf-tests (Files): Likewise.
	* modules/isnanl-nolibm-tests (Files): Likewise.
	* modules/isnanl-tests (Files): Likewise.
	* modules/round-tests (Files): Likewise.
	* modules/roundf-tests (Files): Likewise.
	* modules/roundl-tests (Files): Likewise.
	* modules/ldexpl-tests (Files): Likewise.
	* modules/signbit-tests (Files): Likewise.
	* modules/snprintf-posix-tests (Files): Likewise.
	* modules/sprintf-posix-tests (Files): Likewise.
	* modules/strtod-tests (Files): Likewise.
	* modules/trunc-tests (Files): Likewise.
	* modules/truncf-tests (Files): Likewise.
	* modules/truncl-tests (Files): Likewise.
	* modules/vsnprintf-posix-tests (Files): Likewise.
	* modules/vsprintf-posix-tests (Files): Likewise.
	* modules/vasnprintf-posix-tests (Files): Likewise.
	* modules/vasprintf-posix-tests (Files): Likewise.
	* tests/test-ceilf1.c (main): Use it.
	* tests/test-ceill.c (main): Likewise.
	* tests/test-floorf1.c (main): Likewise.
	* tests/test-floorl.c (main): Likewise.
	* tests/test-frexp.c (main): Likewise.
	* tests/test-frexpl.c (main): Likewise.
	* tests/test-isnan.c (main): Likewise.
	* tests/test-isnand.h (main): Likewise.
	* tests/test-isnanf.h (main): Likewise.
	* tests/test-isnanl.h (main): Likewise.
	* tests/test-ldexpl.c (main): Likewise.
	* tests/test-round.c (main): Likewise.
	* tests/test-roundf.c (main): Likewise.
	* tests/test-roundl.c (main): Likewise.
	* tests/test-signbit.c (test_signbitf, test_signbitd)
	(test_signbitl): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-strtod.c (main): Likewise.
	* tests/test-trunc1.c (main): Likewise.
	* tests/test-truncf1.c (main): Likewise.
	* tests/test-truncl.c (main): Likewise.

	isnanl: work around icc bug
	* lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.

2010-11-03  Eric Blake  <eblake@redhat.com>

	tests: fix compiler warnings
	* tests/test-getopt.h (test_getopt): Fix condition.
	* tests/test-getopt_long.h (test_getopt_long): Likewise.
	* tests/test-pipe2.c (main): Likewise.
	* tests/test-quotearg-simple.c (main): Avoid icc warning.

	utimens: fix broken m4 test
	* m4/utimens.m4 (gl_UTIMENS): Include correct headers.

2010-10-28  Bruno Haible  <bruno@clisp.org>

	posix_spawn*, getdtablesize: Relax license.
	* modules/posix_spawn (License): Change to LGPLv2+.
	* modules/posix_spawnp (License): Likewise.
	* modules/posix_spawn-internal (License): Likewise.
	* modules/posix_spawnattr_init (License): Likewise.
	* modules/posix_spawnattr_getflags (License): Likewise.
	* modules/posix_spawnattr_setflags (License): Likewise.
	* modules/posix_spawnattr_getpgroup (License): Likewise.
	* modules/posix_spawnattr_setpgroup (License): Likewise.
	* modules/posix_spawnattr_getschedparam (License): Likewise.
	* modules/posix_spawnattr_setschedparam (License): Likewise.
	* modules/posix_spawnattr_getschedpolicy (License): Likewise.
	* modules/posix_spawnattr_setschedpolicy (License): Likewise.
	* modules/posix_spawnattr_getsigdefault (License): Likewise.
	* modules/posix_spawnattr_setsigdefault (License): Likewise.
	* modules/posix_spawnattr_getsigmask (License): Likewise.
	* modules/posix_spawnattr_setsigmask (License): Likewise.
	* modules/posix_spawnattr_destroy (License): Likewise.
	* modules/posix_spawn_file_actions_init (License): Likewise.
	* modules/posix_spawn_file_actions_addclose (License): Likewise.
	* modules/posix_spawn_file_actions_adddup2 (License): Likewise.
	* modules/posix_spawn_file_actions_addopen (License): Likewise.
	* modules/posix_spawn_file_actions_destroy (License): Likewise.
	* modules/getdtablesize (License): Likewise.
	Requested by Adam Stokes <ajs@redhat.com> for use in netcf.

2010-10-26  Bruno Haible  <bruno@clisp.org>

	unistd: Refine workaround from 2009-12-23 against Cygwin bug.
	* lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
	Cygwin and mingw.
	Suggested by Eric Blake.

2010-10-26  Bruno Haible  <bruno@clisp.org>

	stdio: Work around compilation error due to renameat() on Solaris 10.
	* lib/stdio.in.h: Include <unistd.h> on Solaris.
	* lib/renameat.c: Don't include <unistd.h> here.
	* doc/posix-functions/renameat.texi: Mention the Solaris problem.
	Reported by Paul Eggert and Eric Blake.

2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>

	renameat: port to Solaris 10, which declares renameat in unistd.h

	* lib/renameat.c: Include unistd.h before stdio.h, because
	Solaris 10 declares renameat in unistd.h.  Problem encountered
	when building GNU tar 1.24 on Solaris 10.

2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)

	fdopendir: fix C89 compilation
	* lib/fdopendir.c (fd_clone_opendir): Move declaration for older
	compilers.

2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>

	inttostr: simplify by removing unnecessary redundancy
	* lib/anytostr.c: Don't include verify.h.
	(anytostr): Don't verify that TYPE_SIGNED (inttype) equals
	inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
	there's no need for inttype_is_signed and for calling TYPE_SIGNED.
	* lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
	* lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
	Likewise.
	* modules/inttostr (Depends-on): Remove 'verify'.

2010-10-23  Bruno Haible  <bruno@clisp.org>

	nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
	* doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
	Reported by Eric Blake.

2010-10-23  Bruno Haible  <bruno@clisp.org>

	Tests: Fix LOCALE_JA on MirBSD 10.
	* m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
	to an UTF-8 locale.
	* m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
	Reported by Eric Blake.

2010-10-21  Bruno Haible  <bruno@clisp.org>

	nl_langinfo test: Avoid test failure on NetBSD 5.
	* tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
	Reported by Eric Blake.

2010-10-21  Eric Blake  <eblake@redhat.com>

	c-stack: work around libsigsegv 2.8 bug
	* lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
	overflow on at least PowerPC64.

2010-10-17  Bruno Haible  <bruno@clisp.org>

	userspec: Drop redundant file.
	* modules/userspec (Files): Remove lib/inttostr.h.

2010-10-17  Bruno Haible  <bruno@clisp.org>

	nl_langinfo tests: Silence some warnings.
	* tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
	Reported by Jim Meyering.

2010-10-17  Bruno Haible  <bruno@clisp.org>

	Make use of GCC's attribute __alloc_size__.
	* lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
	(xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
	xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
	* lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
	__alloc_size__.
	* lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
	Suggested by Jim Meyering.

2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>

	bootstrap: anchor .gitignore entries.
	* build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
	with...
	(insert_vc_ignore): ... this new function, which prepends `/' to
	all .gitignore entries before passing them to
	insert_sorted_if_absent.

2010-10-16  Bruno Haible  <bruno@clisp.org>

	nextafter: Fix configure check.
	* modules/nextafter (configure.ac): Correct expected prototype.

2010-10-16  Bruno Haible  <bruno@clisp.org>

	termios: Update documentation.
	* doc/posix-headers/termios.texi: Mention remaining mingw problems.

2010-10-16  Bruno Haible  <bruno@clisp.org>

	tests: Make them compile with TinyCC.
	* tests/test-strstr.c (main): Remove parentheses around array
	initializer.

2010-10-15  Eric Blake  <eblake@redhat.com>

	ignore-value: make header idempotent
	* lib/ignore-value.h: Add double-inclusion guards.
	Reported by Stefan Berger.

2010-10-15  Jim Meyering  <meyering@redhat.com>

	GNUmakefile: handle "stable" target, not "major"
	* top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
	lists in maint.mk and announce-gen.  Without this, "make stable"
	would fail to ensure that $(VERSION) is up to date.

2010-10-15  Ludovic Courtès  <ludo@gnu.org>

	* lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
	& co.

2010-10-14  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Don't set errno to 0.
	* lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
	block that sets it to 0.
	Reported by Gianluigi Tiesi <sherpya@netfarm.it>.

2010-10-14  Bruno Haible  <bruno@clisp.org>

	socketlib: Fix.
	* modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
	gl_PREREQ_SYS_H_WINSOCK2.
	Reported by Ian Beckwith <ianb@erislabs.net>.

2010-10-13  Jim Meyering  <meyering@redhat.com>

	test-select-stdin.c: avoid warn_unused_result warnings
	* tests/test-select-stdin.c: Include "macros.h".
	ASSERT that read and fflush succeed.

2010-10-13  Jim Meyering  <meyering@redhat.com>

	git-version-gen: do require git-VC'd files in cwd
	* build-aux/git-version-gen: Reject a git version string
	if there are no commits associated with the current directory.
	This avoids an unlikely false-positive (unrelated dir whose parent
	repository also contains a tag matching v*), as pointed out
	by Giuseppe Scrivano in
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664

2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>

	argv-iter: omit nonconforming declaration
	* lib/argv-iter.h (enum argv_iter_err): Omit the useless
	enum arg_iter_err declaration, which doesn't conform to C99.
	Solaris 10 cc warns about this.

2010-10-13  Eric Blake  <eblake@redhat.com>

	termios: fix compilation on mingw
	* m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
	(gl_TERMIOS_H): Adjust it on mingw.
	* modules/termios (Makefile.am): Substitute new key.
	* lib/termios.in.h (includes): Make include_next conditional.
	* doc/posix-headers/termios.texi (termios.h): Update
	documentation.
	Reported by Daniel P. Berrange.

2010-10-13  Jim Meyering  <meyering@redhat.com>

	git-version-gen: don't require that .git/ be in the current dir
	* build-aux/git-version-gen: Adjust this script so that it works
	when run from any working directory beneath the top-level .git/-
	containing directory.  Inspired by a patch from Giuseppe Scrivano,
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847

	test-select: avoid warn_unused_result warnings
	* tests/test-select.c: Include "macros.h".
	ASSERT that each call to read, write, and pipe succeeds.
	While not technically required, also check each "close".
	* modules/select-tests (Files): Add tests/macros.h.

	test-symlinkat: remove declaration of unused local
	* tests/test-symlinkat.c (main): Remove unused local, "buf".

	test-inttostr: avoid shadowing warnings
	* tests/test-inttostr.c (main): Rename local, "buf" to "b",
	and use malloc rather than the stack for the same reason as
	mentioned in the comment justifying the other allocation.

2010-10-11  Bruno Haible  <bruno@clisp.org>

	stdlib: Allow multiple gnulib generated replacements to coexist.
	* lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
	Reported by Sam Steingold <sds@gnu.org>.

2010-10-11  Jim Meyering  <meyering@redhat.com>

	fix a documentation typo
	* doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/

2010-10-11  Eric Blake  <eblake@redhat.com>

	futimens: work around Solaris 11 bug
	* m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
	* tests/test-futimens.h (test_futimens): Enhance, rather than
	weaken test.
	* doc/posix-functions/futimens.texi (futimens): Document the bug.

2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>

	Indentation.
	* lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
	higher-level operators more to the left.

2010-10-11  Jim Meyering  <meyering@redhat.com>

	test-futimens: avoid unwarranted test failure on Solaris 5.11
	* tests/test-futimens.h (test_futimens): When provoking EBADF, use an
	invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
	because it tries to dereference the NULL name argument.

2010-10-11  Bruno Haible  <bruno@clisp.org>

	Indentation.
	* lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
	indentation.

2010-10-11  Jim Meyering  <meyering@redhat.com>

	spawn.in.h: make indentation consistent with parentheses
	* lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
	Make indentation consistent with parentheses.

2010-10-11  Gary V. Vaughan  <gary@gnu.org>

	Fix mismatched parens in previous commit
	* lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
	parens.

2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]

	* lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
	(verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
	* lib/malloca.c: Include "verify.h".
	(verify1): Remove, replacing with a verify call.
	* lib/relocwrapper.c (verify1): Likewise.
	* lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
	Likewise.
	* modules/malloca (Depends-on): Add 'verify'.
	* modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
	* modules/vasnprintf (Depends-on): Add 'verify'.
	* modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.

	prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)

	Formerly the style was sometimes 2*X - 1, because the C standard
	was wrongly thought to disallow ?: in integral constant expressions.
	* lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
	* lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
	* lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
	* lib/stdint.in.h (_verify_intmax_size): Likewise.
	* lib/time.in.h (struct __time_t_must_be_integral): Rewrite
	2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
	verify that time_t cannot be floating.

2010-10-08  Eric Blake  <eblake@redhat.com>

	time: enforce recent POSIX ruling that time_t is integral
	* lib/time.in.h (__time_t_must_be_integral): Detect any
	problematic systems, allowing the rest of gnulib to assume POSIX.

2010-10-08  Jim Meyering  <meyering@redhat.com>

	fdopendir: fix a bug on systems lacking openat and /proc support
	OpenBSD 4.7 is one such system.  The most noticeable effect was
	failure of any application making nontrivial use of fts: rm, du,
	chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
	  ./rm: traversal failed: `a': Bad file descriptor
	Debugging that, you see that even though FD 6 was closed just
	prior to the opendir call in fd_clone_opendir, its resulting
	dir->dd_fd was 8, rather than the expected value of 6:

	Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
	93                close (fd);
	(gdb) n
	94                dir = fd_clone_opendir (dupfd);
	(gdb) n
	95                saved_errno = errno;
	(gdb) p dir->dd_fd
	$11 = 8

	Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
	The problem is that on OpenBSD, fd_clone_opendir has to resort
	to using the old-style save/restore CWD mechanism, due to its
	lack of openat/proc support, and *that* would steal the FD (6)
	that opendir was supposed to use.

	The fix is to squirrel away the desired FD so that save_cwd uses a
	different one, and then free the dest FD right before calling opendir.
	That guarantees opendir will use the required file descriptor.

	* lib/fdopendir.c (fd_clone_opendir): Handle the above.

2010-10-08  Bruno Haible  <bruno@clisp.org>

	sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
	* lib/sys_select.in.h: Include <string.h> also on OpenBSD.

2010-10-08  Bruno Haible  <bruno@clisp.org>

	nanosleep: Make replacement POSIX compliant.
	* lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
	is out of range.
	Reported by Jim Meyering.

2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>

	bootstrap: add hook for altering gnulib.mk, for Bison
	* build-aux/bootstrap (gnulib_mk_hook): New function, so that
	the Bison bootstrapping process can rewrite file names and variables
	in this file before later parts of 'bootstrap' use the file.
	Bison wants to include lib/gnulib.mk from the top-level makefile,
	so it needs the file names in this file to be relative to the top
	level, not relative to lib; plus it needs variable names to be
	rewritten.
	(slurp): Use the new function.

	bootstrap: reformat for readability
	* build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.

2010-10-08  Eric Blake  <eblake@redhat.com>

	docs: update cygwin progress
	* doc/posix-functions/cacos.texi (cacos): Added after cygwin
	1.7.7.
	* doc/posix-functions/cacosf.texi (cacosf): Likewise.
	* doc/posix-functions/cacosh.texi (cacosh): Likewise.
	* doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
	* doc/posix-functions/carg.texi (carg): Likewise.
	* doc/posix-functions/cargf.texi (cargf): Likewise.
	* doc/posix-functions/casin.texi (casin): Likewise.
	* doc/posix-functions/casinf.texi (casinf): Likewise.
	* doc/posix-functions/casinh.texi (casinh): Likewise.
	* doc/posix-functions/casinhf.texi (casinhf): Likewise.
	* doc/posix-functions/catan.texi (catan): Likewise.
	* doc/posix-functions/catanf.texi (catanf): Likewise.
	* doc/posix-functions/catanh.texi (catanh): Likewise.
	* doc/posix-functions/catanhf.texi (catanhf): Likewise.
	* doc/posix-functions/ccos.texi (ccos): Likewise.
	* doc/posix-functions/ccosf.texi (ccosf): Likewise.
	* doc/posix-functions/ccosh.texi (ccosh): Likewise.
	* doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
	* doc/posix-functions/cexp.texi (cexp): Likewise.
	* doc/posix-functions/cexpf.texi (cexpf): Likewise.
	* doc/posix-functions/cimag.texi (cimag): Likewise.
	* doc/posix-functions/cimagf.texi (cimagf): Likewise.
	* doc/posix-functions/clog.texi (clog): Likewise.
	* doc/posix-functions/clogf.texi (clogf): Likewise.
	* doc/posix-functions/conj.texi (conj): Likewise.
	* doc/posix-functions/conjf.texi (conjf): Likewise.
	* doc/posix-functions/cpow.texi (cpow): Likewise.
	* doc/posix-functions/cpowf.texi (cpowf): Likewise.
	* doc/posix-functions/cproj.texi (cproj): Likewise.
	* doc/posix-functions/cprojf.texi (cprojf): Likewise.
	* doc/posix-functions/creal.texi (creal): Likewise.
	* doc/posix-functions/crealf.texi (crealf): Likewise.
	* doc/posix-functions/csin.texi (csin): Likewise.
	* doc/posix-functions/csinf.texi (csinf): Likewise.
	* doc/posix-functions/csinh.texi (csinh): Likewise.
	* doc/posix-functions/csinhf.texi (csinhf): Likewise.
	* doc/posix-functions/csqrt.texi (csqrt): Likewise.
	* doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
	* doc/posix-functions/ctan.texi (ctan): Likewise.
	* doc/posix-functions/ctanf.texi (ctanf): Likewise.
	* doc/posix-functions/ctanh.texi (ctanh): Likewise.
	* doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
	* doc/posix-headers/complex.texi (complex.h): Likewise.

2010-10-07  Jim Meyering  <meyering@redhat.com>

	parse-datetime: avoid compilation failure on OpenBSD 4.7
	* lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
	This works around a compilation failure on OpenBSD 4.7:
	http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418

2010-10-07  Eric Blake  <eblake@redhat.com>

	docs: update cygwin progress
	* doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
	1.7.6.
	* doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
	* doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
	* doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
	* doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
	* doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
	Likewise.
	* doc/posix-functions/fegetround.texi (fegetround): Likewise.
	* doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
	* doc/posix-functions/feraiseexcept.texi (feraiseexcept):
	Likewise.
	* doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
	* doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
	Likewise.
	* doc/posix-functions/fesetround.texi (fesetround): Likewise.
	* doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
	* doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
	* doc/glibc-functions/feenableexcept.texi (feenableexcept):
	Likewise.
	* doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
	Likewise.
	* doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.

	docs: update parse-datetime history
	* doc/parse-datetime.texi (Authors of parse_datetime): Better
	documentation of this function's history and alternatives.

	cygwin: use more robust version check
	* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
	exclude an eventual cygwin 1.9.1.
	* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
	(gl_FUNC_STRCASESTR): Likewise.
	Reported by Bruno Haible.

2010-10-06  Bruno Haible  <bruno@clisp.org>

	string, sys_select: Avoid #including large headers unless necessary.
	* lib/string.in.h: Don't include <unistd.h> except on NetBSD.
	* lib/sys_select.in.h: Don't include <string.h> except on Solaris,
	OSF/1, BeOS, Haiku.
	Reported by Jim Meyering.

2010-10-05  Eric Blake  <eblake@redhat.com>

	memmem, strstr, strcasestr: fix bug with long periodic needle
	* lib/str-two-way.h (two_way_long_needle): Avoid bug with long
	periodic needle having false positive.
	* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
	and cygwin 1.7.7.
	(gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
	(gl_FUNC_STRCASESTR): Likewise.
	* m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
	* tests/test-memmem.c (main): Expose the bug.
	* tests/test-strcasestr.c (main): Likewise.
	* tests/test-strstr.c (main): Likewise.
	* tests/test-c-strcasestr.c (main): Likewise.
	* doc/glibc-functions/memmem.texi (memmem): Document the bug.
	* doc/posix-functions/strstr.texi (strstr): Likewise.
	* doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
	Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092

2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>

	parse-datetime: do some more renaming
	* doc/parse-datetime.texi (Authors of parse_datetime): Call it
	parse_datetime, not get_date.  Mention the renaming.
	* lib/parse-datetime.y:  Call it parse_datetime, not getdate,
	in comments.
	* m4/bison.m4: Likewise.

2010-10-05  Eric Blake  <eblake@redhat.com>

	parse-datetime: better name than get_date
	* NEWS: Reword the deprecation notice.
	* modules/get_date: Rename to modules/parse-datetime.
	* modules/get_date-tests: Rename to modules/parse-datetime-tests.
	* m4/get_date.m4: Rename to m4/parse-datetime.m4.
	* lib/get_date.y: Rename to lib/parse-datetime.y.
	* tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
	* doc/get_date.texi: Rename to doc/parse-datetime.texi.
	* doc/getdate.texi: Provide fallback wrapper.
	* lib/getdate.h: Move guts, and wrap...
	* lib/parse-datetime.h: ...new file.
	* lib/parse-datetime.y (get_date): Rename...
	(parse_datetime): ...to this.
	* m4/parse-datetime.m4 (gl_GET_DATE): Rename...
	(gl_PARSE_DATETIME): ...to this.
	* doc/posix-functions/getdate.texi (get_date): Provide fallback
	documentation.
	* modules/getdate (Files): Provide fallback docs and header.
	(Notice, Depends-on): Update references.
	* tests/test-parse-datetime.c: Likewise.
	* DEPENDENCIES: Likewise.
	* MODULES.html.sh (Date and time <time.h>): Likewise.
	* doc/parse-datetime.texi (Date input formats)
	(Authors of parse_datetime): Likewise.
	* modules/parse-datetime (Files, configure.ac, Makefile.am)
	(Include): Likewise.
	* modules/parse-datetime-tests (Files, Makefile.am): Likewise.
	* gnulib-tool: Likewise.
	* m4/bison.m4 (gl_BISON): Likewise.
	Suggested by Bruno Haible.

2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>

	more ports to Solaris tr, which needs [] around ranges
	* gnulib-tool: Solaris tr needs [] around ranges.
	* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
	* tests/test-pipe-filter-gi1.c (main): Likewise.
	* tests/test-pipe-filter-ii1.c (main): Likewise.

2010-10-05  Eric Blake  <eblake@redhat.com>

	bootstrap: fix Solaris regression
	* build-aux/bootstrap (check_versions): Solaris tr still needs []
	around ranges.
	Reported by Pádraig Brady.

	bootstrap: work with pkg-config
	* build-aux/bootstrap (check_versions): Also transliterate - in
	prerequisite name.
	(print_versions): Be robust to any \ in $buildreq.  Avoid listing
	prerequisites that were already found, to avoid confusion.
	Reported by Justin Clift.

	faccessat: remove unused wrappers
	* lib/openat.h (accessat, euidaccesat): Delete, since the mere
	presence of these wrappers dragged in -lgen on Solaris.
	Reported by Clemens Brogi; fix suggested by Paul Eggert.

2010-10-05  Jim Meyering  <meyering@redhat.com>

	tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
	* Makefile (sc_pragma_columns): New syntax-check rule.

2010-10-04  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
	* gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
	library, put '-no-undefined' and the link dependencies into _LDFLAGS.
	Reported by Bruce Korb and Eric Blake.

2010-10-04  Bruno Haible  <bruno@clisp.org>

	threadlib: Make option --with-libpth-prefix work.
	* m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
	use $LIBPTH, not just -lpth.

2010-10-04  Bruno Haible  <bruno@clisp.org>

	Avoid line length limitation from HP NonStop system header files.
	* m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
	* lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
	* lib/ctype.in.h: Likewise.
	* lib/dirent.in.h: Likewise.
	* lib/errno.in.h: Likewise.
	* lib/fcntl.in.h: Likewise.
	* lib/float.in.h: Likewise.
	* lib/getopt.in.h: Likewise.
	* lib/iconv.in.h: Likewise.
	* lib/inttypes.in.h: Likewise.
	* lib/langinfo.in.h: Likewise.
	* lib/locale.in.h: Likewise.
	* lib/math.in.h: Likewise.
	* lib/netdb.in.h: Likewise.
	* lib/netinet_in.in.h: Likewise.
	* lib/poll.in.h: Likewise.
	* lib/pthread.in.h: Likewise.
	* lib/pty.in.h: Likewise.
	* lib/sched.in.h: Likewise.
	* lib/se-selinux.in.h: Likewise.
	* lib/search.in.h: Likewise.
	* lib/signal.in.h: Likewise.
	* lib/spawn.in.h: Likewise.
	* lib/stdarg.in.h: Likewise.
	* lib/stddef.in.h: Likewise.
	* lib/stdint.in.h: Likewise.
	* lib/stdio.in.h: Likewise.
	* lib/stdlib.in.h: Likewise.
	* lib/string.in.h: Likewise.
	* lib/strings.in.h: Likewise.
	* lib/sys_file.in.h: Likewise.
	* lib/sys_ioctl.in.h: Likewise.
	* lib/sys_select.in.h: Likewise.
	* lib/sys_socket.in.h: Likewise.
	* lib/sys_stat.in.h: Likewise.
	* lib/sys_time.in.h: Likewise.
	* lib/sys_times.in.h: Likewise.
	* lib/sys_utsname.in.h: Likewise.
	* lib/sys_wait.in.h: Likewise.
	* lib/sysexits.in.h: Likewise.
	* lib/termios.in.h: Likewise.
	* lib/time.in.h: Likewise.
	* lib/unistd.in.h: Likewise.
	* lib/wchar.in.h: Likewise.
	* lib/wctype.in.h: Likewise.
	* modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
	* modules/ctype (Makefile.am): Likewise.
	* modules/dirent (Makefile.am): Likewise.
	* modules/errno (Makefile.am): Likewise.
	* modules/fcntl-h (Makefile.am): Likewise.
	* modules/float (Makefile.am): Likewise.
	* modules/getopt-posix (Makefile.am): Likewise.
	* modules/iconv-h (Makefile.am): Likewise.
	* modules/inttypes (Makefile.am): Likewise.
	* modules/langinfo (Makefile.am): Likewise.
	* modules/locale (Makefile.am): Likewise.
	* modules/math (Makefile.am): Likewise.
	* modules/netdb (Makefile.am): Likewise.
	* modules/netinet_in (Makefile.am): Likewise.
	* modules/poll-h (Makefile.am): Likewise.
	* modules/pthread (Makefile.am): Likewise.
	* modules/pty (Makefile.am): Likewise.
	* modules/sched (Makefile.am): Likewise.
	* modules/search (Makefile.am): Likewise.
	* modules/selinux-h (Makefile.am): Likewise.
	* modules/signal (Makefile.am): Likewise.
	* modules/spawn (Makefile.am): Likewise.
	* modules/stdarg (Makefile.am): Likewise.
	* modules/stddef (Makefile.am): Likewise.
	* modules/stdint (Makefile.am): Likewise.
	* modules/stdio (Makefile.am): Likewise.
	* modules/stdlib (Makefile.am): Likewise.
	* modules/string (Makefile.am): Likewise.
	* modules/strings (Makefile.am): Likewise.
	* modules/sys_file (Makefile.am): Likewise.
	* modules/sys_ioctl (Makefile.am): Likewise.
	* modules/sys_select (Makefile.am): Likewise.
	* modules/sys_socket (Makefile.am): Likewise.
	* modules/sys_stat (Makefile.am): Likewise.
	* modules/sys_time (Makefile.am): Likewise.
	* modules/sys_times (Makefile.am): Likewise.
	* modules/sys_utsname (Makefile.am): Likewise.
	* modules/sys_wait (Makefile.am): Likewise.
	* modules/sysexits (Makefile.am): Likewise.
	* modules/termios (Makefile.am): Likewise.
	* modules/time (Makefile.am): Likewise.
	* modules/unistd (Makefile.am): Likewise.
	* modules/wchar (Makefile.am): Likewise.
	* modules/wctype (Makefile.am): Likewise.

2010-10-04  Bruno Haible  <bruno@clisp.org>

	read-file tests: Avoid a test failure on NonStop Kernel.
	* tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
	a regular file.
	Reported by Joachim Schmitz <schmitz@hp.com>.

2010-10-03  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fixes for --create-testdir with --libtool.
	* gnulib-tool (func_get_automake_snippet): Don't augment
	EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
	an executable.
	(func_create_testdir): Handle module 'alloca' like func_import.
	Reported by Bruce Korb <bruce.korb@gmail.com>.

2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid some lines longer than 80 characters.
	* lib/stdint.in.h: Break long comment lines.
	* lib/math.in.h: Likewise.
	(_GL_NUM_UINT_WORDS): New macro, for readability.
	(gl_signbitf, gl_signbitd, gl_signbitl): Use it.
	* lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
	* lib/stdlib.in.h: Likewise.
	* lib/spawn.in.h: Likewise.
	* lib/sys_socket.in.h: Update an URL.
	* lib/sys_stat.in.h: Break long line.

2010-10-03  Reuben Thomas  <rrt@sc3d.org>

	Improve pmccabe2html.
	* build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
	cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
	when the sources change. Remove the line in the HTML about "Used
	ranges" (which implied that there might be other unused ranges),
	rename "Resume" to "Summary" (easier to understand for more users).
	* build-aux/pmccabe.css: Removing the dashed dividers, some unused
	styles, and some unnecessary blank lines.

2010-10-03  Bruno Haible  <bruno@clisp.org>
	    Joachim Schmitz  <schmitz@hp.com>  (tiny change)

	acl: Add support for ACLs on NonStop Kernel.
	* m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
	Check whether the function aclsort() exists.
	* lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
	(acl_nontrivial) [HAVE_ACLSORT]: New declaration.
	* lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
	(acl_nontrivial [HAVE_ACLSORT]: New function.
	(file_has_acl): Implement for NonStop Kernel.
	* lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
	(qset_acl): Implement for NonStop Kernel.
	* lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
	* tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
	(main): Implement for NonStop Kernel.
	* tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
	Kernel. Handle this flavor.
	* tests/test-set-mode-acl.sh: Likewise.
	* tests/test-copy-acl.sh: Likewise.
	* tests/test-copy-file.sh: Likewise.

2010-10-03  Bruno Haible  <bruno@clisp.org>

	Info about ACLs on NonStop Kernel.
	* doc/acl-resources.txt: Add info about NonStop Kernel.
	References by Joachim Schmitz <schmitz@hp.com>.

2010-10-02  Bruno Haible  <bruno@clisp.org>

	Define missing EDQUOT on NonStop Kernel.
	* lib/errno.in.h (EDQUOT): Assign a value if missing.
	* lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
	* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
	missing.
	* doc/posix-headers/errno.texi: Mention the NSK bug.
	* doc/posix-functions/strerror.texi: Mention the workaround on NSK.
	Reported by Joachim Schmitz <schmitz@hp.com>.

2010-10-02  Bruno Haible  <bruno@clisp.org>

	Update doc for POSIX:2008.
	* doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
	Update URL of POSIX specification.

2010-10-02  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
	* gnulib-tool (func_create_testdir): Use config.guess and config.sub
	from gnulib, not from Automake.

2010-10-02  Bruno Haible  <bruno@clisp.org>

	New module 'system-posix'.
	* modules/system-posix: New file.
	* lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
	module is present.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
	GNULIB_SYSTEM_POSIX.
	* modules/stdlib (Depends-on): Remove sys_wait.
	(Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
	* doc/posix-functions/system.texi: Mention the new module.
	* doc/posix-headers/stdlib.texi: Likewise.
	* tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
	define test_sys_wait_macros to a no-op.
	Reported by Sam Steingold <sds@gnu.org>.

2010-09-30  Bruno Haible  <bruno@clisp.org>

	More renaming from 'getdate' to 'get_date'.
	* doc/get_date.texi: Renamed from doc/getdate.texi.
	* modules/get_date (Files): Update.
	* MODULES.html.sh (Date and time <time.h>): Update.
	* DEPENDENCIES: Update.
	* gnulib-tool: Update comment.
	* m4/bison.m4 (gl_BISON): Likewise.
	* m4/get_date.m4 (gl_GET_DATE): Likewise.

2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)

	bootstrap: support ACLOCAL_FLAGS during aclocal
	* build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
	can add additional -I dir for third-party .m4 files.

2010-09-30  Eric Blake  <eblake@redhat.com>

	bootstrap: use glibtoolize on MacOS
	* build-aux/bootstrap (check_versions): Convert libtool into
	libtoolize.
	(tool search): Move libtool check earlier, and look for
	glibtoolize for MacOS.
	(gnulib_tool_options): Auto-add --libtool when appropriate.
	Reported by Justin Clift.

	poll: fix typo that broke test on MacOS
	* m4/poll.m4 (gl_FUNC_POLL): Add missing test.
	Reported by Justin Clift.

	getdate: rename to get_date
	Note: getdate.h is not renamed, to minimize client impact.
	* modules/getdate: Mark obsolete.  Move old contents...
	* modules/get_date: ...to new module name.
	* modules/getdate-tests: Move...
	* modules/get_date-tests: ...here.
	* m4/getdate.m4: Move...
	* m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
	* lib/getdate.y: Move...
	* lib/get_date.y: ...here.
	* tests/test-getdate.c: Move...
	* tests/test-get_date.c: ...here.
	* doc/posix-functions/getdate.texi (getdate): Update name.
	* NEWS: Mention the change.

2010-09-29  Bruno Haible  <bruno@clisp.org>

	Separate the module 'waitpid' from the module 'sys_wait'.
	* lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
	present.
	* m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR_FOR_TESTS.
	(gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
	* modules/sys_wait (Depends-on): Remove waitpid.
	(Makefile.am): Substitute GNULIB_WAITPID.
	* modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
	* tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
	signature only if the 'waitpid' module is present.
	* doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
	* NEWS: Mention the change.
	* modules/grantpt (Depends-on): Add waitpid.
	* modules/wait-process (Depends-on): Likewise.

2010-09-29  Bruno Haible  <bruno@clisp.org>

	More tests for module 'sys_wait'.
	* modules/sys_wait-c++-tests: New file.
	* tests/test-sys_wait-c++.cc: New file.
	* modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
	Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.

2010-09-29  Bruno Haible  <bruno@clisp.org>

	New module 'waitpid'.
	* lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
	* lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
	Don't include <process.h>.
	(waitpid): Declare only, using modern idiom.
	* m4/waitpid.m4: New file.
	* m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
	* modules/waitpid: New file.
	* modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
	(Makefile.am): Update.
	Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.

2010-09-28  Bruno Haible  <bruno@clisp.org>

	poll: Assume ANSI C.
	* lib/poll.c (poll): Use an ANSI C declaration.

2010-09-28  Bruno Haible  <bruno@clisp.org>

	poll-h: Create poll.h on all platforms.
	* lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
	struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
	* m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
	gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
	(gl_REPLACE_POLL_H): Don't set POLL_H.
	(gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
	* modules/poll-h (Depends-on): Add include_next.
	(Makefile.am): Create poll.h unconditionally. Substitute also
	HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.

2010-09-28  Bruno Haible  <bruno@clisp.org>

	Tests for module 'poll-h'.
	* modules/poll-h-c++-tests: New file.
	* tests/test-poll-h-c++.cc: New file.

	Tests for module 'poll-h'.
	* modules/poll-h-tests: New file.
	* tests/test-poll-h.c: New file.

2010-09-28  Bruno Haible  <bruno@clisp.org>

	poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
	* modules/poll-h (Depends-on): Add 'extensions'.

2010-09-28  Bruno Haible  <bruno@clisp.org>

	New module 'poll-h'.
	* lib/poll.in.h: Include c++defs.h and warn-on-use.h.
	(poll): Use modern idiom.
	* modules/poll-h: New file.
	* modules/poll (Files): Remove lib/poll.in.h.
	(Depends-on): Add poll-h.
	(configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
	(Makefile.am): Move code for generation of poll.h to modules/poll-h.
	* m4/poll_h.m4: New file.
	* m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
	here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
	and invoke gl_REPLACE_POLL_H.
	* lib/poll.c: Use common idiom.
	* tests/test-poll.c: Likewise.
	* doc/posix-headers/poll.texi: Mention the poll-h module.
	Suggested by Eric Blake.

2010-09-26  Bruno Haible  <bruno@clisp.org>

	sys_wait: Implement WSTOPSIG.
	* lib/sys_wait.in.h (WSTOPSIG): New macro.
	Reported by Simon Josefsson.

2010-09-26  Simon Josefsson  <simon@josefsson.org>

	stdlib, sys_wait: Avoid compilation error on mingw.
	* lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.

2010-09-26  Bruno Haible  <bruno@clisp.org>

	stdlib tests: Avoid code duplication.
	* modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
	* modules/sys_wait-tests (Files): Likewise.
	* tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
	* tests/test-stdlib.c: Include test-sys_wait.h.
	(main): Invoke test_sys_wait_macros.
	* tests/test-sys_wait.c: Include test-sys_wait.h.
	(main): Invoke test_sys_wait_macros.

2010-09-25  Simon Josefsson  <simon@josefsson.org>

	* modules/getaddrinfo (Depends-on): Depend on the sockets module.
	* lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
	sure Windows sockets are working before calling getaddrinfo.
	* tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
	* doc/gnulib.texi (Windows sockets): Fix typo.

2010-09-25  Bruno Haible  <bruno@clisp.org>

	Tests for module 'regex-quote'.
	* modules/regex-quote-tests: New file.
	* tests/test-regex-quote.c: New file.

	New module 'regex-quote'.
	* lib/regex-quote.h: New file.
	* lib/regex-quote.c: New file.
	* modules/regex-quote: New file.
	Suggested by Reuben Thomas <rrt@sc3d.org>.

2010-09-24  Bruno Haible  <bruno@clisp.org>

	unistr/u8-strchr: Fix a test failure on i586 glibc systems.
	* tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.

2010-09-23  Bruno Haible  <bruno@clisp.org>

	setenv: Relax license.
	* modules/setenv (License): Change to LGPLv2+, with consent by Eric
	Blake.
	Requested by Eric Blake.

2010-09-22  Bruno Haible  <bruno@clisp.org>

	termios: Relax license.
	* modules/termios (License): Change to LGPLv2+.
	Requested by Eric Blake.

2010-09-22  Bruno Haible  <bruno@clisp.org>

	threadlib: Allow the package to change the default to 'no'.
	* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
	gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
	Reported by Paul Eggert.

2010-09-22  Pádraig Brady  <P@draigbrady.com>
	    Bruno Haible  <bruno@clisp.org>

	Fix endless loop in mbmemcasecoll.
	* lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
	byte.
	* tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.

2010-09-22  Bruno Haible  <bruno@clisp.org>

	Tests for module 'memcoll'.
	* modules/memcoll-tests: New file.
	* tests/test-memcoll.c: New file, based on tests/test-memcmp.c.

	memcoll, xmemcoll: Clarify size vs. length.
	* modules/memcoll.c (memcoll0): Clarify specification.
	* modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
	passed to collate_error.

2010-09-22  Bruno Haible  <bruno@clisp.org>

	Tests for module 'memcasecmp'.
	* modules/memcasecmp-tests: New file.
	* tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.

2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/pthread.in.h: Add split double-inclusion guard, and include
	system <pthread.h> if there is one.  Use @@-style as in other
	.in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
	pthread.h doesn't.
	(pthread_mutexattr_destroy, pthread_mutexattr_init):
	(pthread_mutexattr_settype, pthread_mutex_trylock):
	New static inline functions, if there's no system <pthread.h>.
	(pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
	(pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
	Approximate with mutexes if the system lacks spinlocks, as in
	MacOS.
	* m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
	Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
	@@-style.  Check for spinlocks separately.
	(gl_PTHREAD_DEFAULTS): New macro.
	* modules/pthread: Redo to use a more typical style for in.h files.

2010-09-21  Eric Blake  <eblake@redhat.com>

	net_if: enhance tests
	* tests/test-net_if.c (main): Move signature checks earlier.
	Print failures to stderr.
	* doc/posix-functions/if_freenameindex.texi (if_freenameindex):
	Document the bug that we do not yet fix.

2010-09-21  Reuben Thomas  <rrt@sc3d.org>

	* doc/gnulib.texi (Out of memory handling): Rewrite section to be
	about gnulib, not GSS.

2010-09-21  Reuben Thomas  <rrt@sc3d.org>

	* build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
	* build-aux/pmccabe2html: Set cut_dir properly, and add mode line
	for Emacs.
	* build-aux/pmccabe2html: Make Makefile.am example code more
	cut-and-paste friendly.

2010-09-21  Simon Josefsson  <simon@josefsson.org>

	* tests/test-net_if.c: New file.
	* modules/net_if-tests: New file.

2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>

	pthread: add pthread_spin_destroy
	* lib/pthread.in.h (pthread_spin_destroy): New function.

2010-09-19  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix --help output.
	* gnulib-tool (func_usage): Fix help message.
	Reported by Reuben Thomas <rrt@sc3d.org>.

2010-09-18  Jim Meyering  <meyering@redhat.com>

	maint.mk: avoid unexpanded \n in two diagnostics
	* top/maint.mk (sc_prohibit_always_true_header_tests):
	Don't use a literal \n in a halt=... assignment.  It would not be
	expanded, and the two \n bytes would appear in the diagnostic output
	rather than the desired newline.  Use halt=$$(printf ... instead.
	(sc_vulnerable_makefile_CVE-2009-4029): Likewise.

2010-09-18  Bruno Haible  <bruno@clisp.org>

	netinet_in: Doc tweak.
	* doc/posix-headers/netinet_in.texi: Mention an affected platform.
	Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.

2010-09-18  Jim Meyering  <meyering@redhat.com>

	init.sh: correct an outdated comment
	* tests/init.sh (create_exe_shims_):  s/function/alias/

	init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
	* tests/init.sh (find_exe_basenames_): Don't give up on a directory if
	a file named "*.exe" is removed between the glob expansion and the
	processing of that oddly named file.

2010-09-17  Eric Blake  <eblake@redhat.com>

	mirbsd: add some more support
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
	in BSD family.
	* m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
	devices as OpenBSD.
	* m4/host-os.m4 (mirbsd): Add MirBSD.

	tests: fix unportable assumption on sys/wait.h
	* tests/test-sys_wait.c (main): Relax test.
	* tests/test-stdlib.c (main): Likewise.

	init.sh: accommodate directory with no .exes
	* tests/init.sh: Accomodate directory containing only scripts.

	tests: avoid compiler warning
	* tests/test-stdlib.c (main): Use the variable.

	fdutimens, fdutimensat: update signature, again
	* lib/utimens.h (gl_futimens): Delete, and move signature...
	(fdutimens): ...here.
	(fdutimensat): Rearrange signature.
	(lutimensat): Rename variable for clarity.
	* lib/fdutimensat.c (fdutimensat): Update signature.
	* lib/utimens.c (fdutimens): Likewise.
	(gl_futimens): Delete.
	(utimens, lutimens): Update callers.
	* lib/futimens.c (futimens): Likewise.
	* tests/test-fdutimensat.c: Likewise.
	* tests/test-utimens.c: Likewise.
	* tests/test-futimens.h: Update comment.
	* NEWS: Mention this.
	Suggested by Paul Eggert.

2010-09-17  Bruno Haible  <bruno@clisp.org>

	Take over the maintenance of some older macros from Autoconf.
	* m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
	* m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
	GNU Autoconf.
	* m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
	* m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.

2010-09-17  Eric Blake  <eblake@redhat.com>

	fdutimensat: drop atflag validation
	* lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
	with valid fd, to close a race scenario where futimens is
	unsupported and FILE was replaced by a symlink.
	* tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
	accordingly.
	Suggested by Paul Eggert.

2010-09-16  Bruno Haible  <bruno@clisp.org>

	unlockpt: Fix declaration within GNULIB_POSIXCHECK.
	* lib/stdlib.in.h (unlockpt): Fix warning declaration.

2010-09-16  Bruno Haible  <bruno@clisp.org>

	login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
	* m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
	login_tty exists.
	Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.

2010-09-16  Bruno Haible  <bruno@clisp.org>

	login_tty: Make the replacement code work on BSD systems.
	* lib/login_tty.c: Include <sys/ioctl.h>.
	(login_tty): Use ioctl TIOCSCTTY when available.
	* modules/login_tty (Depends-on): Add sys_ioctl.
	Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.

2010-09-16  Bruno Haible  <bruno@clisp.org>

	login_tty: Stricter unit test.
	* modules/login_tty-tests (Depends-on): Add tcgetsid.
	* tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
	and tcgetsid() after login_tty.
	Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.

2010-09-16  Bruno Haible  <bruno@clisp.org>

	New module 'tcgetsid'.
	* lib/tcgetsid.c: New file.
	* m4/tcgetsid.m4: New file.
	* modules/tcgetsid: New file.
	* modules/termios (Depends-on): Add c++defs, warn-on-use.
	(Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
	GNULIB_TCGETSID, HAVE_TCGETSID.
	* lib/termios.in.h: Include <sys/types.h>.
	(tcgetsid): New declaration.
	* m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
	(gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
	* doc/posix-functions/tcgetsid.texi: Mention the new module.
	* tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.

2010-09-16  Bruno Haible  <bruno@clisp.org>

	Tests for module 'termios'.
	* modules/termios-c++-tests: New file.
	* modules/termios-tests: New file.
	* tests/test-termios-c++.cc: New file.
	* tests/test-termios.c: New file.

	New module 'termios'.
	* modules/termios: New file.
	* lib/termios.in.h: New file.
	* m4/termios_h.m4: New file.
	* doc/posix-headers/termios.texi: Mention the new module.

2010-09-16  Eric Blake  <eblake@redhat.com>

	fdutimensat: add an atflag parameter
	* lib/fdutimensat.c (fdutimensat): Add new parameter.
	* lib/utimens.h (fdutimensat): Update prototype.
	* tests/test-fdutimensat.c: Adjust test to match.
	* NEWS: Document the change.
	Suggested by Paul Eggert.

2010-09-16  Bruno Haible  <bruno@clisp.org>

	Fix typos in comments.
	* lib/striconveh.h: Fix typo in comment.
	* lib/login_tty.c (login_tty): Likewise.

2010-09-15  Bruno Haible  <bruno@clisp.org>

	stdlib: clarify MirBSD WEXITSTATUS bug
	* lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
	* doc/posix-headers/stdlib.texi (stdlib.h): Likewise.

2010-09-15  Eric Blake  <eblake@redhat.com>

	stdlib: work around MirBSD WEXITSTATUS bug
	* lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
	* modules/stdlib (Depends-on): Add sys_wait.
	* tests/test-sys_wait.c (main): Enhance test.
	* tests/test-stdlib.c (main): Likewise.
	* doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.

	docs: mention MacOS issue with WEXITSTATUS(constant)
	* doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
	issue.
	* doc/posix-headers/stdlib.texi (stdlib.h): Likewise.

	strnlen: add tests
	* modules/strnlen-tests: New file.
	* tests/test-strnlen.c: Likewise.

2010-09-14  Bruno Haible  <bruno@clisp.org>

	unistr/base: Avoid link errors when module 'libunistring' is also used.
	* lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
	u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
	u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
	Declare also when HAVE_LIBUNISTRING is set.
	Reported by Pádraig Brady <P@draigbrady.com>.

2010-09-14  Eric Blake  <eblake@redhat.com>

	test-rawmemchr: make more robust
	* modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
	(Depends-on, configure.ac): Add needed prerequisites to use it.
	* modules/memchr-tests (Files, Depends-on, configure.ac):
	Likewise, to avoid implicit reliance on memchr module prereqs.
	* tests/test-memchr.c (main): Ensure proper masking.
	* tests/test-rawmemchr.c (main): Likewise.  Detect oversized
	reads.

	memchr: detect glibc Alpha bug
	Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
	* m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
	Alpha.
	* doc/posix-functions/memchr.texi (memchr): Tweak wording.
	* tests/test-memchr.c (main): Enhance test.
	Reported by Nelson H. F. Beebe.

2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	fts, getcwd, glob: audit for dirfd returning -1
	* lib/fts.c (opendir): Remove #define; no longer used.
	(opendirat): New arg PDIR_FD.  All callers changed.
	(fts_build, _opendir2): Use new opendirat to avoid the need for
	dirfd, or for checking whether dirfd returns a negative value.
	Don't use opendir; always use openat followed by fdopendir.
	* lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
	it.
	* lib/glob.c (link_exists_p): Add comment explaining why dirfd never
	returns -1 here.
	* modules/fts (Depends-on): Remove dirfd.
	* modules/getcwd (Depends-on): Likewise.

2010-09-13  Eric Blake  <eblake@redhat.com>

	float: fix broken MirBSD header
	* m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
	* doc/posix-headers/float.texi (float.h): Document it.

2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	fts: use O_NOFOLLOW to avoid race condition when opening a directory
	* lib/fts.c (opendirat): New arg extra_flags.
	(__opendir2): Use it to avoid following symlinks when opening
	a directory, if symlinks are not supposed to be followed.  See
	<http://lists.gnu.org/r/bug-gnulib/2010-09/msg00213.html>.

	fdopendir: preserve argument fd before returning
	* lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
	(fdopendir_with_dup, fd_clone_opendir): New static functions.
	(fdopendir): Use them, arranging for FD to be open to the same
	directory that it was when it started.  (It might be temporarily
	closed while fdopendir is running, so this not thread- or
	signal-safe.)  Be careful to do the right thing even when file
	descriptors are scarce and dup fails with errno == EMFILE.  See
	<http://lists.gnu.org/r/bug-gnulib/2010-09/msg00208.html>.

2010-09-10  Paolo Bonzini  <bonzini@gnu.org>

	regex: Pass the system regex if its only problem is 32-bit regoff_t.
	* NEWS: Document change.
	* m4/regex.m4: Disable test for regoff_t size.

2010-09-13  Jim Meyering  <meyering@redhat.com>

	fts: don't operate on an invalid file descriptor after failed dup
	* lib/fts.c (fts_build): Don't call set_cloexec_flag on a
	negative file descriptor.

2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>

	savedir: add streamsavedir, deprecate fdsavedir
	* NEWS: Mention deprecation of fdsavedir.
	* lib/savedir.c (streamsavedir): New extern function, whose name
	ends in "savedir" to be consistent with the others.  This differs
	from savedirstream in that it doesn't close its argument.  The
	next version of GNU tar will use this instead of fdsavedir, to
	avoid some race conditions and conserve file descriptors.
	(savedirstream): Reimplement as a wrapper around streamsavedir.
	(fdsavedir): Add a comment deprecating this function.  As far as
	I know, only GNU tar used it, and GNU tar doesn't need it any more.
	* lib/savedir.h (streamsavedir): New decl.
	(fdsavedir): Add a comment deprecating this.

2010-09-10  Bruno Haible  <bruno@clisp.org>

	langinfo: Fix last commit.
	* m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
	HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2010-09-10  Bruno Haible  <bruno@clisp.org>

	relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
	* lib/progreloc.c (O_EXEC): Define fallback.

2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>

	fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
	* NEWS: Document recent changes to fcntl-h.
	* doc/posix-headers/fcntl.texi (fcntl.h): Document that
	O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
	Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
	Similarly for O_SEARCH; this last was already true, but not documented.
	* lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
	* lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
	* lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
	Likewise.
	* lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
	is zero, not whether it is defined.
	* tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
	* lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
	* lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.

2010-09-10  Bruno Haible  <bruno@clisp.org>

	langinfo, nl_langinfo: Fix for IRIX 5.3.
	* m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
	T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
	HAVE_LANGINFO_YESEXPR.
	* modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
	HAVE_LANGINFO_YESEXPR.
	* lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
	HAVE_LANGINFO_T_FMT_AMPM is 0.
	(YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
	HAVE_LANGINFO_YESEXPR is 0.
	* lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
	NOEXPR.
	* doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
	* doc/posix-functions/nl_langinfo.texi: Likewise.
	Reported by Eric Blake.

2010-09-10  Bruno Haible  <bruno@clisp.org>

	pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
	* doc/glibc-functions/login_tty.texi: Mention the include file problem
	on FreeBSD 8.0 and OpenBSD 4.6.
	* lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
	* m4/pty_h.m4 (gl_PTY_H): Likewise.
	* m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
	* m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
	Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
	ac_includes_default.
	Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.

2010-09-09  Eric Blake  <eblake@redhat.com>

	strsignal: work around NetBSD bug
	* m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
	* lib/string.in.h (includes): Likewise.
	* doc/posix-functions/strsignal.texi (strsignal): Document the
	bug.
	Reported by Nelson H. F. Beebe.

	gnulib-tool: work with NetBSD /bin/sh
	* gnulib-tool (func_cache_var, func_cache_lookup_module)
	(func_get_description, func_get_comment, func_get_status)
	(func_get_notice, func_get_applicability, func_get_filelist)
	(func_get_dependencies, func_get_autoconf_early_snippet)
	(func_get_autoconf_snippet, func_get_automake_snippet)
	(func_get_include_directive, func_get_link_directive)
	(func_get_license, func_get_maintainer, func_import): Avoid
	shell syntax errors from parsing syntax extensions.

2010-09-09  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
	* gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
	a reliable way to determine whether the 'alias' command works.

2010-09-08  Jim Meyering  <meyering@redhat.com>

	init.sh: penalize a set-x-impaired shell; don't disqualify it
	* tests/init.sh: Too many shells corrupt application stderr when
	you set -x, so we can't afford to disqualify them, since at least
	on Irix-6.5, that would disqualify all bourne shells.
	Instead, use a two-pass approach.
	On the first pass, try to find a shell that meets the stricter
	condition that set -x does not corrupt stderr.
	If no shell meets the stricter condition, retest each candidate
	shell, but without that extra condition.  Finally, when
	VERBOSE=yes is requested and set -x might cause trouble, simply
	issue a warning and refrain from enabling debug output.

2010-09-08  Eric Blake  <eblake@redhat.com>

	unsetenv: fix OpenBSD bug
	* m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
	* doc/posix-functions/unsetenv.texi (unsetenv): Update
	documentation.
	Reported by Jim Meyering.

	strtod: work around IRIX 6.5 bug
	* lib/strtod.c (strtod): Reparse number on shorter string if
	exponent parse was invalid.
	* tests/test-strtod.c (main): Add check for "0x1p 2".
	Reported by Tom G. Christensen.

	getopt: optimize previous patch
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
	empty variable.  Speed up awk script.
	Reported by Paolo Bonzini.

2010-09-08  Jim Meyering  <meyering@redhat.com>

	test.sh: disqualify shells for which set -x corrupts stderr
	* tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
	and OpenBSD 4.7.  They make it so with "set -x", environment settings
	appear in stderr output.  For example, this command:
	    /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
	prints "P=1" on those two systems:

2010-09-08  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
	* gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
	commands, because some shells ignore redirections when there is an
	error in the command lookup.
	Reported by Eric Blake.

2010-09-07  Reuben Thomas  <rrt@sc3d.org>

	* lib/regex.h: Fix a mention of `regex_compile' (should be
	`re_compile_pattern').
	Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
	(re_set_registers): Correct name of parameter in comment.

	* doc/regex.texi: Add documentation for missing syntax flags.
	Remove commented-out documentation of defunct syntax option
	RE_NO_EMPTY_ALTS.
	Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
	Add documentation of re_set_registers.
	Document trick to re-use a pattern buffer by setting fastmap manually.
	Update documentation of struct re_pattern_buffer per public members.
	Uncomment documentation of equivalence class operators and
	collating symbol operators, since they are now implemented,
	Explain leftmost-longest matching in relation to alternatives.
	Tidy documentation of substring matching.
	Remove POSIX documentation, which is done better in
	glibc, and refer the reader there. Keep BSD API documentation, as
	that is not readily available elsewhere.

2010-09-07  Eric Blake  <eblake@redhat.com>

	getopt: handle POSIXLY_CORRECT set but not exported
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
	export state of POSIXLY_CORRECT, due to bash set -o posix.
	Reported by Dustin J. Mitchell.

2010-09-05  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Highlight the changed options.
	* gnulib-tool (func_usage): Display the --import, --add-import,
	--remove-import explanations in bold font.

2010-09-06  Karl Berry  <karl@gnu.org>

	* doc/gnulib-tool.texi (Modified imports): doc tweaks.

2010-09-05  Bruno Haible  <bruno@clisp.org>

	uniwidth/width: Update comment.
	* lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
	Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.

2010-09-05  Bruno Haible  <bruno@clisp.org>

	isinf, isnan: Relax license.
	* modules/isinf (License): Change from GPL to LGPL, with consent from
	Ben Pfaff.
	* modules/isnan (License): Likewise.
	Requested by Ludovic Courtès.

2010-09-04  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Help migration from --import to --add-import or --update.
	* gnulib-tool: Emit a verbose error message when --import is used
	without any module name.

2010-09-04  Bruno Haible  <bruno@clisp.org>

	Update doc about gnulib-tool.
	* doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
	'gnulib-tool --update' in more detail.
	Reported by Eric Blake.

2010-09-04  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Change --import. New options --add/remove-import.
	* gnulib-tool: New options --add-import, --remove-import.
	(func_usage): Document them.
	(have_associative): Define always.
	(func_import): In import mode, don't merge the specified settings with
	the cached settings. Implement remove-import mode.
	* doc/gnulib-tool.texi (Modified imports): Mention the new options.
	Explain when to use them versus --import.
	(Simple update): Use --add-import instead of --import.
	* NEWS: Mention the change.

2010-09-04  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-tool.texi (Initial import): Update paragraph about
	separate gnulib.mk.

2010-09-04  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Don't talk about CVS any more.
	* gnulib-tool (func_usage, func_import): Write "version control"
	instead of CVS.

2010-09-04  Jim Meyering  <meyering@redhat.com>

	maint.mk: avoid obscure sc_copyright_check failure in coreutils
	* top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
	false positives (whose names may be ill-chosen) when searching
	non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
	would cause a false-positive.

	avoid coreutils "make distcheck" failure
	Coreutils tests with an absolute build directory name that contains
	a space.  Not quoting this directory name caused a failure.
	* tests/test-vc-list-files-git.sh: Quote PATH dir name.
	* tests/test-vc-list-files-cvs.sh: Likewise.

2010-09-04  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Avoid error when run in a package without Makefile.am.
	* gnulib-tool: When collecting the m4dirs in a package that does not
	have a Makefile.am, eliminate those directories that contain no
	gnulib-cache.m4. Fix expression that counts these directories.

2010-09-04  Bruno Haible  <bruno@clisp.org>

	update-copyright test: Improve output when perl is missing or too old.
	* tests/test-update-copyright.sh: Move test of Perl version down after
	the test whether Perl exists. Provide an explanation relating Perl's
	error message to Automake's SKIP: message.

2010-09-04  Bruno Haible  <bruno@clisp.org>

	Don't augment PATH in TESTS_ENVIRONMENT.
	* modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
	set abs_aux_dir instead of augmenting PATH.
	* modules/vc-list-files-tests (Makefile.am): Likewise.
	* tests/test-update-copyright.sh: Augment PATH here.
	* tests/test-vc-list-files-cvs.sh: Augment PATH here, through
	path_prepend_.
	* tests/test-vc-list-files-git.sh: Likewise.

2010-09-04  Jim Meyering  <meyering@redhat.com>

	tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
	* Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.

2010-09-04  Bruno Haible  <bruno@clisp.org>

	strdup: Fix compilation error in C++ mode.
	* lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
	the macro.

2010-09-04  Bruno Haible  <bruno@clisp.org>

	dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
	* lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
	macro into a function.
	Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.

2010-09-04  Bruno Haible  <bruno@clisp.org>

	Set PATH_SEPARATOR the same way autoconf does.
	* build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
	the value of PATH_SEPARATOR the same way autoconf-generated configure
	scripts do.
	* m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
	* m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.

2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)

	Set PATH_SEPARATOR the same way autoconf does.
	* gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
	the same way autoconf-generated configure scripts do.
	* posix-modules: Likewise.

2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>

	hash: fix safe_hasher const typo
	* lib/hash.c (safe_hasher): Result is pointer, not pointer to
	const; otherwise, there is a type error later.

2010-09-02  Jim Meyering  <meyering@redhat.com>

	test-update-copyright.sh: require perl 5.8.0
	* tests/test-update-copyright.sh: Require 5.8.0,
	which Tom G. Christensen has confirmed is adequate,
	while 5.6.1 is not.

2010-09-02  Eric Blake  <eblake@redhat.com>

	tests: init.sh improvements for re-exec'ing with zsh
	* tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
	-vx through shell re-exec.
	Reported by Tom G. Christensen.

	wctype: fix typo in previous commit
	* m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
	Reported by Ludovic Courtès.

2010-09-02  Jim Meyering  <meyering@redhat.com>

	test-update-copyright.sh: skip test if Perl is too old
	* tests/test-update-copyright.sh: Exit 77 if Perl is too old.
	Reported by Tom G. Christensen.

2010-09-02  Bruno Haible  <bruno@clisp.org>

	wctype: Avoid compilation error on IRIX 6.5.30.
	* lib/wctype.in.h (iswblank): Declare with a replacement if
	REPLACE_ISWBLANK is set.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
	declared. Set REPLACE_ISWBLANK.
	* modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
	* doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
	* doc/posix-headers/wctype.texi: Likewise.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2010-09-01  Bruno Haible  <bruno@clisp.org>

	New module 'socketlib'.
	* modules/socketlib: New file.
	* m4/socketlib.m4: New file, extracted from m4/sockets.m4.
	* m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
	* modules/sockets (Depends-on): Add socketlib.
	Suggested by Sam Steingold <sds@gnu.org>.

2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>

	fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable

	POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
	when one needs search access to a directory but not read access.
	On systems where it is available, it works in some cases where
	O_RDONLY does not, namely on directories that are searchable but
	not readable, and which need only to be searchable.  If O_SEARCH
	is not available, fall back to the traditional method of using
	O_RDONLY.

	* lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
	* lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
	when opening a directory that needs only to be searchable.
	* lib/chdir-safer.c (chdir_no_follow): Likewise.
	* lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
	* lib/openat-proc.c (openat_proc_name): Likewise.
	* lib/openat.c (openat_needs_fchdir): Likewise.
	* lib/save-cwd.c (save_cwd): Likewise.
	* lib/savewd.c (savewd_save, savewd_chdir): Likewise.

2010-08-28  Bruno Haible  <bruno@clisp.org>

	New module 'host-cpu-c-abi'.
	* modules/host-cpu-c-abi: New file.
	* m4/host-cpu-c-abi.m4: New file, based on part of
	clisp/src/m4/general.m4.
	Requested by Sam Steingold <sds@gnu.org>.

2010-08-31  Eric Blake  <eblake@redhat.com>
	and Jim Meyering  <meyering@redhat.com>

	hash: factor, and guard against misbehaving hasher function
	* lib/hash.c (safe_hasher): New function, to encapsulate the checking
	of table->hasher's return value.  Also protect against a hash value
	so large that adding it to table->bucket results in a NULL pointer.
	(hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
	Use it in place of open-coded check-and-abort.

2010-08-30  Bruno Haible  <bruno@clisp.org>

	hash: silence spurious clang warning
	* lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
	Reported by Eric Blake.

2010-08-30  Eric Blake  <eblake@redhat.com>

	strstr, memmem, strcasestr: avoid leaked shell message
	* m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
	FreeBSD.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
	* m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.

	tests: silence clang warning
	* tests/test-malloca.c (do_allocation): Avoid dead store.

2010-08-29  Bruno Haible  <bruno@clisp.org>

	gettext: Fix recent mistake.
	* m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.

2010-08-29  Bruno Haible  <bruno@clisp.org>

	selinux-h: Offer a --without-selinux option.
	* m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
	--without-selinux was specified, skip all tests and define
	HAVE_SELINUX_SELINUX_H to 0.
	(gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
	set LIB_SELINUX to empty.
	* m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
	gl_LIBSELINUX. If --without-selinux was specified, replace
	selinux/context.h.
	Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.

2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	    Bruno Haible  <bruno@clisp.org>

	Make the module 'realloc-gnu' work again on AIX and OSF/1.
	* m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
	of HAVE_REALLOC.
	* lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
	GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
	(SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
	* modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.

2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	    Bruno Haible  <bruno@clisp.org>

	Make the module 'calloc-gnu' work again on AIX and OSF/1.
	* m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
	HAVE_CALLOC.
	* lib/xmalloc.c: Update accordingly.
	* lib/calloc.c (NEED_CALLOC_GNU): Enable also when
	GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
	* modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.

2010-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	    Bruno Haible  <bruno@clisp.org>

	Make the module 'malloc-gnu' work again on AIX and OSF/1.
	* m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
	HAVE_MALLOC.
	* lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
	GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
	* modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.

2010-08-29  Bruno Haible  <bruno@clisp.org>

	Update modules list.
	* MODULES.html.sh (Memory management functions <stdlib.h>): Add
	malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
	(String handling <string.h>): Add astrxfrm.
	(File system functions): Add readlinkat.

2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Tests for module 'realloc-gnu'.
	* modules/realloc-gnu-tests: New file.
	* tests/test-realloc-gnu.c: New file.

	Tests for module 'calloc-gnu'.
	* modules/calloc-gnu-tests: New file.
	* tests/test-calloc-gnu.c: New file.

	Tests for module 'malloc-gnu'.
	* modules/malloc-gnu-tests: New file.
	* tests/test-malloc-gnu.c: New file.

2010-08-28  Bruno Haible  <bruno@clisp.org>

	Rename module 'realloc' -> 'realloc-gnu'.
	* modules/realloc-gnu: New file, copied from modules/realloc.
	* modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
	obsolete.
	* modules/mgetgroups (Depends-on): Update.
	* doc/posix-functions/realloc.texi: Update.
	* NEWS: Mention the change.

	Rename module 'calloc' -> 'calloc-gnu'.
	* modules/calloc-gnu: New file, copied from modules/calloc.
	* modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
	obsolete.
	* doc/posix-functions/calloc.texi: Update.
	* NEWS: Mention the change.

	Rename module 'malloc' -> 'malloc-gnu'.
	* modules/malloc-gnu: New file, copied from modules/malloc.
	* modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
	obsolete.
	* modules/argp (Depends-on): Update.
	* modules/regex (Depends-on): Update.
	* doc/posix-functions/malloc.texi: Update.
	* NEWS: Mention the change.

2010-08-28  Eric Blake  <eblake@redhat.com>

	pread, pwrite: add missing dependency
	* modules/pread (Depends-on): Add extensions.
	* modules/pwrite (Depends-on): Likewise.

2010-08-28  Bruno Haible  <bruno@clisp.org>

	unistr/u*-strchr: Fix tests dependencies.
	* modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
	* modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
	Reported by Ian Beckwith <ianb@erislabs.net>.

2010-08-28  Bruno Haible  <bruno@clisp.org>

	read-file: Don't occupy too much unused memory.
	* lib/read-file.c (fread_file): Shrink the buffer at the end.

2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
	    Eric Blake  <eblake@redhat.com>
	    Bruno Haible  <bruno@clisp.org>

	read-file: Avoid memory reallocations with regular files.
	* lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
	(fread_file): With regular files, use the remaining length as the
	initial buffer size.  Check against overflow.
	* modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
	sys_stat.

2010-08-28  Bruno Haible  <bruno@clisp.org>

	ftello: Relax license.
	* modules/ftello (License): Relax to LGPLv2+.
	Reported by Eric Blake.

2010-08-28  Bruno Haible  <bruno@clisp.org>

	Avoid relocwrapper link errors due to gnulib replacement functions.
	* lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
	function.
	Reported by Ben Pfaff <blp@cs.stanford.edu>.

2010-08-28  Bruno Haible  <bruno@clisp.org>

	Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
	* m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
	defined.
	* m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
	Suggested by Eric Blake.

2010-08-28  Bruno Haible  <bruno@clisp.org>

	sys_socket, netdb: Ensure socklen_t gets defined.
	* modules/sys_socket (Depends-on): Add socklen.
	* modules/netdb (Depends-on): Likewise.
	* modules/getaddrinfo (Depends-on): Remove socklen.
	* modules/getsockopt (Depends-on): Likewise.
	* modules/setsockopt (Depends-on): Likewise.
	* tests/test-sys_socket.c: Check that socklen_t is defined.
	* tests/test-netdb.c: Likewise.
	* m4/socklen.m4: Update comments.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2010-08-27  Eric Blake  <eblake@redhat.com>

	login_tty: add missing dependency
	* modules/login_tty (Depends-on): Add pty.

2010-08-26  Eric Blake  <eblake@redhat.com>

	lib-symbol-versions: fix m4 quoting
	* m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
	format for AC_LINK_IFELSE.

	glob: fix compile test
	* m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.

	btowc: fix missing file
	* modules/btowc (Files): Also ship locale-fr.m4.

	lseek: fix link test
	* m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
	AC_LINK_IFELSE.

	include_next: silence autoconf 2.68 warning
	* m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
	AC_COMPILE_IFELSE as special.
	(AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
	autoconf < 2.68.

	acl: fix compilation test
	* m4/acl.m4 (gl_FUNC_ALL): Use correct format for
	AC_COMPILE_IFELSE.

2010-08-26  Bruno Haible  <bruno@clisp.org>

	Modernize AC_TRY_RUN invocations.
	* m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
	* m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
	* m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
	* m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
	* m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
	* m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
	* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
	* m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
	* m4/iconv.m4 (AM_ICONV_LINK): Likewise.
	* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
	* m4/intdiv0.m4 (gt_INTDIV0): Likewise.
	* m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
	* m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
	* m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
	* m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
	gl_MBRLEN_NUL_RETVAL): Likewise.
	* m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
	gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
	Likewise.
	* m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
	* m4/open.m4 (gl_FUNC_OPEN): Likewise.
	* m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
	gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
	gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
	gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
	gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
	gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
	gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
	Likewise.
	* m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
	* m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
	* m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
	* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
	* m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
	* m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.

2010-08-26  Bruno Haible  <bruno@clisp.org>

	Modernize AC_TRY_LINK invocations.
	* m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
	AC_TRY_LINK.
	* m4/argp.m4 (gl_ARGP): Likewise.
	* m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
	* m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
	* m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
	* m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
	* m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
	* m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
	* m4/cosl.m4 (gl_FUNC_COSL): Likewise.
	* m4/expl.m4 (gl_FUNC_EXPL): Likewise.
	* m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
	* m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
	* m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
	* m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
	* m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
	* m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
	* m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
	* m4/hostent.m4 (gl_HOSTENT): Likewise.
	* m4/iconv.m4 (AM_ICONV_LINK): Likewise.
	* m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
	* m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
	* m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
	Likewise.
	* m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
	Likewise.
	* m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
	Likewise.
	* m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
	* m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
	* m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
	* m4/logb.m4 (gl_FUNC_LOGB): Likewise.
	* m4/logl.m4 (gl_FUNC_LOGL): Likewise.
	* m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
	* m4/servent.m4 (gl_SERVENT): Likewise.
	* m4/signbit.m4 (gl_SIGNBIT): Likewise.
	* m4/sinl.m4 (gl_FUNC_SINL): Likewise.
	* m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
	* m4/tanl.m4 (gl_FUNC_TANL): Likewise.
	* m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
	* m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
	* m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
	* modules/tsearch-tests (configure.ac): Likewise.

2010-08-26  Bruno Haible  <bruno@clisp.org>

	Modernize AC_TRY_COMPILE invocations.
	* m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
	AC_TRY_COMPILE.
	* m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
	* m4/intl.m4 (gt_CHECK_DECL): Likewise.
	* m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
	* m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
	* m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
	* m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
	* m4/locale_h.m4 (gl_LOCALE_H): Likewise.
	* m4/lock.m4 (gl_LOCK): Likewise.
	* m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
	* m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
	* m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
	* m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
	* m4/size_max.m4 (gl_SIZE_MAX): Likewise.
	* m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
	* m4/stdarg.m4 (gl_STDARG_H): Likewise.
	* m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
	* m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
	* m4/visibility.m4 (gl_VISIBILITY): Likewise.
	* m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
	* m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
	* m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
	extraneous semicolon.

2010-08-26  Jim Meyering  <meyering@redhat.com>

	stat-time: relax license LGPL
	* modules/stat-time (License): Change from GPL to LGPL,
	with consent from all contributors, for use in libguile.
	Requested by Ludovic Courtès.

2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>

	poll: return immediately on POLLHUP.
	* lib/poll.c (poll): Always set timeout before wait_timeout is
	computed.

2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Fix test-unlinkat, test-rmdir failure on AIX 5.3.
	* tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
	rmdir ("dir/.//"), unlinkat.

2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	stdbool: avoid spurious failure with modern xlc
	* m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.

2010-08-24  Bruno Haible  <bruno@clisp.org>

	getloadavg: simplify code
	* m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
	gl_have_func. Update comments.

2010-08-24  Eric Blake  <eblake@redhat.com>

	getloadavg: don't define SVR4 on cygwin
	* m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
	only define SVR4 when -lkvm is required.
	Reported by Yaakov Selkowitz.

2010-08-24  Bruno Haible  <bruno@clisp.org>

	priv-set: fix comment
	* lib/priv-set.c (priv_set_restore): Fix typo in comment.

2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	priv-set: fix comments
	* lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
	to match code, as suggested by David Bartley in:
	http://lists.gnu.org/r/bug-tar/2010-08/msg00018.html

2010-08-23  Eric Blake  <eblake@redhat.com>

	stdbool: avoid rejecting clang
	* m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
	* tests/test-stdbool.c: Enable more tests if using the system
	<stdbool.h> instead of the gnulib replacement.
	(main): Move xlc bug test to a runtime test for all compilers.
	Reported by Anders Kaseorg.

	argz: fix shell quoting issue
	* m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
	Reported by Charles Wilson.

2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
	    Erik Faye-Lund <kusmabite@gmail.com>

	poll, select: handle ERROR_BROKEN_PIPE.
	* lib/poll.c (win32_compute_revents): Return POLLHUP when
	PeekNamedPipe fails with ERROR_BROKEN_PIPE.
	* lib/select.c (win32_compute_revents): Do not mark a pipe
	as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.

2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>

	fts: allow compilation with C++
	* lib/fts_.h: Specify extern "C" linkage with C++.

2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Fix gnulib-tool sed script de-commentation for AIX sed.
	* gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
	sed.

2010-08-17  Eric Blake  <eblake@redhat.com>

	test-stddef: test for (some) offsetof bugs
	* tests/test-stddef.c: Enhance test to ensure correct type of
	offsetof.
	* doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
	that we are not fixing at this time.

2010-08-15  Bruno Haible  <bruno@clisp.org>

	stpncpy: Allow stpncpy to be defined as a macro.
	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
	if it's already correctly declared.
	* lib/string.in.h (stpncpy): Undefine before redefining.
	Reported by Jeremy Huddleston <jeremyhu@macports.org>.

2010-08-14  Bruno Haible  <bruno@clisp.org>

	Rename module 'memxfrm' to 'amemxfrm'.
	* lib/amemxfrm.h: Renamed from lib/memxfrm.h.
	(amemxfrm): Renamed from memxfrm.
	* lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
	(amemxfrm): Renamed from memxfrm.
	* modules/amemxfrm: Renamed from modules/memxfrm. Update.
	* NEWS: Mention the change.
	* MODULES.html.sh (String handling <string.h>): Update.
	* lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
	* lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
	* lib/unicase/u16-casexfrm.c: Likewise.
	* lib/unicase/u32-casexfrm.c: Likewise.
	* lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
	* lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
	* lib/uninorm/u16-normxfrm.c: Likewise.
	* lib/uninorm/u32-normxfrm.c: Likewise.
	* modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
	memxfrm.
	* modules/unicase/u16-casexfrm (Depends-on): Likewise.
	* modules/unicase/u32-casexfrm (Depends-on): Likewise.
	* modules/uninorm/u8-normxfrm (Depends-on): Likewise.
	* modules/uninorm/u16-normxfrm (Depends-on): Likewise.
	* modules/uninorm/u32-normxfrm (Depends-on): Likewise.
	Suggested by Paul Eggert.

2010-08-14  Bruno Haible  <bruno@clisp.org>

	Tests for module 'astrxfrm'.
	* modules/astrxfrm-tests: New file.
	* tests/test-astrxfrm.c: New file.

	New module 'astrxfrm'.
	* lib/astrxfrm.h: New file.
	* lib/astrxfrm.c: New file, based on lib/memxfrm.c.
	* modules/astrxfrm: New file.

2010-08-14  Reuben Thomas  <rrt@sc3d.org>

	regex: Tweak doc.
	* doc/regex.texi (Overview): Don't mention regex.c.
	(GNU Regular Expression Compiling): Likewise.
	(Match-end-of-line Operator): Mention 'not_eol'.

2010-08-14  Brian Gough  <bjg@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	git-merge-changelog: add doc relating to use with bzr and hg.
	* lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.

2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>

	pthread: fix pthread.h creation for srcdir != builddir
	* modules/pthread (Makefile.am): Fix the rule to work also in a
	non-srcdir build.

2010-08-13  Karl Berry  <karl@gnu.org>

	* doc/regex.texi (Predefined Syntaxes): @smallexample.
	* doc/posix-*/*: force line break before @url of POSIX
	specifications.
	Suggested by Werner Lemberg.

2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>

	strtod: fix const diagnostic
	* lib/strtod.c (strtod): Don't assign const char * to char *,
	as this elicits a warning from GCC when warnings are enabled.

2010-08-10  Pádraig Brady  <P@draigbrady.com>
	and Eric Blake  <eblake@redhat.com>

	copy-acl: ignore ENOTSUP on HP-UX
	* lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
	so that it is available for HP-UX.
	* lib/copy-acl.c (qcopy_acl): Use it.
	Reported by Patrick M. Callahan.

2010-08-10  Eric Blake  <eblake@redhat.com>

	open, chown: relax license
	* modules/open (License): Change to LGPLv2+, with consent by all
	authors, for use in augeas.
	* modules/chown (License): Likewise.
	* modules/lchown (Likewise): Likewise.
	Requested by Adam Stokes.

2010-08-09  Karl Berry  <karl@gnu.org>

	* build-aux/ar-lib: new file, import from Automake.
	* config/srclist.txt: autocheck for updates.

2010-08-09  Eric Blake  <eblake@redhat.com>

	readlinkat: adjust client modules
	* modules/areadlinkat (Depends-on): Use readlinkat, not
	symlinkat.
	* modules/areadlinkat-with-size (Depends-on): Likewise.

	mknod: be more vocal about danger of running tests as root
	* m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
	root, since that is just asking for problems.
	Suggested by Bruno Haible, based on a report by Rainer Tammer.

	readlinkat: split into its own module
	* modules/symlinkat: Split readlinkat...
	* modules/readlinkat: ...into separate module.
	* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
	* m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
	* lib/symlinkat.c (readlinkat): Move...
	* lib/readlinkat.c: ...into new file.
	* modules/symlinkat-tests: Split readlinkat test...
	* modules/readlinkat-tests: ...into separate module.
	* tests/test-symlinkat.c: Split...
	* tests/test-readlinkat.c: ...into new file.
	* NEWS: Document the split.
	* doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
	* lib/unistd.in.h (readlinkat): Likewise.
	Suggested by Bruno Haible.

2010-08-08  Bruno Haible  <bruno@clisp.org>

	memxfrm: Speed up.
	* lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
	that usually only one call to strxfrm is necessary for each string
	part.
	Reported by Paul Eggert <eggert@cs.ucla.edu>.

2010-08-07  Karl Berry  <karl@gnu.org>

	* doc/posix-headers/limits.texi,
	* doc/posix-functions/malloc.texi,
	* doc/posix-functions/strsignal.texi: missing @item.
	* doc/ld-version-script.texi: spurious leading i.
	* doc/regex.texi (Interval Operators): no commas inside @var.

2010-08-01  Bruno Haible  <bruno@clisp.org>

	Integrate the regex documentation.
	* doc/gnulib.texi: Define 'cn' index.
	(Regular expressions): New a chapter that includes regex.texi and
	regexprops-generic.texi.
	* doc/regex.texi: Remove boilerplate stuff. Use simplified @node
	syntax.

	Whitespace cleanup.
	* doc/regex.texi: Remove trailing spaces.

	Add regex documentation.
	* doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
	http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
	Written by Kathy A. Hargreaves and Karl Berry.

2010-08-01  Bruno Haible  <bruno@clisp.org>

	link: Update documentation.
	* doc/posix-functions/link.texi: Update regarding Solaris.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	Update modules list.
	* MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
	(String handling <string.h>): Add memcmp2, memxfrm.
	(Container data structures): Add xlist, xsublist, xoset.
	(Core language properties): Add alignof, unused-parameter.
	(Process control, Numeric conversion functions <stdlib.h>): Renamed
	from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
	(Unibyte characters <ctype.h>): New section.
	(String handling <string.h>): New section.
	(Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
	atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
	fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
	modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
	tan, tanh, tanl, y0, y1, yn.
	(Support for systems lacking POSIX:2008): Add alphasort, dirent,
	dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
	grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
	ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
	unlockpt, vdprintf, vdprintf-posix.
	(Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
	(File system functions): Add concat-filename, sys_file, sys_ioctl,
	xconcat-filename.
	(File descriptor based Input/Output): Add dup3, fd-safer-flag,
	getdtablesize, pipe2, pipe2-safer.
	(Security): New section.
	(Networking functions): Add accept4.
	(Signal handling): Add sigpipe.
	(Internationalization functions): Add xstriconveh, mbmemcasecmp,
	mbmemcasecoll.
	(Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
	unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
	(Executing programs): Add findprog-lgpl, pipe-filter-gi,
	pipe-filter-ii.
	(Misc): Add argp-version-etc, login_tty, parse-duration.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	Improve doc in MODULES.html.
	* modules/linkat (Description): Add the word "function".
	* modules/mkfifo (Description): Likewise.
	* modules/mknod (Description): Likewise.
	* modules/remove (Description): Likewise.
	* modules/renameat (Description): Likewise.
	* modules/stat (Description): Likewise.
	* modules/symlink (Description): Likewise.
	* modules/unlink (Description): Likewise.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
	* m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
	option --enable/disable-c++ instead of --enable/disable-cxx.
	* NEWS: Mention the change.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	readlink, areadlink: Relax test a bit.
	* tests/test-readlink.h (test_readlink): Accept EINVAL as an
	alternative to ENOTDIR.
	* tests/test-areadlink.h (test_areadlink): Likewise.
	Reported by Rainer Tammer.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
	* lib/unistr/u-strstr.h (FUNC): When the needle contains only one
	character, perform the search using U_STRCHR.
	* lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
	* lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
	* modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
	* modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
	Suggested by Paolo Bonzini.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	unistr/u*-strstr: Fix dependencies.
	* modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
	* modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
	* modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
	* lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
	the beginning of the loop.
	* lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
	cases in 'switch' statement.

	unistr/u8-strchr: Fix several bugs.
	* lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
	the string. When not found, return NULL, not a pointer near the end.

	More tests for unistr/u8-strchr.
	* tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
	that the function does not read past the first occurrence of the byte
	being searched.
	* tests/unistr/test-u8-strchr.c (main): New function, with more tests.
	* tests/unistr/test-u16-strchr.c (main): New function.
	* tests/unistr/test-u32-strchr.c (main): New function.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	posix-modules: Ignore backup files of documentation files.
	* posix-modules: grep only through files named *.texi.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	symlinkat: Fix documentation.
	* doc/posix-functions/readlinkat.texi: Fix module name.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	fchownat: Replace also when chown has the trailing slash bug.
	* m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
	outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
	introduced on 2010-04-10.
	Reported by Rainer Tammer.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	linkat: Work around AIX 7.1 bug.
	* m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
	whether linkat handles trailing slash correctly. If not, replace linkat
	and define LINKAT_TRAILING_SLASH_BUG.
	* lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
	check whether (fd1,file1) points to a directory if file1 or file2 ends
	in a slash. Code taken from lib/link.c.
	* doc/posix-functions/linkat.texi: Mention trailing slash bug.
	Reported by Rainer Tammer.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	Correctly determine whether pow is available in libc on AIX 7 with xlc.
	* m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
	This disables an xlc optimization that was causing wrong test results.
	Reported by Rainer Tammer.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	iconv: Work around AIX 6.1..7.1 bug.
	* doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
	* m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
	cross-compiling, guess no on all versions of AIX.
	Reported by Rainer Tammer.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	readlink: Relax test a bit.
	* tests/test-readlink.h (test_readlink): Allow different errno value
	when readlink is called with a file name that ends in / and refers to
	a file.
	Suggested by Eric Blake.
	Reported by Rainer Tammer.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	copysign: Does not require -lm on glibc systems.
	* modules/copysign (configure.ac): Use gl_MATHFUNC, not
	gl_COMMON_DOUBLE_MATHFUNC.
	* m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.

2010-07-31  Bruno Haible  <bruno@clisp.org>

	duplocale: Work around AIX 7.1 bug.
	* m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
	duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
	* lib/duplocale.c (rpl_duplocale): Update comment.
	* doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	dirfd: Avoid link error on AIX 7.1.
	* lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
	* m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
	exist, set REPLACE_DIRFD.
	* m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
	* modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
	* doc/posix-functions/dirfd.texi: Update.
	Reported by Rainer Tammer.

2010-07-30  Eric Blake  <eblake@redhat.com>

	strtod: next round of AIX fixes
	* lib/strtod.c (strtod): Work around AIX bug of parsing p with no
	exponent.
	* tests/test-strtod.c (main): Enhance tests.
	* doc/posix-functions/strtod.texi (strtod): Document next bug.
	Reported by Rainer Tammer.

	futimens: fix configure check
	* m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
	Reported by Bruno Haible.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	getline: Update regarding AIX.
	* doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	wcwidth: Drop replacement on AIX 7.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
	AIX 7.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
	* m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
	a 'char *'.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	unlink: Update regarding AIX.
	* doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
	* m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	symlink: Update regarding AIX.
	* doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
	* m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	strndup: Update regarding AIX.
	* m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
	AIX 7.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	stat: Update regarding AIX.
	* doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
	* m4/stat.m4 (gl_FUNC_STAT): Update comment.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	truncl: Fix autoconf test.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
	whether truncl works.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	round: Update regarding AIX.
	* m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
	* doc/posix-functions/round.texi: Mention bug on AIX 7.1.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	rename: Update regarding AIX.
	* doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
	* m4/rename.m4 (gl_FUNC_RENAME): Update comment.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	printf.m4: Update regarding AIX.
	* m4/printf.m4: Update comments regarding AIX.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	iconv: Update regarding AIX.
	* m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
	AIX 7.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	getopt: Update regarding AIX.
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
	no on AIX.
	* doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	ldexpl; Update regarding AIX.
	* m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
	on AIX 7.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	frexpl: Update regarding AIX.
	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
	on AIX 7.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	open, fopen: Update regarding AIX.
	* m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
	* m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
	* doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
	* doc/posix-functions/fopen.texi: Likewise.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	chown: Update doc regarding AIX.
	* doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
	* m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
	Reported by Rainer Tammer.

2010-07-30  Eric Blake  <eblake@redhat.com>

	strtod: fix bug in replacement function on AIX
	* lib/strtod.c (strtod): Special case broken "0x" parse in
	underlying strtod.
	* tests/test-strtod.c (main): Document AIX 7.1 bugs.
	* doc/posix-functions/strtod.texi (strtod): Likewise.
	Reported by Rainer Tammer.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	mbrlen: Fix cross-compilation guess for AIX.
	* m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
	guess. Leftover from 2008-12-22.

2010-07-30  Bruno Haible  <bruno@clisp.org>

	mbrtowc: Fix cross-compilation guess for AIX.
	* m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
	guess. Leftover from 2008-12-21.

2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)

	init.sh: work around trap limitation of some shells
	* tests/init.sh (setup_): Move exit trap outside of shell function.

2010-07-29  Eric Blake  <eblake@redhat.com>

	strtod: aid debugging
	* m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
	understanding why strtod is rejected.

2010-07-28  Bruno Haible  <bruno@clisp.org>

	unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
	* lib/unistr/u8-chr.c: Include <string.h>.
	* tests/unistr/test-u8-chr.c: Likewise.
	* tests/unistr/test-u16-chr.c: Likewise.
	* tests/unistr/test-u32-chr.c: Likewise.
	* tests/unistr/test-u8-strchr.c: Likewise.
	* tests/unistr/test-u16-strchr.c: Likewise.
	* tests/unistr/test-u32-strchr.c: Likewise.
	* modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
	* modules/unistr/u16-chr-tests (Depends-on): Likewise.
	* modules/unistr/u8-strchr-tests (Depends-on): Likewise.
	* modules/unistr/u16-strchr-tests (Depends-on): Likewise.

2010-07-28  Bruno Haible  <bruno@clisp.org>

	Use spaces for indentation, not tabs.
	* lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.

2010-07-27  Bruno Haible  <bruno@clisp.org>

	mbspcasecmp: Fix function specification.
	* lib/string.in.h (mbspcasecmp): Fix specification comment.
	* lib/mbspcasecmp.c (mbspcasecmp): Likewise.
	Reported by Eric Blake <eblake@redhat.com>.

2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>

	timespec: use cast and not conditional, as truncation isn't possible
	* lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
	instead of a conditional.  Comment about the situation in more detail.
	This undoes most of the 2009-10-29 patch.

2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>

	unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
	* lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
	* lib/unistr/u8-strchr.c: Likewise.
	* modules/unistr/u8-chr: Depend on memchr.

	unistr/u*-strchr: add tests
	* modules/unistr/u8-strchr-tests: New file.
	* modules/unistr/u16-strchr-tests: New file.
	* modules/unistr/u32-strchr-tests: New file.
	* tests/unistr/test-strchr.h: New file.
	* tests/unistr/test-u8-strchr.c: New file.
	* tests/unistr/test-u16-strchr.c: New file.
	* tests/unistr/test-u32-strchr.c: New file.

	unistr/u*-chr: test multibyte sequences more
	* tests/unistr/test-chr.h: Do complete testing of the characters in the
	test vector.
	* tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
	* tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
	* tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.

	unistr/u*-chr: test multibyte sequences
	* tests/unistr/test-chr.h: Put characters above 0-127 in the test input.

	unistr/u*-chr: prepare for multibyte tests
	* modules/unistr/u8-chr-tests: Depend on u32-to-u8.
	* modules/unistr/u16-chr-tests: Depend on u32-to-u16.
	* tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
	* tests/unistr/test-u8-chr.c (U32_TO_U): Define.
	* tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
	* tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.

2010-07-18  Bruno Haible  <bruno@clisp.org>

	unistr/u8-strchr: Optimize non-ASCII argument case.
	* lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
	because the first byte often matches anyway.
	Reported by Pádraig Brady <P@draigbrady.com>.

2010-07-15  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (fdl.texi): only one copy, from gnustandards.

2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>

	getcwd: on Solaris, work better if ancestors are inaccessible
	* lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
	buffer and size, try again with a large buffer.  This works better
	on Solaris, since its getcwd succeeds even if the path to the root
	is inaccessible, and this is helpful in common cases such as .zfs
	hidden directories.  Problem reported by J Chapman Flack in
	http://lists.gnu.org/r/bug-tar/2010-06/msg00000.html
	Use system getcwd if it's declared, not merely if it's partly
	working; use the partly-working test only to avoid needless effort
	if the system getcwd fails.
	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
	comment that was already obsolete and is now even more obsolete.
	* modules/getcwd (Depends-on): Depend on strdup, since __getcwd
	now might call strdup.

2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>

	pthread: Add enough so that coreutils/src/sort.c compiles.
	* lib/pthread.in.h: Add self to author comment.  Conditionalize on
	_GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
	gnulib. Include <sched.h> and <time.h>, as per POSIX.
	Include <sys/types.h>, in case it defines pthread_t.
	(pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
	(pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
	(pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
	(pthread_rwlockattr_t, pthread_spinlock_t):
	New typedefs, if HAVE_PTHREAD_T is not defined.
	(PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
	(PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
	(PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
	(PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
	(PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
	(PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
	(PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
	(PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
	(PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
	(PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
	(PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
	New macros.
	(pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
	(pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
	(pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
	(pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
	(pthread_spin_unlock): New dummy functions.
	(pthread_create): Return EAGAIN; don't set errno.
	* m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
	require AC_C_INLINE.
	* modules/pthread (Depends-on): Add sched, time.
	(pthread.h): Use AM_V_GEN.

2010-07-13  Bruno Haible  <bruno@clisp.org>

	striconveh: Don't malloc memory if the result buffer is sufficient.
	* lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
	buffer if its size is sufficient.
	Reported by Ludovic Courtès <ludo@gnu.org>.

2010-07-13  Bruno Haible  <bruno@clisp.org>

	strtod: Add safety check.
	* lib/strtod.c (ldexp): Abort if this dummy replacement gets called.

2010-07-12  Bruno Haible  <bruno@clisp.org>

	Unify tests that set gl_cv_func_ldexpl_no_libm.
	* m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
	gl_FUNC_LDEXPL.
	(gl_FUNC_LDEXPL): Invoke it.
	* m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.

2010-07-12  Bruno Haible  <bruno@clisp.org>

	Unify tests that set gl_cv_func_ldexp_no_libm.
	* m4/ldexp.m4: New file, based on m4/mathfunc.m4.
	* m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
	* modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
	(configure.ac): Simply invoke gl_FUNC_LDEXP.
	* modules/strtod (Files): Add m4/ldexp.m4.

2010-07-12  Bruno Haible  <bruno@clisp.org>

	Unify tests that set gl_cv_func_frexpl_no_libm.
	* m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
	gl_FUNC_FREXPL_NO_LIBM.
	(gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
	* m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.

2010-07-12  Bruno Haible  <bruno@clisp.org>

	Unify tests that set gl_cv_func_frexp_no_libm.
	* m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
	gl_FUNC_FREXP_NO_LIBM.
	(gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
	* m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.

2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>

	memcoll: clarify sizes versus lengths, document better, and tweak perf
	* lib/memcoll.c (strcoll_loop, memcoll0):
	Improve quality of descriptive comments.  Name variables
	consistently as to whether they are lengths (which do not include
	terminating null) versus sizes (which do).
	* lib/xmemcoll.c (xmemcoll0): Likewise.
	* lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
	returned when s1size == 0; this is easier to compile and saves
	about 17% of memcoll's code space on x86-64 with GCC 4.1.2.

2010-07-12  Bruno Haible  <bruno@clisp.org>

	Tests for module '_Exit'.
	* modules/_Exit-tests: New file.
	* tests/test-_Exit.sh: New file.
	* tests/test-_Exit.c: New file.

	New module '_Exit'.
	* lib/stdlib.in.h (__attribute__): New macro.
	(_Exit): New declaration.
	* lib/_Exit.c: New file.
	* m4/_Exit.m4: New file.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
	(gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
	* modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
	* modules/_Exit: New file.
	* tests/test-stdlib-c++.cc (_Exit): Check signature.
	* doc/posix-functions/_Exit_C99.texi: Mention the new module.

2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>

	strtod: make it more-accurate typically, and don't require libm
	* lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
	Include limits.h.  Don't include string.h.
	(HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
	(locale_isspace): New function, so that no casts are needed to
	check whether *s is a space.
	(ldexp): Provide an unused dummy if not available.
	(scale_radix_exp, parse_number, underlying_strtod): New functions.
	(strtod): Use them.  This implementation prefers to use the
	underlying strtod if available, falling back on our own code
	only to fix known bugs.  This is more likely to produce an
	accurate result.  Also, it avoids the use of libm functions.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
	no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
	was absent, but it caused a test failure with coreutils.
	(gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
	with libm.
	* modules/strtod (Makefile.am, Link): libm is no longer needed.
	* modules/strtod-tests (Makefile.am): Likewise.

2010-07-11  Pádraig Brady  <P@draigBrady.com>
	    Bruno Haible  <bruno@clisp.org>

	unistr/u8-strchr: Optimize ASCII argument case.
	* lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.

2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>

	(x)memcoll: minor tweaks
	* lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
	is after the type that it qualifies.
	(memcoll0): Likewise.
	* lib/memcoll.h (memcoll0): Likewise.
	* lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
	* lib/xmemcoll.h (xmemcoll0): Likewise.
	* lib/memcoll.c (memcoll0): Correct the comment.  This function
	differs from memcoll in that the NUL byte is part of the argument.
	Omit the abort-checks, as performance is a real issue here.  Plus,
	the checks were wrong anyway (an off-by-one error).  Omit local
	variable 'diff', as it's a bit clearer that way.
	* m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
	no longer needed.

2010-07-08  Chen Guo  <chenguo4@yahoo.com>

	(x)memcoll: speedup when input is known to be NUL delimited
	* lib/memcoll.c: Include stdlib.
	(memcoll0): New function.
	(strcoll_loop): New function, refactored for use in both memcoll
	and memcoll0.
	* lib/memcoll.h (memcoll0): Add prototype.
	* lib/xmemcoll.c (xmemcoll0): New function.
	(collate_error): New function, refactored for use in both xmemcoll
	and xmemcoll0.
	* lib/xmemcoll.h (xmemcoll0): Add prototype.
	* m4/memcoll.m4: add inline invocation.

2010-07-06  Pádraig Brady  <P@draigBrady.com>

	* build-aux/bootstrap: Remove any local translations
	from the translation project synchronization directory,
	so that local only translations are not distributed.

2010-07-04  Bruno Haible  <bruno@clisp.org>

	fsusage: Clarify which code applies to which platforms.
	* m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
	platform.
	* lib/fsusage.c (get_fs_usage): Likewise.

2010-07-04  Bruno Haible  <bruno@clisp.org>

	havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
	* m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
	Reported by Martin Lambers <marlam@marlam.de>.

2010-07-04  Jim Meyering  <meyering@redhat.com>

	hash: once again explicitly disallow insertion of NULL
	* lib/hash.c (hash_insert0): Reinstate just-removed test:
	inserting a NULL pointer cannot work with these functions.
	Add a comment with details.
	This reverts part of the 2010-07-01 commit, 5bef1a35
	"hash: extend module to deal with non-pointer keys".

2010-07-01  Bruno Haible  <bruno@clisp.org>

	stdbool: Update doc.
	* doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
	Info from Christian Weisgerber <naddy@mips.inka.de>.

2010-07-01  Jim Meyering  <meyering@redhat.com>

	hash: extend module to deal with non-pointer keys
	* lib/hash.c (hash_insert0): New interface, much like hash_insert
	but that allows insertion of non-pointer entries.
	Do not disallow an ENTRY value of NULL.
	(hash_insert): This is now just a thin wrapper.  Call hash_insert0.
	* lib/hash.h (hash_insert0): Declare.

2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)

	gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
	* m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
	not present (i.e. with autoconf 2.59 and when using gettextize, not
	gnulib), require AC_GNU_SOURCE instead.

2010-07-01  Ian Beckwith  <ianb@erislabs.net>

	idpriv-drop: Fix tests.
	* tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
	not to the test-idpriv-droptemp program.

2010-06-29  Bruno Haible  <bruno@clisp.org>

	string: Fix syntax error with g++ 2.96.
	* lib/string.in.h (__pure__): Remove definition.
	(_GL_ATTRIBUTE_PURE): New macro.
	(memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
	strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
	Reported by Christian Weisgerber <naddy@mips.inka.de>.

2010-06-28  Ian Beckwith  <ianb@erislabs.net>

	unitypes: Fix bug introduced on 2010-05-18.
	* modules/unitypes (Files): Really add m4/libunistring-base.m4.

2010-06-22  Eric Blake  <eblake@redhat.com>

	memmem: slight optimization
	* lib/str-two-way.h (critical_factorization): Update comments.
	Reduce work during factorization phase.
	Reported by Carlos Bueno <carlos@bueno.org>.

2010-06-21  Bruno Haible  <bruno@clisp.org>

	Fix HAVE_CALLOC_POSIX misnomer.
	* lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
	!HAVE_CALLOC_POSIX.
	* m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
	HAVE_CALLOC_POSIX.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
	instead of HAVE_CALLOC_POSIX.
	* modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
	HAVE_CALLOC_POSIX.

	Use modern idiom for calloc() replacement.
	* modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
	AC_FUNC_CALLOC.
	* m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
	Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
	(gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
	HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
	(gl_REPLACE_CALLOC): New macro.

2010-06-21  Bruno Haible  <bruno@clisp.org>

	Fix HAVE_REALLOC_POSIX misnomer.
	* lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
	!HAVE_REALLOC_POSIX.
	* m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
	HAVE_REALLOC_POSIX.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
	instead of HAVE_REALLOC_POSIX.
	* modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
	HAVE_REALLOC_POSIX.

	Use modern idiom for realloc() replacement.
	* modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
	AC_FUNC_REALLOC.
	* m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
	Autoconf's AC_FUNC_REALLOC.
	(gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
	HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
	(gl_REPLACE_REALLOC): New macro.
	Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.

2010-06-21  Bruno Haible  <bruno@clisp.org>

	Fix HAVE_MALLOC_POSIX misnomer.
	* lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
	!HAVE_MALLOC_POSIX.
	* m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
	HAVE_MALLOC_POSIX.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
	instead of HAVE_MALLOC_POSIX.
	* modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
	HAVE_MALLOC_POSIX.

	Use modern idiom for malloc() replacement.
	* modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
	AC_FUNC_MALLOC.
	* m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
	Autoconf's AC_FUNC_MALLOC.
	(gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
	HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
	(gl_REPLACE_MALLOC): New macro.
	Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.

2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>

	stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
	* lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
	This macro takes 3 arguments, not 4.

2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>

	ipv6: fix detection under mingw
	* m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
	in6_addr.

2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>

	* m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
	that strtod() works when cross-compiling to a glibc version known
	to work.

2010-06-15  Bruno Haible  <bruno@clisp.org>

	* m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.

2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)

	select: Correct timeout.
	* lib/select.c (rpl_select): Compute wait_timeout correctly.

2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)

	git-version-gen: init shell var to avoid env var influence
	* build-aux/git-version-gen (v): Init shell var to empty.

2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>

	priv-set: Don't assume that priv.h exists merely because getppriv does.
	See Jan Andersen's bug report about AIX 5L in
	http://lists.gnu.org/r/bug-tar/2010-06/msg00019.html
	* m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
	* lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
	* lib/priv-set.h: Likewise.
	* tests/test-priv-set.c: Likewise.

2010-06-13  Bruno Haible  <bruno@clisp.org>

	relocatable: Make it easier to test whether to install wrappers.
	* m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
	RELOCATABLE_VIA_WRAPPER.

2010-06-13  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Display specified modules and dependencies differently.
	* gnulib-tool (func_show_module_list): New function.
	(func_import, func_create_testdir): Invoke it.
	Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.

2010-06-13  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Align code of func_import and func_create_testdir.
	* gnulib-tool (func_create_testdir): Rename variable saved_modules to
	specified_modules.

2010-06-12  Jim Meyering  <meyering@redhat.com>

	test-inttostr: avoid spurious failure on Solaris 9
	* tests/test-inttostr.c (main): Skip the test when snprintf fails
	to accept "%ju".  Reported by Bruno Haible.

2010-06-11  Jim Meyering  <meyering@redhat.com>

	test-sys_socket: mark variables as used more readably
	* tests/test-sys_socket.c (main): Mark otherwise unused variables
	as "used" explicitly via (void) statement casts.  This is more
	readable than using them in an artificial return expression.
	Suggestion from Bruno Haible.

2010-06-11  Bruno Haible  <bruno@clisp.org>

	Avoid some more warnings from "gcc -Wwrite-strings".
	* tests/test-argp.c (test_optional): Change 5th and 6th argument type
	to 'const char *'.
	* tests/test-c-strstr.c (main): Add 'const' to variable declaration.
	* tests/test-c-strcasestr.c (main): Likewise.
	* tests/test-mbscasestr1.c (main): Likewise.
	* tests/test-mbscasestr2.c (main): Likewise.
	* tests/test-memmem.c (main): Likewise.
	* tests/test-strstr.c (main): Likewise.
	* tests/test-strcasestr.c (main): Likewise.

2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	init.sh: change framework_failure_ to fail with status 99, not 1
	* tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
	automake's parallel-tests rule that this is an unexpected failure,
	even if the test is listed in XFAIL_TESTS.

2010-06-11  Jim Meyering  <meyering@redhat.com>

	test-inttostr: avoid warnings about 4-6KB literal strings
	* tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
	Include "macros.h", for its definition of ASSERT.
	(CK): s/assert/ASSERT/
	* modules/inttostr-tests (Files): Add macros.h.

	init.sh: don't use $ME_ or skip_ before they are defined
	* tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
	their first uses.  Also hoist their companions: warn_, fail_,
	framework_failure_, $stderr_fileno.  Prompted by a patch from
	Stefano Lattarini.

	test-sys_socket: avoid set-but-not-used warnings from gcc
	* tests/test-sys_socket.c (main): Use "i" and "x", in order to
	avoid warning about set-but-not-used variables.

	test-xvasprintf: avoid 'const' discard warnings
	* tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
	"const" when assigning from literal strings.
	(test_xasprintf): Add "void" in function argument list to placate
	-Wstrict-prototypes and to be consistent with test_xvasprintf above.

	tests: avoid compilation warnings in argmatch and exclude tests...
	in packages that define ARGMATCH_DIE_DECL, like coreutils.
	* tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
	Since it always exits, declare with the "noreturn" attribute.
	* tests/test-argmatch.c: Likewise.

	tests: avoid 'const' discard warnings in mbsstr tests
	* tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
	* tests/test-mbsstr2.c (main): Likewise.

	test-verify: avoid warning from gcc's -Wmissing-declarations
	* tests/test-verify.c (function): Declare to be static.

	test-inttostr.c: include <string.h> for use of strcmp
	* tests/test-inttostr.c: Include <string.h> for strcmp declaration.

	test-linkat: avoid failed assertion on "other" architectures
	* tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
	lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
	sparc: https://bugs.launchpad.net/bugs/591968

2010-06-11  Jim Meyering  <meyering@redhat.com>

	printf.m4: avoid autoconf's "Expanded Before Required" warning
	* m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
	rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
	autoconf warning.

2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>

	Replacement header templates are now named with ".in", not "_".
	* doc/gnulib-intro.texi: Correct.

2010-06-10  Jim Meyering  <meyering@redhat.com>

	inttostr-tests: depend on snprintf, not snprintf-posix
	* modules/inttostr-tests (Depends-on): Depend on snprintf, not
	snprintf-posix, to avoid this aclocal failure:
	  missing file gnulib-tests/vasnprintf.c
	  configure.ac:45: error: expected source file, required through \
	  AC_LIBSOURCES, not found

2010-06-10  Jim Meyering  <meyering@redhat.com>

	inttostr: add a new function, inttostr, and tests
	The namesake function was not available.  The existence of the
	template file, inttostr.c makes its addition nontrivial.
	* lib/anytostr.c: Rename from inttostr.c.
	(anytostr): Rename from inttostr.
	* lib/inttostr.c: New file.
	* modules/inttostr (Files): Add anytostr.c.
	(Makefile.am): Set lib_SOURCES instead of ...
	* m4/inttostr.m4: Remove uses of AC_LIBOBJ.
	* lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
	* lib/offtostr.c: Likewise.
	* lib/uinttostr.c: Likewise.
	* lib/umaxtostr.c: Likewise.
	* modules/inttostr-tests: New file.
	* tests/test-inttostr.c: New file.  Test these functions.

2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
	    Bruno Haible  <bruno@clisp.org>

	Add "Extending Gnulib" chapter to manual.
	* doc/gnulib.texi (Writing Modules): Add cross-reference to new
	chapter.
	(Extending Gnulib): New chapter.
	* doc/gnulib-intro.texi (Openness): Add cross-reference to new
	chapter.

2010-06-09  Bruno Haible  <bruno@clisp.org>

	Avoid relocwrapper link errors due to gnulib replacement functions.
	* lib/areadlink.c: Use the system's malloc, realloc functions.
	(areadlink): Set errno to ENOMEM explicitly.
	* modules/areadlink (Depends-on): Remove malloc-posix.
	Reported by Ben Pfaff <blp@cs.stanford.edu>.

2010-06-09  Bruno Haible  <bruno@clisp.org>

	Avoid relocwrapper link errors due to gnulib replacement functions.
	* lib/canonicalize-lgpl.c: Use the system's malloc function.
	* lib/malloca.c: Likewise.
	* lib/relocatable.c: Likewise.
	* lib/progreloc.c: Use the system's malloc, sprintf functions.
	* lib/relocwrapper.c: Use the system's fprintf, malloc functions.
	* lib/setenv.c: Use the system's malloc, realloc functions.
	* lib/strerror.c: Use the system's sprintf function.
	Reported by Ben Pfaff <blp@cs.stanford.edu>.

2010-06-04  Bruno Haible  <bruno@clisp.org>

	Prefer documented low-level autoconf macro names.
	* m4/lib-link.m4: Use m4_translit instead of translit.
	* m4/environ.m4: Likewise.
	* m4/mathfunc.m4: Likewise.
	* m4/onceonly.m4: Likewise.
	* m4/stdint.m4: Likewise.
	Suggested by Eric Blake.

2010-06-04  Martin Lambers  <marlam@marlam.de>
	    Bruno Haible  <bruno@clisp.org>

	havelib: Allow library names with '+' characters.
	* m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
	AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.

2010-06-09  Bruno Haible  <bruno@clisp.org>

	Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
	* lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
	realloc failed.

2010-06-08  Peter Simons  <simons@cryp.to>

	maint.mk: make the news-check rule more configurable
	* top/maint.mk (news-check-lines-spec): New variable.
	(news-check): Use "sed -n 1,10p" in place of "head".

2010-06-07  Jim Meyering  <meyering@redhat.com>

	do-release-commit-and-tag: fix typo in --help
	* build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.

	regex: avoid new dead-code warning with gcc-4.6.0
	* lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
	if-block containing a while-loop.  It's been unused for at least
	5 years.

2010-06-05  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/strcoll.texi: Mention Solaris limitation.
	Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.

2010-06-04  Bruno Haible  <bruno@clisp.org>

	Update to GNU gettext 0.18.1.
	* modules/gettext (configure.ac): Require gettext infrastructure from
	version 0.18.1.

2010-06-03  Bruno Haible  <bruno@clisp.org>

	Don't use AC_LIBOBJ with file names in subdirectories.
	* m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
	gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
	name. Define an automake conditional. Don't invoke AC_LIBOBJ.
	* m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
	* modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
	gl_LIBUNISTRING_LIBSOURCE.
	(Makefile.am): Augment lib_SOURCES here, conditionally.
	* NEWS: Drop requirement for Automake option 'subdir-objects'.

2010-06-03  Bruno Haible  <bruno@clisp.org>

	Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
	* m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
	expansion does not end with a newline.
	(gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
	unnecessary newline.

2010-06-03  Bruno Haible  <bruno@clisp.org>

	Reduce dependencies.
	* tests/test-quotearg.h: New file, extracted from
	tests/test-quotearg.c.
	* tests/test-quotearg-simple.c: New file, extracted from
	tests/test-quotearg.c.
	* tests/test-quotearg.c: Don't include <ctype.h>.
	(struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
	RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
	use_quote_double_quotes, use_quotearg_colon): Moved to
	tests/test-quotearg.h.
	(results_g, flag_results, custom_quotes, custom_results): Moved
	to tests/test-quotearg-simple.c.
	(main): Moved the part that does not depend on gettext to
	tests/test-quotearg-simple.c. Return 77 if the test cannot be
	performed.
	* modules/quotearg-simple: New file.
	* modules/quotearg-simple-tests: New file.
	* modules/quotearg (Depends-on): Add quotearg-simple.
	* modules/quotearg-tests (Status): Mark as gettext-dependent-test.
	(Files): Add tests/test-quotearg.h.
	Reported by Paolo Bonzini.

2010-06-03  Bruno Haible  <bruno@clisp.org>

	Reduce dependencies.
	* modules/acl (Depends-on): Add gettext-h. Remove gettext.

2010-06-03  Bruno Haible  <bruno@clisp.org>

	time: Undefine more broken macros.
	* lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
	for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
	Reported by Eric Blake.

2010-06-03  Bruno Haible  <bruno@clisp.org>

	Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
	* m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
	(AM_ICONV): Define it through gl_iconv_AC_DEFUN.
	* m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
	(gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
	Reported by Ludovic Courtès <ludo@gnu.org>.

2010-06-02  Eric Blake  <eblake@redhat.com>

	time: work with mingw + pthreads-win32 library
	* m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
	if timespec is defined only in pthread.h.
	* modules/time (Makefile.am): Substitute it.
	* lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
	<pthread.h>, when needed.
	(GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
	from the library.

2010-05-31  Bruno Haible  <bruno@clisp.org>

	Avoid expanding two macros in the wrong order.
	* m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
	gl_LIBUNISTRING if it is defined.
	* m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
	autoconf >= 2.64.
	Reported by Ludovic Courtès <ludo@gnu.org>.

2010-05-27  Jim Meyering  <meyering@redhat.com>

	maint.mk: also prohibit "#undef" of always-defined symbols
	* top/maint.mk (def_sym_regex): Handle #undef as well as #define.
	Allow more than one space before the symbol name.
	(sc_prohibit_always-defined_macros): Use grep's -E, now that
	the regexp uses alternation.

2010-05-26  Eric Blake  <eblake@redhat.com>

	maint.mk: avoid echo -e
	* top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
	Convert all uses of echo -* to printf.
	Reported by Matthias Bolte.

2010-05-25  Bruno Haible  <bruno@clisp.org>

	Update to GNU gettext 0.18, part 2.
	* build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
	Reported by Martin von Gagern <Martin.vGagern@gmx.net>.

2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Add missing include in test-pwrite.c.
	* tests/test-pwrite.c: Include string.h, for strcmp.

2010-05-24  Bruno Haible  <bruno@clisp.org>

	* NEWS: Mention requirement for Automake option 'subdir-objects'.

2010-05-24  Bruno Haible  <bruno@clisp.org>

	Don't use conversion with transliteration in u{8,16,32}_strcoll.
	* lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
	iconveh_error argument.
	* lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
	U_STRCONV_TO_LOCALE.
	* lib/unistr/u16-strcoll.c: Likewise.
	* lib/unistr/u32-strcoll.c: Likewise.
	* modules/unistr/u8-strcoll (Depends-on): Add
	uniconv/u8-strconv-to-enc, localcharset. Remove
	uniconv/u8-strconv-to-locale.
	(configure.ac): Bump version number.
	* modules/unistr/u16-strcoll (Depends-on): Add
	uniconv/u16-strconv-to-enc, localcharset. Remove
	uniconv/u16-strconv-to-locale.
	(configure.ac): Bump version number.
	* modules/unistr/u32-strcoll (Depends-on): Add
	uniconv/u32-strconv-to-enc, localcharset. Remove
	uniconv/u32-strconv-to-locale.
	(configure.ac): Bump version number.

2010-05-24  Bruno Haible  <bruno@clisp.org>

	Avoid a test failure on NetBSD 5.0.
	* tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
	an iconv() bug.

2010-05-24  Bruno Haible  <bruno@clisp.org>

	Adjust #include directive style.
	* modules/regex (Includes): Recommend to write <regex.h>.

2010-05-24  Bruno Haible  <bruno@clisp.org>

	regex: Don't require alloca.
	* modules/regex (Depends-on): Remove alloca. Add alloca-opt.
	* lib/regex_internal.h (alloca): Ensure it's defined even if we call it
	only inside if (0).

2010-05-23  Jim Meyering  <meyering@redhat.com>

	test-renameat.c: include <sys/stat.h>
	* tests/test-renameat.c: Include <sys/stat.h>; required for
	definition of S_IS* macros.

2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>

	Update maintainer documentation for 'relocatable-prog' module.
	* doc/relocatable-maint.texi: Update.
	Comments by Bruno Haible.

2010-05-23  Bruno Haible  <bruno@clisp.org>

	git-merge-changelog: Enable --split-merged-entry by default.
	* lib/git-merge-changelog.c (main): Set split_merged_entry to true.
	(usage): Don't mention this option any more.
	Reported by Ralf Wildenhues.

2010-05-23  Jim Meyering  <meyering@redhat.com>

	test-pwrite: do not leave behind a test file named "out"
	Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
	The trivial-looking use of init.sh is really necessary.
	It ensures that the temporary file, "out", is created in
	a temporary directory, and removed upon termination.
	* tests/test-pwrite.sh: Re-add file.
	* modules/pwrite-tests: Reference it.

2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Fix output redirection buglet in init.sh.
	* tests/init.sh: Fix redirection of stderr.

2010-05-20  Simon Josefsson  <simon@josefsson.org>

	* modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.

2010-05-17  Simon Josefsson  <simon@josefsson.org>

	* modules/valgrind-tests: New file.
	* m4/valgrind-tests.m4: New file.
	* doc/valgrind-tests.texi: New file.
	* doc/gnulib.texi (Running self-tests under valgrind): New
	section.

2010-05-19  Bruno Haible  <bruno@clisp.org>

	Clean up dead code in recent commit.
	* m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
	body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
	(gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
	Suggested by Paolo Bonzini.

2010-05-19  Bruno Haible  <bruno@clisp.org>

	Avoid valgrind error reports from libunistring.
	* lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
	* modules/libunistring (Files): Add it.
	* modules/libunistring-optional (Files): Likewise.

2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	New module 'libunistring-optional'.
	* modules/libunistring-optional: New file.
	* m4/libunistring-base.m4: New file.
	* m4/libunistring-optional.m4: New file.
	* lib/unicase.in.h: Renamed from lib/unicase.h.
	* lib/uniconv.in.h: Renamed from lib/uniconv.h.
	* lib/unictype.in.h: Renamed from lib/unictype.h.
	* lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
	* lib/uniname.in.h: Renamed from lib/uniname.h.
	* lib/uninorm.in.h: Renamed from lib/uninorm.h.
	* lib/unistdio.in.h: Renamed from lib/unistdio.h.
	* lib/unistr.in.h: Renamed from lib/unistr.h.
	* lib/unitypes.in.h: Renamed from lib/unitypes.h.
	* lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
	* lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
	* m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
	gl_LIBUNISTRING. If the library was found, determine the installed
	version and set LIBUNISTRING_VERSION.
	(gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
	sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
	handle a configuration option --with-included-libunistring.
	* modules/libunistring (Files): Add m4/absolute-header.m4.
	* modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
	Add m4/libunistring-base.m4.
	(configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
	(Makefile.am): Build unicase.h from unicase.in.h.
	* modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
	Add m4/libunistring-base.m4.
	(configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
	(Makefile.am): Build uniconv.h from uniconv.in.h.
	* modules/unictype/base (Files): Use unictype.in.h instead of
	unictype.h. Add m4/libunistring-base.m4.
	(configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
	(Makefile.am): Build unictype.h from unictype.in.h.
	* modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
	Add m4/libunistring-base.m4.
	(configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
	(Makefile.am): Build unilbrk.h from unilbrk.in.h.
	* modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
	Add m4/libunistring-base.m4.
	(configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
	(Makefile.am): Build uniname.h from uniname.in.h.
	* modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
	Add m4/libunistring-base.m4.
	(configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
	(Makefile.am): Build uninorm.h from uninorm.in.h.
	* modules/unistdio/base (Files): Use unistdio.in.h instead of
	unistdio.h. Add m4/libunistring-base.m4.
	(configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
	(Makefile.am): Build unistdio.h from unistdio.in.h.
	* modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
	Add m4/libunistring-base.m4.
	(configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
	(Makefile.am): Build unistr.h from unistr.in.h.
	* modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
	Add m4/libunistring-base.m4.
	(configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
	(Makefile.am): Build unitypes.h from unitypes.in.h.
	* modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
	Add m4/libunistring-base.m4.
	(configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
	(Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
	* modules/uniwidth/base (Files): Use uniwidth.in.h instead of
	uniwidth.h. Add m4/libunistring-base.m4.
	(configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
	(Makefile.am): Build uniwidth.h from uniwidth.in.h.
	* modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
	instead of augmenting lib_SOURCES.
	* modules/unicase/empty-suffix-context: Likewise.
	* modules/unicase/locale-language: Likewise.
	* modules/unicase/tolower: Likewise.
	* modules/unicase/totitle: Likewise.
	* modules/unicase/toupper: Likewise.
	* modules/unicase/u8-casecmp: Likewise.
	* modules/unicase/u8-casecoll: Likewise.
	* modules/unicase/u8-casefold: Likewise.
	* modules/unicase/u8-casexfrm: Likewise.
	* modules/unicase/u8-ct-casefold: Likewise.
	* modules/unicase/u8-ct-tolower: Likewise.
	* modules/unicase/u8-ct-totitle: Likewise.
	* modules/unicase/u8-ct-toupper: Likewise.
	* modules/unicase/u8-is-cased: Likewise.
	* modules/unicase/u8-is-casefolded: Likewise.
	* modules/unicase/u8-is-lowercase: Likewise.
	* modules/unicase/u8-is-titlecase: Likewise.
	* modules/unicase/u8-is-uppercase: Likewise.
	* modules/unicase/u8-prefix-context: Likewise.
	* modules/unicase/u8-suffix-context: Likewise.
	* modules/unicase/u8-tolower: Likewise.
	* modules/unicase/u8-totitle: Likewise.
	* modules/unicase/u8-toupper: Likewise.
	* modules/unicase/u16-casecmp: Likewise.
	* modules/unicase/u16-casecoll: Likewise.
	* modules/unicase/u16-casefold: Likewise.
	* modules/unicase/u16-casexfrm: Likewise.
	* modules/unicase/u16-ct-casefold: Likewise.
	* modules/unicase/u16-ct-tolower: Likewise.
	* modules/unicase/u16-ct-totitle: Likewise.
	* modules/unicase/u16-ct-toupper: Likewise.
	* modules/unicase/u16-is-cased: Likewise.
	* modules/unicase/u16-is-casefolded: Likewise.
	* modules/unicase/u16-is-lowercase: Likewise.
	* modules/unicase/u16-is-titlecase: Likewise.
	* modules/unicase/u16-is-uppercase: Likewise.
	* modules/unicase/u16-prefix-context: Likewise.
	* modules/unicase/u16-suffix-context: Likewise.
	* modules/unicase/u16-tolower: Likewise.
	* modules/unicase/u16-totitle: Likewise.
	* modules/unicase/u16-toupper: Likewise.
	* modules/unicase/u32-casecmp: Likewise.
	* modules/unicase/u32-casecoll: Likewise.
	* modules/unicase/u32-casefold: Likewise.
	* modules/unicase/u32-casexfrm: Likewise.
	* modules/unicase/u32-ct-casefold: Likewise.
	* modules/unicase/u32-ct-tolower: Likewise.
	* modules/unicase/u32-ct-totitle: Likewise.
	* modules/unicase/u32-ct-toupper: Likewise.
	* modules/unicase/u32-is-cased: Likewise.
	* modules/unicase/u32-is-casefolded: Likewise.
	* modules/unicase/u32-is-lowercase: Likewise.
	* modules/unicase/u32-is-titlecase: Likewise.
	* modules/unicase/u32-is-uppercase: Likewise.
	* modules/unicase/u32-prefix-context: Likewise.
	* modules/unicase/u32-suffix-context: Likewise.
	* modules/unicase/u32-tolower: Likewise.
	* modules/unicase/u32-totitle: Likewise.
	* modules/unicase/u32-toupper: Likewise.
	* modules/unicase/ulc-casecmp: Likewise.
	* modules/unicase/ulc-casecoll: Likewise.
	* modules/unicase/ulc-casexfrm: Likewise.
	* modules/uniconv/u8-conv-from-enc: Likewise.
	* modules/uniconv/u8-conv-to-enc: Likewise.
	* modules/uniconv/u8-strconv-from-enc: Likewise.
	* modules/uniconv/u8-strconv-from-locale: Likewise.
	* modules/uniconv/u8-strconv-to-enc: Likewise.
	* modules/uniconv/u8-strconv-to-locale: Likewise.
	* modules/uniconv/u16-conv-from-enc: Likewise.
	* modules/uniconv/u16-conv-to-enc: Likewise.
	* modules/uniconv/u16-strconv-from-enc: Likewise.
	* modules/uniconv/u16-strconv-from-locale: Likewise.
	* modules/uniconv/u16-strconv-to-enc: Likewise.
	* modules/uniconv/u16-strconv-to-locale: Likewise.
	* modules/uniconv/u32-conv-from-enc: Likewise.
	* modules/uniconv/u32-conv-to-enc: Likewise.
	* modules/uniconv/u32-strconv-from-enc: Likewise.
	* modules/uniconv/u32-strconv-from-locale: Likewise.
	* modules/uniconv/u32-strconv-to-enc: Likewise.
	* modules/uniconv/u32-strconv-to-locale: Likewise.
	* modules/unictype/bidicategory-byname: Likewise.
	* modules/unictype/bidicategory-name: Likewise.
	* modules/unictype/bidicategory-of: Likewise.
	* modules/unictype/bidicategory-test: Likewise.
	* modules/unictype/block-list: Likewise.
	* modules/unictype/block-test: Likewise.
	* modules/unictype/category-C: Likewise.
	* modules/unictype/category-Cc: Likewise.
	* modules/unictype/category-Cf: Likewise.
	* modules/unictype/category-Cn: Likewise.
	* modules/unictype/category-Co: Likewise.
	* modules/unictype/category-Cs: Likewise.
	* modules/unictype/category-L: Likewise.
	* modules/unictype/category-Ll: Likewise.
	* modules/unictype/category-Lm: Likewise.
	* modules/unictype/category-Lo: Likewise.
	* modules/unictype/category-Lt: Likewise.
	* modules/unictype/category-Lu: Likewise.
	* modules/unictype/category-M: Likewise.
	* modules/unictype/category-Mc: Likewise.
	* modules/unictype/category-Me: Likewise.
	* modules/unictype/category-Mn: Likewise.
	* modules/unictype/category-N: Likewise.
	* modules/unictype/category-Nd: Likewise.
	* modules/unictype/category-Nl: Likewise.
	* modules/unictype/category-No: Likewise.
	* modules/unictype/category-P: Likewise.
	* modules/unictype/category-Pc: Likewise.
	* modules/unictype/category-Pd: Likewise.
	* modules/unictype/category-Pe: Likewise.
	* modules/unictype/category-Pf: Likewise.
	* modules/unictype/category-Pi: Likewise.
	* modules/unictype/category-Po: Likewise.
	* modules/unictype/category-Ps: Likewise.
	* modules/unictype/category-S: Likewise.
	* modules/unictype/category-Sc: Likewise.
	* modules/unictype/category-Sk: Likewise.
	* modules/unictype/category-Sm: Likewise.
	* modules/unictype/category-So: Likewise.
	* modules/unictype/category-Z: Likewise.
	* modules/unictype/category-Zl: Likewise.
	* modules/unictype/category-Zp: Likewise.
	* modules/unictype/category-Zs: Likewise.
	* modules/unictype/category-and: Likewise.
	* modules/unictype/category-and-not: Likewise.
	* modules/unictype/category-byname: Likewise.
	* modules/unictype/category-name: Likewise.
	* modules/unictype/category-none: Likewise.
	* modules/unictype/category-of: Likewise.
	* modules/unictype/category-or: Likewise.
	* modules/unictype/category-test: Likewise.
	* modules/unictype/combining-class: Likewise.
	* modules/unictype/ctype-alnum: Likewise.
	* modules/unictype/ctype-alpha: Likewise.
	* modules/unictype/ctype-blank: Likewise.
	* modules/unictype/ctype-cntrl: Likewise.
	* modules/unictype/ctype-digit: Likewise.
	* modules/unictype/ctype-graph: Likewise.
	* modules/unictype/ctype-lower: Likewise.
	* modules/unictype/ctype-print: Likewise.
	* modules/unictype/ctype-punct: Likewise.
	* modules/unictype/ctype-space: Likewise.
	* modules/unictype/ctype-upper: Likewise.
	* modules/unictype/ctype-xdigit: Likewise.
	* modules/unictype/decimal-digit: Likewise.
	* modules/unictype/digit: Likewise.
	* modules/unictype/mirror: Likewise.
	* modules/unictype/numeric: Likewise.
	* modules/unictype/property-alphabetic: Likewise.
	* modules/unictype/property-ascii-hex-digit: Likewise.
	* modules/unictype/property-bidi-arabic-digit: Likewise.
	* modules/unictype/property-bidi-arabic-right-to-left: Likewise.
	* modules/unictype/property-bidi-block-separator: Likewise.
	* modules/unictype/property-bidi-boundary-neutral: Likewise.
	* modules/unictype/property-bidi-common-separator: Likewise.
	* modules/unictype/property-bidi-control: Likewise.
	* modules/unictype/property-bidi-embedding-or-override: Likewise.
	* modules/unictype/property-bidi-eur-num-separator: Likewise.
	* modules/unictype/property-bidi-eur-num-terminator: Likewise.
	* modules/unictype/property-bidi-european-digit: Likewise.
	* modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
	* modules/unictype/property-bidi-left-to-right: Likewise.
	* modules/unictype/property-bidi-non-spacing-mark: Likewise.
	* modules/unictype/property-bidi-other-neutral: Likewise.
	* modules/unictype/property-bidi-pdf: Likewise.
	* modules/unictype/property-bidi-segment-separator: Likewise.
	* modules/unictype/property-bidi-whitespace: Likewise.
	* modules/unictype/property-byname: Likewise.
	* modules/unictype/property-combining: Likewise.
	* modules/unictype/property-composite: Likewise.
	* modules/unictype/property-currency-symbol: Likewise.
	* modules/unictype/property-dash: Likewise.
	* modules/unictype/property-decimal-digit: Likewise.
	* modules/unictype/property-default-ignorable-code-point: Likewise.
	* modules/unictype/property-deprecated: Likewise.
	* modules/unictype/property-diacritic: Likewise.
	* modules/unictype/property-extender: Likewise.
	* modules/unictype/property-format-control: Likewise.
	* modules/unictype/property-grapheme-base: Likewise.
	* modules/unictype/property-grapheme-extend: Likewise.
	* modules/unictype/property-grapheme-link: Likewise.
	* modules/unictype/property-hex-digit: Likewise.
	* modules/unictype/property-hyphen: Likewise.
	* modules/unictype/property-id-continue: Likewise.
	* modules/unictype/property-id-start: Likewise.
	* modules/unictype/property-ideographic: Likewise.
	* modules/unictype/property-ids-binary-operator: Likewise.
	* modules/unictype/property-ids-trinary-operator: Likewise.
	* modules/unictype/property-ignorable-control: Likewise.
	* modules/unictype/property-iso-control: Likewise.
	* modules/unictype/property-join-control: Likewise.
	* modules/unictype/property-left-of-pair: Likewise.
	* modules/unictype/property-line-separator: Likewise.
	* modules/unictype/property-logical-order-exception: Likewise.
	* modules/unictype/property-lowercase: Likewise.
	* modules/unictype/property-math: Likewise.
	* modules/unictype/property-non-break: Likewise.
	* modules/unictype/property-not-a-character: Likewise.
	* modules/unictype/property-numeric: Likewise.
	* modules/unictype/property-other-alphabetic: Likewise.
	* modules/unictype/property-other-default-ignorable-code-point: Likewise.
	* modules/unictype/property-other-grapheme-extend: Likewise.
	* modules/unictype/property-other-id-continue: Likewise.
	* modules/unictype/property-other-id-start: Likewise.
	* modules/unictype/property-other-lowercase: Likewise.
	* modules/unictype/property-other-math: Likewise.
	* modules/unictype/property-other-uppercase: Likewise.
	* modules/unictype/property-paired-punctuation: Likewise.
	* modules/unictype/property-paragraph-separator: Likewise.
	* modules/unictype/property-pattern-syntax: Likewise.
	* modules/unictype/property-pattern-white-space: Likewise.
	* modules/unictype/property-private-use: Likewise.
	* modules/unictype/property-punctuation: Likewise.
	* modules/unictype/property-quotation-mark: Likewise.
	* modules/unictype/property-radical: Likewise.
	* modules/unictype/property-sentence-terminal: Likewise.
	* modules/unictype/property-soft-dotted: Likewise.
	* modules/unictype/property-space: Likewise.
	* modules/unictype/property-terminal-punctuation: Likewise.
	* modules/unictype/property-test: Likewise.
	* modules/unictype/property-titlecase: Likewise.
	* modules/unictype/property-unassigned-code-value: Likewise.
	* modules/unictype/property-unified-ideograph: Likewise.
	* modules/unictype/property-uppercase: Likewise.
	* modules/unictype/property-variation-selector: Likewise.
	* modules/unictype/property-white-space: Likewise.
	* modules/unictype/property-xid-continue: Likewise.
	* modules/unictype/property-xid-start: Likewise.
	* modules/unictype/property-zero-width: Likewise.
	* modules/unictype/scripts: Likewise.
	* modules/unictype/syntax-c-ident: Likewise.
	* modules/unictype/syntax-c-whitespace: Likewise.
	* modules/unictype/syntax-java-ident: Likewise.
	* modules/unictype/syntax-java-whitespace: Likewise.
	* modules/unilbrk/u8-possible-linebreaks: Likewise.
	* modules/unilbrk/u8-width-linebreaks: Likewise.
	* modules/unilbrk/u16-possible-linebreaks: Likewise.
	* modules/unilbrk/u16-width-linebreaks: Likewise.
	* modules/unilbrk/u32-possible-linebreaks: Likewise.
	* modules/unilbrk/u32-width-linebreaks: Likewise.
	* modules/unilbrk/ulc-possible-linebreaks: Likewise.
	* modules/unilbrk/ulc-width-linebreaks: Likewise.
	* modules/uniname/uniname: Likewise.
	* modules/uninorm/canonical-decomposition: Likewise.
	* modules/uninorm/composition: Likewise.
	* modules/uninorm/decomposing-form: Likewise.
	* modules/uninorm/decomposition: Likewise.
	* modules/uninorm/filter: Likewise.
	* modules/uninorm/nfc: Likewise.
	* modules/uninorm/nfd: Likewise.
	* modules/uninorm/nfkc: Likewise.
	* modules/uninorm/nfkd: Likewise.
	* modules/uninorm/u8-normalize: Likewise.
	* modules/uninorm/u8-normcmp: Likewise.
	* modules/uninorm/u8-normcoll: Likewise.
	* modules/uninorm/u8-normxfrm: Likewise.
	* modules/uninorm/u16-normalize: Likewise.
	* modules/uninorm/u16-normcmp: Likewise.
	* modules/uninorm/u16-normcoll: Likewise.
	* modules/uninorm/u16-normxfrm: Likewise.
	* modules/uninorm/u32-normalize: Likewise.
	* modules/uninorm/u32-normcmp: Likewise.
	* modules/uninorm/u32-normcoll: Likewise.
	* modules/uninorm/u32-normxfrm: Likewise.
	* modules/unistdio/u8-asnprintf: Likewise.
	* modules/unistdio/u8-asprintf: Likewise.
	* modules/unistdio/u8-snprintf: Likewise.
	* modules/unistdio/u8-sprintf: Likewise.
	* modules/unistdio/u8-u8-asnprintf: Likewise.
	* modules/unistdio/u8-u8-asprintf: Likewise.
	* modules/unistdio/u8-u8-snprintf: Likewise.
	* modules/unistdio/u8-u8-sprintf: Likewise.
	* modules/unistdio/u8-u8-vasnprintf: Likewise.
	* modules/unistdio/u8-u8-vasprintf: Likewise.
	* modules/unistdio/u8-u8-vsnprintf: Likewise.
	* modules/unistdio/u8-u8-vsprintf: Likewise.
	* modules/unistdio/u8-vasnprintf: Likewise.
	* modules/unistdio/u8-vasprintf: Likewise.
	* modules/unistdio/u8-vsnprintf: Likewise.
	* modules/unistdio/u8-vsprintf: Likewise.
	* modules/unistdio/u16-asnprintf: Likewise.
	* modules/unistdio/u16-asprintf: Likewise.
	* modules/unistdio/u16-snprintf: Likewise.
	* modules/unistdio/u16-sprintf: Likewise.
	* modules/unistdio/u16-u16-asnprintf: Likewise.
	* modules/unistdio/u16-u16-asprintf: Likewise.
	* modules/unistdio/u16-u16-snprintf: Likewise.
	* modules/unistdio/u16-u16-sprintf: Likewise.
	* modules/unistdio/u16-u16-vasnprintf: Likewise.
	* modules/unistdio/u16-u16-vasprintf: Likewise.
	* modules/unistdio/u16-u16-vsnprintf: Likewise.
	* modules/unistdio/u16-u16-vsprintf: Likewise.
	* modules/unistdio/u16-vasnprintf: Likewise.
	* modules/unistdio/u16-vasprintf: Likewise.
	* modules/unistdio/u16-vsnprintf: Likewise.
	* modules/unistdio/u16-vsprintf: Likewise.
	* modules/unistdio/u32-asnprintf: Likewise.
	* modules/unistdio/u32-asprintf: Likewise.
	* modules/unistdio/u32-snprintf: Likewise.
	* modules/unistdio/u32-sprintf: Likewise.
	* modules/unistdio/u32-u32-asnprintf: Likewise.
	* modules/unistdio/u32-u32-asprintf: Likewise.
	* modules/unistdio/u32-u32-snprintf: Likewise.
	* modules/unistdio/u32-u32-sprintf: Likewise.
	* modules/unistdio/u32-u32-vasnprintf: Likewise.
	* modules/unistdio/u32-u32-vasprintf: Likewise.
	* modules/unistdio/u32-u32-vsnprintf: Likewise.
	* modules/unistdio/u32-u32-vsprintf: Likewise.
	* modules/unistdio/u32-vasnprintf: Likewise.
	* modules/unistdio/u32-vasprintf: Likewise.
	* modules/unistdio/u32-vsnprintf: Likewise.
	* modules/unistdio/u32-vsprintf: Likewise.
	* modules/unistdio/ulc-asnprintf: Likewise.
	* modules/unistdio/ulc-asprintf: Likewise.
	* modules/unistdio/ulc-fprintf: Likewise.
	* modules/unistdio/ulc-snprintf: Likewise.
	* modules/unistdio/ulc-sprintf: Likewise.
	* modules/unistdio/ulc-vasnprintf: Likewise.
	* modules/unistdio/ulc-vasprintf: Likewise.
	* modules/unistdio/ulc-vfprintf: Likewise.
	* modules/unistdio/ulc-vsnprintf: Likewise.
	* modules/unistdio/ulc-vsprintf: Likewise.
	* modules/unistr/u8-check: Likewise.
	* modules/unistr/u8-chr: Likewise.
	* modules/unistr/u8-cmp: Likewise.
	* modules/unistr/u8-cmp2: Likewise.
	* modules/unistr/u8-cpy: Likewise.
	* modules/unistr/u8-cpy-alloc: Likewise.
	* modules/unistr/u8-endswith: Likewise.
	* modules/unistr/u8-mblen: Likewise.
	* modules/unistr/u8-mbsnlen: Likewise.
	* modules/unistr/u8-mbtouc: Likewise.
	* modules/unistr/u8-mbtouc-unsafe: Likewise.
	* modules/unistr/u8-mbtoucr: Likewise.
	* modules/unistr/u8-move: Likewise.
	* modules/unistr/u8-next: Likewise.
	* modules/unistr/u8-prev: Likewise.
	* modules/unistr/u8-set: Likewise.
	* modules/unistr/u8-startswith: Likewise.
	* modules/unistr/u8-stpcpy: Likewise.
	* modules/unistr/u8-stpncpy: Likewise.
	* modules/unistr/u8-strcat: Likewise.
	* modules/unistr/u8-strchr: Likewise.
	* modules/unistr/u8-strcmp: Likewise.
	* modules/unistr/u8-strcoll: Likewise.
	* modules/unistr/u8-strcpy: Likewise.
	* modules/unistr/u8-strcspn: Likewise.
	* modules/unistr/u8-strdup: Likewise.
	* modules/unistr/u8-strlen: Likewise.
	* modules/unistr/u8-strmblen: Likewise.
	* modules/unistr/u8-strmbtouc: Likewise.
	* modules/unistr/u8-strncat: Likewise.
	* modules/unistr/u8-strncmp: Likewise.
	* modules/unistr/u8-strncpy: Likewise.
	* modules/unistr/u8-strnlen: Likewise.
	* modules/unistr/u8-strpbrk: Likewise.
	* modules/unistr/u8-strrchr: Likewise.
	* modules/unistr/u8-strspn: Likewise.
	* modules/unistr/u8-strstr: Likewise.
	* modules/unistr/u8-strtok: Likewise.
	* modules/unistr/u8-to-u16: Likewise.
	* modules/unistr/u8-to-u32: Likewise.
	* modules/unistr/u8-uctomb: Likewise.
	* modules/unistr/u16-check: Likewise.
	* modules/unistr/u16-chr: Likewise.
	* modules/unistr/u16-cmp: Likewise.
	* modules/unistr/u16-cmp2: Likewise.
	* modules/unistr/u16-cpy: Likewise.
	* modules/unistr/u16-cpy-alloc: Likewise.
	* modules/unistr/u16-endswith: Likewise.
	* modules/unistr/u16-mblen: Likewise.
	* modules/unistr/u16-mbsnlen: Likewise.
	* modules/unistr/u16-mbtouc: Likewise.
	* modules/unistr/u16-mbtouc-unsafe: Likewise.
	* modules/unistr/u16-mbtoucr: Likewise.
	* modules/unistr/u16-move: Likewise.
	* modules/unistr/u16-next: Likewise.
	* modules/unistr/u16-prev: Likewise.
	* modules/unistr/u16-set: Likewise.
	* modules/unistr/u16-startswith: Likewise.
	* modules/unistr/u16-stpcpy: Likewise.
	* modules/unistr/u16-stpncpy: Likewise.
	* modules/unistr/u16-strcat: Likewise.
	* modules/unistr/u16-strchr: Likewise.
	* modules/unistr/u16-strcmp: Likewise.
	* modules/unistr/u16-strcoll: Likewise.
	* modules/unistr/u16-strcpy: Likewise.
	* modules/unistr/u16-strcspn: Likewise.
	* modules/unistr/u16-strdup: Likewise.
	* modules/unistr/u16-strlen: Likewise.
	* modules/unistr/u16-strmblen: Likewise.
	* modules/unistr/u16-strmbtouc: Likewise.
	* modules/unistr/u16-strncat: Likewise.
	* modules/unistr/u16-strncmp: Likewise.
	* modules/unistr/u16-strncpy: Likewise.
	* modules/unistr/u16-strnlen: Likewise.
	* modules/unistr/u16-strpbrk: Likewise.
	* modules/unistr/u16-strrchr: Likewise.
	* modules/unistr/u16-strspn: Likewise.
	* modules/unistr/u16-strstr: Likewise.
	* modules/unistr/u16-strtok: Likewise.
	* modules/unistr/u16-to-u32: Likewise.
	* modules/unistr/u16-to-u8: Likewise.
	* modules/unistr/u16-uctomb: Likewise.
	* modules/unistr/u32-check: Likewise.
	* modules/unistr/u32-chr: Likewise.
	* modules/unistr/u32-cmp: Likewise.
	* modules/unistr/u32-cmp2: Likewise.
	* modules/unistr/u32-cpy: Likewise.
	* modules/unistr/u32-cpy-alloc: Likewise.
	* modules/unistr/u32-endswith: Likewise.
	* modules/unistr/u32-mblen: Likewise.
	* modules/unistr/u32-mbsnlen: Likewise.
	* modules/unistr/u32-mbtouc: Likewise.
	* modules/unistr/u32-mbtouc-unsafe: Likewise.
	* modules/unistr/u32-mbtoucr: Likewise.
	* modules/unistr/u32-move: Likewise.
	* modules/unistr/u32-next: Likewise.
	* modules/unistr/u32-prev: Likewise.
	* modules/unistr/u32-set: Likewise.
	* modules/unistr/u32-startswith: Likewise.
	* modules/unistr/u32-stpcpy: Likewise.
	* modules/unistr/u32-stpncpy: Likewise.
	* modules/unistr/u32-strcat: Likewise.
	* modules/unistr/u32-strchr: Likewise.
	* modules/unistr/u32-strcmp: Likewise.
	* modules/unistr/u32-strcoll: Likewise.
	* modules/unistr/u32-strcpy: Likewise.
	* modules/unistr/u32-strcspn: Likewise.
	* modules/unistr/u32-strdup: Likewise.
	* modules/unistr/u32-strlen: Likewise.
	* modules/unistr/u32-strmblen: Likewise.
	* modules/unistr/u32-strmbtouc: Likewise.
	* modules/unistr/u32-strncat: Likewise.
	* modules/unistr/u32-strncmp: Likewise.
	* modules/unistr/u32-strncpy: Likewise.
	* modules/unistr/u32-strnlen: Likewise.
	* modules/unistr/u32-strpbrk: Likewise.
	* modules/unistr/u32-strrchr: Likewise.
	* modules/unistr/u32-strspn: Likewise.
	* modules/unistr/u32-strstr: Likewise.
	* modules/unistr/u32-strtok: Likewise.
	* modules/unistr/u32-to-u16: Likewise.
	* modules/unistr/u32-to-u8: Likewise.
	* modules/unistr/u32-uctomb: Likewise.
	* modules/uniwbrk/u8-wordbreaks: Likewise.
	* modules/uniwbrk/u16-wordbreaks: Likewise.
	* modules/uniwbrk/u32-wordbreaks: Likewise.
	* modules/uniwbrk/ulc-wordbreaks: Likewise.
	* modules/uniwbrk/wordbreak-property: Likewise.
	* modules/uniwidth/u8-strwidth: Likewise.
	* modules/uniwidth/u8-width: Likewise.
	* modules/uniwidth/u16-strwidth: Likewise.
	* modules/uniwidth/u16-width: Likewise.
	* modules/uniwidth/u32-strwidth: Likewise.
	* modules/uniwidth/u32-width: Likewise.
	* modules/uniwidth/width: Likewise.
	* modules/unicase/cased-tests (Makefile.am): Link all test programs
	with $(LIBUNISTRING).
	* modules/unicase/ignorable-tests: Likewise.
	* modules/unicase/locale-language-tests: Likewise.
	* modules/unicase/tolower-tests: Likewise.
	* modules/unicase/totitle-tests: Likewise.
	* modules/unicase/toupper-tests: Likewise.
	* modules/unicase/u8-casecmp-tests: Likewise.
	* modules/unicase/u8-casecoll-tests: Likewise.
	* modules/unicase/u8-casefold-tests: Likewise.
	* modules/unicase/u8-is-cased-tests: Likewise.
	* modules/unicase/u8-is-casefolded-tests: Likewise.
	* modules/unicase/u8-is-lowercase-tests: Likewise.
	* modules/unicase/u8-is-titlecase-tests: Likewise.
	* modules/unicase/u8-is-uppercase-tests: Likewise.
	* modules/unicase/u8-tolower-tests: Likewise.
	* modules/unicase/u8-totitle-tests: Likewise.
	* modules/unicase/u8-toupper-tests: Likewise.
	* modules/unicase/u16-casecmp-tests: Likewise.
	* modules/unicase/u16-casecoll-tests: Likewise.
	* modules/unicase/u16-casefold-tests: Likewise.
	* modules/unicase/u16-is-cased-tests: Likewise.
	* modules/unicase/u16-is-casefolded-tests: Likewise.
	* modules/unicase/u16-is-lowercase-tests: Likewise.
	* modules/unicase/u16-is-titlecase-tests: Likewise.
	* modules/unicase/u16-is-uppercase-tests: Likewise.
	* modules/unicase/u16-tolower-tests: Likewise.
	* modules/unicase/u16-totitle-tests: Likewise.
	* modules/unicase/u16-toupper-tests: Likewise.
	* modules/unicase/u32-casecmp-tests: Likewise.
	* modules/unicase/u32-casecoll-tests: Likewise.
	* modules/unicase/u32-casefold-tests: Likewise.
	* modules/unicase/u32-is-cased-tests: Likewise.
	* modules/unicase/u32-is-casefolded-tests: Likewise.
	* modules/unicase/u32-is-lowercase-tests: Likewise.
	* modules/unicase/u32-is-titlecase-tests: Likewise.
	* modules/unicase/u32-is-uppercase-tests: Likewise.
	* modules/unicase/u32-tolower-tests: Likewise.
	* modules/unicase/u32-totitle-tests: Likewise.
	* modules/unicase/u32-toupper-tests: Likewise.
	* modules/unicase/ulc-casecmp-tests: Likewise.
	* modules/unicase/ulc-casecoll-tests: Likewise.
	* modules/uniconv/u8-conv-from-enc-tests: Likewise.
	* modules/uniconv/u8-conv-to-enc-tests: Likewise.
	* modules/uniconv/u8-strconv-from-enc-tests: Likewise.
	* modules/uniconv/u8-strconv-to-enc-tests: Likewise.
	* modules/uniconv/u16-conv-from-enc-tests: Likewise.
	* modules/uniconv/u16-conv-to-enc-tests: Likewise.
	* modules/uniconv/u16-strconv-from-enc-tests: Likewise.
	* modules/uniconv/u16-strconv-to-enc-tests: Likewise.
	* modules/uniconv/u32-conv-from-enc-tests: Likewise.
	* modules/uniconv/u32-conv-to-enc-tests: Likewise.
	* modules/uniconv/u32-strconv-from-enc-tests: Likewise.
	* modules/uniconv/u32-strconv-to-enc-tests: Likewise.
	* modules/unictype/bidicategory-byname-tests: Likewise.
	* modules/unictype/bidicategory-name-tests: Likewise.
	* modules/unictype/bidicategory-of-tests: Likewise.
	* modules/unictype/bidicategory-test-tests: Likewise.
	* modules/unictype/block-list-tests: Likewise.
	* modules/unictype/block-of-tests: Likewise.
	* modules/unictype/block-test-tests: Likewise.
	* modules/unictype/category-C-tests: Likewise.
	* modules/unictype/category-Cc-tests: Likewise.
	* modules/unictype/category-Cf-tests: Likewise.
	* modules/unictype/category-Cn-tests: Likewise.
	* modules/unictype/category-Co-tests: Likewise.
	* modules/unictype/category-Cs-tests: Likewise.
	* modules/unictype/category-L-tests: Likewise.
	* modules/unictype/category-Ll-tests: Likewise.
	* modules/unictype/category-Lm-tests: Likewise.
	* modules/unictype/category-Lo-tests: Likewise.
	* modules/unictype/category-Lt-tests: Likewise.
	* modules/unictype/category-Lu-tests: Likewise.
	* modules/unictype/category-M-tests: Likewise.
	* modules/unictype/category-Mc-tests: Likewise.
	* modules/unictype/category-Me-tests: Likewise.
	* modules/unictype/category-Mn-tests: Likewise.
	* modules/unictype/category-N-tests: Likewise.
	* modules/unictype/category-Nd-tests: Likewise.
	* modules/unictype/category-Nl-tests: Likewise.
	* modules/unictype/category-No-tests: Likewise.
	* modules/unictype/category-P-tests: Likewise.
	* modules/unictype/category-Pc-tests: Likewise.
	* modules/unictype/category-Pd-tests: Likewise.
	* modules/unictype/category-Pe-tests: Likewise.
	* modules/unictype/category-Pf-tests: Likewise.
	* modules/unictype/category-Pi-tests: Likewise.
	* modules/unictype/category-Po-tests: Likewise.
	* modules/unictype/category-Ps-tests: Likewise.
	* modules/unictype/category-S-tests: Likewise.
	* modules/unictype/category-Sc-tests: Likewise.
	* modules/unictype/category-Sk-tests: Likewise.
	* modules/unictype/category-Sm-tests: Likewise.
	* modules/unictype/category-So-tests: Likewise.
	* modules/unictype/category-Z-tests: Likewise.
	* modules/unictype/category-Zl-tests: Likewise.
	* modules/unictype/category-Zp-tests: Likewise.
	* modules/unictype/category-Zs-tests: Likewise.
	* modules/unictype/category-and-not-tests: Likewise.
	* modules/unictype/category-and-tests: Likewise.
	* modules/unictype/category-byname-tests: Likewise.
	* modules/unictype/category-name-tests: Likewise.
	* modules/unictype/category-none-tests: Likewise.
	* modules/unictype/category-of-tests: Likewise.
	* modules/unictype/category-or-tests: Likewise.
	* modules/unictype/category-test-withtable-tests: Likewise.
	* modules/unictype/combining-class-tests: Likewise.
	* modules/unictype/ctype-alnum-tests: Likewise.
	* modules/unictype/ctype-alpha-tests: Likewise.
	* modules/unictype/ctype-blank-tests: Likewise.
	* modules/unictype/ctype-cntrl-tests: Likewise.
	* modules/unictype/ctype-digit-tests: Likewise.
	* modules/unictype/ctype-graph-tests: Likewise.
	* modules/unictype/ctype-lower-tests: Likewise.
	* modules/unictype/ctype-print-tests: Likewise.
	* modules/unictype/ctype-punct-tests: Likewise.
	* modules/unictype/ctype-space-tests: Likewise.
	* modules/unictype/ctype-upper-tests: Likewise.
	* modules/unictype/ctype-xdigit-tests: Likewise.
	* modules/unictype/decimal-digit-tests: Likewise.
	* modules/unictype/digit-tests: Likewise.
	* modules/unictype/mirror-tests: Likewise.
	* modules/unictype/numeric-tests: Likewise.
	* modules/unictype/property-alphabetic-tests: Likewise.
	* modules/unictype/property-ascii-hex-digit-tests: Likewise.
	* modules/unictype/property-bidi-arabic-digit-tests: Likewise.
	* modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
	* modules/unictype/property-bidi-block-separator-tests: Likewise.
	* modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
	* modules/unictype/property-bidi-common-separator-tests: Likewise.
	* modules/unictype/property-bidi-control-tests: Likewise.
	* modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
	* modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
	* modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
	* modules/unictype/property-bidi-european-digit-tests: Likewise.
	* modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
	* modules/unictype/property-bidi-left-to-right-tests: Likewise.
	* modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
	* modules/unictype/property-bidi-other-neutral-tests: Likewise.
	* modules/unictype/property-bidi-pdf-tests: Likewise.
	* modules/unictype/property-bidi-segment-separator-tests: Likewise.
	* modules/unictype/property-bidi-whitespace-tests: Likewise.
	* modules/unictype/property-byname-tests: Likewise.
	* modules/unictype/property-combining-tests: Likewise.
	* modules/unictype/property-composite-tests: Likewise.
	* modules/unictype/property-currency-symbol-tests: Likewise.
	* modules/unictype/property-dash-tests: Likewise.
	* modules/unictype/property-decimal-digit-tests: Likewise.
	* modules/unictype/property-default-ignorable-code-point-tests: Likewise.
	* modules/unictype/property-deprecated-tests: Likewise.
	* modules/unictype/property-diacritic-tests: Likewise.
	* modules/unictype/property-extender-tests: Likewise.
	* modules/unictype/property-format-control-tests: Likewise.
	* modules/unictype/property-grapheme-base-tests: Likewise.
	* modules/unictype/property-grapheme-extend-tests: Likewise.
	* modules/unictype/property-grapheme-link-tests: Likewise.
	* modules/unictype/property-hex-digit-tests: Likewise.
	* modules/unictype/property-hyphen-tests: Likewise.
	* modules/unictype/property-id-continue-tests: Likewise.
	* modules/unictype/property-id-start-tests: Likewise.
	* modules/unictype/property-ideographic-tests: Likewise.
	* modules/unictype/property-ids-binary-operator-tests: Likewise.
	* modules/unictype/property-ids-trinary-operator-tests: Likewise.
	* modules/unictype/property-ignorable-control-tests: Likewise.
	* modules/unictype/property-iso-control-tests: Likewise.
	* modules/unictype/property-join-control-tests: Likewise.
	* modules/unictype/property-left-of-pair-tests: Likewise.
	* modules/unictype/property-line-separator-tests: Likewise.
	* modules/unictype/property-logical-order-exception-tests: Likewise.
	* modules/unictype/property-lowercase-tests: Likewise.
	* modules/unictype/property-math-tests: Likewise.
	* modules/unictype/property-non-break-tests: Likewise.
	* modules/unictype/property-not-a-character-tests: Likewise.
	* modules/unictype/property-numeric-tests: Likewise.
	* modules/unictype/property-other-alphabetic-tests: Likewise.
	* modules/unictype/property-other-default-ignorable-code-point-tests:
	Likewise.
	* modules/unictype/property-other-grapheme-extend-tests: Likewise.
	* modules/unictype/property-other-id-continue-tests: Likewise.
	* modules/unictype/property-other-id-start-tests: Likewise.
	* modules/unictype/property-other-lowercase-tests: Likewise.
	* modules/unictype/property-other-math-tests: Likewise.
	* modules/unictype/property-other-uppercase-tests: Likewise.
	* modules/unictype/property-paired-punctuation-tests: Likewise.
	* modules/unictype/property-paragraph-separator-tests: Likewise.
	* modules/unictype/property-pattern-syntax-tests: Likewise.
	* modules/unictype/property-pattern-white-space-tests: Likewise.
	* modules/unictype/property-private-use-tests: Likewise.
	* modules/unictype/property-punctuation-tests: Likewise.
	* modules/unictype/property-quotation-mark-tests: Likewise.
	* modules/unictype/property-radical-tests: Likewise.
	* modules/unictype/property-sentence-terminal-tests: Likewise.
	* modules/unictype/property-soft-dotted-tests: Likewise.
	* modules/unictype/property-space-tests: Likewise.
	* modules/unictype/property-terminal-punctuation-tests: Likewise.
	* modules/unictype/property-test-tests: Likewise.
	* modules/unictype/property-titlecase-tests: Likewise.
	* modules/unictype/property-unassigned-code-value-tests: Likewise.
	* modules/unictype/property-unified-ideograph-tests: Likewise.
	* modules/unictype/property-uppercase-tests: Likewise.
	* modules/unictype/property-variation-selector-tests: Likewise.
	* modules/unictype/property-white-space-tests: Likewise.
	* modules/unictype/property-xid-continue-tests: Likewise.
	* modules/unictype/property-xid-start-tests: Likewise.
	* modules/unictype/property-zero-width-tests: Likewise.
	* modules/unictype/scripts-tests: Likewise.
	* modules/unictype/syntax-c-ident-tests: Likewise.
	* modules/unictype/syntax-c-whitespace-tests: Likewise.
	* modules/unictype/syntax-java-ident-tests: Likewise.
	* modules/unictype/syntax-java-whitespace-tests: Likewise.
	* modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
	* modules/unilbrk/u8-width-linebreaks-tests: Likewise.
	* modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
	* modules/unilbrk/u16-width-linebreaks-tests: Likewise.
	* modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
	* modules/unilbrk/u32-width-linebreaks-tests: Likewise.
	* modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
	* modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
	* modules/uniname/uniname-tests: Likewise.
	* modules/uninorm/canonical-decomposition-tests: Likewise.
	* modules/uninorm/compat-decomposition-tests: Likewise.
	* modules/uninorm/composition-tests: Likewise.
	* modules/uninorm/decomposing-form-tests: Likewise.
	* modules/uninorm/decomposition-tests: Likewise.
	* modules/uninorm/filter-tests: Likewise.
	* modules/uninorm/nfc-tests: Likewise.
	* modules/uninorm/nfd-tests: Likewise.
	* modules/uninorm/nfkc-tests: Likewise.
	* modules/uninorm/nfkd-tests: Likewise.
	* modules/uninorm/u8-normcmp-tests: Likewise.
	* modules/uninorm/u8-normcoll-tests: Likewise.
	* modules/uninorm/u16-normcmp-tests: Likewise.
	* modules/uninorm/u16-normcoll-tests: Likewise.
	* modules/uninorm/u32-normcmp-tests: Likewise.
	* modules/uninorm/u32-normcoll-tests: Likewise.
	* modules/unistdio/u8-asnprintf-tests: Likewise.
	* modules/unistdio/u8-vasnprintf-tests: Likewise.
	* modules/unistdio/u8-vasprintf-tests: Likewise.
	* modules/unistdio/u8-vsnprintf-tests: Likewise.
	* modules/unistdio/u8-vsprintf-tests: Likewise.
	* modules/unistdio/u16-asnprintf-tests: Likewise.
	* modules/unistdio/u16-vasnprintf-tests: Likewise.
	* modules/unistdio/u16-vasprintf-tests: Likewise.
	* modules/unistdio/u16-vsnprintf-tests: Likewise.
	* modules/unistdio/u16-vsprintf-tests: Likewise.
	* modules/unistdio/u32-asnprintf-tests: Likewise.
	* modules/unistdio/u32-vasnprintf-tests: Likewise.
	* modules/unistdio/u32-vasprintf-tests: Likewise.
	* modules/unistdio/u32-vsnprintf-tests: Likewise.
	* modules/unistdio/u32-vsprintf-tests: Likewise.
	* modules/unistdio/ulc-asnprintf-tests: Likewise.
	* modules/unistdio/ulc-vasnprintf-tests: Likewise.
	* modules/unistdio/ulc-vasprintf-tests: Likewise.
	* modules/unistdio/ulc-vsnprintf-tests: Likewise.
	* modules/unistdio/ulc-vsprintf-tests: Likewise.
	* modules/unistr/u8-check-tests: Likewise.
	* modules/unistr/u8-chr-tests: Likewise.
	* modules/unistr/u8-cmp-tests: Likewise.
	* modules/unistr/u8-cmp2-tests: Likewise.
	* modules/unistr/u8-cpy-alloc-tests: Likewise.
	* modules/unistr/u8-cpy-tests: Likewise.
	* modules/unistr/u8-mblen-tests: Likewise.
	* modules/unistr/u8-mbsnlen-tests: Likewise.
	* modules/unistr/u8-mbtouc-tests: Likewise.
	* modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
	* modules/unistr/u8-mbtoucr-tests: Likewise.
	* modules/unistr/u8-move-tests: Likewise.
	* modules/unistr/u8-next-tests: Likewise.
	* modules/unistr/u8-prev-tests: Likewise.
	* modules/unistr/u8-set-tests: Likewise.
	* modules/unistr/u8-stpcpy-tests: Likewise.
	* modules/unistr/u8-stpncpy-tests: Likewise.
	* modules/unistr/u8-strcat-tests: Likewise.
	* modules/unistr/u8-strcmp-tests: Likewise.
	* modules/unistr/u8-strcoll-tests: Likewise.
	* modules/unistr/u8-strcpy-tests: Likewise.
	* modules/unistr/u8-strdup-tests: Likewise.
	* modules/unistr/u8-strlen-tests: Likewise.
	* modules/unistr/u8-strmblen-tests: Likewise.
	* modules/unistr/u8-strmbtouc-tests: Likewise.
	* modules/unistr/u8-strncat-tests: Likewise.
	* modules/unistr/u8-strncmp-tests: Likewise.
	* modules/unistr/u8-strncpy-tests: Likewise.
	* modules/unistr/u8-strnlen-tests: Likewise.
	* modules/unistr/u8-to-u16-tests: Likewise.
	* modules/unistr/u8-to-u32-tests: Likewise.
	* modules/unistr/u8-uctomb-tests: Likewise.
	* modules/unistr/u16-check-tests: Likewise.
	* modules/unistr/u16-chr-tests: Likewise.
	* modules/unistr/u16-cmp-tests: Likewise.
	* modules/unistr/u16-cmp2-tests: Likewise.
	* modules/unistr/u16-cpy-alloc-tests: Likewise.
	* modules/unistr/u16-cpy-tests: Likewise.
	* modules/unistr/u16-mblen-tests: Likewise.
	* modules/unistr/u16-mbsnlen-tests: Likewise.
	* modules/unistr/u16-mbtouc-tests: Likewise.
	* modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
	* modules/unistr/u16-mbtoucr-tests: Likewise.
	* modules/unistr/u16-move-tests: Likewise.
	* modules/unistr/u16-next-tests: Likewise.
	* modules/unistr/u16-prev-tests: Likewise.
	* modules/unistr/u16-set-tests: Likewise.
	* modules/unistr/u16-stpcpy-tests: Likewise.
	* modules/unistr/u16-stpncpy-tests: Likewise.
	* modules/unistr/u16-strcat-tests: Likewise.
	* modules/unistr/u16-strcmp-tests: Likewise.
	* modules/unistr/u16-strcoll-tests: Likewise.
	* modules/unistr/u16-strcpy-tests: Likewise.
	* modules/unistr/u16-strdup-tests: Likewise.
	* modules/unistr/u16-strlen-tests: Likewise.
	* modules/unistr/u16-strmblen-tests: Likewise.
	* modules/unistr/u16-strmbtouc-tests: Likewise.
	* modules/unistr/u16-strncat-tests: Likewise.
	* modules/unistr/u16-strncmp-tests: Likewise.
	* modules/unistr/u16-strncpy-tests: Likewise.
	* modules/unistr/u16-strnlen-tests: Likewise.
	* modules/unistr/u16-to-u32-tests: Likewise.
	* modules/unistr/u16-to-u8-tests: Likewise.
	* modules/unistr/u16-uctomb-tests: Likewise.
	* modules/unistr/u32-check-tests: Likewise.
	* modules/unistr/u32-chr-tests: Likewise.
	* modules/unistr/u32-cmp-tests: Likewise.
	* modules/unistr/u32-cmp2-tests: Likewise.
	* modules/unistr/u32-cpy-alloc-tests: Likewise.
	* modules/unistr/u32-cpy-tests: Likewise.
	* modules/unistr/u32-mblen-tests: Likewise.
	* modules/unistr/u32-mbsnlen-tests: Likewise.
	* modules/unistr/u32-mbtouc-tests: Likewise.
	* modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
	* modules/unistr/u32-mbtoucr-tests: Likewise.
	* modules/unistr/u32-move-tests: Likewise.
	* modules/unistr/u32-next-tests: Likewise.
	* modules/unistr/u32-prev-tests: Likewise.
	* modules/unistr/u32-set-tests: Likewise.
	* modules/unistr/u32-stpcpy-tests: Likewise.
	* modules/unistr/u32-stpncpy-tests: Likewise.
	* modules/unistr/u32-strcat-tests: Likewise.
	* modules/unistr/u32-strcmp-tests: Likewise.
	* modules/unistr/u32-strcoll-tests: Likewise.
	* modules/unistr/u32-strcpy-tests: Likewise.
	* modules/unistr/u32-strdup-tests: Likewise.
	* modules/unistr/u32-strlen-tests: Likewise.
	* modules/unistr/u32-strmblen-tests: Likewise.
	* modules/unistr/u32-strmbtouc-tests: Likewise.
	* modules/unistr/u32-strncat-tests: Likewise.
	* modules/unistr/u32-strncmp-tests: Likewise.
	* modules/unistr/u32-strncpy-tests: Likewise.
	* modules/unistr/u32-strnlen-tests: Likewise.
	* modules/unistr/u32-to-u16-tests: Likewise.
	* modules/unistr/u32-to-u8-tests: Likewise.
	* modules/unistr/u32-uctomb-tests: Likewise.
	* modules/uniwbrk/u8-wordbreaks-tests: Likewise.
	* modules/uniwbrk/u16-wordbreaks-tests: Likewise.
	* modules/uniwbrk/u32-wordbreaks-tests: Likewise.
	* modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
	* modules/uniwidth/u8-strwidth-tests: Likewise.
	* modules/uniwidth/u8-width-tests: Likewise.
	* modules/uniwidth/u16-strwidth-tests: Likewise.
	* modules/uniwidth/u16-width-tests: Likewise.
	* modules/uniwidth/u32-strwidth-tests: Likewise.
	* modules/uniwidth/u32-width-tests: Likewise.
	* modules/uniwidth/width-tests: Likewise.

2010-05-18  Richard Jones  <rjones@redhat.com>

	doc: users.txt: list hivex
	* users.txt: Add hivex.

2010-05-18  Richard Jones  <rjones@redhat.com>

	doc: users.txt: list febootstrap
	* users.txt: Add febootstrap.

2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>

	bootstrap: fix an error when gnulib is not used as a git submodule
	* build-aux/bootstrap (gnulib_path): If its length is zero then
	assign "gnulib" to it.
	* build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.

2010-05-16  Bruno Haible  <bruno@clisp.org>

	Avoid autoconf warnings about AM_ICONV.
	* m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
	2.64.

2010-05-16  Bruno Haible  <bruno@clisp.org>

	absolute-header: Make the macro usable in more situations.
	* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
	from gl_ABSOLUTE_HEADER.
	(gl_ABSOLUTE_HEADER): Use it. Fix comment.

2010-05-16  James Youngman  <jay@gnu.org>

	doc: update users.txt
	* users.txt: Add CSSC.

2010-05-16  Jim Meyering  <meyering@redhat.com>

	init.sh: fix an error in the previous change; add more comments
	* tests/init.sh: Compare exit code in loop against 9, not 2.
	Patch by Bruno Haible.
	Make the two tests more similar by adding an empty "then" clause.
	Add comments.

	init.sh: avoid unnecessary shell re-exec
	* tests/init.sh: Improve the re-exec-required check to first test the
	current shell.  If it passes the test, do not search for a shell that
	does pass, and do not re-exec.  This test is particularly contorted to
	avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
	of $(...) evokes a syntax error and causes immediate shell exit with
	status 2.  Bruno Haible reported that the re-exec made it impossible
	to single-step through any init.sh-using script.

2010-05-16  Bruno Haible  <bruno@clisp.org>

	Fix collision between gnulib's and libintl's printf replacements.
	* lib/stdio.in.h (_GL_STDIO_STRINGIZE,
	_GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
	(printf): When using GNU C, map the __printf__ function to rpl_printf
	via __asm__. When not using GNU C, define rpl_printf instead of
	__printf__.
	* lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
	commit.
	* lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
	commit.
	* m4/asm-underscore.m4: New file.
	* m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
	* modules/stdio (Files): Add m4/asm-underscore.m4.
	(Makefile.am): Substitute ASM_SYMBOL_PREFIX.
	Reported by Ben Pfaff.

2010-05-16  Bruno Haible  <bruno@clisp.org>

	verify: Avoid skipping the test on openSUSE 11.0.
	* tests/test-verify.sh: Unset MALLOC_PERTURB_.

2010-05-13  Bruno Haible  <bruno@clisp.org>

	Avoid useless warnings from G++.
	* build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
	use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
	Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.

2010-05-11  Jim Meyering  <meyering@redhat.com>

	maint.mk: tweak preceding change
	* top/maint.mk (gl_extract_significant_defines_): Make exclusion
	regexps tighter by anchoring at EOL, and make the new group "shy"
	for slightly decreased overhead.

2010-05-11  Eric Blake  <eblake@redhat.com>

	maint.mk: gnulib doesn't guarantee NSIG
	* top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.

2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>

	test-pwrite.c: Remove unused variable declaration.
	* tests/test-pwrite.c (main): Remove read_buf declaration.

	Remove useless test-pwrite.sh file.
	* tests/test-pwrite.sh: Delete file.
	* modules/pwrite-tests: Remove references.
	Reported by Bruno Haible.

2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>

	init.sh: fix a typo
	* tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.

2010-05-10  Jim Meyering  <meyering@redhat.com>

	maint.mk: avoid using a temporary file in the always-defined-macros check
	* top/maint.mk (.re-defmac): Remove rule.
	(gl_trap_): Remove definition.
	(sc_prohibit_always-defined_macros): Rewrite not to create and
	depend on a temporary file.  Instead, depend on GNU grep's ability
	to read a list of regular expressions from stdin when given "-f -".

2010-05-09  Bruno Haible  <bruno@clisp.org>

	Update to GNU gettext 0.18, part 1.
	* m4/gettext.m4: Update to GNU gettext 0.18.
	* m4/intl.m4: Likewise.
	* m4/po.m4: Likewise.
	* modules/gettext (Files): Add m4/fcntl-o.m4.
	(configure.ac): Require gettext infrastructure from version 0.18.

2010-05-09  Jim Meyering  <meyering@redhat.com>

	init.sh: enable MALLOC_PERTURB_
	* tests/init.sh: Enable glibc's malloc-perturbing option.

	maint.mk: improve sc_cross_check_PATH_usage_in_tests
	With my recent change in init.sh from the two-line form:
	    -#   : ${srcdir=.}
	    -#   . "$srcdir/init.sh"; path_prepend_ .
	    +#   . "${srcdir=.}/init.sh"; path_prepend_ .
	I noticed that using the one-line form would cause this test
	to fail with a false-positive, or to stop working altogether,
	depending on whether help-version changed or all the tests did.
	* top/maint.mk (_hv_regex): Remove this definition.
	(_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
	(_hv_regex_strong): Use a stronger regex to check for conformance.
	(sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
	Give a separate diagnostic for lack of conforming use.

	maint.mk: prohibit definition of symbols defined by gnulib
	* top/maint.mk (sc_prohibit_always-defined_macros): Reject the
	definition of symbols defined by gnulib.

2010-05-09  Bruno Haible  <bruno@clisp.org>

	acl: Avoid test failure on Cygwin-hosted mingw.
	* tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.

2010-05-09  Bruno Haible  <bruno@clisp.org>

	error: Use system's fcntl function.
	* lib/error.c (fcntl): Undefine.

2010-05-09  Jim Meyering  <meyering@redhat.com>

	verify: adjust formatting to be more consistent
	* lib/verify.h (_GL_GENSYM): Add a space before each of a few
	argument-list '('s, and after one comma.

2010-05-09  Bruno Haible  <bruno@clisp.org>

	error: More reliable output on mingw.
	* lib/error.c: Include <windows.h>.
	(is_open): New function.
	(flush_stdout): Call it instead of fcntl, also if F_GETFL is not
	defined.

2010-05-09  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Fix syntax errors in libintl build on mingw.
	* lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
	pad_ourselves and prec_ourselves after use.

2010-05-08  Bruno Haible  <bruno@clisp.org>

	* lib/config.charset: Update comments for Cygwin 1.7.
	* lib/localcharset.c: Likewise.

2010-05-07  Jim Meyering  <meyering@redhat.com>

	init.sh: improve comments
	* tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
	. "${srcdir=.}/init.sh"; path_prepend_ .
	Add a note about path_prepend_ and the alternative of using
	TESTS_ENVIRONMENT.

2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	exclude: Unescape hashed patterns in wildcard mode.
	* lib/exclude.c (add_exclude): Unescape the pattern before adding it
	to the hash list.
	* tests/test-exclude8.sh: New test case.
	* modules/exclude-tests: Add new test.

2010-05-05  Eric Blake  <eblake@redhat.com>

	verify: automate tests
	* modules/verify-tests: New module.
	* tests/test-verify.sh: New file.
	* tests/test-verify.c: Guard each negative test with a unique id.
	Also avoid warning about unused left hand of comma expressions.

2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>

	Further improvements to verify.h, suggested by Eric Blake.
	* lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
	the GL_* versions, to avoid collision with OpenGL.
	(_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
	__COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
	than testing merely whether it's defined.

	Modify verify.h to pacify gcc -Wredundant_decls.
	* lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
	These use the prefix "GL_" since they're likely to be useful elsewhere.
	We may need to break them out into a different .h file.
	(__COUNTER__): Define to 0 if the compiler doesn't support it.
	(verify) [!defined __cplusplus]: Use them to avoid duplicate decls
	of verify_function__.

2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>

	Tests for module pwrite.
	* modules/pwrite-tests: New file.
	* tests/test-pwrite.sh: New file.
	* tests/test-pwrite.c: New file.

	New module pwrite.
	* lib/unistd.in.h (pwrite): New declaration.
	* lib/pwrite.c: New file, from glibc with modifications.
	* m4/pwrite.m4: New file.
	* m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
	(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
	REPLACE_PWRITE.
	* modules/pwrite: New file.
	* modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
	REPLACE_PWRITE.
	* tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
	* doc/posix-functions/pwrite.texi: Mention the new module.

2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>

	pread: Update documentation.
	* doc/posix-functions/pread.texi: Mention the 'pread' module.

2010-05-04  Eric Blake  <eblake@redhat.com>

	docs: update cygwin progress
	* doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
	this bug.
	* doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
	Added in cygwin 1.7.2.
	* doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
	Likewise.
	* doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
	Likewise.
	* doc/glibc-functions/dup3.texi (dup3): Likewise.
	* doc/glibc-functions/pipe2.texi (pipe2): Likewise.
	* doc/glibc-functions/accept4.texi (accept4): Likewise.
	* doc/posix-functions/strfmon.texi (strfmon): Likewise.
	* doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
	Mention nproc module.
	* doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
	bug in cygwin 1.7.5 addition.
	* doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
	* doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
	* doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
	* doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
	1.7.5.
	* doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
	* doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
	* doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
	* doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
	* doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
	* doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
	* doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
	* doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
	* doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
	* doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
	* doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
	* doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
	* doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
	* doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
	* doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
	Likewise.
	* doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
	* doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
	* doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
	* doc/glibc-functions/xdr_reference.texi (xdr_reference):
	Likewise.
	* doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
	* doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
	* doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
	* doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
	* doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
	* doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
	* doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
	* doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
	Likewise.
	* doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
	* doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
	* doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
	* doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
	* doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
	Likewise.
	* doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
	Likewise.
	* doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
	Likewise.
	* doc/glibc-functions/xdrrec_endofrecord.texi
	(xdrrec_endofrecord): Likewise.
	* doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
	* doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
	Likewise.
	* doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
	Likewise.

2010-05-04  Jim Meyering  <meyering@redhat.com>

	gendocs.sh: make its "-s FILE" option more useful
	* build-aux/gendocs.sh: When honoring the -s FILE option, update
	$PACKAGE to reflect the probably-different basename of "FILE".

2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>

	bootstrap: don't ignore download_po_files failure
	* build-aux/bootstrap (update_po_files): Don't ignore download_po_files
	failure.

2010-05-03  Jim Meyering  <meyering@redhat.com>

	maint.mk: allow to pass options to gendocs.sh
	* top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
	(gendocs_options_): New overridable variable.

	gnu-web-doc-update: don't ignore configure or build failure
	* build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.

	announce-gen: backslash-escape '@'s in --help output
	* build-aux/announce-gen: Fix syntax errors.

	maint.mk, announce-gen: allow project-specific announcement mail headers
	* top/maint.mk (translation_project_): Define default.
	(announcement_Cc_, announcement_mail_headers_): Likewise.
	(announcement): Invoke announce-gen with new --mail-headers option.
	* build-aux/announce-gen: New option: --mail-headers=HEADERS.

	test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
	* tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
	"> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
	on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
	line in the "err2" output file when running "make check" in verbose
	mode (i.e., with set -x enabled).

2010-05-03  Bruno Haible  <bruno@clisp.org>

	wctob: Fix for weird platforms.
	* lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
	argument value.

2010-05-03  Jim Meyering  <meyering@redhat.com>

	maint.mk: prohibit unwarranted use of <strings.h>
	* top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
	strings.h in a file that does not also use strcasecmp, strncasecmp,
	ffs or ffsll.

	maint.mk: remove obsolete comments
	* top/maint.mk: Remove stale, commented-out rules.

2010-05-02  Bruno Haible  <bruno@clisp.org>

	wcwidth: Declare also when it's aliased.
	* lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
	macro.

2010-05-02  Bruno Haible  <bruno@clisp.org>

	Fix regression from 2010-04-25.
	* gnulib-tool (func_modules_transitive_closure): Check the status of
	all modules, not only of the tests that are of the form foo-tests where
	foo is a module.

2010-05-02  Bruno Haible  <bruno@clisp.org>

	wctob: Work around nasty Cygwin 1.7.2 bug.
	* m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
	* doc/posix-functions/wctob.texi: Mention the Cygwin bug.

2010-05-01  Bruno Haible  <bruno@clisp.org>

	fpurge: Sharper test.
	* tests/test-fpurge.c (main): Add one more ftell check.
	* modules/fpurge-tests (Depends-on): Add ftell.
	Suggested by Eric Blake.

2010-05-01  Bruno Haible  <bruno@clisp.org>

	ftello: Another test.
	* tests/test-ftello3.c: New file.
	* modules/ftello-tests (Files): Add it.
	(Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
	MOSTLYCLEANFILES.

	ftell: Another test.
	* tests/test-ftell3.c: New file.
	* modules/ftell-tests (Files): Add it.
	(Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
	MOSTLYCLEANFILES.

2010-05-01  Bruno Haible  <bruno@clisp.org>

	ftell, ftello: Work around Solaris bug.
	* m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
	* lib/ftello.c: Include stdio-impl.h.
	(ftello): On Solaris, when _IOWRT is set, compute the result without
	looking at _IOREAD.
	* modules/ftello (Files): Add lib/stdio-impl.h.
	* doc/posix-functions/ftell.texi: Mention Solaris bug.
	* doc/posix-functions/ftello.texi: Likewise.
	Reported by Eric Blake.

2010-05-01  Bruno Haible  <bruno@clisp.org>

	freading: Adapt to special meaning of _IOREAD flag on Solaris.
	* lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
	the _IOWRT flag is also set.

2010-05-01  Bruno Haible  <bruno@clisp.org>

	Fix doc about a HP-UX stdio bug.
	* doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
	* doc/posix-functions/ftello.texi: Likewise.

2010-05-01  Bruno Haible  <bruno@clisp.org>

	lseek test: Fix failure on Solaris.
	* tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
	output.

2010-04-30  Jim Meyering  <meyering@redhat.com>

	bootstrap: don't ignore failure to generate po*/Makevars
	* build-aux/bootstrap (with_gettext): Don't ignore failure
	to create po/Makevars or runtime-po/Makevars.

2010-04-29  Eric Blake  <eblake@redhat.com>

	headers: relax license to LGPLv2+
	* modules/fcntl-h (License): Relax license.
	* modules/getopt-posix (License): Likewise.
	* modules/locale (License): Likewise.
	* modules/math (License): Likewise.
	* modules/pty (License): Likewise.
	* modules/sched (License): Likewise.
	* modules/search (License): Likewise.
	* modules/spawn (License): Likewise.
	* modules/stdarg (License): Likewise.
	* modules/sysexits (License): Likewise.

2010-04-29  Jim Meyering  <meyering@redhat.com>

	inttypes: relax license to LGPLv2+
	* modules/inttypes (License): Relax license.

2010-04-29  Simon Josefsson  <simon@josefsson.org>

	* top/maint.mk (indent): Run twice to produce idempotent results.

2010-04-28  Bruno Haible  <bruno@clisp.org>

	getdate: Generate getdate.c in the source directory.
	* modules/getdate (Makefile.am): Add rule for getdate.c. Augment
	MOSTLYCLEANFILES.
	Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.

2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)

	* lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
	is not declared as a const *; avoid warnings in that case.

2010-04-28  Eric Blake  <eblake@redhat.com>

	canonicalize-lgpl: avoid compiler warning
	* lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
	declaration' / 'extraneous semicolon' warning with some compilers.
	Reported by Andreas Gruenbacher.

2010-04-28  Jim Meyering  <meyering@redhat.com>

	init.sh: ensure a more reliable exit status when exiting via trap
	* tests/init.sh (setup_): Don't rely on $? in signal handler.
	Inspired by patches from Dmitry V. Levin.
	Also trap on signal 3 (SIGQUIT).

2010-04-27  Bruno Haible  <bruno@clisp.org>

	Update doc about utimes().
	* doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
	'utimens' module.
	Reported by Andreas Gruenbacher <agruen@suse.de>.

2010-04-27  Eric Blake  <eblake@redhat.com>

	full-read, full-write: relax license
	* modules/full-read (License): Drop to LGPLv2+.
	* modules/full-write (License): Likewise.
	* modules/safe-read (License): Likewise.
	* modules/safe-write (License): Likewise.

	pthread: mention library for linking
	* modules/pthread (Link): Mention $(LIB_PTHREAD).

2010-04-27  Jim Meyering  <meyering@redhat.com>

	maint.mk: fix a bug introduced in last change
	* top/maint.mk (gl_assured_headers_): Now that all names are on
	one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
	is not anchored to end of word, it should be adequate.

	maint.mk: avoid side-effect in latest syntax-check
	* top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
	to run commands via $(shell...), and hence to incur cost only when
	the new rule is actually run.

	maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
	Derive the list of guaranteed header names from gnulib/lib/*.in.h,
	and use that to create a regexp used to detect all #if HAVE_..._H uses.
	* top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
	(gl_assured_headers_, az_, AZ_): Define.
	(gl_header_upper_case_or_, gl_have_header_regex_): Define.

2010-04-26  Jim Meyering  <jim@meyering.net>
	    Bruno Haible  <bruno@clisp.org>

	gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
	Prompted by an exchange with Gilles Espinasse.

2010-04-26  Jim Meyering  <meyering@redhat.com>

	git-version-gen: aesthetic tweak
	* build-aux/git-version-gen: Use "$nl" rather than a literal,
	so that the command remains on a single line.

2010-04-26  Eric Blake  <eblake@redhat.com>

	git-version-gen: allow use on EBCDIC hosts
	* build-aux/git-version-gen (dirty): Use literal rather than tying
	ourselves to ascii.
	Reported by Steve Goetze.

2010-04-25  Bruno Haible  <bruno@clisp.org>

	netdb: Add support for GNULIB_POSIXCHECK.
	* lib/netdb.in.h: Include warn-on-use.h.
	(getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
	functions are used when GNULIB_POSIXCHECK is defined and the
	getaddrinfo module is not in use.
	* m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
	freeaddrinfo, gai_strerror, getnameinfo are declared.
	* modules/netdb (Depends-on): Add warn-on-use.
	(Makefile.am): Include warn-on-use.h in netdb.h.

2010-04-24  Ian Beckwith  <ianb@erislabs.net>

	build: avoid "make check" failure without .git/ directory
	* Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
	there is no .git/ directory.

2010-04-25  Bruno Haible  <bruno@clisp.org>

	ptsname: Fix misuse of ttyname_r.
	* lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
	of errno.

2010-04-25  Bruno Haible  <bruno@clisp.org>

	ttyname_r: Make it work on Solaris 10.
	* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
	if the system function has the POSIX declaration. Test whether the
	function fails if the buffer is less than 128 bytes large.
	* lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
	system's ttyname_r function. Provide a reasonably large buffer.
	* modules/ttyname_r (Depends-on): Add extensions.
	* doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.

2010-04-25  Bruno Haible  <bruno@clisp.org>

	Use the 'extensions' module for some more functions on Solaris.
	* doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
	module.
	* doc/posix-functions/ctime_r.texi: Likewise.
	* doc/posix-functions/getgrgid_r.texi: Likewise.
	* doc/posix-functions/getgrnam_r.texi: Likewise.
	* doc/posix-functions/getpwnam_r.texi: Likewise.
	* doc/posix-functions/getpwuid_r.texi: Likewise.
	* doc/posix-functions/readdir_r.texi: Likewise.
	* doc/posix-functions/sigwait.texi: Likewise.
	* m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
	* doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.

2010-04-25  Bruno Haible  <bruno@clisp.org>

	ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
	* m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
	has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
	* lib/ttyname_r.c: Include <limits.h>.
	(ttyname_r): Define using the system's ttyname_r function, if it exists
	and not on Solaris.
	* lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
	set.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
	* modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
	* doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
	Reported by Simon Josefsson.

2010-04-25  Bruno Haible  <bruno@clisp.org>

	Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
	* doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
	* doc/posix-functions/ctime_r.texi: Likewise.
	* doc/posix-functions/getgrgid_r.texi: Likewise.
	* doc/posix-functions/getgrnam_r.texi: Likewise.
	* doc/posix-functions/getlogin_r.texi: Likewise.
	* doc/posix-functions/getpwnam_r.texi: Likewise.
	* doc/posix-functions/getpwuid_r.texi: Likewise.
	* doc/posix-functions/readdir_r.texi: Likewise.
	* doc/posix-functions/sigwait.texi: Likewise.
	* doc/posix-functions/ttyname_r.texi: Likewise.
	Reported by Simon Josefsson.

2010-04-25  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Don't include hairy tests of dependencies in testdirs.
	* gnulib-tool (func_usage): Document that --with-*-tests options apply
	also to --create-testdir.
	(func_acceptable): Don't consider the status of *-tests modules here.
	(func_modules_transitive_closure): Consider it here, before including a
	test module.
	(func_import, func_create_testdir): Set inc_all_direct_tests,
	inc_all_indirect_tests.
	* doc/gnulib.texi (Extra tests modules): Document new behaviour of
	--create-testdir and --create-megatestdir.

2010-04-25  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Add --without-*-tests options.
	* gnulib-tool (func_usage): Document the --without-*-tests options.
	(excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
	excl_unportable_tests): New variables.
	Fail if they are specified with --import or --update.
	(func_acceptable): Respect the excl_*_tests variables.
	(func_import): Set the excl_*_tests variables to empty.

2010-04-25  Simon Josefsson  <simon@josefsson.org>
	    Bruno Haible  <bruno@clisp.org>

	Work around a MacOS X 10.4 bug with openpty.
	* doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
	* tests/test-openpty.c (main): Close the master side explicitly.

2010-04-25  Bruno Haible  <bruno@clisp.org>

	strnlen: Fix a C++ test error on MacOS X and Solaris.
	* m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
	the function is not declared.
	Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
	Simon Josefsson.

2010-04-24  Bruno Haible  <bruno@clisp.org>

	Avoid a gcc warning.
	* tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
	of correct type for %08lx directive.
	Reported by Eric Blake.

2010-04-24  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Correct errno value in case of out-of-memory.
	* lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
	or sprintf. Use the errno value from SNPRINTF or sprintf.
	Reported by Ian Beckwith <ianb@erislabs.net>.

2010-04-24  Bruno Haible  <bruno@clisp.org>

	ansi-c++-opt: Find correct compiler when cross-compiling.
	* m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
	AC_CHECK_PROGS.
	Reported by Simon Josefsson.

2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>

	vc-list-files: Add support for subversion
	* build-aux/vc-list-files: Use "svn list" to generate the list of
	files controlled by subversion.

2010-04-23  Jim Meyering  <meyering@redhat.com>

	vc-list-files tests: convert to use init.sh
	* tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
	path_prepend_.
	Use Exit, not exit.
	Use skip_ rather than open coding it.
	Remove trap set-up and compare definitions.
	* tests/test-vc-list-files-git.sh: Likewise.
	* modules/vc-list-files-tests (Files): Add tests/init.sh.

2010-04-22  Simon Josefsson  <simon@josefsson.org>

	* top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
	backup files.

2010-04-21  Simon Josefsson  <simon@josefsson.org>

	* tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.

2010-04-20  Eric Blake  <eblake@redhat.com>

	tests: be robust to ignored SIGPIPE
	* tests/test-select-in.sh: Consume all output.
	* tests/test-lseek.sh: Check correct exit status, while avoiding
	EPIPE.

2010-04-20  Simon Josefsson  <simon@josefsson.org>
	    Bruno Haible  <bruno@clisp.org>

	visibility: Don't use -fvisibility if it leads to a warning.
	* m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
	yes, don't pretend that visibility works if it leads to a warning.
	Reported by Mike Gran <spk121@yahoo.com>.

2010-04-20  Andreas Gruenbacher  <agruen@suse.de>

	* build-aux/bootstrap: Use "git -h" for testing for supported options
	instead of "git --help".  The short-form option only shows a summary,
	and doesn't layout the full man page.  Grep for the full option name
	in the summary, too.

2010-04-19  Bruno Haible  <bruno@clisp.org>

	relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
	* m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
	* doc/relocatable-maint.texi (Supporting Relocation): Remove the
	mention of RELOCATABLE_STRIP.
	Reported by Sylvain Beucler <beuc@beuc.net>.

2010-04-19  Bruno Haible  <bruno@clisp.org>

	* lib/diffseq.h: Fix typo in comment.
	Reported by Eric Blake.

2010-04-19  Bruno Haible  <bruno@clisp.org>

	ioctl: Move autoconf macro to a .m4 file.
	* m4/ioctl.m4: New file, extracted from modules/ioctl.
	* modules/ioctl (Files): Add it.
	(configure.ac): Simply invoke gl_FUNC_IOCTL.
	Reported by Ian Beckwith <ianb@erislabs.net>.

2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
	    Bruno Haible  <bruno@clisp.org>

	diffseq: Accommodate use-case with abstract arrays.
	* lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
	is not defined.
	(diag, compareseq): Remove local variables xv, yv if ELEMENT is not
	defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.

2010-04-18  Bruno Haible  <bruno@clisp.org>

	* doc/posix-headers/stdbool.texi: More precise wording.

2010-04-17  Jim Meyering  <meyering@redhat.com>

	maint.mk: use gnu-style indentation in an embedded perl script
	* top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
	Rename variable: s/two/last_two_bytes/

2010-04-16  Eric Blake  <eblake@redhat.com>

	test-stdbool: skip test that fails with Solaris CC
	* tests/test-stdbool.c (f): Skip test that causes compilation
	error under buggy C++ compiler.
	* lib/stdbool.in.h: Document the limitation.
	* doc/posix-headers/stdbool.texi (stdbool.h): Likewise.

	setenv: allow compilation with C++
	* lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
	register keyword.

	stdint: allow test to pass with C++
	* tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.

	getopt: allow compilation with C++
	* lib/getopt_int.h (__ordering): Hoist enum declaration outside
	struct.
	* lib/getopt.c (_getopt_internal_r): Use correct type.
	Reported by Dagobert Michelson, via Joel E. Denny.

2010-04-16  Bruno Haible  <bruno@clisp.org>

	Override netdb.h always.
	* modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
	* m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
	Reported by Ludovic Courtès <ludo@gnu.org>.

2010-04-15  Bruno Haible  <bruno@clisp.org>

	openpty: Fix mistake from 2010-03-21.
	* m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
	Reported by Simon Josefsson.

2010-04-15  Eric Blake  <eblake@redhat.com>

	test-forkpty: fix expected signature
	* tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
	Reported by Simon Josefsson.

2010-04-15  Jim Meyering  <meyering@redhat.com>

	maint.mk: texinfo_suffix_re_: correct the default regexp
	* top/maint.mk (texinfo_suffix_re_): Fix default regexp.

	* top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
	make it configurable via texinfo_suffix_re_.

2010-04-14  Eric Blake  <eblake@redhat.com>

	strtok_r: relax license to LGPLv2+
	* modules/strtok_r (License): Relax license.
	Reported by Matthias Bolte.

2010-04-14  Simon Josefsson  <simon@josefsson.org>

	* lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
	version 1.4.4 by default instead of requiring the libgcrypt
	version used during build.  This makes it possible to use the
	application with older but still binary compatible libgcrypt
	versions.

2010-04-13  Eric Blake  <eblake@redhat.com>

	getopt-gnu: match recent glibc fixes and posix ruling
	* tests/test-getopt.h (test_getopt): Strengthen tests of leading
	'+' handling, when requesting extensions.
	* tests/test-getopt_long.h (test_getopt_long): Strengthen test of
	'W;' handling.
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
	* doc/posix-functions/getopt.texi (getopt): Document this.
	* doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
	* doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
	Likewise.

	getopt: merge bug fixes from glibc
	* lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
	diagnostics.  Honor '+:' correctly.  Reject ';'.

	getopt-posix: detect MacOS bug
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
	optind when missing a required argument.
	* doc/posix-functions/getopt.texi (getopt): Document the bug.
	* doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
	* doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
	Likewise.

	getopt-posix: avoid spurious failure on Solaris
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
	an indicator that setting optind=1 is sufficient for reset.

	getopt-posix: avoid spurious failure on FreeBSD
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
	in POSIX mode, since the m4 test uses it.

	gnulib-tool: silence warning on BSD sh
	* gnulib-tool: Avoid leaking warning about unknown 'declare'.

2010-04-13  Jim Meyering  <meyering@redhat.com>

	doc: users.txt: GNU patch now uses gnulib
	* users.txt: Add patch.

2010-04-12  Jim Meyering  <meyering@redhat.com>

	maint.mk: generate more concise timing data for syntax-check rules
	* top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
	" done" from each line that reports a syntax-check test duration.

2010-04-12  Andreas Gruenbacher  <agruen@suse.de>

	git-version-gen: use "git update-index..." rather than "git status"
	* build-aux/git-version-gen: Use git update-index --refresh, not
	"git status".  With some versions of git, "git status" would fail
	to update the index and result in an unwarranted "-dirty" suffix.

2010-04-11  Jim Meyering  <meyering@redhat.com>

	openat: correct formatting (no semantic change)
	* m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
	Suggested by Bruno Haible.

2010-04-11  Bruno Haible  <bruno@clisp.org>

	Stricter declaration checking in testdirs.
	* gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
	If for_tests is true, augment AM_CPPFLAGS to define
	GNULIB_STRICT_CHECKING.
	* build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
	GNULIB_STRICT_CHECKING is defined, verify that the function is
	declared.

2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	libunistring: Improve configure output.
	* m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
	Don't say "consider installing GNU libunistring" when checking again
	with libiconv.

2010-04-11  Bruno Haible  <bruno@clisp.org>

	libunistring: Correct value of $LTLIBUNISTRING.
	* m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
	correct the value of $LTLIBUNISTRING.

2010-04-11  Bruno Haible  <bruno@clisp.org>

	havelib: Add static libraries to LIBS in the right order.
	* m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
	-l options, prepend it to $LIBS, instead of appending it to $LIBS.

2010-04-11  Bruno Haible  <bruno@clisp.org>

	libunistring: Detect libunistring also when it depends on libiconv.
	* m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
	the second AC_LIB_HAVE_LINKFLAGS invocation.

2010-04-11  James Youngman  <jay@gnu.org>

	close-stream: declare local scalars to be "const"
	* lib/close-stream.c (close_stream): Make boolean variables const
	to document the fact that we set but do not change them.

2010-04-11  Bruno Haible  <bruno@clisp.org>

	* m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.

2010-04-11  Jim Meyering  <meyering@redhat.com>

	maint.mk: don't include dist-check.mk
	* top/maint.mk: Remove bogus include directive.

	maint.mk: improve empty-line-at-EOF check
	* top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
	solution, rather than tail+Perl-based one.  The latter would read
	a few kilobytes from the end of each file, and did not handle empty
	files properly.

	maint.mk: print the elapsed time for each syntax-check rule
	* top/maint.mk (sc_m_rules_): Save start time in a file.
	(sc_z_rules_): New rules: remove temp file and print elapsed time.
	(local-check): Interpose the .z rules

2010-04-11  Jim Meyering  <meyering@redhat.com>

	maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
	* top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
	empty file with one that ends in an empty line.

2010-04-10  Bruno Haible  <bruno@clisp.org>

	mkdir: Make it work on mingw64.
	* lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
	* lib/mkdir.c: Update comment.
	Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.

2010-04-10  Bruno Haible  <bruno@clisp.org>

	Don't override improved macro from newer autoconf.
	* m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
	autoconf >= 2.62.
	Reported by Joel E. Denny <jdenny@clemson.edu>.

2010-04-10  Jim Meyering  <meyering@redhat.com>

	maint.mk: new syntax-check rule: prohibit empty lines at end of file
	* top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.

	maint.mk: correct a diagnostic
	* top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
	in diagnostic; now use $prohibit.

2010-04-10  Bruno Haible  <address@hidden>

	fchownat: Fix a C++ test error on Solaris 8.
	* m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
	the function does not exist.

2010-04-10  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Add more tests.
	* tests/test-vasnprintf-posix.c: Include <errno.h>.
	(test_function): Test converting an invalid wide string.

	vasnprintf: Correct handling of unconvertible wide string arguments.
	* lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
	VASNPRINTF.
	(VASNPRINTF): Use it. After snprintf failed, allocate more memory only
	if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
	smaller than the expected maximum need for the directive. Set errno to
	EILSEQ, not EINVAL, when the directive is 'c' or 's'.
	(local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
	gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
	* modules/vasnprintf (Files): Add m4/printf.m4.
	Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.

2010-04-10  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Fix crash in %ls directive.
	* lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
	string is passed as argument to %ls, with no precision and no width.
	Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.

2010-04-10  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Fix multiple test failures on mingw.
	* lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
	_snprintf, or snwprintf, not _snwprintf.

2010-04-10  Bruno Haible  <bruno@clisp.org>

	write: Fix a C++ test error on mingw.
	* lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.

2010-04-10  Bruno Haible  <bruno@clisp.org>

	vasnprintf test: Reduce code duplication.
	* tests/test-vasnprintf.c (test_function): New function, extracted from
	test_vasnprintf.
	(test_vasnprintf, test_asnprintf): Invoke it.

2010-04-10  Bruno Haible  <bruno@clisp.org>

	strnlen: Fix warning in C++ mode on MacOS X.
	* lib/string.in.h (strnlen): Use the modern idiom.
	* m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
	defining strnlen as a macro already in <config.h>.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
	REPLACE_STRNLEN.
	* modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
	Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.

2010-04-08  James Youngman  <jay@gnu.org>

	* doc/manywarnings.texi (manywarnings): Add missing parenthesis in
	the example.

2010-04-09  Jim Meyering  <meyering@redhat.com>

	maint.mk: print better diagnostic when there is no $(_hv_file)
	* top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
	announce that when $(_hv_file) (aka help-version) does not exist.

	init.sh: run tr in the "C" locale to avoid multibyte interpretation
	* tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
	not try to interpret its random input bytes.  Jarno Rajahalme reported
	that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
	on Darwin 10.3.0 with LC_CTYPE=UTF-8.
	(mktempd_): Likewise, just in case.

	ftruncate: add two years to projected module removal date: 2012
	* m4/ftruncate.m4: Adjust comments.

	ftruncate: mark module as obsolete; even MinGW provides it, now
	* modules/ftruncate (Status): Obsolete.
	(Notice): Say that.
	* doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203

2010-04-08  Bruno Haible  <bruno@clisp.org>

	Fix side effects from tests-related modules.
	* modules/dprintf-posix (Comment): New section.
	* modules/fprintf-posix (Comment): Likewise.
	* modules/obstack-printf-posix (Comment): Likewise.
	* modules/printf-posix (Comment): Likewise.
	* modules/snprintf-posix (Comment): Likewise.
	* modules/sprintf-posix (Comment): Likewise.
	* modules/vasnprintf-posix (Comment): Likewise.
	* modules/vasprintf-posix (Comment): Likewise.
	* modules/vdprintf-posix (Comment): Likewise.
	* modules/vfprintf-posix (Comment): Likewise.
	* modules/vprintf-posix (Comment): Likewise.
	* modules/vsnprintf-posix (Comment): Likewise.
	* modules/vsprintf-posix (Comment): Likewise.
	* modules/xprintf-posix (Comment): Likewise.
	* modules/xvasprintf-posix (Comment): Likewise.
	* modules/ceilf-tests (Depends-on): Remove fprintf-posix.
	* modules/floorf-tests (Depends-on): Likewise.
	* modules/round-tests (Depends-on): Likewise.
	* modules/roundf-tests (Depends-on): Likewise.
	* modules/trunc-tests (Depends-on): Likewise.
	* modules/truncf-tests (Depends-on): Likewise.
	* tests/test-ceilf2.c (check): Don't invoke fprintf if the
	'fprintf-posix' module is not present.
	* tests/test-floorf2.c (check): Likewise.
	* tests/test-trunc2.c (check): Likewise.
	* tests/test-truncf2.c (check): Likewise.
	* tests/test-round2.c (equal): Likewise.
	Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.

2010-04-07  Karl Berry  <karl@gnu.org>

	* config/srclist.txt,
	* config/srclistvars.sh,
	* config/srclist-update: doc fixes.

2010-04-07  Jim Meyering  <meyering@redhat.com>

	maint.mk: add a PATH crosschecking syntax-check rule
	* top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
	Useful if you use a test like the one in help-version (coreutils,
	diffutils, grep, gzip) that ensures $(VERSION) matches what is
	printed by prog --version.

2010-04-06  Bruno Haible  <bruno@clisp.org>

	Fix link error on mingw.
	* modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
	* modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.

2010-04-06  Bruno Haible  <bruno@clisp.org>

	Assume rmdir exists.
	* lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.

2010-04-06  Giuseppe Scrivano  <gscrivano@gnu.org>

	doc: update users.txt
	* users.txt: Add gcal.

2010-04-06  Jim Meyering  <meyering@redhat.com>

	init.sh: simply unset TMPDIR rather than risking env -i
	* tests/init.sh (mktempd_): Using env -i is rather harsh, and
	although it probably works fine on all Unix-based systems, some
	systems (Cygwin?) cannot tolerate a totally cleared environment.
	Suggestion from Eric Blake.

2010-04-06  Jim Meyering  <meyering@redhat.com>

	init.sh: portability fix: use env's POSIX-specified -i option not -u
	* tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
	than unportable env -u.  Solaris 5.11's env lacks support for -u.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	btowc: Work around Cygwin 1.7.2 bug.
	* m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
	does not map NUL to 0.
	* doc/posix-functions/btowc.texi: Mention the Cygwin bug.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	Make the multithread modules work on Cygwin 1.7.2.
	* m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
	imported symbols can be declared weak, so that it returns "no" on
	Cygwin 1.7.2.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	Use the module 'strncat'.
	* modules/unistr/u8-strncat (Depends-on): Add strncat.

	Tests for module 'strncat'.
	* modules/strncat-tests: New file.
	* tests/test-strncat.c: New file.

	New module 'strncat'.
	* lib/string.in.h (strncat): New declaration.
	* lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
	* m4/strncat.m4: New file, based on m4/memchr.m4.
	* modules/strncat: New file.
	* m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
	is declared.
	(gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
	REPLACE_STRNCAT.
	* modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
	REPLACE_STRNCAT.
	* doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
	module.
	* tests/test-string-c++.cc: Check signature of strncat.

2010-04-05  Jim Meyering  <meyering@redhat.com>

	xstrtoumax-tests: convert to use init.sh
	* modules/xstrtoumax-tests (Files): Add tests/init.sh.
	* tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
	Use Exit, not exit.
	Remove uses of $EXEEXT and "./" to run a program in the current dir.

	xstrtoimax-tests: convert to use init.sh
	* modules/xstrtoimax-tests (Files): Add tests/init.sh.
	* tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
	Use Exit, not exit.
	Remove uses of $EXEEXT and "./" to run a program in the current dir.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	sys_socket: Avoid #define replacements in C++ mode.
	* lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
	warning to the function if possible, rather than #defining the symbol
	to a dysfunctional alias.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	fseeko: Fix C++ test error on mingw.
	* m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
	gl_FUNC_FSEEKO.
	(gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
	(gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
	* m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
	fseeko module. Instead, invoke gl_REPLACE_FSEEKO.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	duplocale: Improve test output.
	* tests/test-duplocale.c (main): Print reason for skipped test.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	Assume rmdir exists.
	* m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
	* doc/posix-functions/rmdir.texi: Remove mention of "old platforms".

2010-04-05  Bruno Haible  <bruno@clisp.org>

	Fix link error on Solaris 8 with cc.
	* modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
	* lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	vasprintf: Update documentation.
	* doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	ptsname: Improve test.
	* tests/test-ptsname.c (main): Also try the various master names of BSD
	systems.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	memchr: Avoid a possible C++ test error.
	* lib/string.in.h (memchr): Provide declaration if function is missing.
	* m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
	HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
	* modules/string (Makefile.am): Substitute HAVE_MEMCHR.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	strtok_r: Improve idiom.
	* m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
	AC_LIBOBJ is used.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	strdup: Improve idiom.
	* m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
	AC_LIBOBJ is used.
	(gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
	compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
	when AC_LIBOBJ is used.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	mbsinit, mbrtowc, wcrtomb: Improve idioms.
	* m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
	don't set REPLACE_MBSINIT to 1.
	* m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
	don't set REPLACE_MBRTOWC to 1.
	* m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
	exist, don't set REPLACE_MBSRTOWCS to 1.
	* m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
	exist, don't set REPLACE_MBSNRTOWCS to 1.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
	don't set REPLACE_WCRTOMB to 1.
	* m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
	exist, don't set REPLACE_WCSRTOMBS to 1.
	* m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
	exist, don't set REPLACE_WCSNRTOMBS to 1.

2010-04-05  Bruno Haible  <bruno@clisp.org>

	ldexpl: Improve idiom.
	* m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
	make sure to set HAVE_DECL_LDEXPL to 0.

2010-04-05  Jim Meyering  <meyering@redhat.com>

	xstrtol-tests: convert to use init.sh
	* modules/xstrtol-tests (Files): Add tests/init.sh.
	* tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
	Use Exit, not exit.
	Remove uses of $EXEEXT and "./" to run a program in the current dir.

	atexit-tests: convert to use init.sh
	* modules/atexit-tests (Files): Add tests/init.sh.
	* tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
	Use Exit, not exit.
	Remove uses of $EXEEXT and "./" to run a program in the current dir.

	init.sh: fix typo
	* tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.

	init.sh: make it easier for a test script to write to the tty, ...
	when using automake's parallel-tests mode.
	* tests/init.sh (stderr_fileno_): Define overridable variable.
	(warn_): New function, to use it.
	(fail_, skip_, framework_failure_): Use warn_.

2010-04-04  Bruno Haible  <bruno@clisp.org>

	btowc: Avoid warning.
	* lib/btowc.c: Include <stdlib.h>.
	Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.

2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
	    Bruno Haible  <bruno@clisp.org>

	wchar: Port to NetBSD 1.5.
	* lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
	* lib/wctype.in.h (WEOF): Likewise.

2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
	    Bruno Haible  <bruno@clisp.org>

	Port extended stdio to NetBSD 1.5.
	* lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
	(struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
	older.

2010-04-04  Bruno Haible  <bruno@clisp.org>

	string: Remove unused substitution.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
	HAVE_DECL_STRERROR.
	* modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.

2010-04-04  Bruno Haible  <bruno@clisp.org>

	strtod: Avoid a possible C++ test error.
	* m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
	set REPLACE_STRTOD.

2010-04-04  Bruno Haible  <bruno@clisp.org>

	strerror: Update documentation.
	* doc/posix-functions/strerror.texi: Remove mention of old platforms.

2010-04-04  Bruno Haible  <bruno@clisp.org>

	stdio: Fix some C++ test errors on Solaris 8 with GCC.
	* lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
	_GL_CXXALIAS_SYS_CAST.

2010-04-04  Bruno Haible  <bruno@clisp.org>

	frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
	* m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
	function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
	REPLACE_FREXPL to 1.
	* doc/posix-functions/frexpl.texi: Update documentation.

2010-04-04  Bruno Haible  <bruno@clisp.org>

	math: Fix some C++ test errors on Solaris 8 and Cygwin.
	* lib/math.in.h (cosl, logl, sinl): Use simpler idiom.

2010-04-04  Bruno Haible  <bruno@clisp.org>

	Implement nanosleep for native Windows.
	* lib/nanosleep.c (nanosleep): New implementation for native Windows.

2010-04-04  Bruno Haible  <bruno@clisp.org>

	math: Fix some C++ test errors on Solaris 8.
	* lib/math.in.h (truncf, trunc): Use simpler idiom.

2010-04-04  Bruno Haible  <bruno@clisp.org>

	math: Fix some C++ test errors on Cygwin.
	* lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
	truncl): Provide declaration if the system does not have it.
	* m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
	HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
	* m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
	HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
	* m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
	HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
	* m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
	HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
	* m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
	HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
	HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
	HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
	HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
	HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
	HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
	* modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
	HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
	HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.

2010-04-04  Bruno Haible  <bruno@clisp.org>

	* m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
	* m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
	* m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
	* m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
	* m4/isfinite.m4 (gl_ISFINITE): Likewise.
	* m4/isinf.m4 (gl_ISINF): Likewise.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.

2010-04-04  Bruno Haible  <bruno@clisp.org>

	* m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
	* m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.

2010-04-04  Bruno Haible  <bruno@clisp.org>

	* m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
	* modules/tmpfile (configure.ac): Update.

	tmpfile: Fix C++ test error on mingw.
	* lib/stdio.in.h (tmpfile): New declaration.
	* m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
	REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
	* modules/tmpfile (Depends-on): Add stdio.
	(configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
	* m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
	(gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
	* modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
	REPLACE_TMPFILE.
	* tests/test-stdio-c++.cc (tmpfile): Verify signature.

2010-04-04  Bruno Haible  <bruno@clisp.org>

	ioctl: Fix C++ test error on mingw.
	* lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
	* lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
	use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	wcwidth: Fix C++ test error on mingw.
	* lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
	exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	nanosleep: Fix C++ test error on mingw.
	* lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
	* lib/time.in.h (nanosleep): Use modern idiom.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
	nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
	REPLACE_NANOSLEEP to 1.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
	* modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	strptime: Fix C++ test error on mingw.
	* lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
	* m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
	REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
	(gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
	not REPLACE_STRPTIME.
	* modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
	REPLACE_STRPTIME.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	timegm: Fix C++ test error on mingw.
	* lib/time.in.h (timegm): Use modern idiom.
	* m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
	HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
	* modules/time (Makefile.am): Substitute HAVE_TIMEGM.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	timegm: Assume declaration if function exists.
	* m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
	if it exists. Don't clobber ac_cv_func_timegm.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	time_r: Fix C++ test error on mingw.
	* lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
	* m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
	HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
	* modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	time_r: Minor updates.
	* modules/time_r (Description): Mention the provided functions.
	* lib/time_r.c: Don't include <string.h>.
	* doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
	* doc/posix-functions/localtime_r.texi: Likewise.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	time: Fix regression introduced on 2010-03-08.
	* m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
	gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.

2010-04-03  Jim Meyering  <meyering@redhat.com>

	maint.mk: don't silently disable project-specific syntax-check rules
	* top/maint.mk (_prohibit_regexp): Define, to help people realize
	that they need to convert their project-specific syntax-check rules
	to use the new _sc_search_regexp.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	fchdir: Fix regression introduced on 2010-03-08.
	* lib/unistd.in.h (fchdir): Fix declaration.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
	REPLACE_FCHDIR.
	* modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
	REPLACE_FCHDIR.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	getpagesize: Fix C++ test error on mingw.
	* lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
	system does not declare the function.
	* m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
	declared.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
	HAVE_DECL_GETPAGESIZE.
	* modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	stdio: Make C++ tests work on mingw.
	* lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
	does not declare the function.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	ftello: Fix C++ test error on mingw.
	* lib/stdio.in.h (ftello): Use modern idiom.
	* lib/ftello.c (ftello): Renamed from rpl_ftello.
	* m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
	is missing and that it needs to be replaced.
	(gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
	* modules/stdio (Makefile.am): Substitute HAVE_FTELLO.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	fseeko: Fix C++ test error on mingw.
	* lib/stdio.in.h (fseeko): Use modern idiom.
	* lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
	* m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
	is missing and that it needs to be replaced.
	(gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
	* modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	mkstemp: Fix C++ test error on mingw.
	* lib/stdlib.in.h (mkstemp): Use modern idiom.
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
	function is missing and that it needs to be replaced.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
	* modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	stpncpy: Fix C++ test error on mingw.
	* lib/string.in.h (stpncpy): Use modern idiom.
	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
	function is missing and that it needs to be replaced.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
	REPLACE_STPNCPY.
	* modules/string (Makefile.am): Substitute REPLACE_STPNCPY.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	sys_stat: Fix C++ test error on mingw.
	* build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
	* lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	pty: Update doc.
	* doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	unistd: Fix C++ test error on mingw.
	* lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	Update doc regarding mingw.
	* doc/glibc-functions/openpty.texi: Update regarding mingw.
	* doc/glibc-functions/login_tty.texi: Likewise.
	* doc/glibc-functions/forkpty.texi: Likewise.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	stdlib: Avoid compilation failure of c-strtold on mingw.
	* lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	locale: Make C++ tests work on Cygwin and mingw.
	* lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
	cannot provide the function.
	Reported by Simon Josefsson.

2010-04-03  Bruno Haible  <bruno@clisp.org>

	localename: Port to MacOS X 10.6.
	* lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
	memory layout of the locales in MacOS X 10.6 as well.
	Reported by Panu Kekäläinen <panu@kekalainen.eu>.

2010-04-02  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Ensure that long-running tests are executed last.
	* gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
	running tests after the one for the other tests.

2010-04-02  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Ensure the tests in the main directory are executed first.
	* gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
	start with the current directory.

2010-04-02  Bruno Haible  <bruno@clisp.org>

	Tests for module 'havelib', moved here from GNU gettext.
	* modules/havelib-tests: New file, from gettext/autoconf-lib-link with
	modifications.
	* tests/havelib/README: New file, from gettext/autoconf-lib-link.
	* tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
	with modifications.
	* tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
	modifications.
	* tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
	with modifications.
	* tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
	with modifications.
	* tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
	with modifications.
	* tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
	with modifications.
	* tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
	* tests/havelib/rpathx/rpathx.c: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathx/Makefile.am: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathx/configure.ac: New file, from
	gettext/autoconf-lib-link with modifications.
	* tests/havelib/rpathy/rpathy.c: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathy/Makefile.am: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathy/configure.ac: New file, from
	gettext/autoconf-lib-link with modifications.
	* tests/havelib/rpathz/rpathz.c: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathz/Makefile.am: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathz/configure.ac: New file, from
	gettext/autoconf-lib-link with modifications.
	* tests/havelib/rpathlx/usex.c: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathlx/Makefile.am: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathlx/configure.ac: New file, from
	gettext/autoconf-lib-link with modifications.
	* tests/havelib/rpathly/usey.c: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathly/Makefile.am: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathly/configure.ac: New file, from
	gettext/autoconf-lib-link with modifications.
	* tests/havelib/rpathlz/usez.c: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathlz/Makefile.am: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathlz/configure.ac: New file, from
	gettext/autoconf-lib-link with modifications.
	* tests/havelib/rpathlyx/usey.c: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathlyx/Makefile.am: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathlyx/configure.ac: New file, from
	gettext/autoconf-lib-link with modifications.
	* tests/havelib/rpathlzyx/usez.c: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathlzyx/Makefile.am: New file, from
	gettext/autoconf-lib-link.
	* tests/havelib/rpathlzyx/configure.ac: New file, from
	gettext/autoconf-lib-link with modifications.
	* tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
	with modifications.

2010-04-02  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Create distributed built sources also for the tests.
	* gnulib-tool (func_create_testdir): Also generate distributed built
	sources in the tests directory.

2010-04-02  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Obey user's environment variables.
	* gnulib-tool (func_create_testdir): When creating built sources,
	respect the environment variables for autoconf, automake, etc. given by
	the user.

2010-04-02  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Provide the value of --m4-base to modules.
	* gnulib-tool (func_import, func_create_testdir): Emit a definition
	of gl_m4_base.

2010-04-02  Eric Blake  <eblake@redhat.com>

	maint.mk: fix some fallout
	* NEWS: Document the incompatible change, and its effect on cfg.mk.
	* top/maint.mk (sc_prohibit_test_minus_ao): Update.

2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>

	maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
	* top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
	(sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
	(sc_cast_of_x_alloc_return_value): Likewise.
	(sc_cast_of_alloca_return_value): Likewise.
	(sc_space_tab): Likewise.
	(sc_prohibit_atoi_atof): Likewise.
	(sc_prohibit_magic_number_exit): Likewise.
	(sc_error_exit_success): Likewise.
	(sc_file_system): Likewise.
	(sc_prohibit_have_config_h): Likewise.
	(sc_require_config_h): Likewise.
	(sc_prohibit_HAVE_MBRTOWC): Likewise.
	(sc_obsolete_symbols): Likewise.
	(sc_changelog): Likewise.
	(sc_program_name): Likewise.
	(sc_the_the): Likewise.
	(sc_trailing_blank): Likewise.
	(sc_two_space_separator_in_usage): Likewise.
	(sc_useless_cpp_parens): Likewise.
	(sc_GPL_version): Likewise.
	(sc_GFDL_version): Likewise.
	(sc_texinfo_acronym): Likewise.
	(sc_prohibit_cvs_keyword): Likewise.
	(sc_prohibit_stat_st_blocks): Likewise.
	(sc_prohibit_S_IS_definition): Likewise.
	(sc_redundant_const): Likewise.
	(sc_makefile_TAB_only_indentation): Likewise.
	(sc_m4_quote_check): Likewise.
	(sc_makefile_path_separator_check): Likewise.
	(sc_copyright_check): Likewise.
	(sc_Wundef_boolean): Likewise.
	(sc_vulnerable_makefile_CVE-2009-4029): Likewise.

	maint.mk: match 0 or more whitespace-before-function-call '('
	* top/maint.mk (sc_error_exit_success): Relax regexp to match uses
	that have zero or two-and-more spaces between the function name
	and the open parenthesis.
	(sc_error_message_warn_fatal): Likewise.
	(sc_error_message_uppercase): Likewise.
	(sc_error_message_period): Likewise.

2010-03-31  Eric Blake  <eblake@redhat.com>

	maint.mk: check for [ as well as test
	* top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
	Based on a libvirt report by Matthias Bolte.

	gnumakefile: don't squelch _version output
	* top/GNUmakefile (_version): Create one-shot dependency rather
	than using $(shell) when version must be regenerated.
	(_autoreconf): Run verbosely, by default.

	sys_time: avoid compiler warnings
	* lib/sys_time.in.h (includes): Ensure gcc pragma is
	unconditional, fixing regression from 2010-03-29.
	Reported by Simon Josefsson.

2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>

	maint.mk: s/_header_without_use/_sc_header_without_use/
	* top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
	(sc_prohibit_assert_without_use): Use the new name.
	(sc_prohibit_close_stream_without_use): Likewise.
	(sc_prohibit_getopt_without_use): Likewise.
	(sc_prohibit_quotearg_without_use): Likewise.
	(sc_prohibit_quote_without_use): Likewise.
	(sc_prohibit_long_options_without_use): Likewise.
	(sc_prohibit_inttostr_without_use): Likewise.
	(sc_prohibit_ignore_value_without_use): Likewise.
	(sc_prohibit_error_without_use): Likewise.
	(sc_prohibit_xalloc_without_use): Likewise.
	(sc_prohibit_hash_without_use): Likewise.
	(sc_prohibit_hash_pjw_without_use): Likewise.
	(sc_prohibit_safe_read_without_use): Likewise.
	(sc_prohibit_argmatch_without_use): Likewise.
	(sc_prohibit_canonicalize_without_use): Likewise.
	(sc_prohibit_root_dev_ino_without_use): Likewise.
	(sc_prohibit_openat_without_use): Likewise.
	(sc_prohibit_c_ctype_without_use): Likewise.
	(sc_prohibit_signal_without_use): Likewise.
	(sc_prohibit_intprops_without_use): Likewise.

2010-03-30  Eric Blake  <eblake@redhat.com>

	maint: improve module indicators
	* m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
	(gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
	columns, and avoid extra macro expansion.

	fdopendir: work around FreeBSD bug
	* m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
	* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
	* modules/dirent (Makefile.am): Substitute it.
	* lib/dirent.in.h (fdopendir): Supply missing FreeBSD
	declaration.
	* doc/posix-functions/fdopendir.texi (fdopendir): Document the
	fix.
	Reported by Christian Weisgerber <naddy@mips.inka.de>.

2010-03-29  Bruno Haible  <bruno@clisp.org>

	Emit #pragma system_header after the inclusion guard, not before.
	* lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
	guard that spans the entire file, not before. This enables an
	optimization in GCC's preprocessor.
	* lib/ctype.in.h: Likewise.
	* lib/dirent.in.h: Likewise.
	* lib/errno.in.h: Likewise.
	* lib/float.in.h: Likewise.
	* lib/getopt.in.h: Likewise.
	* lib/iconv.in.h: Likewise.
	* lib/langinfo.in.h: Likewise.
	* lib/locale.in.h: Likewise.
	* lib/math.in.h: Likewise.
	* lib/netdb.in.h: Likewise.
	* lib/netinet_in.in.h: Likewise.
	* lib/pty.in.h: Likewise.
	* lib/sched.in.h: Likewise.
	* lib/se-selinux.in.h: Likewise.
	* lib/search.in.h: Likewise.
	* lib/spawn.in.h: Likewise.
	* lib/stdarg.in.h: Likewise.
	* lib/stdint.in.h: Likewise.
	* lib/string.in.h: Likewise.
	* lib/strings.in.h: Likewise.
	* lib/sys_file.in.h: Likewise.
	* lib/sys_ioctl.in.h: Likewise.
	* lib/sys_time.in.h: Likewise.
	* lib/sys_times.in.h: Likewise.
	* lib/sys_utsname.in.h: Likewise.
	* lib/sys_wait.in.h: Likewise.
	* lib/sysexits.in.h: Likewise.
	* lib/wctype.in.h: Likewise.

2010-03-28  James Youngman  <jay@gnu.org>

	save-cwd: don't leak a file descriptor when the caller execs.
	* lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
	saved file descriptor.
	* modules/save-cwd (Depends-on): Depend on cloexec.

2010-03-29  Bruno Haible  <bruno@clisp.org>

	Remove vestiges of fts-lgpl module.
	* lib/fts_.h: Assume GNULIB_FTS is 1.
	* lib/fts.c: Likewise.
	* modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.

2010-03-28  Bruno Haible  <bruno@clisp.org>

	Fix definition of tests witness macro.
	* gnulib-tool (func_import): Fix definition of witness macro.

2010-03-28  Bruno Haible  <bruno@clisp.org>

	Fix ioctl's protoype on glibc systems.
	* lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
	_GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
	* lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
	* modules/ioctl (configure.ac): Test whether ioctl has the POSIX
	signature. If not, arrange to replace the ioctl function.
	* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
	REPLACE_IOCTL.
	* modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
	* doc/posix-functions/ioctl.texi: Mention the glibc problem.
	Reported by Ludovic Courtès <ludo@gnu.org>.

2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>

	exclude: fix the case of globs vs. EXCLUDE_INCLUDE
	* lib/exclude.c (excluded_file_pattern_p): Fix logic error that
	made it so grep -r --include=GLOB* ... did not work.

2010-03-26  Jim Meyering  <meyering@redhat.com>
	    Eric Blake  <eblake@redhat.com>

	maint.mk: prohibit use of test's -o and -a operators
	* top/maint.mk (sc_prohibit_test_minus_ao): New rule.

2010-03-28  Bruno Haible  <bruno@clisp.org>

	Remove unused GNULIB_XYZ macro definitions.
	* modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
	invocation.

2010-03-28  Bruno Haible  <bruno@clisp.org>

	Mark privileged tests modules.
	* modules/idpriv-drop-tests (Status): New section.
	* modules/idpriv-droptemp-tests (Status): New section.

2010-03-28  Bruno Haible  <bruno@clisp.org>

	Split C++ tests into separate tests modules.
	* modules/dirent-c++-tests: New file, extracted from
	modules/dirent-tests.
	* modules/dirent-tests: Depend on it.
	* modules/fcntl-h-c++-tests: New file, extracted from
	modules/fcntl-h-tests.
	* modules/fcntl-h-tests: Depend on it.
	* modules/glob-c++-tests: New file, extracted from modules/glob-tests.
	* modules/glob-tests: Depend on it.
	* modules/iconv-h-c++-tests: New file, extracted from
	modules/iconv-h-tests.
	* modules/iconv-h-tests: Depend on it.
	* modules/langinfo-c++-tests: New file, extracted from
	modules/langinfo-tests.
	* modules/langinfo-tests: Depend on it.
	* modules/locale-c++-tests: New file, extracted from
	modules/locale-tests.
	* modules/locale-tests: Depend on it.
	* modules/math-c++-tests: New file, extracted from modules/math-tests.
	* modules/math-tests: Depend on it.
	* modules/pty-c++-tests: New file, extracted from modules/pty-tests.
	* modules/pty-tests: Depend on it.
	* modules/search-c++-tests: New file, extracted from
	modules/search-tests.
	* modules/search-tests: Depend on it.
	* modules/signal-c++-tests: New file, extracted from
	modules/signal-tests.
	* modules/signal-tests: Depend on it.
	* modules/spawn-c++-tests: New file, extracted from
	modules/spawn-tests.
	* modules/spawn-tests: Depend on it.
	* modules/stdio-c++-tests: New file, extracted from
	modules/stdio-tests.
	* modules/stdio-tests: Depend on it.
	* modules/stdlib-c++-tests: New file, extracted from
	modules/stdlib-tests.
	* modules/stdlib-tests: Depend on it.
	* modules/string-c++-tests: New file, extracted from
	modules/string-tests.
	* modules/string-tests: Depend on it.
	* modules/sys_ioctl-c++-tests: New file, extracted from
	modules/sys_ioctl-tests.
	* modules/sys_ioctl-tests: Depend on it.
	* modules/sys_select-c++-tests: New file, extracted from
	modules/sys_select-tests.
	* modules/sys_select-tests: Depend on it.
	* modules/sys_socket-c++-tests: New file, extracted from
	modules/sys_socket-tests.
	* modules/sys_socket-tests: Depend on it.
	* modules/sys_stat-c++-tests: New file, extracted from
	modules/sys_stat-tests.
	* modules/sys_stat-tests: Depend on it.
	* modules/sys_time-c++-tests: New file, extracted from
	modules/sys_time-tests.
	* modules/sys_time-tests: Depend on it.
	* modules/time-c++-tests: New file, extracted from modules/time-tests.
	* modules/time-tests: Depend on it.
	* modules/unistd-c++-tests: New file, extracted from
	modules/unistd-tests.
	* modules/unistd-tests: Depend on it.
	* modules/wchar-c++-tests: New file, extracted from
	modules/wchar-tests.
	* modules/wchar-tests: Depend on it.
	* modules/wctype-c++-tests: New file, extracted from
	modules/wctype-tests.
	* modules/wctype-tests: Depend on it.
	Reported by Simon Josefsson.

2010-03-28  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
	* gnulib-tool (func_exists_module): New function, extracted from
	func_verify_module.
	(func_verify_module): Use it.
	(func_get_dependencies): Synthetize a dependency from 'foo-tests' to
	'foo' only if 'foo' exists.
	* doc/gnulib.texi (Extra tests modules): Explain how to split a tests
	module.

2010-03-28  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Add support for special categories of tests.
	* gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
	--with-privileged-tests, --with-unportable-tests, --with-all-tests.
	(func_usage): Document them.
	(inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
	inc_unportable_tests, inc_all_tests): New variables.
	(func_acceptable): Consider these variables.
	(func_modules_transitive_closure): Make it work when the 'Status' field
	consists of multiple words.
	(func_import): Store and restore the values of inc_cxx_tests,
	inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
	inc_all_tests in gnulib-comp.m4.
	(func_create_testdir): Set inc_all_tests to true.
	* doc/gnulib.texi (Extra tests modules): New section.
	Suggested by Jim Meyering.

2010-03-28  Bruno Haible  <bruno@clisp.org>

	ansi-c++-opt: Allow turning off the C++ build by default.
	* m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
	gl_CXX_CHOICE_DEFAULT_NO is defined.
	Requested by Eric Blake.

2010-03-28  Bruno Haible  <bruno@clisp.org>

	unistd: Avoid #define replacements in C++ mode.
	* lib/unistd.in.h (socket, connect, accept, bind, getpeername,
	getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
	setsockopt, shutdown, select): In C++, attach a warning to the function
	if possible, rather than #defining the symbol to a dysfunctional alias.
	Reported by John W. Eaton <jwe@gnu.org>.

2010-03-28  Bruno Haible  <bruno@clisp.org>

	Fix link errors on mingw.
	* lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
	* modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
	$(LIBSOCKET).
	* modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
	$(LIBSOCKET).

2010-03-28  Bruno Haible  <bruno@clisp.org>
	    Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	lib-ignore: Determine different options for different compilers.
	* m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
	depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
	Add comments.
	(_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
	* NEWS: Mention the change.

2010-03-27  Bruno Haible  <bruno@clisp.org>

	Remove unused GNULIB_XYZ macro definitions.
	* modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
	* modules/fseek (configure.ac): Likewise.
	* modules/ioctl (configure.ac): Likewise.
	* modules/open (configure.ac): Likewise.
	* modules/stdlib-safer (configure.ac): Likewise.

2010-03-27  Bruno Haible  <bruno@clisp.org>

	Add a remark about certain modules.
	* modules/malloc (Comment): New section.
	* modules/realloc (Comment): Likewise.
	* modules/sigpipe (Comment): Likewise.

2010-03-27  Bruno Haible  <bruno@clisp.org>

	Resolve conflict between the two kinds of module indicators.
	* m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
	GNULIB_TEST_XYZ instead of GNULIB_XYZ.
	* modules/canonicalize (configure.ac): Invoke
	gl_MODULE_INDICATOR_FOR_TESTS.
	* tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
	GNULIB_XYZ.
	* tests/test-dirent-c++.cc: Likewise.
	* tests/test-dirent-safer.c: Likewise.
	* tests/test-dup2.c: Likewise.
	* tests/test-fchdir.c: Likewise.
	* tests/test-fcntl-h-c++.cc: Likewise.
	* tests/test-getopt.c: Likewise.
	* tests/test-getopt.h: Likewise.
	* tests/test-langinfo-c++.cc: Likewise.
	* tests/test-locale-c++.cc: Likewise.
	* tests/test-math-c++.cc: Likewise.
	* tests/test-pty-c++.cc: Likewise.
	* tests/test-search-c++.cc: Likewise.
	* tests/test-signal-c++.cc: Likewise.
	* tests/test-spawn-c++.cc: Likewise.
	* tests/test-stdio-c++.cc: Likewise.
	* tests/test-stdlib-c++.cc: Likewise.
	* tests/test-string-c++.cc: Likewise.
	* tests/test-sys_ioctl-c++.cc: Likewise.
	* tests/test-sys_select-c++.cc: Likewise.
	* tests/test-sys_socket-c++.cc: Likewise.
	* tests/test-sys_stat-c++.cc: Likewise.
	* tests/test-sys_time-c++.cc: Likewise.
	* tests/test-time-c++.cc: Likewise.
	* tests/test-unistd-c++.cc: Likewise.
	* tests/test-wchar-c++.cc: Likewise.
	* tests/uninorm/test-u8-nfc.c: Likewise.
	* tests/uninorm/test-u8-nfd.c: Likewise.
	* tests/uninorm/test-u8-nfkc.c: Likewise.
	* tests/uninorm/test-u8-nfkd.c: Likewise.
	* tests/uninorm/test-u16-nfc.c: Likewise.
	* tests/uninorm/test-u16-nfd.c: Likewise.
	* tests/uninorm/test-u16-nfkc.c: Likewise.
	* tests/uninorm/test-u16-nfkd.c: Likewise.
	* tests/uninorm/test-u32-nfc.c: Likewise.
	* tests/uninorm/test-u32-nfc-big.c: Likewise.
	* tests/uninorm/test-u32-nfd.c: Likewise.
	* tests/uninorm/test-u32-nfd-big.c: Likewise.
	* tests/uninorm/test-u32-nfkc.c: Likewise.
	* tests/uninorm/test-u32-nfkc-big.c: Likewise.
	* tests/uninorm/test-u32-nfkd.c: Likewise.
	* tests/uninorm/test-u32-nfkd-big.c: Likewise.
	* tests/uninorm/test-u32-normalize-big.c: Likewise.

2010-03-27  Bruno Haible  <bruno@clisp.org>

	Distinguish two kinds of module indicators.
	* m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
	gl_MODULE_INDICATOR.
	(gl_MODULE_INDICATOR): New macro.
	* m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
	* m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
	* m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
	* m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
	* m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
	* m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
	* m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
	* m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
	* m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
	* m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
	* m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
	* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
	* m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
	* m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
	* m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
	* m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
	* m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
	* modules/cloexec (configure.ac): Likewise.
	* modules/getopt-gnu (configure.ac): Likewise.
	* modules/uninorm/u8-normalize (configure.ac): Likewise.
	* modules/uninorm/u16-normalize (configure.ac): Likewise.
	* modules/uninorm/u32-normalize (configure.ac): Likewise.
	* modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.

2010-03-27  Bruno Haible  <bruno@clisp.org>

	New module description field 'Comment'.
	* gnulib-tool: New option --extract-comment.
	(func_usage): Document it.
	(sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
	(func_get_comment): New function.
	* modules/TEMPLATE-EXTENDED: Add a blank Comment field.

2010-03-27  Bruno Haible  <bruno@clisp.org>

	Addendum to 2010-02-07 commit.
	* gnulib-tool (func_usage): Document --extract-applicability option.

2010-03-27  Bruno Haible  <bruno@clisp.org>

	Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
	* lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
	GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
	rather than link errors.

2010-03-27  Bruno Haible  <bruno@clisp.org>

	Avoid side effects from tests-related modules on the compilation of lib.
	* m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
	(gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
	* gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
	parameter. Emit into AM_CPPFLAGS a definition of the designated C
	macro.
	(func_import): Define a witness macro. Assign it a value that depends
	on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
	tests-related modules.
	(func_create_testdir): Update func_emit_tests_Makefile_am invocation.
	Reported by Jim Meyering.

2010-03-27  Bruno Haible  <bruno@clisp.org>

	Factorize common .m4 code.
	* m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
	* m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
	* m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
	* m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
	* m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
	* m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
	* m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
	* m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
	* m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
	* m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
	* m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
	* m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
	* m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
	* m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
	* m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
	* m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
	* m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
	* m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
	* m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
	* m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
	* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
	* m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
	* m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
	* m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
	* m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
	* m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
	* m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
	* m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
	* m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.

2010-03-27  Bruno Haible  <bruno@clisp.org>

	Fix a compilation error on Cygwin with g++ >= 4.3.
	* lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
	if it is undefined or if we alias it to chmod.
	(lstat): Don't warn about the use of this function if it is undefined
	or if we alias it to stat.
	Reported by Simon Josefsson.

2010-03-27  Bruno Haible  <bruno@clisp.org>

	* m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
	* modules/getlogin (configure.ac): Update.

	* m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
	* modules/getlogin_r (configure.ac): Update.

	* m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
	* modules/inet_ntop (configure.ac): Update.

	* m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
	* modules/inet_pton (configure.ac): Update.

	* m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
	* modules/mbslen (configure.ac): Update.

	* m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
	(gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
	* modules/forkpty (configure.ac): Update.
	* modules/openpty (configure.ac): Update.

2010-03-26  Simon Josefsson  <simon@josefsson.org>

	* top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
	no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.

2010-03-25  Eric Blake  <eblake@redhat.com>

	maint: use pragma consistently across replacement headers
	* lib/ctype.in.h (system_header): Hoist for consistent placement.
	* lib/dirent.in.h (system_header): Likewise.
	* lib/errno.in.h (system_header): Likewise.
	* lib/float.in.h (system_header): Likewise.
	* lib/getopt.in.h (system_header): Likewise.
	* lib/iconv.in.h (system_header): Likewise.
	* lib/inttypes.in.h (system_header): Likewise.
	* lib/langinfo.in.h (system_header): Likewise.
	* lib/locale.in.h (system_header): Likewise.
	* lib/math.in.h (system_header): Likewise.
	* lib/netdb.in.h (system_header): Likewise.
	* lib/netinet_in.in.h (system_header): Likewise.
	* lib/pty.in.h (system_header): Likewise.
	* lib/sched.in.h (system_header): Likewise.
	* lib/se-selinux.in.h (system_header): Likewise.
	* lib/search.in.h (system_header): Likewise.
	* lib/spawn.in.h (system_header): Likewise.
	* lib/stdarg.in.h (system_header): Likewise.
	* lib/stdint.in.h (system_header): Likewise.
	* lib/string.in.h (system_header): Likewise.
	* lib/strings.in.h (system_header): Likewise.
	* lib/sys_file.in.h (system_header): Likewise.
	* lib/sys_ioctl.in.h (system_header): Likewise.
	* lib/sys_socket.in.h (system_header): Likewise.
	* lib/sys_times.in.h (system_header): Likewise.
	* lib/sys_utsname.in.h (system_header): Likewise.
	* lib/sys_wait.in.h (system_header): Likewise.
	* lib/sysexits.in.h (system_header): Likewise.
	* lib/unistd.in.h (system_header): Likewise.
	* lib/wctype.in.h (system_header): Likewise.

	arpa/inet: fix mingw compilation warning
	* lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
	Reported by Matthew Bolte.

2010-03-25  Bruno Haible  <bruno@clisp.org>

	Avoid collision between gnulib wrapper and libintl wrapper.
	* lib/printf.c (printf): Don't define if a printf wrapper is already
	defined in intl/printf.c.
	Reported by Michel Boaventura <michel@michelboaventura.com>.

2010-03-25  Bruno Haible  <bruno@clisp.org>

	Use ANSI C.
	* lib/readutmp.h (getutent): Provide ANSI C prototype.

2010-03-25  Bruno Haible  <bruno@clisp.org>

	Minor formatting changes.
	* lib/acosl.c: Insert space before function argument list.
	* lib/argz.c: Likewise.
	* lib/asinl.c: Likewise.
	* lib/expl.c: Likewise.
	* lib/gen-uni-tables.c: Likewise.
	* lib/gettext.h: Likewise.
	* lib/glthread/lock.h: Likewise.
	* lib/tanl.c: Likewise.
	* lib/uniname/uniname.c: Likewise.
	* tests/test-idpriv-drop.c: Likewise.
	* tests/test-idpriv-droptemp.c: Likewise.
	* tests/test-lock.c: Likewise.
	* tests/test-tls.c: Likewise.
	* lib/argp-help.c: Insert space before function-like macro argument
	list.
	* lib/memcmp.c: Likewise.
	* tests/test-base64.c: Likewise.
	* lib/localename.c: Insert space before sizeof's argument list.
	* lib/safe-alloc.h: Likewise.
	* lib/file-set.h: Insert space before macro argument list.
	* tests/test-argp.c: Likewise.
	* lib/argp-namefrob.h: Insert space before function parameter list.
	* lib/getaddrinfo.c: Likewise.
	* lib/netdb.in.h: Likewise.
	* lib/parse-duration.h: Likewise.
	* lib/parse-duration.c: Likewise.
	* lib/poll.c: Likewise.
	* lib/select.c: Likewise.
	* lib/trim.h: Likewise.
	* tests/test-usleep.c: Likewise.
	* lib/ldexpl.c: Insert space before function parameter list and before
	function argument list.
	* lib/logl.c: Likewise.
	* lib/sqrtl.c: Likewise.
	* lib/trim.c: Likewise.
	* lib/cosl.c: Use GNU style indentation. Insert space before function
	argument list.
	* lib/sinl.c: Likewise.
	* lib/tsearch.c: Insert space after 'for'.
	Reported by Jim Meyering.

2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)

	* maint.mk (sc_Wundef_boolean): Check for the presence of the
	config header before grepping, as it's not present before
	autoreconf/configure are run.  Reported by Simon Josefsson.

2010-03-23  Bruno Haible  <bruno@clisp.org>

	pt_chown: Make it work with automake < 1.11.
	* modules/pt_chown (Makefile.am): Define pkglibexecdir.
	Reported by Simon Josefsson.

2010-03-23  Bruno Haible  <bruno@clisp.org>

	pt_chown: Don't depend on GPLed modules.
	* lib/pt_chown.c: Don't include idpriv.h.
	(main): Don't drop privileges.
	* modules/pt_chown (Depends-on): Remove idpriv-drop.
	Reported by Simon Josefsson.

2010-03-24  Simon Josefsson  <simon@josefsson.org>

	* top/maint.mk (sc_texinfo_acronym): Add rule, based on
	suggestions from karl@freefriends.org (Karl Berry).

2010-03-22  Eric Blake  <eblake@redhat.com>

	gethostname: further tweaks
	* lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
	are overriding gethostname.
	Suggested by Bruno Haible.

2010-03-21  Bruno Haible  <bruno@clisp.org>

	Fix comments.
	* lib/forkpty.c (rpl_forkpty): Fix comment.
	* lib/openpty.c (rpl_openpty): Likewise.
	Reported by Eric Blake.

2010-03-22  Eric Blake  <eblake@redhat.com>

	gethostname: fix build on mingw
	* lib/unistd.in.h (includes): Work around fact that mingw
	<winsock2.h> re-includes <unistd.h>, by avoiding any
	redeclarations if we are being included by <winsock2.h>.
	Reported by Matthias Bolte.

2010-03-21  Bruno Haible  <bruno@clisp.org>

	forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
	* lib/forkpty.c (forkpty): New replacement function, from glibc with
	modifications.
	* lib/pty.in.h (forkpty): Update declaration. Add comments.
	* m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
	provide the replacement.
	* modules/forkpty (Depends-on): Add openpty, login_tty.
	* m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
	* modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
	* doc/glibc-functions/forkpty.texi: More supported platforms.
	* config/srclist.txt: Add forkpty.c (commented).

2010-03-21  Bruno Haible  <bruno@clisp.org>

	* modules/forkpty-tests: Use the common TEMPLATE-TESTS.
	(Makefile.am): Verify that PTY_LIB is defined.

	* modules/openpty-tests: Use the common TEMPLATE-TESTS.

2010-03-21  Bruno Haible  <bruno@clisp.org>

	Tests for module 'login_tty'.
	* modules/login_tty-tests: New file.
	* tests/test-login_tty.c: New file.

	New module 'login_tty'.
	* lib/login_tty.c: New file.
	* m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
	* modules/login_tty: New file.
	* doc/glibc-functions/login_tty.texi: Mention the new module.

2010-03-21  Bruno Haible  <bruno@clisp.org>

	login_tty: Documentation.
	* doc/glibc-functions/login_tty.texi: New file.
	* doc/gnulib.texi (Glibc <utmp.h>): Include it.

2010-03-21  Bruno Haible  <bruno@clisp.org>

	pty: Consistent macro naming.
	* m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
	* m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
	* modules/pty (configure.ac): Update.

2010-03-21  Bruno Haible  <bruno@clisp.org>

	Tests for openpty: Make stricter.
	* tests/test-openpty.c (main): Add test of canonical processing and
	erase.
	* modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.

	openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
	* lib/openpty.c (openpty): New replacement function.
	* lib/pty.in.h: Include <termios.h>.
	(openpty): Update declaration. Add comments.
	* m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
	is not declared, arrange to provide the replacement. Check for _getpty
	and posix_openpt.
	* modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
	* m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
	* modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
	* modules/pty-tests (test_pty_c___LDADD): New variable.
	* doc/glibc-functions/openpty.texi: More supported platforms.

2010-03-21  Bruno Haible  <bruno@clisp.org>

	setenv: Tweaks.
	* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
	the test program.
	* doc/posix-functions/setenv.texi: Update platforms list.

2010-03-21  Bruno Haible  <bruno@clisp.org>

	New module 'unlockpt'.
	* lib/unlockpt.c: New file, from glibc with modifications.
	* m4/unlockpt.m4: New file.
	* modules/unlockpt: New file.
	* lib/stdlib.in.h (unlockpt): New declaration.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
	(gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
	* modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
	HAVE_UNLOCKPT.
	* doc/posix-functions/unlockpt.texi: Mention the new module.
	* tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
	* config/srclist.txt: Add unlockpt.c (commented).

2010-03-21  Jim Meyering  <meyering@redhat.com>

	maint.mk: prohibit inclusion of "intprops.h" without use
	* top/maint.mk (sc_prohibit_intprops_without_use): New rule.

2010-03-21  Bruno Haible  <bruno@clisp.org>

	New module 'grantpt'.
	* lib/grantpt.c: New file, from glibc with modifications.
	* m4/grantpt.m4: New file.
	* modules/grantpt: New file.
	* lib/stdlib.in.h (grantpt): New declaration.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
	(gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
	* modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
	HAVE_GRANTPT.
	* doc/posix-functions/grantpt.texi: Mention the new module.
	* tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
	* config/srclist.txt: Add grantpt.c (commented).

2010-03-21  Bruno Haible  <bruno@clisp.org>

	New module 'pt_chown'.
	* lib/pt_chown.c: New file, from glibc with modifications.
	* lib/pty-private.h: New file, from glibc with modifications.
	* modules/pt_chown: New file.
	* config/srclist.txt: Add pt_chown.c, pty-private.h (commented).

2010-03-21  Bruno Haible  <bruno@clisp.org>

	Tests for module 'ptsname'.
	* modules/ptsname-tests: New file.
	* tests/test-ptsname.c: New file.

	New module 'ptsname'.
	* lib/ptsname.c: New file, from glibc with modifications.
	* m4/ptsname.m4: New file.
	* modules/ptsname: New file.
	* lib/stdlib.in.h (ptsname): New declaration.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
	(gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
	* modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
	HAVE_PTSNAME.
	* doc/posix-functions/ptsname.texi: Mention the new module.
	* tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
	* config/srclist.txt: Add ptsname.c (commented).

2010-03-21  Bruno Haible  <bruno@clisp.org>

	Tests for module 'ttyname_r'.
	* modules/ttyname_r-tests: New file.
	* tests/test-ttyname_r.c: New file.

	New module 'ttyname_r'.
	* lib/ttyname_r.c: New file.
	* m4/ttyname_r.m4: New file.
	* modules/ttyname_r: New file.
	* lib/unistd.in.h (ttyname_r): New declaration.
	* m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
	(gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
	* modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
	HAVE_TTYNAME_R.
	* tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
	* doc/posix-functions/ttyname_r.texi: Mention the new module.

2010-03-20  Bruno Haible  <bruno@clisp.org>

	signal: Undefine macro definitions in C++ mode.
	* lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
	sigfillset): Undefine macro definitions from the system header in C++
	mode.
	Reported by John W. Eaton <jwe@gnu.org>.

2010-03-20  Bruno Haible  <bruno@clisp.org>

	Ensure no #include statements inside extern "C" { ... }.
	* lib/obstack.h: Shrink extern "C" { ... } region so that it does not
	contain #include statements.
	* lib/time.in.h: Likewise.

2010-03-20  Bruno Haible  <bruno@clisp.org>

	Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
	* build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
	(_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
	Reported by John W. Eaton <jwe@gnu.org>.

2010-03-20  Bruno Haible  <bruno@clisp.org>

	* m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
	Reported by Jim Meyering.

2010-03-20  Bruno Haible  <bruno@clisp.org>

	pipe: Set errno upon failure.
	* lib/pipe.h: Specify that when -1 is returned, errno is set.
	* lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
	errno value in error message.

2010-03-20  Bruno Haible  <bruno@clisp.org>
	    Jim Meyering  <meyering@redhat.com>

	lchown: Avoid "unused variable" warning.
	* lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.

2010-03-20  Bruno Haible  <bruno@clisp.org>

	Work around unlink() bug on MacOS X 10.5.6.
	* lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
	attempting to unlink a parent directory.
	* m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
	MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
	activate for the replacement function.
	* doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.

2010-03-20  Bruno Haible  <bruno@clisp.org>

	Fix link errors on Solaris 8.
	* modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
	* modules/wctype-tests (test_wctype_c___LDADD): Likewise.

2010-03-19  Jim Meyering  <meyering@redhat.com>

	regcomp.c: make non-_LIBC implementation of build_range_exp consistent
	The _LIBC implementation of build_range_exp correctly honors the
	RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
	However, the non-_LIBC implementation would ignore that syntax-bit
	flag and return REG_ERANGE unconditionally.
	This change makes it honor that flag.
	* lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
	Make two pointer parameters "const".
	Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
	(parse_bracket_exp): Update caller.

	regex.m4: correct the reversed range endpoint ([b-a]) test
	* m4/regex.m4: When requiring that [b-a] evoke failure,
	use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
	test pass once again for x86-based systems.

2010-03-19  Bruno Haible  <bruno@clisp.org>

	scandir: Fix link error on Solaris 8.
	* lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
	macros.

2010-03-19  Bruno Haible  <bruno@clisp.org>

	getusershell: Fix documentation.
	* doc/glibc-functions/endusershell.texi: Refer to the getusershell
	module.
	* doc/glibc-functions/setusershell.texi: Likewise.

	getusershell: Provide declaration, missing on Solaris 9.
	* lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
	also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
	* m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
	check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
	HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
	* modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
	HAVE_GETUSERSHELL.
	* doc/glibc-functions/getusershell.texi: Mention the Solaris problem.

2010-03-19  Bruno Haible  <bruno@clisp.org>

	wctype: Provide iswblank function.
	* lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
	exists and is fine.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
	* modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
	* tests/test-wctype.c (main): Re-enable the iswblank tests.
	* doc/posix-functions/iswblank.texi: Update.

2010-03-19  Bruno Haible  <bruno@clisp.org>

	Tests of module 'pty' in C++ mode.
	* modules/pty-tests: New file.
	* tests/test-pty-c++.cc: New file.
	* m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.

2010-03-19  Eric Blake  <eblake@redhat.com>

	logb: fix documentation
	* doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
	1.5 declaration bug.

	forkpty, openpty: prefer glibc's const-safe prototype
	* lib/forkpty.c (rpl_forkpty): New file.
	* lib/openpty.c (rpl_openpty): Likewise.
	* modules/forkpty (Files): Distribute it.
	* modules/openpty (Files): Likewise.
	* m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
	check...
	* m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
	replacement for non-const BSD signature.
	* modules/pty (Makefile.am): Substitute witnesses.
	* lib/pty.in.h (forkpty, openpty): Declare replacements.
	* tests/test-forkpty.c: Update signature check.
	* tests/test-openpty.c: Likewise.
	* doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
	* doc/glibc-functions/openpty.texi (openpty): Likewise.

	forkpty, openpty: split functions into new modules
	* modules/pty (Makefile.am): Substitute new witnesses.
	(Libraries): Move library detection...
	* modules/forkpty: ...into new module.
	* modules/openpty: Another new module.
	* modules/pty-tests: Rename and split...
	* modules/forkpty-tests: ...to this...
	* modules/openpty-tests: ...and this.
	* tests/test-pty.c: Rename and split...
	* tests/test-forkpty.c: ...to this...
	* tests/test-openpty.c: ...and this.
	* m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
	(gl_PTY): Split library searching...
	* m4/pty.m4 (gl_PTY_LIB): ...into new file.
	(gl_FORKPTY, gl_OPENPTY): New macros.
	* lib/pty.in.h (forkpty, openpty): Honor new witnesses.
	* NEWS: Mention the split.
	* MODULES.html.sh (Misc): Document the modules.
	* doc/glibc-functions/forkpty.texi (forkpty): Likewise.
	* doc/glibc-functions/openpty.texi (openpty): Likewise.

	pty: improve replacement header
	* lib/pty.in.h: New file.
	* modules/pty (Files): Ship it.
	(Makefile.am): Always build replacement.
	* m4/pty.m4: Rename...
	* m4/pty_h.m4: ...to this.
	(gl_PTY): Modernize setting of witness macros; update check of
	forkpty to take proper advantage of cache.
	(gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.

	getopt: avoid compiler warning
	* lib/getopt.c (attribute_hidden): Remove unused macro.

2010-03-18  Bruno Haible  <bruno@clisp.org>

	Fix link errors on Solaris 8.
	* modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
	* modules/search-tests (test_search_c___LDADD): Likewise.
	* modules/signal-tests (test_signal_c___LDADD): Likewise.
	* modules/spawn-tests (test_spawn_c___LDADD): Likewise.
	* modules/stdio-tests (test_stdio_c___LDADD): Likewise.
	* modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
	* modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
	* modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
	* modules/wchar-tests (test_wchar_c___LDADD): Likewise.

2010-03-18  Bruno Haible  <bruno@clisp.org>

	Fix bug introduced on 2010-03-14.
	* m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
	(gl_SPAWN_H): Require it.
	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
	Reported by Simon Josefsson.

2010-03-18  Bruno Haible  <bruno@clisp.org>

	Fix typo introduced on 2009-12-31.
	* m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
	posix_spawn_file_actions_adddup2.

2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
	and Eric Blake  <eblake@redhat.com>

	test-vc-list-files-git: make more robust
	* tests/test-vc-list-files-git.sh: Unset problematic environment
	variables.  Chain commands together.

2010-03-17  Ludovic Courtès  <ludo@gnu.org>  (tiny change)

	* m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
	`AC_CHECK_DECL' invocation.

2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/inttostr.c (inttostr): Make sure the invocation of verify
	appears before executable statements. Suggested by Petr Sumbera
	<Petr.Sumbera@Sun.COM>.

2010-03-14  Bruno Haible  <bruno@clisp.org>

	* tests/test-flock.c (test_exclusive): Comment out a test that causes
	portability problems. Instead use a simpler test.
	(main): Check that invalid arguments are rejected only on Linux.

2010-03-14  Bruno Haible  <bruno@clisp.org>

	Fix bug introduced on 2009-12-31.
	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
	gl_PREREQ_SYS_H_WINSOCK2 always.
	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
	SYS_SOCKET_H variable.
	* m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
	Update comments.
	* m4/ctype.m4 (gl_CTYPE_H): Update comments.
	* m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
	* m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
	* m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
	* m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.

2010-03-14  Bruno Haible  <bruno@clisp.org>

	Fix values returned by sinl, cosl.
	* lib/trigl.h: Add specification comments.
	* lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
	that combines the values from the precomputed table with the values of
	the Chebyshev polynomials.

2010-03-14  Bruno Haible  <bruno@clisp.org>

	Fix compilation error when modules 'posix_spawn[p]' are not used.
	* m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.

2010-03-14  Bruno Haible  <bruno@clisp.org>

	Fix compilation error on mingw when module 'time_r' is not used.
	* lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
	is 1.
	* tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
	* modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
	* modules/time (Makefile.am): Substitute GNULIB_TIME_R.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.

2010-03-14  Bruno Haible  <bruno@clisp.org>

	Fix compilation error with Sun C.
	* lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
	Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
	instead of GCC specific ULONG_LONG_MAX.
	* lib/xstrtoll.c: Likewise.
	* lib/xstrtoull.c: Likewise.

2010-03-13  Bruno Haible  <bruno@clisp.org>

	Allow the user to disable C++ code and tests.
	* m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
	(gl_PROG_ANSI_CXX): Require it.

2010-03-13  Bruno Haible  <bruno@clisp.org>

	* DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
	cases.

2010-03-13  Bruno Haible  <bruno@clisp.org>

	Test that gnulib does not break the standard C++ headers.
	* tests/test-locale-c++2.cc: New file.
	* modules/locale-tests (Files): Add it.
	(Makefile.am): Compile it for test-locale-c++.
	* tests/test-math-c++2.cc: New file.
	* modules/math-tests (Files): Add it.
	(Makefile.am): Compile it for test-math-c++.
	* tests/test-signal-c++2.cc: New file.
	* modules/signal-tests (Files): Add it.
	(Makefile.am): Compile it for test-signal-c++.
	* tests/test-stdio-c++2.cc: New file.
	* modules/stdio-tests (Files): Add it.
	(Makefile.am): Compile it for test-stdio-c++.
	* tests/test-stdlib-c++2.cc: New file.
	* modules/stdlib-tests (Files): Add it.
	(Makefile.am): Compile it for test-stdlib-c++.
	* tests/test-string-c++2.cc: New file.
	* modules/string-tests (Files): Add it.
	(Makefile.am): Compile it for test-string-c++.
	* tests/test-time-c++2.cc: New file.
	* modules/time-tests (Files): Add it.
	(Makefile.am): Compile it for test-time-c++.
	Reported by John W. Eaton <jwe@gnu.org>.

2010-03-13  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_usage): Clarify which options are available for
	--create-testdir and --create-megatestdir.

2010-03-13  Bruno Haible  <bruno@clisp.org>

	Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
	* build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
	* build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
	* lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
	strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
	when appropriate.
	Reported by Jim Meyering.

2010-03-12  Simon Josefsson  <simon@josefsson.org>

	* gnulib-tool (func_import): Explain origin of code.

2010-03-12  Bruno Haible  <bruno@clisp.org>

	Fix problem with automake's definition of CXXLINK.
	* gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
	Reported by Simon Josefsson and Ludovic Courtès.

2010-03-12  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
	stable releases.

2010-03-11  Bruno Haible  <bruno@clisp.org>

	Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
	* build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
	whether the system provides one variant or multiple variants of the
	function.
	* lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
	C++ compilers.
	(memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
	_GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
	Reported by Jim Meyering.

2010-03-09  Simon Josefsson  <simon@josefsson.org>

	* gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.

2010-03-08  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Add support for --libtool in --create-testdir.
	* gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
	(func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.

2010-03-08  Eric Blake  <eblake@redhat.com>

	gnulib-tool.texi: mention possibility of git submodule
	* doc/gnulib-tool.texi (VCS Issues): Add details about using git
	submodules.
	* doc/.gitignore: Ignore another generated file.

2010-03-08  Karl Berry  <karl@gnu.org>

	* doc/gnulib-tool.texi (VCS Issues): Mention third option
	of committing gnulib files while skipping others.

2010-03-07  Bruno Haible  <bruno@clisp.org>

	Tests of module 'wctype' in C++ mode.
	* tests/test-wctype-c++.cc: New file.
	* modules/wctype-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-wctype-c++.

	Tests of module 'wchar' in C++ mode.
	* tests/test-wchar-c++.cc: New file.
	* modules/wchar-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-wchar-c++.
	* m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'unistd' in C++ mode.
	* tests/test-unistd-c++.cc: New file.
	* modules/unistd-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-unistd-c++.
	* m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'time' in C++ mode.
	* tests/test-time-c++.cc: New file.
	* modules/time-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-time-c++.
	* m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.

	Tests of module 'sys_time' in C++ mode.
	* tests/test-sys_time-c++.cc: New file.
	* modules/sys_time-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-sys_time-c++.
	* m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'sys_stat' in C++ mode.
	* tests/test-sys_stat-c++.cc: New file.
	* modules/sys_stat-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-sys_stat-c++.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'sys_socket' in C++ mode.
	* tests/test-sys_socket-c++.cc: New file.
	* modules/sys_socket-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-sys_socket-c++.
	* m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'sys_select' in C++ mode.
	* tests/test-sys_select-c++.cc: New file.
	* modules/sys_select-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-sys_select-c++.
	* m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'sys_ioctl' in C++ mode.
	* tests/test-sys_ioctl-c++.cc: New file.
	* modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
	* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'string' in C++ mode.
	* tests/test-string-c++.cc: New file.
	* modules/string-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-string-c++.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'stdlib' in C++ mode.
	* tests/test-stdlib-c++.cc: New file.
	* modules/stdlib-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-stdlib-c++.
	* m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'stdio' in C++ mode.
	* tests/test-stdio-c++.cc: New file.
	* modules/stdio-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-stdio-c++.
	* m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'spawn' in C++ mode.
	* tests/test-spawn-c++.cc: New file.
	* modules/spawn-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-spawn-c++.
	* m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'signal' in C++ mode.
	* tests/test-signal-c++.cc: New file.
	* modules/signal-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-signal-c++.
	* m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'search' in C++ mode.
	* tests/test-search-c++.cc: New file.
	* modules/search-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-search-c++.
	* m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'math' in C++ mode.
	* tests/test-math-c++.cc: New file.
	* modules/math-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-math-c++.
	* m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.

	Tests of module 'locale' in C++ mode.
	* tests/test-locale-c++.cc: New file.
	* modules/locale-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-locale-c++.
	* m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'langinfo' in C++ mode.
	* tests/test-langinfo-c++.cc: New file.
	* modules/langinfo-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-langinfo-c++.
	* m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'iconv-h' in C++ mode.
	* tests/test-iconv-h-c++.cc: New file.
	* modules/iconv-h-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-iconv-h-c++.

	Tests of module 'glob' in C++ mode.
	* tests/test-glob-c++.cc: New file.
	* modules/glob-tests (Files): Add it.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-glob-c++.

	Tests of module 'fcntl-h' in C++ mode.
	* tests/test-fcntl-h-c++.cc: New file.
	* modules/fcntl-h-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-fcntl-h-c++.
	* m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	Tests of module 'dirent' in C++ mode.
	* tests/test-dirent-c++.cc: New file.
	* modules/dirent-tests (Files): Add it and tests/signature.h.
	(Depends-on): Add ansi-c++-opt.
	(Makefile.am): Arrange to compile and run test-dirent-c++.
	* m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
	gl_MODULE_INDICATOR.

	New module 'ansi-c++-opt'.
	* modules/ansi-c++-opt: New file.
	* m4/ansi-c++.m4: New file, from GNU gettext with modifications.

	Document C++ namespace mode.
	* doc/gnulib.texi (A C++ namespace for gnulib): New section.

	wctype: Avoid #define replacements in C++ mode.
	* lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
	(iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
	iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
	In C++, define a namespaced alias symbol.
	* m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
	* modules/wctype (Depends-on): Add c++defs, warn-on-use.
	(Makefile.am): Provide a wctype.h replacement always. Update wctype.h
	rule.

	wchar: Avoid #define replacements in C++ mode.
	* lib/wchar.in.h: Include c++defs.h.
	(btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
	wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
	symbol.
	(wcwidth): Likewise. Fix prototype to be POSIX compliant.
	* modules/wchar (Depends-on): Add c++defs.
	(Makefile.am): Update wchar.h rule.

	unistd: Avoid #define replacements in C++ mode.
	* lib/unistd.in.h: Include c++defs.h.
	(chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
	fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
	getgroups, gethostname, getlogin, getlogin_r, getpagesize,
	getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
	pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
	unlink, unlinkat, usleep, write): In C++, define a namespaced alias
	symbol.
	(environ): Update.
	* modules/unistd (Depends-on): Add c++defs.
	(Makefile.am): Update unistd.h rule.

	time: Avoid #define replacements in C++ mode.
	* lib/time.in.h: Include c++defs.h, warn-on-use.h.
	(nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
	define a namespaced alias symbol.
	* m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
	(gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
	GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
	* modules/time (Depends-on): Add c++defs, warn-on-use.
	(Makefile.am): Update time.h rule.
	* modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
	* modules/nanosleep (configure.ac): Likewise.
	* modules/strptime (configure.ac): Likewise.
	* modules/timegm (configure.ac): Likewise.

	sys_time: Avoid #define replacements in C++ mode.
	* lib/sys_time.in.h: Include c++defs.h.
	(gettimeofday): In C++, define a namespaced alias symbol.
	* modules/sys_time (Depends-on): Add c++defs.
	(Makefile.am): Update sys/time.h rule.

	sys_stat: Avoid #define replacements in C++ mode.
	* lib/sys_stat.in.h: Include c++defs.h.
	(fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
	mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
	namespaced alias symbol.
	In C++, define a namespaced alias symbol.
	* modules/sys_stat (Depends-on): Add c++defs.
	(Makefile.am): Update sys/stat.h rule.

	sys_socket: Avoid #define replacements in C++ mode.
	* lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
	Include c++defs.h. Include warn-on-use.h earlier. Enable the function
	definitions also when the system has a <sys/socket.h>.
	(socket, connect, accept, bind, getpeername, getsockname, getsockopt,
	listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
	In C++, define a namespaced alias symbol.
	* modules/sys_socket (Depends-on): Add c++defs.
	(Makefile.am): Update sys/socket.h rule.

	sys_select: Avoid #define replacements in C++ mode.
	* lib/sys_select.in.h: Include c++defs.h. Enable the function
	definitions also when the system has a <sys/select.h>.
	(select): In C++, define a namespaced alias symbol.
	* modules/sys_select (Depends-on): Add c++defs.
	(Makefile.am): Update sys/select.h rule.

	sys_ioctl: Avoid #define replacements in C++ mode.
	* lib/sys_ioctl.in.h: Include c++defs.h.
	(ioctl): In C++, define a namespaced alias symbol.
	* modules/sys_ioctl (Depends-on): Add c++defs.
	(Makefile.am): Update sys/ioctl.h rule.

	string: Avoid #define replacements in C++ mode.
	* lib/string.in.h: Include c++defs.h.
	(stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
	(memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
	strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
	strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
	strsignal, strverscmp): In C++, define a namespaced alias symbol.
	* modules/string (Depends-on): Add c++defs.
	(Makefile.am): Update string.h rule.

	stdlib: Avoid #define replacements in C++ mode.
	* lib/stdlib.in.h: Include c++defs.h.
	(atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
	mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
	srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
	strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
	symbol.
	* modules/stdlib (Depends-on): Add c++defs.
	(Makefile.am): Update stdlib.h rule.

	stdio: Avoid #define replacements in C++ mode.
	* lib/stdio.in.h: Include c++defs.h.
	(dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
	freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
	obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
	puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
	vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
	namespaced alias symbol.
	* modules/stdio (Depends-on): Add c++defs.
	(Makefile.am): Update stdio.h rule.

	spawn: Avoid #define replacements in C++ mode.
	* lib/spawn.in.h: Include c++defs.h.
	(posix_spawn, posix_spawnp, posix_spawnattr_init,
	posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
	posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
	posix_spawnattr_setsigmask, posix_spawnattr_getflags,
	posix_spawnattr_setflags, posix_spawnattr_getpgroup,
	posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
	posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
	posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
	posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
	posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
	In C++, define a namespaced alias symbol.
	* modules/spawn (Depends-on): Add c++defs.
	(Makefile.am): Update spawn.h rule.

	signal: Avoid #define replacements in C++ mode.
	* lib/signal.in.h: Include c++defs.h.
	(sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
	sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
	namespaced alias symbol.
	* modules/signal (Depends-on): Add c++defs.
	(Makefile.am): Update signal.h rule.

	search: Avoid #define replacements in C++ mode.
	* lib/search.in.h: Include c++defs.h.
	(_gl_search_compar_fn, _gl_search_action_fn): New types.
	(tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
	symbol.
	* modules/search (Depends-on): Add c++defs.
	(Makefile.am): Update search.h rule.

	math: Avoid #define replacements in C++ mode.
	* lib/math.in.h: Include c++defs.h.
	(frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
	frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
	trunc, truncl): In C++, define a namespaced alias symbol.
	* modules/math (Depends-on): Add c++defs.
	(Makefile.am): Update math.h rule.

	locale: Avoid #define replacements in C++ mode.
	* lib/locale.in.h: Include c++defs.h.
	(duplocale): In C++, define a namespaced alias symbol.
	* m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
	* m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
	* modules/locale (Depends-on): Add c++defs.
	(Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.

	langinfo: Avoid #define replacements in C++ mode.
	* lib/langinfo.in.h: Include c++defs.h.
	(nl_langinfo): In C++, define a namespaced alias symbol.
	* modules/langinfo (Depends-on): Add c++defs.
	(Makefile.am): Update langinfo.h rule.

	iconv-h: Avoid #define replacements in C++ mode.
	* lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
	(iconv_open, iconv, iconv_close): In C++, define a namespaced alias
	symbol.
	* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
	whenever iconv is present.
	* modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
	(Makefile.am): Update iconv.h rule.

	glob: Avoid #define replacements in C++ mode.
	* lib/glob.in.h: Include c++defs.h, warn-on-use.h.
	(_gl_glob_errfunc_fn): New type.
	(glob, globfree, glob_pattern_p): In C++, define a namespaced alias
	symbol.
	* modules/glob (Depends-on): Add c++defs, warn-on-use.
	(Makefile.am): Update glob.h rule.

	fcntl-h: Avoid #define replacements in C++ mode.
	* lib/fcntl.in.h: Include c++defs.h.
	(fcntl, open, openat): In C++, define a namespaced alias symbol.
	* modules/fcntl-h (Depends-on): Add c++defs.
	(Makefile.am): Update fcntl.h rule.

	dirent: Avoid #define replacements in C++ mode.
	* lib/dirent.in.h: Include c++defs.h.
	(closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
	namespaced alias symbol.
	(dirfd): Update declaration.
	* modules/dirent (Depends-on): Add c++defs.
	(Makefile.am): Update dirent.h rule.

	ctype: Make it usable in C++ code.
	* lib/ctype.in.h: Include c++defs.h.
	(isblank): Declare as extern "C".
	* modules/ctype (Depends-on): Add c++defs.
	(Makefile.am): Update ctype.h rule.

	New module 'c++defs'.
	* modules/c++defs: New file.
	* build-aux/c++defs.h: New file.
	Reported by John W. Eaton <jwe@gnu.org>.

2010-03-07  Bruno Haible  <bruno@clisp.org>

	logb: Provide missing declaration for Cygwin.
	* lib/math.in.h (logb): New declaration.
	* m4/logb.m4: New file.
	* modules/logb (Files): Add m4/logb.m4.
	(Depends-on): Add math.
	(configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
	* m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
	(gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
	* modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
	* doc/posix-functions/logb.texi: Mention the Cygwin bug.

2010-03-07  Bruno Haible  <bruno@clisp.org>

	Fix test-cond link error.
	* tests/test-cond.c: Include <stdio.h>.

2010-03-07  Bruno Haible  <bruno@clisp.org>

	Fix test-dirent-safer link error.
	* modules/dirent-safer-tests (Makefile.am): Define
	test_dirent_safer_LDADD.

2010-03-07  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
	among default module list.

2010-03-07  Bruno Haible  <bruno@clisp.org>

	Fix link error on platforms with GNU libiconv.
	* modules/unistr/u8-strcoll-tests (Makefile): Define
	test_u8_strcoll_LDADD.
	* modules/unistr/u16-strcoll-tests (Makefile): Define
	test_u16_strcoll_LDADD.
	* modules/unistr/u32-strcoll-tests (Makefile): Define
	test_u32_strcoll_LDADD.

2010-03-07  Bruno Haible  <bruno@clisp.org>

	Use POSIX declarations for socket functions.
	* lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
	rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
	rpl_sendto): Change declaration to match POSIX.
	* lib/connect.c (rpl_connect): Likewise.
	* lib/accept.c (rpl_accept): Likewise.
	* lib/bind.c (rpl_bind): Likewise.
	* lib/getpeername.c (rpl_getpeername): Likewise.
	* lib/getsockname.c (rpl_getsockname): Likewise.
	* lib/recv.c (rpl_recv): Likewise.
	* lib/send.c (rpl_send): Likewise.
	* lib/recvfrom.c (rpl_recvfrom): Likewise.
	* lib/sendto.c (rpl_sendto): Likewise.

2010-03-06  Bruno Haible  <bruno@clisp.org>

	Clarify access, euidaccess, faccessat.
	* doc/posix-functions/faccessat.texi: Mention security problem under
	"Other problems", not "Portability problems".
	* doc/posix-functions/access.texi: Likewise. Mention a related security
	problem.
	* doc/glibc-functions/euidaccess.texi: Mention security problems.
	* lib/euidaccess.c: Add comments about platforms.
	* lib/unistd.in.h (access, euidaccess): Add warnings.

2010-03-07  Bruno Haible  <bruno@clisp.org>

	Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
	* lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
	(POSIX_SPAWN_SETSCHEDULER): Likewise.
	(POSIX_SPAWN_USEVFORK): Define in a way that works when
	POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
	(posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
	declare when POSIX_SPAWN_SETSCHEDULER is zero.
	(posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
	declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
	POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
	* modules/posix_spawnattr_getschedparam (configure.ac): Enable the
	replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
	* modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
	* modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
	replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
	* modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
	* lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
	nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
	* lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
	Likewise.
	* lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
	nothing if POSIX_SPAWN_SETSCHEDULER is zero.
	* lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
	Likewise.
	* tests/test-spawn.c (main): Make it work when
	POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.

2010-03-07  Bruno Haible  <bruno@clisp.org>

	Fix incorrect Makefile.am generation in German locale.
	* gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
	Execute sed command with character range in C locale.

2010-03-06  Bruno Haible  <bruno@clisp.org>

	Tests for module 'iconv-h'.
	* modules/iconv-h-tests: New file.
	* tests/test-iconv-h.c: New file.

	New module 'iconv-h'.
	* modules/iconv-h: New file.
	* modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
	(Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
	(configure.ac): Remove gl_ICONV_H.
	(Makefile.am): Remove rule for iconv.h.

2010-03-06  Bruno Haible  <bruno@clisp.org>

	More consistent naming of *.m4 files.
	* m4/wctype_h.m4: Renamed from m4/wctype.m4.
	* modules/wctype (Files): Update.

	More consistent naming of *.m4 files.
	* m4/wchar_h.m4: Renamed from m4/wchar.m4.
	* modules/wchar (Files): Update.

2010-03-06  Jim Meyering  <meyering@redhat.com>

	euidaccess: relax license to LGPLv2+
	* modules/euidaccess (License): Relax to LGPLv2+.

2010-03-06  Bruno Haible  <bruno@clisp.org>

	Prefer lib_SOURCES over unconditional AC_LIBOBJ.
	* modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
	(Makefile.am): Augment lib_SOURCES instead.

2010-03-04  Jim Meyering  <meyering@redhat.com>

	utime: remove obsolete module
	This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
	unnecessary for years, and has been marked as obsolete for 10 months.
	* modules/utime: Remove file.
	* lib/utime.c: Remove file.
	* m4/utime.m4: Remove file.
	* m4/utimes-null.m4: Remove file.
	* doc/posix-functions/utime.texi (utime): Remove reference to
	the module.  Move the sole "fixed by gnulib" item into the
	"problems not fixed by Gnulib" list.
	* MODULES.html.sh (func_all_modules): Remove reference to "utime".

2010-03-05  Simon Josefsson  <simon@josefsson.org>

	* modules/exit (License): Relax license to LGPLv2+.
	(Status): Mark as obsolete.
	* NEWS: Mention deprecated 'exit' module.
	* doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
	of now obsolete 'exit'.

2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	fts-lgpl: remove unused module
	* modules/fts-lgpl: Remove.
	* MODULES.html.sh (func_all_modules): Adjust.
	* check-module (find_included_lib_files): Adjust.
	* m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.

2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)

	copy-acl: enhance Solaris ACL error handling
	* lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
	* lib/set-mode-acl.c (qset_acl): Likewise.

2010-03-02  Bruno Haible  <bruno@clisp.org>

	spawn: Don't override the system defined values on FreeBSD 8.
	* lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
	POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
	POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
	if HAVE_POSIX_SPAWN is 1.
	Reported by Johan van Selst <johans@stack.nl> via Eric Blake.

2010-03-01  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-tool.texi (Initial import): Clarify the requirements
	regarding Automake.

2010-02-25  Bruno Haible  <bruno@clisp.org>

	Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
	* gnulib-tool: Define 'echo' as a function only before the ksh alias
	setting, not afterwards.
	Reported by Ben Walton <bwalton@artsci.utoronto.ca>.

2010-02-24  Eric Blake  <eblake@redhat.com>

	bootstrap, git-version-gen: use timestamp
	* build-aux/git-version-gen (scriptversion): Force UTC.
	* build-aux/bootstrap (scriptversion): New variable.

	bootstrap: allow older git
	* build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
	older than 1.6.4.  Requested by the libvirt project.

2010-02-23  Eric Blake  <eblake@redhat.com>

	warn-on-use: work with old autoconf
	* m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
	AS_VAR semantics of autoconf 2.60.
	Reported by Bruno Haible.

	bootstrap: improve some comments
	* build-aux/bootstrap: Drop unneeded emacs hint.  Add some
	clarification comments.

	gettimeofday: provide correct function
	* lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
	when replacement is declared, otherwise provide gettimeofday.
	Reported by Michael Goffioul.

2010-02-23  Jim Meyering  <meyering@redhat.com>

	lib-ignore: relax license to "unlimited", not LGPLv2+
	* modules/lib-ignore (License): Relax to "unlimited".

2010-02-23  Jim Meyering  <meyering@redhat.com>

	lib-ignore: relax license to LGPLv2+
	* modules/lib-ignore (License): Relax to LGPLv2+.

2010-02-22  Eric Blake  <eblake@redhat.com>

	lseek: avoid bash 3.2 broken pipe bug
	* m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
	warning from bash 3.2.
	Reported by Ben Pfaff, with analysis from Bruno Haible.

	bootstrap: support non-FSF copyright holder
	* build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
	bootstrap.conf override of COPYRIGHT_HOLDER.
	(MSGID_BUGS_ADDRESS): Allow URL rather than email.

	bootstrap: interoperate with gettext 0.14.1
	* build-aux/bootstrap (slurp): Fix typo when using older gettext.

	bootstrap: allow for alternate submodule location
	* build-aux/bootstrap (gnulib_path): New variable; use instead of
	hardcoding submodule location.
	(gnulib_mk): Allow direct use of Makefile.am.

	bootstrap: use GNULIB_SRCDIR to reduce disk usage
	* build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
	rather than reconfiguring where the submodule points.

	gettimeofday: restore support for platforms that lack function
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
	replacement if function is missing.
	* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
	* modules/sys_time (Makefile.am): Substitute it.
	* lib/sys_time.in.h (gettimeofday): Check it.
	Reported by Michael Goffioul.

2010-02-21  Bruno Haible  <bruno@clisp.org>

	* lib/stdio.in.h (obstack_printf): Fix typo.

2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>

	vc-list-files: use bzr ls's -R option
	* build-aux/vc-list-files: Invoke bazaar to generate a recursive
	list of versioned files based on 'dir' (usage of -R in 'bzr ls').

2010-02-21  Jim Meyering  <meyering@redhat.com>

	init.sh: fix EXEEXT shims to work also for names like test-prog
	* tests/init.sh: Re-exec a better shell, when needed.
	If the current shell lacks support for posix $(...), an init.sh-using
	test will now try to find a shell that supports that.  If EXEEXT is
	nonempty, we also require support for hyphen-in-alias-name and shell
	substitutions like ${var#glob}.  Failure to find such a shell results
	in a skipped test.

2010-02-21  Bruno Haible  <bruno@clisp.org>

	Really work around "broken pipe" error message from bash 3.2.
	* gnulib-tool (func_reset_sigpipe): Remove function.
	(echo): In bash 3.2, define to a function that uses printf.
	Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.

2010-02-20  Bruno Haible  <bruno@clisp.org>

	Restore support for automake 1.9.6 with autoconf 2.61.
	* m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
	Reported by James Youngman <jay@gnu.org>.

2010-02-20  Bruno Haible  <bruno@clisp.org>

	Improve *printf warning condition.
	* lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
	also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
	and the function is overridden due to SIGPIPE emulation.

2010-02-20  Bruno Haible  <bruno@clisp.org>

	* lib/stdio.in.h: Tweak comments.

2010-02-19  Bruno Haible  <bruno@clisp.org>

	Make it easier to find modules. New gnulib-tool option '--find'.
	* gnulib-tool: New option --find.
	(func_usage): Document it.
	(func_sanitize_modulelist): New function, extracted from
	func_all_modules.
	(func_all_modules): Invoke it.
	* doc/gnulib-tool.texi (Which modules?): New node.

2010-02-18  Markus Duft  <mduft@gentoo.org>  (tiny change)

	* lib/sys_select.in.h: Provide select replacement even if
	sys/select.h exists on a system, for Interix.

2010-02-18  Jim Meyering  <meyering@redhat.com>

	init.sh: don't use $(...) just yet
	* tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
	to accommodate e.g., Solaris' /bin/sh.

2010-02-17  Bruno Haible  <bruno@clisp.org>

	* doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
	Reported by Ludovic Courtès <ludo@gnu.org>.

2010-02-16  Simon Josefsson  <simon@josefsson.org>

	* modules/userspec-tests (test_userspec_LDADD): Add variable, for
	linking with -lintl.

2010-02-17  Simon Josefsson  <simon@josefsson.org>

	* lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
	if not provided by the system's netdb.h.  Reported by
	ludo@gnu.org (Ludovic Courtès).

2010-02-15  Jim Meyering  <meyering@redhat.com>

	init.sh: improve portability and efficiency
	* tests/init.sh (find_exe_basenames_): Remove unnecessary use of
	"dummy" in a for loop.
	Use '!', not '^' to select the complement of a character set used
	in a "case" statement.
	Use shell variable manipulation, a la ${...%.exe}, rather than sed.
	Suggestions from Eric Blake.

	init.sh: automatically accommodate programs with the .exe suffix
	Automatically arrange for an invocation of "prog" to execute the
	program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
	may use the simpler "prog", yet still work when built on a system
	that requires specifying the added suffix.
	Do this by constructing a function named "prog" that invokes
	"prog.exe" for each .exe file in selected directories.
	* tests/init.sh (find_exe_basenames_): New function.
	(create_exe_shim_functions_): New function.
	(path_prepend_): Use it.

	maint.mk: mark syntax-check sc_*.m rules as .PHONY
	* top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
	"make -t syntax-check" doesn't create a ton of sc_*.m files.

2010-02-14  Jim Meyering  <meyering@redhat.com>

	maint.mk: prohibit inclusion of "hash-pjw.h" without_use
	* top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
	(sc_prohibit_hash_pjw_without_use): New rule.

	maint.mk: allow the default upload destination dir to be overridden
	* top/maint.mk (upload_dest_dir_): Define with a default that
	preserves the status quo.
	(emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
	Reported by Peter Simons.

	maint.mk: prohibit inclusion of "hash.h" without_use
	* top/maint.mk (sc_prohibit_hash_without_use): New rule.

2010-02-10  Jim Meyering  <meyering@redhat.com>

	maint.mk: prohibit inclusion of "ignore-value.h" without_use
	* top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.

2010-02-09  Eric Blake  <ebb9@byu.net>
	and Bruno Haible  <bruno@clisp.org>

	obstack-printf-posix: ensure declaration
	* m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
	extracted from gl_FUNC_OBSTACK_PRINTF.
	(gl_FUNC_OBSTACK_PRINTF): Invoke it.
	* m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
	Likewise.
	* lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
	if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
	0.

2010-02-08  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix typo in 2010-02-07 commit.
	* gnulib-tool (func_get_dependencies): Fix typo in last commit.
	Reported by Eric Blake.

2010-02-07  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Fix up caching patches.
	* gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
	option --no-cache. Use associative arrays when supported by the shell.
	(sed_comments): New variable.
	(modcache): Renamed from do_cache.
	(sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
	abbreviate unnecessarily.
	(have_associative): New variable.
	(func_cache_var): Define correctly for bash 1.x. Define in an optimized
	way also for ksh and zsh.
	(func_init_sed_convert_to_cache_statements): New function, extracted
	from func_cache_lookup_module. Add support for associative arrays.
	Don't set the c_MODULE_cached variable here. Ignore all lines before
	the first field header. Remove only the final newline, not all trailing
	newlines. Support empty fields correctly. Limit the use of 'eval' to
	assignments.
	(func_get_description, func_get_status, func_get_notice,
	func_get_applicability, func_get_filelist, func_get_dependencies,
	func_get_autoconf_early_snippet, func_get_autoconf_snippet,
	func_get_automake_snippet, func_get_include_directive,
	func_get_link_directive, func_get_license, func_get_maintainer):
	Update documentation. List the unoptimized code first. Add support for
	associative arrays. Limit the use of 'eval' to assignments.
	(func_get_applicability): Undo stylistic pessimisations.
	(func_get_automake_snippet, func_get_include_directive): Reduce code
	duplication.
	(func_modules_transitive_closure, func_modules_add_dummy,
	func_modules_notice, func_modules_to_filelist, func_add_file,
	func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
	func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
	func_create_testdir, func_create_megatestdir): Update documentation.

2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_cache_lookup_module): Store the module name
	belonging to the cache variable; error out if two different
	module names map to the same cache variable name.

2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	gnulib-tool: Make caching optional.
	* gnulib-tool: Accept option --no-cache, turning off $do_cache.
	Update matching short versions of --no-changelog.
	(func_usage): Update.
	(sed_extract_cache_prog): Renamed from ...
	(sed_extract_prog): ... this; revert to old extraction script.
	(func_get_description, func_get_status)
	(func_get_notice, func_get_applicability, func_get_filelist)
	(func_get_dependencies, func_get_autoconf_early_snippet)
	(func_get_autoconf_snippet, func_get_automake_snippet)
	(func_get_include_directive, func_get_link_directive)
	(func_get_license, func_get_maintainer): If $do_cache is false,
	use old, non-caching extraction scripts.
	Suggestion by Bruno Haible.

2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	gnulib-tool: cache module metainformation.
	* gnulib-tool (sed_extract_prog): Match newline before each
	header, and rewrite header to a shell variable suffix.
	(func_cache_var, func_cache_lookup_module): New functions,
	to turn a module name into a cache variable prefix, and to
	look up and cache module metainformation.
	(func_get_description, func_get_status)
	(func_get_notice, func_get_applicability, func_get_filelist)
	(func_get_dependencies, func_get_autoconf_early_snippet)
	(func_get_autoconf_snippet, func_get_automake_snippet)
	(func_get_include_directive, func_get_link_directive)
	(func_get_license, func_get_maintainer): Use
	func_cache_lookup_module.

2010-02-07  Bruno Haible  <bruno@clisp.org>

	fnctl: Fix missing dependency.
	* modules/fcntl (Depends-on): Add getdtablesize.
	Reported by John W. Eaton <jwe@gnu.org>.

2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	Argp: fix recognition of short alias options.

	* lib/argp-parse.c (convert_options): Fix improper use of
	`|' between character values.
	* tests/test-argp.c (group1_option): New alias option
	--read (-r).
	(group1_parser): Special handling for 'r'.
	(test15): New test case.
	(test_fun): Add test15.
	* tests/test-argp-2.sh: Update expected --help and --usage
	outputs.

2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	* tests/test-argp.c: Fix indentation.

2010-02-04  Eric Blake  <ebb9@byu.net>

	gettimeofday: expose type of second argument
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
	of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
	* tests/test-gettimeofday.c: Use it to silence warning.
	* doc/posix-functions/gettimeofday.texi (gettimeofday): Document
	the issue.

2010-02-03  Jim Meyering  <meyering@redhat.com>

	regcomp.c: avoid the sole warning from gcc's -Wtype-limits
	* lib/regcomp.c (TYPE_SIGNED): Define.
	(parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.

	regcomp.c: avoid a new -Wshadow warning
	* lib/regcomp.c (create_initial_state): Do not shadow local "err".

2010-02-01  Jim Meyering  <meyering@redhat.com>

	removing useless parentheses in cpp #define directives
	For motivation, see commit c0221df4, "define STREQ(a,b)
	consistently, removing useless parentheses"
	* lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
	* lib/mountlist.c (MNT_IGNORE): Likewise.
	* lib/trim.h (trim, trim_trailing, trim_leading): Likewise.

2010-02-01  Eric Blake  <ebb9@byu.net>

	sys_time: use link-warning
	* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
	(gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
	(gl_SYS_TIME_MODULE_INDICATOR): New macro.
	* modules/sys_time (Depends-on): Add warn-on-use.
	(Makefile.am): Always build replacement.
	(configure.ac): Update substitutions.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
	(gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
	bother with SYS_TIME_H.
	* modules/gettimeofday (configure.ac): Declare indicator.
	* lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
	in use.

	closein-tests: silence compiler warning
	* tests/test-closein.c (main): Ignore fread result.
	* modules/closein-tests (Depends-on): Add ignore-value.

	tests: silence warning about system return
	* tests/test-areadlink-with-size.c (main): Ignore system result.
	* tests/test-areadlink.c (main): Likewise.
	* tests/test-areadlinkat-with-size.c (main): Likewise.
	* tests/test-areadlinkat.c (main): Likewise.
	* tests/test-canonicalize-lgpl.c (main): Likewise.
	* tests/test-canonicalize.c (main): Likewise.
	* tests/test-chown.c (main): Likewise.
	* tests/test-fchownat.c (main): Likewise.
	* tests/test-fdutimensat.c (main): Likewise.
	* tests/test-fstatat.c (main): Likewise.
	* tests/test-futimens.c (main): Likewise.
	* tests/test-lchown.c (main): Likewise.
	* tests/test-link.c (main): Likewise.
	* tests/test-linkat.c (main): Likewise.
	* tests/test-lstat.c (main): Likewise.
	* tests/test-mkdir.c (main): Likewise.
	* tests/test-mkdirat.c (main): Likewise.
	* tests/test-mkfifo.c (main): Likewise.
	* tests/test-mkfifoat.c (main): Likewise.
	* tests/test-mknod.c (main): Likewise.
	* tests/test-readlink.c (main): Likewise.
	* tests/test-remove.c (main): Likewise.
	* tests/test-rename.c (main): Likewise.
	* tests/test-renameat.c (main): Likewise.
	* tests/test-rmdir.c (main): Likewise.
	* tests/test-symlink.c (main): Likewise.
	* tests/test-symlinkat.c (main): Likewise.
	* tests/test-unlink.c (main): Likewise.
	* tests/test-unlinkat.c (main): Likewise.
	* tests/test-utimens.c (main): Likewise.
	* tests/test-utimensat.c (main): Likewise.
	* modules/areadlink-tests (Depends-on): Add ignore-value.
	* modules/areadlink-with-size-tests (Depends-on): Likewise.
	* modules/areadlinkat-tests (Depends-on): Likewise.
	* modules/areadlinkat-with-size-tests (Depends-on): Likewise.
	* modules/canonicalize-lgpl-tests (Depends-on): Likewise.
	* modules/canonicalize-tests (Depends-on): Likewise.
	* modules/chown-tests (Depends-on): Likewise.
	* modules/fdutimensat-tests (Depends-on): Likewise.
	* modules/futimens-tests (Depends-on): Likewise.
	* modules/lchown-tests (Depends-on): Likewise.
	* modules/link-tests (Depends-on): Likewise.
	* modules/linkat-tests (Depends-on): Likewise.
	* modules/lstat-tests (Depends-on): Likewise.
	* modules/mkdir-tests (Depends-on): Likewise.
	* modules/mkfifo-tests (Depends-on): Likewise.
	* modules/mkfifoat-tests (Depends-on): Likewise.
	* modules/mknod-tests (Depends-on): Likewise.
	* modules/openat-tests (Depends-on): Likewise.
	* modules/readlink-tests (Depends-on): Likewise.
	* modules/remove-tests (Depends-on): Likewise.
	* modules/rename-tests (Depends-on): Likewise.
	* modules/renameat-tests (Depends-on): Likewise.
	* modules/rmdir-tests (Depends-on): Likewise.
	* modules/symlink-tests (Depends-on): Likewise.
	* modules/symlinkat-tests (Depends-on): Likewise.
	* modules/unlink-tests (Depends-on): Likewise.
	* modules/utimens-tests (Depends-on): Likewise.
	* modules/utimensat-tests (Depends-on): Likewise.

2010-01-31  Bruno Haible  <bruno@clisp.org>

	Perform the same test for many <math.h> functions.
	* m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
	gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
	* m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
	of gl_MATHFUNC.
	* modules/acos (configure.ac): Likewise.
	* modules/asin (configure.ac): Likewise.
	* modules/atan (configure.ac): Likewise.
	* modules/atan2 (configure.ac): Likewise.
	* modules/cbrt (configure.ac): Likewise.
	* modules/copysign (configure.ac): Likewise.
	* modules/cos (configure.ac): Likewise.
	* modules/cosh (configure.ac): Likewise.
	* modules/erf (configure.ac): Likewise.
	* modules/erfc (configure.ac): Likewise.
	* modules/exp (configure.ac): Likewise.
	* modules/fmod (configure.ac): Likewise.
	* modules/hypot (configure.ac): Likewise.
	* modules/j0 (configure.ac): Likewise.
	* modules/j1 (configure.ac): Likewise.
	* modules/jn (configure.ac): Likewise.
	* modules/lgamma (configure.ac): Likewise.
	* modules/log (configure.ac): Likewise.
	* modules/log10 (configure.ac): Likewise.
	* modules/log1p (configure.ac): Likewise.
	* modules/pow (configure.ac): Likewise.
	* modules/remainder (configure.ac): Likewise.
	* modules/sin (configure.ac): Likewise.
	* modules/sinh (configure.ac): Likewise.
	* modules/tan (configure.ac): Likewise.
	* modules/tanh (configure.ac): Likewise.
	* modules/y0 (configure.ac): Likewise.
	* modules/y1 (configure.ac): Likewise.
	* modules/yn (configure.ac): Likewise.
	Suggested by Paolo Bonzini.

2010-01-31  Bruno Haible  <bruno@clisp.org>

	* m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.

2010-01-31  Bruno Haible  <bruno@clisp.org>

	Work around getdelim() bug on FreeBSD 8.0.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
	initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
	not work.
	* lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
	is 1.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
	* modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
	* tests/test-getdelim.c (main): Also test result for a NULL buffer and
	a non-zero size.
	* doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.

2010-01-31  Bruno Haible  <bruno@clisp.org>

	Work around getline() bug on FreeBSD 8.0.
	* m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
	and a non-zero size.
	* tests/test-getline.c (main): Likewise.
	* doc/posix-functions/getline.texi: Mention the FreeBSD bug.
	Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.

2010-01-28  Eric Blake  <ebb9@byu.net>

	regex: fix build failure
	* lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
	platforms.

2010-01-28  Jim Meyering  <meyering@redhat.com>

	regex: do not ignore memory allocation failure
	* lib/regex_internal.c (create_cd_newstate): Detect
	re_node_set_init_copy failure.   Extracted from glibc commit
	2da42bc06566bc89785e580fa1ac89b4c9f2a63c.

	regex: sync more white-space changes from libc
	* lib/regex_internal.c: White-space only changes.
	* lib/regexec.c: Likewise.

	regex: add many uses of __attribute_warn_unused_result__
	* lib/regex_internal.c: Use __attribute_warn_unused_result__.
	* lib/regexec.c: Likewise.
	Extracted from a messy glibc commit.

	regcomp.c: spelling and merge-artifact from glibc
	* lib/regcomp.c: Merge remainder of glibc's
	2da42bc06566bc89785e580fa1ac89b4c9f2a63c.

	regcomp.c: sync white-space changes from glibc
	* lib/regcomp.c: Merge to accommodate white space
	changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.

	regcomp.c: do not ignore internal return values
	* lib/regcomp.c: Do not ignore internal return values.
	This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
	but without its white-space changes and spelling fixes.

	regex_internal.h: define __attribute_warn_unused_result__
	* lib/regex_internal.h (__attribute_warn_unused_result__): Define.

	maint: add a syntax-check rule to check for vulnerable Makefile.in
	* top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.

2010-01-27  Jim Meyering  <meyering@redhat.com>

	ncftpput-ftp: clean up spaces
	* build-aux/ncftpput-ftp: Make Copyright line consistent.
	Remove trailing blanks.

2010-01-27  Simon Josefsson  <simon@josefsson.org>

	* build-aux/git-version-gen: Fix copyright statement.
	* build-aux/gnupload: Likewise.
	* tests/test-arcfour.c: Likewise.
	* tests/test-arctwo.c: Likewise.
	* tests/test-count-one-bits.c: Likewise.
	* tests/test-crc.c: Likewise.
	* tests/test-des.c: Likewise.
	* tests/test-gc-arcfour.c: Likewise.
	* tests/test-gc-arctwo.c: Likewise.
	* tests/test-gc-des.c: Likewise.
	* tests/test-gc-hmac-md5.c: Likewise.
	* tests/test-gc-hmac-sha1.c: Likewise.
	* tests/test-gc-md2.c: Likewise.
	* tests/test-gc-md4.c: Likewise.
	* tests/test-gc-md5.c: Likewise.
	* tests/test-gc-pbkdf2-sha1.c: Likewise.
	* tests/test-gc-rijndael.c: Likewise.
	* tests/test-gc-sha1.c: Likewise.
	* tests/test-gc.c: Likewise.
	* tests/test-gethostname.c: Likewise.
	* tests/test-gettimeofday.c: Likewise.
	* tests/test-hash.c: Likewise.
	* tests/test-hmac-md5.c: Likewise.
	* tests/test-hmac-sha1.c: Likewise.
	* tests/test-md2.c: Likewise.
	* tests/test-md4.c: Likewise.
	* tests/test-md5.c: Likewise.
	* tests/test-memchr.c: Likewise.
	* tests/test-memchr2.c: Likewise.
	* tests/test-memcmp.c: Likewise.
	* tests/test-memmem.c: Likewise.
	* tests/test-memrchr.c: Likewise.
	* tests/test-rawmemchr.c: Likewise.
	* tests/test-read-file.c: Likewise.
	* tests/test-rijndael.c: Likewise.
	* tests/test-sockets.c: Likewise.
	* tests/test-strchrnul.c: Likewise.
	* tests/test-strstr.c: Likewise.
	* tests/test-strtod.c: Likewise.
	* build-aux/ncftpput-ftp: Likewise.

2010-01-26  Eric Blake  <ebb9@byu.net>

	ignore-value: update recommended header name
	* modules/ignore-value (Include): Only use <> for headers that
	exist in glibc.

2010-01-26  Jim Meyering  <meyering@redhat.com>

	test-userspec.c: avoid compiler warnings
	* tests/test-userspec.c (main): Avoid shadowing ("uid"),
	and "initialization discards qualifiers..." warnings.
	Put the first "uid" in its own scope, and make char* members "const".

2010-01-25  Bruno Haible  <bruno@clisp.org>

	gnulib-tool: Make warning diagnostics consistent.
	* gnulib-tool (func_warning): New function.
	Use it everywhere where gnulib-tool produces output to stderr and it is
	not a fatal error.

2010-01-25  Bruno Haible  <bruno@clisp.org>

	Fix test dependencies.
	* modules/xstrtol-tests (Depends-on): Add inttypes.
	* modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.

2010-01-25  Pádraig Brady  <P@draigBrady.com>

	syntax-check: detect incorrect boolean macro values in config.h
	* modules/maintainer-makefile (configure.ac): Parameterize the location
	of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
	The logic is from Eric Blake and the location indicated by Jim Meyering.
	Note the more natural CONFIG_HEADER name is prohibited by automake
	for backwards compatibility reasons.
	* top/maint.mk (sc_Wundef_boolean): New rule.

2010-01-25  Jim Meyering  <meyering@redhat.com>

	bootstrap: detect MacOS 10.6's shasum, too
	* build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
	Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.

2010-01-23  Jim Meyering  <meyering@redhat.com>

	xstrtoll: new module
	* modules/xstrtoll: New file.
	* MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
	* lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
	* lib/xstrtoll.c, lib/xstrtoull.c: New files.
	./configure fails if you use this module and lack "long long".
	* modules/xstrtoll-tests: New module.
	* tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
	* tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
	new init.sh-based test framework.

2010-01-24  Bruno Haible  <bruno@clisp.org>

	Tests for module 'yn'.
	* modules/yn-tests: New file.
	* tests/test-yn.c: New file.

	Tests for module 'y1'.
	* modules/y1-tests: New file.
	* tests/test-y1.c: New file.

	Tests for module 'y0'.
	* modules/y0-tests: New file.
	* tests/test-y0.c: New file.

	Tests for module 'tanh'.
	* modules/tanh-tests: New file.
	* tests/test-tanh.c: New file.

	Tests for module 'tan'.
	* modules/tan-tests: New file.
	* tests/test-tan.c: New file.

	Tests for module 'sqrt'.
	* modules/sqrt-tests: New file.
	* tests/test-sqrt.c: New file.

	Tests for module 'sinh'.
	* modules/sinh-tests: New file.
	* tests/test-sinh.c: New file.

	Tests for module 'sin'.
	* modules/sin-tests: New file.
	* tests/test-sin.c: New file.

	Tests for module 'rint'.
	* modules/rint-tests: New file.
	* tests/test-rint.c: New file.

	Tests for module 'remainder'.
	* modules/remainder-tests: New file.
	* tests/test-remainder.c: New file.

	Tests for module 'pow'.
	* modules/pow-tests: New file.
	* tests/test-pow.c: New file.

	Tests for module 'nextafter'.
	* modules/nextafter-tests: New file.
	* tests/test-nextafter.c: New file.

	Tests for module 'modf'.
	* modules/modf-tests: New file.
	* tests/test-modf.c: New file.

	Tests for module 'logb'.
	* modules/logb-tests: New file.
	* tests/test-logb.c: New file.

	Tests for module 'log1p'.
	* modules/log1p-tests: New file.
	* tests/test-log1p.c: New file.

	Tests for module 'log10'.
	* modules/log10-tests: New file.
	* tests/test-log10.c: New file.

	Tests for module 'log'.
	* modules/log-tests: New file.
	* tests/test-log.c: New file.

	Tests for module 'lgamma'.
	* modules/lgamma-tests: New file.
	* tests/test-lgamma.c: New file.

	Tests for module 'ldexp'.
	* modules/ldexp-tests: New file.
	* tests/test-ldexp.c: New file.

	Tests for module 'jn'.
	* modules/jn-tests: New file.
	* tests/test-jn.c: New file.

	Tests for module 'j1'.
	* modules/j1-tests: New file.
	* tests/test-j1.c: New file.

	Tests for module 'j0'.
	* modules/j0-tests: New file.
	* tests/test-j0.c: New file.

	Tests for module 'hypot'.
	* modules/hypot-tests: New file.
	* tests/test-hypot.c: New file.

	Tests for module 'fmod'.
	* modules/fmod-tests: New file.
	* tests/test-fmod.c: New file.

	Tests for module 'fabs'.
	* modules/fabs-tests: New file.
	* tests/test-fabs.c: New file.

	Tests for module 'exp'.
	* modules/exp-tests: New file.
	* tests/test-exp.c: New file.

	Tests for module 'erfc'.
	* modules/erfc-tests: New file.
	* tests/test-erfc.c: New file.

	Tests for module 'erf'.
	* modules/erf-tests: New file.
	* tests/test-erf.c: New file.

	Tests for module 'cosh'.
	* modules/cosh-tests: New file.
	* tests/test-cosh.c: New file.

	Tests for module 'cos'.
	* modules/cos-tests: New file.
	* tests/test-cos.c: New file.

	Tests for module 'copysign'.
	* modules/copysign-tests: New file.
	* tests/test-copysign.c: New file.

	Tests for module 'cbrt'.
	* modules/cbrt-tests: New file.
	* tests/test-cbrt.c: New file.

	Tests for module 'atan2'.
	* modules/atan2-tests: New file.
	* tests/test-atan2.c: New file.

	Tests for module 'atan'.
	* modules/atan-tests: New file.
	* tests/test-atan.c: New file.

	Tests for module 'asin'.
	* modules/asin-tests: New file.
	* tests/test-asin.c: New file.

	Tests for module 'acos'.
	* modules/acos-tests: New file.
	* tests/test-acos.c: New file.

2010-01-24  Bruno Haible  <bruno@clisp.org>

	Fix tests for common <math.h> functions.
	* m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
	code snippet that references the function pointer, rather than merely
	calling the function. Substitute the FUNC_LIBM variable.
	* m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
	* modules/acos (configure.ac): Likewise.
	* modules/asin (configure.ac): Likewise.
	* modules/atan (configure.ac): Likewise.
	* modules/atan2 (configure.ac): Likewise.
	* modules/cbrt (configure.ac): Likewise.
	* modules/copysign (configure.ac): Likewise.
	* modules/cos (configure.ac): Likewise.
	* modules/cosh (configure.ac): Likewise.
	* modules/erf (configure.ac): Likewise.
	* modules/erfc (configure.ac): Likewise.
	* modules/exp (configure.ac): Likewise.
	* modules/fabs (configure.ac): Likewise.
	* modules/fmod (configure.ac): Likewise.
	* modules/hypot (configure.ac): Likewise.
	* modules/j0 (configure.ac): Likewise.
	* modules/j1 (configure.ac): Likewise.
	* modules/jn (configure.ac): Likewise.
	* modules/ldexp (configure.ac): Likewise.
	* modules/lgamma (configure.ac): Likewise.
	* modules/log (configure.ac): Likewise.
	* modules/log10 (configure.ac): Likewise.
	* modules/log1p (configure.ac): Likewise.
	* modules/logb (configure.ac): Likewise.
	* modules/modf (configure.ac): Likewise.
	* modules/nextafter (configure.ac): Likewise.
	* modules/pow (configure.ac): Likewise.
	* modules/remainder (configure.ac): Likewise.
	* modules/rint (configure.ac): Likewise.
	* modules/sin (configure.ac): Likewise.
	* modules/sinh (configure.ac): Likewise.
	* modules/tan (configure.ac): Likewise.
	* modules/tanh (configure.ac): Likewise.
	* modules/y0 (configure.ac): Likewise.
	* modules/y1 (configure.ac): Likewise.
	* modules/yn (configure.ac): Likewise.

2010-01-24  Bruno Haible  <bruno@clisp.org>

	Tests: Defeat inlining of math functions by GCC >= 4.3.0.
	* tests/test-acosl.c (x): New variable.
	(main): Store argument in x and fetch it from x.
	* tests/test-asinl.c (x): New variable.
	(main): Store argument in x and fetch it from x.
	* tests/test-atanl.c (x): New variable.
	(main): Store argument in x and fetch it from x.
	* tests/test-cosl.c (x): New variable.
	(main): Store argument in x and fetch it from x.
	* tests/test-expl.c (x): New variable.
	(main): Store argument in x and fetch it from x.
	* tests/test-logl.c (x): New variable.
	(main): Store argument in x and fetch it from x.
	* tests/test-sinl.c (x): New variable.
	(main): Store argument in x and fetch it from x.
	* tests/test-sqrtl.c (x): New variable.
	(main): Store argument in x and fetch it from x.
	* tests/test-tanl.c (x): New variable.
	(main): Store argument in x and fetch it from x.

2010-01-24  Bruno Haible  <bruno@clisp.org>

	Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
	* gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
	assignments to the initial TESTS_ENVIRONMENT.
	* doc/gnulib.texi (Unit test modules): Document it.
	* modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
	TESTS_ENVIRONMENT.
	* modules/btowc-tests (Makefile.am): Likewise.
	* modules/c-stack-tests (Makefile.am): Likewise.
	* modules/c-strcase-tests (Makefile.am): Likewise.
	* modules/copy-file-tests (Makefile.am): Likewise.
	* modules/mbmemcasecmp-tests (Makefile.am): Likewise.
	* modules/mbmemcasecoll-tests (Makefile.am): Likewise.
	* modules/mbrtowc-tests (Makefile.am): Likewise.
	* modules/mbscasecmp-tests (Makefile.am): Likewise.
	* modules/mbscasestr-tests (Makefile.am): Likewise.
	* modules/mbschr-tests (Makefile.am): Likewise.
	* modules/mbscspn-tests (Makefile.am): Likewise.
	* modules/mbsinit-tests (Makefile.am): Likewise.
	* modules/mbsncasecmp-tests (Makefile.am): Likewise.
	* modules/mbsnrtowcs-tests (Makefile.am): Likewise.
	* modules/mbspbrk-tests (Makefile.am): Likewise.
	* modules/mbspcasecmp-tests (Makefile.am): Likewise.
	* modules/mbsrchr-tests (Makefile.am): Likewise.
	* modules/mbsrtowcs-tests (Makefile.am): Likewise.
	* modules/mbsspn-tests (Makefile.am): Likewise.
	* modules/mbsstr-tests (Makefile.am): Likewise.
	* modules/nl_langinfo-tests (Makefile.am): Likewise.
	* modules/unicase/locale-language-tests (Makefile.am): Likewise.
	* modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
	* modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
	* modules/vasnprintf-posix-tests (Makefile.am): Likewise.
	* modules/wcrtomb-tests (Makefile.am): Likewise.
	* modules/wcsnrtombs-tests (Makefile.am): Likewise.
	* modules/wcsrtombs-tests (Makefile.am): Likewise.
	* modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
	assignments from TESTS_ENVIRONMENT.
	* modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
	augmentation.
	* modules/argp-version-etc-tests (Makefile.am): Likewise.
	* modules/atexit-tests (Makefile.am): Likewise.
	* modules/binary-io-tests (Makefile.am): Likewise.
	* modules/closein-tests (Makefile.am): Likewise.
	* modules/dprintf-posix-tests (Makefile.am): Likewise.
	* modules/exclude-tests (Makefile.am): Likewise.
	* modules/fflush-tests (Makefile.am): Likewise.
	* modules/fpending-tests (Makefile.am): Likewise.
	* modules/fprintf-posix-tests (Makefile.am): Likewise.
	* modules/freadahead-tests (Makefile.am): Likewise.
	* modules/freadptr-tests (Makefile.am): Likewise.
	* modules/freadseek-tests (Makefile.am): Likewise.
	* modules/fseek-tests (Makefile.am): Likewise.
	* modules/fseeko-tests (Makefile.am): Likewise.
	* modules/ftell-tests (Makefile.am): Likewise.
	* modules/ftello-tests (Makefile.am): Likewise.
	* modules/idpriv-drop-tests (Makefile.am): Likewise.
	* modules/idpriv-droptemp-tests (Makefile.am): Likewise.
	* modules/lseek-tests (Makefile.am): Likewise.
	* modules/parse-duration-tests (Makefile.am): Likewise.
	* modules/perror-tests (Makefile.am): Likewise.
	* modules/pipe-filter-gi-tests (Makefile.am): Likewise.
	* modules/pipe-filter-ii-tests (Makefile.am): Likewise.
	* modules/pipe-tests (Makefile.am): Likewise.
	* modules/pread-tests (Makefile.am): Likewise.
	* modules/printf-posix-tests (Makefile.am): Likewise.
	* modules/select-tests (Makefile.am): Likewise.
	* modules/sigpipe-tests (Makefile.am): Likewise.
	* modules/tsearch-tests (Makefile.am): Likewise.
	* modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
	* modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
	* modules/uniname/uniname-tests (Makefile.am): Likewise.
	* modules/uniwidth/width-tests (Makefile.am): Likewise.
	* modules/vdprintf-posix-tests (Makefile.am): Likewise.
	* modules/version-etc-tests (Makefile.am): Likewise.
	* modules/vfprintf-posix-tests (Makefile.am): Likewise.
	* modules/vprintf-posix-tests (Makefile.am): Likewise.
	* modules/xalloc-die-tests (Makefile.am): Likewise.
	* modules/xprintf-posix-tests (Makefile.am): Likewise.
	* modules/xstrtoimax-tests (Makefile.am): Likewise.
	* modules/xstrtol-tests (Makefile.am): Likewise.
	* modules/xstrtoumax-tests (Makefile.am): Likewise.
	* modules/yesno-tests (Makefile.am): Likewise.
	Suggested by Jim Meyering.

2010-01-24  Bruno Haible  <bruno@clisp.org>

	More documentation.
	* doc/gnulib.texi (Writing modules): New chapter.
	(Miscellaneous Notes): Move sections "Comments" and "Header files" to
	the new chapter.

2010-01-24  Jim Meyering  <meyering@redhat.com>

	maint.mk: do not prepend "./" after filtering
	* top/maint.mk (_prepend_srcdir_prefix): New variable
	(VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
	"./" when $(srcdir) is ".".

	define STREQ(a,b) consistently, removing useless parentheses
	#define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
	since the only risk is that "a" or "b" contains an unparenthesized
	comma, but if either did that, STREQ would have 3 or more arguments.
	Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
	* lib/fts.c (STREQ): Remove unnecessary parentheses.
	* lib/hash-triple.c (STREQ): Likewise.
	* tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
	* lib/getugroups.c (STREQ): Likewise.

2010-01-23  Jim Meyering  <meyering@redhat.com>

	maint.mk: fix syntax-check in a non-srcdir build directory
	* top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
	introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.

2010-01-22  Jim Meyering  <meyering@redhat.com>

	userspec: add unit tests
	* tests/test-userspec.c: New file.
	* modules/userspec-tests: Likewise.

2010-01-21  Jim Meyering  <meyering@redhat.com>

	maint.mk: handle source file names containing "." robustly
	* top/maint.mk (_dot_escaped_srcdir): Define.
	(VC_LIST): Use it in LHS of sed substitution.

2010-01-21  Jiri Denemark  <jdenemar@redhat.com>

	maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
	* top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
	$(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
	from a non-srcdir build.

2010-01-20  Eric Blake  <ebb9@byu.net>

	warn-on-use: use instead of link-warning
	* modules/stdio (Depends-on, Makefile.am): Drop link-warning.
	* modules/unistd (Depends-on, Makefile.am): Likewise.
	* modules/arpa_inet (Depends-on): Replace link-warning with
	warn-on-use.
	(Makefile.am): Update rules accordingly.
	* modules/ctype (Depends-on, Makefile.am): Likewise.
	* modules/dirent (Depends-on, Makefile.am): Likewise.
	* modules/fcntl-h (Depends-on, Makefile.am): Likewise.
	* modules/inttypes (Depends-on, Makefile.am): Likewise.
	* modules/langinfo (Depends-on, Makefile.am): Likewise.
	* modules/locale (Depends-on, Makefile.am): Likewise.
	* modules/math (Depends-on, Makefile.am): Likewise.
	* modules/search (Depends-on, Makefile.am): Likewise.
	* modules/signal (Depends-on, Makefile.am): Likewise.
	* modules/spawn (Depends-on, Makefile.am): Likewise.
	* modules/stdlib (Depends-on, Makefile.am): Likewise.
	* modules/string (Depends-on, Makefile.am): Likewise.
	* modules/strings (Depends-on, Makefile.am): Likewise.
	* modules/sys_file (Depends-on, Makefile.am): Likewise.
	* modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
	* modules/sys_select (Depends-on, Makefile.am): Likewise.
	* modules/sys_socket (Depends-on, Makefile.am): Likewise.
	* modules/sys_stat (Depends-on, Makefile.am): Likewise.
	* modules/sys_times (Depends-on, Makefile.am): Likewise.
	* modules/sys_utsname (Depends-on, Makefile.am): Likewise.
	* modules/wchar (Depends-on, Makefile.am): Likewise.
	* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
	should be poisoned.
	* m4/ctype.m4 (gl_CTYPE_H): Likewise.
	* m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
	* m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
	* m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
	* m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
	* m4/locale_h.m4 (gl_LOCALE_H): Likewise.
	* m4/math_h.m4 (gl_MATH_H): Likewise.
	* m4/search_h.m4 (gl_SEARCH_H): Likewise.
	* m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
	* m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
	* m4/stdio_h.m4 (gl_STDIO_H): Likewise.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
	* m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
	* m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
	* m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
	* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
	* m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
	* m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
	* m4/wchar.m4 (gl_WCHAR_H): Likewise.
	* lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
	GL_LINK_WARNING.
	* lib/ctype.in.h: Likewise.
	* lib/dirent.in.h: Likewise.
	* lib/fcntl.in.h: Likewise.
	* lib/inttypes.in.h: Likewise.
	* lib/langinfo.in.h: Likewise.
	* lib/locale.in.h: Likewise.
	* lib/math.in.h: Likewise.
	* lib/search.in.h: Likewise.
	* lib/signal.in.h: Likewise.
	* lib/spawn.in.h: Likewise.
	* lib/stdio.in.h: Likewise.
	* lib/stdlib.in.h: Likewise.
	* lib/string.in.h: Likewise.
	* lib/strings.in.h: Likewise.
	* lib/sys_file.in.h: Likewise.
	* lib/sys_ioctl.in.h: Likewise.
	* lib/sys_select.in.h: Likewise.
	* lib/sys_socket.in.h: Likewise.
	* lib/sys_stat.in.h: Likewise.
	* lib/sys_times.in.h: Likewise.
	* lib/sys_utsname.in.h: Likewise.
	* lib/unistd.in.h: Likewise.
	* lib/wchar.in.h: Likewise.

2010-01-20  Bruno Haible  <bruno@clisp.org>

	Avoid duplicate -lm.
	* m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
	* m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
	* m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
	* m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
	* m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
	* m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
	* m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
	* m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
	* m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
	* m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
	Reported by Paolo Bonzini.

2010-01-19  Bruno Haible  <bruno@clisp.org>

	langinfo, nl_langinfo: Relicense under LGPLv2+.
	* modules/langinfo (License): Change to LGPLv2+.
	* modules/nl_langinfo (License): Likewise.
	Patch by David Lutterkort <lutter@redhat.com>.

2010-01-19  Bruno Haible  <bruno@clisp.org>

	Avoid compilation error with cc on OSF/1 5.1.
	* lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
	statement, not before.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2010-01-18  Bruno Haible  <bruno@clisp.org>

	Avoid a link error due to the __printf__ symbol.
	* lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
	and 2.6.x.
	(__format__, __printf__): Remove definitions.
	* lib/argp-fmtstream.h: Likewise.
	* lib/argp.h: Likewise.
	* lib/error.h: Likewise.
	* lib/vasnprintf.h: Likewise.
	* lib/xprintf.h: Likewise.
	* lib/xvasprintf.h: Likewise.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2010-01-18  Bruno Haible  <bruno@clisp.org>

	Tests for module 'tanl'.
	* modules/tanl-tests: New file.
	* tests/test-tanl.c: New file.

	Tests for module 'sqrtl'.
	* modules/sqrtl-tests: New file.
	* tests/test-sqrtl.c: New file.

	Tests for module 'sinl'.
	* modules/sinl-tests: New file.
	* tests/test-sinl.c: New file.

	Tests for module 'logl'.
	* modules/logl-tests: New file.
	* tests/test-logl.c: New file.

	Tests for module 'expl'.
	* modules/expl-tests: New file.
	* tests/test-expl.c: New file.

	Tests for module 'cosl'.
	* modules/cosl-tests: New file.
	* tests/test-cosl.c: New file.

	Tests for module 'atanl'.
	* modules/atanl-tests: New file.
	* tests/test-atanl.c: New file.

	Tests for module 'asinl'.
	* modules/asinl-tests: New file.
	* tests/test-asinl.c: New file.

	Tests for module 'acosl'.
	* modules/acosl-tests: New file.
	* tests/test-acosl.c: New file.

	New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
	* lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
	tanl): Use the standard gnulib idiom.
	* lib/cosl.c: Don't include trigl.c and sincosl.c.
	* lib/sinl.c: Likewise.
	* lib/tanl.c: Don't include trigl.c.
	(kernel_tanl): Make static.
	* lib/sincosl.c: Include trigl.h first.
	* lib/trigl.c: Likewise.
	* m4/acosl.m4: New file.
	* m4/asinl.m4: New file.
	* m4/atanl.m4: New file.
	* m4/cosl.m4: New file.
	* m4/expl.m4: New file.
	* m4/logl.m4: New file.
	* m4/sinl.m4: New file.
	* m4/sqrtl.m4: New file.
	* m4/tanl.m4: New file.
	* m4/mathl.m4: Remove file.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
	variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
	Don't initialize GNULIB_MATHL.
	* modules/acosl: New file.
	* modules/asinl: New file.
	* modules/atanl: New file.
	* modules/cosl: New file.
	* modules/expl: New file.
	* modules/logl: New file.
	* modules/sinl: New file.
	* modules/sqrtl: New file.
	* modules/tanl: New file.
	* modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
	for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
	substitute GNULIB_MATHL.
	* modules/mathl: Rewritten.
	* doc/posix-functions/acosl.texi: Mention the 'acosl' module.
	* doc/posix-functions/asinl.texi: Mention the 'asinl' module.
	* doc/posix-functions/atanl.texi: Mention the 'atanl' module.
	* doc/posix-functions/cosl.texi: Mention the 'cosl' module.
	* doc/posix-functions/expl.texi: Mention the 'expl' module.
	* doc/posix-functions/logl.texi: Mention the 'logl' module.
	* doc/posix-functions/sinl.texi: Mention the 'sinl' module.
	* doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
	* doc/posix-functions/tanl.texi: Mention the 'tanl' module.

2010-01-18  Bruno Haible  <bruno@clisp.org>

	sqrt: Make gl_FUNC_SQRT requirable.
	* m4/sqrt.m4: New file.
	* modules/sqrt (Files): Add it.
	(configure.ac): Invoke gl_FUNC_SQRT.

2010-01-18  Bruno Haible  <bruno@clisp.org>

	New modules for common <math.h> functions.
	* m4/mathfunc.m4: New file.
	* modules/acos: New file.
	* modules/asin: New file.
	* modules/atan: New file.
	* modules/atan2: New file.
	* modules/cbrt: New file.
	* modules/copysign: New file.
	* modules/cos: New file.
	* modules/cosh: New file.
	* modules/erf: New file.
	* modules/erfc: New file.
	* modules/exp: New file.
	* modules/fabs: New file.
	* modules/fmod: New file.
	* modules/hypot: New file.
	* modules/j0: New file.
	* modules/j1: New file.
	* modules/jn: New file.
	* modules/ldexp: New file.
	* modules/lgamma: New file.
	* modules/log: New file.
	* modules/log10: New file.
	* modules/log1p: New file.
	* modules/logb: New file.
	* modules/modf: New file.
	* modules/nextafter: New file.
	* modules/pow: New file.
	* modules/remainder: New file.
	* modules/rint: New file.
	* modules/sin: New file.
	* modules/sinh: New file.
	* modules/sqrt: New file.
	* modules/tan: New file.
	* modules/tanh: New file.
	* modules/y0: New file.
	* modules/y1: New file.
	* modules/yn: New file.
	* doc/posix-functions/acos.texi: Mention the 'acos' module.
	* doc/posix-functions/asin.texi: Mention the 'asin' module.
	* doc/posix-functions/atan.texi: Mention the 'atan' module.
	* doc/posix-functions/atan2.texi: Mention the 'atan2' module.
	* doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
	* doc/posix-functions/copysign.texi: Mention the 'copysign' module.
	* doc/posix-functions/cos.texi: Mention the 'cos' module.
	* doc/posix-functions/cosh.texi: Mention the 'cosh' module.
	* doc/posix-functions/erf.texi: Mention the 'erf' module.
	* doc/posix-functions/erfc.texi: Mention the 'erfc' module.
	* doc/posix-functions/exp.texi: Mention the 'exp' module.
	* doc/posix-functions/fabs.texi: Mention the 'fabs' module.
	* doc/posix-functions/fmod.texi: Mention the 'fmod' module.
	* doc/posix-functions/hypot.texi: Mention the 'hypot' module.
	* doc/posix-functions/j0.texi: Mention the 'j0' module.
	* doc/posix-functions/j1.texi: Mention the 'j1' module.
	* doc/posix-functions/jn.texi: Mention the 'jn' module.
	* doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
	* doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
	* doc/posix-functions/log.texi: Mention the 'log' module.
	* doc/posix-functions/log10.texi: Mention the 'log10' module.
	* doc/posix-functions/log1p.texi: Mention the 'log1p' module.
	* doc/posix-functions/logb.texi: Mention the 'logb' module.
	* doc/posix-functions/modf.texi: Mention the 'modf' module.
	* doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
	* doc/posix-functions/pow.texi: Mention the 'pow' module.
	* doc/posix-functions/remainder.texi: Mention the 'remainder' module.
	* doc/posix-functions/rint.texi: Mention the 'rint' module.
	* doc/posix-functions/sin.texi: Mention the 'sin' module.
	* doc/posix-functions/sinh.texi: Mention the 'sinh' module.
	* doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
	* doc/posix-functions/tan.texi: Mention the 'tan' module.
	* doc/posix-functions/tanh.texi: Mention the 'tanh' module.
	* doc/posix-functions/y0.texi: Mention the 'y0' module.
	* doc/posix-functions/y1.texi: Mention the 'y1' module.
	* doc/posix-functions/yn.texi: Mention the 'yn' module.

2010-01-18  Jim Meyering  <meyering@redhat.com>

	ignore-value: relax license to LGPLv2+
	* modules/ignore-value (License): Relax to LGPLv2+.

	getdate: don't leak when TZ contains two or more '"'s
	* lib/getdate.y (get_date): Don't leak a copy of TZ for each
	double quote in TZ after the first one.

	readtokens: do not leak internal token_lengths buffer
	* lib/readtokens.c (readtokens): Free the local, lengths,
	when the supplied "token_lengths" parameter is NULL.

2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Fix a couple of missing LIBTHREAD link failures on AIX.
	* modules/git-merge-changelog (git_merge_changelog_LDADD): Add
	$(LIBTHREAD).
	* modules/strsignal-tests (test_strsignal_LDADD): Likewise.

	Link test-poll against INET_PTON_LIB.
	* modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
	for inet_pton on Solaris 10.

2010-01-17  Bruno Haible  <bruno@clisp.org>

	unistdio/*-sprintf: Fix typo in module description.
	* modules/unistdio/u8-sprintf (Depends-on): Fix typo.
	* modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
	* modules/unistdio/u16-sprintf (Depends-on): Likewise.
	* modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
	* modules/unistdio/u32-sprintf (Depends-on): Likewise.
	* modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-sprintf (Depends-on): Likewise.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	gnulib-tool: fix filelist for AIX, HP-UX ksh.
	* gnulib-tool (func_filter_filelist): Do not quote possibly-empty
	variables in shell case patterns, for AIX and HP-UX ksh.

	Split large sed scripts, for HP-UX sed.
	* modules/stdio: Split sed scripts around 50 sed commands,
	to avoid HP-UX limit of 99 commands, in the near future.
	* modules/string: Likewise.
	* modules/unistd: Likewise.

	gnulib-tool: avoid writing in the current directory.
	* gnulib-tool (func_emit_lib_Makefile_am)
	(func_emit_tests_Makefile_am): Put temporary files in $tmp,
	not in the current directory, so concurrent gnulib-tool
	instances do not interfere.

2010-01-16  Jim Meyering  <meyering@redhat.com>

	doc: update users.txt
	* users.txt: Add grep.
	(diffutils, gzip): Update URLs.

2010-01-12  Bruno Haible  <bruno@clisp.org>

	posix_spawn: Avoid test failure on Cygwin.
	* tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
	characters.
	Reported by Simon Josefsson.

2010-01-12  Bruno Haible  <bruno@clisp.org>

	* tests/test-cond.c (main): When skipping the test, show the reason.

2010-01-12  Simon Josefsson  <simon@josefsson.org>

	* lib/striconv.c (str_cd_iconv): Avoid if before free.

2010-01-12  Simon Josefsson  <simon@josefsson.org>

	* top/maint.mk (VC_LIST_EXCEPT): Filter list through
	VC_LIST_ALWAYS_EXCLUDE_REGEX.

2010-01-12  Eric Blake  <ebb9@byu.net>

	build: guarantee AS_VAR_IF
	* m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
	(gl_AS_VAR_IF): Move...
	* m4/gnulib-common.m4 (AS_VAR_IF): ...here.
	Reported by Simon Josefsson.

2010-01-12  Simon Josefsson  <simon@josefsson.org>

	* lib/stdio.in.h: Fix typo.

2010-01-12  Simon Josefsson  <simon@josefsson.org>

	* m4/gc.m4: Check if linking to libgcrypt also needs linking to
	libgpg-error.

2010-01-12  Simon Josefsson  <simon@josefsson.org>

	* tests/test-xalloc-die.sh: Use $EXEEXT.

2010-01-12  Simon Josefsson  <simon@josefsson.org>
	    Bruno Haible  <bruno@clisp.org>

	getlogin, getlogin_r: Avoid test failure.
	* tests/test-getlogin.c: Include <stdio.h>.
	(main): Skip the test when the function fails because stdin is not a
	tty.
	* tests/test-getlogin_r.c: Include <stdio.h>.
	(main): Skip the test when the function fails because stdin is not a
	tty.

2010-01-11  Eric Blake  <ebb9@byu.net>

	tests: avoid more large file warnings
	* tests/test-fflush.c: Avoid warning about ftell use.
	* tests/test-fseek.c: Avoid warning about fseek use.

2010-01-10  Bruno Haible  <bruno@clisp.org>

	nproc: Work better on Linux when /proc and /sys are not mounted.
	* lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
	as lower bound when, on glibc/Linux systems,
	sysconf (_SC_NPROCESSORS_CONF) returns 1.
	Suggested by Pádraig Brady <P@draigbrady.com>.
	Reported by Dmitry V. Levin <ldv@altlinux.org>.

	nproc: Refactor.
	* lib/nproc.c (num_processors_via_affinity_mask): New function,
	extracted from num_processors.
	(num_processors): Call it.

2010-01-11  Jim Meyering  <meyering@redhat.com>

	utimecmp: avoid new warning from upcoming gcc-4.5.0
	* lib/utimecmp.c (BILLION): Define using #define rather than an
	anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.

2010-01-11  Eric Blake  <ebb9@byu.net>

	math: add portability warnings for classification macros
	* modules/math (Depends-on): Add warn-on-use.
	(Makefile.am): Provide new substitutions.
	* m4/math_h.m4 (gl_MATH_H): Require inline.
	* lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
	(_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
	(isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
	implement warnings.

	unistd: warn on use of environ without module
	* modules/unistd (Depends-on): Add warn-on-use.
	(Makefile.am): Provide new substitutions.
	* m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
	* lib/unistd.in.h (environ): Wrap with a warning helper function.

	stdio: warn on suspicious uses
	* modules/stdio (Depends-on): Add warn-on-use.
	(Makefile.am): Provide new substitutions.
	* m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
	fseeko.
	* lib/stdio.in.h (gets): Always warn on use.
	(fseek, ftell): Adjust when warnings are issued, and honor
	_GL_NO_LARGE_FILES as a way to silence the warning.
	* tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
	any warning about large file offsets.
	* tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
	* tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
	* tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
	* tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
	* tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
	* tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
	* tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
	* tests/test-getopt.c [!GNULIB_FTELL]: Likewise.

	warn-on-use: new module
	* modules/warn-on-use: New file.
	* build-aux/warn-on-use.h: Likewise.
	* m4/warn-on-use.m4: Likewise.
	* MODULES.html.sh (Support for building): Mention it.

2010-01-10  Bruno Haible  <bruno@clisp.org>

	Tests for module 'unistr/u32-strdup'.
	* modules/unistr/u32-strdup-tests: New file.
	* tests/unistr/test-u32-strdup.c: New file.

	Tests for module 'unistr/u16-strdup'.
	* modules/unistr/u16-strdup-tests: New file.
	* tests/unistr/test-u16-strdup.c: New file.

	Tests for module 'unistr/u8-strdup'.
	* modules/unistr/u8-strdup-tests: New file.
	* tests/unistr/test-u8-strdup.c: New file.
	* tests/unistr/test-strdup.h: New file.

	Tests for module 'unistr/u32-strncmp'.
	* modules/unistr/u32-strncmp-tests: New file.
	* tests/unistr/test-u32-strncmp.c: New file.

	Tests for module 'unistr/u16-strncmp'.
	* modules/unistr/u16-strncmp-tests: New file.
	* tests/unistr/test-u16-strncmp.c: New file.

	Tests for module 'unistr/u8-strncmp'.
	* modules/unistr/u8-strncmp-tests: New file.
	* tests/unistr/test-u8-strncmp.c: New file.
	* tests/unistr/test-strncmp.h: New file.

	Tests for module 'unistr/u32-strcoll'.
	* modules/unistr/u32-strcoll-tests: New file.
	* tests/unistr/test-u32-strcoll.c: New file.

	Tests for module 'unistr/u16-strcoll'.
	* modules/unistr/u16-strcoll-tests: New file.
	* tests/unistr/test-u16-strcoll.c: New file.

	Tests for module 'unistr/u8-strcoll'.
	* modules/unistr/u8-strcoll-tests: New file.
	* tests/unistr/test-u8-strcoll.c: New file.

	Tests for module 'unistr/u32-strcmp'.
	* modules/unistr/u32-strcmp-tests: New file.
	* tests/unistr/test-u32-strcmp.c: New file.
	* tests/unistr/test-u32-strcmp.h: New file.

	Tests for module 'unistr/u16-strcmp'.
	* modules/unistr/u16-strcmp-tests: New file.
	* tests/unistr/test-u16-strcmp.c: New file.
	* tests/unistr/test-u16-strcmp.h: New file.

	Tests for module 'unistr/u8-strcmp'.
	* modules/unistr/u8-strcmp-tests: New file.
	* tests/unistr/test-u8-strcmp.c: New file.
	* tests/unistr/test-u8-strcmp.h: New file.
	* tests/unistr/test-strcmp.h: New file.

	Tests for module 'unistr/u32-strncat'.
	* modules/unistr/u32-strncat-tests: New file.
	* tests/unistr/test-u32-strncat.c: New file.

	Tests for module 'unistr/u16-strncat'.
	* modules/unistr/u16-strncat-tests: New file.
	* tests/unistr/test-u16-strncat.c: New file.

	Tests for module 'unistr/u8-strncat'.
	* modules/unistr/u8-strncat-tests: New file.
	* tests/unistr/test-u8-strncat.c: New file.
	* tests/unistr/test-strncat.h: New file.

	Tests for module 'unistr/u32-strcat'.
	* modules/unistr/u32-strcat-tests: New file.
	* tests/unistr/test-u32-strcat.c: New file.

	Tests for module 'unistr/u16-strcat'.
	* modules/unistr/u16-strcat-tests: New file.
	* tests/unistr/test-u16-strcat.c: New file.

	Tests for module 'unistr/u8-strcat'.
	* modules/unistr/u8-strcat-tests: New file.
	* tests/unistr/test-u8-strcat.c: New file.
	* tests/unistr/test-strcat.h: New file.

	Tests for module 'unistr/u32-stpncpy'.
	* modules/unistr/u32-stpncpy-tests: New file.
	* tests/unistr/test-u32-stpncpy.c: New file.

	Tests for module 'unistr/u16-stpncpy'.
	* modules/unistr/u16-stpncpy-tests: New file.
	* tests/unistr/test-u16-stpncpy.c: New file.

	Tests for module 'unistr/u8-stpncpy'.
	* modules/unistr/u8-stpncpy-tests: New file.
	* tests/unistr/test-u8-stpncpy.c: New file.
	* tests/unistr/test-stpncpy.h: New file.

	Tests for module 'unistr/u32-strncpy'.
	* modules/unistr/u32-strncpy-tests: New file.
	* tests/unistr/test-u32-strncpy.c: New file.

	Tests for module 'unistr/u16-strncpy'.
	* modules/unistr/u16-strncpy-tests: New file.
	* tests/unistr/test-u16-strncpy.c: New file.

	Tests for module 'unistr/u8-strncpy'.
	* modules/unistr/u8-strncpy-tests: New file.
	* tests/unistr/test-u8-strncpy.c: New file.
	* tests/unistr/test-strncpy.h: New file.

	Tests for module 'unistr/u32-stpcpy'.
	* modules/unistr/u32-stpcpy-tests: New file.
	* tests/unistr/test-u32-stpcpy.c: New file.

	Tests for module 'unistr/u16-stpcpy'.
	* modules/unistr/u16-stpcpy-tests: New file.
	* tests/unistr/test-u16-stpcpy.c: New file.

	Tests for module 'unistr/u8-stpcpy'.
	* modules/unistr/u8-stpcpy-tests: New file.
	* tests/unistr/test-u8-stpcpy.c: New file.
	* tests/unistr/test-stpcpy.h: New file.

	Tests for module 'unistr/u32-strcpy'.
	* modules/unistr/u32-strcpy-tests: New file.
	* tests/unistr/test-u32-strcpy.c: New file.

	Tests for module 'unistr/u16-strcpy'.
	* modules/unistr/u16-strcpy-tests: New file.
	* tests/unistr/test-u16-strcpy.c: New file.

	Tests for module 'unistr/u8-strcpy'.
	* modules/unistr/u8-strcpy-tests: New file.
	* tests/unistr/test-u8-strcpy.c: New file.
	* tests/unistr/test-strcpy.h: New file.

	Tests for module 'unistr/u32-strnlen'.
	* modules/unistr/u32-strnlen-tests: New file.
	* tests/unistr/test-u32-strnlen.c: New file.

	Tests for module 'unistr/u16-strnlen'.
	* modules/unistr/u16-strnlen-tests: New file.
	* tests/unistr/test-u16-strnlen.c: New file.

	Tests for module 'unistr/u8-strnlen'.
	* modules/unistr/u8-strnlen-tests: New file.
	* tests/unistr/test-u8-strnlen.c: New file.
	* tests/unistr/test-strnlen.h: New file.

	Tests for module 'unistr/u32-strlen'.
	* modules/unistr/u32-strlen-tests: New file.
	* tests/unistr/test-u32-strlen.c: New file.

	Tests for module 'unistr/u16-strlen'.
	* modules/unistr/u16-strlen-tests: New file.
	* tests/unistr/test-u16-strlen.c: New file.

	Tests for module 'unistr/u8-strlen'.
	* modules/unistr/u8-strlen-tests: New file.
	* tests/unistr/test-u8-strlen.c: New file.

	Tests for module 'unistr/u32-prev'.
	* modules/unistr/u32-prev-tests: New file.
	* tests/unistr/test-u32-prev.c: New file.

	Tests for module 'unistr/u16-prev'.
	* modules/unistr/u16-prev-tests: New file.
	* tests/unistr/test-u16-prev.c: New file.

	Tests for module 'unistr/u8-prev'.
	* modules/unistr/u8-prev-tests: New file.
	* tests/unistr/test-u8-prev.c: New file.

	Tests for module 'unistr/u32-next'.
	* modules/unistr/u32-next-tests: New file.
	* tests/unistr/test-u32-next.c: New file.

	Tests for module 'unistr/u16-next'.
	* modules/unistr/u16-next-tests: New file.
	* tests/unistr/test-u16-next.c: New file.

	Tests for module 'unistr/u8-next'.
	* modules/unistr/u8-next-tests: New file.
	* tests/unistr/test-u8-next.c: New file.

	Tests for module 'unistr/u32-strmbtouc'.
	* modules/unistr/u32-strmbtouc-tests: New file.
	* tests/unistr/test-u32-strmbtouc.c: New file.

	Tests for module 'unistr/u16-strmbtouc'.
	* modules/unistr/u16-strmbtouc-tests: New file.
	* tests/unistr/test-u16-strmbtouc.c: New file.

	Tests for module 'unistr/u8-strmbtouc'.
	* modules/unistr/u8-strmbtouc-tests: New file.
	* tests/unistr/test-u8-strmbtouc.c: New file.

	Tests for module 'unistr/u32-strmblen'.
	* modules/unistr/u32-strmblen-tests: New file.
	* tests/unistr/test-u32-strmblen.c: New file.

	Tests for module 'unistr/u16-strmblen'.
	* modules/unistr/u16-strmblen-tests: New file.
	* tests/unistr/test-u16-strmblen.c: New file.

	Tests for module 'unistr/u8-strmblen'.
	* modules/unistr/u8-strmblen-tests: New file.
	* tests/unistr/test-u8-strmblen.c: New file.

	Tests for module 'unistr/u32-cpy-alloc'.
	* modules/unistr/u32-cpy-alloc-tests: New file.
	* tests/unistr/test-u32-cpy-alloc.c: New file.

	Tests for module 'unistr/u16-cpy-alloc'.
	* modules/unistr/u16-cpy-alloc-tests: New file.
	* tests/unistr/test-u16-cpy-alloc.c: New file.

	Tests for module 'unistr/u8-cpy-alloc'.
	* modules/unistr/u8-cpy-alloc-tests: New file.
	* tests/unistr/test-u8-cpy-alloc.c: New file.
	* tests/unistr/test-cpy-alloc.h: New file.

	Tests for module 'unistr/u32-mbsnlen'.
	* modules/unistr/u32-mbsnlen-tests: New file.
	* tests/unistr/test-u32-mbsnlen.c: New file.

	Tests for module 'unistr/u16-mbsnlen'.
	* modules/unistr/u16-mbsnlen-tests: New file.
	* tests/unistr/test-u16-mbsnlen.c: New file.

	Tests for module 'unistr/u8-mbsnlen'.
	* modules/unistr/u8-mbsnlen-tests: New file.
	* tests/unistr/test-u8-mbsnlen.c: New file.

	Tests for module 'unistr/u32-chr'.
	* modules/unistr/u32-chr-tests: New file.
	* tests/unistr/test-u32-chr.c: New file.

	Tests for module 'unistr/u16-chr'.
	* modules/unistr/u16-chr-tests: New file.
	* tests/unistr/test-u16-chr.c: New file.

	Tests for module 'unistr/u8-chr'.
	* modules/unistr/u8-chr-tests: New file.
	* tests/unistr/test-u8-chr.c: New file.
	* tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.

	Tests for module 'unistr/u32-cmp2'.
	* modules/unistr/u32-cmp2-tests: New file.
	* tests/unistr/test-u32-cmp2.c: New file.

	Tests for module 'unistr/u16-cmp2'.
	* modules/unistr/u16-cmp2-tests: New file.
	* tests/unistr/test-u16-cmp2.c: New file.

	Tests for module 'unistr/u8-cmp2'.
	* modules/unistr/u8-cmp2-tests: New file.
	* tests/unistr/test-u8-cmp2.c: New file.
	* tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.

	Tests for module 'unistr/u32-cmp'.
	* modules/unistr/u32-cmp-tests: New file.
	* tests/unistr/test-u32-cmp.c: New file.

	Tests for module 'unistr/u16-cmp'.
	* modules/unistr/u16-cmp-tests: New file.
	* tests/unistr/test-u16-cmp.c: New file.

	Tests for module 'unistr/u8-cmp'.
	* modules/unistr/u8-cmp-tests: New file.
	* tests/unistr/test-u8-cmp.c: New file.
	* tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.

	Tests for module 'unistr/u32-set'.
	* modules/unistr/u32-set-tests: New file.
	* tests/unistr/test-u32-set.c: New file.

	Tests for module 'unistr/u16-set'.
	* modules/unistr/u16-set-tests: New file.
	* tests/unistr/test-u16-set.c: New file.

	Tests for module 'unistr/u8-set'.
	* modules/unistr/u8-set-tests: New file.
	* tests/unistr/test-u8-set.c: New file.
	* tests/unistr/test-set.h: New file.

	Tests for module 'unistr/u32-move'.
	* modules/unistr/u32-move-tests: New file.
	* tests/unistr/test-u32-move.c: New file.

	Tests for module 'unistr/u16-move'.
	* modules/unistr/u16-move-tests: New file.
	* tests/unistr/test-u16-move.c: New file.

	Tests for module 'unistr/u8-move'.
	* modules/unistr/u8-move-tests: New file.
	* tests/unistr/test-u8-move.c: New file.
	* tests/unistr/test-move.h: New file.

	Tests for module 'unistr/u32-cpy'.
	* modules/unistr/u32-cpy-tests: New file.
	* tests/unistr/test-u32-cpy.c: New file.

	Tests for module 'unistr/u16-cpy'.
	* modules/unistr/u16-cpy-tests: New file.
	* tests/unistr/test-u16-cpy.c: New file.

	Tests for module 'unistr/u8-cpy'.
	* modules/unistr/u8-cpy-tests: New file.
	* tests/unistr/test-u8-cpy.c: New file.
	* tests/unistr/test-cpy.h: New file.

2010-01-09  Bruno Haible  <bruno@clisp.org>

	Tests for module 'unistr/u32-uctomb'.
	* modules/unistr/u32-uctomb-tests: New file.
	* tests/unistr/test-u32-uctomb.c: New file.

	Tests for module 'unistr/u16-uctomb'.
	* modules/unistr/u16-uctomb-tests: New file.
	* tests/unistr/test-u16-uctomb.c: New file.

	Tests for module 'unistr/u8-uctomb'.
	* modules/unistr/u8-uctomb-tests: New file.
	* tests/unistr/test-u8-uctomb.c: New file.

	Tests for module 'unistr/u32-mbtoucr'.
	* modules/unistr/u32-mbtoucr-tests: New file.
	* tests/unistr/test-u32-mbtoucr.c: New file.

	Tests for module 'unistr/u16-mbtoucr'.
	* modules/unistr/u16-mbtoucr-tests: New file.
	* tests/unistr/test-u16-mbtoucr.c: New file.

	Tests for module 'unistr/u8-mbtoucr'.
	* modules/unistr/u8-mbtoucr-tests: New file.
	* tests/unistr/test-u8-mbtoucr.c: New file.

	Tests for module 'unistr/u32-mbtouc'.
	* modules/unistr/u32-mbtouc-tests: New file.
	* tests/unistr/test-u32-mbtouc.c: New file.

	Tests for module 'unistr/u16-mbtouc'.
	* modules/unistr/u16-mbtouc-tests: New file.
	* tests/unistr/test-u16-mbtouc.c: New file.

	Tests for module 'unistr/u8-mbtouc'.
	* modules/unistr/u8-mbtouc-tests: New file.
	* tests/unistr/test-u8-mbtouc.c: New file.

	Tests for module 'unistr/u32-mbtouc-unsafe'.
	* modules/unistr/u32-mbtouc-unsafe-tests: New file.
	* tests/unistr/test-u32-mbtouc-unsafe.c: New file.
	* tests/unistr/test-u32-mbtouc.h: New file.

	Tests for module 'unistr/u16-mbtouc-unsafe'.
	* modules/unistr/u16-mbtouc-unsafe-tests: New file.
	* tests/unistr/test-u16-mbtouc-unsafe.c: New file.
	* tests/unistr/test-u16-mbtouc.h: New file.

	Tests for module 'unistr/u8-mbtouc-unsafe'.
	* modules/unistr/u8-mbtouc-unsafe-tests: New file.
	* tests/unistr/test-u8-mbtouc-unsafe.c: New file.
	* tests/unistr/test-u8-mbtouc.h: New file.

	Tests for module 'unistr/u32-mblen'.
	* modules/unistr/u32-mblen-tests: New file.
	* tests/unistr/test-u32-mblen.c: New file.

	Tests for module 'unistr/u16-mblen'.
	* modules/unistr/u16-mblen-tests: New file.
	* tests/unistr/test-u16-mblen.c: New file.

	Tests for module 'unistr/u8-mblen'.
	* modules/unistr/u8-mblen-tests: New file.
	* tests/unistr/test-u8-mblen.c: New file.

	Tests for module 'unistr/u32-to-u16'.
	* modules/unistr/u32-to-u16-tests: New file.
	* tests/unistr/test-u32-to-u16.c: New file.

	Tests for module 'unistr/u32-to-u8'.
	* modules/unistr/u32-to-u8-tests: New file.
	* tests/unistr/test-u32-to-u8.c: New file.

	Tests for module 'unistr/u16-to-u32'.
	* modules/unistr/u16-to-u32-tests: New file.
	* tests/unistr/test-u16-to-u32.c: New file.

	Tests for module 'unistr/u16-to-u8'.
	* modules/unistr/u16-to-u8-tests: New file.
	* tests/unistr/test-u16-to-u8.c: New file.

	Tests for module 'unistr/u8-to-u32'.
	* modules/unistr/u8-to-u32-tests: New file.
	* tests/unistr/test-u8-to-u32.c: New file.

	Tests for module 'unistr/u8-to-u16'.
	* modules/unistr/u8-to-u16-tests: New file.
	* tests/unistr/test-u8-to-u16.c: New file.

	Tests for module 'unistr/u32-check'.
	* modules/unistr/u32-check-tests: New file.
	* tests/unistr/test-u32-check.c: New file.

	Tests for module 'unistr/u16-check'.
	* modules/unistr/u16-check-tests: New file.
	* tests/unistr/test-u16-check.c: New file.

	Tests for module 'unistr/u8-check'.
	* modules/unistr/u8-check-tests: New file.
	* tests/unistr/test-u8-check.c: New file.

	* tests/unictype/test-categ_byname.c: Include <stdbool.h>.
	(category_equals): New function.
	(main): Add more tests.
	* modules/unictype/category-byname-tests (Depends-on): Add stdbool.

	* tests/unictype/test-bidi_byname.c (main): Add more tests.

2010-01-10  Bruno Haible  <bruno@clisp.org>

	unistr/u*-strcoll: Try harder to distinguish different strings.
	* lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
	compare s1 and s2 to see if they are different.

2010-01-10  Bruno Haible  <bruno@clisp.org>

	unistr/u*-stpncpy: Fix the return value.
	* lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
	description of the return value consistent with stpncpy in glibc.
	* lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
	written non-NUL unit.

2010-01-10  Bruno Haible  <bruno@clisp.org>

	unistr/u*-next: Add missing dependencies.
	* modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
	* modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
	* modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.

2010-01-10  Bruno Haible  <bruno@clisp.org>

	unistr/u8-mbsnlen: Fix return value for incomplete character.
	* lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
	u8_mblen.
	* modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
	Remove unistr/u8-mblen.
	* lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
	u16_mblen.
	* modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
	Remove unistr/u16-mblen.

2010-01-10  Bruno Haible  <bruno@clisp.org>

	wchar: Fix compilation error when <wchar.h> is used from coreutils.
	* lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
	Reported by Brian Gough <bjg@gnu.org> and
	Chris Clayton <chris2553@googlemail.com> via
	Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.

2010-01-09  Bruno Haible  <bruno@clisp.org>

	unistr/u16-to-u32: Reject invalid input.
	* lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
	u16_mbtouc.
	* modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
	Remove unistr/u16-mbtouc.

	unistr/u16-to-u8: Reject invalid input.
	* lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
	u16_mbtouc.
	* modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
	Remove unistr/u16-mbtouc.

	unistr/u8-to-u32: Reject invalid input.
	* lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
	u8_mbtouc.
	* modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
	Remove unistr/u8-mbtouc.

	unistr/u8-to-u16: Reject invalid input.
	* lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
	u8_mbtouc.
	* modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
	Remove unistr/u8-mbtouc.

2010-01-09  Bruno Haible  <bruno@clisp.org>

	Tests for module 'getlogin'.
	* modules/getlogin-tests: New file.
	* tests/test-getlogin.c: New file.

	New module 'getlogin'.
	* lib/unistd.in.h (getlogin): New declaration.
	* lib/getlogin.c: New file.
	* m4/getlogin.m4: New file.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
	HAVE_GETLOGIN.
	* modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
	HAVE_GETLOGIN.
	* modules/getlogin: New file.
	* doc/posix-functions/getlogin.texi: Mention the new module.
	Reported by John W. Eaton <jwe@gnu.org>.

2010-01-09  Bruno Haible  <bruno@clisp.org>

	getlogin_r: Support for native Windows.
	* lib/getlogin_r.c: Include <windows.h>
	(getlogin_r): Implement for native Windows.
	* tests/test-getlogin_r.c (main): Also test with a huge buffer.
	Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
	via John W. Eaton <jwe@gnu.org>.

2010-01-09  Bruno Haible  <bruno@clisp.org>

	getlogin_r: Small fixes.
	* lib/getlogin_r.c (getlogin_r): Don't set errno if the function
	succeeds.
	* m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
	before testing whether getlogin_r is declared. No need to set
	HAVE_DECL_GETLOGIN_R to 1.
	(gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.

2010-01-09  Bruno Haible  <bruno@clisp.org>

	* lib/unistd.in.h (getlogin_r): Add comment.

2010-01-09  Bruno Haible  <bruno@clisp.org>

	Tests for module 'getlogin_r'.
	* modules/getlogin_r-tests: New file.
	* tests/test-getlogin_r.c: New file.

2010-01-09  Jim Meyering  <meyering@redhat.com>

	maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
	* top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
	also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.

2010-01-08  Simon Josefsson  <simon@josefsson.org>

	* lib/dup2.c (rpl_dup2): Improve comment.

2010-01-08  Eric Blake  <ebb9@byu.net>

	maint.mk: allow packages to add makefile @@ exceptions
	* top/maint.mk (_makefile_at_at_check_exceptions): New hook.
	(sc_makefile_check): Rename...
	(sc_makefile_at_at_check): ...to this, and use hook.

	dup2: work around mingw bug
	* lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
	Reported by Simon Josefsson.

2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)

	glob: Fix C++ compilation.
	* lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
	C++.

2010-01-07  Bruno Haible  <bruno@clisp.org>

	Fix indentation of wctype.in.h, broken since 2007-01-06.
	* lib/wctype.in.h: Fix indentation of preprocessor directives.

2010-01-07  Bruno Haible  <bruno@clisp.org>

	mbslen: Avoid collision with system function.
	* lib/string.in.h [MirBSD]: Include <wchar.h>.
	(mbslen): Undefine first. Alias mbslen to rpl_mbslen.
	* m4/mbslen.m4: New file.
	* modules/mbslen (Files): Add it.
	(configure.ac): Invoke gl_MBSLEN.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
	* modules/string (Makefile.am): Substitute HAVE_MBSLEN.
	Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
	via Ian Beckwith <ianb@erislabs.net>.

2010-01-07  Bruno Haible  <bruno@clisp.org>

	dirent: Document the last fix.
	* doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.

2010-01-07  Bruno Haible  <bruno@clisp.org>

	stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
	* lib/stdio.in.h: Include <sys/types.h> unconditionally.
	* tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
	va_list are defined.
	* doc/posix-headers/stdio.texi: Document the bug of missing types.
	Reported by Eric Blake.

2010-01-07  Bruno Haible  <bruno@clisp.org>

	xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
	* modules/xlist (Depends-on): Add 'list',
	* modules/xoset (Depends-on): Add 'oset'.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2010-01-07  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/strcasecmp.texi: Clarify the platforms.
	* doc/posix-functions/strncasecmp.texi: Likewise.

2010-01-07  Bruno Haible  <bruno@clisp.org>

	* m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.

2010-01-07  John W. Eaton  <jwe@octave.org>

	wctype: allow C++ use
	* lib/wctype.in.h: Add extern "C" block for C++.

2010-01-06  Eric Blake  <ebb9@byu.net>

	maint.mk: detect incorrect GFDL usage
	* top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.

2010-01-06  Jim Meyering  <meyering@redhat.com>
	and Eric Blake  <ebb9@byu.net>

	maint.mk: ignore multi-line copyright in NEWS
	* top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.

2010-01-06  Eric Blake  <ebb9@byu.net>

	select: add missing dependency
	* modules/select-tests (Depends-on): Move sockets dependency...
	* modules/select (Depends-on): ...here.
	Reported by Ian Beckwith.

	doc: regenerate INSTALL
	* doc/INSTALL: Reflect recent autoconf update.
	* doc/INSTALL.ISO: Likewise.
	* doc/INSTALL.UTF-8: Likewise.

	pread: fix compilation on glibc
	* m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
	Reported by Ralf Wildenhues.

	dirent: fix test failure
	* lib/dirent.in.h (includes): Guarantee ino_t.
	Reported by Ralf Wildenhues.

2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)

	linkat, renameat: avoid bad free
	* lib/at-func2.c (at_func2): Fix typo.
	Reported via Ian Beckwith, from http://bugs.debian.org/561117.

2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
	* m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
	to avoid failure of symlink test later.

2010-01-06  Eric Blake  <ebb9@byu.net>

	stdio, unistd: guarantee ssize_t
	* lib/unistd.in.h (includes): Ensure that types required by POSIX
	2008 are exposed when needed.
	* lib/stdio.in.h (includes): Likewise.
	Reported by Ralf Wildenhues.

2010-01-06  Paolo Bonzini  <bonzini@gnu.org>

	nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
	* m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
	AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.

2010-01-06  Jim Meyering  <meyering@redhat.com>

	readtokens: this module *does* require xalloc.h
	It uses only functions that were omitted by the old syntax-check rule.
	* lib/readtokens.c: Include "xalloc.h" once again.
	* modules/readtokens (Depends-on): Add xalloc.
	This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.

2010-01-05  Eric Blake  <ebb9@byu.net>

	maint: support 'make announcement' from a VPATH build
	* top/maint.mk (announcement): Look for correct NEWS file.

2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)

	utimens (fdutimens): ignore a negative FD, per contract
	* lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
	when we have a valid file descriptor.  Otherwise, using a brand
	new glibc (with just-patched futimens that now fails with EBADF)
	would cause this function to fail with ENOSYS.
	Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
	See also http://bugzilla.redhat.com/552320.

2010-01-05  Eric Blake  <ebb9@byu.net>

	strcase: document what it provides
	* doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
	gnulib module.
	* doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
	Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.

2010-01-05  Jim Meyering  <meyering@redhat.com>

	maint: remove useless inclusions of "xalloc.h"
	* lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
	* lib/readtokens.c: Likewise.
	* lib/same.c: Likewise.
	* modules/getloadavg (Depends-on): Remove xalloc.
	* modules/readtokens: Likewise.
	* modules/same: Likewise.

	maint.mk: include 4 more function names in alloca.h-checking regexp
	* top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
	regexp.  Before, we would give a false-positive (saying alloca.h
	is included unnecessarily) when the only uses involved omitted symbols.

	xalloc.h: use consistent formatting
	* lib/xalloc.h: Move declarations to start in the first column.

2010-01-05  Eric Blake  <ebb9@byu.net>

	mkdir: avoid xalloc
	* lib/mkdir.c (includes): Drop unused header.
	Reported by John W. Eaton.

2010-01-04  Jim Meyering  <meyering@redhat.com>

	nl_langinfo: avoid configure-time syntax error
	* m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
	for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
	the empty string.  Don't let that provoke a shell syntax error.

	regcomp, regexec, fnmatch: avoid array bounds read error
	* lib/regcomp.c (build_equiv_class): From glibc:
	Use only the low 24 bits of a findidx return value as an index
	into the weights array.  Patch by Ulrich Drepper:
	http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
	* lib/regexec.c (check_node_accept_bytes): Likewise.
	* lib/fnmatch_loop.c (FCT): Likewise.

	regcomp: skip collseq lookup when there are no rules
	* lib/regcomp.c (lookup_collation_sequence_value): From glibc:
	http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58

	regcomp: recognize ill-formed { } expressions
	* lib/regcomp.c (parse_dup_op): From glibc:
	http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb

	regcomp: fix typo in comment
	* lib/regcomp.c (duplicate_node_closure): Sync from glibc.
	s/satisfy/satisfies/.

	regcomp: sync from glibc: remove dead store
	* lib/regcomp.c (duplicate_node_closure): Remove useless
	search_duplicated_node call and dead store.

	regcomp: sync from glibc; always use nl_langinfo
	* lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
	now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
	* modules/regex (Depends-on): Add nl_langinfo.

2010-01-04  Eric Blake  <ebb9@byu.net>

	fdopendir: fix configure test
	* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.

2010-01-01  Bruno Haible  <bruno@clisp.org>

	wchar: Remove unused configure check.
	* m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.

2010-01-01  Eric Blake  <ebb9@byu.net>

	headers: make check of system header explicit
	* m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
	gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
	ourselves.
	* m4/search_h.m4 (gl_SEARCH_H): Likewise.
	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
	* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
	* m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
	internals.
	* m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
	missing.
	Suggested by Bruno Haible.

2010-01-01  Jim Meyering  <meyering@redhat.com>

	ChangeLog: tweak to eliminate unnecessary copyright line
	* ChangeLog: Remove a copyright line that was mistakenly updated
	by today's update-copyright run.  Reported by Eric Blake.

	test-update-copyright: don't let envvar setting cause test failure
	* tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.

2010-01-01  Bruno Haible  <bruno@clisp.org>

	localename: Avoid gcc warning.
	* lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
	function if it is not used.

2010-01-01  Jim Meyering  <meyering@redhat.com>

	update nearly all FSF copyright year lists to include 2010
	Use the same procedure as for 2009, outlined in
	http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081

	version-etc: set COPYRIGHT_YEAR to 2010
	* lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.

2009-12-31  Eric Blake  <ebb9@byu.net>

	doc: correct availability of cygwin 1.5.x getopt
	* doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
	variables.
	* doc/posix-functions/opterr.texi (opterr): Likewise.
	* doc/posix-functions/optind.texi (optind): Likewise.
	* doc/posix-functions/optopt.texi (optopt): Likewise.
	* doc/posix-functions/tzname.texi (tzname): Likewise.

	openat: update maintainer
	* modules/openat (Maintainer): Add myself.

	utimens: avoid shadowing warning
	* lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
	buffers into one, to avoid shadowing, as well as avoiding a
	redundant stat.
	Reported by Jim Meyering.

	test-dup2: avoid compiler warning
	* tests/test-dup2.c (is_inheritable): Only define if used.

2010-01-01  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
	* lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
	defined, use wctomb instead of wcrtomb.

2010-01-01  Bruno Haible  <bruno@clisp.org>

	iconv: Reject native Solaris iconv.
	* m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
	* doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.

2009-12-31  Bruno Haible  <bruno@clisp.org>

	* tests/test-signal.c (main): Remove test of 'SIG'.

2009-12-31  Bruno Haible  <bruno@clisp.org>

	spawn: Fix incomplete fix.
	* lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
	posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
	warnings for GNULIB_POSIXCHECK again.
	Reported by Eric Blake.

2009-12-31  Bruno Haible  <bruno@clisp.org>

	Avoid namespace pollution on glibc systems.
	* lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
	* lib/sys_times.in.h: Don't include <time.h> on glibc systems.
	* lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
	glibc systems.

2009-12-31  Bruno Haible  <bruno@clisp.org>

	* m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
	(gl_REPLACE_WCHAR_H): Turn into a no-op.
	* m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
	* m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
	* m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
	* m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
	* m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.

2009-12-31  Bruno Haible  <bruno@clisp.org>

	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
	gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
	afterwards.

2009-12-31  Bruno Haible  <bruno@clisp.org>

	* m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
	SYS_UTSNAME_H.

2009-12-31  Bruno Haible  <bruno@clisp.org>

	spawn: Fix misapplied patch.
	* lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
	posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
	warnings for GNULIB_POSIXCHECK.

2009-12-31  Bruno Haible  <bruno@clisp.org>

	times: Update after sys_times changed.
	* m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
	* modules/times (Files): Add it.
	(configure.ac): Invoke gl_FUNC_TIMES.

2009-12-31  Bruno Haible  <bruno@clisp.org>

	Use AC_C_INLINE where necessary.
	* m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
	* m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
	* m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
	* m4/mbchar.m4 (gl_MBCHAR): Likewise.
	* m4/mbfile.m4 (gl_MBFILE): Likewise.
	* m4/mbiter.m4 (gl_MBITER): Likewise.
	* m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
	* m4/stat.m4 (gl_FUNC_STAT): Likewise.
	* m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
	* modules/u64 (configure.ac): Likewise.

2009-12-31  Bruno Haible  <bruno@clisp.org>

	Use AC_C_INLINE instead of module 'inline' where possible.
	* modules/inline (Description): Clarify purpose.
	* m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
	* modules/count-one-bits (Depends-on): Remove inline.
	* m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
	* modules/openat (Depends-on): Remove inline.
	* modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
	instead of depending on module 'inline'.
	* modules/filevercmp (Depends-on, configure.ac): Likewise.
	* modules/unicase/cased (Depends-on, configure.ac): Likewise.
	* modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
	* modules/unictype/category-of (Depends-on, configure.ac): Likewise.
	* modules/unictype/category-test (Depends-on, configure.ac): Likewise.
	* modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
	* modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
	* modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
	* modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
	* modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
	* modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
	* modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
	* modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
	* modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
	* modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
	* modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
	* modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
	* modules/unictype/property-alphabetic (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-ascii-hex-digit (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-arabic-digit (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-block-separator (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-boundary-neutral (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-common-separator (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-control (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-bidi-embedding-or-override (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-eur-num-separator (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-eur-num-terminator (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-european-digit (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-left-to-right (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-non-spacing-mark (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-other-neutral (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-bidi-segment-separator (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-bidi-whitespace (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-combining (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-composite (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-currency-symbol (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
	* modules/unictype/property-decimal-digit (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-default-ignorable-code-point (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-deprecated (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-diacritic (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-extender (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-format-control (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-grapheme-base (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-grapheme-link (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-hex-digit (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-hyphen (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-id-continue (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-id-start (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-ideographic (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-ids-binary-operator (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-ids-trinary-operator (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-ignorable-control (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-iso-control (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-join-control (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-left-of-pair (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-line-separator (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-logical-order-exception (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-lowercase (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-math (Depends-on, configure.ac): Likewise.
	* modules/unictype/property-non-break (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-not-a-character (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-numeric (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-other-alphabetic (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-other-default-ignorable-code-point
	(Depends-on, configure.ac): Likewise.
	* modules/unictype/property-other-grapheme-extend (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-other-id-continue (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-other-id-start (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-other-lowercase (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-other-math (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-other-uppercase (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-paired-punctuation (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-paragraph-separator (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-pattern-white-space (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-private-use (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-punctuation (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-quotation-mark (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-radical (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-sentence-terminal (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-soft-dotted (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-space (Depends-on, configure.ac): Likewise.
	* modules/unictype/property-terminal-punctuation (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-titlecase (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-unassigned-code-value (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-unified-ideograph (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-uppercase (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-variation-selector (Depends-on,
	configure.ac): Likewise.
	* modules/unictype/property-white-space (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-xid-continue (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-xid-start (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/property-zero-width (Depends-on, configure.ac):
	Likewise.
	* modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
	* modules/unictype/syntax-java-ident (Depends-on, configure.ac):
	Likewise.

2009-12-31  Bruno Haible  <bruno@clisp.org>

	Remove unnecessary AC_C_INLINE invocation.
	* m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
	since 2009-08-21.

2009-12-31  Jim Meyering  <meyering@redhat.com>

	maint.mk: don't require explicit gpg_key_ID in cfg.mk
	* top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
	With this change, we can all remove the gpg_key_ID = ... definition
	from our respective cfg.mk files.

	maint.mk: create announcement template in ~/, not in /tmp
	* top/maint.mk (emit_upload_commands): Adjust.
	(release-prep): Emit into ~/announce-..., not /tmp/announce-...
	Remove temporary file, .ci-msg.

2009-12-31  Eric Blake  <ebb9@byu.net>

	link-warning: always build headers with link warnings
	* modules/arpa_inet (Makefile.am): Always build replacement
	header.
	* modules/ctype (Makefile.am): Likewise.
	* modules/dirent (Makefile.am): Likewise.
	* modules/inttypes (Makefile.am): Likewise.
	* modules/langinfo (Makefile.am): Likewise.
	* modules/locale (Makefile.am): Likewise.
	* modules/spawn (Makefile.am): Likewise.
	* modules/sys_file (Makefile.am): Likewise.
	* modules/sys_ioctl (Makefile.am): Likewise.
	* modules/sys_select (Makefile.am): Likewise.
	* modules/sys_socket (Makefile.am): Likewise.
	* modules/sys_times (Makefile.am): Likewise.
	* modules/sys_utsname (Makefile.am): Likewise.
	* modules/sys_wait (Makefile.am): Likewise.
	* modules/wchar (Makefile.am): Likewise.
	* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
	(gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
	* m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
	* m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
	* m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
	Likewise.
	* m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
	* m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
	* m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
	Likewise.
	* m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
	Likewise.
	* m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
	* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
	(gl_SYS_IOCTL_H_DEFAULTS): Likewise.
	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
	* m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
	* m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
	(gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
	* m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
	(gl_WCHAR_H_DEFAULTS): Likewise.

2009-12-31  Eric Blake  <ebb9@byu.net>

	signal, spawn: use link warnings
	* lib/signal.in.h (sigset_t): Make unconditional.
	(sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
	(sigpending, sigprocmask, sigaction): Add link warnings.
	* lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
	(posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
	(posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
	(posix_spawnattr_setsigmask, posix_spawnattr_getflags)
	(posix_spawnattr_setflags, posix_spawnattr_getpgroup)
	(posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
	(posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
	(posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
	(posix_spawn_file_actions_destroy)
	(posix_spawn_file_actions_addopen)
	(posix_spawn_file_actions_addclose)
	(posix_spawn_file_actions_adddup2): Likewise.
	* m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
	* tests/test-signal.c (main): Enhance test.

	spawn: improve wrapper support
	* m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
	(gl_SPAWN_H_DEFAULTS): New defaults.
	* modules/spawn (Makefile.am): Substitute them.
	* lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
	Only declare if missing or broken.

	sys_times, sys_utsname: use include_next
	* m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
	header.
	(gl_SYS_TIMES_H_DEFAULTS): Add another variable.
	* m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
	(gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
	* modules/sys_times (Depends-on): Add include_next.
	(Makefile.am): Substitute additional values.
	* modules/sys_utsname (Depends-on, Makefile.am): Likewise.
	* lib/sys_times.in.h (includes): Include native header, if
	available.
	* lib/sys_utsname.in.h (includes): Likewise.
	* tests/test-sys_times.c (main): Enhance test.

	fdutimensat: revert prior patch
	* modules/fdutimensat (Depends-on): Re-add inline; it is needed by
	utimens.h.
	Reported by Bruno Haible.

2009-12-30  Eric Blake  <ebb9@byu.net>

	sys_wait: drop link-warning dependency
	* modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
	link-warning efforts.
	* lib/sys_wait.in.h: Likewise.

	fdutimensat: remove bogus dependency
	* modules/fdutimensat (Depends-on): Drop inline.

	unistd: fix typo
	* lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.

2009-12-30  Bruno Haible  <bruno@clisp.org>

	Fix compilation error with Solaris cc.
	* lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
	* lib/unicase/u16-is-invariant.c: Likewise.
	* lib/unicase/u32-is-invariant.c: Likewise.
	Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.

2009-12-30  Bruno Haible  <bruno@clisp.org>

	Fix test crash.
	* tests/test-localename.c (test_locale_name_thread): Skip unavailable
	locales.
	Reported by Simon Josefsson <simon@josefsson.org>.

2009-12-30  Bruno Haible  <bruno@clisp.org>

	Fix compilation error on most platforms.
	* tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
	Reported by Simon Josefsson <simon@josefsson.org>
	and Nelson H. F. Beebe <beebe@math.utah.edu>.

2009-12-30  Eric Blake  <ebb9@byu.net>

	futimens, utimensat: work around ntfs-3g bug
	* lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
	a ctime bug is present, and expand workaround to cover ntfs-3g.
	* lib/utimens.c (fdutimens, lutimens): Likewise.
	(utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
	(validate_timespec): Adjust return value.
	* m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
	* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
	Reported by ctrn3e8 <ctrn3e8@gmail.com>.

2009-12-29  Eric Blake  <ebb9@byu.net>

	link-warning: make usage consistent
	* modules/ctype (Depends-on): Add link-warning.
	(Makefile.am): Update rules accordingly.
	* modules/langinfo (Depends-on, Makefile.am): Likewise.
	* modules/locale (Depends-on, Makefile.am): Likewise.
	* modules/sys_file (Makefile.am): Likewise.
	* modules/getopt-posix (Makefile.am): Delete unused link warning
	efforts.
	* lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
	* lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
	* lib/locale.in.h (GL_LINK_WARNING): Likewise.
	* lib/sys_file.in.h (GL_LINK_WARNING): Likewise.

	stdio: remove unused variables
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
	* m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
	* m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.

	tests: test more substitute headers
	* modules/ctype-tests: New file.
	* modules/dirent-tests: Likewise.
	* modules/spawn-tests: Likewise.
	* modules/sys_file-tests: Likewise.
	* modules/sys_ioctl-tests: Likewise.
	* modules/sys_wait-tests: Likewise.
	* tests/test-ctype.c: Likewise.
	* tests/test-dirent.c: Likewise.
	* tests/test-spawn.c: Likewise.
	* tests/test-sys_file.c: Likewise.
	* tests/test-sys_ioctl.c: Likewise.
	* tests/test-sys_wait.c: Likewise.
	* m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
	* lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
	whether or not flock is in use.

	tests: remove License section from module
	* modules/arpa_inet-tests: Remove unneeded section.
	* modules/byteswap-tests: Likewise.
	* modules/ceilf-tests: Likewise.
	* modules/ceill-tests: Likewise.
	* modules/crypto/des-tests: Likewise.
	* modules/crypto/gc-arcfour-tests: Likewise.
	* modules/crypto/gc-arctwo-tests: Likewise.
	* modules/crypto/gc-des-tests: Likewise.
	* modules/crypto/gc-hmac-md5-tests: Likewise.
	* modules/crypto/gc-hmac-sha1-tests: Likewise.
	* modules/crypto/gc-md2-tests: Likewise.
	* modules/crypto/gc-md4-tests: Likewise.
	* modules/crypto/gc-md5-tests: Likewise.
	* modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
	* modules/crypto/gc-rijndael-tests: Likewise.
	* modules/crypto/gc-sha1-tests: Likewise.
	* modules/crypto/gc-tests: Likewise.
	* modules/crypto/md2-tests: Likewise.
	* modules/crypto/md4-tests: Likewise.
	* modules/fcntl-h-tests: Likewise.
	* modules/floorf-tests: Likewise.
	* modules/floorl-tests: Likewise.
	* modules/frexp-nolibm-tests: Likewise.
	* modules/frexp-tests: Likewise.
	* modules/frexpl-nolibm-tests: Likewise.
	* modules/frexpl-tests: Likewise.
	* modules/getaddrinfo-tests: Likewise.
	* modules/inttypes-tests: Likewise.
	* modules/isfinite-tests: Likewise.
	* modules/isinf-tests: Likewise.
	* modules/ldexpl-tests: Likewise.
	* modules/locale-tests: Likewise.
	* modules/math-tests: Likewise.
	* modules/netdb-tests: Likewise.
	* modules/netinet_in-tests: Likewise.
	* modules/printf-frexp-tests: Likewise.
	* modules/printf-frexpl-tests: Likewise.
	* modules/priv-set-tests: Likewise.
	* modules/random_r-tests: Likewise.
	* modules/round-tests: Likewise.
	* modules/roundf-tests: Likewise.
	* modules/roundl-tests: Likewise.
	* modules/search-tests: Likewise.
	* modules/select-tests: Likewise.
	* modules/signal-tests: Likewise.
	* modules/stdbool-tests: Likewise.
	* modules/stddef-tests: Likewise.
	* modules/stdint-tests: Likewise.
	* modules/stdio-tests: Likewise.
	* modules/stdlib-tests: Likewise.
	* modules/string-tests: Likewise.
	* modules/strings-tests: Likewise.
	* modules/sys_select-tests: Likewise.
	* modules/sys_socket-tests: Likewise.
	* modules/sys_stat-tests: Likewise.
	* modules/sys_time-tests: Likewise.
	* modules/sys_utsname-tests: Likewise.
	* modules/sysexits-tests: Likewise.
	* modules/time-tests: Likewise.
	* modules/trunc-tests: Likewise.
	* modules/truncf-tests: Likewise.
	* modules/truncl-tests: Likewise.
	* modules/tsearch-tests: Likewise.
	* modules/unistd-tests: Likewise.
	* modules/wchar-tests: Likewise.
	* modules/wctype-tests: Likewise.

	tests: fix license on several tests
	* tests/test-des.c: Update to GPLv3+.
	* tests/test-flock.c: Likewise.
	* tests/test-fsync.c: Likewise.
	* tests/test-futimens.h: Likewise.
	* tests/test-gc-arcfour.c: Likewise.
	* tests/test-gc-arctwo.c: Likewise.
	* tests/test-gc-des.c: Likewise.
	* tests/test-gc-hmac-md5.c: Likewise.
	* tests/test-gc-hmac-sha1.c: Likewise.
	* tests/test-gc-md2.c: Likewise.
	* tests/test-gc-md4.c: Likewise.
	* tests/test-gc-md5.c: Likewise.
	* tests/test-gc-pbkdf2-sha1.c: Likewise.
	* tests/test-gc-rijndael.c: Likewise.
	* tests/test-gc-sha1.c: Likewise.
	* tests/test-gc.c: Likewise.
	* tests/test-getcwd.c: Likewise.
	* tests/test-link.c: Likewise.
	* tests/test-link.h: Likewise.
	* tests/test-lutimens.h: Likewise.
	* tests/test-md2.c: Likewise.
	* tests/test-md4.c: Likewise.
	* tests/test-mkdir.h: Likewise.
	* tests/test-rename.c: Likewise.
	* tests/test-rename.h: Likewise.
	* tests/test-safe-alloc.c: Likewise.
	* tests/test-utimens-common.h: Likewise.
	* tests/test-utimens.h: Likewise.

	maint: sync license texts
	* config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
	* doc/gpl-3.0.texi: Revert copyright year update.
	* doc/lgpl-3.0.texi: Likewise.

2009-12-29  Jim Meyering  <meyering@redhat.com>

	update nearly all FSF copyright year lists to include 2009
	The files named by the following are exempted:
	    grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
	      test -f "$dst" && { echo "$dst"; continue; }
	      test -d "$dst" || continue
	      echo "$dst"/$(basename "$src")
	    done > exempt
	    git ls-files tests/unictype >> exempt
	In the remaining files, convert to all-interval notation if
	- there is already at least one year interval like 2000-2003
	- the file is maintained by me
	- the file is in lib/uni*/, where that style already prevails
	Otherwise, use update-copyright's default.

2009-12-29  Simon Josefsson  <simon@josefsson.org>
	and Eric Blake  <ebb9@byu.net>

	tests: don't require debug system() to pass
	* tests/test-lstat.h (test_lstat_func): Move debug cleanup...
	* tests/test-rmdir.h (test_rmdir_func): Likewise.
	* tests/test-unlink.h (test_unlink_func): Likewise.
	* tests/test-fstatat.c (main): ...into callers.
	* tests/test-lstat.c (main): Likewise.
	* tests/test-rmdir.c (main): Likewise.
	* tests/test-unlink.c (main): Likewise.
	* tests/test-unlinkat.c (main): Likewise.
	* tests/test-areadlink-with-size.c (main): Don't require a
	debug-only system call to pass, aiding cross-testing to mingw.
	* tests/test-areadlink.c (main): Likewise.
	* tests/test-areadlinkat-with-size.c (main): Likewise.
	* tests/test-areadlinkat.c (main): Likewise.
	* tests/test-canonicalize-lgpl.c (main): Likewise.
	* tests/test-canonicalize.c (main): Likewise.
	* tests/test-chown.c (main): Likewise.
	* tests/test-fchownat.c (main): Likewise.
	* tests/test-lchown.c (main): Likewise.
	* tests/test-fdutimensat.c (main): Likewise.
	* tests/test-futimens.c (main): Likewise.
	* tests/test-link.c (main): Likewise.
	* tests/test-linkat.c (main): Likewise.
	* tests/test-mkdir.c (main): Likewise.
	* tests/test-mkdirat.c (main): Likewise.
	* tests/test-mkfifo.c (main): Likewise.
	* tests/test-mkfifoat.c (main): Likewise.
	* tests/test-mknod.c (main): Likewise.
	* tests/test-readlink.c (main): Likewise.
	* tests/test-remove.c (main): Likewise.
	* tests/test-rename.c (main): Likewise.
	* tests/test-renameat.c (main): Likewise.
	* tests/test-symlink.c (main): Likewise.
	* tests/test-symlinkat.c (main): Likewise.
	* tests/test-utimens.c (main): Likewise.
	* tests/test-utimensat.c (main): Likewise.

2009-12-29  Simon Josefsson  <simon@josefsson.org>

	* modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
	on $(UNUSED_PARAMETER_H) to avoid build failure.

2009-12-28  Jim Meyering  <meyering@redhat.com>

	update-copyright: you may specify a max. line length other than 72
	* build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.

	maint: use consistent FSF copyright line syntax
	* lib/posixtm.c: Add missing comma in FSF copyright line.
	* lib/posixtm.h: Likewise.
	* lib/getugroups.c: Add missing ", Inc.".

	pmccabe2html: emit consistent FSF copyright; remove trailing blanks
	* build-aux/pmccabe2html: Insert comma before "Inc." in emitted
	FSF copyright line.  Remove trailing blanks.

2009-12-28  Eric Blake  <ebb9@byu.net>

	test-dup2: reduce dependencies
	* modules/cloexec (Configure.ac): Set witness.
	* modules/dup2-tests (Depends-on): Drop cloexec.
	* tests/test-dup2.c (main): Skip portion of test if cloexec module
	not present.
	Suggested by Bruno Haible.

2009-12-26  Bruno Haible  <bruno@clisp.org>

	Remove an unneeded dependency.
	* modules/fseterr (Depends-on): Remove dup2.

2009-12-26  Eric Blake  <ebb9@byu.net>

	tests: use macros.h in more places
	* tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
	(ASSERT_STREAM): Provide default of stderr.
	* tests/test-dirent-safer.c: Include macros.h, using alternate
	stream for assertions.
	* tests/test-dup-safer.c: Likewise.
	* tests/test-freopen-safer.c: Likewise.
	* tests/test-getopt.c: Likewise.
	* tests/test-openat-safer.c: Likewise.
	* tests/test-pipe.c: Likewise.
	* tests/test-popen-safer.c: Likewise.
	* modules/dirent-safer-tests (Files): Include macros.h.
	* modules/unistd-safer-tests (Files): Likewise.
	* modules/freopen-safer-tests (Files): Likewise.
	* modules/getopt-posix-tests (Files): Likewise.
	* modules/openat-safer-tests (Files): Likewise.
	* modules/pipe-tests (Files): Likewise.

2009-12-26  Bruno Haible  <bruno@clisp.org>

	javacomp-script: Portability fix.
	* m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
	that it also works on Solaris.

2009-12-26  Bruno Haible  <bruno@clisp.org>

	localename: Fix storage allocation of gl_locale_name_thread's result.
	* lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
	HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
	all platforms that have 'uselocale'.
	(gl_locale_name_thread_unsafe): New function, extracted from
	gl_locale_name_thread.
	(gl_locale_name_thread): Call struniq on all platforms that have
	'uselocale'.
	* tests/test-localename.c (test_locale_name_thread): Check that the
	resulting strings are permanently allocated.
	* modules/localename-tests (Depends-on): Add strdup.

2009-12-26  Bruno Haible  <bruno@clisp.org>

	* tests/test-localename.c (categories): Fill in the strings.

2009-12-26  Jim Meyering  <meyering@redhat.com>

	isdir: complete the removal of m4/isdir.m4
	* modules/isdir (configure.ac): Remove reference to gl_ISDIR.

	isdir: clean up, since at least grep still uses it
	* lib/isdir.c: Include "isdir.h".
	(S_ISDIR): Remove now-unneeded definition.
	* modules/isdir (Files): Add lib/isdir.h.
	* lib/isdir.h: New file, with declaration.
	* m4/isdir.m4: Remove file -- unneeded.

2009-12-25  Bruno Haible  <bruno@clisp.org>

	selinux-h: Make generated .h files standalone.
	* lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
	definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
	* lib/se-selinux.in.h: Likewise.
	* modules/selinux-h (Depends-on): Add unused-parameter.
	(Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
	selinux/selinux.h and selinux/context.h.
	Suggested by Eric Blake.

2009-12-25  Bruno Haible  <bruno@clisp.org>

	Move gl_FCNTL_O_FLAGS to a separate .m4 file.
	* m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
	* m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
	* modules/fcntl-h (Files): Add m4/fcntl-o.m4.
	* modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.

2009-12-24  Bruno Haible  <bruno@clisp.org>

	openat: Fix warning.
	* lib/openat-proc.c: Include <unistd.h>.

2009-12-24  Bruno Haible  <bruno@clisp.org>

	New module 'unused-parameter'.
	* build-aux/unused-parameter.h: New file, extracted from earlier
	gnulib-common.m4.
	* modules/unused-parameter: New file.
	* lib/unistr.h: Include unused-parameter.h.
	(u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
	_GL_UNUSED.
	* modules/unistr/base (Depends-on): Add unused-parameter.

2009-12-24  Bruno Haible  <bruno@clisp.org>

	Add missing dependencies to 'extensions' module.
	* m4/extensions.m4: Add comment.
	* modules/accept4 (Depends-on): Add extensions.
	* modules/dup3 (Depends-on): Likewise.
	* modules/fcntl (Depends-on): Likewise.
	* modules/futimens (Depends-on): Likewise.
	* modules/mknod (Depends-on): Likewise.
	* modules/pipe2 (Depends-on): Likewise.
	* modules/stat-time (Depends-on): Likewise.
	* modules/strcasestr-simple (Depends-on): Likewise.
	* modules/strsignal (Depends-on): Likewise.
	* modules/utimensat (Depends-on): Likewise.
	* modules/localcharset (Depends-on): Likewise. Needed because of
	gl_FCNTL_O_FLAGS.
	* modules/wcrtomb (Depends-on): Likewise. Needed because of
	AC_TYPE_MBSTATE_T.
	* modules/wcsnrtombs (Depends-on): Likewise.
	* modules/wcsrtombs (Depends-on): Likewise.

2009-12-24  Bruno Haible  <bruno@clisp.org>

	binary-io: Avoid gcc warning due to SET_BINARY.
	* lib/binary-io.h (SET_BINARY): Cast the result to void.
	Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.

2009-12-24  Bruno Haible  <bruno@clisp.org>

	Avoid future namespace pollution on glibc systems.
	* lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
	* lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
	* lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
	glibc systems.

2009-12-24  Bruno Haible  <bruno@clisp.org>

	Refactor common macros used in tests.
	* tests/macros.h: New file.
	* tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
	and/or <stdlib.h>, if appropriate.
	(ASSERT, SIZEOF): Remove macros.
	* tests/test-areadlink-with-size.c: Likewise.
	* tests/test-areadlinkat.c: Likewise.
	* tests/test-areadlinkat-with-size.c: Likewise.
	* tests/test-argmatch.c: Likewise.
	* tests/test-argv-iter.c: Likewise.
	* tests/test-array-mergesort.c: Likewise.
	* tests/test-array_list.c: Likewise.
	* tests/test-array_oset.c: Likewise.
	* tests/test-avltree_list.c: Likewise.
	* tests/test-avltree_oset.c: Likewise.
	* tests/test-avltreehash_list.c: Likewise.
	* tests/test-base64.c: Likewise.
	* tests/test-binary-io.c: Likewise.
	* tests/test-bitrotate.c: Likewise.
	* tests/test-btowc.c: Likewise.
	* tests/test-byteswap.c: Likewise.
	* tests/test-c-ctype.c: Likewise.
	* tests/test-c-stack.c: Likewise.
	* tests/test-c-strcasecmp.c: Likewise.
	* tests/test-c-strcasestr.c: Likewise.
	* tests/test-c-strncasecmp.c: Likewise.
	* tests/test-c-strstr.c: Likewise.
	* tests/test-canonicalize-lgpl.c: Likewise.
	* tests/test-canonicalize.c: Likewise.
	* tests/test-carray_list.c: Likewise.
	* tests/test-ceilf1.c: Likewise.
	* tests/test-ceilf2.c: Likewise.
	* tests/test-ceill.c: Likewise.
	* tests/test-chown.c: Likewise.
	* tests/test-cloexec.c: Likewise.
	* tests/test-copy-acl.c: Likewise.
	* tests/test-copy-file.c: Likewise.
	* tests/test-count-one-bits.c: Likewise.
	* tests/test-dprintf-posix.c: Likewise.
	* tests/test-dup2.c: Likewise.
	* tests/test-dup3.c: Likewise.
	* tests/test-duplocale.c: Likewise.
	* tests/test-fbufmode.c: Likewise.
	* tests/test-fchdir.c: Likewise.
	* tests/test-fchownat.c: Likewise.
	* tests/test-fcntl-safer.c: Likewise.
	* tests/test-fcntl.c: Likewise.
	* tests/test-fdopendir.c: Likewise.
	* tests/test-fdutimensat.c: Likewise.
	* tests/test-fflush2.c: Likewise.
	* tests/test-file-has-acl.c: Likewise.
	* tests/test-filevercmp.c: Likewise.
	* tests/test-flock.c: Likewise.
	* tests/test-floorf1.c: Likewise.
	* tests/test-floorf2.c: Likewise.
	* tests/test-floorl.c: Likewise.
	* tests/test-fnmatch.c: Likewise.
	* tests/test-fopen.h: Likewise.
	* tests/test-fpending.c: Likewise.
	* tests/test-fprintf-posix.c: Likewise.
	* tests/test-fpurge.c: Likewise.
	* tests/test-freadable.c: Likewise.
	* tests/test-freadahead.c: Likewise.
	* tests/test-freading.c: Likewise.
	* tests/test-freadptr.c: Likewise.
	* tests/test-freadptr2.c: Likewise.
	* tests/test-freadseek.c: Likewise.
	* tests/test-freopen.c: Likewise.
	* tests/test-frexp.c: Likewise.
	* tests/test-frexpl.c: Likewise.
	* tests/test-fseek.c: Likewise.
	* tests/test-fseeko.c: Likewise.
	* tests/test-fstatat.c: Likewise.
	* tests/test-fstrcmp.c: Likewise.
	* tests/test-fsync.c: Likewise.
	* tests/test-ftell.c: Likewise.
	* tests/test-ftello.c: Likewise.
	* tests/test-func.c: Likewise.
	* tests/test-futimens.c: Likewise.
	* tests/test-fwritable.c: Likewise.
	* tests/test-fwriting.c: Likewise.
	* tests/test-getcwd.c: Likewise.
	* tests/test-getdate.c: Likewise.
	* tests/test-getdelim.c: Likewise.
	* tests/test-getdtablesize.c: Likewise.
	* tests/test-getgroups.c: Likewise.
	* tests/test-getline.c: Likewise.
	* tests/test-getndelim2.c: Likewise.
	* tests/test-glob.c: Likewise.
	* tests/test-hash.c: Likewise.
	* tests/test-i-ring.c: Likewise.
	* tests/test-iconv-utf.c: Likewise.
	* tests/test-iconv.c: Likewise.
	* tests/test-idpriv-drop.c: Likewise.
	* tests/test-idpriv-droptemp.c: Likewise.
	* tests/test-inet_ntop.c: Likewise.
	* tests/test-inet_pton.c: Likewise.
	* tests/test-isblank.c: Likewise.
	* tests/test-isfinite.c: Likewise.
	* tests/test-isinf.c: Likewise.
	* tests/test-isnan.c: Likewise.
	* tests/test-isnand.h: Likewise.
	* tests/test-isnanf.h: Likewise.
	* tests/test-isnanl.h: Likewise.
	* tests/test-lchown.c: Likewise.
	* tests/test-ldexpl.c: Likewise.
	* tests/test-link.c: Likewise.
	* tests/test-linkat.c: Likewise.
	* tests/test-linked_list.c: Likewise.
	* tests/test-linkedhash_list.c: Likewise.
	* tests/test-localename.c: Likewise.
	* tests/test-lseek.c: Likewise.
	* tests/test-lstat.c: Likewise.
	* tests/test-mbmemcasecmp.c: Likewise.
	* tests/test-mbmemcasecoll.c: Likewise.
	* tests/test-mbrtowc.c: Likewise.
	* tests/test-mbscasecmp.c: Likewise.
	* tests/test-mbscasestr1.c: Likewise.
	* tests/test-mbscasestr2.c: Likewise.
	* tests/test-mbscasestr3.c: Likewise.
	* tests/test-mbscasestr4.c: Likewise.
	* tests/test-mbschr.c: Likewise.
	* tests/test-mbscspn.c: Likewise.
	* tests/test-mbsinit.c: Likewise.
	* tests/test-mbsncasecmp.c: Likewise.
	* tests/test-mbsnrtowcs.c: Likewise.
	* tests/test-mbspbrk.c: Likewise.
	* tests/test-mbspcasecmp.c: Likewise.
	* tests/test-mbsrchr.c: Likewise.
	* tests/test-mbsrtowcs.c: Likewise.
	* tests/test-mbsspn.c: Likewise.
	* tests/test-mbsstr1.c: Likewise.
	* tests/test-mbsstr2.c: Likewise.
	* tests/test-mbsstr3.c: Likewise.
	* tests/test-memchr.c: Likewise.
	* tests/test-memchr2.c: Likewise.
	* tests/test-memcmp.c: Likewise.
	* tests/test-memmem.c: Likewise.
	* tests/test-memrchr.c: Likewise.
	* tests/test-mkdir.c: Likewise.
	* tests/test-mkdirat.c: Likewise.
	* tests/test-mkfifo.c: Likewise.
	* tests/test-mkfifoat.c: Likewise.
	* tests/test-mknod.c: Likewise.
	* tests/test-nanosleep.c: Likewise.
	* tests/test-nl_langinfo.c: Likewise.
	* tests/test-obstack-printf.c: Likewise.
	* tests/test-open.c: Likewise.
	* tests/test-openat.c: Likewise.
	* tests/test-pipe-filter-gi1.c: Likewise.
	* tests/test-pipe-filter-gi2-main.c: Likewise.
	* tests/test-pipe-filter-ii1.c: Likewise.
	* tests/test-pipe-filter-ii2-main.c: Likewise.
	* tests/test-pipe2.c: Likewise.
	* tests/test-popen.h: Likewise.
	* tests/test-posixtm.c: Likewise.
	* tests/test-pread.c: Likewise.
	* tests/test-printf-frexp.c: Likewise.
	* tests/test-printf-frexpl.c: Likewise.
	* tests/test-printf-posix.c: Likewise.
	* tests/test-priv-set.c: Likewise.
	* tests/test-quotearg.c: Likewise.
	* tests/test-random_r.c: Likewise.
	* tests/test-rawmemchr.c: Likewise.
	* tests/test-rbtree_list.c: Likewise.
	* tests/test-rbtree_oset.c: Likewise.
	* tests/test-rbtreehash_list.c: Likewise.
	* tests/test-readlink.c: Likewise.
	* tests/test-remove.c: Likewise.
	* tests/test-rename.c: Likewise.
	* tests/test-renameat.c: Likewise.
	* tests/test-rmdir.c: Likewise.
	* tests/test-round1.c: Likewise.
	* tests/test-roundf1.c: Likewise.
	* tests/test-roundl.c: Likewise.
	* tests/test-safe-alloc.c: Likewise.
	* tests/test-sameacls.c: Likewise.
	* tests/test-set-mode-acl.c: Likewise.
	* tests/test-setenv.c: Likewise.
	* tests/test-sigaction.c: Likewise.
	* tests/test-signbit.c: Likewise.
	* tests/test-sleep.c: Likewise.
	* tests/test-snprintf-posix.c: Likewise.
	* tests/test-snprintf.c: Likewise.
	* tests/test-sprintf-posix.c: Likewise.
	* tests/test-stat-time.c: Likewise.
	* tests/test-stat.c: Likewise.
	* tests/test-strcasestr.c: Likewise.
	* tests/test-strchrnul.c: Likewise.
	* tests/test-strerror.c: Likewise.
	* tests/test-striconv.c: Likewise.
	* tests/test-striconveh.c: Likewise.
	* tests/test-striconveha.c: Likewise.
	* tests/test-strsignal.c: Likewise.
	* tests/test-strstr.c: Likewise.
	* tests/test-strtod.c: Likewise.
	* tests/test-strverscmp.c: Likewise.
	* tests/test-symlink.c: Likewise.
	* tests/test-symlinkat.c: Likewise.
	* tests/test-trunc1.c: Likewise.
	* tests/test-trunc2.c: Likewise.
	* tests/test-truncf1.c: Likewise.
	* tests/test-truncf2.c: Likewise.
	* tests/test-truncl.c: Likewise.
	* tests/test-uname.c: Likewise.
	* tests/test-unlink.c: Likewise.
	* tests/test-unlinkat.c: Likewise.
	* tests/test-unsetenv.c: Likewise.
	* tests/test-usleep.c: Likewise.
	* tests/test-utimens.c: Likewise.
	* tests/test-utimensat.c: Likewise.
	* tests/test-vasnprintf-posix.c: Likewise.
	* tests/test-vasnprintf-posix2.c: Likewise.
	* tests/test-vasnprintf.c: Likewise.
	* tests/test-vasprintf-posix.c: Likewise.
	* tests/test-vasprintf.c: Likewise.
	* tests/test-vdprintf-posix.c: Likewise.
	* tests/test-vfprintf-posix.c: Likewise.
	* tests/test-vprintf-posix.c: Likewise.
	* tests/test-vsnprintf-posix.c: Likewise.
	* tests/test-vsnprintf.c: Likewise.
	* tests/test-vsprintf-posix.c: Likewise.
	* tests/test-wcrtomb.c: Likewise.
	* tests/test-wcsnrtombs.c: Likewise.
	* tests/test-wcsrtombs.c: Likewise.
	* tests/test-wctype.c: Likewise.
	* tests/test-wcwidth.c: Likewise.
	* tests/test-xfprintf-posix.c: Likewise.
	* tests/test-xmemdup0.c: Likewise.
	* tests/test-xprintf-posix.c: Likewise.
	* tests/test-xvasprintf.c: Likewise.
	* tests/unicase/test-locale-language.c: Likewise.
	* tests/unicase/test-mapping-part1.h: Likewise.
	* tests/unicase/test-predicate-part1.h: Likewise.
	* tests/unicase/test-u8-casecmp.c: Likewise.
	* tests/unicase/test-u8-casecoll.c: Likewise.
	* tests/unicase/test-u8-casefold.c: Likewise.
	* tests/unicase/test-u8-is-cased.c: Likewise.
	* tests/unicase/test-u8-is-casefolded.c: Likewise.
	* tests/unicase/test-u8-is-lowercase.c: Likewise.
	* tests/unicase/test-u8-is-titlecase.c: Likewise.
	* tests/unicase/test-u8-is-uppercase.c: Likewise.
	* tests/unicase/test-u8-tolower.c: Likewise.
	* tests/unicase/test-u8-totitle.c: Likewise.
	* tests/unicase/test-u8-toupper.c: Likewise.
	* tests/unicase/test-u16-casecmp.c: Likewise.
	* tests/unicase/test-u16-casecoll.c: Likewise.
	* tests/unicase/test-u16-casefold.c: Likewise.
	* tests/unicase/test-u16-is-cased.c: Likewise.
	* tests/unicase/test-u16-is-casefolded.c: Likewise.
	* tests/unicase/test-u16-is-lowercase.c: Likewise.
	* tests/unicase/test-u16-is-titlecase.c: Likewise.
	* tests/unicase/test-u16-is-uppercase.c: Likewise.
	* tests/unicase/test-u16-tolower.c: Likewise.
	* tests/unicase/test-u16-totitle.c: Likewise.
	* tests/unicase/test-u16-toupper.c: Likewise.
	* tests/unicase/test-u32-casecmp.c: Likewise.
	* tests/unicase/test-u32-casecoll.c: Likewise.
	* tests/unicase/test-u32-casefold.c: Likewise.
	* tests/unicase/test-u32-is-cased.c: Likewise.
	* tests/unicase/test-u32-is-casefolded.c: Likewise.
	* tests/unicase/test-u32-is-lowercase.c: Likewise.
	* tests/unicase/test-u32-is-titlecase.c: Likewise.
	* tests/unicase/test-u32-is-uppercase.c: Likewise.
	* tests/unicase/test-u32-tolower.c: Likewise.
	* tests/unicase/test-u32-totitle.c: Likewise.
	* tests/unicase/test-u32-toupper.c: Likewise.
	* tests/unicase/test-ulc-casecmp.c: Likewise.
	* tests/unicase/test-ulc-casecoll.c: Likewise.
	* tests/uniconv/test-u8-conv-from-enc.c: Likewise.
	* tests/uniconv/test-u8-conv-to-enc.c: Likewise.
	* tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
	* tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
	* tests/uniconv/test-u16-conv-from-enc.c: Likewise.
	* tests/uniconv/test-u16-conv-to-enc.c: Likewise.
	* tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
	* tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
	* tests/uniconv/test-u32-conv-from-enc.c: Likewise.
	* tests/uniconv/test-u32-conv-to-enc.c: Likewise.
	* tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
	* tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
	* tests/unictype/test-bidi_byname.c: Likewise.
	* tests/unictype/test-bidi_name.c: Likewise.
	* tests/unictype/test-bidi_of.c: Likewise.
	* tests/unictype/test-bidi_test.c: Likewise.
	* tests/unictype/test-block_list.c: Likewise.
	* tests/unictype/test-block_of.c: Likewise.
	* tests/unictype/test-block_test.c: Likewise.
	* tests/unictype/test-categ_and.c: Likewise.
	* tests/unictype/test-categ_and_not.c: Likewise.
	* tests/unictype/test-categ_byname.c: Likewise.
	* tests/unictype/test-categ_name.c: Likewise.
	* tests/unictype/test-categ_none.c: Likewise.
	* tests/unictype/test-categ_of.c: Likewise.
	* tests/unictype/test-categ_or.c: Likewise.
	* tests/unictype/test-categ_test_withtable.c: Likewise.
	* tests/unictype/test-combining.c: Likewise.
	* tests/unictype/test-decdigit.c: Likewise.
	* tests/unictype/test-digit.c: Likewise.
	* tests/unictype/test-mirror.c: Likewise.
	* tests/unictype/test-numeric.c: Likewise.
	* tests/unictype/test-pr_byname.c: Likewise.
	* tests/unictype/test-pr_test.c: Likewise.
	* tests/unictype/test-predicate-part1.h: Likewise.
	* tests/unictype/test-scripts.c: Likewise.
	* tests/unictype/test-sy_c_ident.c: Likewise.
	* tests/unictype/test-sy_java_ident.c: Likewise.
	* tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
	* tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
	* tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
	* tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
	* tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
	* tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
	* tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
	* tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
	* tests/uninorm/test-canonical-decomposition.c: Likewise.
	* tests/uninorm/test-compat-decomposition.c: Likewise.
	* tests/uninorm/test-composition.c: Likewise.
	* tests/uninorm/test-decomposing-form.c: Likewise.
	* tests/uninorm/test-decomposition.c: Likewise.
	* tests/uninorm/test-u8-nfc.c: Likewise.
	* tests/uninorm/test-u8-nfd.c: Likewise.
	* tests/uninorm/test-u8-nfkc.c: Likewise.
	* tests/uninorm/test-u8-nfkd.c: Likewise.
	* tests/uninorm/test-u8-normcmp.c: Likewise.
	* tests/uninorm/test-u8-normcoll.c: Likewise.
	* tests/uninorm/test-u16-nfc.c: Likewise.
	* tests/uninorm/test-u16-nfd.c: Likewise.
	* tests/uninorm/test-u16-nfkc.c: Likewise.
	* tests/uninorm/test-u16-nfkd.c: Likewise.
	* tests/uninorm/test-u16-normcmp.c: Likewise.
	* tests/uninorm/test-u16-normcoll.c: Likewise.
	* tests/uninorm/test-u32-nfc.c: Likewise.
	* tests/uninorm/test-u32-nfd.c: Likewise.
	* tests/uninorm/test-u32-nfkc.c: Likewise.
	* tests/uninorm/test-u32-nfkd.c: Likewise.
	* tests/uninorm/test-u32-normalize-big.c: Likewise.
	* tests/uninorm/test-u32-normcmp.c: Likewise.
	* tests/uninorm/test-u32-normcoll.c: Likewise.
	* tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
	* tests/unistdio/test-u8-asnprintf1.c: Likewise.
	* tests/unistdio/test-u8-vasnprintf1.c: Likewise.
	* tests/unistdio/test-u8-vasnprintf2.c: Likewise.
	* tests/unistdio/test-u8-vasnprintf3.c: Likewise.
	* tests/unistdio/test-u8-vasprintf1.c: Likewise.
	* tests/unistdio/test-u8-vsnprintf1.c: Likewise.
	* tests/unistdio/test-u8-vsprintf1.c: Likewise.
	* tests/unistdio/test-u16-asnprintf1.c: Likewise.
	* tests/unistdio/test-u16-vasnprintf1.c: Likewise.
	* tests/unistdio/test-u16-vasnprintf2.c: Likewise.
	* tests/unistdio/test-u16-vasnprintf3.c: Likewise.
	* tests/unistdio/test-u16-vasprintf1.c: Likewise.
	* tests/unistdio/test-u16-vsnprintf1.c: Likewise.
	* tests/unistdio/test-u16-vsprintf1.c: Likewise.
	* tests/unistdio/test-u32-asnprintf1.c: Likewise.
	* tests/unistdio/test-u32-vasnprintf1.c: Likewise.
	* tests/unistdio/test-u32-vasnprintf2.c: Likewise.
	* tests/unistdio/test-u32-vasnprintf3.c: Likewise.
	* tests/unistdio/test-u32-vasprintf1.c: Likewise.
	* tests/unistdio/test-u32-vsnprintf1.c: Likewise.
	* tests/unistdio/test-u32-vsprintf1.c: Likewise.
	* tests/unistdio/test-ulc-asnprintf1.c: Likewise.
	* tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
	* tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
	* tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
	* tests/unistdio/test-ulc-vasprintf1.c: Likewise.
	* tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
	* tests/unistdio/test-ulc-vsprintf1.c: Likewise.
	* tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
	* tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
	* tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
	* tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
	* tests/uniwidth/test-u8-strwidth.c: Likewise.
	* tests/uniwidth/test-u8-width.c: Likewise.
	* tests/uniwidth/test-u16-strwidth.c: Likewise.
	* tests/uniwidth/test-u16-width.c: Likewise.
	* tests/uniwidth/test-u32-strwidth.c: Likewise.
	* tests/uniwidth/test-u32-width.c: Likewise.
	* tests/uniwidth/test-uc_width.c: Likewise.
	* tests/uniwidth/test-uc_width2.c: Likewise.
	* modules/acl-tests (Files): Add tests/macros.h.
	* modules/areadlink-tests (Files): Likewise.
	* modules/areadlink-with-size-tests (Files): Likewise.
	* modules/areadlinkat-tests (Files): Likewise.
	* modules/areadlinkat-with-size-tests (Files): Likewise.
	* modules/argmatch-tests (Files): Likewise.
	* modules/argv-iter-tests (Files): Likewise.
	* modules/array-list-tests (Files): Likewise.
	* modules/array-mergesort-tests (Files): Likewise.
	* modules/array-oset-tests (Files): Likewise.
	* modules/avltree-list-tests (Files): Likewise.
	* modules/avltree-oset-tests (Files): Likewise.
	* modules/avltreehash-list-tests (Files): Likewise.
	* modules/base64-tests (Files): Likewise.
	* modules/binary-io-tests (Files): Likewise.
	* modules/bitrotate-tests (Files): Likewise.
	* modules/btowc-tests (Files): Likewise.
	* modules/byteswap-tests (Files): Likewise.
	* modules/c-ctype-tests (Files): Likewise.
	* modules/c-stack-tests (Files): Likewise.
	* modules/c-strcase-tests (Files): Likewise.
	* modules/c-strcasestr-tests (Files): Likewise.
	* modules/c-strstr-tests (Files): Likewise.
	* modules/canonicalize-lgpl-tests (Files): Likewise.
	* modules/canonicalize-tests (Files): Likewise.
	* modules/carray-list-tests (Files): Likewise.
	* modules/ceilf-tests (Files): Likewise.
	* modules/ceill-tests (Files): Likewise.
	* modules/chown-tests (Files): Likewise.
	* modules/cloexec-tests (Files): Likewise.
	* modules/copy-file-tests (Files): Likewise.
	* modules/count-one-bits-tests (Files): Likewise.
	* modules/dprintf-posix-tests (Files): Likewise.
	* modules/dup2-tests (Files): Likewise.
	* modules/dup3-tests (Files): Likewise.
	* modules/duplocale-tests (Files): Likewise.
	* modules/fbufmode-tests (Files): Likewise.
	* modules/fchdir-tests (Files): Likewise.
	* modules/fcntl-safer-tests (Files): Likewise.
	* modules/fcntl-tests (Files): Likewise.
	* modules/fdopendir-tests (Files): Likewise.
	* modules/fdutimensat-tests (Files): Likewise.
	* modules/fflush-tests (Files): Likewise.
	* modules/filevercmp-tests (Files): Likewise.
	* modules/flock-tests (Files): Likewise.
	* modules/floorf-tests (Files): Likewise.
	* modules/floorl-tests (Files): Likewise.
	* modules/fnmatch-tests (Files): Likewise.
	* modules/fopen-safer-tests (Files): Likewise.
	* modules/fopen-tests (Files): Likewise.
	* modules/fpending-tests (Files): Likewise.
	* modules/fprintf-posix-tests (Files): Likewise.
	* modules/fpurge-tests (Files): Likewise.
	* modules/freadable-tests (Files): Likewise.
	* modules/freadahead-tests (Files): Likewise.
	* modules/freading-tests (Files): Likewise.
	* modules/freadptr-tests (Files): Likewise.
	* modules/freadseek-tests (Files): Likewise.
	* modules/freopen-tests (Files): Likewise.
	* modules/frexp-nolibm-tests (Files): Likewise.
	* modules/frexp-tests (Files): Likewise.
	* modules/frexpl-nolibm-tests (Files): Likewise.
	* modules/frexpl-tests (Files): Likewise.
	* modules/fseek-tests (Files): Likewise.
	* modules/fseeko-tests (Files): Likewise.
	* modules/fstrcmp-tests (Files): Likewise.
	* modules/fsync-tests (Files): Likewise.
	* modules/ftell-tests (Files): Likewise.
	* modules/ftello-tests (Files): Likewise.
	* modules/func-tests (Files): Likewise.
	* modules/futimens-tests (Files): Likewise.
	* modules/fwritable-tests (Files): Likewise.
	* modules/fwriting-tests (Files): Likewise.
	* modules/getcwd-tests (Files): Likewise.
	* modules/getdate-tests (Files): Likewise.
	* modules/getdelim-tests (Files): Likewise.
	* modules/getdtablesize-tests (Files): Likewise.
	* modules/getgroups-tests (Files): Likewise.
	* modules/getline-tests (Files): Likewise.
	* modules/getndelim2-tests (Files): Likewise.
	* modules/glob-tests (Files): Likewise.
	* modules/hash-tests (Files): Likewise.
	* modules/i-ring-tests (Files): Likewise.
	* modules/iconv-tests (Files): Likewise.
	* modules/iconv_open-utf-tests (Files): Likewise.
	* modules/idpriv-drop-tests (Files): Likewise.
	* modules/idpriv-droptemp-tests (Files): Likewise.
	* modules/inet_ntop-tests (Files): Likewise.
	* modules/inet_pton-tests (Files): Likewise.
	* modules/isblank-tests (Files): Likewise.
	* modules/isfinite-tests (Files): Likewise.
	* modules/isinf-tests (Files): Likewise.
	* modules/isnan-tests (Files): Likewise.
	* modules/isnand-nolibm-tests (Files): Likewise.
	* modules/isnand-tests (Files): Likewise.
	* modules/isnanf-nolibm-tests (Files): Likewise.
	* modules/isnanf-tests (Files): Likewise.
	* modules/isnanl-nolibm-tests (Files): Likewise.
	* modules/isnanl-tests (Files): Likewise.
	* modules/lchown-tests (Files): Likewise.
	* modules/ldexpl-tests (Files): Likewise.
	* modules/link-tests (Files): Likewise.
	* modules/linkat-tests (Files): Likewise.
	* modules/linked-list-tests (Files): Likewise.
	* modules/linkedhash-list-tests (Files): Likewise.
	* modules/localename-tests (Files): Likewise.
	* modules/lseek-tests (Files): Likewise.
	* modules/lstat-tests (Files): Likewise.
	* modules/mbmemcasecmp-tests (Files): Likewise.
	* modules/mbmemcasecoll-tests (Files): Likewise.
	* modules/mbrtowc-tests (Files): Likewise.
	* modules/mbscasecmp-tests (Files): Likewise.
	* modules/mbscasestr-tests (Files): Likewise.
	* modules/mbschr-tests (Files): Likewise.
	* modules/mbscspn-tests (Files): Likewise.
	* modules/mbsinit-tests (Files): Likewise.
	* modules/mbsncasecmp-tests (Files): Likewise.
	* modules/mbsnrtowcs-tests (Files): Likewise.
	* modules/mbspbrk-tests (Files): Likewise.
	* modules/mbspcasecmp-tests (Files): Likewise.
	* modules/mbsrchr-tests (Files): Likewise.
	* modules/mbsrtowcs-tests (Files): Likewise.
	* modules/mbsspn-tests (Files): Likewise.
	* modules/mbsstr-tests (Files): Likewise.
	* modules/memchr-tests (Files): Likewise.
	* modules/memchr2-tests (Files): Likewise.
	* modules/memcmp-tests (Files): Likewise.
	* modules/memmem-tests (Files): Likewise.
	* modules/memrchr-tests (Files): Likewise.
	* modules/mkdir-tests (Files): Likewise.
	* modules/mkfifo-tests (Files): Likewise.
	* modules/mkfifoat-tests (Files): Likewise.
	* modules/mknod-tests (Files): Likewise.
	* modules/nanosleep-tests (Files): Likewise.
	* modules/nl_langinfo-tests (Files): Likewise.
	* modules/obstack-printf-tests (Files): Likewise.
	* modules/open-tests (Files): Likewise.
	* modules/openat-tests (Files): Likewise.
	* modules/pipe-filter-gi-tests (Files): Likewise.
	* modules/pipe-filter-ii-tests (Files): Likewise.
	* modules/pipe2-tests (Files): Likewise.
	* modules/popen-safer-tests (Files): Likewise.
	* modules/popen-tests (Files): Likewise.
	* modules/posixtm-tests (Files): Likewise.
	* modules/pread-tests (Files): Likewise.
	* modules/printf-frexp-tests (Files): Likewise.
	* modules/printf-frexpl-tests (Files): Likewise.
	* modules/printf-posix-tests (Files): Likewise.
	* modules/priv-set-tests (Files): Likewise.
	* modules/quotearg-tests (Files): Likewise.
	* modules/random_r-tests (Files): Likewise.
	* modules/rawmemchr-tests (Files): Likewise.
	* modules/rbtree-list-tests (Files): Likewise.
	* modules/rbtree-oset-tests (Files): Likewise.
	* modules/rbtreehash-list-tests (Files): Likewise.
	* modules/readlink-tests (Files): Likewise.
	* modules/remove-tests (Files): Likewise.
	* modules/rename-tests (Files): Likewise.
	* modules/renameat-tests (Files): Likewise.
	* modules/rmdir-tests (Files): Likewise.
	* modules/round-tests (Files): Likewise.
	* modules/roundf-tests (Files): Likewise.
	* modules/roundl-tests (Files): Likewise.
	* modules/safe-alloc-tests (Files): Likewise.
	* modules/setenv-tests (Files): Likewise.
	* modules/sigaction-tests (Files): Likewise.
	* modules/signbit-tests (Files): Likewise.
	* modules/sleep-tests (Files): Likewise.
	* modules/snprintf-posix-tests (Files): Likewise.
	* modules/snprintf-tests (Files): Likewise.
	* modules/sprintf-posix-tests (Files): Likewise.
	* modules/stat-tests (Files): Likewise.
	* modules/stat-time-tests (Files): Likewise.
	* modules/strcasestr-tests (Files): Likewise.
	* modules/strchrnul-tests (Files): Likewise.
	* modules/strerror-tests (Files): Likewise.
	* modules/striconv-tests (Files): Likewise.
	* modules/striconveh-tests (Files): Likewise.
	* modules/striconveha-tests (Files): Likewise.
	* modules/strsignal-tests (Files): Likewise.
	* modules/strstr-tests (Files): Likewise.
	* modules/strtod-tests (Files): Likewise.
	* modules/strverscmp-tests (Files): Likewise.
	* modules/symlink-tests (Files): Likewise.
	* modules/symlinkat-tests (Files): Likewise.
	* modules/trunc-tests (Files): Likewise.
	* modules/truncf-tests (Files): Likewise.
	* modules/truncl-tests (Files): Likewise.
	* modules/uname-tests (Files): Likewise.
	* modules/unicase/cased-tests (Files): Likewise.
	* modules/unicase/ignorable-tests (Files): Likewise.
	* modules/unicase/locale-language-tests (Files): Likewise.
	* modules/unicase/tolower-tests (Files): Likewise.
	* modules/unicase/totitle-tests (Files): Likewise.
	* modules/unicase/toupper-tests (Files): Likewise.
	* modules/unicase/u8-casecmp-tests (Files): Likewise.
	* modules/unicase/u8-casecoll-tests (Files): Likewise.
	* modules/unicase/u8-casefold-tests (Files): Likewise.
	* modules/unicase/u8-is-cased-tests (Files): Likewise.
	* modules/unicase/u8-is-casefolded-tests (Files): Likewise.
	* modules/unicase/u8-is-lowercase-tests (Files): Likewise.
	* modules/unicase/u8-is-titlecase-tests (Files): Likewise.
	* modules/unicase/u8-is-uppercase-tests (Files): Likewise.
	* modules/unicase/u8-tolower-tests (Files): Likewise.
	* modules/unicase/u8-totitle-tests (Files): Likewise.
	* modules/unicase/u8-toupper-tests (Files): Likewise.
	* modules/unicase/u16-casecmp-tests (Files): Likewise.
	* modules/unicase/u16-casecoll-tests (Files): Likewise.
	* modules/unicase/u16-casefold-tests (Files): Likewise.
	* modules/unicase/u16-is-cased-tests (Files): Likewise.
	* modules/unicase/u16-is-casefolded-tests (Files): Likewise.
	* modules/unicase/u16-is-lowercase-tests (Files): Likewise.
	* modules/unicase/u16-is-titlecase-tests (Files): Likewise.
	* modules/unicase/u16-is-uppercase-tests (Files): Likewise.
	* modules/unicase/u16-tolower-tests (Files): Likewise.
	* modules/unicase/u16-totitle-tests (Files): Likewise.
	* modules/unicase/u16-toupper-tests (Files): Likewise.
	* modules/unicase/u32-casecmp-tests (Files): Likewise.
	* modules/unicase/u32-casecoll-tests (Files): Likewise.
	* modules/unicase/u32-casefold-tests (Files): Likewise.
	* modules/unicase/u32-is-cased-tests (Files): Likewise.
	* modules/unicase/u32-is-casefolded-tests (Files): Likewise.
	* modules/unicase/u32-is-lowercase-tests (Files): Likewise.
	* modules/unicase/u32-is-titlecase-tests (Files): Likewise.
	* modules/unicase/u32-is-uppercase-tests (Files): Likewise.
	* modules/unicase/u32-tolower-tests (Files): Likewise.
	* modules/unicase/u32-totitle-tests (Files): Likewise.
	* modules/unicase/u32-toupper-tests (Files): Likewise.
	* modules/unicase/ulc-casecmp-tests (Files): Likewise.
	* modules/unicase/ulc-casecoll-tests (Files): Likewise.
	* modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
	* modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
	* modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
	* modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
	* modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
	* modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
	* modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
	* modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
	* modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
	* modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
	* modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
	* modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
	* modules/unictype/bidicategory-byname-tests (Files): Likewise.
	* modules/unictype/bidicategory-name-tests (Files): Likewise.
	* modules/unictype/bidicategory-of-tests (Files): Likewise.
	* modules/unictype/bidicategory-test-tests (Files): Likewise.
	* modules/unictype/block-list-tests (Files): Likewise.
	* modules/unictype/block-of-tests (Files): Likewise.
	* modules/unictype/block-test-tests (Files): Likewise.
	* modules/unictype/category-C-tests (Files): Likewise.
	* modules/unictype/category-Cc-tests (Files): Likewise.
	* modules/unictype/category-Cf-tests (Files): Likewise.
	* modules/unictype/category-Cn-tests (Files): Likewise.
	* modules/unictype/category-Co-tests (Files): Likewise.
	* modules/unictype/category-Cs-tests (Files): Likewise.
	* modules/unictype/category-L-tests (Files): Likewise.
	* modules/unictype/category-Ll-tests (Files): Likewise.
	* modules/unictype/category-Lm-tests (Files): Likewise.
	* modules/unictype/category-Lo-tests (Files): Likewise.
	* modules/unictype/category-Lt-tests (Files): Likewise.
	* modules/unictype/category-Lu-tests (Files): Likewise.
	* modules/unictype/category-M-tests (Files): Likewise.
	* modules/unictype/category-Mc-tests (Files): Likewise.
	* modules/unictype/category-Me-tests (Files): Likewise.
	* modules/unictype/category-Mn-tests (Files): Likewise.
	* modules/unictype/category-N-tests (Files): Likewise.
	* modules/unictype/category-Nd-tests (Files): Likewise.
	* modules/unictype/category-Nl-tests (Files): Likewise.
	* modules/unictype/category-No-tests (Files): Likewise.
	* modules/unictype/category-P-tests (Files): Likewise.
	* modules/unictype/category-Pc-tests (Files): Likewise.
	* modules/unictype/category-Pd-tests (Files): Likewise.
	* modules/unictype/category-Pe-tests (Files): Likewise.
	* modules/unictype/category-Pf-tests (Files): Likewise.
	* modules/unictype/category-Pi-tests (Files): Likewise.
	* modules/unictype/category-Po-tests (Files): Likewise.
	* modules/unictype/category-Ps-tests (Files): Likewise.
	* modules/unictype/category-S-tests (Files): Likewise.
	* modules/unictype/category-Sc-tests (Files): Likewise.
	* modules/unictype/category-Sk-tests (Files): Likewise.
	* modules/unictype/category-Sm-tests (Files): Likewise.
	* modules/unictype/category-So-tests (Files): Likewise.
	* modules/unictype/category-Z-tests (Files): Likewise.
	* modules/unictype/category-Zl-tests (Files): Likewise.
	* modules/unictype/category-Zp-tests (Files): Likewise.
	* modules/unictype/category-Zs-tests (Files): Likewise.
	* modules/unictype/category-and-not-tests (Files): Likewise.
	* modules/unictype/category-and-tests (Files): Likewise.
	* modules/unictype/category-byname-tests (Files): Likewise.
	* modules/unictype/category-name-tests (Files): Likewise.
	* modules/unictype/category-none-tests (Files): Likewise.
	* modules/unictype/category-of-tests (Files): Likewise.
	* modules/unictype/category-or-tests (Files): Likewise.
	* modules/unictype/category-test-withtable-tests (Files): Likewise.
	* modules/unictype/combining-class-tests (Files): Likewise.
	* modules/unictype/ctype-alnum-tests (Files): Likewise.
	* modules/unictype/ctype-alpha-tests (Files): Likewise.
	* modules/unictype/ctype-blank-tests (Files): Likewise.
	* modules/unictype/ctype-cntrl-tests (Files): Likewise.
	* modules/unictype/ctype-digit-tests (Files): Likewise.
	* modules/unictype/ctype-graph-tests (Files): Likewise.
	* modules/unictype/ctype-lower-tests (Files): Likewise.
	* modules/unictype/ctype-print-tests (Files): Likewise.
	* modules/unictype/ctype-punct-tests (Files): Likewise.
	* modules/unictype/ctype-space-tests (Files): Likewise.
	* modules/unictype/ctype-upper-tests (Files): Likewise.
	* modules/unictype/ctype-xdigit-tests (Files): Likewise.
	* modules/unictype/decimal-digit-tests (Files): Likewise.
	* modules/unictype/digit-tests (Files): Likewise.
	* modules/unictype/mirror-tests (Files): Likewise.
	* modules/unictype/numeric-tests (Files): Likewise.
	* modules/unictype/property-alphabetic-tests (Files): Likewise.
	* modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
	* modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
	* modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
	Likewise.
	* modules/unictype/property-bidi-block-separator-tests (Files):
	Likewise.
	* modules/unictype/property-bidi-boundary-neutral-tests (Files):
	Likewise.
	* modules/unictype/property-bidi-common-separator-tests (Files):
	Likewise.
	* modules/unictype/property-bidi-control-tests (Files): Likewise.
	* modules/unictype/property-bidi-embedding-or-override-tests (Files):
	Likewise.
	* modules/unictype/property-bidi-eur-num-separator-tests (Files):
	Likewise.
	* modules/unictype/property-bidi-eur-num-terminator-tests (Files):
	Likewise.
	* modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
	* modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
	Likewise.
	* modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
	* modules/unictype/property-bidi-non-spacing-mark-tests (Files):
	Likewise.
	* modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
	* modules/unictype/property-bidi-pdf-tests (Files): Likewise.
	* modules/unictype/property-bidi-segment-separator-tests (Files):
	Likewise.
	* modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
	* modules/unictype/property-byname-tests (Files): Likewise.
	* modules/unictype/property-combining-tests (Files): Likewise.
	* modules/unictype/property-composite-tests (Files): Likewise.
	* modules/unictype/property-currency-symbol-tests (Files): Likewise.
	* modules/unictype/property-dash-tests (Files): Likewise.
	* modules/unictype/property-decimal-digit-tests (Files): Likewise.
	* modules/unictype/property-default-ignorable-code-point-tests (Files):
	Likewise.
	* modules/unictype/property-deprecated-tests (Files): Likewise.
	* modules/unictype/property-diacritic-tests (Files): Likewise.
	* modules/unictype/property-extender-tests (Files): Likewise.
	* modules/unictype/property-format-control-tests (Files): Likewise.
	* modules/unictype/property-grapheme-base-tests (Files): Likewise.
	* modules/unictype/property-grapheme-extend-tests (Files): Likewise.
	* modules/unictype/property-grapheme-link-tests (Files): Likewise.
	* modules/unictype/property-hex-digit-tests (Files): Likewise.
	* modules/unictype/property-hyphen-tests (Files): Likewise.
	* modules/unictype/property-id-continue-tests (Files): Likewise.
	* modules/unictype/property-id-start-tests (Files): Likewise.
	* modules/unictype/property-ideographic-tests (Files): Likewise.
	* modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
	* modules/unictype/property-ids-trinary-operator-tests (Files):
	Likewise.
	* modules/unictype/property-ignorable-control-tests (Files): Likewise.
	* modules/unictype/property-iso-control-tests (Files): Likewise.
	* modules/unictype/property-join-control-tests (Files): Likewise.
	* modules/unictype/property-left-of-pair-tests (Files): Likewise.
	* modules/unictype/property-line-separator-tests (Files): Likewise.
	* modules/unictype/property-logical-order-exception-tests (Files):
	Likewise.
	* modules/unictype/property-lowercase-tests (Files): Likewise.
	* modules/unictype/property-math-tests (Files): Likewise.
	* modules/unictype/property-non-break-tests (Files): Likewise.
	* modules/unictype/property-not-a-character-tests (Files): Likewise.
	* modules/unictype/property-numeric-tests (Files): Likewise.
	* modules/unictype/property-other-alphabetic-tests (Files): Likewise.
	* modules/unictype/property-other-default-ignorable-code-point-tests
	(Files): Likewise.
	* modules/unictype/property-other-grapheme-extend-tests (Files):
	Likewise.
	* modules/unictype/property-other-id-continue-tests (Files): Likewise.
	* modules/unictype/property-other-id-start-tests (Files): Likewise.
	* modules/unictype/property-other-lowercase-tests (Files): Likewise.
	* modules/unictype/property-other-math-tests (Files): Likewise.
	* modules/unictype/property-other-uppercase-tests (Files): Likewise.
	* modules/unictype/property-paired-punctuation-tests (Files): Likewise.
	* modules/unictype/property-paragraph-separator-tests (Files): Likewise.
	* modules/unictype/property-pattern-syntax-tests (Files): Likewise.
	* modules/unictype/property-pattern-white-space-tests (Files): Likewise.
	* modules/unictype/property-private-use-tests (Files): Likewise.
	* modules/unictype/property-punctuation-tests (Files): Likewise.
	* modules/unictype/property-quotation-mark-tests (Files): Likewise.
	* modules/unictype/property-radical-tests (Files): Likewise.
	* modules/unictype/property-sentence-terminal-tests (Files): Likewise.
	* modules/unictype/property-soft-dotted-tests (Files): Likewise.
	* modules/unictype/property-space-tests (Files): Likewise.
	* modules/unictype/property-terminal-punctuation-tests (Files):
	Likewise.
	* modules/unictype/property-test-tests (Files): Likewise.
	* modules/unictype/property-titlecase-tests (Files): Likewise.
	* modules/unictype/property-unassigned-code-value-tests (Files):
	Likewise.
	* modules/unictype/property-unified-ideograph-tests (Files): Likewise.
	* modules/unictype/property-uppercase-tests (Files): Likewise.
	* modules/unictype/property-variation-selector-tests (Files): Likewise.
	* modules/unictype/property-white-space-tests (Files): Likewise.
	* modules/unictype/property-xid-continue-tests (Files): Likewise.
	* modules/unictype/property-xid-start-tests (Files): Likewise.
	* modules/unictype/property-zero-width-tests (Files): Likewise.
	* modules/unictype/scripts-tests (Files): Likewise.
	* modules/unictype/syntax-c-ident-tests (Files): Likewise.
	* modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
	* modules/unictype/syntax-java-ident-tests (Files): Likewise.
	* modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
	* modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
	* modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
	* modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
	* modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
	* modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
	* modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
	* modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
	* modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
	* modules/uninorm/canonical-decomposition-tests (Files): Likewise.
	* modules/uninorm/compat-decomposition-tests (Files): Likewise.
	* modules/uninorm/composition-tests (Files): Likewise.
	* modules/uninorm/decomposing-form-tests (Files): Likewise.
	* modules/uninorm/decomposition-tests (Files): Likewise.
	* modules/uninorm/filter-tests (Files): Likewise.
	* modules/uninorm/nfc-tests (Files): Likewise.
	* modules/uninorm/nfd-tests (Files): Likewise.
	* modules/uninorm/nfkc-tests (Files): Likewise.
	* modules/uninorm/nfkd-tests (Files): Likewise.
	* modules/uninorm/u8-normcmp-tests (Files): Likewise.
	* modules/uninorm/u8-normcoll-tests (Files): Likewise.
	* modules/uninorm/u16-normcmp-tests (Files): Likewise.
	* modules/uninorm/u16-normcoll-tests (Files): Likewise.
	* modules/uninorm/u32-normcmp-tests (Files): Likewise.
	* modules/uninorm/u32-normcoll-tests (Files): Likewise.
	* modules/unistdio/u8-asnprintf-tests (Files): Likewise.
	* modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
	* modules/unistdio/u8-vasprintf-tests (Files): Likewise.
	* modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
	* modules/unistdio/u8-vsprintf-tests (Files): Likewise.
	* modules/unistdio/u16-asnprintf-tests (Files): Likewise.
	* modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
	* modules/unistdio/u16-vasprintf-tests (Files): Likewise.
	* modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
	* modules/unistdio/u16-vsprintf-tests (Files): Likewise.
	* modules/unistdio/u32-asnprintf-tests (Files): Likewise.
	* modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
	* modules/unistdio/u32-vasprintf-tests (Files): Likewise.
	* modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
	* modules/unistdio/u32-vsprintf-tests (Files): Likewise.
	* modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
	* modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
	* modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
	* modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
	* modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
	* modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
	* modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
	* modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
	* modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
	* modules/uniwidth/u8-strwidth-tests (Files): Likewise.
	* modules/uniwidth/u8-width-tests (Files): Likewise.
	* modules/uniwidth/u16-strwidth-tests (Files): Likewise.
	* modules/uniwidth/u16-width-tests (Files): Likewise.
	* modules/uniwidth/u32-strwidth-tests (Files): Likewise.
	* modules/uniwidth/u32-width-tests (Files): Likewise.
	* modules/uniwidth/width-tests (Files): Likewise.
	* modules/unlink-tests (Files): Likewise.
	* modules/unsetenv-tests (Files): Likewise.
	* modules/usleep-tests (Files): Likewise.
	* modules/utimens-tests (Files): Likewise.
	* modules/utimensat-tests (Files): Likewise.
	* modules/vasnprintf-posix-tests (Files): Likewise.
	* modules/vasnprintf-tests (Files): Likewise.
	* modules/vasprintf-posix-tests (Files): Likewise.
	* modules/vasprintf-tests (Files): Likewise.
	* modules/vdprintf-posix-tests (Files): Likewise.
	* modules/vfprintf-posix-tests (Files): Likewise.
	* modules/vprintf-posix-tests (Files): Likewise.
	* modules/vsnprintf-posix-tests (Files): Likewise.
	* modules/vsnprintf-tests (Files): Likewise.
	* modules/vsprintf-posix-tests (Files): Likewise.
	* modules/wcrtomb-tests (Files): Likewise.
	* modules/wcsnrtombs-tests (Files): Likewise.
	* modules/wcsrtombs-tests (Files): Likewise.
	* modules/wctype-tests (Files): Likewise.
	* modules/wcwidth-tests (Files): Likewise.
	* modules/xmemdup0-tests (Files): Likewise.
	* modules/xprintf-posix-tests (Files): Likewise.
	* modules/xvasprintf-tests (Files): Likewise.

2009-12-24  Eric Blake  <ebb9@byu.net>

	test-nanosleep: fix typo
	* tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
	patch.
	Reported by Bruno Haible.

2009-12-24  Bruno Haible  <bruno@clisp.org>

	Reduce namespace pollution on glibc systems.
	* lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
	* lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
	systems.
	* lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
	<getopt.h> on glibc systems.
	* lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
	systems.
	* lib/fcntl.c: Include <unistd.h> here instead.

2009-12-24  Bruno Haible  <bruno@clisp.org>

	* lib/stdlib.in.h (includes): Fix typo in today's commit.

2009-12-24  Eric Blake  <ebb9@byu.net>

	tests: add signature checks
	* tests/signature.h (SIGNATURE_CHECK): New file.
	* modules/atexit-tests (Files): Use it.
	* modules/btowc-tests (Files): Likewise.
	* modules/canonicalize-lgpl-tests (Files): Likewise.
	* modules/ceilf-tests (Files): Likewise.
	* modules/ceill-tests (Files): Likewise.
	* modules/chown-tests (Files): Likewise.
	* modules/dprintf-posix-tests (Files): Likewise.
	* modules/dup2-tests (Files): Likewise.
	* modules/dup3-tests (Files): Likewise.
	* modules/duplocale-tests (Files): Likewise.
	* modules/fchdir-tests (Files): Likewise.
	* modules/fcntl-tests (Files): Likewise.
	* modules/fdopendir-tests (Files): Likewise.
	* modules/fflush-tests (Files): Likewise.
	* modules/flock-tests (Files): Likewise.
	* modules/floorf-tests (Files): Likewise.
	* modules/floorl-tests (Files): Likewise.
	* modules/fnmatch-tests (Files): Likewise.
	* modules/fopen-tests (Files): Likewise.
	* modules/fprintf-posix-tests (Files): Likewise.
	* modules/freopen-tests (Files): Likewise.
	* modules/frexp-nolibm-tests (Files): Likewise.
	* modules/frexp-tests (Files): Likewise.
	* modules/frexpl-nolibm-tests (Files): Likewise.
	* modules/frexpl-tests (Files): Likewise.
	* modules/fseek-tests (Files): Likewise.
	* modules/fseeko-tests (Files): Likewise.
	* modules/fsync-tests (Files): Likewise.
	* modules/ftell-tests (Files): Likewise.
	* modules/ftello-tests (Files): Likewise.
	* modules/futimens-tests (Files): Likewise.
	* modules/getaddrinfo-tests (Files): Likewise.
	* modules/getcwd-tests (Files): Likewise.
	* modules/getdelim-tests (Files): Likewise.
	* modules/getdtablesize-tests (Files): Likewise.
	* modules/getgroups-tests (Files): Likewise.
	* modules/gethostname-tests (Files): Likewise.
	* modules/getline-tests (Files): Likewise.
	* modules/getopt-posix-tests (Files): Likewise.
	* modules/gettimeofday-tests (Files): Likewise.
	* modules/glob-tests (Files): Likewise.
	* modules/iconv-tests (Files): Likewise.
	* modules/inet_ntop-tests (Files): Likewise.
	* modules/inet_pton-tests (Files): Likewise.
	* modules/isblank-tests (Files): Likewise.
	* modules/lchown-tests (Files): Likewise.
	* modules/ldexpl-tests (Files): Likewise.
	* modules/link-tests (Files): Likewise.
	* modules/linkat-tests (Files): Likewise.
	* modules/lseek-tests (Files): Likewise.
	* modules/lstat-tests (Files): Likewise.
	* modules/mbrtowc-tests (Files): Likewise.
	* modules/mbsinit-tests (Files): Likewise.
	* modules/mbsnrtowcs-tests (Files): Likewise.
	* modules/mbsrtowcs-tests (Files): Likewise.
	* modules/memchr-tests (Files): Likewise.
	* modules/memcmp-tests (Files): Likewise.
	* modules/memmem-tests (Files): Likewise.
	* modules/memrchr-tests (Files): Likewise.
	* modules/mkdir-tests (Files): Likewise.
	* modules/mkfifo-tests (Files): Likewise.
	* modules/mkfifoat-tests (Files): Likewise.
	* modules/mknod-tests (Files): Likewise.
	* modules/nanosleep-tests (Files): Likewise.
	* modules/nl_langinfo-tests (Files): Likewise.
	* modules/obstack-printf-tests (Files): Likewise.
	* modules/open-tests (Files): Likewise.
	* modules/openat-tests (Files): Likewise.
	* modules/perror-tests (Files): Likewise.
	* modules/pipe2-tests (Files): Likewise.
	* modules/poll-tests (Files): Likewise.
	* modules/popen-tests (Files): Likewise.
	* modules/posix_spawn-tests (Files): Likewise.
	* modules/posix_spawnp-tests (Files): Likewise.
	* modules/pread-tests (Files): Likewise.
	* modules/printf-posix-tests (Files): Likewise.
	* modules/pty-tests (Files): Likewise.
	* modules/random_r-tests (Files): Likewise.
	* modules/rawmemchr-tests (Files): Likewise.
	* modules/readlink-tests (Files): Likewise.
	* modules/remove-tests (Files): Likewise.
	* modules/rename-tests (Files): Likewise.
	* modules/renameat-tests (Files): Likewise.
	* modules/rmdir-tests (Files): Likewise.
	* modules/round-tests (Files): Likewise.
	* modules/roundf-tests (Files): Likewise.
	* modules/roundl-tests (Files): Likewise.
	* modules/select-tests (Files): Likewise.
	* modules/setenv-tests (Files): Likewise.
	* modules/sigaction-tests (Files): Likewise.
	* modules/sleep-tests (Files): Likewise.
	* modules/snprintf-posix-tests (Files): Likewise.
	* modules/snprintf-tests (Files): Likewise.
	* modules/sprintf-posix-tests (Files): Likewise.
	* modules/stat-tests (Files): Likewise.
	* modules/strcasestr-tests (Files): Likewise.
	* modules/strchrnul-tests (Files): Likewise.
	* modules/strerror-tests (Files): Likewise.
	* modules/strsignal-tests (Files): Likewise.
	* modules/strstr-tests (Files): Likewise.
	* modules/strtod-tests (Files): Likewise.
	* modules/strverscmp-tests (Files): Likewise.
	* modules/symlink-tests (Files): Likewise.
	* modules/symlinkat-tests (Files): Likewise.
	* modules/times-tests (Files): Likewise.
	* modules/trunc-tests (Files): Likewise.
	* modules/truncf-tests (Files): Likewise.
	* modules/truncl-tests (Files): Likewise.
	* modules/tsearch-tests (Files): Likewise.
	* modules/uname-tests (Files): Likewise.
	* modules/unlink-tests (Files): Likewise.
	* modules/unsetenv-tests (Files): Likewise.
	* modules/usleep-tests (Files): Likewise.
	* modules/utimensat-tests (Files): Likewise.
	* modules/vasprintf-tests (Files): Likewise.
	* modules/vdprintf-posix-tests (Files): Likewise.
	* modules/vfprintf-posix-tests (Files): Likewise.
	* modules/vprintf-posix-tests (Files): Likewise.
	* modules/vsnprintf-posix-tests (Files): Likewise.
	* modules/vsnprintf-tests (Files): Likewise.
	* modules/vsprintf-posix-tests (Files): Likewise.
	* modules/wcrtomb-tests (Files): Likewise.
	* modules/wcsnrtombs-tests (Files): Likewise.
	* modules/wcsrtombs-tests (Files): Likewise.
	* modules/wcwidth-tests (Files): Likewise.
	* tests/test-isfinite.c (isfinite): Ensure macro declaration.
	* tests/test-isinf.c (isinf): Likewise.
	* tests/test-isnan.c (isnan): Likewise.
	* tests/test-signbit.c (signbit): Likewise.
	* tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
	declaration, either as macro or with correct signature.
	(select): Ensure function under test is declared with correct
	signature in correct header.
	* tests/test-atexit.c (atexit): Likewise.
	* tests/test-btowc.c (btowc): Likewise.
	* tests/test-canonicalize-lgpl.c (realpath)
	(canonicalize_file_name): Likewise.
	* tests/test-ceilf1.c (ceilf): Likewise.
	* tests/test-ceill.c (ceill): Likewise.
	* tests/test-chown.c (chown): Likewise.
	* tests/test-dprintf-posix.c (dprintf): Likewise.
	* tests/test-dup2.c (dup2): Likewise.
	* tests/test-dup3.c (dup3): Likewise.
	* tests/test-duplocale.c (duplocale): Likewise.
	* tests/test-fchdir.c (fchdir): Likewise.
	* tests/test-fchownat.c (fchownat): Likewise.
	* tests/test-fcntl.c (fcntl): Likewise.
	* tests/test-fdopendir.c (fdopendir): Likewise.
	* tests/test-fflush.c (fflush): Likewise.
	* tests/test-flock.c (flock): Likewise.
	* tests/test-floorf1.c (floorf): Likewise.
	* tests/test-floorl.c (floorl): Likewise.
	* tests/test-fnmatch.c (fnmatch): Likewise.
	* tests/test-fopen.c (fopen): Likewise.
	* tests/test-fprintf-posix.c (fprintf): Likewise.
	* tests/test-freopen.c (freopen): Likewise.
	* tests/test-frexp.c (frexp): Likewise.
	* tests/test-frexpl.c (frexpl): Likewise.
	* tests/test-fseek.c (fseek): Likewise.
	* tests/test-fseeko.c (fseeko): Likewise.
	* tests/test-fstatat.c (fstatat): Likewise.
	* tests/test-fsync.c (fsync): Likewise.
	* tests/test-ftell.c (ftell): Likewise.
	* tests/test-ftello.c (ftello): Likewise.
	* tests/test-futimens.c (futimens): Likewise.
	* tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
	(gai_strerror): Likewise.
	* tests/test-getcwd.c (getcwd): Likewise.
	* tests/test-getdelim.c (getdelim): Likewise.
	* tests/test-getdtablesize.c (getdtablesize): Likewise.
	* tests/test-getgroups.c (getgroups): Likewise.
	* tests/test-gethostname.c (gethostname): Likewise.
	* tests/test-getline.c (getline): Likewise.
	* tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
	Likewise.
	* tests/test-gettimeofday.c (gettimeofday): Likewise.
	* tests/test-glob.c (glob, globfree): Likewise.
	* tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
	* tests/test-inet_ntop.c (inet_ntop): Likewise.
	* tests/test-inet_pton.c (inet_pton): Likewise.
	* tests/test-isblank.c (isblank): Likewise.
	* tests/test-lchown.c (lchown): Likewise.
	* tests/test-ldexpl.c (ldexpl): Likewise.
	* tests/test-link.c (link): Likewise.
	* tests/test-linkat.c (linkat): Likewise.
	* tests/test-lseek.c (lseek): Likewise.
	* tests/test-lstat.c (lstat): Likewise.
	* tests/test-mbrtowc.c (mbrtowc): Likewise.
	* tests/test-mbsinit.c (mbsinit): Likewise.
	* tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
	* tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
	* tests/test-memchr.c (memchr): Likewise.
	* tests/test-memcmp.c (memcmp): Likewise.
	* tests/test-memmem.c (memmem): Likewise.
	* tests/test-memrchr.c (memrchr): Likewise.
	* tests/test-mkdir.c (mkdir): Likewise.
	* tests/test-mkdirat.c (mkdirat): Likewise.
	* tests/test-mkfifo.c (mkfifo): Likewise.
	* tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
	* tests/test-mknod.c (mknod): Likewise.
	* tests/test-nanosleep.c (nanosleep): Likewise.
	* tests/test-nl_langinfo.c (nl_langinfo): Likewise.
	* tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
	Likewise.
	* tests/test-open.c (open): Likewise.
	* tests/test-openat.c (openat): Likewise.
	* tests/test-perror.c (perror): Likewise.
	* tests/test-pipe2.c (pipe2): Likewise.
	* tests/test-poll.c (poll): Likewise.
	* tests/test-popen.c (popen, pclose): Likewise.
	* tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
	(posix_spawnattr_destroy, posix_spawnattr_setsigmask)
	(posix_spawnattr_setflags, posix_spawn_file_actions_init)
	(posix_spawn_file_actions_destroy)
	(posix_spawn_file_actions_addclose)
	(posix_spawn_file_actions_addopen)
	(posix_spawn_file_actions_adddup2): Likewise.
	* tests/test-posix_spawn3.c (posix_spawn): Likewise.
	* tests/test-pread.c (pread): Likewise.
	* tests/test-printf-posix.c (printf): Likewise.
	* tests/test-pty.c (openpty, forkpty): Likewise.
	* tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
	(random_r): Likewise.
	* tests/test-rawmemchr.c (rawmemchr): Likewise.
	* tests/test-readlink.c (readlink): Likewise.
	* tests/test-remove.c (remove): Likewise.
	* tests/test-rename.c (rename): Likewise.
	* tests/test-renameat.c (renameat): Likewise.
	* tests/test-rmdir.c (rmdir): Likewise.
	* tests/test-round1.c (round): Likewise.
	* tests/test-roundf1.c (roundf): Likewise.
	* tests/test-roundl.c (roundl): Likewise.
	* tests/test-setenv.c (setenv): Likewise.
	* tests/test-sigaction.c (sigaction): Likewise.
	* tests/test-sleep.c (sleep): Likewise.
	* tests/test-snprintf.c (snprintf): Likewise.
	* tests/test-sprintf-posix.c (sprintf): Likewise.
	* tests/test-stat.c (stat): Likewise.
	* tests/test-stpncpy.c (stpncpy): Likewise.
	* tests/test-strcasestr.c (strcasestr): Likewise.
	* tests/test-strchrnul.c (strchrnul): Likewise.
	* tests/test-strerror.c (strerror): Likewise.
	* tests/test-strsignal.c (strsignal): Likewise.
	* tests/test-strstr.c (strstr): Likewise.
	* tests/test-strtod.c (strtod): Likewise.
	* tests/test-strverscmp.c (strverscmp): Likewise.
	* tests/test-symlink.c (symlink): Likewise.
	* tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
	* tests/test-times.c (times): Likewise.
	* tests/test-trunc1.c (trunc): Likewise.
	* tests/test-truncf1.c (truncf): Likewise.
	* tests/test-truncl.c (truncl): Likewise.
	* tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
	Likewise.
	* tests/test-uname.c (uname): Likewise.
	* tests/test-unlink.c (unlink): Likewise.
	* tests/test-unlinkat.c (unlinkat): Likewise.
	* tests/test-unsetenv.c (unsetenv): Likewise.
	* tests/test-usleep.c (usleep): Likewise.
	* tests/test-utimensat.c (utimensat): Likewise.
	* tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
	* tests/test-vdprintf-posix.c (vdprintf): Likewise.
	* tests/test-vfprintf-posix.c (vfprintf): Likewise.
	* tests/test-vprintf-posix.c (vprintf): Likewise.
	* tests/test-vsnprintf.c (vsnprintf): Likewise.
	* tests/test-vsprintf-posix.c (vsprintf): Likewise.
	* tests/test-wcrtomb.c (wcrtomb): Likewise.
	* tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
	* tests/test-wcsrtombs.c (wcsrtombs): Likewise.
	* tests/test-wcwidth.c (wcwidth): Likewise.

	build: pull in conditional headers during GNULIB_POSIXCHECK
	* lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
	definitions from any conditionally-included headers.
	* lib/stdlib.in.h (includes): Likewise.
	* lib/unistd.in.h (includes): Likewise.

2009-12-24  Bruno Haible  <bruno@clisp.org>

	* tests/test-argv-iter.c: Include header file being tested immediately
	after config.h.
	* tests/test-base64.c: Likewise.
	* tests/test-flock.c: Likewise.
	* tests/test-fsync.c: Likewise.
	* tests/test-getdate.c: Likewise.
	* tests/test-getndelim2.c: Likewise.
	* tests/test-isfinite.c: Likewise.
	* tests/test-isinf.c: Likewise.
	* tests/test-strerror.c: Likewise.
	* tests/test-strsignal.c: Likewise.

2009-12-23  Eric Blake  <ebb9@byu.net>

	unistd: work around cygwin bug
	* lib/unistd.in.h (includes): Pick up headers needed for cygwin.
	* doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
	* doc/posix-functions/symlinkat.texi (symlinkat): Likewise.

2009-12-23  Bruno Haible  <bruno@clisp.org>

	localename: More tests.
	* tests/test-localename.c (SIZEOF): New macro.
	(categories): New variable.
	(test_locale_name, test_locale_name_posix, test_locale_name_environ,
	test_locale_name_default): Add test w.r.t. thread locale.
	(test_locale_name_thread): New function.
	(main): Invoke it.

	localename: Make aware of thread locale.
	* lib/localename.h (gl_locale_name_thread): New declaration.
	(gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
	behaviour with respect to thread locale.
	* lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
	<langinfo.h>, glthread/lock.h.
	(SIZE_BITS): New macro.
	(string_hash): New function.
	(struct hash_node): New type.
	(HASH_TABLE_SIZE): New macro.
	(struniq_hash_table, struniq_lock): New variables.
	(struniq): New function.
	(gl_locale_name_thread): New function.
	(gl_locale_name): Invoke it.
	* m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
	* modules/localename (Depends-on): Add lock.
	Reported by Mike Gran <spk121@yahoo.com>.

2009-12-23  Eric Blake  <ebb9@byu.net>

	va-args: new module
	* modules/va-args: New file.
	* m4/va-args.m4 (gl_VA_ARGS): Likewise.
	* MODULES.html.sh (Core language properties): Mention it.

	gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
	* m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
	named alias for __attribute__((__unused__)).
	* lib/chown.c: Update client.
	* lib/fchmodat.c: Likewise.
	* lib/fts.c: Likewise.
	* lib/getdate.y: Likewise.
	* lib/getgroups.c: Likewise.
	* lib/getopt.c: Likewise.
	* lib/getugroups.c: Likewise.
	* lib/mkdir.c: Likewise.
	* lib/mkfifo.c: Likewise.
	* lib/mkfifoat.c: Likewise.
	* lib/mknod.c: Likewise.
	* lib/mknodat.c: Likewise.
	* lib/readlink.c: Likewise.
	* lib/se-context.in.h: Likewise.
	* lib/se-selinux.in.h: Likewise.
	* lib/sockets.c: Likewise.
	* lib/symlink.c: Likewise.
	* lib/symlinkat.c: Likewise.
	* lib/unicodeio.c: Likewise.
	* lib/unistr.h: Likewise.
	* tests/test-areadlink.c: Likewise.
	* tests/test-areadlinkat.c: Likewise.
	* tests/test-filenamecat.c: Likewise.
	* tests/test-fseeko.c: Likewise.
	* tests/test-ftello.c: Likewise.
	* tests/test-getdate.c: Likewise.
	* tests/test-getgroups.c: Likewise.
	* tests/test-gethostname.c: Likewise.
	* tests/test-quotearg.c: Likewise.
	* tests/test-version-etc.c: Likewise.
	* tests/test-xalloc-die.c: Likewise.
	* tests/test-xfprintf-posix.c: Likewise.
	* tests/test-xprintf-posix.c: Likewise.
	* tests/test-xvasprintf.c: Likewise.

	tests: avoid compiler warnings
	* tests/test-fcntl.c (main): Delete unused parameters.
	* tests/test-freopen-safer.c (main): Likewise.
	* tests/test-xalloc-die.c (main): Mark unused parameters.
	* tests/test-fseeko.c (main): Likewise.
	* tests/test-ftello.c (main): Likewise.
	* tests/test-nanosleep.c (main): Avoid declaration warning.
	* tests/test-sleep.c (main): Likewise.
	* tests/test-unsetenv.c (main): Silence warning about string
	literal.
	* m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.

2009-12-23  Bruno Haible  <bruno@clisp.org>

	* tests/test-localename.c (test_locale_name): New function, extracted
	from main. Also test mixed situations.
	(test_locale_name_posix, test_locale_name_environ,
	test_locale_name_default): New functions.
	(main): Invoke them all.
	* modules/localename-tests (configure.ac): Test for newlocale.

2009-12-23  Bruno Haible  <bruno@clisp.org>

	unistd: Ensure getcwd gets declared before being overridden.
	* lib/unistd.in.h: Conditionally include <io.h>.

2009-12-22  Bruno Haible  <bruno@clisp.org>

	wchar: Diagnose broken combination of glibc and gcc versions and flags.
	* m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
	(gl_WCHAR_H): Invoke it.
	* m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
	* doc/posix-headers/wchar.texi: Mention the interoperability problem.
	Reported by Karl Berry <karl@freefriends.org>.

2009-12-22  Eric Blake  <ebb9@byu.net>

	math, unistd: avoid redundant includes
	* lib/math.in.h (isnan): No need to re-include <math.h>.
	* lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.

	getsubopt: work around cygwin bug
	* lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
	avoid conflicting with system getsubopt.
	* doc/posix-functions/getsubopt.texi (getsubopt): Document the
	bug.

	getopt: synchronize from glibc
	* lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
	parameter order.  Adjust all callers.
	(_getopt_internal_r, main): Adjust quoting in error messages.
	Drop considerations for outdated POSIX 1003.2 error message.
	* lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
	callers.
	* lib/getopt_int.h (_getopt_internal_r): Adjust prototype.

	test-getopt: test stderr behavior
	* modules/getopt-posix-tests (Depends-on): Add dup2.
	* tests/test-getopt.c (ASSERT): Avoid stderr.
	(main): Move stderr to a temporary file.
	* tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
	Instead, add parameter to inform caller if output occurred.
	(test_getopt): Adjust all existing tests to expect silence, and
	add new tests of leading ":".
	* doc/glibc-functions/getopt_long.texi (getopt_long): Document
	glibc shortcomings with leading "-:" or "+:" in optstring.
	* doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
	Likewise.
	* doc/posix-functions/getopt.texi (getopt): Likewise.

	test-getopt: enhance test
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
	supports optind=0.
	* tests/test-getopt.c (OPTIND_MIN): Move...
	* tests/test-getopt.h (OPTIND_MIN): ...here.
	* tests/test-getopt_long.h (test_getopt_long): Add more coverage.
	Require that optind=0 works, since modern BSD supports it in
	addition to optreset, and since coreutils expects it.
	(test_getopt_long_only): New test.
	* doc/glibc-functions/getopt_long.texi (getopt_long): Document
	glibc shortcomings with 'W;', and enforcement of optind=0.
	* doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
	Likewise.

2009-12-21  Bruno Haible  <bruno@clisp.org>

	localename: Improvements for MacOS X and Cygwin.
	* lib/localename.h (gl_locale_name_environ): New declaration.
	* lib/localename.c (gl_locale_name_environ): New function, extracted from
	gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
	(gl_locale_name_posix): Invoke it.
	(gl_locale_name_default): Add comments. Use Windows native API also on
	Cygwin.

2009-12-21  Bruno Haible  <bruno@clisp.org>

	Update list of Win32 locale ids.
	* lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
	(LANG_SAMI): Renamed from LANG_SAAMI.
	(LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
	LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
	LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
	LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
	(SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
	SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
	SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
	SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
	SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
	SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
	SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
	SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
	SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
	SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
	SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
	SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
	SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
	SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
	SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
	SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
	SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
	SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
	SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
	SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
	SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
	SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
	SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
	SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
	SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
	SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
	SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
	SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
	SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
	SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
	SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
	SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
	SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
	SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
	SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
	SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
	SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
	SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
	SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
	SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
	SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
	SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
	SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
	SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
	SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
	SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
	SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
	SUBLANG_ZULU_SOUTH_AFRICA): New macros.
	(gl_locale_name_from_win32_LANGID): Handle also the territory neutral
	locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
	Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
	Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
	Add more languages and countries for Sami, Sorbian. Add more countries
	for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
	for Pashto. Change country for Syriac, Tswana.

2009-12-21  Eric Blake  <ebb9@byu.net>

	test-utimens: avoid spurious failure
	* tests/test-chown.h (nap): Factor...
	* tests/nap.h: ...into new file.
	* tests/test-lchown.h (nap): Avoid duplication.
	* tests/test-utimens-common.h (nap): Use shared implementation,
	necessary on file systems with 1-second resolution.
	* modules/chown-tests (Files): Include new file.
	* modules/fdutimensat-tests (Files): Likewise.
	* modules/futimens-tests (Files): Likewise.
	* modules/lchown-tests (Files): Likewise.
	* modules/openat-tests (Files): Likewise.
	* modules/utimens-tests (Files): Likewise.
	* modules/utimensat-tests (Files): Likewise.

2009-12-19  Eric Blake  <ebb9@byu.net>

	futimens, utimensat: work around Linux bug
	* m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
	* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
	* lib/utimensat.c (rpl_utimensat): Work around it.
	* lib/futimens.c (rpl_futimens): Adjust comment.

	utimens: work around Linux ctime bug
	* lib/utimens.c (detect_ctime_bug): New helper function.
	(update_timespec): Differentiate between workaround needed for
	this bug vs. what is needed for systems that lack utimensat.
	(fdutimens, lutimens): Work around bug.

	utimens: check for ctime update
	* tests/test-utimens-common.h (check_ctime): Define.
	* tests/test-utimens.h (test_utimens): Expose the Linux bug.
	* tests/test-futimens.h (test_futimens): Likewise.
	* tests/test-lutimens.h (test_lutimens): Likewise.
	* doc/posix-functions/futimens.texi (futimens): Document the bug.
	* doc/posix-functions/utimensat.texi (utimensat): Likewise.

2009-12-19  Bruno Haible  <bruno@clisp.org>

	dprintf-posix: Check against memory leak fixed on 2009-12-15.
	* tests/test-dprintf-posix2.sh: New file.
	* tests/test-dprintf-posix2.c: New file.
	* modules/dprintf-posix-tests (Files): Add them.
	(configure.ac): Check for getrlimit and setrlimit.
	(Makefile.am): Augment TESTS and CHECK_PROGRAMS.

2009-12-19  Bruno Haible  <bruno@clisp.org>

	fprintf-posix: Check against memory leak fixed on 2009-12-15.
	* tests/test-fprintf-posix3.sh: New file.
	* tests/test-fprintf-posix3.c: New file.
	* modules/fprintf-posix-tests (Files): Add them.
	(Makefile.am): Augment TESTS and CHECK_PROGRAMS.

2009-12-19  Eric Blake  <ebb9@byu.net>

	dirfd: fix prototype
	* lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
	* lib/dirfd.c (dirfd): Likewise.

	canonicalize: reduce memory usage
	* lib/canonicalize.c (canonicalize_filename_mode): Trim the
	allocation to size.
	Reported by Solar Designer <solar@openwall.com>.

2009-12-19  Bruno Haible  <bruno@clisp.org>

	New module attribute 'Applicability'.
	* modules/TEMPLATE-EXTENDED: New field 'Applicability'.
	* gnulib-tool: New option --extract-applicability.
	(func_usage): Document it.
	(sed_extract_prog): Recognize it.
	(func_get_applicability): New function.
	(func_import): Generalize handling of 'link-warning' module.
	* modules/link-warning (Applicability): New section.
	* modules/arg-nonnull (Applicability): New section.
	Repoted by Simon Josefsson <simon@josefsson.org>.

2009-12-19  Bruno Haible  <bruno@clisp.org>

	fflush: tweak
	* lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
	* lib/fseeko.c (rpl_fseeko): Likewise.

2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)

	* lib/gl_list.h: Fix typo in comment.

2009-12-16  Eric Blake  <ebb9@byu.net>

	fcntl: use to simplify other modules
	* modules/cloexec (Depends-on): Add fcntl.
	* modules/fchdir (Depends-on): Likewise.
	* modules/fd-safer-flag (Depends-on): Likewise.
	* modules/unistd-safer (Depends-on): Likewise.
	* modules/dup3 (configure.ac): Set module indicator.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
	missing.
	* lib/fchdir.c (_gl_register_dup): Fix comment.
	* lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
	* lib/dup-safer.c (dup_safer): Likewise.
	* lib/dup-safer-flag.c (dup_safer_flag): Likewise.
	* lib/dup3.c (dup3): Likewise.
	* tests/test-fchdir.c (main): Enhance test.
	Fixes a dup_cloexec bug reported by Ondřej Vašík.

	fcntl: port portions of fcntl to mingw
	* m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
	* lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
	replacement for mingw.
	* modules/fcntl (Description): Update.
	(Depends-on): Add dup2.
	* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
	* modules/fcntl-h (Makefile.am): Substitute it.
	* lib/fcntl.in.h (fcntl): Update declaration.
	(F_DUPFD, F_GETFD): New macros, when needed.
	* doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
	* doc/posix-functions/fcntl.texi (fcntl): Likewise.
	* tests/test-fcntl.c (check_flags, main): Enhance test for items
	we now guarantee.

	fcntl: work around cygwin bug in F_DUPFD
	* m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
	(gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
	* lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
	<F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
	* doc/posix-functions/fcntl.texi (fcntl): Document it.

	fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
	* modules/fcntl (Files): List new files.
	(configure.ac): Run a test.
	* m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
	* lib/fcntl.c (rpl_fcntl): Likewise.
	* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
	(gl_FCNTL_H): Always replace fcntl.h.
	* modules/fcntl-h (Makefile.am): Substitute witnesses.
	* lib/fcntl.in.h (fcntl): Declare replacement.
	(F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
	needed, plus a witness.
	* doc/posix-functions/fcntl.texi (fcntl): Document this.
	* doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
	* tests/test-fcntl.c: New file.
	* modules/fcntl-tests: Likewise.

	binary-io: avoid potential compilation warning
	* lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
	directives.

	fflush: avoid compilation error on NetBSD
	* lib/fflush.c (update_fpos_cache): Use a union to safely convert
	between off_t and fpos_t, since the latter is sometimes a struct.
	* lib/fseeko.c (rpl_fseeko): Likewise.
	Reported by Alexander Nasonov <alnsn@yandex.ru>.

2009-12-15  Eric Blake  <ebb9@byu.net>

	fcntl-h, stdio, sys_ioctl: fix declarations
	* lib/stdio.in.h (dprintf): Use of link warning on a variadic
	function must not take arguments.
	* lib/sys_ioctl.in.h (ioctl): Likewise.
	* lib/fcntl.in.h (openat): Likewise.  Declare extern.
	(open): Add a link warning.

2009-12-15  Jim Meyering  <meyering@redhat.com>

	areadlink, areadlink-with-size: relax license to LGPLv2+
	* modules/areadlink (License): Relax to LGPLv2+.
	* modules/areadlink-with-size (License): Likewise.

2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
	    Bruno Haible  <bruno@clisp.org>

	*printf: Fix memory leak.
	* lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
	* lib/vfprintf.c (vfprintf): Likewise.
	* lib/dprintf.c (dprintf): Likewise.
	* lib/vdprintf.c (vdprintf): Likewise.

2009-12-14  Eric Blake  <ebb9@byu.net>

	accept4: adjust module dependencies
	* modules/accept4 (Depends-on): Use fcntl-h, not fcntl.

	utimens: one more try at avoiding compiler warning
	* lib/utimens.c (lutimens): Lower scope of result.

2009-12-13  Bruno Haible  <bruno@clisp.org>

	Move the malloc checking from module 'list' to new module 'xlist'.
	* modules/xlist: New file.
	* lib/gl_xlist.h: New file.
	* lib/gl_xlist.c: New file.
	* lib/gl_list.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_nx_add_at, gl_sortedlist_add): Disable declarations.
	(gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
	gl_list_nx_set_at, 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_sortedlist_nx_add): New declarations.
	(struct gl_list_implementation): Rename and change methods accordingly.
	(gl_list_nx_create_empty): Renamed from gl_list_create_empty.
	(gl_list_nx_create): Renamed from gl_list_create.
	(gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
	(gl_list_nx_set_at): Renamed from gl_list_set_at.
	(gl_list_nx_add_first): Renamed from gl_list_add_first.
	(gl_list_nx_add_last): Renamed from gl_list_add_last.
	(gl_list_nx_add_before): Renamed from gl_list_add_before.
	(gl_list_nx_add_after): Renamed from gl_list_add_after.
	(gl_list_nx_add_at): Renamed from gl_list_add_at.
	(gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
	* lib/gl_list.c (gl_list_nx_create_empty): Renamed from
	gl_list_create_empty.
	(gl_list_nx_create): Renamed from gl_list_create.
	(gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
	(gl_list_nx_set_at): Renamed from gl_list_set_at.
	(gl_list_nx_add_first): Renamed from gl_list_add_first.
	(gl_list_nx_add_last): Renamed from gl_list_add_last.
	(gl_list_nx_add_before): Renamed from gl_list_add_before.
	(gl_list_nx_add_after): Renamed from gl_list_add_after.
	(gl_list_nx_add_at): Renamed from gl_list_add_at.
	(gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
	* lib/gl_array_list.c: Don't include xalloc.h.
	(gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
	NULL upon out-of-memory.
	(gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
	out-of-memory.
	(gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
	Change return type to 'int'.
	(gl_array_nx_set_at): Renamed from gl_array_set_at.
	(grow): Change return type to 'int'. Return -1 upon out-of-memory.
	(gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
	upon out-of-memory.
	(gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
	upon out-of-memory.
	(gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
	upon out-of-memory.
	(gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
	upon out-of-memory.
	(gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
	out-of-memory.
	(gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
	Update.
	(gl_array_list_implementation): Update.
	* lib/gl_carray_list.c: Don't include xalloc.h.
	(gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
	Return NULL upon out-of-memory.
	(gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
	out-of-memory.
	(gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
	Change return type to 'int'.
	(gl_carray_nx_set_at): Renamed from gl_carray_set_at.
	(grow): Change return type to 'int'. Return -1 upon out-of-memory.
	(gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
	upon out-of-memory.
	(gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
	upon out-of-memory.
	(gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
	out-of-memory.
	(gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
	(gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
	(gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
	Update.
	(gl_carray_list_implementation): Update.
	* lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
	* lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
	gl_linked_create_empty. Return NULL upon out-of-memory.
	(gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
	out-of-memory.
	(gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
	Change return type to 'int'. Return -1 upon out-of-memory.
	(gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
	out-of-memory.
	(gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
	upon out-of-memory.
	(gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
	upon out-of-memory.
	(gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
	NULL upon out-of-memory.
	(gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
	upon out-of-memory.
	(gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
	out-of-memory.
	(gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
	Update.
	* lib/gl_linked_list.c: Don't include xalloc.h.
	(gl_linked_list_implementation): Update.
	* lib/gl_linkedhash_list.c: Don't include xalloc.h.
	(add_to_bucket): Change return type to 'int'.
	(gl_linkedhash_list_implementation): Update.
	* lib/gl_anytree_list1.h (free_subtree): New function.
	* lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
	gl_tree_create_empty. Return NULL upon out-of-memory.
	(gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
	Change return type to 'int'. Return -1 upon out-of-memory.
	(gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
	out-of-memory.
	(gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
	(gl_tree_remove_node): New function, moved here from
	lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
	(gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
	Update.
	* lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
	malloc, not xmalloc. Return NULL upon out-of-memory.
	(gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
	out-of-memory.
	(gl_tree_remove_node_from_tree): New function, extracted from
	gl_tree_remove_node.
	(gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
	upon out-of-memory.
	(gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
	out-of-memory.
	(gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
	upon out-of-memory.
	(gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
	upon out-of-memory.
	(gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
	* lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
	not xmalloc. Return NULL upon out-of-memory.
	(gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
	out-of-memory.
	(gl_tree_remove_node_from_tree): New function, extracted from
	gl_tree_remove_node.
	(gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
	upon out-of-memory.
	(gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
	out-of-memory.
	(gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
	upon out-of-memory.
	(gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
	upon out-of-memory.
	(gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
	* lib/gl_avltree_list.c: Don't include xalloc.h. Include
	gl_anytree_list1.h before gl_anyavltree_list2.h.
	(gl_avltree_list_implementation): Update.
	* lib/gl_rbtree_list.c: Don't include xalloc.h. Include
	gl_anytree_list1.h before gl_anyavltree_list2.h.
	(gl_rbtree_list_implementation): Update.
	* lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
	Change return type to 'int'. Return -1 upon out-of-memory. Use
	__builtin_expect.
	* lib/gl_avltreehash_list.c: Don't include xalloc.h.
	(gl_avltreehash_list_implementation): Update.
	* lib/gl_rbtreehash_list.c: Don't include xalloc.h.
	(gl_rbtreehash_list_implementation): Update.
	* modules/array-list (Depends-on): Remove xalloc.
	* modules/carray-list (Depends-on): Likewise.
	* modules/linked-list (Depends-on): Likewise.
	* modules/linkedhash-list (Depends-on): Likewise.
	* modules/avltree-list (Depends-on): Likewise.
	* modules/rbtree-list (Depends-on): Likewise.
	* modules/avltreehash-list (Depends-on): Likewise.
	* modules/rbtreehash-list (Depends-on): Likewise.

	* modules/xsublist: New file.
	* lib/gl_xsublist.h: New file.
	* lib/gl_xsublist.c: New file.
	* lib/gl_sublist.h (gl_sublist_create): Disable declaration.
	(gl_sublist_nx_create): New declaration.
	* lib/gl_sublist.c: Don't include xalloc.h.
	(gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
	(gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
	(gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
	Change return type to 'int'. Return -1 upon out-of-memory.
	(gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
	upon out-of-memory.
	(gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
	NULL upon out-of-memory.
	(gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
	upon out-of-memory.
	(gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
	NULL upon out-of-memory.
	(gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
	NULL upon out-of-memory.
	(gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
	upon out-of-memory.
	(gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
	(gl_sublist_list_implementation): Update.
	(gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
	upon out-of-memory.
	* modules/sublist (Depends-on): Remove xalloc.

	* tests/test-array_list.c: Use gl_list_nx_* functions where possible.
	* tests/test-carray_list.c: Likewise.
	* tests/test-linked_list.c: Likewise.
	* tests/test-linkedhash_list.c: Likewise.
	* tests/test-avltree_list.c: Likewise.
	* tests/test-rbtree_list.c: Likewise.
	* tests/test-avltreehash_list.c: Likewise.
	* tests/test-rbtreehash_list.c: Likewise.
	* modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
	* modules/carray-list-tests (Makefile.am): Likewise.
	* modules/linked-list-tests (Makefile.am): Likewise.
	* modules/linkedhash-list-tests (Makefile.am): Likewise.
	* modules/avltree-list-tests (Makefile.am): Likewise.
	* modules/rbtree-list-tests (Makefile.am): Likewise.
	* modules/avltreehash-list-tests (Makefile.am): Likewise.
	* modules/rbtreehash-list-tests (Makefile.am): Likewise.

	* NEWS: Mention the changes.

	* lib/clean-temp.c: Include gl_xlist.h.
	* modules/clean-temp (Depends-on): Add xlist.

	* lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
	* modules/git-merge-changelog (Depends-on): Add xlist. Remove list.

	* tests/test-array_oset.c: Include gl_xlist.h.
	* modules/array-oset-tests (Depends-on): Add xlist.

	Reported by José E. Marchesi <jemarch@gnu.org>.

2009-12-13  Bruno Haible  <bruno@clisp.org>

	Move the malloc checking from module 'oset' to new module 'xoset'.
	* modules/xoset: New file.
	* lib/gl_xoset.h: New file.
	* lib/gl_xoset.c: New file.
	* lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
	declarations.
	(gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
	(struct gl_oset_implementation): Rename and change methods accordingly.
	(gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
	(gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
	'int'. Mark as __warn_unused_result__.
	* lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
	gl_oset_create_empty.
	(gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
	'int'.
	* lib/gl_array_oset.c: Don't include xalloc.h.
	(gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
	malloc, not xmalloc.
	(grow): Change return type to 'int'. Don't call xalloc_die.
	(gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
	to 'int'.
	(gl_array_nx_add): Renamed from gl_array_add. Change return type to
	'int'.
	(gl_array_oset_implementation): Update.
	* lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
	gl_tree_create_empty.
	(gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
	'int'.
	* lib/gl_avltree_oset.c: Don't include xalloc.h.
	(gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
	xmalloc.
	(gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
	not xmalloc.
	(gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
	xmalloc.
	(gl_avltree_oset_implementation): Update.
	* lib/gl_rbtree_oset.c: Don't include xalloc.h.
	(gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
	xmalloc.
	(gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
	not xmalloc.
	(gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
	xmalloc.
	(gl_rbtree_oset_implementation): Update.
	* modules/array-oset (Depends-on): Remove xalloc.
	* modules/avltree-oset (Depends-on): Likewise.
	* modules/rbtree-oset (Depends-on): Likewise.
	* tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
	* tests/test-avltree_oset.c: Likewise.
	* tests/test-rbtree_oset.c: Likewise.
	* lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
	* modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
	* modules/rbtree-oset-tests (Makefile.am): Likewise.
	* NEWS: Mention the change.

2009-12-05  Alfred M. Szmidt  <ams@gnu.org>

	maint.mk: allow a project to override release-prep commands
	* top/maint.mk (alpha, beta, stable): Move release-preparatory
	commands into a new rule.
	(release-prep): New rule.
	(release-prep-hook): New overridable variable.

2009-12-13  Bruno Haible  <bruno@clisp.org>

	* lib/localcharset.c (locale_charset): Fix comment about use of GetACP.

2009-12-13  Jim Meyering  <meyering@redhat.com>

	maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
	* top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.

2009-12-12  Bruno Haible  <bruno@clisp.org>

	duplocale: Tweak.
	* lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.

2009-12-12  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (strtoll.c): tab changes, no more sync.

2009-12-12  Bruno Haible  <bruno@clisp.org>

	* m4/po.m4: Undo incorrect untabification.

2009-12-12  Bruno Haible  <bruno@clisp.org>

	c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
	* modules/c-strtod (Depends-on): Add locale.
	* modules/c-strtold (Depends-on): Likewise.

2009-12-12  Bruno Haible  <bruno@clisp.org>

	* lib/localcharset.c (locale_charset): Add comment about use of GetACP.

2009-12-11  Eric Blake  <ebb9@byu.net>

	setenv: relax requirement in light of POSIX ruling
	* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
	not NULL.
	* tests/test-setenv.c (main): Relax test.
	* tests/test-unsetenv.c (main): Likewise.
	* doc/posix-functions/setenv.texi (setenv): Document this.
	* doc/posix-functions/unsetenv.texi (unsetenv): Likewise.

2009-12-11  Bruno Haible  <bruno@clisp.org>

	New module 'fd-safer-flag'.
	* lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
	* lib/dup-safer.c (dup_safer_flag): Remove function.
	* lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
	* lib/fd-safer.c (fd_safer_flag): Remove function.
	* lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
	* modules/cloexec (configure.ac): Drop indicator macro.
	* modules/fd-safer-flag: New file.
	* modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
	* modules/stdlib-safer (Depends-on): Add fd-safer-flag.
	* modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.

2009-12-11  Bruno Haible  <bruno@clisp.org>

	Tests for module 'nl_langinfo'.
	* modules/nl_langinfo-tests: New file.
	* tests/test-nl_langinfo.sh: New file.
	* tests/test-nl_langinfo.c: New file.

	New module 'nl_langinfo'.
	* lib/nl_langinfo.c: New file.
	* m4/nl_langinfo.m4: New file.
	* modules/nl_langinfo: New file.
	* doc/posix-functions/nl_langinfo.texi: Mention the new module.

2009-12-11  Bruno Haible  <bruno@clisp.org>

	Tests for module 'langinfo'.
	* modules/langinfo-tests: New file.
	* tests/test-langinfo.c: New file.

	New module 'langinfo'.
	* lib/langinfo.in.h: New file.
	* m4/langinfo_h.m4: New file.
	* modules/langinfo: New file.
	* doc/posix-headers/langinfo.texi: Mention the new module.

2009-12-11  Bruno Haible  <bruno@clisp.org>

	* lib/config.charset: Untabify.

2009-12-11  Bruno Haible  <bruno@clisp.org>

	* modules/unistd-safer (configure.ac): Drop indicator macro.

2009-12-11  Bruno Haible  <bruno@clisp.org>

	Move pipe2-safer code to its own file.
	* lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
	* lib/pipe-safer.c (pipe2_safer): Remove function.
	* modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
	(Makefile.am): Add it to lib_SOURCES.

2009-12-10  Bruno Haible  <bruno@clisp.org>

	* lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.

2009-12-10  Bruno Haible  <bruno@clisp.org>

	Declare which arguments expect non-NULL values, for GCC and clang.
	* build-aux/arg-nonnull.h: New file.
	* modules/arg-nonnull: New file.
	* lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
	(inet_ntop, inet_pton): Use it.
	* lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
	(closedir, dirfd, opendir, scandir, alphasort): Use it.
	* lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
	(open, openat): Use it.
	* lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
	(fnmatch): Use it.
	* lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
	(getopt, getopt_long, getopt_long_only): Use it.
	* lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
	* lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
	Use it.
	* lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
	(iconv_open): Use it.
	* lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
	(strtoimax, strtoumax): Use it.
	* lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
	(duplocale): Use it.
	* lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
	(frexp, frexpl): Use it.
	* lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
	(getaddrinfo, freeaddrinfo, getnameinfo): Use it.
	* lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
	(tsearch, tfind, tdelete, twalk): Use it.
	* lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
	(sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
	sigpending): Use it.
	* lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
	(posix_spawn, posix_spawnp, posix_spawnattr_init,
	posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
	posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
	posix_spawnattr_setsigmask, posix_spawnattr_getflags,
	posix_spawnattr_setflags, posix_spawnattr_getpgroup,
	posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
	posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
	posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
	posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
	posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
	Use it.
	* lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
	(dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
	rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
	obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
	rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
	vfprintf, vprintf, vsnprintf, vsprintf): Use it.
	* lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
	(atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
	mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
	setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
	strtoull, unsetenv): Use it.
	* lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
	(memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
	strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
	strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
	mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
	mbsspn, mbssep, mbstok_r, strverscmp): Use it.
	* lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
	(strcasecmp, strncasecmp): Use it.
	* lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
	(rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
	rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
	rpl_setsockopt): Use it.
	* lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
	(fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
	mkfifoat, mknod, mknodat, stat, utimensat): Use it.
	* lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
	(gettimeofday): Use it.
	* lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
	(times): Use it.
	* lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
	(uname): Use it.
	* lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
	(nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
	* lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
	(chown, euidaccess, faccessat, _gl_register_fd, fchownat,
	getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
	pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
	unlinkat, write): Use it.
	* lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
	(mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
	* lib/argv-iter.h: Include arg-nonnull.h.
	(_ATTRIBUTE_NONNULL_): Remove macro.
	(argv_iter_init_argv, argv_iter_init_stream, argv_iter,
	argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
	* lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
	optimization.
	* lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
	* lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
	* lib/glob.c (_GL_ARG_NONNULL): Likewise.
	* lib/random_r.c (_GL_ARG_NONNULL): Likewise.
	* lib/setenv.c (_GL_ARG_NONNULL): Likewise.
	* lib/strtod.c (_GL_ARG_NONNULL): Likewise.
	* lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
	* lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
	* modules/arpa_inet (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
	* modules/dirent (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into dirent.h.
	* modules/fcntl-h (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into fcntl.h.
	* modules/fnmatch (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into fnmatch.h.
	* modules/getopt-posix (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into getopt.h.
	* modules/glob (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into glob.h.
	* modules/iconv_open (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into iconv.h.
	* modules/inttypes (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into inttypes.h.
	* modules/locale (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into locale.h.
	* modules/math (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into math.h.
	* modules/netdb (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into netdb.h.
	* modules/search (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into search.h.
	* modules/signal (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into signal.h.
	* modules/spawn (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into spawn.h.
	* modules/stdio (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into stdio.h.
	* modules/stdlib (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into stdlib.h.
	* modules/string (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into string.h.
	* modules/strings (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into strings.h.
	* modules/sys_socket (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into sys/socket.h.
	* modules/sys_stat (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into sys/stat.h.
	* modules/sys_time (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into sys/time.h.
	* modules/sys_times (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into sys/times.h.
	* modules/sys_utsname (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
	* modules/time (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into time.h.
	* modules/unistd (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into unistd.h.
	* modules/wchar (Depends-on): Add arg-nonnull.
	(Makefile.am): Insert arg-nonnull.h into wchar.h.
	* modules/argv-iter (Depends-on): Add arg-nonnull.
	* tests/test-canonicalize.c (null_ptr): New function.
	(main): Use it.
	* tests/test-canonicalize-lgpl.c (null_ptr): New function.
	(main): Use it.
	* tests/test-memmem.c (null_ptr): New function.
	(main): Use it.
	Reported by Jim Meyering.

2009-12-10  Bruno Haible  <bruno@clisp.org>

	Use spaces for indentation, not tabs.
	* lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
	* m4/*.m4: Untabify.
	* build-aux/*.h: Untabify.
	* tests/**/*.[hc]: Untabify.
	* README: New section "Indent with spaces, not TABs", based on
	coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
	* NEWS: Mention the change.

2009-12-10  Bruno Haible  <bruno@clisp.org>

	pty test: Fix link error.
	* modules/pty-tests (Makefile.am): Add the default LDADD value to
	test_pty_LDADD.

2009-12-07  Simon Josefsson  <simon@josefsson.org>

	* modules/pty: New file.
	* modules/pty-tests: New file.
	* m4/pty.m4: New file.
	* tests/test-pty.c: New file.
	* doc/glibc-headers/pty.texi: Modified.
	* doc/glibc-functions/forkpty.texi: Modified.
	* doc/glibc-functions/openpty.texi: Modified.

2009-12-10  Bruno Haible  <bruno@clisp.org>

	Avoid syntax error in C++ mode.
	* lib/stdio.in.h (rename): Don't use parameter name 'new'.

2009-12-10  Bruno Haible  <bruno@clisp.org>

	Use sed with option -e.
	* gnulib-tool (func_version, func_emit_copyright_notice,
	func_emit_initmacro_end, func_import, func_create_testdir): Pass
	option -e to sed.
	* modules/link-warning (Makefile.am): Likewise.

2009-12-10  Jim Meyering  <meyering@redhat.com>

	mgetgroups: do not write bytes beyond end of malloc'd buffer
	* lib/mgetgroups.c: Fix an off-by-one error.  When we have no
	username, we call getgroups with a one-element-shorter buffer,
	but still told it the length was original, max_n_groups.

2009-12-09  Eric Blake  <ebb9@byu.net>

	cloexec: relax license
	* modules/cloexec (Maintainer): Add myself.
	(License): Use LGPL, not GPL.

	link-warning: optimize generation
	* modules/link-warning (Makefile.am): Reduce process usage.

2009-12-09  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
	workaround was added on 2009-11-17.

2009-12-09  Jim Meyering  <meyering@redhat.com>
	    Bruno Haible  <bruno@clisp.org>

	link-warning: Allow extra lines at the top of build-aux/link-warning.h.
	* modules/link-warning (Makefile.am): Make the comment-removing sed
	command more robust in the face of bootstrap-prepended comment lines.

2009-12-09  Bruno Haible  <bruno@clisp.org>

	* lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
	most one group.

2009-12-09  Simon Josefsson  <simon@josefsson.org>
	    Bruno Haible  <bruno@clisp.org>

	* build-aux/link-warning.h: Add copyright notice.
	* modules/link-warning (Makefile.am): Generate link-warning.h from
	build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
	* NEWS: Mention change in link-warning module.
	* modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
	* modules/dirent (Makefile.am): Add dependency to dirent.h.
	* modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
	* modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
	* modules/inttypes (Makefile.am): Add dependency to inttypes.h.
	* modules/math (Makefile.am): Add dependency to math.h.
	* modules/search (Makefile.am): Add dependency to search.h.
	* modules/signal (Makefile.am): Add dependency to signal.h.
	* modules/spawn (Makefile.am): Add dependency to spawn.h.
	* modules/stdio (Makefile.am): Add dependency to stdio.h.
	* modules/stdlib (Makefile.am): Add dependency to stdlib.h.
	* modules/string (Makefile.am): Add dependency to string.h.
	* modules/strings (Makefile.am): Add dependency to strings.h.
	* modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
	* modules/sys_select (Makefile.am): Add dependency to sys/select.h.
	* modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
	* modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
	* modules/sys_times (Makefile.am): Add dependency to sys/times.h.
	* modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
	* modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
	* modules/unistd (Makefile.am): Add dependency to unistd.h.
	* modules/wchar (Makefile.am): Add dependency to wchar.h.

2009-12-09  Bruno Haible  <bruno@clisp.org>

	fchdir: Optimize away rpl_fstat when possible.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
	REPLACE_OPEN_DIRECTORY.
	* lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.

2009-12-09  Bruno Haible  <bruno@clisp.org>

	* lib/fchdir.c: Update comment.

2009-12-09  Bruno Haible  <bruno@clisp.org>

	* lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.

2009-12-08  Eric Blake  <ebb9@byu.net>

	fchdir: avoid memory leak on re-registration.
	* lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.

2009-12-08  Jim Meyering  <meyering@redhat.com>

	init.sh: avoid Solaris 10 /bin/sh portability problem
	Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
	sourced script:
	  $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
	  $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
	  bar
	tests/init.sh relied on that, accepting a --set-path=DIR argument,
	and two tests used that idiom.
	* tests/init.sh: Update suggested usage comments.
	(path_prepend_): New function, to be used in place
	of the --src-path=DIR option.
	(setup_): Move PATH-prepending code into path_prepend_.
	* tests/test-pread.sh: Adapt to new usage.
	* tests/test-xalloc-die.sh: Likewise.

2009-12-08  Simon Josefsson  <simon@josefsson.org>

	* doc/gnulib.texi (Glibc pty.h): Add.
	* doc/glibc-functions/forkpty.texi: Add.
	* doc/glibc-functions/openpty.texi: Add.
	Suggested by Bruno Haible.

2009-12-08  Eric Blake  <ebb9@byu.net>

	fchdir: fix logic bugs
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
	* tests/test-fchdir.c (main): Enhance test.
	* lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
	is in use.

	dup2: fix logic bugs
	* lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
	REPLACE_DUP2 to decide when rpl_dup2 is needed.
	* m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
	exists.
	(gl_FUNC_DUP2): Drop unneeded AC_DEFINE.

2009-12-07  Eric Blake  <ebb9@byu.net>

	unlink: fix m4 detection
	* m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.

	unistd-safer: add unit test
	* modules/unistd-safer-tests: New file.
	* tests/test-dup-safer.c: Likewise.
	* tests/test-cloexec.c (setmode): Avoid compiler warning.
	* tests/test-dup2.c (setmode): Likewise.
	* lib/cloexec.c (dup_cloexec): Fix mingw compile error.

	cloexec: preserve text vs. binary across dup_cloexec
	* lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
	mode.
	* modules/dup2-tests (Depends-on): Add binary-io.
	* modules/cloexec-tests (Depends-on): Likewise.
	* tests/test-dup2.c (setmode, is_mode): New helpers.
	(main): Add tests that translation mode is preserved.
	* tests/test-cloexec.c (setmode, is_mode, main): Likewise.
	Reported by Bruno Haible.

	mgetgroups: reduce duplicate listings
	* lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
	resulting array.
	* tests/test-chown.h (test_chown): Simplify client.
	* tests/test-lchown.h (test_lchown): Likewise.

2009-12-06  Bruno Haible  <bruno@clisp.org>

	* lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
	value.

2009-12-06  Bruno Haible  <bruno@clisp.org>

	* lib/progname.c: Include stdio.h, stdlib.h.
	(set_program_name): Reject a NULL argument.

2009-12-05  Eric Blake  <ebb9@byu.net>

	pipe2-safer: new module
	* modules/pipe2-safer: New file.
	* lib/unistd-safer.h (pipe2_safer): New prototype.
	* lib/unistd--.h (pipe2): New wrapper.
	* lib/pipe-safer.c (pipe2_safer): New function.
	* modules/pipe (Depends-on): Add pipe2-safer.
	* lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.

	stdlib-safer: preserve cloexec flag for mkostemp[s]
	* lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
	fd_safer_flag.

	unistd-safer: allow preservation of cloexec status via flag
	* lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
	prototypes.
	* lib/dup-safer.c (dup_safer_flag): New function.
	* lib/fd-safer.c (fd_safer_flag): Likewise.
	* modules/cloexec (configure.ac): Set witness.

	test-dup2: enhance test
	* modules/dup2-tests (Depends-on): Add cloexec.
	* tests/test-dup2.c (main): Enhance test.

	cloexec: add dup_cloexec
	* lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
	header and comments.
	* lib/cloexec.c (set_cloexec_flag): Add comments.
	(dup_cloexec): New function, with mingw implementation borrowed
	from...
	* lib/w32spawn.h (dup_noinherit): ...here.
	* modules/execute (Depends-on): Add cloexec.
	* modules/pipe (Depends-on): Likewise.
	* modules/cloexec (Depends-on): Add dup2.
	* modules/cloexec-tests (Files): New file.
	* tests/test-cloexec.c: Likewise.

	test-xalloc-die: fix test for mingw
	* modules/xalloc-die-tests (Files): Add tests/init.sh.
	* tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
	directory and .exe suffix off argv[0] output.

	test-fseeko: fix test for mingw
	* tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
	than undefining fseek, so test will pass on mingw.

2009-12-05  Bruno Haible  <bruno@clisp.org>

	* lib/progname.h (set_program_name): Clarify specification.
	* lib/progname.c (set_program_name): Likewise.
	Reported by Jim Meyering.

2009-12-05  Jim Meyering  <meyering@redhat.com>

	maint.mk: backslash-escape parens in default regexp
	* top/maint.mk (news-check-regexp): Now that we're using grep -E,
	backslash-escape the literal parentheses.

	maint.mk: news-date-check: use grep -E
	* top/maint.mk (today): Define a Make variable, not a...
	(news-date-check): ...shell variable.
	(news-date-regexp): Use the Make variable.
	Use grep's -E option.  Change the failing diagnostic to mention
	the variable, $(news-date-regexp).

2009-12-04  Alfred M. Szmidt  <ams@gnu.org>

	maintainer-makefile: allow customization of NEWS entry format
	* top/maint.mk (news-date-regexp): New overridable variable.
	(news-date-check): Use it.

2009-12-04  Eric Blake  <ebb9@byu.net>

	mgetgroups: add xgetgroups, and avoid ENOSYS failures
	* lib/mgetgroups.h (xgetgroups): New prototype.
	* lib/mgetgroups.c (xgetgroups): New wrapper.
	(mgetgroups): Handle ENOSYS.
	* modules/mgetgroups (Depends-on): Add realloc.
	Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.

	mgetgroups: avoid argument promotion issues with -1
	* lib/mgetgroups.c (mgetgroups): A cast is required when checking
	for invalid gid_t.
	* tests/test-chown.h (getegid, test_chown): Likewise.
	* tests/test-lchown.h (getegid, test_lchown): Likewise.

2009-12-03  Paolo Bonzini  <bonzini@gnu.org>

	exclude: Fix header file problems.
	* lib/exclude.h: Add multiple inclusion guards and include stdbool.h.

2009-12-01  Jim Meyering  <meyering@redhat.com>

	fts: fts_open: do not let an empty string cause immediate failure
	This is required in support of GNU rm, for which the command
	"rm A '' B" must process and remove both A and B, in spite of
	the empty string argument.
	* lib/fts.c (fts_open): Do not let the presence of an empty string
	cause fts_open to fail immediately.  Most fts-using tools must be
	able to process all arguments, in order, and can be expected to
	diagnose such arguments themselves.

2009-11-30  Eric Blake  <ebb9@byu.net>

	utimens: fix compilation error
	* lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
	Declare variable at right scope.

2009-11-29  Jim Meyering  <meyering@redhat.com>

	bootstrap: handle perl-5.11's changed --version output
	* build-aux/bootstrap (get_version): Handle perl separately,
	since perl-5.11's --version output is different.

2009-11-28  Jim Meyering  <meyering@redhat.com>

	userspec: depend on the inttostr module, too
	* modules/userspec (Depends-on): Add inttostr.

	userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
	* lib/userspec.c (parse_with_separator): Do not accept a user ID
	number of MAXUID when it evaluates to (uid_t) -1.
	Likewise for group ID.  Reported by Matt McCutchen in
	<http://savannah.gnu.org/bugs/?28113>

	userspec: reformat to use spaces, not TABs
	* lib/userspec.c: Expand TABs to spaces.
	Add Emacs' "indent-tabs-mode: nil" hint.

2009-11-27  Eric Blake  <ebb9@byu.net>

	getopt-gnu: flush out another BSD bug
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
	* tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
	flush out BSD bug.
	* tests/test-getopt.h (test_getopt): End lists with NULL.
	* tests/test-getopt_long.h (test_getopt_long): Likewise.
	(test_getopt_long_posix): Enhance test.
	* modules/getopt-posix-tests (Depends-on): Add stdbool.
	* doc/glibc-functions/getopt_long.texi (getopt_long): Mention
	getopt-gnu.
	* doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
	Likewise.

2009-11-27  Simon Josefsson  <simon@josefsson.org>

	* modules/idpriv-droptemp-tests (Notice): Fix text.

2009-11-27  Jim Meyering  <meyering@redhat.com>

	test-xalloc-die: avoid spurious failure due to libtool argv difference
	In a libtool-enabled project, this test would fail due to a difference
	in the emitted program name, e.g.,
	-test-xalloc-die: memory exhausted
	+/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
	Use program to avoid that.
	* modules/xalloc-die-tests (Depends-on): Add progname.
	* tests/test-xalloc-die.c: Include progname.h".
	(program_name): Remove decl.
	(main): Call set_program_name.
	* tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.

2009-11-26  Richard Jones  <rjones@redhat.com>

	w32sock: leave win32 error in place.
	* lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.

2009-11-26  Eric Blake  <ebb9@byu.net>

	init.sh: suggest to use skip_ and fail_ functions in comments
	* tests/init.sh: Add a sentence.

2009-11-25  Bruno Haible  <bruno@clisp.org>

	init.sh: add documentation in comments
	* tests/init.sh: Add some developer and user documentation.

2009-11-26  Jim Meyering  <meyering@redhat.com>

	init.sh: accommodate even those who specify bogus srcdir manually
	* tests/init.sh: Normally, srcdir is guaranteed by automake and
	configure-time tests to be sanitized, so that there is no need to
	use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
	(with no double quotes) suffices.  However, since tests may be
	invoked manually, and since you may explicitly set srcdir to the
	name of a directory containing spaces, do quote its uses here.
	* tests/test-pread.sh: Likewise.
	Suggested by Bruno Haible.

	test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
	* tests/test-pread.sh: Write no data into the pipe, because
	test-pread actually reads none.  This avoids a diagnostic,
	"bash: echo: write error: Broken pipe", that arises in the unusual
	event something is ignoring SIGPIPE, and might be interpreted
	as some sort of failure.  Reported by Bruno Haible.

2009-11-25  Jim Meyering  <meyering@redhat.com>

	test-pread: cover failure with ESPIPE and EINVAL
	* tests/test-pread.c (main): Test for failure, too.
	* tests/test-pread.sh: Invoke with stdin on a pipe.
	Suggested by Eric Blake.

	pread: improvement and fix
	* modules/pread (Depends-on): Depend on lseek, for portability to
	e.g., mingw.  Suggested by Eric Blake.
	* lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.

	unistd.in.h: correct declaration of pread
	* lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
	Reported by Richard W.M. Jones.

	test-pread.sh: distribute the test script
	* modules/pread-tests (Files): Include test-pread.sh.

	test-pread.sh: clean up
	* tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
	* modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
	That is unnecessary, since it's always ".".
	Suggestion from Eric Blake.

	test-pread.sh: make executable
	* tests/test-pread.sh: Set executable bit.
	Reported by Eric Blake.

	correct typo in test-pread.sh
	* tests/test-pread.sh: Add #! line.

	test pread
	* tests/test-pread.c: New file.
	* tests/test-pread.sh: Likewise.
	* modules/pread-tests: Likewise.

	pread: new module
	* modules/pread: New file.
	* lib/unistd.in.h (pread): Define/declare.
	* lib/pread.c (pread): New file.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
	* modules/unistd (Makefile.am): Substitute witnesses.
	* doc/posix-functions/pread.texi (pread): Update.
	* MODULES.html.sh: Add pread.

2009-11-25  Jim Meyering  <meyering@redhat.com>

	tests/init.sh: new file to be used via most *.sh tests
	* tests/init.sh: New file.

2009-11-25  Eric Blake  <ebb9@byu.net>

	utimens: work around older Linux failure with symlinks
	* lib/utimens.c (lutimensat_works_really): New variable.
	(fdutimens, lutimens): Use it to manage kernels that support
	nanosecond times on files, but not on symlinks.
	Reported by Ondřej Vašík.

	utimes: fix configure grammar
	* m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.

2009-11-25  Paolo Bonzini  <bonzini@gnu.org>

	regex: Fix fastmap for multibyte character ranges.
	* lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
	characters when a multibyte character range is included.

2009-11-22  Andy Wingo  <wingo@pobox.com>

	version-etc: work also with AM_INIT_AUTOMAKE's no-define option
	* lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.

2009-11-24  Bruno Haible  <bruno@clisp.org>

	doc: Most *_l functions exist in MacOS X 10.5.
	* doc/posix-functions/duplocale.texi: Update platforms list.
	* doc/posix-functions/freelocale.texi: Likewise.
	* doc/posix-functions/newlocale.texi: Likewise.
	* doc/posix-functions/uselocale.texi: Likewise.
	* doc/posix-functions/isalnum_l.texi: Likewise.
	* doc/posix-functions/isalpha_l.texi: Likewise.
	* doc/posix-functions/isblank_l.texi: Likewise.
	* doc/posix-functions/iscntrl_l.texi: Likewise.
	* doc/posix-functions/isdigit_l.texi: Likewise.
	* doc/posix-functions/isgraph_l.texi: Likewise.
	* doc/posix-functions/islower_l.texi: Likewise.
	* doc/posix-functions/isprint_l.texi: Likewise.
	* doc/posix-functions/ispunct_l.texi: Likewise.
	* doc/posix-functions/isspace_l.texi: Likewise.
	* doc/posix-functions/isupper_l.texi: Likewise.
	* doc/posix-functions/iswalnum_l.texi: Likewise.
	* doc/posix-functions/iswalpha_l.texi: Likewise.
	* doc/posix-functions/iswblank_l.texi: Likewise.
	* doc/posix-functions/iswcntrl_l.texi: Likewise.
	* doc/posix-functions/iswctype_l.texi: Likewise.
	* doc/posix-functions/iswdigit_l.texi: Likewise.
	* doc/posix-functions/iswgraph_l.texi: Likewise.
	* doc/posix-functions/iswlower_l.texi: Likewise.
	* doc/posix-functions/iswprint_l.texi: Likewise.
	* doc/posix-functions/iswpunct_l.texi: Likewise.
	* doc/posix-functions/iswspace_l.texi: Likewise.
	* doc/posix-functions/iswupper_l.texi: Likewise.
	* doc/posix-functions/iswxdigit_l.texi: Likewise.
	* doc/posix-functions/isxdigit_l.texi: Likewise.
	* doc/posix-functions/nl_langinfo_l.texi: Likewise.
	* doc/posix-functions/strcasecmp_l.texi: Likewise.
	* doc/posix-functions/strcoll_l.texi: Likewise.
	* doc/posix-functions/strfmon_l.texi: Likewise.
	* doc/posix-functions/strftime_l.texi: Likewise.
	* doc/posix-functions/strncasecmp_l.texi: Likewise.
	* doc/posix-functions/strxfrm_l.texi: Likewise.
	* doc/posix-functions/tolower_l.texi: Likewise.
	* doc/posix-functions/toupper_l.texi: Likewise.
	* doc/posix-functions/towctrans_l.texi: Likewise.
	* doc/posix-functions/towlower_l.texi: Likewise.
	* doc/posix-functions/towupper_l.texi: Likewise.
	* doc/posix-functions/wcscoll_l.texi: Likewise.
	* doc/posix-functions/wcsxfrm_l.texi: Likewise.
	* doc/posix-functions/wctrans_l.texi: Likewise.
	* doc/posix-functions/wctype_l.texi: Likewise.
	* doc/glibc-functions/strptime_l.texi: Likewise.
	* doc/glibc-functions/strtod_l.texi: Likewise.
	* doc/glibc-functions/strtof_l.texi: Likewise.
	* doc/glibc-functions/strtol_l.texi: Likewise.
	* doc/glibc-functions/strtold_l.texi: Likewise.
	* doc/glibc-functions/strtoll_l.texi: Likewise.
	* doc/glibc-functions/strtoul_l.texi: Likewise.
	* doc/glibc-functions/strtoull_l.texi: Likewise.
	* doc/glibc-functions/wcsftime_l.texi: Likewise.
	* doc/glibc-functions/wcstod_l.texi: Likewise.
	* doc/glibc-functions/wcstof_l.texi: Likewise.
	* doc/glibc-functions/wcstol_l.texi: Likewise.
	* doc/glibc-functions/wcstold_l.texi: Likewise.
	* doc/glibc-functions/wcstoll_l.texi: Likewise.
	* doc/glibc-functions/wcstoul_l.texi: Likewise.
	* doc/glibc-functions/wcstoull_l.texi: Likewise.

2009-11-24  Bruno Haible  <bruno@clisp.org>

	duplocale: Fix logic bug.
	* lib/duplocale.c: Don't include <langinfo.h>.
	(_NL_LOCALE_NAME): Remove macro.
	(rpl_duplocale): Use setlocale instead of nl_langinfo.
	* tests/test-duplocale.c (main): Also test duplocale after uselocale.

2009-11-23  Jim Meyering  <meyering@redhat.com>

	test-update-copyright: don't hard-code /usr/bin/perl
	* tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
	perl to print the current year.  Gilles Espinasse reported that
	the replaced use of perl was hard-coded as /usr/bin/perl.

2009-11-23  Bruno Haible  <bruno@clisp.org>

	duplocale: Add support for glibc 2.3.x.
	* lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.

2009-11-22  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Tiny optimization.
	* lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
	MacOS X.

2009-11-22  Bruno Haible  <bruno@clisp.org>

	Tests for module 'duplocale'.
	* modules/duplocale-tests: New file.
	* tests/test-duplocale.c: New file.

	New module 'duplocale'.
	* m4/duplocale.m4: New file.
	* lib/locale.in.h (duplocale): New declaration.
	* lib/duplocale.c: New file.
	* m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
	gl_LOCALE_H_DEFAULTS): New macros.
	(gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
	gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
	* modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
	REPLACE_DUPLOCALE.
	* modules/duplocale: New file.
	* doc/posix-functions/duplocale.texi: Mention the glibc bug.

2009-11-22  Bruno Haible  <bruno@clisp.org>

	* modules/locale-tests (configure.ac): Test for newlocale function.
	* tests/test-locale.c: When the system has extended locale functions,
	verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.

	locale: Make locale_t available when possible.
	* lib/locale.in.h: Include <xlocale.h> when it exists.
	* m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
	replace <locale.h> if it does not define locale_t but <xlocale.h> does.
	* modules/locale (Depends-on): Add extensions.
	(Makefile.am): Also substitute HAVE_XLOCALE_H.
	* doc/posix-headers/locale.texi: Document the problem with locale_t.

2009-11-22  Bruno Haible  <bruno@clisp.org>

	Add comments.
	* m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
	invocation.
	* m4/iconv_h.m4 (gl_ICONV_H): Likewise.
	* m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
	* m4/wchar.m4 (gl_WCHAR_H): Likewise.

2009-11-22  Bruno Haible  <bruno@clisp.org>

	error: account for the possibility of freopen (stdout).
	* lib/error.c: Include <unistd.h>.
	(flush_stdout): New function, extracted from error and error_at_line.
	Determine stdout's fd dynamically.
	(error, error_at_line): Invoke flush_stdout.
	* m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
	* modules/error (Depends-on): Add unistd.

2009-11-22  Bruno Haible  <bruno@clisp.org>

	diffseq: Add comment.
	* lib/diffseq.h (IF_LINT): Add comment about pitfall.

2009-11-22  Jim Meyering  <meyering@redhat.com>

	c-stack: avoid defining an unused static function
	* lib/c-stack.c (find_stack_direction): Do not define this function
	when it will not be used.

	diffseq: avoid spurious gcc warnings
	* lib/diffseq.h (IF_LINT2): Define.
	(compareseq): Use it to initialize two members of "part".
	This avoids two used-uninitialized warnings.

2009-11-21  Jim Meyering  <meyering@redhat.com>

	c-stack: avoid "ignoring return value of `write'" warning
	* lib/c-stack.c: Include "ignore-value.h".
	(die): Explicitly ignore each write return value.
	* modules/c-stack (Depends-on): Add ignore-value.

2009-11-21  Bruno Haible  <bruno@clisp.org>

	diffseq: reduce scope of variable 'best'.
	* lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
	variable, earlier used for two different purposes.

2009-11-21  Jim Meyering  <meyering@redhat.com>

	diffseq: remove useless assignment to "best"
	* lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
	assignment.  At that point "best" is already guaranteed to be zero.

2009-11-20  Eric Blake  <ebb9@byu.net>

	build: mention ftp redirector in release announcements
	* top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
	values that used to come from cfg.mk; mention FTP redirect URL.
	* build-aux/announce-gen: Mention the mirror list.
	Suggested by Karl Berry.

	nanosleep: improve port to mingw
	* lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
	LIB_NANOSLEEP, but only when needed.
	* modules/select (Link): Document LIBSOCKET.
	* m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
	enough.

	nanosleep: work around cygwin bug
	* lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
	Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
	bug.
	(getnow): Delete, not needed.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
	LIB_CLOCK_GETTIME.
	* modules/nanosleep (Depends-on): Add intprops and verify.  Drop
	clock-time, gettime.
	* doc/posix-functions/nanosleep.texi (nanosleep): Document the
	bug.
	* modules/nanosleep-tests: New test.
	* tests/test-nanosleep.c: New file.

	sleep: work around cygwin bug
	* lib/sleep.c (rpl_sleep): Work around the bug.
	* m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
	(gl_PREREQ_SLEEP): Delete unused macro.
	* modules/sleep (Depends-on): Add verify.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
	* modules/unistd (Makefile.am): Substitute witness.
	* lib/unistd.in.h (sleep): Update prototype.
	* doc/posix-functions/sleep.texi (sleep): Document the bug.
	* tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
	* modules/sleep-tests (Depends-on): Check for alarm.

2009-11-20  Jim Meyering  <meyering@redhat.com>

	maint.mk: improve sc_prohibit_magic_number_exit
	* top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
	so it does not match uses like System.exit(1).
	Add comments showing how to correct all offenders.

2009-11-19  Eric Blake  <ebb9@byu.net>

	xalloc-die-tests: add missing library
	* modules/xalloc-die-tests (Makefile.am): Add LDADD line.

	test-xvasprintf: silence compiler warnings
	* tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
	empty string from gcc.

2009-11-19  Jim Meyering  <meyering@redhat.com>

	xfreopen: new module, from coreutils
	* modules/xfreopen: New module.
	* lib/xfreopen.c: New file.
	* lib/xfreopen.h: New file.
	* MODULES.html.sh (File stream based Input/Output"): Add it.

2009-11-19  Eric Blake  <ebb9@byu.net>

	manywarnings: depend on warnings
	* modules/manywarnings (Depends-on): Add warnings.

	build: avoid compiler warnings
	* lib/select.c (rpl_select): Delete unused variable.
	* lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.

2009-11-18  Eric Blake  <ebb9@byu.net>

	tests: avoid false negative with --with-packager
	* tests/test-version-etc.sh: Discard packager information.
	* tests/test-argp-version-etc-1.sh: Likewise.
	Reported by Mike Frysinger.

	utimens: fix regression on Solaris
	* m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
	* lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
	can only change fd timestamps via futimesat.  Instead, use an
	additional witness macro to avoid BSD bug.
	Reported by Jim Meyering.

2009-11-17  Eric Blake  <ebb9@byu.net>

	usleep: use it to simplify tests
	* modules/stat-time-tests (Depends-on): Add usleep.
	(configure.ac): Drop usleep check.
	* modules/chown-tests (Depends-on, configure.ac): Likewise.
	* modules/lchown-tests (Depends-on, configure.ac): Likewise.
	* modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
	* modules/futimens-tests (Depends-on, configure.ac): Likewise.
	* modules/openat-tests (Depends-on, configure.ac): Likewise.
	* modules/utimens-tests (Depends-on, configure.ac): Likewise.
	* modules/utimensat-tests (Depends-on, configure.ac): Likewise.
	* modules/pipe-filter-gi-tests (Depends-on, configure.ac):
	Likewise.
	* tests/test-chown.h (nap): Rely on nicer usleep semantics.
	* tests/test-lchown.h (nap): Likewise.
	* tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
	* tests/test-stat-time.c (nap): Likewise.
	* tests/test-utimens-common.h (nap): Update comments.

	usleep: new module
	* modules/usleep: New file.
	* m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
	* lib/usleep.c (usleep): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
	* modules/unistd (Makefile.am): Substitute witnesses.
	* lib/unistd.in.h (usleep): Add declaration.
	* doc/pastposix-functions/usleep.texi (usleep): Document this.
	* MODULES.html.sh (Date and time): Likewise.
	* modules/usleep-tests (Depends-on): New test.
	* tests/test-usleep.c: New file.

	chown: work around OpenBSD bug
	* lib/chown.c (rpl_chown): Work around the bug.
	* lib/lchown.c (rpl_lchown): Attempt to do likewise.
	* m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
	* m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
	* modules/chown (Depends-on): Add stdbool.
	* modules/lchown (Depends-on): Likewise.
	* doc/posix-functions/chown.texi (chown): Document the bug.
	* doc/posix-functions/lchown.texi (lchown): Likewise.
	* tests/test-lchown.h (test_chown): Relax test.

	mkstemp: avoid conflict with C++ keyword template
	* lib/mkdtemp.c (mkdtemp): Change spelling of template.
	* lib/mkostemp.c (mkostemp): Likewise.
	* lib/mkostemps.c (mkostemps): Likewise.
	* lib/mkstemp.c (mkstemp): Likewise.
	* lib/mkstemps.c (mkstemps): Likewise.

	xalloc-die-tests: optimize
	* tests/test-xalloc-die.sh: Reduce number of processes.

2009-11-17  Simon Josefsson  <simon@josefsson.org>

	* gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
	patch from ludo@gnu.org (Ludovic Courtès).

2009-11-17  Jim Meyering  <meyering@redhat.com>

	version-etc: use proper license string
	* modules/version-etc (License): Use LGPL, not LGPLv3+.
	* modules/version-etc-fsf: Likewise.

2009-11-17  Simon Josefsson  <simon@josefsson.org>

	* tests/test-xalloc-die.sh: Add license.  Check that nothing is
	printed to stdout.  Deal with EOL differences.

2009-11-17  Eric Blake  <ebb9@byu.net>

	unsetenv: work around Solaris bug
	* m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
	* lib/unsetenv.c (rpl_unsetenv): Work around it.
	Reported by Jim Meyering.

	vasnprintf: avoid compiler warnings
	* lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
	variables.
	* lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.

2009-11-17  Simon Josefsson  <simon@josefsson.org>

	* modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
	settings since xalloc-die is no longer the self test,
	xalloc-die.sh is.

2009-11-17  Jim Meyering  <meyering@redhat.com>

	test-xalloc-die.sh: make the code agree with the commit log
	* tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
	at the end, just in case you happen to have a test-xalloc-die
	program in some other PATH directory.

	test-xalloc-die.sh: fix a portability bug
	* tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
	Instead, set PATH to start with "." and invoke via "test-xalloc-die".
	Otherwise, argv[0] (as often seen in diagnostics) would be too
	system-dependent, sometimes with, and sometimes without the leading "./".

	version-etc-fsf: relax license to LGPLv3+
	* modules/version-etc-fsf (License): Relax license.

2009-11-16  Eric Blake  <ebb9@byu.net>

	xalloc-die-tests: avoid printing null pointer
	* modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
	shell script.
	* tests/test-xalloc-die.c (program_name): Declare.
	* tests/test-xalloc-die.sh (tmpfiles): New file.

	setenv, unsetenv: work around various bugs
	* lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
	(setenv) [HAVE_SETENV]: Work around bugs.
	* lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
	* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
	for bugs.
	(gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
	* m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
	* modules/stdlib (Makefile.am): Update substitutions.
	* lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
	* doc/posix-functions/setenv.texi (setenv): Document the bugs.
	* doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
	* modules/setenv-tests: New test.
	* modules/unsetenv-tests: Likewise.
	* tests/test-setenv.c: New file.
	* tests/test-unsetenv.c: Likewise.

2009-11-16  Jim Meyering  <meyering@redhat.com>

	version-etc: relax license to LGPLv3+
	* modules/version-etc (License): Relax license.

	better AC_REQUIRE expanded-before-required-warning avoidance
	* m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
	with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
	Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
	which is no longer needed.

2009-11-16  Eric Blake  <ebb9@byu.net>

	test-freading: clean up temporary file
	* tests/test-freading.c (main): Remove file on success, and use
	ASSERT more liberally.
	Reported by Jim Meyering.

2009-11-16  Jim Meyering  <meyering@redhat.com>

	avoid new AC_REQUIRE expanded-before-required warnings
	* modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
	merely using it.
	* modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
	* modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.

2009-11-15  Simon Josefsson  <simon@josefsson.org>

	* tests/test-xalloc-die.c: New file.
	* modules/xalloc-die-tests: New file.
	* gnulib-tool (func_emit_tests_Makefile_am): Also initialize
	XFAIL_TESTS so it can be appended by modules.

2009-11-15  Simon Josefsson  <simon@josefsson.org>

	* lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
	by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.

2009-11-14  Eric Blake  <ebb9@byu.net>

	fnmatch: avoid compiler warning
	* lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
	to silence compiler warning about mismatch signedness in ?:.
	Reported by Robert Millan.

	intprops: add double-inclusion guard
	* lib/intprops.h: Allow idempotent includes.
	Suggested by Bruce Korb.

	openat: detect Solaris fchownat bug
	* lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
	penalizing glibc chownat when only lchownat is broken.
	* m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
	trailing slash bugs.
	* doc/posix-functions/fchownat.texi (fchownat): Document the bug.
	* modules/openat-tests (Files): Include more files.
	(Depends-on): Add mgetgroups, sleep, stat-time.
	(configure.ac): Add additional checks.
	(Makefile.am): Build new test.
	* tests/test-fchownat.c: New file.

	lchown: detect Solaris and FreeBSD bug
	* lib/lchown.c (rpl_lchown): Work around bug.
	* m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
	* modules/unistd (Makefile.am): Populate it.
	* lib/unistd.in.h (lchown): Update declaration.
	* doc/posix-functions/lchown.texi (lchown): Document the bug.
	* modules/lchown-tests: New file.
	* tests/test-lchown.h (test_lchown): Likewise.
	* tests/test-lchown.c (main): Likewise.

	chown: detect Solaris and FreeBSD bug
	* lib/chown.c (rpl_chown): Work around bug.
	* m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
	(gl_PREREQ_CHOWN): Delete.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
	* modules/unistd (Makefile.am): Populate it.
	* lib/unistd.in.h (chown): Update declaration.
	* lib/lchown.c (chown): Update client.
	* modules/lchown (Depends-on): Add lstat.
	* doc/posix-functions/chown.texi (chown): Document the bug.
	* doc/posix-functions/getgroups.texi (getgroups): Document
	getgroups pitfall.
	* modules/chown-tests: New file.
	* tests/test-chown.h (test_chown): Likewise.
	* tests/test-chown.c (main): Likewise.

2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)

	gnulib-tool: correctly detect absence of m4 directories
	* gnulib-tool: Avoid extra newline on data passed to wc -l.

2009-11-14  Jim Meyering  <meyering@redhat.com>

	maint.mk: Prohibit inclusion of "xalloc.h" without use.
	* top/maint.mk (sc_prohibit_close_stream_without_use): New rule.

2009-11-14  John W. Eaton  <jwe@gnu.org>

	strftime.h: wrap function declaration in extern "C" block
	* lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.

2009-11-13  Eric Blake  <ebb9@byu.net>

	getgroups: avoid compiler warning
	* lib/getgroups.c (rpl_getgroups): Delete shadowed variable.

	getgroups: work around FreeBSD bug
	* lib/getgroups.c (rpl_getgroups): Work around the bug.
	* m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
	* doc/posix-functions/getgroups.texi (getgroups): Document it.
	* tests/test-getgroups.c (main): Fix buffer overrun.

	getgroups: avoid compilation failure
	* lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
	* modules/getgroups (Depends-on): Add stdint.

2009-11-13  Jim Meyering  <meyering@redhat.com>

	test-getgroups: avoid compilation failure
	* tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.

2009-11-13  Eric Blake  <ebb9@byu.net>

	mgetgroups: new module, taken from coreutils
	* modules/mgetgroups: New file.
	* lib/mgetgroups.h: Likewise.
	* lib/mgetgroups.c (mgetgroups): Likewise.
	* m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
	* MODULES.html.sh (Users and groups): Mention it.

	getgroups: don't expose GETGROUPS_T to user
	* lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
	an element at a time if GETGROUPS_T is wrong size.
	* lib/getugroups.h (getugroups): Change signature.
	* lib/unistd.in.h (getgroups): Likewise.
	* m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
	signature needs fixing.
	* m4/getugroups.m4 (gl_GETUGROUPS): No longer need
	AC_TYPE_GETGROUPS.
	* modules/group-member (Depends-on): Add getgroups.
	* lib/group-member.c (group_info, get_group_info): Use gid_t.
	(group_member): Rely on getgroups replacement.
	* lib/getugroups.c (getugroups): Use gid_t.
	* tests/test-getgroups.c (main): Likewise.
	* NEWS: Mention the signature change.
	* doc/posix-functions/getgroups.texi (getgroups): Mention the
	problem with signature.
	* doc/glibc-functions/setgroups.texi (setgroups): Mention that
	GETGROUPS_T is still useful for setgroups.

	getgroups, getugroups: provide stubs for mingw
	* lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
	* lib/getugroups.c (getugroups): Likewise.
	* m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
	function.  Modernize replacement scheme.
	(gl_PREREQ_GETGROUPS): Delete.
	* m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
	* modules/getgroups (configure.ac): Declare witness.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
	* modules/unistd (Depends-on): Substitute witness.
	* lib/unistd.in.h (getgroups): Declare replacement.

	getgroups: avoid calling exit
	* modules/getgroups (Depends-on): Add malloc-posix and unistd,
	drop xalloc.
	* modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
	dependencies.
	* lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
	exiting, in the rare case of malloc failure.

	getgroups: fix logic error
	* lib/getgroups.c (rpl_getgroups): Don't fail if current process
	has more than 20 groups.
	* modules/getgroups-tests: New test.
	* tests/test-getgroups.c: New file.

2009-11-13  Simon Josefsson  <simon@josefsson.org>

	* tests/test-base64.c: Improve.

2009-11-13  Simon Josefsson  <simon@josefsson.org>

	* tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
	Blake <ebb9@byu.net>.

2009-11-13  Simon Josefsson  <simon@josefsson.org>

	* tests/test-xvasprintf.c: Add %s%s related checks.

2009-11-12  Eric Blake  <ebb9@byu.net>

	version-etc: match standards.texi style
	* lib/version-etc.c (emit_bug_reporting_address): Drop periods,
	and use <> only for URLs.

2009-11-10  Kamil Dudka  <kdudka@redhat.com>

	fts: do not fail on a submount during traversal
	* lib/fts.c (fts_build): Read the stat info again after opening
	a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
	Original report at http://bugzilla.redhat.com/501848.

2009-11-12  Jim Meyering  <meyering@redhat.com>

	bootstrap: sync from coreutils
	* build-aux/bootstrap (bootstrap_epilogue): New function.
	Use git_modules_config in one more place.  This make bootstrap's
	--gnulib-srcdir option more useful for testing.

	bootstrap: generalize autoheader check
	* build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
	AC_CONFIG_HEADERS.

2009-11-11  Eric Blake  <ebb9@byu.net>

	mkfifoat: use new modules for Solaris and BSD bugs
	* m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
	* lib/mkfifoat.c (mknodat): Split...
	* lib/mknodat.c (mknodat): ...into new file.
	* modules/mkfifoat (Files): Ship new file.
	(Depends-on): Add mkfifo, mknod.
	* modules/mkfifoat-tests (Files): Reuse mkfifo tests.
	(Depends-on): Add symlink.
	* tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
	redundant with test_mkfifo.h.
	(do_mkfifoat, do_mknodat): New helpers.

	mknod: new module
	* modules/mknod: New file.
	* m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
	* lib/mknod.c (mknod): Likewise.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
	defaults.
	* modules/sys_stat (Makefile.am): Substitute them.
	* lib/sys_stat.in.h (mknod): Declare replacement.
	* MODULES.html.sh (Support for systems lacking POSIX:2008):
	Document it.
	* doc/posix-functions/mknod.texi (mknod): Likewise.
	* modules/mknod-tests: New test.
	* tests/test-mknod.c: Likewise.

	mkfifo: new module
	* modules/mkfifo: New file.
	* m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
	* lib/mkfifo.c (mkfifo): Likewise.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
	defaults.
	* modules/sys_stat (Makefile.am): Substitute them.
	* lib/sys_stat.in.h (mkfifo): Declare replacement.
	* MODULES.html.sh (Support for systems lacking POSIX:2008):
	Document it.
	* doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
	* modules/mkfifo-tests: New test.
	* tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
	from test-mkfifoat.c.
	* tests/test-mkfifo.c: New file.

	readlink: detect FreeBSD bug
	* m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
	slash on symlink.
	* doc/posix-functions/readlink.texi (readlink): Document the bug.
	* tests/test-readlink.h (test_readlink): Enhance test.

	symlink: detect FreeBSD bug
	* m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
	slash on symlink.
	* doc/posix-functions/symlink.texi (symlink): Document the bug.
	* tests/test-symlink.h (test_symlink): Enhance test.

2009-11-10  Eric Blake  <ebb9@byu.net>

	link: detect FreeBSD bug
	* m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
	symlink.
	* doc/posix-functions/link.texi (link): Document the bug.
	* tests/test-link.h (test_link): Enhance test.
	* tests/test-linkat.c (main): Update caller.

	unlink, remove: detect FreeBSD bug
	* m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
	slash on symlink.
	* doc/posix-functions/unlink.texi (unlink): Document the bug.
	* doc/posix-functions/remove.texi (remove): Likewise.
	* tests/test-unlink.h (test_unlink): Enhance test.
	* tests/test-remove.c (main): Likewise.

2009-11-09  Eric Blake  <ebb9@byu.net>

	rename: detect FreeBSD bug
	* m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
	slash on symlink.
	* modules/renameat-tests (Depends-on): Add filenamecat.
	* tests/test-rename.h (test_rename): Allow one more errno.
	* tests/test-renameat.c (main): Likewise.
	* doc/posix-functions/rename.texi (rename): Document the bug.

	open: detect FreeBSD bug
	* m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
	symlink.
	* doc/posix-functions/open.texi (open): Document the bug.
	* doc/posix-functions/utimes.texi (utimes): Likewise.
	* tests/test-open.h (test_open): Add parameters, and test symlink
	handling.
	* tests/test-open.c (main): Adjust caller.
	* tests/test-fcntl-safer.c (main): Likewise.
	* modules/open-tests (Depends-on): Add stdbool, symlink.
	* modules/fcntl-safer-tests (Depends-on): Likewise.
	* tests/test-openat.c (main): Add test-open tests.

	stat: detect FreeBSD bug
	* m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
	symlink.
	* doc/posix-functions/stat.texi (stat): Document the bug.
	* tests/test-stat.h (test_stat_func): Add argument.
	* tests/test-stat.c (main): Adjust caller.
	* tests/test-fstatat.c (main): Likewise.
	* modules/stat-tests (Depends-on): Add stdbool, symlink.
	Reported by Jim Meyering.

2009-11-09  James Youngman  <jay@gnu.org>

	strftime.c: include ignore-value.h only when FPRINTFTIME is defined
	* lib/strftime.c: Correct placement of #include "ignore-value.h".

2009-11-08  Jim Meyering  <meyering@redhat.com>

	utimens: remove invalid futimesat call
	* lib/utimens.c (fdutimens): Remove invalid futimesat call.
	It used the file descriptor of the target file as the DIR_FD
	parameter and NULL as the file name.  That caused failure with
	errno == EFAULT on FreeBSD-8.0-rc2

2009-11-07  Eric Blake  <ebb9@byu.net>

	fflush, freadseek: use fseeko, not fseek
	* lib/fflush.c (clear_ungetc_buffer_preserving_position)
	(clear_ungetc_buffer): Avoid potential problems on large files.
	* lib/freadseek.c (freadseek): Likewise.
	* modules/freadseek (Depends-on): Add fseeko.
	* modules/fseek (configure.ac): Set a witness.
	* tests/test-fflush.c (main): Use fseeko.
	* tests/test-fpurge.c (fseek): Disable link warning.
	* tests/test-freadable.c (fseek): Likewise.
	* tests/test-freading.c (fseek): Likewise.
	* tests/test-fseeko.c (fseek): Likewise.
	* tests/test-ftell.c (fseek): Likewise.
	* tests/test-ftello.c (fseek): Likewise.
	* tests/test-fwritable.c (fseek): Likewise.
	* tests/test-fwriting.c (fseek): Likewise.

2009-11-06  Simon Josefsson  <simon@josefsson.org>

	* modules/memchr (Depends-on): Drop getpagesize dependency.

2009-11-06  Simon Josefsson  <simon@josefsson.org>

	* build-aux/pmccabe2html: Disable execute bit.  Suggested by
	Reported by Ludovic Courtès.
	* build-aux/pmccabe2html: Improve example usage.
	* build-aux/pmccabe2html: Drop #! header.  Doc fix.

2009-11-06  Jim Meyering  <meyering@redhat.com>

	do-release-commit-and-tag: New module.
	Automate the release-commit and tag process.
	* build-aux/do-release-commit-and-tag: New script, from coreutils.
	* modules/do-release-commit-and-tag: New file.
	* MODULES.html.sh (Support for maintaining and releasing): Add it.

2009-11-06  Simon Josefsson  <simon@josefsson.org>

	* modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
	because test-select.c uses inet_pton.

2009-11-06  Simon Josefsson  <simon@josefsson.org>

	* m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
	GETADDRINFO_LIB.  Bump serial number.
	* modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
	Suggested by Eric Blake <ebb9@byu.net>.

2009-11-05  Eric Blake  <ebb9@byu.net>

	strtod: detect darwin bug
	* m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
	Reported by Leo Davis.

	freopen-safer: new module
	* modules/freopen-safer: New module.
	* m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
	* lib/freopen-safer.c (freopen_safer): New file.
	* lib/stdio-safer.h (freopen_safer): New declaration.
	* lib/stdio--.h (freopen): New override.
	* MODULES.html.sh (File stream based Input/Output): Mention it.
	* doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
	freopen-safer module.
	* doc/posix-functions/stderr.texi (stderr): Likewise.
	* doc/posix-functions/stdin.texi (stdin): Likewise.
	* doc/posix-functions/stdout.texi (stdout): Likewise.
	* modules/freopen-safer-tests: New test.
	* tests/test-reopen-safer.c: New file.

2009-11-05  Jim Meyering  <meyering@redhat.com>

	maint.mk: Prohibit inclusion of "close-stream.h" without use.
	* top/maint.mk (sc_prohibit_close_stream_without_use): New rule.

2009-11-05  Simon Josefsson  <simon@josefsson.org>

	* modules/pmccabe2html (configure.ac): Check for pmccabe tool.

2009-11-05  Simon Josefsson  <simon@josefsson.org>

	* modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).

2009-11-05  Simon Josefsson  <simon@josefsson.org>

	Fix link error.
	* m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
	* m4/inet_pton.m4 (gl_INET_PTON): Likewise.

2009-11-05  Simon Josefsson  <simon@josefsson.org>

	* tests/test-func.c: Also test value of __func__.

2009-11-05  Simon Josefsson  <simon@josefsson.org>

	* tests/test-sys_socket.c: Use smaller constant value, sa_family_t
	may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.

2009-11-05  Bruno Haible  <bruno@clisp.org>

	Fix link error.
	* m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
	* m4/inet_pton.m4 (gl_INET_PTON): Likewise.
	Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.

2009-11-05  Bruno Haible  <bruno@clisp.org>

	Tests for module 'inet_pton'.
	* modules/inet_pton-tests: New file.
	* tests/test-inet_pton.c: New file.

2009-11-05  Bruno Haible  <bruno@clisp.org>

	Tests for module 'inet_ntop'.
	* modules/inet_ntop-tests: New file.
	* tests/test-inet_ntop.c: New file.

2009-11-04  Eric Blake  <ebb9@byu.net>

	stdlib-safer: wrap all mkstemp variants
	* modules/mkostemp (configure.ac): Set witness.
	* modules/mkostemps (configure.ac): Likewise.
	* modules/mkstemps (configure.ac): Likewise.
	* lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
	(mkstemps_safer): Wrap more functions.
	* lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
	wrapping.
	* lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
	(mkstemps_safer): Implement the wrappers.

	mkstemps, mkostemps: new modules
	* modules/mkostemps: New module.
	* modules/mkstemps: Likewise.
	* lib/mkostemps.c (mkostemps): New file.
	* lib/mkstemps.c (mkstemps): Likewise.
	* m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
	* m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
	* modules/stdlib (Makefile.am): Substitute them.
	* lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
	* doc/glibc-functions/mkstemps.texi (mkstemps): New file.
	* doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
	* doc/gnulib.texi (Glibc stdlib.h): Include them.
	* MODULES.html.sh (File system functions): Mention them.

	tempname: resync from glibc
	* lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
	same values for __GT_FILE as glibc.  Abort even when assertions
	are disabled.
	* lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
	match its value otherwise.  Allow idempotent inclusion.
	* lib/mkdtemp.c (mkdtemp): Adjust caller.
	* lib/mkostemp.c (mkostemp): Likewise.
	* lib/mkstemp.c (mkstemp): Likewise.
	* lib/tmpfile.c (tmpfile): Likewise.
	* NEWS: Document this.

	utimens: fix use of futimens on older Linux
	* lib/utimens.c (fdutimens): Use updated, rather than original,
	timespec to avoid bug in older Linux kernel.
	Reported by Simon Josefsson.

2009-11-04  Bruno Haible  <bruno@clisp.org>

	Make num_processors more flexible and consistent.
	* lib/nproc.h (enum nproc_query): New type.
	(num_processors): Add a 'query' argument.
	* lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
	(num_processors): Add a 'query' argument. Test the value of the
	OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
	mingw, count the number of CPUs available for the current process.
	* m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
	Check for sched_getaffinity and sched_getaffinity_np.
	* modules/nproc (Depends-on): Add c-ctype, extensions.
	* NEWS: Mention the change.

2009-11-03  Bruno Haible  <bruno@clisp.org>

	* NEWS: Document the new library dependencies of inet_ntop, inet_pton.

2009-11-03  Jim Meyering  <meyering@redhat.com>

	test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
	* tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
	if it is defined.

2009-11-02  Eric Blake  <ebb9@byu.net>

	mktime, timegm: share common declaration
	* lib/mktime-internal.h: New file.
	* lib/mktime.c: Use it rather than open-coding a declaration.
	* lib/timegm.c: Likewise.
	* modules/mktime (Files): Ship it.
	* modules/timegm (Files): Likewise.
	Suggested by Bruno Haible.

	test-update-copyright: update test to match script changes
	* tests/test-update-copyright.sh: Avoid hard-coding perl
	location.  Don't update *.bak created by earlier runs.

2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
	    Simon Josefsson  <simon@josefsson.org>
	    Bruno Haible  <bruno@clisp.org>

	Fix link error on Solaris 8.
	* m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
	also in libnsl. Define also INET_PTON_LIB.
	* modules/inet_pton (Link): New section.

2009-11-02  Simon Josefsson  <simon@josefsson.org>
	    Bruno Haible  <bruno@clisp.org>

	* m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
	* modules/inet_ntop (Link): New section.
	Reported by Boyan Kasarov <bkasarov@gmail.com>.

2009-11-02  Eric Blake  <ebb9@byu.net>

	maint: avoid compiler warnings in m4 macros
	* m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
	* m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.

2009-11-02  Simon Josefsson  <simon@josefsson.org>

	* m4/pmccabe2html.m4: Remove file.
	* modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
	function.  Change maintainer.
	* build-aux/pmccabe2html: Use /bin/sh with magic instead of
	hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
	Courtès).

2009-10-31  Eric Blake  <ebb9@byu.net>

	fseeko: fix m4 regression
	* m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
	regression from 2009-10-27.
	Reported by Ralf Wildenhues.

2009-10-31  Jim Meyering  <meyering@redhat.com>

	inttostr: aesthetics and improved (compile-time) safety
	Define inttype_is_signed rather than inttype_is_unsigned,
	since the sole use is via "#if inttype_is_signed".
	* lib/imaxtostr.c (inttype_is_signed): Define this, rather than
	inttype_is_unsigned.
	* lib/offtostr.c (inttype_is_signed): Likewise.
	* lib/uinttostr.c (inttype_is_signed): Likewise.
	* lib/umaxtostr.c (inttype_is_signed): Likewise.
	* lib/inttostr.c (inttostr): Use verify to cross-check the
	inttype_is_signed value and the signedness of the actual type.
	* modules/inttostr (Depends-on): Add verify.

2009-10-30  Eric Blake  <ebb9@byu.net>

	build: avoid compiler warnings
	* lib/fchmodat.c (lchmod): Mark unused variables.
	* lib/getopt.c (_getopt_initialize): Likewise.
	* lib/mktime.c (__mktime_internal): Provide prototype.
	* lib/inttostr.c (inttostr): Avoid compiler warning even with
	older gcc that do not understand #pragma GCC diagnostic.
	* lib/uinttostr.c (inttype_is_unsigned): Define.
	* lib/umaxtostr.c (inttype_is_unsigned): Likewise.

2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>

	stat: fix compilation on AIX
	* lib/sys_stat.in.h (stat): Work with fact that large files on AIX
	only see struct stat64.

2009-10-30  Eric Blake  <ebb9@byu.net>

	exclude: make more robust
	* lib/exclude.c (excluded_file_name): Abort on unexpected value,
	rather than masking a coding bug.
	Suggested by Bruno Haible.

2009-10-30  Jim Meyering  <meyering@redhat.com>

	perl scripts: remove #!/usr/bin/perl in favor of more portable...
	Rather than putting #!/usr/bin/perl on the first line,
	start with a variant of what's recommended by "man perlrun" that
	invokes the first "perl" program from your shell's search path.
	* build-aux/gitlog-to-changelog: Replace #!... as above.
	Add a "Local Variables" perl mode setting.
	Prompted by a patch from Ludovic Courtès.
	Improved by Eric Blake.
	* build-aux/useless-if-before-free: Likewise.
	* build-aux/announce-gen: Likewise.
	* build-aux/update-copyright: Likewise.

2009-10-29  Eric Blake  <ebb9@byu.net>

	filenamecat-lgpl: adjust clients
	* modules/linkat (Depends-on): Use filenamecat-lgpl, not
	filenamecat.
	* modules/renameat (Depends-on): Likewise.

	filenamecat: split into filenamecat-lgpl
	* modules/filenamecat-lgpl: New module.
	* modules/filenamecat (Files): Move library-safe files into
	filenamecat-lgpl.
	(Depends-on): Add filenamecat-lgpl.
	(configure.ac): Declare witness.
	* lib/filenamecat.h (file_name_concat): Only declare when using
	GPL module.
	* lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
	Move...
	* lib/filenamecat-lgpl.c: ...into new file.
	* m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
	(gl_FILE_NAME_CONCAT): Use it.
	* MODULES.html.sh (File system functions): Mention new module.

	argp: avoid memory leak
	* modules/argp (Depends-on): Use dirname-lgpl, not dirname.
	* lib/argp-namefrob.h (__argp_base_name): Use last_component, not
	base_name, since the latter malloc()s and can call exit().
	Leak introduced 2006-07-03.

	dirname-lgpl: adjust clients that don't need full dirname
	* modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
	* modules/filenamecat (Depends-on): Likewise.
	* modules/linkat (Depends-on): Likewise.
	* modules/mkancesdirs (Depends-on): Likewise.
	* modules/mkdir (Depends-on): Likewise.
	* modules/openat (Depends-on): Likewise.
	* modules/savewd (Depends-on): Likewise.
	* modules/rename (Depends-on): Likewise.
	(License): Relax license.
	* modules/mkdir-tests (Depends-on): Drop progname.
	(Makefile.am): Delete unneeded LDADD.
	* modules/rename-tests (Depends-on, Makefile.am): Likewise.

	dirname: split into dirname-lgpl
	* modules/dirname-lgpl: New module.
	* modules/dirname (Files): Move library-safe files into
	dirname-lgpl.
	(Depends-on): Add dirname-lgpl.
	(configure.ac): Declare witness.
	* modules/double-slash-root (License): Relax license.
	* lib/dirname.h (base_name, dir_name): Only declare when using GPL
	module.
	* lib/dirname.c (dir_len, mdir_name): Move...
	* lib/dirname-lgpl.c: ...into new file.
	* lib/basename.c (last_component, base_len): Move...
	* lib/basename-lgpl.c: ...into new file.
	* m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
	(gl_DIRNAME): Use it.
	* MODULES.html.sh (Enhancements for POSIX:2008 functions):
	Mention new module.
	* modules/dirname-tests (Depends-on): Add progname.
	* tests/test-dirname.c (program_name): Delete.

	mkdir: make safe for libraries
	* modules/mkdir (Depends-on): Drop xalloc.
	* lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
	exit.

	tests: avoid some compiler warnings
	* tests/test-getaddrinfo.c (simple): Mark static, and allow string
	literals.
	* tests/test-memchr.c (main): Avoid type mismatch.
	* tests/test-arpa_inet.c (main): Avoid unused parameters.
	* tests/test-base64.c (main): Likewise.
	* tests/test-getdelim.c (main): Likewise.
	* tests/test-gethostname.c (main): Likewise.
	* tests/test-getline.c (main): Likewise.
	* tests/test-netinet_in.c (main): Likewise.
	* tests/test-select.c (open_server_socket, main): Likewise.
	* tests/test-select-stdin.c (main): Likewise.
	* tests/test-sockets.c (main): Likewise.
	* tests/test-strsignal.c (main): Likewise.
	* tests/test-sys_select.c (main): Likewise.
	* tests/test-sys_socket.c (main): Likewise.
	* tests/test-u64.c (main): Likewise.
	* tests/test-xfprintf-posix.c (main): Likewise.
	* tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.

	sockets: avoid compiler warning
	* lib/sockets.c (gl_sockets_startup): Mark unused parameter.

	maint: detect usage(1) and other suspicious exits
	* top/maint.mk (sc_prohibit_magic_number_exit): New rule.

2009-10-29  Jim Meyering  <meyering@redhat.com>

	timespec: long-to-int truncation could make timespec_cmp malfunction
	* lib/timespec.h (timespec_cmp): Do not interpret a difference of
	a multiple of 2^32 nanoseconds as no difference.

2009-10-28  Jim Meyering  <meyering@redhat.com>

	fprintftime: wrap macro code argument in "do {...} while(0)"
	* lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
	cpy macro must be a statement that can be followed by a semicolon.
	Now that the else clause contains a comment and is hence longer
	than one line, I require curly braces.  That in turn requires
	that we wrap this code block in the standard do...while(0).

	fprintftime: remove stray semicolon from previous change
	* lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.

	fprintftime: avoid a warning about ignored fwrite return value
	* lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
	(cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
	that is unsafe.
	* modules/fprintftime (Depends-on): Add ignore-value.

	exclude: avoid an unwarranted warning
	* lib/exclude.c (excluded_file_name): Initialize "rc" before switch.

2009-10-27  Eric Blake  <ebb9@byu.net>

	fseek: avoid compilation failure when fflush is replaced
	* m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
	* m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
	module is in use.
	* lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
	module is not in use; since REPLACE_FSEEK worked otherwise.
	(GNULIB_FTELLO): Likewise for ftell.
	Reported by Ian Beckwith and others.

2009-10-27  Bruno Haible  <bruno@clisp.org>

	* lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
	Reported by Jim Meyering.

2009-10-27  Jim Meyering  <jim@meyering.net>
	    Bruno Haible  <bruno@clisp.org>

	Avoid warning despite dropping the return value of fwrite.
	* lib/unicodeio.c: Include ignore-value.h.
	(fwrite_success_callback): Explicitly ignore fwrite's return value.
	* modules/unicodeio (Depends-on): Add ignore-value.

2009-10-26  Eric Blake  <ebb9@byu.net>

	areadlinkat: fix fallback path
	* lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
	pointer and zero.

2009-10-22  Pádraig Brady  <P@draigBrady.com>

	Use a better IO block size for modern systems
	* lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
	* lib/md2.c: Likewise.
	* lib/md4.c: Likewise.
	* lib/md5.c: Likewise.
	* lib/sha1.c: Likewise.
	* lib/sha256.c: Likewise.
	* lib/sha512.c: Likewise.

2009-10-22  Eric Blake  <ebb9@byu.net>

	tests: avoid several compiler warnings
	* tests/test-getcwd.c (main): Avoid buffer underflow.
	* tests/test-getdate.c (main): String literals are not safe with
	putenv, so use setenv.  Declare unused argument.
	* modules/getdate-tests (Depends-on): Add setenv.
	* tests/test-argv-iter.c (main): Declare unused argument.  Avoid
	problems with string literals in char *.
	* tests/test-hash.c (main): Avoid shadowing declaration.
	(insert_new): Treat string literals as char const *.
	* tests/test-getopt.h (test_getopt): Likewise.
	(getopt_loop): Alter types to minimize casting elsewhere.
	* tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
	(test_getopt_long_posix): Likewise.
	(do_getopt_long): Add wrapper to minimize casting.
	* tests/test-atexit.c (clear_temp_file): Use void.
	* tests/test-areadlink-with-size.c (main): Declare unused
	arguments.
	* tests/test-areadlink.c (main): Likewise.
	* tests/test-areadlinkat-with-size.c (main): Likewise.
	* tests/test-areadlinkat.c (main): Likewise.
	* tests/test-canonicalize-lgpl.c (main): Likewise.
	* tests/test-canonicalize.c (main): Likewise.
	* tests/test-dirent-safer.c (main): Likewise.
	* tests/test-dirname.c (main): Likewise.
	* tests/test-dup2.c (main): Likewise.
	* tests/test-fchdir.c (main): Likewise.
	* tests/test-fcntl-h.c (main): Likewise.
	* tests/test-fcntl-safer.c (main): Likewise.
	* tests/test-fdopendir.c (main): Likewise.
	* tests/test-fdutimensat.c (main): Likewise.
	* tests/test-fflush.c (main): Likewise.
	* tests/test-filenamecat.c (main): Likewise.
	* tests/test-filevercmp.c (main): Likewise.
	* tests/test-fopen-safer.c (main): Likewise.
	* tests/test-fopen.c (main): Likewise.
	* tests/test-fpending.c (main): Likewise.
	* tests/test-fpurge.c (main): Likewise.
	* tests/test-freading.c (main): Likewise.
	* tests/test-fstatat.c (main): Likewise.
	* tests/test-fsync.c (main): Likewise.
	* tests/test-futimens.c (main): Likewise.
	* tests/test-getndelim2.c (main): Likewise.
	* tests/test-gettimeofday.c (main): Likewise.
	* tests/test-getopt.c (main): Likewise.
	* tests/test-i-ring.c (main): Likewise.
	* tests/test-inttypes.c (main): Likewise.
	* tests/test-link.c (main): Likewise.
	* tests/test-lstat.c (main): Likewise.
	* tests/test-math.c (main): Likewise.
	* tests/test-md5.c (main): Likewise.
	* tests/test-memchr2.c (main): Likewise.
	* tests/test-memrchr.c (main): Likewise.
	* tests/test-mkdir.c (main): Likewise.
	* tests/test-mkdirat.c (main): Likewise.
	* tests/test-mkfifoat.c (main): Likewise.
	* tests/test-open.c (main): Likewise.
	* tests/test-openat-safer.c (main): Likewise.
	* tests/test-openat.c (main): Likewise.
	* tests/test-quotearg.c (main): Likewise.
	* tests/test-rawmemchr.c (main): Likewise.
	* tests/test-readlink.c (main): Likewise.
	* tests/test-remove.c (main): Likewise.
	* tests/test-rename.c (main): Likewise.
	* tests/test-renameat.c (main): Likewise.
	* tests/test-rmdir.c (main): Likewise.
	* tests/test-sha1.c (main): Likewise.
	* tests/test-signal.c (main): Likewise.
	* tests/test-sigaction.c (main): Likewise.
	* tests/test-stat.c (main): Likewise.
	* tests/test-stat-time.c (main): Likewise.
	* tests/test-stddef.c (main): Likewise.
	* tests/test-stdint.c (main): Likewise.
	* tests/test-stdio.c (main): Likewise.
	* tests/test-stdlib.c (main): Likewise.
	* tests/test-strchrnul.c (main): Likewise.
	* tests/test-strerror.c (main): Likewise.
	* tests/test-string.c (main): Likewise.
	* tests/test-strtod.c (main): Likewise.
	* tests/test-strverscmp.c (main): Likewise.
	* tests/test-symlink.c (main): Likewise.
	* tests/test-symlinkat.c (main): Likewise.
	* tests/test-sys_stat.c (main): Likewise.
	* tests/test-sys_time.c (main): Likewise.
	* tests/test-time.c (main): Likewise.
	* tests/test-unistd.c (main): Likewise.
	* tests/test-unlink.c (main): Likewise.
	* tests/test-unlinkat.c (main): Likewise.
	* tests/test-utimens.c (main): Likewise.
	* tests/test-utimensat.c (main): Likewise.
	* tests/test-version-etc.c (main): Likewise.
	* tests/test-wchar.c (main): Likewise.
	* tests/test-wctype.c (main): Likewise.
	* tests/test-xprintf-posix.c (main): Likewise.
	* tests/test-posixtm.c (main): Likewise.
	(STREQ): Delete unused macro.
	* tests/test-linkat.c (main): Declare unused arguments.  Avoid
	shadowed variables.
	* tests/test-memchr.c (main): Likewise.

2009-10-21  Eric Blake  <ebb9@byu.net>

	areadlinkat: avoid failure on older glibc
	* lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
	rather than mis-comparing 0 against FUNC_RESULT of char*.

2009-10-21  Bruno Haible  <bruno@clisp.org>

	* modules/stpncpy (License): Relicense under LGPLv2+.
	Reported by David Lutterkort <lutter@redhat.com>.

2009-10-20  Eric Blake  <ebb9@byu.net>

	utimensat: work around Solaris 9 bug
	* lib/utimens.c (fdutimens, lutimens): Force a stat if platform
	has trailing slash bugs.
	* tests/test-lutimens.h (test_lutimens): Enhance test.
	* tests/test-utimens.h (test_utimens): Likewise.
	* doc/posix-functions/utime.texi (utime): Enhance documentation.
	* doc/posix-functions/utimes.texi (utimes): Likewise.
	* doc/posix-functions/utimensat.texi (utimensat): Likewise.
	* doc/glibc-functions/futimesat.texi (futimesat): Likewise.
	* doc/glibc-functions/lutimes.texi (lutimes): Likewise.
	* doc/posix-functions/futimens.texi (futimens): Likewise.

	fdutimensat: new module
	* modules/fdutimensat: New file.
	* lib/fdutimensat.c (fdutimensat): Likewise.
	* lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
	* MODULES.html.sh (File system functions): Mention module.
	* modules/fdutimensat-tests: New test.
	* tests/test-fdutimensat.c: Likewise.

	doc: regenerate INSTALL
	* doc/INSTALL: Reflect recent autoconf update.
	* doc/INSTALL.ISO: Likewise.
	* doc/INSTALL.UTF-8: Likewise.

2009-10-20  Pádraig Brady  <P@draigBrady.com>

	acl: warn if ACL support is not detected
	* m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.

2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>

	* lib/nproc.h: Add extern "C" block for C++.

2009-10-18  Reuben Thomas  <rrt@sc3d.org>
	    Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
	* doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
	* doc/posix-functions/isalpha.texi: Likewise.
	* doc/posix-functions/isblank.texi: Likewise.
	* doc/posix-functions/iscntrl.texi: Likewise.
	* doc/posix-functions/isdigit.texi: Likewise.
	* doc/posix-functions/isgraph.texi: Likewise.
	* doc/posix-functions/islower.texi: Likewise.
	* doc/posix-functions/isprint.texi: Likewise.
	* doc/posix-functions/ispunct.texi: Likewise.
	* doc/posix-functions/isspace.texi: Likewise.
	* doc/posix-functions/isupper.texi: Likewise.
	* doc/posix-functions/isxdigit.texi: Likewise.

2009-10-18  Bruno Haible  <bruno@clisp.org>

	Tests for module 'isblank'.
	* modules/isblank-tests: New file.
	* tests/test-isblank.c: New file.

	New module 'isblank'.
	* lib/isblank.c: New file.
	* m4/isblank.m4: New file.
	* modules/isblank: New file.
	* doc/posix-functions/isblank.texi: Mention the new module.

2009-10-18  Bruno Haible  <bruno@clisp.org>

	New module 'ctype'.
	* lib/ctype.in.h: New file.
	* m4/ctype.m4: New file.
	* modules/ctype: New file.
	* doc/posix-headers/ctype.texi: Mention the new module.

2009-10-18  Jim Meyering  <meyering@redhat.com>

	m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
	Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
	right after its initialization, rather than farther down.
	Keeping these in close proximity makes it easier to ensure
	that each such variable is initialized.  E.g.,

	    LIB_CLOCK_GETTIME=
	    AC_SUBST([LIB_CLOCK_GETTIME])

	This change also increments these serial numbers.
	* m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
	* m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.

2009-10-18  Bruno Haible  <bruno@clisp.org>

	Don't let environment variables perturb build.
	* m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
	(gl_PREREQ_GETHRXTIME): ... not here.

2009-10-18  Bruno Haible  <bruno@clisp.org>

	Avoid symlink attack in localcharset module.
	* lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
	(O_NOFOLLOW): Define fallback.
	(get_charset_aliases): Don't open the file if it is a symbolic link.
	* m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
	gl_FCNTL_H.
	(gl_FCNTL_H): Require it.
	* m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
	* modules/localcharset (Files): Add m4/fcntl_h.m4.
	Reported by Fergal Glynn <fglynn@veracode.com>.

2009-10-18  Bruno Haible  <bruno@clisp.org>

	Implement nproc for mingw.
	* lib/nproc.c: Include <windows.h>
	(num_processors): On native Windows platforms, try GetSystemInfo.

2009-10-18  Bruno Haible  <bruno@clisp.org>

	Implement nproc for IRIX.
	* lib/nproc.c: Include <sys/sysmp.h>.
	(num_processors): On IRIX systems, try sysmp.
	* m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.

2009-10-18  Bruno Haible  <bruno@clisp.org>

	Implement nproc for HP-UX.
	* lib/nproc.c: Include <sys/pstat.h>
	(num_processors): On HP-UX systems, try pstat_getdynamic.
	* m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
	pstat_getdynamic.

2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	Implement nproc for NetBSD, OpenBSD.
	* lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
	(ARRAY_SIZE): New macro.
	(num_processors): On BSD systems, try sysctl of HW_NCPU.
	* m4/nproc.m4: New file.
	* modules/nproc (Files): Add m4/nproc.m4.
	(configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
	(Makefile.am): Instead, augment lib_SOURCES.

2009-10-18  Bruno Haible  <bruno@clisp.org>

	Fix recognition of sys/sysctl.h on OpenBSD 4.0.
	* m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
	sys/param.h.

2009-10-16  Eric Blake  <ebb9@byu.net>

	utimensat: new module
	* modules/utimensat: New file.
	* lib/utimensat.c (utimensat): Likewise.
	* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
	* lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
	so we can work around Linux bugs.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
	* modules/sys_stat (Makefile.am): Substitute them.
	* lib/sys_stat.in.h (utimensat): Declare it.
	* MODULES.html.sh (systems lacking POSIX:2008): Mention module.
	* doc/posix-functions/utimensat.texi (utimensat): Likewise.
	* modules/utimensat-tests: New test.
	* tests/test-utimensat.c: Likewise.

	utimens: let lutimens work on non-symlinks
	* lib/utimens.c (lutimens): Fall back to utimens rather than
	failing with ENOSYS, when file is not a symlink.
	(utimens): Reduce redirection.
	* tests/test-lutimens.h (test_lutimens): Update test to cover
	non-symlinks.
	* tests/test-utimens.h (test_utimens): Update test to cover
	symlinks.
	* tests/test-utimens.c (main): Update caller.

	utimens: cache whether utimensat syscall works
	* lib/utimens.c (utimensat_works_really): New cache variable.
	(fdutimens, lutimens): Use it to avoid failing syscall.

	test-stat-time, test-utimens: improve portability
	* tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
	ext4 on alpha, and for cygwin.
	* tests/test-utimens-common.h: New file.
	(nap): Factor delays into single function.
	* tests/test-lutimens.h (test_lutimens): Use new header.
	* tests/test-futimens.h (test_futimens): Likewise.
	* tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
	timestamps to occur from same machine, as was done previously for
	test_utimens.
	* modules/utimens-tests (Files): Ship new file.
	* modules/futimens-tests (Files): Likewise.
	Reported in part by Jim Meyering.

	sys_stat: sort replacement declarations
	* lib/sys_stat.in.h: Sort declarations.
	* lib/futimens.c (futimens): Fix typo.

2009-10-15  Jim Meyering  <meyering@redhat.com>

	don't let environment settings perturb build
	Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
	could cause a configure-time and/or build-time malfunction.
	Typically, a configure-time function-in-library test is performed
	via code like this:

	  LIB_VAR=
	  AC_SUBST([LIB_VAR])
	  prefix_saved_LIBS=$LIBS
	    AC_SEARCH_LIBS([FUNC], [LIB_NAME],
		       [test "$ac_cv_search_FUNC" = "none required" ||
			LIB_VAR=$ac_cv_search_FUNC])
	  LIBS=$prefix_saved_LIBS

	However, in each of the files affected by this change, the LIB_VAR=
	initialization was omitted.  Thus, when set in the environment, its
	value would propagate into generated Makefiles when FUNC is not found
	in LIB_NAME.
	* m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
	* m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.

2009-10-14  Eric Blake  <ebb9@byu.net>

	fchdir: avoid infinite recursion in mingw
	* lib/fchdir.c (rpl_fstat): Call system fstat, rather than
	recursing.

	test-stat-time: port to mingw
	* tests/test-stat-time.c (force_unlink): Return a value.
	(test_ctime) [W32]: Fix compilation error.
	(nap): Don't call usleep with too large an argument.  Use
	force_unlink.
	* doc/pastposix-functions/usleep.texi (usleep): Document the
	portability issue.

2009-10-13  Jim Meyering  <meyering@redhat.com>

	use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
	* modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
	* modules/pipe-filter-ii: Likewise.
	* modules/sys_socket-tests: Likewise.
	* modules/tsearch-tests: Likewise.
	* Makefile (sc_prefer_ac_check_funcs_once): New rule.
	(check): Depend on it.

2009-10-12  Eric Blake  <ebb9@byu.net>

	utimens-tests: port to NFS file systems
	* tests/test-utimens.h (test_utimens): Refactor utimecmp
	comparisons to avoid spurious failures from timestamp drift
	between NFS machines.

2009-10-12  Eric Blake  <ebb9@byu.net>

	stat-time-tests: minor cleanups
	* modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
	* tests/test-stat-time.c (nap): Separate assignment from call.
	Suggested by Paolo Bonzini and Bruno Haible.

	sys_stat: guarantee struct timespec
	* lib/sys_stat.in.h (includes): Always include <time.h>
	* modules/sys_stat (Depends-on): Add time.
	* tests/test-sys_stat.c: Guarantee struct timespec, as well as
	mode_t permission values.
	* doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
	get at subsecond timestamps.

2009-10-10  Eric Blake  <ebb9@byu.net>

	futimens: new module
	* modules/futimens: New file.
	* lib/futimens.c (futimens): Likewise.
	* m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
	* lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
	we can work around Linux bugs.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
	* modules/sys_stat (Makefile.am): Substitute them.
	* lib/sys_stat.in.h (futimens): Declare it.
	* MODULES.html.sh (systems lacking POSIX:2008): Mention module.
	* doc/posix-functions/futimens.texi (futimens): Likewise.
	* modules/futimens-tests: New test.
	* tests/test-futimens.c: Likewise.

	utimens: introduce fdutimens
	* lib/utimens.h (fdutimens): New prototype.
	* lib/utimens.c (gl_futimens): Move guts...
	(fdutimens): ...to new interface.
	* tests/test-utimens.c (do_fdutimens): Use it.

	utimens: add UTIME_NOW and UTIME_OMIT support
	* lib/utimens.c (validate_timespec, update_timespec): New helper
	functions.
	(gl_futimens, lutimens): Use them.
	* modules/utimens (Depends-on): Add gettime, lstat, stat-time,
	stdbool, sys_stat.
	(Link): Mention resulting library dependency.
	* modules/utimecmp (Link): Likewise.
	* modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
	(Makefile.am): Pick up library dependency.
	* lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
	definition.
	* tests/test-sys_stat.c: Test the definitions.
	* doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
	* NEWS: Document library dependency.

	utimecmp: support symlink timestamps
	* lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
	hashing when possible.  Use pathconf when available.
	(SYSCALL_RESOLUTION): Recognize tighter resolution.
	* modules/utimecmp (Depends-on): Add lstat.

	utimens: add lutimens interface
	* lib/utimens.c (lutimens): New function.
	* m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
	* lib/utimens.h (lutimens): Declare new interface.
	* tests/test-utimens.c (main): Enhance test.
	* tests/test-lutimens.h (test_lutimens): New file.
	* modules/utimens-tests (Files): Distribute it.
	(Depends-on): Add symlink.
	(configure.ac): Check for usleep.

	utimens: validate futimens usage
	* lib/utimens.c (gl_futimens): Require valid fd up front, using
	fewer syscalls on failure later on.  Avoid compiler warning on
	mingw.
	* modules/utimens (Depends-on): Add dup2.

	utimens: add test
	* modules/utimens-tests: New test.
	* tests/test-utimens.h: New file.
	* tests/test-futimens.h: Likewise.
	* tests/test-utimens.c: Likewise.

	doc: mention timestamp portability issues
	* doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
	instead.
	* doc/posix-functions/utime.texi (utime): Likewise.
	* doc/posix-functions/utimes.texi (utimes): Likewise.
	* doc/glibc-functions/futimes.texi (futimes): Refer to futimens
	instead.
	* doc/posix-functions/futimens.texi (futimens): Mention utimens
	module.
	* doc/posix-functions/utimensat.texi (utimensat): Likewise.
	Mention weakness with symlink timestamps.
	* doc/glibc-functions/futimesat.texi (futimesat): New file; refer
	to utimensat/futimens instead.
	* doc/gnulib.texi (Glibc sys/time.h): Include new file.

	test-dup2: enhance test
	* tests/test-dup2.c (main): Also check AT_FDCWD.

	test-stat-time: avoid more spurious failures
	* tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
	xfs; and avoid race if the two timestamps cross quantization edge.

	relocatable: prefer 'file system' over 'filesystem'
	* m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
	(gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
	* doc/relocatable-maint.texi (Supporting Relocation): Likewise.
	* doc/relocatable.texi (Enabling Relocatability): Likewise.
	* lib/relocatable.c (compute_curr_prefix): Likewise.

2009-10-10  Jim Meyering  <meyering@redhat.com>

	stat-time-tests: check for the usleep function
	* modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.

2009-10-10  Bruno Haible  <bruno@clisp.org>

	* modules/xnanosleep: Put the Link section after the Include section.

2009-10-09  Eric Blake  <ebb9@byu.net>

	dup2: work around FreeBSD 6.1 bug
	* m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
	* doc/posix-functions/dup2.texi (dup2): Document it.
	Reported by Nelson H. F. Beebe and Jim Meyering.

	test-stat-time: port to buggy NFS clients
	* tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
	(test_ctime): Also skip test if mtime and ctime are skewed.

	maint: prefer 'file system' over 'filesystem'
	* doc/posix-functions/fstatat.texi (fstatat): Likewise.
	* doc/posix-functions/lstat.texi (lstat): Likewise.
	* lib/file-has-acl.c (file_has_acl): Likewise.
	* lib/fwriteerror.c [TEST]: Likewise.
	* tests/test-areadlink.h (test_areadlink): Likewise.
	* tests/test-areadlinkat-with-size.c (main): Likewise.
	* tests/test-areadlinkat.c (main): Likewise.
	* tests/test-canonicalize-lgpl.c (main): Likewise.
	* tests/test-canonicalize.c (main): Likewise.
	* tests/test-fstatat.c (main): Likewise.
	* tests/test-linkat.c (main): Likewise.
	* tests/test-lstat.h (test_lstat_func): Likewise.
	* tests/test-mkdir.h (test_mkdir): Likewise.
	* tests/test-readlink.h (test_readlink): Likewise.
	* tests/test-remove.c (main): Likewise.
	* tests/test-rename.h (test_rename): Likewise.
	* tests/test-renameat.c (main): Likewise.
	* tests/test-rmdir.h (test_rmdir_func): Likewise.
	* tests/test-symlink.h (test_symlink): Likewise.
	* tests/test-symlinkat.c (main): Likewise.
	* tests/test-unlink.h (test_unlink_func): Likewise.
	* tests/test-unlinkat.c (main): Likewise.

	maint: make realtime library usage explicit
	* modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
	* modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
	* modules/settime (Link): Likewise.
	* modules/xnanosleep (Link): Mention LIB_NANOSLEEP.

	test-stat-time: speed up execution
	* tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
	warning on mingw.
	(nap): New helper function.
	(prepare_test): Use it to reduce sleep time.
	(test_mtime, test_ctime, test_birthtime): Allow for subsecond
	execution.
	* modules/stat-time-tests (configure.ac): Check for usleep.

2009-10-09  Jim Meyering  <meyering@redhat.com>

	selinux-h: always use getfilecon wrappers
	* lib/getfilecon.c: New file.
	* lib/se-selinux.in.h: Use a better inclusion guard symbol name.
	[HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
	[!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
	(fgetfilecon): Provide a stub.
	* m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
	AC_SUBST SELINUX_SELINUX_H, since now we're generating that
	file unconditionally.
	When <selinux/selinux.h> is found, arrange to use wrappers.
	* modules/selinux-h (Files): Add getfilecon.c.
	(Makefile.am): Substitute include-next-related bits
	into the now-always-generated selinux/selinux.h file.
	* doc/glibc-functions/lgetfilecon.texi: New file.
	* doc/glibc-functions/fgetfilecon.texi: New file.
	* doc/glibc-functions/getfilecon.texi: New file.
	* doc/glibc-functions/getfilecon-desc.texi: New file.
	* doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
	which to pull in the new files.
	* MODULES.html.sh (Misc): Add selinux-h.

2009-10-08  Jim Meyering  <meyering@redhat.com>

	unistd: fix comment typo
	* lib/unistd.in.h (euidaccess): Fix a comment typo.

2009-10-08  Eric Blake  <ebb9@byu.net>

	areadlink: use SIZE_MAX consistently
	* modules/areadlink (Depends-on): Add stdint.
	* modules/areadlink-with-size (Depends-on): Likewise.
	* lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
	gives NULL; drop sys/types, since unistd gives size_t; and add
	stdint for SIZE_MAX.
	(SIZE_MAX): Rely on headers.
	* lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
	and add stdint.
	* lib/areadlink.c (includes): Drop sys/types, and add stdint.
	(SIZE_MAX): Likewise.
	(INITIAL_BUF_SIZE): Turn into enum.
	* lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.

2009-10-08  Jim Meyering  <meyering@redhat.com>

	areadlinkat: avoid compilation failure
	* lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
	Fix typo in comment.

2009-10-07  Eric Blake  <ebb9@byu.net>

	areadlinkat-with-size: new module
	* modules/areadlinkat-with-size: New module.
	* lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
	* lib/areadlink.h (areadlinkat): Declare it.
	* MODULES.html.sh (File system functions): Mention it.
	* modules/areadlinkat-with-size-tests: New test.
	* tests/test-areadlinkat-with-size.c: New file.

	xreadlinkat: new module
	* modules/xreadlinkat: New module.
	* lib/xreadlinkat.c (xreadlinkat): New file.
	* lib/xreadlink.h (xreadlinkat): Declare it.
	* MODULES.html.sh (File system functions): Mention it.

	areadlinkat: new module
	* lib/at-func.c (FUNC_FAIL): New define.
	(AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
	* modules/areadlinkat: New module.
	* lib/linkat.c (areadlinkat): Move...
	* lib/areadlinkat.c (areadlinkat): ...to new file.
	* lib/areadlink.h (areadlinkat): Declare it.
	* modules/linkat (Depends-on): Add areadlinkat.
	* MODULES.html.sh (File system functions): Mention it.
	* modules/areadlinkat-tests: New test.
	* tests/test-areadlinkat.c: New file.

	areadlink, areadlink-with-size: add tests
	* modules/areadlink-tests: New test.
	* modules/areadlink-with-size-tests: Likewise.
	* tests/test-areadlink.h: New file.
	* tests/test-areadlink.c: Likewise.
	* tests/test-areadlink-with-size.c: Likewise.

	maint: minor cleanups
	* lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
	_UNUSED_PARAMETER_ instead.
	* lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
	* lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
	* modules/linkat-tests (Files): Distribute test-link.h.

	openat, utimens: whitespace cleanup
	* lib/openat.c: Prefer space throughout, rather than mix of 8
	spaces vs. tabs.
	* lib/at-func.c: Likewise.
	* lib/utimens.c: Likewise.

	openat: avoid using wrong fd
	* lib/openat.c (openat_permissive): Reject user's fd if saving the
	working directory chooses same fd.
	* lib/at-func.c (AT_FUNC_NAME): Likewise.

	mkdir, mkdirat: fix cygwin 1.5.x bug
	* lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
	* m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
	* m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
	bug.
	(gl_PREREQ_MKDIR): Delete unused macro.
	* modules/mkdir (Files): Track file rename.
	(configure.ac): Update macro name.
	* modules/openat (Depends-on): Add mkdir.
	* doc/posix-functions/mkdir.texi (mkdir): Document the bug.

	mkdir, mkdirat: add tests
	* modules/mkdir-tests: New test.
	* tests/test-mkdir.h: New file.
	* tests/test-mkdir.c: Likewise.
	* tests/test-mkdirat.c: Likewise.
	* modules/openat-tests (Files): Add new files.
	(Makefile.am): Run new test.

2009-10-06  Eric Blake  <ebb9@byu.net>

	doc: tweak *at function documentation
	* doc/posix-functions/faccessat.texi (faccessat): Mention
	known issue with replacement.
	* doc/posix-functions/fchdir.texi (fchdir): Likewise.
	* doc/posix-functions/linkat.texi (linkat): Likewise.
	* doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
	* doc/posix-functions/mknodat.texi (mknodat): Likewise.
	* doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
	* doc/posix-functions/renameat.texi (renameat): Likewise.
	* doc/posix-functions/symlinkat.texi (symlinkat): Likewise.

	openat: fix GNU/Hurd bug in unlinkat
	* m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
	broken.
	* doc/posix-functions/unlink.texi (unlink): Document this.
	* doc/posix-functions/unlinkat.texi (unlinkat): Likewise.

	fdopendir: fix GNU/Hurd bug
	* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
	allowing non-directory fds.
	* lib/fdopendir.c (rpl_fdopendir): Work around it.
	* m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
	* modules/dirent (Makefile.am): Substitute it.
	* lib/dirent.in.h (fdopendir): Declare replacement.
	* doc/posix-functions/fdopendir.texi (fdopendir): Document this.
	* tests/test-fdopendir.c (main): Test something other than
	/dev/null, since on Hurd that behaves like a directory.

	test-symlink: port to GNU/Hurd
	* tests/test-symlink.h (test_symlink): Relax expected errno.

	doc: tweak more cygwin information
	* doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
	now compatible with glibc.
	* doc/posix-functions/getopt.texi (getopt): Likewise.

	getopt-gnu: add another test
	* tests/test-getopt_long.h (test_getopt_long_posix): New test, to
	guarantee behavior relied on by m4.
	* tests/test-getopt.c (main): Use it.
	* modules/getopt-posix-tests (Depends-on): Add setenv.
	See http://lists.gnu.org/r/bug-m4/2006-09/msg00028.html.

	getopt: fix compilation on darwin
	* lib/getopt.in.h (includes): Leave breadcrumbs during system
	include.
	* lib/unistd.in.h (getopt): Use them to avoid recursive include.
	Reported by Ludovic Courtès.

2009-10-06  Bruno Haible  <bruno@clisp.org>

	* modules/size_max (Description): Discourage its use.
	Reported by Simon Josefsson.

2009-10-06  Jim Meyering  <meyering@redhat.com>

	linkat: avoid compilation failure
	* lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.

2009-10-05  Eric Blake  <ebb9@byu.net>

	linkat: support Linux 2.6.17
	* m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
	linkat on Linux, but allow cache variable override.
	* lib/linkat.c (rpl_linkat): Define override.
	* modules/linkat (Depends-on): Add symlinkat.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
	* modules/unistd (Makefile.am): Substitute it.
	* lib/unistd.in.h (linkat): Declare replacement.
	Reported by Pádraig Brady.

	quotearg: port test to systems with C.UTF-8 locale
	* tests/test-quotearg.c (struct result_strings): Add another
	member, differentiating between C.ASCII and C.UTF-8 handling.
	(compare_strings): Add parameter.
	(main): Adjust all callers.

	getopt: avoid clash with FreeBSD _getopt_internal
	* lib/getopt.in.h (_getopt_internal): Override the name.
	* lib/getopt_int.h (includes): Pick up any overrides.
	Reported by Reuben Thomas.

	hash: allow C89 compilation
	* lib/hash.c (check_tuning): Move declaration before statement.
	Reported by Reuben Thomas.

2009-10-05  Karl Berry  <karl@gnu.org>

	* doc/gnulib.texi: @include execvpe.texi, missing for several days.

2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	* lib/uname.c (uname): Use a table-driven algorithm to compute
	Windows NT versions.

2009-10-04  Bruno Haible  <bruno@clisp.org>

	* lib/progname.c (set_program_name): Also remove the "lt-" prefix from
	program_invocation_short_name.
	* modules/progname (configure.ac): Test for presence of
	program_invocation_short_name.
	Reported by Sergey Poznyakoff <gray@gnu.org.ua>.

2009-10-04  Bruno Haible  <bruno@clisp.org>

	* lib/progname.c (set_program_name): Fix comment.
	Reported by Jim Meyering.

2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	* lib/uname.c: Include <string.h>.
	(uname): Do only one call to GetVersionEx in the common case.

2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	* lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
	PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
	(uname): Add support for Windows CE and various non-x86 CPU types.

2009-10-03  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
	invocation to tests/configure.ac.
	Reported by Ian Beckwith <ianb@erislabs.net>.

2009-10-02  Eric Blake  <ebb9@byu.net>

	fchdir: avoid compiler warning
	* lib/fchdir.c (canonicalize_file_name)
	[!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.

	test-open: support mingw errno values
	* tests/test-open.h (test_open): Relax test.
	* tests/test-fopen.h (test_fopen): Likewise.
	* tests/test-openat-safer.c (main): Likewise.

	open: fix opening directory on mingw
	* lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.

	test-open: on GNU/Hurd, /dev/null is a directory
	* tests/test-fopen.h (main): Rename...
	(test_fopen): ...to this.  Use a guaranteed non-directory when
	confirming open behavior on trailing slash.
	* tests/test-openat-safer.c (main): Likewise.
	* tests/test-open.h (main): Likewise....
	(test_open): ...to this.
	* tests/test-fopen.c (main): Adjust caller.
	* tests/test-fopen-safer.c (main): Likewise.
	* tests/test-open.c (main): Likewise.
	* tests/test-fcntl-safer.c (main): Likewise.
	Reported by Samuel Thibault.

	rename, fchdir: don't ignore chdir failure
	* lib/fchdir.c (get_name): Abort on unexpected chdir failure.
	* lib/rename.c (rpl_rename) [W32]: Likewise.
	(rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
	an empty destination directory if source cannot be renamed,
	although there is still possibility for failure.
	* doc/posix-functions/rename.texi (rename): Document the race.
	Reported by Jim Meyering.

	maint: cleanup whitespace in recent commits
	* lib/rename.c (rpl_rename): Remove tabs.
	* tests/test-link.h (test_link): Likewise.
	* lib/fchdir.c (get_name): Likewise.
	Reported by Jim Meyering.

2009-10-02  Ben Pfaff  <blp@gnu.org>

	relocatable-prog-wrapper: Add missing dependency on
	double-slash-root.
	* modules/relocatable-prog-wrapper: Add dependency.
	Reported by Ian Beckwith <ianb@erislabs.net>.

2009-10-02  Eric Blake  <ebb9@byu.net>

	renameat: fix Solaris bugs
	* m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
	needed fixing.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
	* modules/stdio (Makefile.am): Substitute it.
	* lib/stdio.in.h (renameat): Declare replacement.
	* lib/renameat.c (rpl_renameat): Implement fix.

	renameat: new module
	* modules/renameat: New file.
	* lib/renameat.c (renameat): Likewise.
	* m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
	* modules/stdio (Makefile.am): Substitute them.
	* lib/stdio.in.h (renameat): Declare it.
	* MODULES.html.sh (systems lacking POSIX:2008): Mention module.
	* doc/posix-functions/renameat.texi (renameat): Likewise.
	* modules/renameat-tests: New test.
	* tests/test-renameat.c: Likewise.

	rename: fix mingw bugs
	* lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
	directory overwrite bugs.

	rename: fix another cygwin 1.5 bug
	* m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
	checks.
	* lib/rename.c (rpl_rename): Don't penalize NetBSD with
	unnecessary cygwin workarounds.  Also work around bug with moving
	full directory onto an empty one.
	* modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.

	rename-dest-slash: merge into rename module
	* modules/rename-dest-slash (Status): Mark obsolete.
	(Depends-on): Add rename.
	(Files): Let rename do it all.
	* m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
	subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
	* m4/rename-dest-slash.m4: ...so this file can be deleted.
	* lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
	* lib/rename.c (rpl_rename): Update comments.

	rename: fix cygwin 1.5.x bugs
	* m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
	* lib/rename.c (rpl_rename): Work around them.
	* modules/rename (Depends-on): Add same-inode.

	rename: fix Solaris 10 bug
	* m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
	* lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
	was the only bug.

	rename: fix Solaris 9 bug
	* lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
	on non-directory.  Avoid calling exit.
	* modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
	strdup.
	* modules/rename-tests (Depends-on): Drop lstat.
	* m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
	(gl_PREREQ_RENAME): Delete unused macro.

	rename-dest-slash: fix NetBSD bug
	* lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
	links.
	* modules/rename-dest-slash (Depends-on): Add same-inode.

	rename-tests: new test, exposes several platform bugs
	* modules/rename-tests: New file.
	* tests/test-rename.h: Likewise.
	* tests/test-rename.c: Likewise.
	* doc/posix-functions/rename.texi (rename): Improve documentation,
	including bugs that will eventually be fixed in gnulib.

2009-10-02  Paolo Bonzini  <bonzini@gnu.org>

	* lib/uname.c: Include <stdlib.h>
	(uname): Assume version info is available.

2009-10-02  Jim Meyering  <meyering@redhat.com>

	gnu-web-doc-update: correct --help output
	* build-aux/gnu-web-doc-update: Make --help output relevant.

	gnu-web-doc-update: add standard options
	* build-aux/gnu-web-doc-update: Add --help, --version, etc.

	gnu-web-doc-update: New module.
	Use this script to automatically update the on-line web documentation
	for your GNU project at http://www.gnu.org/software/$pkg/manual/
	* modules/gnu-web-doc-update: New file, from coreutils.
	* build-aux/gnu-web-doc-update: New script.

2009-10-01  Paolo Bonzini  <bonzini@gnu.org>

	link: LoadLibrary is not needed.
	* lib/link.c: Use GetModuleHandle.

2009-10-01  Eric Blake  <ebb9@byu.net>

	getopt: bump serial number
	* m4/getopt.m4: Increment serial number, to account for 2009-09-24
	change.

	tests: tighten link, rmdir, and remove tests
	* tests/test-link.h (includes): No need to use <config.h> here.
	Clean up if directory hard link was created, otherwise test for
	trailing '.'.
	* tests/test-linkat.c (main): Simplify.
	* tests/test-remove.c (main): Enhance test for trailing '.'.
	* tests/test-rmdir.h (test_rmdir_func): Likewise.

2009-10-01  Jim Meyering  <meyering@redhat.com>

	maint.mk: requiring "make major" was annoying, for a "minor" release.
	What is intended is "stable", to contrast with alpha and beta,
	so require "make stable", not "make major".
	* build-aux/announce-gen (%valid_release_types): s/major/stable/.
	(get_tool_versions): Likewise.
	* top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/

2009-09-30  Ben Pfaff  <blp@gnu.org>

	Fix broken build of replacement for Windows tmpfile().
	* lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
	flags argument added along with the 'mkostemp' module.

2009-09-28  Bruno Haible  <bruno@clisp.org>

	Avoid identifier clash with POSIX function 'remove' defined as a macro.
	* lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
	to 'remove_elt'.
	(gl_list_remove): Update.
	* lib/gl_list.c (gl_list_remove): Update.
	* lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
	to 'remove_elt'.
	(gl_oset_remove): Update.
	* lib/gl_list.c (gl_oset_remove): Update.
	Reported by Eric Blake.

2009-09-28  Eric Blake  <ebb9@byu.net>

	doc: mention yet more cygwin 1.7 status
	* doc/posix-functions/fexecve.texi (fexecve): Now implemented in
	cygwin.
	* doc/glibc-functions/execvpe.texi (execvpe): New file.
	* doc/gnulib.texi (Glibc unistd.h): Mention it.

	argp: fix test failure
	* lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
	that are not upper-case.  Pass correct range to tolower.

2009-09-27  Jim Meyering  <meyering@redhat.com>

	test-yesno: work around sparc-dash here-document infelicity
	Without this change, the literal \177 byte in a here document
	would make dash 0.5.5.1-3 access uninitialized memory.
	* tests/test-yesno.sh: Don't put the \177 byte in the here document.
	Instead, use a marker, "@", and filter through tr to create the desired
	contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.

2009-09-27  Bruno Haible  <bruno@clisp.org>

	Disable untested support for new flavours of ACLs on AIX.
	* lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
	progress.
	* lib/set-mode-acl.c (qset_acl): Likewise.

2008-12-07  Bruno Haible  <bruno@clisp.org>

	Add support for new flavours of ACLs on AIX. (Untested.)
	* lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
	(file_has_acl): Add support for newer AIX.
	* lib/set-mode-acl.c (qset_acl): Likewise.
	* tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
	Rainer Tammer <tammer@tammer.net>.

2009-09-26  Eric Blake  <ebb9@byu.net>

	argp: fix compilation of getopt
	* lib/getopt.in.h (includes): Use different guard than glibc.
	Reported by Sergey Poznyakoff.

	doc: mention more cygwin 1.7 status
	* doc/posix-functions/access.texi (access): Mention cygwin 1.5
	bug.
	* doc/posix-functions/execl.texi (execl): Likewise.
	* doc/posix-functions/execle.texi (execle): Likewise.
	* doc/posix-functions/execlp.texi (execlp): Likewise.
	* doc/posix-functions/execv.texi (execv): Likewise.
	* doc/posix-functions/execve.texi (execve): Likewise.
	* doc/posix-functions/execvp.texi (execvp): Likewise.
	* doc/glibc-functions/canonicalize_file_name.texi
	(canonicalize_file_name): Cygwin 1.7 now provides this.
	* doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
	* doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
	on AT_SYMLINK_NOFOLLOW.

2009-09-24  Eric Blake  <ebb9@byu.net>

	test-linkat: make test more robust
	* tests/test-linkat.c (main): Avoid collision with EEXIST.

	getopt: fix inclusion guards for cygwin
	* modules/getopt-posix (Depends-on): Add include-next.
	(Makefile.am): Substitute more items in replacement header.
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
	<getopt.h>.
	* lib/getopt.in.h (includes): Use split inclusion guard, and
	prefer <getopt.h> over include <unistd.h> when one is present.
	(option): Also override name of 'struct option'.

	same-inode: revert prior change; it is not yet ready
	* NEWS: Undo mention of this change.
	* lib/same-inode.h (same-inode.h): Undo tri-state change.
	* lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
	* lib/cycle-check.c (cycle_check): Likewise.
	* lib/same.c (same_name): Likewise.
	* lib/at-func2.c (at_func2): Likewise.

2009-09-23  Eric Blake  <ebb9@byu.net>

	linkat: new module
	* modules/linkat: New file.
	* lib/at-func2.c (at_func2): Likewise.
	* lib/linkat.c (linkat): Likewise.
	* m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
	* lib/openat-priv.h (at_func2): Add declaration.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
	* modules/unistd (Makefile.am): Substitute them.
	* lib/unistd.in.h (linkat): Declare it.
	* MODULES.html.sh (systems lacking POSIX:2008): Mention module.
	* doc/posix-functions/linkat.texi (linkat): Likewise.
	* doc/posix-functions/link.texi (link): Tweak wording.
	* tests/test-link.c (main): Move guts...
	* tests/test-link.h (test_link): ...into new file.
	* modules/linkat-tests: New test.
	* tests/test-linkat.c: Likewise.
	* modules/link-tests (Files): Ship new file.
	(Depends-on): Add stdbool.

	dirname: add library-safe mdir_name
	* lib/dirname.h (mdir_name): New prototype.
	* lib/dirname.c (dir_name): Move guts...
	(mdir_name): ...to new function that avoids xalloc_die.

	fchdir: another mingw fix
	* modules/fchdir (Depends-on): Drop canonicalize-lgpl.
	* lib/fchdir.c (get_name): New helper method; skips canonicalize
	on mingw (where it has not yet been ported), and make it optional
	elsewhere.
	(_gl_register_fd): Use it.

	same-inode: make SAME_INODE tri-state, to port to mingw
	* NEWS: Mention this change.
	* lib/same-inode.h (same-inode.h): Recognize mingw limitation of
	st_ino always being 0.
	* lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
	* lib/cycle-check.c (cycle_check): Likewise.
	* lib/same.c (same_name): Likewise.

	lstat: avoid mingw compilation error
	* m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
	AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
	lstat ourselves.
	* lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
	was adequate.
	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
	the checks for lstat.
	(gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.

	link: fix test failure on Solaris 9
	* lib/link.c (rpl_link): Don't assume link will catch bogus
	trailing slash on source.

	test-symlinkat: enhance test
	* tests/test-readlink.c (main): Move guts...
	* tests/test-readlink.h (test_readlink): ...into new file.
	* tests/test-symlink.c (main): Move guts...
	* tests/test-symlink.h (test_symlink): ...into new file.
	* tests/test-symlinkat.c (main): Use new files for further
	coverage.
	(do_symlink, do_readlink): New helper functions.
	* modules/symlink-tests (Files): Ship new file.
	(Depends-on): Add stdbool.
	* modules/readlink-tests (Files): Ship new file.
	(Depends-on): Add stdbool.
	* modules/symlinkat-tests (Files): Use new files.

2009-09-23  Eric Blake  <ebb9@byu.net>

	readlink: document portability issue with symlink length
	* doc/posix-functions/lstat.texi (lstat): Mention that some file
	systems have bogus st_size on symlinks, and mention the
	areadlink-with-size module.
	* doc/posix-functions/fstatat.texi (fstatat): Likewise.
	* doc/posix-functions/readlink.texi (readlink): Mention the
	areadlink module, and ERANGE failure.
	* doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
	* tests/test-readlink.c (main): Relax test for AIX, HP-UX.

	readlink: fix Solaris 9 bug with trailing slash
	* lib/readlink.c (rpl_readlink): Work around trailing slash bug.
	* m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
	* doc/posix-functions/readlink.texi (readlink): Document this.
	* modules/readlink-tests: New test.
	* tests/test-readlink.c: Likewise.

	readlink: fix cygwin 1.5.x bug with return type
	* m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
	* lib/unistd.in.h (readlink): Use ssize_t.
	* lib/readlink.c (readlink): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
	* modules/unistd (Makefile.am): Substitute it.
	* lib/unistd.in.h (readlink): Declare replacement.
	* doc/posix-functions/readlink.texi (readlink): Document this.

	symlink: use throughout gnulib
	* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
	* lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
	symlink is not used.
	* modules/symlinkat (Depends-on): Add symlink.
	* modules/canonicalize-lgpl-tests (Depends-on): Likewise.
	* modules/canonicalize-tests (Depends-on): Likewise.
	* modules/lstat-tests (Depends-on): Likewise.
	* modules/openat-tests (Depends-on): Likewise.
	* modules/remove-tests (Depends-on): Likewise.
	* modules/rmdir-tests (Depends-on): Likewise.
	* modules/unlink-tests (Depends-on): Likewise.
	* tests/test-canonicalize-lgpl.c (symlink): Delete stub.
	* tests/test-canonicalize.c (symlink): Likewise.
	* tests/test-fstatat.c (symlink): Likewise.
	* tests/test-lstat.c (symlink): Likewise.
	* tests/test-remove.c (symlink): Likewise.
	* tests/test-rmdir.c (symlink): Likewise.
	* tests/test-unlink.c (symlink): Likewise.
	* tests/test-unlinkat.c (symlink): Likewise.

	symlink: new module, for Solaris 9 bug
	* modules/symlink: New file.
	* m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
	* lib/symlink.c: Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
	* modules/unistd (Makefile.am): Substitute them.
	* lib/unistd.in.h (symlink): Declare replacement.
	* MODULES.html.sh (File system functions): Mention it.
	* doc/posix-functions/symlink.texi (symlink): Likewise.
	* modules/symlink-tests: New test.
	* tests/test-symlink.c: Likewise.

2009-09-23  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
	when needed.
	Test case: gnulib-tool --import --with-tests atexit inttypes.
	Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.

2009-09-23  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
	subcommand, not in a subshell.

2009-09-22  Eric Blake  <ebb9@byu.net>

	unistd: sort replacement declarations
	* lib/unistd.in.h: Sort declarations.

	open, openat: minor optimization
	* lib/open.c (open): If open succeeded, len is non-zero.
	* lib/openat.c (rpl_openat): Likewise.

	link-follow: ensure correct result
	* m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
	* m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
	distinguish between possible failures.

2009-09-21  Eric Blake  <ebb9@byu.net>

	fts: avoid compiler warning
	* lib/fts.c (dirent_inode_sort_may_be_useful)
	(leaf_optimization_applies) [!__linux__]: Mark unused parameters.

2009-09-19  Bruno Haible  <bruno@clisp.org>

	* lib/progreloc.c (canonicalize_file_name): New declaration.

2009-09-19  Eric Blake  <ebb9@byu.net>

	link: fix quoting
	* m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.

	openat: fix openat bugs on Solaris 9
	* lib/openat.c (rpl_openat): Work around Solaris 9 bug.
	* m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
	* modules/openat (Depends-on): Add open.
	* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
	* modules/fcntl-h (Makefile.am): Substitute it.
	* lib/fcntl.in.h (openat): Declare replacement.
	* doc/posix-functions/openat.texi (openat): Document this.

	openat: move fstatat and unlinkat into correct files
	* m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
	compiled.
	* lib/openat.c (fstatat, unlinkat): Move...
	* lib/fstatat.c (fstatat): ...into correct files.
	* lib/unlinkat.c (unlinkat): Likewise.

	openat: fix unlinkat bugs on Solaris 9
	* lib/unlinkat.c (unlinkat): New file.
	* modules/openat (Depends-on): Add unlink.
	(Files): Distribute it.
	* m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
	trailing slash behavior is broken.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
	* modules/unistd (Makefile.am): Substitute it.
	* lib/unistd.in.h (unlinkat): Declare replacement.
	* doc/posix-functions/unlinkat.texi (unlinkat): Document this.

	openat: fix fstatat bugs on Solaris 9
	* lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
	stat.
	* doc/posix-functions/fstatat.texi (fstatat): Document this.

	test-unlinkat: enhance test, to expose Solaris 9 bug
	* tests/test-unlink.c (main): Factor guts...
	* tests/test-unlink.h (test_rmdir_func): ...into new file.
	* tests/test-rmdir.h (test_rmdir_func): Add parameter.
	* tests/test-rmdir.c (main): Adjust caller.
	* tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
	(unlinker): New helper function.
	(rmdirat): Enhance check.
	* modules/rmdir-tests (Depends-on): Add stdbool.
	* modules/unlink-tests (Depends-on): Likewise.
	(Files): Add test-unlink.h.
	* modules/openat-tests (Files): Likewise.
	(Depends-on): Add unlinkdir.

	test-fstatat: new test, to expose Solaris 9 bugs
	* tests/test-stat.c (main): Factor guts...
	* tests/test-stat.h (test_stat_func): ...into new file.
	* tests/test-lstat.c (main): Factor guts...
	* tests/test-lstat.h (test_lstat_func): ...into new file.
	* tests/test-fstatat.c: New file.
	* modules/stat-tests (Files): Add test-stat.h.
	* modules/lstat-tests (Files): Add test-lstat.h.
	(Depends-on): Add stdbool.
	* modules/openat-tests (Depends-on): Add pathmax.
	(Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
	(Makefile.am): Run new test.

	remove: new module, for mingw and Solaris 9 bugs
	* modules/remove: New file.
	* lib/remove.c: Likewise.
	* m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
	* modules/stdio (Makefile.am): Use them.
	* lib/stdio.in.h (remove): Declare replacement.
	* MODULES.html.sh (systems lacking POSIX:2008): Mention module.
	* doc/posix-functions/remove.texi (remove): Likewise.
	* modules/remove-tests: New test.
	* tests/test-remove.c: Likewise.

	unlink: new module, for Solaris 9 bug
	* modules/unlink: New file.
	* lib/unlink.c: Likewise.
	* m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
	* modules/unistd (Makefile.am): Use them.
	* lib/unistd.in.h (stat): Declare replacement.
	* MODULES.html.sh (systems lacking POSIX:2008): Mention module.
	* doc/posix-functions/unlink.texi (unlink): Likewise.
	* modules/unlink-tests: New test.
	* tests/test-unlink.c: Likewise.

	lstat: fix Solaris 9 bug
	* lib/lstat.c (lstat): Also check for trailing slash on
	non-symlink, non-directories.  Use stat module to simplify logic.
	* doc/posix-functions/lstat.texi (lstat): Document it.
	* modules/lstat-tests (Depends-on): Add errno, same-inode.
	(configure.ac): Check for symlink.
	* tests/test-lstat.c (main): Add more tests.

	stat: add as dependency to other modules
	* modules/chown (Depends-on): Add stat.
	* modules/euidaccess (Depends-on): Likewise.
	* modules/fchdir (Depends-on): Likewise.
	* modules/isdir (Depends-on): Likewise.
	* modules/link (Depends-on): Likewise.
	* modules/lstat (Depends-on): Likewise.
	* modules/mkdir-p (Depends-on): Likewise.
	* modules/modechange (Depends-on): Likewise.
	* modules/open (Depends-on): Likewise.
	* modules/readlink (Depends-on): Likewise.
	* modules/same (Depends-on): Likewise.

	stat: fix Solaris 9 bug
	* m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
	slash.
	* lib/stat.c (rpl_stat): Work around it.
	* doc/posix-functions/stat.texi (stat): Update documentation.

	stat: new module, for mingw bug
	* modules/stat: New file.
	* lib/stat.c: Likewise.
	* m4/stat.m4 (gl_FUNC_STAT): Likewise.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
	* modules/sys_stat (Makefile.am): Use them.
	* lib/sys_stat.in.h (stat): Declare replacement.
	* lib/openat.c (fstatat): Deal with lstat and stat being function
	macros.
	* modules/openat (Depends-on): Add inline.
	* MODULES.html.sh (systems lacking POSIX:2008): Mention module.
	* doc/posix-functions/stat.texi (stat): Likewise.
	* modules/stat-tests: New test.
	* tests/test-stat.c: Likewise.

2009-09-19  Jim Meyering  <meyering@redhat.com>

	syntax-check: detect unnecessary inclusion of canonicalize.h
	* top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.

2009-09-19  Eric Blake  <ebb9@byu.net>

	canonicalize-lgpl: adjust clients to use correct header
	* m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
	(gl_CANONICALIZE_LGPL): Use correct shell quoting.
	* modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
	* lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
	* lib/progreloc.c (includes): Likewise.

2009-09-19  Jim Meyering  <meyering@redhat.com>

	test-posixtm.c: correct a comment
	* tests/test-posixtm.c: Correct first-line comment.
	Spotted by Eric Blake.

2009-09-16  Jim Meyering  <meyering@redhat.com>

	posixtm-tests: make T const-correct; add a test case
	* tests/test-posixtm.c (T): Declare const.
	Add a test for -(2^31+1).
	Remove useless can-succeed-only-in-2002 test.

	posixtm-tests: adjust the sole failing test
	* tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
	expected output matches what mktime now produces.  Cross-checked via
	erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})

	posixtm: move #ifdef'd tests into a new module
	* lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
	* tests/test-posixtm.c: ... this new file.
	* modules/posixtm-tests: New module.

2009-09-19  Eric Blake  <ebb9@byu.net>

	openat: simplify use of at-func.c
	* lib/at-func.c (includes): Include prerequisites here, to
	simplify requirements on client files.
	* lib/openat-priv.h: Add double-inclusion guard.
	* lib/faccessat.c (includes): Simplify.
	* lib/fchmodat.c (includes): Likewise.
	* lib/fchownat.c (includes): Likewise.
	* lib/mkdirat.c (includes): Likewise.
	* lib/mkfifoat.c (includes): Likewise.
	* lib/symlinkat.c (includes): Likewise.

	openat: allow return of fd 0
	* modules/chdir-long (Depends-on): Relax openat-safer to openat.
	* modules/save-cwd (Depends-on): Replace fcntl-safer with
	unistd-safer.
	* lib/chdir-long.c (includes): Replace "fcntl--.h" with
	<fcntl.h>; this module does not leak fds.
	* lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
	must be allowed to return 0, leaving openat_safer to add the
	safety.
	(openat_permissive): Avoid writing to just-opened fd 2 if
	restoring the current directory fails.
	* lib/openat-die.c (openat_restore_fail): Add comment.
	* lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
	(save_cwd): Guarantee safe fd, but without use of open_safer.
	* tests/test-openat.c: New test.
	* modules/openat-tests (Files, Makefile.am): Distribute and build
	new file.

	relocatable-prog-wrapper: fix build
	* modules/relocatable-prog-wrapper (Files): Update name of
	canonicalize m4 file, broken on 2009-09-17.
	Reported by emad hajjar <aleppos@hotmail.com>.

2009-09-19  Bruno Haible  <bruno@clisp.org>

	* lib/safe-alloc.h: Use the standard header with GPL copyright.
	* lib/safe-alloc.c: Likewise.
	Reported by Ian Beckwith <ianb@erislabs.net>.

2009-09-18  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Add advice to "cannot find configure.ac" error message.
	Reported by <erobles@sensacd.com.mx>.

2009-09-17  Eric Blake  <ebb9@byu.net>

	canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
	* lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
	slashes when checking if last component is missing.
	* tests/test-canonicalize.c (main): Test this.

	canonicalize, canonicalize-lgpl: honor // if distinct from /
	* modules/canonicalize (Files): Add double-slash-root.m4.
	* modules/canonicalize-lgpl (Files): Likewise.
	* m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
	(gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
	* lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
	fallback definition.
	(canonicalize_filename_mode): Use it to protect //.
	* lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
	(__realpath): Likewise.
	* tests/test-canonicalize.c (main): Test this.
	* tests/test-canonicalize-lgpl.c (main): Likewise.
	* modules/canonicalize-tests (Depends-on): Add same-inode.
	* modules/canonicalize-lgpl-tests (Depends-on): Likewise.

	canonicalize-lgpl: fix glibc bug with trailing slash
	* m4/canonicalize-lgpl.m4: Move contents...
	* m4/canonicalize.m4: ...here.
	(gl_CANONICALIZE_LGPL): Factor realpath check...
	(gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
	glibc 2.3.5 bug, fixed 2005-04-27.
	(gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
	(gl_PREREQ_CANONICALIZE_LGPL): Inline...
	(gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
	* modules/canonicalize-lgpl (Files): Manage file rename.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
	* modules/stdlib (Makefile.am): Substitute witness.
	* lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
	is needed.
	* lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
	replacement is required.
	* lib/canonicalize.c (canonicalize_file_name): Likewise.
	* doc/glibc-functions/canonicalize_file_name.texi
	(canonicalize_file_name): Document this.
	* doc/posix-functions/realpath.texi (realpath): Likewise.

	canonicalize-lgpl: reject non-directory with trailing slash
	* lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
	* tests/test-canonicalize-lgpl.c (main): Enhance test.  This
	catches failures in glibc 2.3.5.
	* tests/test-canonicalize.c (main): Likewise.

	canonicalize-lgpl: use native realpath if it works
	* lib/canonicalize-lgpl.c (realpath): Guard with
	FUNC_REALPATH_WORKS.
	* lib/stdlib.in.h (realpath): Make declaration optional based on
	HAVE_REALPATH.
	* m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
	native realpath works.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
	* modules/stdlib (Makefile.am): Substitute witness.

	canonicalize, canonicalize-lgpl: use <stdlib.h>
	* modules/canonicalize-lgpl (Files): Drop canonicalize.h.
	(Include): Mention <stdlib.h>.
	(configure.ac): Mention functions we provide.
	* modules/canonicalize (configure.ac): Likewise.
	* m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
	realpath if canonicalize_file_name is missing.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
	* modules/stdlib (Makefile.am): Substitute witnesses.
	* lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
	* lib/canonicalize-lgpl.c (includes): Adjust accordingly.
	* lib/canonicalize.h (canonicalize_file_name): Drop declaration.
	* NEWS: Document this.
	* doc/glibc-functions/canonicalize_file_name.texi
	(canonicalize_file_name): Likewise.
	* doc/posix-functions/realpath.texi (realpath): Likewise.
	* tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.

	test-canonicalize: consolidate into single C program
	* tests/test-canonicalize.sh: Delete; move setup into...
	* tests/test-canonicalize.c (main): ...the program, making it
	easier to run in debugger.  Add some tests.
	* modules/canonicalize-tests (Files): Remove unused file.
	(Depends-on): Add progname.
	(configure.ac, Makefile.am): Simplify.

	test-canonicalize-lgpl: consolidate into single C program
	* tests/test-canonicalize-lgpl.sh: Delete; move setup into...
	* tests/test-canonicalize-lgpl.c (main): ...the program, making it
	easier to run in debugger.  Add some tests.
	* modules/canonicalize-lgpl-tests (Files): Remove unused file.
	(configure.ac, Makefile.am): Simplify.

	canonicalize: avoid resolvepath
	* m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
	unnecessary checks.
	* lib/canonicalize.c (includes): Simplify.
	(canonicalize_file_name): Drop resolvepath implementation.
	* modules/canonicalize (Depends-on): Drop filenamecat.

	canonicalize: don't lose errno
	* lib/canonicalize.c (canonicalize_filename_mode): Protect errno
	over calls to free.

	canonicalize: simplify errno handling
	* lib/canonicalize.c (__set_errno): Delete macro, and use direct
	assignment.

	canonicalize, canonicalize-lgpl: update module dependencies
	* modules/canonicalize (Depends-on): Add extensions, lstat,
	pathmax, stdlib.
	(Files): Drop pathmax.h.
	(configure.ac): Adjust macro name.
	* modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
	lstat, stdlib, sys_stat.
	* m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
	(gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
	extensions.
	* m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
	(gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
	(gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
	* lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
	declaration, if available.
	* lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
	we can rely on the readlink module.
	(MAXSYMLINKS): Also consult SYMLOOP_MAX.
	(includes): Use <unistd.h> unconditionally.

2009-09-17  Eric Blake  <ebb9@byu.net>

	maint: make Include sections of modules consistent
	* modules/alloca: Use only header name; no need to list #include.
	* modules/alloca-opt: Likewise.
	* modules/arpa_inet: Likewise.
	* modules/canon-host: Likewise.
	* modules/configmake: Likewise.
	* modules/dirent: Likewise.
	* modules/eealloc: Likewise.
	* modules/environ: Likewise.
	* modules/fchdir: Likewise.
	* modules/fcntl: Likewise.
	* modules/fcntl-h: Likewise.
	* modules/gethrxtime: Likewise.
	* modules/gettime: Likewise.
	* modules/ignore-value: Likewise.
	* modules/inet_ntop: Likewise.
	* modules/inet_pton: Likewise.
	* modules/inttypes: Likewise.
	* modules/isnand-nolibm: Likewise.
	* modules/isnanf-nolibm: Likewise.
	* modules/mbchar: Likewise.
	* modules/mbfile: Likewise.
	* modules/mbiter: Likewise.
	* modules/mbuiter: Likewise.
	* modules/netdb: Likewise.
	* modules/netinet_in: Likewise.
	* modules/nproc: Likewise.
	* modules/pagealign_alloc: Likewise.
	* modules/poll: Likewise.
	* modules/printf-frexp: Likewise.
	* modules/pthread: Likewise.
	* modules/putenv: Likewise.
	* modules/random_r: Likewise.
	* modules/relocatable-prog: Likewise.
	* modules/search: Likewise.
	* modules/select: Likewise.
	* modules/selinux-h: Likewise.
	* modules/settime: Likewise.
	* modules/signal: Likewise.
	* modules/size_max: Likewise.
	* modules/socklen: Likewise.
	* modules/ssize_t: Likewise.
	* modules/stdarg: Likewise.
	* modules/stdbool: Likewise.
	* modules/stddef: Likewise.
	* modules/stdint: Likewise.
	* modules/stdio: Likewise.
	* modules/stdlib: Likewise.
	* modules/string: Likewise.
	* modules/strings: Likewise.
	* modules/sys_file: Likewise.
	* modules/sys_ioctl: Likewise.
	* modules/sys_select: Likewise.
	* modules/sys_socket: Likewise.
	* modules/sys_stat: Likewise.
	* modules/sys_time: Likewise.
	* modules/sys_times: Likewise.
	* modules/sys_utsname: Likewise.
	* modules/sys_wait: Likewise.
	* modules/sysexits: Likewise.
	* modules/time: Likewise.
	* modules/times: Likewise.
	* modules/tmpfile: Likewise.
	* modules/trim: Likewise.
	* modules/unistd: Likewise.
	* modules/wchar: Likewise.
	* modules/wctype: Likewise.

2009-09-17  Bruno Haible  <bruno@clisp.org>

	Make getdate.y compile on QNX and NetBSD 5 / i386.
	* m4/getdate.m4 (gl_GETDATE): Conditionally define
	TIME_T_FITS_IN_LONG_INT.
	* lib/getdate.y (long_time_t): New type.
	(relative_time): Change type of 'seconds' field to long_time_t.
	(get_date): Update types of local variables. Check against overflow
	during conversion from long_time_t to time_t.
	Reported by Matt Kraai <kraai@ftbfs.org>
	and Hasso Tepper <hasso@netbsd.org>.

2009-09-17  Bruno Haible  <bruno@clisp.org>

	* modules/COPYING: Update copyright years.
	* modules/README: Likeiwse.
	* doc/gnulib-intro.texi (Copyright): Use a wildcard year.
	Reported by Ian Beckwith <ianb@erislabs.net>.

2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)

	* users.txt: Update references for gnuit package.

2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)

	* m4/getdelim.m4: Fix typo in copyright line.

2009-09-17  Bruno Haible  <bruno@clisp.org>

	* lib/atoll.c: Use the standard header with GPL copyright.
	* lib/argz.in.h: Likewise.
	* lib/glob.c: Likewise.
	* lib/glob-libc.h: Likewise.
	* lib/random_r.c: Likewise.
	* lib/siglist.h: Likewise.
	* lib/strsignal.c: Likewise.
	Reported by Ian Beckwith <ianb@erislabs.net>.

2009-09-17  Eric Blake  <ebb9@byu.net>

	rmdir: ensure correct dependency order
	* m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.

2009-09-17  Bruno Haible  <bruno@clisp.org>

	Disable assertion that fails on NetBSD 5 / i386.
	* lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
	Reported by Sam Steingold <sds@gnu.org>
	and Hasso Tepper <hasso@netbsd.org>.

2009-09-16  Eric Blake  <ebb9@byu.net>

	unlinkdir: port to mingw
	* m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
	on which no one can unlink a directory.

	stdlib: sort witness names
	* modules/stdlib (Makefile.am): Sort replacements.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
	* lib/stdlib.in.h: Likewise.

	parse-duration-tests: avoid link failure
	* modules/parse-duration-tests (test_parse_duration_LDADD): Add
	LIBINTL.
	Reported by Tom G. Christensen.

	openat-tests: ensure unlinkat behaves like rmdir
	* tests/test-rmdir.c (main): Factor guts...
	* tests/test-rmdir.h (test_rmdir_func): ...into new file.
	* modules/rmdir-tests (Files): Ship new file.
	* modules/openat-tests: New test.
	* tests/test-unlinkat.c: Likewise.

	rmdir-errno: mark obsolete, it is unsafe for cross-compilation
	* modules/rmdir-errno (Status, Notice): Now obsolete.

	rmdir: work around cygwin 1.5.x and mingw bugs
	* m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
	* lib/rmdir.c (rmdir): Work around it.
	* modules/rmdir (Status, Notice): No longer obsolete.
	(Files): Add dos.m4.
	(Depends-on): Add unistd.
	(configure.ac): Set witnesses.
	(License): Relax to LGPLv2+.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
	* modules/unistd (Makefile.am): Substitute witnesses.
	* lib/unistd.in.h (rmdir): Declare replacement.
	* doc/posix-functions/rmdir.texi (rmdir): Document this.
	* modules/rmdir-tests: New tests.
	* tests/test-rmdir.c: Likewise.

2009-09-15  Eric Blake  <ebb9@byu.net>

	fchdir: improve use of replacement functions
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
	* m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
	REPLACE_CLOSEDIR.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
	* modules/sys_stat (Makefile.am): Substitute correct witness.
	* modules/dirent (Makefile.am): Likewise.
	* modules/unistd (Makefile.am): Likewise.
	* lib/dirent.in.h (opendir, closedir): Use better witnesses.
	* lib/unistd.in.h (dup): Likewise.
	* lib/sys_stat.in.h (fstat): Likewise.

	maint: ignore gnulib-tool temp files
	* .gitignore: Ignore files created during gnulib-tool --test.

2009-09-13  Jim Meyering  <meyering@redhat.com>

	posixtm: don't reject a time that specify "60" as the number of seconds
	* lib/posixtm.c (posixtime): The code to reject invalid dates
	would also reject a time specified with the .60 suffix.
	But POSIX allows that, in order to accommodate leap seconds.
	So don't reject it.
	(main): Adjust tests accordingly.
	* modules/posixtm (Depends-on): Add stpcpy.

2009-09-11  Jim Meyering  <meyering@redhat.com>

	announce-gen: include [$release_type] in emitted Subject:
	* build-aux/announce-gen (get_tool_versions): Include [$release_type],
	e.g., [stable] in the emitted Subject: line.

2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Remove obsolete macros from several modules.
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
	obsolete Autoconf macros with their modern counterparts.
	* m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
	* m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
	* m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
	* m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
	* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
	* m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
	* m4/poll.m4 (gl_FUNC_POLL): Likewise.
	* m4/readline.m4 (gl_FUNC_READLINE): Likewise.
	* m4/round.m4 (gl_FUNC_ROUND): Likewise.
	* m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
	* m4/select.m4 (gl_FUNC_SELECT): Likewise.
	* m4/sockets.m4 (gl_SOCKETS): Likewise.
	* m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
	* m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
	* m4/sysexits.m4 (gl_SYSEXITS): Likewise.
	* m4/time_r.m4 (gl_TIME_R): Likewise.
	* m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
	* m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
	* m4/wctype.m4 (gl_WCTYPE_H): Likewise.

	Fix copyright header in build-aux scripts.
	* build-aux/git-version-gen: Fix copyright header to match GPLv3
	recommendation.
	* build-aux/ncftpput-ftp: Likewise.
	* build-aux/update-copyright: Likewise.

2009-09-09  Eric Blake  <ebb9@byu.net>

	test-link: allow Linux choice of errno
	* tests/test-link.c (main): Relax test for alternate error.

	strndup: fix improper m4 caching
	* m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
	inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
	(gl_PREREQ_STRNDUP): Delete.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
	* modules/string (Makefile.am): Substitute it.
	* lib/string.in.h (strndup): Modernize prototype.

	getcwd: port to mingw
	* m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
	different from the POSIX assumptions made throughout the getcwd
	module; fortunately, the mingw getcwd does not need replacement.
	(gl_FUNC_GETCWD_NULL): Skip test on mingw.
	* modules/getcwd-tests: New test.
	* tests/test-getcwd.c: Likewise.

	link: fix platform bugs
	* m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
	* lib/link.c (link): Work around them.  Fix related mingw bug.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
	* modules/unistd (Makefile.am): Substitute it.
	* lib/unistd.in.h (link): Declare replacement.
	* doc/posix-functions/link.texi (link): Document this.
	* modules/link (Depends-on): Add strdup-posix, sys_stat.

	test-link: consolidate into single C program, test more cases
	* tests/test-link.sh: Delete.
	* tests/test-link.c: Test more error conditions.  Exposes bugs on
	at least Cygwin and Solaris.
	* modules/link-tests (Files): Remove unused file.
	(Depends-on): Add errno, sys_stat.
	(Makefile.am): Simplify.

2009-09-08  Bruno Haible  <bruno@clisp.org>

	Work around towlower, towupper bug on mingw.
	* lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
	* m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
	* doc/posix-functions/towlower.texi: Mention the mingw bug.
	* doc/posix-functions/towupper.texi: Likewise.
	Reported by Eric Blake.

2009-09-08  Jim Meyering  <meyering@redhat.com>

	build: don't try to run autoheader if we don't use it
	* build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
	is not used in configure.ac.

2009-09-08  Eric Blake  <ebb9@byu.net>

	euidaccess: fix compilation error
	* lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.

	rawmemchr: relax license
	* modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
	okay.
	Reported by Jim Meyering.

	mkfifoat: new module
	* modules/mkfifoat: New file.
	* lib/mkfifoat.c: Likewise.
	* m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
	* modules/sys_stat (Makefile.am): Use them.
	* lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
	* MODULES.html.sh (File system functions): Mention module.
	* doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
	* doc/posix-functions/mknodat.texi (mknodat): Likewise.
	* modules/mkfifoat-tests: New test.
	* tests/test-mkfifoat.c: Likewise.

	strchrnul: relax license
	* modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
	okay.
	Reported by Jim Meyering.

2009-09-08  Eric Blake  <ebb9@byu.net>

	fstatat: fix compilation on Solaris
	* lib/fstatat.c (includes): Add fcntl.h.
	Reported by Pádraig Brady.

2009-09-07  Eric Blake  <ebb9@byu.net>

	rename: modernize replacement
	* modules/rename (Depends-on): Add stdio.
	(configure.ac): Declare witness.
	* m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
	stdio take care of replacement.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
	* modules/stdio (Makefile.am): Substitute them.
	* lib/stdio.in.h (rename): Declare replacement.
	* lib/rename.c (includes): Allow cross-compilation to non-windows
	machines.
	* doc/posix-functions/rename.texi (rename): Improve
	documentation.

	stdio: sort witness names
	* modules/stdio (Makefile.am): Sort replacements.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
	* lib/stdio.in.h: Likewise.

	getcwd: minor cleanups
	* lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
	(is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.

	openat: provide more convenience names
	* modules/faccessat (configure.ac): Add C witness.
	* lib/unistd.in.h (readlinkat): Fix typo.
	* lib/openat.h (statat, lstatat, accessat, euidaccessat): New
	convenience wrappers.
	* top/maint.mk (sc_prohibit_openat_without_use): Allow these
	wrappers in syntax checks.

2009-09-06  Eric Blake  <ebb9@byu.net>

	doc: fix comments in recent patches
	* lib/faccessat.c: Mention correct function.
	* lib/fchmodat.c: Likewise.
	* lib/fchownat.c: Likewise.
	* lib/symlinkat.c: Likewise.
	* doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
	constants.

	faccessat, symlinkat: continue cleanup of previous patch
	* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
	* m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
	* modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
	* modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
	* lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
	set.

2009-09-06  Bruno Haible  <bruno@clisp.org>

	* lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
	(fstatat): Declare if GNULIB_FSTATAT is set.
	(mkdirat): Declare if GNULIB_MKDIRAT is set.
	* lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
	(unlinkat): Declare if GNULIB_UNLINKAT is set.
	* modules/fcntl-h (Files): Remove m4/openat.m4.
	* modules/sys_stat (Files): Remove m4/openat.m4.
	(Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
	GNULIB_MKDIRAT instead of GNULIB_OPENAT.
	* modules/unistd (Files): Remove m4/openat.m4.
	(Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
	GNULIB_OPENAT.
	* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
	HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
	GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
	HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
	gl_OPENAT_DEFAULTS.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
	GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
	Don't require gl_OPENAT_DEFAULTS.
	* m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
	gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
	GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
	(gl_OPENAT_DEFAULTS): Remove macro.

2009-09-06  Bruno Haible  <bruno@clisp.org>

	* modules/openat (configure.ac): Remove unneeded witness.

2009-09-06  Bruno Haible  <bruno@clisp.org>

	Set errno to ENOSYS when a function is entirely unsupported.
	* lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
	EOPNOTSUPP.
	* lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
	* modules/chown (Depends-on): Remove errno.

2009-09-06  Bruno Haible  <bruno@clisp.org>

	* doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.

2009-09-06  Bruno Haible  <bruno@clisp.org>

	* lib/sys_stat.in.h: Fix preprocessor command indentation.

2009-09-06  Ben Pfaff  <blp@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	Work around a glibc bug in strtok_r.
	* lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
	Undefine if UNDEFINE_STRTOK_R is set.
	* lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
	REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
	* m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
	* modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
	UNDEFINE_STRTOK_R.
	* doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.

2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>

	exclude: minor fix
	* lib/exclude.c: Include wctype.h

2009-09-06  Akim Demaille  <demaille@gostai.com>

	bootstrap: improve error message
	* build-aux/bootstrap (find_tool): Upon failure, report the list
	of candidates.
	Honor the initial value of the envvar.

2009-09-05  Eric Blake  <ebb9@byu.net>

	symlinkat: new module
	* modules/symlinkat: New file.
	* lib/symlinkat.c: Likewise.
	* m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
	* modules/unistd (Makefile.am): Use them.
	* lib/unistd.in.h (symlinkat, readlinkat): Declare them.
	(faccessat) [GNULIB_POSIXCHECK]: Fix typo.
	* lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
	* MODULES.html.sh (File system functions): Mention module.
	* doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
	* doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
	* modules/symlinkat-tests: New test.
	* tests/test-symlinkat.c: Likewise.

	test-openat-safer: add more checks
	* tests/test-openat-safer.c (main): Check more code paths.

2009-09-05  Jim Meyering  <meyering@redhat.com>

	syntax-check: detect unnecessary inclusion of openat.h
	* top/maint.mk (sc_prohibit_openat_without_use): New rule.

2009-09-05  Bruno Haible  <bruno@clisp.org>

	Support towlower, towupper.
	* doc/posix-functions/towlower.texi: Mention module wctype.
	* doc/posix-functions/towupper.texi: Likewise.
	* lib/wctype.in.h (towlower, towupper): New functions.
	* tests/test-wctype.c: Include stdio.h, stdlib.h.
	(ASSERT): New macro.
	(e): New variable.
	(main): Test also towlower, towupper. Test WEOF argument.
	Reported by Alan Hourihane <alanh@fairlite.co.uk>.

2009-09-05  Bruno Haible  <bruno@clisp.org>

	Fix conversion behaviour when the input is invalid.
	* lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
	mark occurring in first pass of indirect conversion.
	* tests/test-striconveh.c (main): Test conversion of invalid ASCII
	input.
	Found by clang's static analyzer.

2009-09-05  Bruno Haible  <bruno@clisp.org>

	* tests/test-striconveh.c (main): Test indirect conversion on platforms
	where direct conversion is possible.

2009-09-04  Eric Blake  <ebb9@byu.net>

	openat: fail with ENOENT on empty name
	* lib/openat-proc.c (openat_proc_name): Special-case the empty
	buffer.

	link-follow: fix logic bug in prior patch
	* m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
	reversed sense of yes and no in prior patch.  Avoid confusing
	compilation failure with desired semantics.

	link-follow: accommodate mingw and cross-compilation
	* m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
	(gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
	cross-compilation results to -1, to make linkat easier to
	implement when cross-compiling.  Trivially support mingw.
	* modules/link-follow (configure.ac): Call new name.
	* NEWS: Mention this.

2009-09-03  Eric Blake  <ebb9@byu.net>

	faccessat: compile replacement
	* m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
	needed.

	fts: fix compilation error
	* lib/fts.c (includes): Re-add "openat.h", for
	openat_needs_fchdir.

	faccessat: new module
	* modules/faccessat: New file.
	* lib/faccessat.c: Likewise.
	* m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
	* modules/unistd (Makefile.am): Use it.
	* lib/unistd.in.h (faccessat): Declare it.
	(F_OK, X_OK, W_OK, R_OK): Provide definitions.
	* lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
	* MODULES.html.sh (File system functions): Mention it.
	* doc/posix-functions/faccessat.texi (faccessat): Likewise.
	* doc/posix-headers/fcntl.texi (fcntl.h): Likewise.

	euidaccess: prefer POSIX over non-standard implementation
	* m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
	* lib/euidaccess.c (euidaccess): Use it if available.

	openat: make template easier to use
	* lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
	AT_FUNC_F2 to be undefined.
	(VALIDATE_FLAG): New macro; use it to reject bad flags.
	(AT_FUNC_USE_F1_COND): Change sense to just flag bit.
	* lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
	* lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
	* lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
	Likewise.
	* lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
	* lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
	[getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
	Likewise.

	openat: declare in POSIX headers
	* NEWS: Mention this.
	* modules/openat (configure.ac): Declare witnesses.
	(Depends-on): Add fcntl-h, sys_stat, unistd.
	(Include): Mention correct headers.
	* modules/fcntl-h (Depends-on): Add link-warning.
	(Files): Add openat.m4.
	(Makefile.am): Substitute witnesses.
	* modules/sys_stat (Files, Makefile.am): Likewise.
	* modules/unistd (Files, Makefile.am): Likewise.
	* m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
	(gl_OPENAT_DEFAULTS): New macro.
	* m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
	(SYS_STAT_H): Remove unused variable.
	* doc/posix-headers/fcntl.texi (fcntl.h): Update content.
	* lib/fcntl--.h (includes): Remove unneeded header.
	* lib/openat-safer.c (includes): Likewise.
	* lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
	(openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
	appropriate headers.
	(__OPENAT_PREFIX): Delete.
	* lib/fcntl.in.h (openat): Provide declaration.
	(AT_FDCWD): Fix Solaris bug.
	(AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
	* lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
	* lib/fchmodat.c (includes):  Adjust to find declaration.
	* lib/fchownat.c (includes): Likewise.
	* lib/mkdirat.c (includes): Likewise.
	* lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
	still visible.

2009-09-02  Eric Blake  <ebb9@byu.net>

	errno: use consistently
	* lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
	* lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
	* lib/canonicalize.c (ELOOP): Likewise.
	* lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
	* lib/inet_pton.c (EAFNOSUPPORT): Likewise.
	* lib/lchown.c (EOPNOTSUPP): Likewise.
	* lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
	* lib/savewd.c (ESTALE): Likewise.
	* lib/settime.c (ENOSYS): Likewise.
	* lib/utimens.c (ENOSYS): Likewise.
	* lib/xgethostname.c (ENAMETOOLONG): Likewise.
	* lib/chdir-safer.c (ELOOP): Likewise.
	(chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
	* modules/c-stack (Depends-on): Add errno.
	* modules/canonicalize (Depends-on): Likewise.
	* modules/chdir-safer (Depends-on): Likewise.
	* modules/fdopendir (Depends-on): Likewise.
	* modules/inet_ntop (Depends-on): Likewise.
	* modules/inet_pton (Depends-on): Likewise.
	* modules/lchown (Depends-on): Likewise.
	* modules/openat (Depends-on): Likewise.
	* modules/savewd (Depends-on): Likewise.
	* modules/settime (Depends-on): Likewise.
	* m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.

	fts: avoid leaking fds
	* modules/fts (Depends-on): Add cloexec.
	* lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
	flag.

	fts: make directory fds more robust
	* lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
	(opendirat): Specify O_DIRECTORY, and add fallbacks for safety.

	backupfile, chdir-long, fts, savedir: make safer
	* lib/backupfile.c (includes): Use "dirent--.h", since
	numbered_backup can write to stderr during readdir.
	* lib/savedir.c (includes): Likewise.
	* lib/chdir-long.c (includes): Use "fcntl--.h", since openat
	emulation can write to stderr on failure.
	* lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
	* lib/getcwd.c: Document why opendir_safer is unused.
	* lib/glob.c: Likewise.
	* lib/scandir.c: Likewise.
	* lib/openat-proc.c: Likewise, for open_safer.
	* modules/backupfile (Depends-on): Add dirent-safer.
	* modules/savedir (Depends-on): Likewise.
	* modules/fts (Depends-on): Add dirent-safer and openat-safer.
	* modules/chdir-long (Depends-on): Add openat-safer.

	openat-safer: new module
	* modules/openat-safer: New file.
	* lib/openat-safer.c: Likewise.
	* m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
	* lib/fcntl-safer.h (openat_safer): Declare.
	* lib/fcntl--.h (openat): Override.
	* MODULES.html.sh (File descriptor based I/O): Mention it.
	* lib/openat.h: Add double-inclusion guards.
	* lib/openat.c (includes): Only include "fcntl-safer.h", not
	"fcntl--.h", so we can implement openat.
	* modules/openat-safer-tests: New test.
	* tests/test-openat-safer.c: New file.

	dirent-safer: new module
	* modules/dirent-safer: New file.
	* lib/dirent--.h: Likewise.
	* lib/dirent-safer.h: Likewise.
	* lib/opendir-safer.c: Likewise.
	* m4/dirent-safer.m4: Likewise.
	* MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
	* modules/dirent-safer-tests: New test.
	* tests/test-dirent-safer.c: New file.
	* lib/fdopendir.c (includes): Ensure fdopendir is also safe.

	fdopendir: optimize on mingw
	* lib/unistd.in.h (_gl_directory_name): New prototype.
	* lib/fchdir.c (_gl_directory_name): Implement it.
	(fchdir): Use it to simplify implementation.
	* lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
	fchdir, when available, to avoid calling [f]chdir().

	fdopendir: split into its own module
	* lib/openat.c (fdopendir): Move...
	* lib/fdopendir.c: ...into new file.
	* modules/fdopendir: New module.
	* m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
	* modules/openat (Depends-on): Add fdopendir.
	* m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
	fdopendir here.
	* modules/savedir (Depends-on): Only need fdopendir, not full
	openat.
	* lib/savedir.c (include): Use <dirent.h>, not "openat.h".
	* lib/openat.h (fdopendir): Drop prototype.
	* lib/dirent.in.h (fdopendir): Provide prototype.
	* m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
	* modules/dirent (Makefile.am): Substitute them.
	* MODULES.html.sh (File system functions): Mention it.
	* doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
	* modules/fdopendir-tests: New file.
	* tests/test-fdopendir.c: Likewise.

	fchdir: use more consistent macro convention
	* lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
	* lib/sys_stat.in.h (rpl_fstat): Declare via make-time
	REPLACE_FCHDIR, rather than relying on config.h macros.
	* lib/unistd.in.h (fchdir): Move all fchdir internal declarations
	inside a single make-time REPLACE_FCHDIR block, rather than using
	the config.h FCHDIR_REPLACEMENT.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
	AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
	Manage fstat replacement.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
	REPLACE_FCHDIR.
	* modules/sys_stat (Files): Add m4/unistd_h.m4.
	(Makefile.am): Substitute REPLACE_FCHDIR.
	* lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
	FCHDIR_REPLACEMENT.
	* lib/dup-safer.c (dup_safer): Likewise.
	* lib/dup2.c (rpl_dup2): Likewise.
	* lib/dup3.c (rpl_dup3): Likewise.
	* lib/open.c (rpl_open): Likewise.

	fchdir: simplify error handling, and support dup3
	* modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
	stdbool, malloc-posix, realloc-posix.
	* lib/fchdir.c (struct dir_info_t): Delete saved_errno.
	(ensure_dirs_slot): Return false on allocation failure.
	(rpl_dup2): Delete.
	(_gl_register_dup): New function.
	(_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
	(_gl_register_fd): Close fd on allocation failure.
	* lib/fcntl.in.h (_gl_register_fd): Update signature.
	* lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
	prototype.
	(rpl_dup2_fchdir): Delete prototype.
	* lib/open.c (open): Update caller.
	* lib/dup2.c (dup2): Track fchdir metadata.
	* lib/dup3.c (dup3): Likewise.
	* m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.

2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_create_testdir, func_create_megatestdir): Use
	AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
	don't pass arguments to AC_OUTPUT.

2009-09-02  Bruno Haible  <bruno@clisp.org>

	* modules/mkdtemp (License): Relicense under LGPLv2+.
	Reported by Paolo Bonzini.

2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Replace uses of obsolete autoconf macros in Jim's modules.
	The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
	AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
	can evoke a warning from autoconf when run with -Wobsolete
	enabled.  They were declared obsolete for good reasons (see
	the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
	recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
	should not continue using the deprecated macros.
	* m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
	obsolete Autoconf macros with modern counterparts.
	* m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
	* m4/dos.m4 (gl_AC_DOS): Likewise.
	* m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
	* m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
	* m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
	* m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
	* m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
	* m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
	* m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
	Likewise.
	* m4/rename.m4 (gl_FUNC_RENAME): Likewise.
	* m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
	* m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
	* m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
	* m4/stat-time.m4 (gl_STAT_TIME): Likewise.
	* m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.

2009-09-01  Eric Blake  <ebb9@byu.net>

	fchdir: fix off-by-one bug in previous patch
	* lib/fchdir.c (rpl_fstat): Use correct bounds.
	(_gl_unregister_fd): Delete useless if.

2009-09-01  Daniel P. Berrange  <berrange@redhat.com>

	maint.mk: sort the list of syntax-check rules
	* top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
	easier to get a sense of progress when the rules are run sequentially
	and take a long time.

2009-09-01  Simon Josefsson  <simon@josefsson.org>

	* modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
	* modules/netinet_in: Likewise.
	* modules/sys_file: Likewise.
	* modules/sys_ioctl: Likewise.
	* modules/sys_select: Likewise.
	* modules/sys_socket: Likewise.
	* modules/sys_stat: Likewise.
	* modules/sys_time: Likewise.
	* modules/sys_times: Likewise.
	* modules/sys_utsname: Likewise.
	* modules/sys_wait: Likewise.

2009-09-01  Jim Meyering  <meyering@redhat.com>

	fts: help ensure that return values are not ignored
	* lib/fts_.h (__GNUC_PREREQ): Define.
	(__attribute_warn_unused_result__): Define.
	(fts_children, fts_close, fts_open, fts_read): Declare with
	__attribute_warn_unused_result__.

	fts: fts_close now fails also when closing a dir file descriptor fails
	* lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
	and propagate to caller, along with errno.

	announce-gen: correct formatting in --help output
	* build-aux/announce-gen (usage): Move the one-line description in
	--help output "up", to where it belongs, just after Usage:.

2009-08-31  Eric Blake  <ebb9@byu.net>

	fchdir: port to mingw
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
	* lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
	opened, then use a substitute.
	* lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
	replacement.
	* lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
	(_gl_register_fd): No need to check stat if open already filters
	all directories.
	(fchdir): Fix error condition to match POSIX.
	* modules/fchdir (Depends-on): Add sys_stat.
	* doc/posix-functions/open.texi (open): Document the limitation.
	* modules/fchdir-tests: New file.
	* tests/test-fchdir.c: Likewise.

	canonicalize: allow cross-testing from cygwin to mingw
	* modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
	(Makefile.am): Pass it through TESTS_ENVIRONMENT.
	* modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
	Likewise.
	* tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
	target does not support symlinks.
	* tests/test-canonicalize-lgpl.sh: Likewise.

	chown: avoid compilation warning on mingw
	* m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
	* lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
	mingw.
	* lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
	* modules/chown (Depends-on): Add errno.

2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)

	* gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
	command.

2009-08-31  Jim Meyering  <meyering@redhat.com>

	canonicalize: remove useless initialization
	* lib/canonicalize.c (canonicalize_filename_mode): Remove useless
	initialization of local, "end".

2009-08-30  Bruno Haible  <bruno@clisp.org>

	Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
	* lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
	ENOSYS.

2009-08-30  Bruno Haible  <bruno@clisp.org>

	* tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
	/usr/xpg4/bin/tr when it exists.
	* tests/test-pipe-filter-gi1.sh: Likewise.

2009-08-30  Bruno Haible  <bruno@clisp.org>

	Work around deficient /usr/bin/id program on Solaris.
	* tests/test-file-has-acl.sh (ID): New variable.
	* tests/test-set-mode-acl.sh (ID): Likewise.
	* tests/test-copy-acl.sh (ID): Likewise.
	* tests/test-copy-file.sh (ID): Likewise.

2009-08-30  Bruno Haible  <bruno@clisp.org>

	New module 'xstriconveh'.
	* lib/xstriconveh.h: New file.
	* lib/xstriconveh.c: New file.
	* modules/xstriconveh: New file.

2009-08-30  Bruno Haible  <bruno@clisp.org>

	Make it easier to use mem_cd_iconveh.
	* lib/striconveh.h (iconveh_t): New type.
	(iconveh_open, iconveh_close): New declarations.
	(mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
	with a single 'const iconveh_t *' argument.
	* lib/striconveh.c (iconveh_open, iconveh_close): New functions.
	(mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
	with a single 'const iconveh_t *' argument.
	(mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
	* tests/test-striconveh.c (main): Update.
	* NEWS: Mention the change.

2009-08-30  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/iconv_open.texi: Mention indirect conversion
	problem.

2009-08-30  Bruno Haible  <bruno@clisp.org>

	Work around iconv_open problem on Solaris.
	* lib/iconv_open-solaris.gperf: New file.
	* lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
	* m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
	* modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
	(Makefile.am): Add rule for iconv_open-solaris.h. Augment
	BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
	* doc/posix-functions/iconv_open.texi: Mention the Solaris problem.

2009-08-29  Jim Meyering  <meyering@redhat.com>

	maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
	* top/maint.mk (cvs-check): Remove target; it was just an alias
	to the better-named vc-diff-check.
	(maintainer-distcheck): Remove rule.  It was used only from
	the (alpha/beta/major) target, and all of its commands but one
	were coreutils-specific.
	(vc-dist): Remove rule.
	(alpha beta major): Run "$(MAKE) distcheck" explicitly.
	Run vc-diff-check, not vc-dist.
	Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".

2009-08-27  Bruno Haible  <bruno@clisp.org>

	* tests/test-bitrotate.c (main): Remove test that uses a shift count
	of 0.

2009-08-27  Bruno Haible  <bruno@clisp.org>

	* tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
	compilers.
	* doc/func.texi: Document the SunPRO C bug.

2009-08-27  Bruno Haible  <bruno@clisp.org>

	Fix link error on Solaris.
	* tests/test-parse-duration.c (xstrdup): Remove function.

2009-08-26  Pádraig Brady  <P@draigbrady.com>

	ignore-value: handle pointer types, too
	* lib/ignore-value.h (__attribute__): Remove definition.
	(ignore_value): Remove use of "__attribute__ ((unused))" in favor
	of a more concise and more-often effective "(void) i" statement.
	(ignore_ptr): New function to suppress warnings from functions that
	return pointers, and to make it explicit that one function doesn't
	handle all cases.

2009-08-25  Bruno Haible  <bruno@clisp.org>

	dup2: work around a Linux bug.
	* m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
	* lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
	* doc/posix-functions/dup2.texi: Mention the Linux bug.
	Reported by Simon Josefsson.

2009-08-25  Jim Meyering  <meyering@redhat.com>

	libguestfs uses gnulib
	* users.txt: Add libguestfs.

2009-08-24  Eric Blake  <ebb9@byu.net>

	dup2, pipe2: fix some recent test failures on cygwin 1.5.x
	* lib/pipe2.c (includes): Add binary-io.h.
	* lib/dup2.c (rpl_dup2): Correct buggy errno value.

2009-08-24  Bruno Haible  <bruno@clisp.org>

	Tolerate declared but missing accept4 syscall.
	* lib/accept4.c (accept4): Invoke original accept4 function first, if
	available.
	* lib/sys_socket.in.h (accept4): If the function is already present,
	override it.
	* m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
	* modules/accept4 (Makefile.am): Compile accept4.c always.
	Reported by Paolo Bonzini and Eric Blake.

2009-08-23  Bruno Haible  <bruno@clisp.org>

	New module 'accept4'.
	* lib/sys_socket.in.h (accept4): New declaration.
	* lib/accept4.c: New file.
	* m4/accept4.m4: New file.
	* m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
	GNULIB_ACCEPT4, HAVE_ACCEPT4.
	* modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
	HAVE_ACCEPT4.
	* modules/accept4: New file.
	* doc/glibc-functions/accept4.texi: Mention the new module.

2009-08-24  Jim Meyering  <meyering@redhat.com>

	progname: also set global program_invocation_name, when possible
	Before this change, a libtool-enabled program that calls glibc's
	error function would report the program name as
	"/abs/dir/.libs/lt-program_name" rather than the desired program_name.
	* modules/progname (configure.ac): Check for a declaration of
	program_invocation_name.
	* lib/progname.c:  Include <errno.h>.
	(set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
	Set program_invocation_name.

2009-08-23  Bruno Haible  <bruno@clisp.org>

	* lib/dup3.c: Include <string.h>.

2009-08-23  Bruno Haible  <bruno@clisp.org>

	* lib/dup3.c (dup3): Test only once whether the system actually exists.
	* lib/pipe2.c (pipe2): Likewise.
	Suggested by Eric Blake.

2009-08-23  Bruno Haible  <bruno@clisp.org>

	Tolerate declared but missing dup3 syscall.
	* lib/dup3.c (dup3): Invoke original dup3 function first, if available.
	* lib/unistd.in.h (dup3): If the function is already present,
	override it.
	* m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
	* modules/dup3 (Makefile.am): Compile dup3.c always.
	Reported by Paolo Bonzini.

2009-08-23  Bruno Haible  <bruno@clisp.org>

	Tolerate declared but missing pipe2 syscall.
	* lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
	available.
	* lib/unistd.in.h (pipe2): If the function is already present,
	override it.
	* m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
	* modules/pipe2 (Makefile.am): Compile pipe2.c always.
	Reported by Paolo Bonzini.

2009-08-23  Bruno Haible  <bruno@clisp.org>

	* lib/pipe2.c (pipe2): Move #ifs inside function.

2009-08-22  Joel E. Denny  <jdenny@clemson.edu>

	quotearg: document limitations of quote_these_too
	* lib/quotearg.c (quotearg_buffer_restyled): Add comments where
	those limitations are created.
	* lib/quotearg.h (set_char_quoting): Document that digits and
	letters that are special after backslash are not permitted.
	(quotearg_char): Cross-reference set_char_quoting documentation.

2009-08-23  Joel E. Denny  <jdenny@clemson.edu>

	quotearg: implement custom_quoting_style
	* lib/quotearg.c: (struct quoting_options): Add left_quote and
	right_quote fields.
	(set_custom_quoting): New public function.
	(quotearg_buffer_restyled): Add left_quote and right_quote
	arguments, handle them very much like locale quoting, and update
	all uses.
	(quotearg_n_custom): New public function.
	(quotearg_n_custom_mem): New public function.
	(quotearg_custom): New public function.
	(quotearg_custom_mem): New public function.
	* lib/quotearg.h: Prototype and document new public functions.
	(enum quoting_style): For escape_quoting_style and
	clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
	ignored even though they're otherwise like c_quoting_style.
	Add custom_quoting_style member and document with comparison to
	clocale_quoting_style.
	* tests/test-quotearg.c (custom_quotes): New array.
	(custom_results): New array.
	(main): Extend to test custom quoting.

2009-08-22  Joel E. Denny  <jdenny@clemson.edu>

	quotearg: fix right quote escaping when it's in quote_these_too
	* lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
	quote, be sure to prepend only one backslash.
	* tests/test-quotearg.c (use_quote_double_quotes): New function.
	(main): Test it.

2009-08-22  Joel E. Denny  <jdenny@clemson.edu>

	quotearg-tests: test escaping of embedded locale quotes
	* tests/test-quotearg.c (struct result_strings): Add member for
	new input.
	(LQ_ENC, RQ_ENC, RQ_ESC): New macros.
	(inputs): Add new input.
	(results_g): Add expected results.
	(flag_results): Likewise.
	(locale_results): Likewise.
	(compare_strings): Check those.

2009-08-23  Bruno Haible  <bruno@clisp.org>

	Tests for module 'dup3'.
	* modules/dup3-tests: New file.
	* tests/test-dup3.c: New file.

	New module 'dup3'.
	* lib/unistd.in.h (dup3): New declaration.
	* lib/dup3.c: New file.
	* m4/dup3.m4: New file.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
	HAVE_DUP3.
	* modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
	* modules/dup3: New file.
	* doc/glibc-functions/dup3.texi: Mention the new module.

2009-08-23  Bruno Haible  <bruno@clisp.org>

	Tweak the dup2 test.
	* tests/test-dup2.c (main): Create the test file empty. Verify that an
	out-of-range fd yields EBADF. Verify that after writing to /dev/null,
	the test file is still empty. Fix argument order of lseek.

2009-08-23  Bruno Haible  <bruno@clisp.org>

	Avoid test link errors when the modules getopt-gnu, gettext are used.
	* modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2009-08-23  Bruno Haible  <bruno@clisp.org>

	Fix getdtablesize() on mingw.
	* lib/getdtablesize.c (getdtablesize): Implement differently.
	* lib/unistd.in.h (getdtablesize): Improve comment.

2009-08-23  Bruno Haible  <bruno@clisp.org>

	New module 'mkostemp'.
	Based on Ulrich Drepper's 2007-08-10 change in glibc.
	* lib/stdlib.in.h (mksotemp): New declaration.
	* lib/mkostemp.c: New file, from glibc with modifications.
	* lib/tempname.h (GT_FILE): Remove outdated comment.
	(gen_tempname): Add flags argument.
	* lib/tempname.c (__GT_BIGFILE): Remove macro.
	(__GT_FILE): Map to 1.
	(small_open, large_open): Remove macros.
	(__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
	* lib/mkstemp.c (mkstemp): Update.
	* lib/mkdtemp.c (mkdtemp): Likewise.
	* m4/mkostemp.m4: New file.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
	HAVE_MKOSTEMP.
	* modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
	HAVE_MKOSTEMP.
	* modules/mkostemp: New file, based on modules/mkstemp.
	* doc/glibc-functions/mkostemp.texi: Mention the new module.
	* NEWS: Mention the change.

2009-08-23  Bruno Haible  <bruno@clisp.org>

	* lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
	Reported by Eric Blake.

2009-08-23  Bruno Haible  <bruno@clisp.org>

	* lib/pipe2.c (pipe2): Fix test of fcntl's return value.
	Reported by Eric Blake.

2009-08-23  Bruno Haible  <bruno@clisp.org>

	* modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
	* modules/pipe2 (Depends-on): Likewise.

2009-08-23  Eric Blake  <ebb9@byu.net>

	fcntl-h: add O_TTY_INIT support
	* lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
	* tests/test-fcntl-h.c (o): Test it.
	* doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.

	fcntl-h: rename from fcntl, in preparation for fcntl(2)
	* modules/fcntl: Move <fcntl.h> header replacement...
	* modules/fcntl-h: ...to new name, so as not to collide with
	like-named function.
	* tests/test-fcntl.c: Rename...
	* tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
	* modules/fcntl-tests: Rename...
	* modules/fcntl-h-tests: ...to this.  Update test file name.
	* modules/chdir-long (Depends-on): Update clients.
	* modules/chdir-safer (Depends-on): Likewise.
	* modules/fcntl-safer (Depends-on): Likewise.
	* modules/fts (Depends-on): Likewise.
	* modules/mkancesdirs (Depends-on): Likewise.
	* modules/mkdir-p (Depends-on): Likewise.
	* modules/open (Depends-on): Likewise.
	* modules/savewd (Depends-on): Likewise.
	* MODULES.html.sh (systems lacking POSIX:2008): Update name.
	* doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.

2009-08-22  Bruno Haible  <bruno@clisp.org>

	* modules/binary-io (License): Relicense under LGPL.
	* modules/pipe2 (License): Likewise.

2009-08-22  Bruno Haible  <bruno@clisp.org>

	* lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
	return value.
	* lib/pipe-filter-gi.c (filter_init): Likewise.
	Reported by Eric Blake.

2009-08-22  Bruno Haible  <bruno@clisp.org>

	* lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
	* modules/pipe (Depends-on): Add pipe2.

2009-08-22  Bruno Haible  <bruno@clisp.org>

	Tests for module 'pipe2'.
	* modules/pipe2-tests: New file.
	* tests/test-pipe2.c: New file.

	New module 'pipe2'.
	* lib/unistd.in.h (pipe2): New declaration.
	* lib/pipe2.c: New file.
	* m4/pipe2.m4: New file.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
	HAVE_PIPE2.
	* modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
	* modules/pipe2: New file.
	* doc/glibc-functions/pipe2.texi: Mention the new module.

2009-08-22  Bruno Haible  <bruno@clisp.org>

	Reference some new glibc functions.
	* doc/glibc-functions/accept4.texi: New file.
	* doc/glibc-functions/dup3.texi: New file.
	* doc/glibc-functions/mkostemp.texi: New file.
	* doc/glibc-functions/pipe2.texi: New file.
	* doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
	(Glibc sys/socket.h): Refer to accept4.
	(Glibc unistd.h): Refer to dup3, pipe2.
	Reported by Eric Blake.

2009-08-22  Jim Meyering  <meyering@redhat.com>
	    Bruno Haible  <bruno@clisp.org>

	annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
	This makes it so packages using automake-1.11's silent-rules option
	can print e.g., a single "GEN    configmake.h" line, rather than
	the 30+ statements that perform the job.  If you want to see the
	actual commands, you can still run "make V=1".
	* modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
	so that make output is abbreviated when those variables are defined
	appropriately.
	* modules/argz: Likewise.
	* modules/arpa_inet: Likewise.
	* modules/byteswap: Likewise.
	* modules/configmake: Likewise.
	* modules/dirent: Likewise.
	* modules/errno: Likewise.
	* modules/fcntl: Likewise.
	* modules/float: Likewise.
	* modules/fnmatch: Likewise.
	* modules/getopt-posix: Likewise.
	* modules/glob: Likewise.
	* modules/iconv_open: Likewise.
	* modules/inttypes: Likewise.
	* modules/localcharset: Likewise.
	* modules/locale: Likewise.
	* modules/math: Likewise.
	* modules/netdb: Likewise.
	* modules/netinet_in: Likewise.
	* modules/poll: Likewise.
	* modules/posix_spawnp-tests: Likewise.
	* modules/sched: Likewise.
	* modules/search: Likewise.
	* modules/selinux-h: Likewise.
	* modules/signal: Likewise.
	* modules/spawn: Likewise.
	* modules/stdarg: Likewise.
	* modules/stdbool: Likewise.
	* modules/stddef: Likewise.
	* modules/stdint: Likewise.
	* modules/stdio: Likewise.
	* modules/stdlib: Likewise.
	* modules/string: Likewise.
	* modules/strings: Likewise.
	* modules/sys_file: Likewise.
	* modules/sys_ioctl: Likewise.
	* modules/sys_select: Likewise.
	* modules/sys_socket: Likewise.
	* modules/sys_stat: Likewise.
	* modules/sys_time: Likewise.
	* modules/sys_times: Likewise.
	* modules/sys_utsname: Likewise.
	* modules/sys_wait: Likewise.
	* modules/sysexits: Likewise.
	* modules/time: Likewise.
	* modules/unistd: Likewise.
	* modules/wchar: Likewise.
	* modules/wctype: Likewise.

2009-08-22  Jim Meyering  <meyering@redhat.com>

	announce-gen: detect write failure
	* build-aux/announce-gen: Add Coda at end.
	Remove equivalent-but-more-verbose block at top.

2009-08-19  Akim Demaille  <demaille@gostai.com>

	bootstrap: --help to stdout.
	* bootstrap (usage): Don't send --help to stderr.
	Use a here doc instead of a long string.

2009-08-21  Eric Blake  <ebb9@byu.net>

	test-popen-safer: split from test-popen
	* tests/test-popen.c (main): Move...
	* tests/test-popen.h: ...into new file.
	* tests/test-popen-safer2.c: New file.
	* modules/popen-tests (Files): Add test-popen.h.
	* modules/popen-safer-tests (Files): Add test-popen-safer2.c.
	Suggested by Bruno Haible.

	test-fcntl-safer: split from test-open
	* tests/test-open.c (main): Move...
	* tests/test-open.h: ...into new file.
	* tests/test-fcntl-safer.c: New file.
	* modules/open-tests (Files): Add test-open.h.
	* modules/fcntl-safer-tests: New file.
	Suggested by Bruno Haible.

	test-fopen-safer: split from test-fopen
	* tests/test-fopen.c (main): Move...
	* tests/test-fopen.h: ...into new file.
	* tests/test-fopen-safer.c: New file.
	* modules/fopen-tests (Files): Add test-fopen.h.
	* modules/fopen-safer-tests: New file.
	Suggested by Bruno Haible.

2009-08-21  Paolo Bonzini  <bonzini@gnu.org>

	popen-safer: test O_CLOEXEC at run-time.
	* lib/popen-safer.c: Test O_CLOEXEC at run-time.

2009-08-21  Paolo Bonzini  <bonzini@gnu.org>

	fcntl: move more flags to the header
	* lib/cloexec.c: Do not define FD_CLOEXEC here.
	* lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
	* lib/fcntl.in.h: Do both things here.

2009-08-21  Jim Meyering  <meyering@redhat.com>

	consistently remove $@-t before redirecting to it
	* modules/argz: Remove $@-t and $@ before redirecting to the former.
	* modules/alloca-opt: Likewise.
	* modules/byteswap: Likewise.
	* modules/fnmatch: Likewise.
	* modules/getopt-posix: Likewise.
	* modules/glob: Likewise.
	* modules/poll: Likewise.
	* modules/posix_spawnp-tests: Likewise.
	* modules/sys_socket: Likewise.
	* modules/sysexits: Likewise.

2009-08-21  Eric Blake  <ebb9@byu.net>

	popen: simplify access to original popen
	* lib/popen.c (rpl_popen): No need to worry about popen being a
	macro.
	Reported by Bruno Haible.

2009-08-20  Eric Blake  <ebb9@byu.net>

	build: avoid some compiler warnings
	* lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
	* lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
	type.
	(new_exclude_segment, excluded_file_pattern_p)
	(excluded_file_name_p): Reduce scope.
	* lib/vasnprintf.c (decimal_point_char): Avoid warning on
	old-style declaration.

2009-08-20  Simon Josefsson  <simon@josefsson.org>

	* tests/test-exclude1.sh: Handle Windows EOL.
	* 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.

2009-08-19  Akim Demaille  <demaille@gostai.com>

	bootstrap: find sha1sum when named gsha1sum.
	* bootstrap (find_tool): New.
	($SHA1SUM): New.
	Use it.

2009-08-20  Jim Meyering  <meyering@redhat.com>

	maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
	* top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
	expression that converts "." in a file name to "\." in the resulting
	regexp.  Start with a dummy statement, so that prior shell variable
	definitions are expanded portably.  Reported by Simon Josefsson.

2009-08-20  Paolo Bonzini  <bonzini@gnu.org>

	Fix polling for writeability of a screen buffer.
	* lib/poll.c: Distinguish input and screen buffers for the
	Win32 implementation.
	* lib/select.c: Likewise.

2009-08-19  Eric Blake  <ebb9@byu.net>

	popen-safer: prevent popen from clobbering std descriptors
	* modules/popen-safer: New file.
	* lib/popen-safer.c: Likewise.
	* m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
	* lib/stdio--.h (popen): Provide override.
	* lib/stdio-safer.h (popen_safer): Provide declaration.
	* tests/test-popen.c (includes): Partially test this.
	* modules/popen-safer-tests: New file, for more tests.
	* tests/test-popen-safer.c: Likewise.
	* MODULES.html.sh (file stream based Input/Output): Mention it.

	tests: test some of the *-safer modules
	* modules/fopen-safer (Depends-on): Add fopen.
	* modules/fcntl-safer (Depends-on): Add fcntl.
	* modules/stdlib-safer (Depends-on): Add stdlib.
	(configure.ac): Set indicator.
	* modules/unistd-safer (configure.ac): Likewise.
	* modules/tmpfile-safer (configure.ac): Likewise.
	(Depends-on): Add tmpfile.
	* lib/stdio--.h (fopen, tmpfile): Don't override unless module is
	active.
	* tests/test-fopen.c (includes): Test safer versions when they are
	in use.
	* tests/test-open.c (includes): Likewise.

	popen: fix cygwin 1.5 bug when stdin closed
	* doc/posix-functions/popen.texi (popen): Document cygwin bugs.
	* modules/popen: New file.
	* modules/popen-tests: Likewise.
	* tests/test-popen.c: Likewise.
	* m4/popen.m4: Likewise.
	* lib/popen.c: Likewise.
	* lib/stdio.in.h (popen): New declaration.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
	* modules/stdio (Makefile.am): Likewise.
	* MODULES.html.sh (systems lacking POSIX:2008): Mention it.

2009-08-17  Joel E. Denny  <jdenny@clemson.edu>

	maint.mk: give full control over update-copyright exclusions
	* top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
	${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
	(update-copyright): Don't force inclusion of top-level
	ChangeLog.  Don't force exclusion of all COPYING files, but make
	them the default exclusion instead.

2009-08-16  Bruno Haible  <bruno@clisp.org>

	Fix test failures on Solaris 10.
	* tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
	tests when Solaris iconv() is used.
	* tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.

2009-08-16  Bruno Haible  <bruno@clisp.org>

	Fix test failures on Solaris 10.
	* tests/test-pipe-filter-ii1.sh: Determine the filename of a working
	'tr' program and pass it as first argument.
	* tests/test-pipe-filter-gi1.sh: Likewise.
	* tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
	program as first argument.
	* tests/test-pipe-filter-gi1.c (main): Likewise.

2009-08-16  Eric Blake  <ebb9@byu.net>

	fpurge: fix previous commits
	* modules/fpurge (Makefile.am): Make replacement conditional,
	partially reverting 2007-04-29 change; missed in previous
	attempt.
	* m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
	is missing.

2009-08-16  Bruno Haible  <bruno@clisp.org>

	Clarify fpurge's effect on the file position.
	* lib/stdio.in.h (fpurge): Specify the file position after fpurge.
	* tests/test-fpurge.c (main): Make a second pass for checking the file
	position.

2009-08-16  Bruno Haible  <bruno@clisp.org>

	* m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
	declaration of fpurge is missing.
	* tests/test-fpurge.c (main): Check that the file has not more contents
	than expected. Close the file before removing it.

2009-08-15  Eric Blake  <ebb9@byu.net>

	fpurge: don't wrap working cygwin implementation
	* lib/fpurge.c (fpurge): Fix comment typo.
	* m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
	1.7 to avoid replacement.
	* tests/test-fpurge.c (main): Enhance test.

2009-08-15  Eric Blake  <ebb9@byu.net>
	and Jim Meyering  <meyering@redhat.com>

	test-update-copyright: skip if perl is insufficient
	* tests/test-update-copyright.sh: Failure to run maintainer tool
	should not cause testsuite failure on cygwin 1.5.

2009-08-14  Eric Blake  <ebb9@byu.net>

	doc: mention more functions added in cygwin 1.7.0
	* doc/posix-headers/limits.texi (limits.h): Update for recent
	cygwin additions.
	* doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
	* doc/posix-functions/wordexp.texi (wordexp): Likewise.
	* doc/posix-functions/wordfree.texi (wordfree): Likewise.
	* doc/posix-functions/setlocale.texi (setlocale): Likewise.
	* doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.

2009-08-14  Eric Blake  <ebb9@byu.net>

	maint.mk: simplify update-copyright rule
	* top/maint.mk (update-copyright-local): Delete, and document how
	to do it in cfg.mk instead.
	(update-copyright-exclude-regexp): Delete, and document how to do
	it in .x-update-copyright instead.
	(update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
	exclude ChangeLog.

2009-08-14  Bruno Haible  <bruno@clisp.org>

	* m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.

2009-08-14  Joel E. Denny  <jdenny@clemson.edu>

	maint.mk: support update-copyright-env
	* top/maint.mk (update-copyright-env): Define place-holder.
	(update-copyright): Expand $(update-copyright-env) before
	invoking update-copyright.

2009-08-14  Joel E. Denny  <jdenny@clemson.edu>

	update-copyright: implement forced reformatting
	* build-aux/update-copyright: Implement and document
	UPDATE_COPYRIGHT_FORCE.
	* tests/test-update-copyright.sh: Test it.

2009-08-14  Eric Blake  <ebb9@byu.net>
	and Bruno Haible  <bruno@clisp.org>

	stddef: fix NetBSD 5.0 NULL bug, rather than working around it
	* tests/test-locale.c: Revert previous patch related to NULL.
	* tests/test-stdio.c: Likewise.
	* tests/test-stdlib.c: Likewise.
	* tests/test-string.c: Likewise.
	* tests/test-unistd.c: Likewise.
	* modules/time-tests (Depends-on): Add verify.
	* modules/wchar-tests (Depends-on): Likewise.
	* tests/test-time.c: Test for NULL compliance.
	* tests/test-wchar.c: Likewise.
	* modules/locale (Depends-on): Add stddef.
	* modules/stdio (Depends-on): Likewise.
	* modules/stdlib (Depends-on): Likewise.
	* modules/string (Depends-on): Likewise.
	* modules/time (Depends-on): Likewise.
	* modules/unistd (Depends-on): Likewise.
	* modules/wchar (Depends-on): Likewise.
	* lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
	* lib/stdlib.in.h (includes): Likewise.
	* lib/string.in.h (includes): Likewise.
	* lib/time.in.h (includes): Likewise.
	* lib/unistd.in.h (includes): Likewise.
	* m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
	replaced.
	* m4/wchar.m4 (gl_WCHAR_H): Likewise.
	* m4/stddef_h.m4: New file.
	* modules/stddef: Likewise.
	* lib/stddef.in.h: Likewise.
	* modules/stddef-tests: Likewise.
	* tests/test-stddef.c: Likewise.
	* MODULES.html.sh (Basic types <stddef.h>): Mention new module.
	* doc/posix-headers/stddef.texi (stddef.h): Document the bug.
	* doc/posix-headers/locale.texi (locale.h): Likewise.
	* doc/posix-headers/stdio.texi (stdio.h): Likewise.
	* doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
	* doc/posix-headers/string.texi (string.h): Likewise.
	* doc/posix-headers/time.texi (time.h): Likewise.
	* doc/posix-headers/unistd.texi (unistd.h): Likewise.
	* doc/posix-headers/wchar.texi (wchar.h): Likewise.

2009-08-14  Eric Blake  <ebb9@byu.net>

	doc: improve git diff of texinfo files
	* .gitattributes: Add rule for *.texi files, with hint on how to
	use it.
	Copied from m4, and based on a report by Bruno Haible.

2009-08-14  Bruno Haible  <bruno@clisp.org>

	Disable multithread support by default on Cygwin 1.5.x for real.
	* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.

2009-08-14  Joel E. Denny  <jdenny@clemson.edu>

	update-copyright: much ado about intervals
	* build-aux/update-copyright: Implement and document
	UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
	of copyright year intervals.
	Also, document UPDATE_COPYRIGHT_YEAR.
	* tests/test-update-copyright.sh: Test it.

	update-copyright: convert 2-digit to 4-digit years
	* build-aux/update-copyright: Implement and document.
	* tests/test-update-copyright.sh: Update.

2009-08-14  Jim Meyering  <meyering@redhat.com>

	test-exclude: avoid coreutils "make check" failure
	* tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
	just as in test-argmatch.c.

2009-08-13  Eric Blake  <ebb9@byu.net>

	test-dup2: fix bad assumption
	* tests/test-dup2.c (main): Tolerate leaked fds from environment.
	Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.

	test-version-etc: fix CRLF portability issue
	* tests/test-version-etc.sh: Use tr, not sed, as not all sed
	recognize \r.
	* tests/test-argp-version-etc-1.sh: Likewise.

	getopt: update client modules
	* modules/argp (Depends-on): Use getopt-gnu.
	* modules/git-merge-changelog (Depends-on): Likewise.
	* modules/long-options (Depends-on): Likewise.
	* modules/xstrtol (Depends-on): Likewise.

2009-08-13  Simon Josefsson  <simon@josefsson.org>

	* tests/test-version-etc.sh: Don't fail on different
	project/version.  Don't fail on CRLF differences.  Rewrite to use
	multiple -e instead of multiple sed forks, suggested by Eric Blake
	<ebb9@byu.net>.
	* tests/test-argp-version-etc-1.sh: Likewise.

2009-08-13  Simon Josefsson  <simon@josefsson.org>

	* tests/test-version-etc.sh: Don't fail on different
	project/version.

2009-08-12  Bruno Haible  <bruno@clisp.org>

	Tests for modules 'getopt-posix', 'getopt-gnu'.
	* modules/getopt-posix-tests: New file.
	* tests/test-getopt.c: New file.
	* tests/test-getopt.h: New file.
	* tests/test-getopt_long.h: New file.

	New modules 'getopt-posix', 'getopt-gnu'.
	* modules/getopt-gnu: New file, renamed from modules/getopt.
	* modules/getopt-posix: New file.
	* modules/getopt: Turn into an obsolete alias for getopt-gnu.
	* m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
	(gl_GETOPT): Remove macro.
	(gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
	Disable the test against BSD systems that declare optreset. Test
	against mingw bug. Test against lack of support of optional arguments
	on many platforms.
	* doc/glibc-headers/getopt.texi: Update module name and list of
	relevant platforms.
	* doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
	'getopt-gnu' and more portability problems.
	* NEWS: Mention the changes.

2009-08-12  Bruno Haible  <bruno@clisp.org>

	Ensure that optarg etc. get declared by <unistd.h>.
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
	AC_USE_SYSTEM_EXTENSIONS.
	* modules/getopt (Depends-on): Add 'extensions'.

2009-08-12  Bruno Haible  <bruno@clisp.org>

	Avoid test link errors.
	* modules/pipe-filter-ii-tests (Makefile.am): Define
	test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
	* modules/pipe-filter-gi-tests (Makefile.am): Define
	test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2009-08-12  Bruno Haible  <bruno@clisp.org>

	* m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
	gl_GETOPT_SUBSTITUTE before.
	(gl_GETOPT): Use it.
	* m4/argp.m4 (gl_ARGP): Update.
	Reported by Sergey Poznyakoff.

	* m4/getopt.m4: Reorder macros.
	(gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
	(gl_GETOPT_SUBSTITUTE): Remove macro.

2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Minor improvement in gitlog-to-changelog

	* build-aux/gitlog-to-changelog: New option `--format' makes
	output format string configurable.

2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	Optimize exclude: use hash tables for non-wildcard patterns.

	* lib/exclude.c: Include hash.h and mbuiter.h
	(struct exclude_pattern, exclude_segment): New data types.
	(struct exclude): Rewrite.
	(fnmatch_pattern_has_wildcards): New function.
	(new_exclude_segment, free_exclude_segment): New functions.
	(excluded_file_pattern_p, excluded_file_name_p): New functions.
	(excluded_file_name, add_exclude): Rewrite using new struct exclude.
	* lib/exclude.h (is_fnmatch_pattern): New prototype.
	* modules/exclude: Depend on hash and mbuiter.

	* modules/exclude-tests: New file.
	* tests/test-exclude.c: New file.
	* tests/test-exclude1.sh: New file.
	* tests/test-exclude2.sh: New file.
	* tests/test-exclude3.sh: New file.
	* tests/test-exclude4.sh: New file.
	* tests/test-exclude5.sh: New file.
	* tests/test-exclude6.sh: New file.
	* tests/test-exclude7.sh: New file.

2009-08-12  Bruno Haible  <bruno@clisp.org>

	Ensure that getopt() gets declared by <unistd.h>.
	* lib/unistd.in.h: Conditionally include getopt.h.
	* m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
	Set GNULIB_UNISTD_H_GETOPT.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
	GNULIB_UNISTD_H_GETOPT.
	* modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.

2009-08-12  Bruno Haible  <bruno@clisp.org>

	Clarify logic.
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
	gl_replace_getopt instead of GETOPT_H.

2009-08-12  Bruno Haible  <bruno@clisp.org>

	* m4/getopt.m4: Add comments.

2009-08-12  Bruno Haible  <bruno@clisp.org>

	Disable multithread support by default on Cygwin 1.5.x.
	* m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
	set gl_use_threads=no if not specified otherwise.

2009-08-11  Bruno Haible  <bruno@clisp.org>

	Avoid compilation error on NetBSD 5.0.
	* tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
	* tests/test-stdio.c: Likewise.
	* tests/test-stdlib.c: Likewise.
	* tests/test-string.c: Likewise.
	* tests/test-unistd.c: Likewise.
	Reported by Greg Troxel <gdt@ir.bbn.com>
	at <https://savannah.gnu.org/support/?106973>.

2009-08-11  Bruno Haible  <bruno@clisp.org>

	* modules/dup2-tests (Depends-on): Remove close.

	Undo 2009-07-19 commit.
	* modules/acl-tests (Depends-on): Remove close.
	* modules/binary-io-tests (Depends-on): Likewise.
	* modules/closein-tests (Depends-on): Likewise.
	* modules/flock-tests (Depends-on): Likewise.
	* modules/fsync-tests (Depends-on): Likewise.
	* modules/lseek-tests (Depends-on): Likewise.
	* modules/pipe-tests (Depends-on): Likewise.
	* modules/posix_spawn-tests (Depends-on): Likewise.
	* modules/posix_spawnp-tests (Depends-on): Likewise.
	* modules/stat-time-tests (Depends-on): Likewise.
	* modules/yesno-tests (Depends-on): Likewise.

2009-08-10  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (DCHAR_SET): Undefine at the end.

2009-08-10  Bruno Haible  <bruno@clisp.org>

	Fix a gcc warning.
	* lib/write.c (rpl_write): Cast result of _get_osfhandle.

2009-08-10  Bruno Haible  <bruno@clisp.org>

	Don't optimize AC_LIBOBJs, as they may appear in different contexts.
	* m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
	not only the first time.
	* m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
	* m4/open.m4 (gl_REPLACE_OPEN): Likewise.
	* m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
	is 1, not only the first time.

2009-08-10  Bruno Haible  <bruno@clisp.org>

	Make it possible to use module 'gethostname' without module 'close'.
	* lib/unistd.in.h (close): Evoke a link error only if
	UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
	UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
	* modules/unistd (Makefile.am): Substitute
	UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
	* lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
	SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
	* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
	SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
	* modules/sys_ioctl (Makefile.am): Substitute
	SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
	* modules/socket (configure.ac): On native Windows, set
	UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
	SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
	Reported by Sam Steingold <sds@gnu.org>.

2009-08-10  Bruno Haible  <bruno@clisp.org>

	* m4/close.m4 (gl_FUNC_CLOSE): Add comment.
	* modules/ioctl (configure.ac): Likewise.

2009-08-10  Bruno Haible  <bruno@clisp.org>

	Avoid collision between gnulib wrapper and libintl wrapper.
	* lib/stdio-write.c (printf): Don't define if a printf wrapper is
	already defined in intl/printf.c.
	(vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
	(vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.

2009-08-09  Bruno Haible  <bruno@clisp.org>

	Make <sys/select.h> really self-contained, also on Solaris 10.
	* lib/sys_select.in.h: Include <string.h>.
	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
	Solaris 10 problem.
	* tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
	* doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
	Reported by Jim Meyering.

2009-08-09  Bruno Haible  <bruno@clisp.org>

	Avoid warnings from 'aclocal' that are due to a use of macro name
	AM_XGETTEXT_OPTION that is not defined in automake.
	* modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
	automake.
	* modules/error (configure.ac): Likewise.
	* modules/propername (configure.ac): Likewise.
	* modules/vasprintf (configure.ac): Likewise.
	* modules/verror (configure.ac): Likewise.
	* modules/xprintf (configure.ac): Likewise.
	* modules/xvasprintf (configure.ac): Likewise.

2009-08-08  Bruno Haible  <bruno@clisp.org>

	Avoid compilation error in C++ mode.
	* lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
	Reported by Sam Steingold <sds@gnu.org>.

2009-08-08  Bruno Haible  <bruno@clisp.org>

	* m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
	for the various Unix platforms.
	* doc/posix-headers/limits.texi: Update platforms list regarding
	HOST_NAME_MAX.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2009-08-07  Jim Meyering  <meyering@redhat.com>

	selinux-at: fix typo in a comment
	* lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
	Spotted by Paolo Bonzini.

	selinux-at: remove redundant m4 code, add documentation
	* modules/selinux-at (configure.ac): Remove redundant code.
	LIB_SELINUX is already set via the dependent module, selinux-h.
	(Include): Add quotes around selinux-at.h.
	* lib/selinux-at.h: Add documentation.
	Reported by Bruno Haible in
	http://marc.info/?l=gnulib-bug&m=124958988300749

2009-08-07  Bruno Haible  <bruno@clisp.org>

	Avoid link error on MacOS X 10.3 and 10.4.
	* lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
	on non-ELF systems.
	* lib/argp-pv.c (argp_program_version): Likewise.
	Reported by Simon Josefsson.

2009-08-07  Simon Josefsson  <simon@josefsson.org>

	* tests/test-version-etc.sh: Use $EXEEXT.

2009-08-06  Joel E. Denny  <jdenny@clemson.edu>

	update-copyright: update documentation to point to maint.mk
	* build-aux/update-copyright: Here.

2009-08-06  Jim Meyering  <meyering@redhat.com>

	maint.mk: support update-copyright-local
	* top/maint.mk (update-copyright-local): Define place-holder.
	(update-copyright): Depend on $(update-copyright-local).

2009-08-06  Jim Meyering  <meyering@redhat.com>

	selinux-at: new module
	Initially written for coreutils, this module will soon be
	used by findutils, too.
	* MODULES.html.sh [Misc]: Add selinux-at.
	* lib/selinux-at.h: New file, from coreutils.
	* lib/selinux-at.c: Likewise.
	* modules/selinux-at: Likewise.
	(License): Change from LGPL to GPL, since it depends
	on the GPL'd openat module.

	doc: update README
	* README: Remove references to cogito.
	Remove cvs-repo-updating instructions from 2007.
	Don't imply that CVS is better if you have limited disk space.

2009-08-05  Joel E. Denny  <jdenny@clemson.edu>

	update-copyright: support C-style comments
	* build-aux/update-copyright: Implement and document.
	* tests/test-update-copyright.sh: Test.

2009-08-05  Joel E. Denny  <jdenny@clemson.edu>

	update-copyright: support omitted "(C)"
	* build-aux/update-copyright: Implement and document.  Also,
	allow variable whitespace before "(C)".
	* tests/test-update-copyright.sh: Test.

2009-08-05  Joel E. Denny  <jdenny@clemson.edu>

	update-copyright: don't trip on non-FSF copyright statements
	* build-aux/update-copyright: Fix so that the first correctly
	formatted FSF copyright statement is recognized no matter what
	appears before it.  Update documentation.
	* tests/test-update-copyright.sh: Test that.

2009-08-05  Joel E. Denny  <jdenny@clemson.edu>

	update-copyright: clean up code a little
	* build-aux/update-copyright: Append "_re" to the name of any
	variable holding a regular expression.
	Replace "old" and "new" with "stmt" in variable names.
	Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
	handled correctly.
	Format code more consistently.

2009-08-05  Joel E. Denny  <jdenny@clemson.edu>

	update-copyright-tests: improve portability
	* tests/test-update-copyright.sh: Use cmp if diff cannot handle
	-u or /dev/null.  Suggested by Jim Meyering and Eric Blake.

2009-08-03  Joel E. Denny  <jdenny@clemson.edu>

	update-copyright: support @copyright{} and &copy;
	* build-aux/update-copyright: Implement and document.
	* tests/test-update-copyright.sh: Test.

2009-08-04  Jim Meyering  <meyering@redhat.com>

	update-copyright-tests: correctly test EOL=\r\n handling
	* tests/test-update-copyright.sh: Put \r at the end of some lines
	for the dos-eol tests.  Based on a patch by Joel E. Denny.

	maint.mk: make update-copyright exclusion list more configurable
	* top/maint.mk (update-copyright): Default to excluding COPYING,
	but allow an override, in case someone does want to update that file.

	maint.mk: don't update copyright date in COPYING
	* top/maint.mk (update-copyright): Exclude COPYING.

	maint.mk: add a copyright-updating rule
	* top/maint.mk (update-copyright): New rule.
	Derived from coreutils/Makefile.am.

	update-copyright: rename some variables
	* build-aux/update-copyright: Rename a few variables for clarity.
	Tweak syntax.  List Joel E. Denny as coauthor.

2009-08-03  Joel E. Denny  <jdenny@clemson.edu>

	update-copyright: fix bug for 2-digit last year and add tests
	* build-aux/update-copyright: Fix bug.
	Use UPDATE_COPYRIGHT_YEAR from environment as current year if
	specified.
	* modules/update-copyright-tests: New
	* tests/test-update-copyright.sh: New.

2009-07-31  Joel E. Denny  <jdenny@clemson.edu>

	update-copyright: handle leading tabs in line prefix
	* build-aux/update-copyright: Count leading tabs as 8 spaces
	when computing margin.  This helps with the formatting of
	ChangeLogs, for example.
	Fix documentation a little.

2009-07-31  Joel E. Denny  <jdenny@clemson.edu>

	update-copyright: support EOL=\r\n
	* build-aux/update-copyright: Implement that.

2009-07-31  Joel E. Denny  <jdenny@clemson.edu>

	update-copyright: automatically format copyright statements
	* build-aux/update-copyright: Implement that.
	Also, be a little more predictable and safer by always failing
	when the full copyright format is not perfectly recognized as an
	unbroken whole.  Discussed at
	<http://lists.gnu.org/r/bug-gnulib/2009-07/msg00131.html>.
	Rewrite documentation.

2009-08-03  Bruno Haible  <bruno@clisp.org>

	* m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.

2009-08-02  Bruno Haible  <bruno@clisp.org>

	Tests for module 'uname'.
	* modules/uname-tests: New file.
	* tests/test-uname.c: New file.

	New module 'uname'.
	* lib/uname.c: New file.
	* m4/uname.m4: New file.
	* modules/uname: New file.
	* doc/posix-functions/uname.texi: Mention the new module.

2009-08-02  Bruno Haible  <bruno@clisp.org>

	Tests for module 'sys_utsname'.
	* modules/sys_utsname-tests: New file.
	* tests/test-sys_utsname.c: New file.

	New module 'sys_utsname'.
	* lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
	* m4/sys_utsname_h.m4: New file.
	* modules/sys_utsname: New file.
	* doc/posix-headers/sys_utsname.texi: Mention the new module.

2009-08-02  Bruno Haible  <bruno@clisp.org>

	Implicitly initialize the sockets library.
	* lib/gethostname.c: Include sockets.h.
	(rpl_gethostname): Invoke gl_sockets_startup.
	* lib/socket.c: Include sockets.h.
	(rpl_socket): Invoke gl_sockets_startup.
	* modules/gethostname (Depends-on): Add sockets.
	* modules/socket (Depends-on): Likewise.
	* tests/test-poll.c: Don't include sockets.h.
	(main): Don't invoke gl_sockets_startup.
	* tests/test-select.c: Don't include sockets.h.
	(main): Don't invoke gl_sockets_startup.

2009-08-02  Bruno Haible  <bruno@clisp.org>

	Allow multiple calls to gl_sockets_startup.
	* lib/sockets.c (initialized_sockets_version): New variable.
	(gl_sockets_startup): Do nothing if already called for this or a higher
	version.
	(gl_sockets_cleanup): Reset initialized_sockets_version.

2009-08-03  Simon Josefsson  <simon@josefsson.org>

	* tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
	different project/version.

2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	Tests for module 'pipe-filter-gi'.
	* modules/pipe-filter-gi-tests: New file.
	* tests/test-pipe-filter-gi1.sh: New file.
	* tests/test-pipe-filter-gi1.c: New file.
	* tests/test-pipe-filter-gi2.sh: New file.
	* tests/test-pipe-filter-gi2-main.c: New file.
	* tests/test-pipe-filter-gi2-child.c: New file.

	New module 'pipe-filter-gi'.
	* lib/pipe-filter-gi.c: New file.
	* modules/pipe-filter-gi: New file.

2009-08-02  Bruno Haible  <bruno@clisp.org>
	    Paolo Bonzini  <bonzini@gnu.org>

	Tests for module 'pipe-filter-ii'.
	* modules/pipe-filter-ii-tests: New file.
	* tests/test-pipe-filter-ii1.sh: New file.
	* tests/test-pipe-filter-ii1.c: New file.
	* tests/test-pipe-filter-ii2.sh: New file.
	* tests/test-pipe-filter-ii2-main.c: New file.
	* tests/test-pipe-filter-ii2-child.c: New file.

	New module 'pipe-filter-ii'.
	* lib/pipe-filter.h: New file.
	* lib/pipe-filter-ii.c: New file.
	* lib/pipe-filter-aux.h: New file.
	* modules/pipe-filter-ii: New file.

2009-08-02  Simon Josefsson  <simon@josefsson.org>

	* lib/gc-libgcrypt.c: Change copyright to FSF.
	* lib/gc-gnulib.c: Likewise.

2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)

	* lib/gethostname.c: Include limits.h.

2009-08-02  Simon Josefsson  <simon@josefsson.org>
	    Bruno Haible  <bruno@clisp.org>

	Ensure HOST_NAME_MAX as part of the gethostname module.
	* m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
	define also HOST_NAME_MAX.
	* tests/test-gethostname.c: Include <limits.h>.
	(main): Check also HOST_NAME_MAX.
	* doc/posix-headers/limits.texi: Document the mingw problem.

2009-08-02  Bruno Haible  <bruno@clisp.org>

	* lib/gethostname.c (gethostname): Fix handling of large len argument.
	Add comments.

2009-03-31  Simon Josefsson  <simon@josefsson.org>

	* lib/gethostname.c: Add Windows wrapper.
	* m4/gethostname.m4: Look for gethostname in -lws2_32.
	* modules/gethostname: Depend on sys_socket & errno, for also
	added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
	* modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.

2009-07-31  Jim Meyering  <meyering@redhat.com>

	getloadavg: fix symbol name in comment
	* lib/getloadavg.c: Correct a typo I introduced when adding
	comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
	Matt Kraai spotted the problem.

2009-07-29  Matt Kraai  <mkraai@beckman.com>

	getloadavg: check whether n_name is a pointer, for QNX 6.4.1
	* lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
	code also if ! defined N_NAME_POINTER.
	* m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
	This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
	but the n_name member is a 12-byte array.

2009-07-29  Joel E. Denny  <jdenny@clemson.edu>

	update-copyright: generalize comment handling
	* build-aux/update-copyright: Handle copyright statements
	within more comment styles.
	Document usage.
	Report any file with an external copyright holder or parse failure.

2009-07-29  Jim Meyering  <meyering@redhat.com>

	mktime: correct setting of REPLACE_MKTIME
	* m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.

	update-copyright: new module
	* modules/update-copyright: New file.
	* build-aux/update-copyright: New file.
	* MODULES.html.sh (maint+release support): Add update-copyright.

2009-07-27  Bruno Haible  <bruno@clisp.org>

	Fix compilation error when <ctime> is used and mktime is replaced.
	* lib/time.in.h (mktime): New declaration.
	* m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
	REPLACE_MKTIME instead of defining mktime in config.h.
	* m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
	* modules/time (Makefile.am): Substitute REPLACE_MKTIME.
	Reported by Ross McFarland <rwmcfa1@neces.com>.

2009-07-27  Bruno Haible  <bruno@clisp.org>

	* lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
	Reported by Matt Kraai <mkraai@beckman.com>.

2009-07-25  Jim Meyering  <meyering@redhat.com>

	maint.mk: avoid warnings about missing files
	* top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
	diagnostic when .prev-version does not exist.
	(_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
	(syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
	nonexistent cfg.mk.
	Suggestions from Simon Josefsson.

2009-07-25  Bruno Haible  <bruno@clisp.org>

	* lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
	defined as macros. Needed on QNX 6.4.1.
	Reported by Matt Kraai <mkraai@beckman.com>.

2009-07-23  Jim Meyering  <meyering@redhat.com>

	maint.mk: invoke "make dist" with a working value of XZ_OPT
	* top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.

2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)

	Make fseeko.c compile on QNX.
	* lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.

2009-07-22  Peter Simons  <simons@cryp.to>

	C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
	* lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
	* lib/md4.h: Likewise.
	* lib/md5.h: Likewise.
	* lib/sha1.h: Likewise.
	* lib/sha256.h: Likewise.
	* lib/sha512.h: Likewise.

	tests-sha1: don't assign literal string to 'char *' variable
	* tests/test-sha1.c (main): Declare locals with "const" to match
	attributes of the right hand side.

2009-07-21  Eric Blake  <ebb9@byu.net>

	dup2: fix more mingw problems
	* lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
	fd to itself.
	* doc/posix-functions/dup2.texi (dup2): Document the bug.
	* lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
	* lib/fchdir.c (dup2): Manage preprocessor macros correctly.
	(rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
	care of mingw bugs.

2009-07-21  Jim Meyering  <meyering@redhat.com>

	vc-list-files: avoid failure when /bin/sh is dash
	* build-aux/vc-list-files: Avoid a shell portability problem with dash.
	On some Debian based systems, /bin/sh is a symlink to dash, and running
	this command would omit the "/" following each 'tests' prefix:
	  dash -x build-aux/vc-list-files -C . tests
	That is because bash and dash work differently:
	  $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
	  bash ok
	  dash odd

2009-07-21  Eric Blake  <ebb9@byu.net>

	dup2-tests: test previous patch
	* modules/dup2-tests: New file.
	* tests/test-dup2.c: Likewise.
	* tests/test-open.c (main): Avoid unspecified behavior.
	* tests/test-pipe.c (child_main): Use dup2 semantics to simplify
	test.

	dup2: work around mingw and cygwin 1.5 bug
	* m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
	* modules/unistd (Makefile.am): Substitute it.
	* lib/unistd.in.h (dup2): Declare the replacement.
	* lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
	* doc/posix-functions/dup2.texi (dup2): Document the bugs.
	* lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
	* modules/execute (Depends-on): Add dup2.
	* modules/fseterr (Depends-on): Likewise.
	* modules/pipe (Depends-on): Likewise.
	* modules/posix_spawn-internal (Depends-on): Likewise.

2009-07-21  Bruno Haible  <bruno@clisp.org>

	* modules/.gitattributes: New file.

2009-07-20  Bruno Haible  <bruno@clisp.org>

	* tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
	(main): Use it.

2009-07-20  Eric Blake  <ebb9@byu.net>

	test-pipe: make a bit more robust.
	* tests/test-pipe.c (myerr): Allow error messages regardless of
	what we do to stderr.
	(test_pipe): Rearrange to avoid deadlock.
	(child_main): Try a larger read, to ensure we avoided deadlock.
	* lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
	* lib/pipe.h (create_pipe_bidi): Document potential for deadlock
	if misused.

2009-07-19  Jim Meyering  <meyering@redhat.com>

	fts: avoid false-positive cycle-detection
	* lib/fts.c (fts_read): Reinitialize cycle-detection data structures
	for each new command line argument.

2009-07-19  Bruno Haible  <bruno@clisp.org>

	Fix build error on mingw with the modules sys_select and unistd.
	* modules/acl-tests (Depends-on): Add close.
	* modules/binary-io-tests (Depends-on): Likewise.
	* modules/closein-tests (Depends-on): Likewise.
	* modules/flock-tests (Depends-on): Likewise.
	* modules/fsync-tests (Depends-on): Likewise.
	* modules/lseek-tests (Depends-on): Likewise.
	* modules/pipe-tests (Depends-on): Likewise.
	* modules/posix_spawn-tests (Depends-on): Likewise.
	* modules/posix_spawnp-tests (Depends-on): Likewise.
	* modules/stat-time-tests (Depends-on): Likewise.
	* modules/yesno-tests (Depends-on): Likewise.

2009-07-19  Bruno Haible  <bruno@clisp.org>

	Unify conditionals.
	* lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
	macros, not at the compiler macros.
	* lib/pipe.c: Likewise.
	* lib/execute.c: Likewise.
	* lib/spawni.c: Likewise.

2009-07-19  Bruno Haible  <bruno@clisp.org>

	Fix handling of closed stdin/stdout/stderr on mingw.
	* lib/w32spawn.h: Include unistd.h.
	(dup_noinherit): Return -1 if the old handle is invalid. Allocate new
	file descriptor with O_NOINHERIT flag.
	(fd_safer_noinherit): New function, based on fd-safer.c.
	(dup_safer_noinherit): New function, based on dup-safer.c.
	(undup_safer_noinherit): New function.
	* lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
	dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
	* lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
	instead of fd_safer.
	* tests/test-pipe.c: Include <windows.h>.
	(child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
	result.

	* tests/test-pipe.c (child_main, parent_main): New functions, extracted
	from main.
	(test_pipe): Pass an extra argument for disambiguation.
	(main): Invoke parent_main or child_main.

	* tests/test-pipe.c (test_pipe): Pass slave_process = true argument
	consistently.

2009-07-18  Eric Blake  <ebb9@byu.net>

	test-pipe: fix mingw build
	* tests/test-pipe.c (main): Avoid fcntl on mingw.

2009-07-18  Bruno Haible  <bruno@clisp.org>

	* modules/pipe-tests (Makefile.am): Fix typo.

2009-07-18  Eric Blake  <ebb9@byu.net>

	error: fix mingw build
	* lib/error.c (error, error_at_line): Avoid fcntl on mingw.
	Reported by Bruno Haible.

	error: avoid undefined use of stdout
	* lib/error.c (error, error_at_line): Check that fd 1 is open
	before flushing stdout.  Avoids a crash on cygwin when libsigsegv
	is handling faults and the close_stdout module wants to report the
	detection of closed stdout as an error.

2009-07-17  Eric Blake  <ebb9@byu.net>

	pipe: be robust in face of closed fds
	* lib/pipe.c (create_pipe): Closed standard descriptors in parent
	should cause child to misbehave.
	* modules/pipe-tests: New module.
	* tests/test-pipe.c: New file.
	* tests/test-pipe.sh: New file.
	Reported by Akim Demaille.

2009-07-14  Bruno Haible  <bruno@clisp.org>

	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
	Reported by anonymous kc.

2009-07-07  Jim Meyering  <meyering@redhat.com>

	maint.mk: don't look for translatable strings in *.m4 or *.mk
	* top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
	when searching for translatable strings.

2009-07-05  Jim Meyering  <meyering@redhat.com>

	remove superfluous parentheses in STREQ definition
	* tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
	* lib/getugroups.c (STREQ): Likewise.
	* lib/fnmatch.c (STREQ): Likewise.
	Spotted by Bruno Haible.

2009-07-04  Jim Meyering  <meyering@redhat.com>

	argv-iter: new module
	* MODULES.html.sh: Add argv-iter.
	* lib/argv-iter.c, lib/argv-iter.h: New files.
	* modules/argv-iter: New file.
	* modules/argv-iter-tests: New file.
	* tests/test-argv-iter.c: Test it.

2009-07-04  Bruno Haible  <bruno@clisp.org>

	Fix assertion.
	* lib/git-merge-changelog.c (compute_mapping): In the case where file1
	contains more exact copies of a given entry than file2, leave the extra
	copies unpaired rather than aborting.
	Reported by Eric Blake.

2009-07-02  Bruno Haible  <bruno@clisp.org>

	Speedup git-merge-changelog for git cherry-pick.
	* lib/git-merge-changelog.c (struct entries_mapping): New type.
	(entries_mapping_get): New function, extracted from compute_mapping.
	(entries_mapping_reverse_get): New function.
	(compute_mapping): Add a 'full' argument. Return the result in a
	'struct entries_mapping'.
	(main): Update. Access the mappings through entries_mapping_get.
	Reported by Eric Blake.

2009-07-02  Bruno Haible  <bruno@clisp.org>

	* lib/git-merge-changelog.c (compute_mapping): Fix determination of
	best_i.

2009-07-02  Bruno Haible  <bruno@clisp.org>

	Speed up approximate search for matching ChangeLog entries.
	* lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
	argument. Call fstrcmp_bounded instead of fstrcmp.
	(compute_mapping, try_split_merged_entry, main): Update callers.

2009-07-02  Bruno Haible  <bruno@clisp.org>

	* lib/git-merge-changelog.c (main): Add comment about git cherry-pick.

2009-06-30  Bruno Haible  <bruno@clisp.org>

	Reduce the number of uc_is_cased calls.
	* lib/unicase.h (casing_suffix_context_t): Add
	'first_char_except_ignorable' field.
	* lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
	(SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
	* lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
	Update initializer.
	* lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
	case-ignorable characters.
	* lib/unicase/u-ct-totitle.h (FUNC): Likewise.
	* lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
	* modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
	* modules/unicase/u16-suffix-context (Depends-on): Likewise.
	* modules/unicase/u32-suffix-context (Depends-on): Likewise.

2009-06-30  Bruno Haible  <bruno@clisp.org>

	Tests for module 'unicase/ignorable'.
	* modules/unicase/ignorable-tests: New file.
	* tests/unicase/test-ignorable.c: New file, generated by
	gen-uni-tables.

	Tests for module 'unicase/cased'.
	* modules/unicase/cased-tests: New file.
	* tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
	* tests/unicase/test-predicate-part1.h: New file, derived from
	tests/unictype/test-predicate-part1.h.
	* tests/unicase/test-predicate-part2.h: New file, same as
	tests/unictype/test-predicate-part2.h.

	Fix evaluation of "Before C" condition of FINAL_SIGMA.
	* lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
	(output_casing_properties): New function.
	(main): Call it.
	* lib/unicase/cased.h: New file, generated by gen-uni-tables.
	* lib/unicase/cased.c: Include unictype/bitmap.h.
	(uc_is_cased): Define through a bitmap lookup.
	* lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
	* lib/unicase/ignorable.c: Include unictype/bitmap.h.
	(uc_is_case_ignorable): Define through a bitmap lookup.
	* modules/unicase/cased (Files): Add lib/unicase/cased.h,
	lib/unictype/bitmap.h.
	(Depends-on): Add inline. Clean up.
	* modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
	lib/unictype/bitmap.h.
	(Depends-on): Add inline. Clean up.
	* tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
	recognition.
	* tests/unicase/test-u16-tolower.c (main): Likewise.
	* tests/unicase/test-u32-tolower.c (main): Likewise.

2009-06-30  Bruno Haible  <bruno@clisp.org>

	* lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
	* lib/unicase/u16-casemap.c: Likewise.
	* lib/unicase/u32-casemap.c: Likewise.

2009-06-29  Bruno Haible  <bruno@clisp.org>

	Define u32_casefold as a wrapper around u32_ct_casefold.
	* lib/unicase/u32-casefold.c: Update.
	* modules/unicase/u32-casefold (Depends-on): Add
	unicase/u32-ct-casefold, unicase/empty-prefix-context,
	unicase/empty-suffix-context. Clean up.

	Define u16_casefold as a wrapper around u16_ct_casefold.
	* lib/unicase/u16-casefold.c: Update.
	* modules/unicase/u16-casefold (Depends-on): Add
	unicase/u16-ct-casefold, unicase/empty-prefix-context,
	unicase/empty-suffix-context. Clean up.

	Define u8_casefold as a wrapper around u8_ct_casefold.
	* lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
	* lib/unicase/u8-casefold.c: Update.
	* modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
	unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.

	Define u32_totitle as a wrapper around u32_ct_totitle.
	* lib/unicase/u32-totitle.c: Update.
	* modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
	unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.

	Define u16_totitle as a wrapper around u16_ct_totitle.
	* lib/unicase/u16-totitle.c: Update.
	* modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
	unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.

	Define u8_totitle as a wrapper around u8_ct_totitle.
	* lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
	functions.
	(FUNC): Delegate to U_CT_TOTITLE.
	* lib/unicase/u8-totitle.c: Update.
	* modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
	unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.

	* lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
	invocation.
	* modules/unicase/u32-tolower (Depends-on): Add
	unicase/empty-prefix-context, unicase/empty-suffix-context.

	* lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
	invocation.
	* modules/unicase/u16-tolower (Depends-on): Add
	unicase/empty-prefix-context, unicase/empty-suffix-context.

	* lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
	* modules/unicase/u8-tolower (Depends-on): Add
	unicase/empty-prefix-context, unicase/empty-suffix-context.

	* lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
	invocation.
	* modules/unicase/u32-toupper (Depends-on): Add
	unicase/empty-prefix-context, unicase/empty-suffix-context.

	* lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
	invocation.
	* modules/unicase/u16-toupper (Depends-on): Add
	unicase/empty-prefix-context, unicase/empty-suffix-context.

	* lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
	* modules/unicase/u8-toupper (Depends-on): Add
	unicase/empty-prefix-context, unicase/empty-suffix-context.

	New module 'unicase/u32-ct-casefold'.
	* lib/unicase/u32-ct-casefold.c: New file.
	* modules/unicase/u32-ct-casefold: New file.

	New module 'unicase/u16-ct-casefold'.
	* lib/unicase/u16-ct-casefold.c: New file.
	* modules/unicase/u16-ct-casefold: New file.

	New module 'unicase/u8-ct-casefold'.
	* lib/unicase/u8-ct-casefold.c: New file.
	* lib/unicase/u-ct-casefold.h: New file, derived from
	lib/unicase/u-casefold.h.
	* modules/unicase/u8-ct-casefold: New file.

	New module 'unicase/u32-ct-totitle'.
	* lib/unicase/u32-ct-totitle.c: New file.
	* modules/unicase/u32-ct-totitle: New file.

	New module 'unicase/u16-ct-totitle'.
	* lib/unicase/u16-ct-totitle.c: New file.
	* modules/unicase/u16-ct-totitle: New file.

	New module 'unicase/u8-ct-totitle'.
	* lib/unicase/u8-ct-totitle.c: New file.
	* lib/unicase/u-ct-totitle.h: New file, derived from
	lib/unicase/u-totitle.h.
	* modules/unicase/u8-ct-totitle: New file.

	New module 'unicase/u32-ct-tolower'.
	* lib/unicase/u32-ct-tolower.c: New file.
	* modules/unicase/u32-ct-tolower: New file.

	New module 'unicase/u16-ct-tolower'.
	* lib/unicase/u16-ct-tolower.c: New file.
	* modules/unicase/u16-ct-tolower: New file.

	New module 'unicase/u8-ct-tolower'.
	* lib/unicase/u8-ct-tolower.c: New file.
	* modules/unicase/u8-ct-tolower: New file.

	New module 'unicase/u32-ct-toupper'.
	* lib/unicase/u32-ct-toupper.c: New file.
	* modules/unicase/u32-ct-toupper: New file.

	New module 'unicase/u16-ct-toupper'.
	* lib/unicase/u16-ct-toupper.c: New file.
	* modules/unicase/u16-ct-toupper: New file.

	New module 'unicase/u8-ct-toupper'.
	* lib/unicase/u8-ct-toupper.c: New file.
	* modules/unicase/u8-ct-toupper: New file.

	Add context arguments to u*_casemap functions.
	* lib/unicase/unicasemap.h: Include unicase.h.
	(u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
	suffix_context arguments.
	* lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
	functions.
	(FUNC): Add prefix_context and suffix_context arguments. Use
	uc_is_cased and uc_is_case_ignorable.
	* lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
	* lib/unicase/u16-casemap.c: Likewise.
	* lib/unicase/u32-casemap.c: Likewise.
	* modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
	(Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
	* modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
	(Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
	* modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
	(Depends-on): Add unicase/cased, unicase/ignorable. Clean up.

	New module 'unicase/u32-suffix-context'.
	* lib/unicase/u32-suffix-context.c: New file.
	* modules/unicase/u32-suffix-context: New file.

	New module 'unicase/u16-suffix-context'.
	* lib/unicase/u16-suffix-context.c: New file.
	* modules/unicase/u16-suffix-context: New file.

	New module 'unicase/u8-suffix-context'.
	* lib/unicase/u8-suffix-context.c: New file.
	* lib/unicase/u-suffix-context.h: New file.
	* modules/unicase/u8-suffix-context: New file.

	New module 'unicase/empty-suffix-context'.
	* lib/unicase/empty-suffix-context.c: New file.
	* modules/unicase/empty-suffix-context: New file.

	New module 'unicase/u32-prefix-context'.
	* lib/unicase/u32-prefix-context.c: New file.
	* modules/unicase/u32-prefix-context: New file.

	New module 'unicase/u16-prefix-context'.
	* lib/unicase/u16-prefix-context.c: New file.
	* modules/unicase/u16-prefix-context: New file.

	New module 'unicase/u8-prefix-context'.
	* lib/unicase/u8-prefix-context.c: New file.
	* lib/unicase/u-prefix-context.h: New file.
	* lib/unicase/context.h: New file.
	* modules/unicase/u8-prefix-context: New file.

	New module 'unicase/empty-prefix-context'.
	* lib/unicase/empty-prefix-context.c: New file.
	* modules/unicase/empty-prefix-context: New file.

	New module 'unicase/ignorable'.
	* lib/unicase/ignorable.c: New file.
	* modules/unicase/ignorable: New file.

	New module 'unicase/cased'.
	* lib/unicase/caseprop.h: New file.
	* lib/unicase/cased.c: New file.
	* modules/unicase/cased: New file.

	New functions for case mapping of substrings.
	* lib/unicase.h (casing_prefix_context_t): New type.
	(unicase_empty_prefix_context): New variable.
	(u8_casing_prefix_context, u16_casing_prefix_context,
	u32_casing_prefix_context, u8_casing_prefixes_context,
	u16_casing_prefixes_context, u32_casing_prefixes_context): New
	declarations.
	(casing_suffix_context_t): New type.
	(unicase_empty_suffix_context): New variable.
	(u8_casing_suffix_context, u16_casing_suffix_context,
	u32_casing_suffix_context, u8_casing_suffixes_context,
	u16_casing_suffixes_context, u32_casing_suffixes_context,
	u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
	u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
	u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
	declarations.

2009-06-28  Jim Meyering  <meyering@redhat.com>

	boostrap: indent only with spaces
	* build-aux/bootstrap: Indent only with spaces, never TABs.

	bootstrap: split long lines
	* build-aux/bootstrap: Keep line length < 80.

	bootstrap: sync from coreutils
	* build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
	just as autoreconf does.  Verify a list of prerequisite
	package-name,version-number pairs if defined in bootstrap.conf.
	Refer to README-prereq, if prerequisites are not satisfied.

2009-06-27  Eric Blake  <ebb9@byu.net>

	tests: add test for bogus NULL definition
	* tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
	* tests/test-stdlib.c: Likewise.
	* tests/test-string.c: Likewise.
	* tests/test-locale.c: Likewise.
	* tests/test-unistd.c: Likewise.
	* modules/stdio-tests (Depends-on): Add verify.
	* modules/stdlib-tests (Depends-on): Likewise.
	* modules/string-tests (Depends-on): Likewise.
	* modules/locale-tests (Depends-on): Likewise.
	* modules/unistd-tests (Depends-on): Likewise.

2009-06-27  Paolo Bonzini  <bonzini@gnu.org>

	* m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
	self-explaining comment.
	* m4/selinux-selinux-h: Update serial.
	(gl_LIBSELINUX): New macro, adding a warning for missing development
	packages to code extracted from...
	(gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
	Add warning for missing development packages here, too.

2009-06-26  Paolo Bonzini  <bonzini@gnu.org>

	* build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.

2009-06-25  Eric Blake  <ebb9@byu.net>

	version-etc: fix regression
	* lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
	gcc.
	(version_etc): Use it, to catch bugs with trailing NULL.
	* lib/version-etc.c (version_etc_arn): Delete unused argument.
	(version_etc_va): Fix logic bug.
	* modules/version-etc-tests: Add test.
	* tests/test-version-etc.c: New file.
	* tests/test-version-etc.sh: Likewise.

2009-06-25  Sam Steingold  <sds@gnu.org>

	* mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
	mbtowc declaration.

2009-06-25  Eric Blake  <ebb9@byu.net>

	fpurge: migrate into <stdio.h>
	* lib/fpurge.h: Delete...
	* lib/stdio.in.h (fpurge): ...and declare here, instead.
	* lib/fpurge.c (fpurge): Change declaring header.
	* modules/fpurge (Files): Drop deleted file.
	(Depends-on): Add stdio.
	(configure.ac): Set witness.
	* modules/stdio (Makefile.am): Support fpurge macros.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
	* m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
	* lib/fflush.c: Update client.
	* tests/test-fpurge.c: Likewise.
	* NEWS: Mention the change.

2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp-version-etc.c (program_authors): Add const
	qualifier.
	* lib/version-etc.c: Fix typos in the comments.
	* modules/argp-version-etc: Depends on version-etc.

2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	argp-version-etc: new module.

	* lib/argp-version-etc.c: New file.
	* lib/argp-version-etc.h: New file.
	* modules/argp-version-etc: New file.
	* modules/argp-version-etc-tests: New file.
	* tests/test-argp-version-etc.c: New test.
	* tests/test-argp-version-etc-1.sh: New test.

2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	Provide additional interfaces and documentation for version-etc
	module.

	* lib/version-etc.c (version_etc_arn, version_etc_ar): New
	interfaces.
	* lib/version-etc.h (version_etc_arn, version_etc_ar): New
	prototypes.

2009-06-24  Bruno Haible  <bruno@clisp.org>

	* m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
	HAVE_LIB${NAME} macro.
	Reported by Sam Steingold <sds@gnu.org>.

2009-06-23  Simon Josefsson  <simon@josefsson.org>

	* modules/hash-tests (test_hash_LDADD): Link to libintl when
	needed.

2009-06-21  Bruno Haible  <bruno@clisp.org>

	Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
	work.
	* m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
	together with LIB${NAME}, LTLIB${NAME}.
	Reported by Sam Steingold <sds@gnu.org>.

2009-06-20  Jim Meyering  <meyering@redhat.com>

	tests: make sc_require_test_exit_idiom more generic
	* top/maint.mk (Exit_witness_file): New overridable variable.
	(sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
	Relax test for /^Exit \$fail$$/ to just /^Exit ./.

2009-06-19  Jim Meyering  <meyering@redhat.com>

	hash: reverse order of src/dst parameters in an internal interface
	* lib/hash.c (transfer_entries): Reverse order of parameters to
	put DST before SRC.  Adjust callers.

	tests: test-hash: avoid wholesale duplication
	* tests/test-hash.c (main): Don't copy/paste a 60-line loop.
	Instead, use a loop and add a single conditional.

	tests: test-hash: allow seed selection via a command line argument
	* tests/test-hash.c (get_seed): New function.
	(main): Use it.

2009-06-19  Eric Blake  <ebb9@byu.net>

	hash: avoid memory leak on allocation failure
	* lib/hash.c: (hash_rehash): Avoid memory leak on allocation
	failure.  Factor repeated algorithm...
	(transfer_entries): ...into new helper routine.
	(hash_delete): React to hash_rehash return value.

	hash: reduce memory pressure in hash_rehash no-op case
	* lib/hash.c (next_prime): Avoid overflow.
	(hash_initialize): Factor bucket size computation...
	(compute_bucket_size): ...into new helper function.
	(hash_rehash): Use new function and open coding to reduce memory
	pressure, and avoid a memory leak in USE_OBSTACK code.
	Reported by Jim Meyering.

2009-06-18  Eric Blake  <ebb9@byu.net>

	hash: make rotation more obvious
	* modules/hash (Depends-on): Add bitrotate and stdint.
	* lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
	* lib/hash.c (headers): Drop limits.h.  Add stdint.h.
	(SIZE_MAX): Rely on headers for definition.
	(hash_string) [USE_DIFF_HASH]: Use rotl_sz.
	(raw_hasher): Use rotr_sz.
	Suggested by Jim Meyering.

	hash: fix memory leak in last patch
	* lib/hash.c (hash_rehash): Avoid memory leak.

	hash: avoid no-op rehashing
	* lib/hash.c (hash_rehash): Recognize useless rehash attempts.

	hash: provide default callback functions
	* lib/hash.c (raw_hasher, raw_comparator): New functions.
	(hash_initialize): Use them as defaults.
	* tests/test-hash.c (main): Test this.

	hash: minor optimization
	* lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
	when possible.
	(hash_initialize): Document this promise.
	(hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
	* tests/test-hash.c (hash_compare_strings): Test this.

2009-06-18  Bruno Haible  <bruno@clisp.org>

	* m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
	going to be replaced anyway.

2009-06-18  Bruno Haible  <bruno@clisp.org>

	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
	in one place.
	(gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
	be replaced anyway.

2009-06-18  Eric Blake  <ebb9@byu.net>

	hash: check for resize before insertion
	* lib/hash.c (hash_insert): Check whether bucket usage exceeds
	threshold before insertion, so that a pathological hash_rehash
	that fills every bucket can still trigger another rehash.

2009-06-18  Jim Meyering  <meyering@redhat.com>

	hash-tests: add a loop around the small tests
	* tests/test-hash.c (main): Repeat small tests with selected
	small initial table sizes.

2009-06-17  Eric Blake  <ebb9@byu.net>

	hash: minor cleanups
	* lib/hash.h (hash_entry): Make opaque, by moving...
	* lib/hash.c (hash_entry): ...here.
	(hash_insert): Clarify restrictions on what can be inserted.
	(hash_get_next): Clarify when it is safe to remove an element
	during traversal.
	(check_tuning): Skip verification when tuning is known safe.
	(hash_initialize): Clarify restrictions on tuning.

2009-06-17  Jim Meyering  <jim@meyering.net>
	and Eric Blake  <ebb9@byu.net>

	hash-tests: new module
	* modules/hash-tests: New file.
	* tests/test-hash.c: New file.

2009-06-17  Eric Blake  <ebb9@byu.net>

	strstr-simple: document new module
	* MODULES.html.sh: Document new module.

	strstr, strcasestr: replace on platforms with broken memchr
	* modules/strstr: Split into...
	* modules/strstr-simple: ...new module that does not care about
	performance, but does care about glibc bug.
	* m4/strstr.m4 (gl_FUNC_STRSTR): Split...
	(gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
	if platform memchr is broken, per Debian bug 521737.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
	memchr.
	* m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
	* doc/posix-functions/strstr.texi (strstr): Document the fix.
	* doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
	* modules/mountlist (Depends-on): Add strstr-simple.
	* modules/gen-uni-tables (Depends-on): Likewise.
	* modules/argz (Depends-on): Add strstr.

2009-06-17  Bruno Haible  <bruno@clisp.org>

	* modules/posix_spawn-internal (Depends-on): Add errno.

2009-06-17  Bruno Haible  <bruno@clisp.org>

	Define missing ESTALE on Interix 3.5.
	* lib/errno.in.h (ESTALE): Assign a value if missing.
	* lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
	* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
	missing.
	* doc/posix-headers/errno.texi: Mention the Interix bug.
	Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.

2009-06-15  Eric Blake  <ebb9@byu.net>

	memchr, memchr2: add valgrind exception
	* lib/memchr.valgrind: New file.
	* lib/memchr2.valgrind: New file.
	* modules/memchr (Files): Distribute valgrind file.
	* modules/memchr2 (Files): Likewise.

	docs: memchr is no longer obsolete
	* MODULES.html.sh: Move memchr from obsolete to string.h section.
	* lib/string.in.h (memchr): Simplify logic.

2009-06-14  Jim Meyering  <meyering@redhat.com>

	link-follow: fix the "checking..." message to not mention trailing slash
	* m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
	never considered trailing slashes.

2009-06-14  Bruno Haible  <bruno@clisp.org>

	* m4/memchr.m4: Mention also the bug on IA-64.
	* doc/posix-functions/memchr.texi: Likewise.

2009-06-12  Eric Blake  <ebb9@byu.net>

	memchr: detect broken x86_64 and alpha implementations
	* modules/memchr-tests (Depends-on): Move mmap detection...
	* modules/memchr (Depends-on): ...here.
	(configure.ac): Set indicator.
	* lib/string.in.h (memchr): Declare replacement.
	* modules/string (Makefile.am): Trigger replacement.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
	* m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
	bugs.
	* doc/posix-functions/memchr.texi (memchr): Document the bug.
	* modules/getpagesize (License): Relax license.

2009-06-11  Bruno Haible  <bruno@clisp.org>

	* lib/idpriv.h: Add more references.

2009-06-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'idpriv-droptemp'.
	* modules/idpriv-droptemp-tests: New file.
	* tests/test-idpriv-droptemp.sh: New file.
	* tests/test-idpriv-droptemp.su.sh: New file.
	* tests/test-idpriv-droptemp.c: New file.

	New module 'idpriv-droptemp'.
	* lib/idpriv-droptemp.c: New file.
	* modules/idpriv-droptemp: New file.

2009-06-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'idpriv-drop'.
	* modules/idpriv-drop-tests: New file.
	* tests/test-idpriv-drop.sh: New file.
	* tests/test-idpriv-drop.su.sh: New file.
	* tests/test-idpriv-drop.c: New file.

	New module 'idpriv-drop'.
	* lib/idpriv.h: New file.
	* lib-idpriv-drop.c: New file.
	* m4/idpriv.m4: New file.
	* modules/idpriv-drop: New file.

2009-06-08  Bruno Haible  <bruno@clisp.org>

	* modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
	* modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.

2009-06-08  Eric Blake  <ebb9@byu.net>

	test-strstr: use memory fence, when possible
	* tests/test-strstr.c (main): Use memory fence, in order to be
	more likely to trigger Debian bug 521737.
	* modules/strstr-tests (Files): Pull in additional files.

	memchr: no longer obsolete, for wider field testing
	* modules/memchr (Status, Notice): Delete, this module is no
	longer obsolete.
	* modules/vasnprintf (Depends-on): Add memchr.

2009-06-07  Jim Meyering  <meyering@redhat.com>

	hash: declare some functions with the warn_unused_result attribute
	* lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.

2009-06-07  Bruno Haible  <bruno@clisp.org>

	* tests/test-alignof.c: Don't test int64_t if it does not exist.
	Reported by Eric Blake.

2009-06-06  Eric Blake  <ebb9@byu.net>

	test-alignof: fix typo with long double
	* tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
	compiler error.

2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)

	Escape non-texinfo { and }s.
	* doc/ld-output-def.texi (Visual Studio Compatibility): Fix
	markup error.

2009-06-04  Jim Meyering  <meyering@redhat.com>

	gitlog-to-changelog: don't infloop on an empty commit log
	* build-aux/gitlog-to-changelog: Warn about an empty log message.
	Reported by Boris Petersen <transacid@centerim.org>.

2009-06-03  Mike Frysinger  <vapier@gentoo.org>

	version-etc: extend for packagers
	Add three new configure options, intended for packagers:
	  --with-packager="packager name"
	  --with-packager-version="packager-specific version"
	  --with-packager-bug-reports="packager bug reporting"
	An example with coreutils:
	  $ ./configure \
	    --with-packager=Gentoo \
	    --with-packager-bug-report=http://bugs.gentoo.org/ \
	    --with-packager-version="patchset 1.6"
	  $ ./src/ls --version | head -n2
	  ls (GNU coreutils) 7.1-dirty
	  Packaged by Gentoo (patchset 1.6)
	Note that the bug reporting info via --help doesn't show up because
	coreutils uses its own custom emit_bug_reporting_address() implementation
	in src/system.h.  If it didn't, it'd look like:
	  $ ./src/ls --help | tail -n4
	  Report bugs to <bug-coreutils@gnu.org>.
	  Report Gentoo bugs to <http://bugs.gentoo.org/>.
	  GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
	  General help using GNU software: <http://www.gnu.org/gethelp/>.
	* lib/version-etc.c: Print new information, if provided.
	* m4/version-etc.m4: New file.
	* modules/version-etc (Files): Add m4/version-etc.m4.
	(configure.ac): Add gl_VERSION_ETC.

2009-05-31  Bruno Haible  <bruno@clisp.org>

	* tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
	and 'int64_t'.
	* modules/alignof-tests (Dependencies): Add stdint.
	Reported by Eric Blake.

2009-05-31  Bruno Haible  <bruno@clisp.org>

	* lib/alignof.h (alignof_slot, alignof_type, alignof): Document
	restriction due to compiler bugs.
	Reported by Eric Blake.

2009-05-31  Simon Josefsson  <simon@josefsson.org>
	    Bruno Haible  <bruno@clisp.org>

	Fix test-alignof failure.
	* lib/alignof.h (alignof_slot): New macro.
	(alignof_type): New macro, with the same semantics as the previous
	'alignof'.
	(alignof): Alias to alignof_slot.
	* tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
	check that the results are usable as constant expressions.

2009-05-31  Bruno Haible  <bruno@clisp.org>

	* tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
	* tests/test-memchr.c (main): Check that memchr does not read past the
	first occurrence of the byte.
	* tests/test-strstr.c (main): Update comment.
	Suggested by Eric Blake.

2009-05-30  Bruno Haible  <bruno@clisp.org>

	* doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
	detail how to use dumpbin.
	Reported by David Byron <dbyron@dbyron.com>.

2009-06-02  Simon Josefsson  <simon@josefsson.org>

	* tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.

2009-06-02  Simon Josefsson  <simon@josefsson.org>

	* m4/manywarnings.m4: Add GCC 4.4 warnings.

2009-05-28  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
	build-aux/ files.

2009-05-28  Simon Josefsson  <simon@josefsson.org>

	* gnulib-tool (func_import): Transform license on build-aux/ files too.

2009-05-27  Simon Josefsson  <simon@josefsson.org>

	* gnulib-tool (sed_transform_main_lib_file)
	(sed_transform_testsrelated_lib_file): : Don't use non-POSIX
	regexps.

2009-05-26  Simon Josefsson  <simon@josefsson.org>

	* tests/test-strstr.c: Add another self-test.
	* tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
	strdup.  Suggested by Eric Blake  <ebb9@byu.net>.

2009-05-23  Bruno Haible  <bruno@clisp.org>

	* doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
	change.

2009-05-21  Bruno Haible  <bruno@clisp.org>

	Simplify use of mode_t varargs.
	* lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
	uses 'mode_t' or 'int'.
	* lib/openat.c (openat): Likewise.
	* lib/open-safer.c (open_safer): Likewise.
	* m4/mode_t.m4: New file.
	* m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
	* m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
	* m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
	* modules/open (Files): Add m4/mode_t.m4.
	* modules/openat (Files): Likewise.
	* modules/fcntl-safer (Files): Likewise.
	Suggested by Eric Blake.

2009-05-21  Pádraig Brady  <P@draigbrady.com>

	* doc/glibc-functions/fallocate.texi: New file.
	* doc/gnulib.texi: Include it.

2009-05-21  Eric Blake  <ebb9@byu.net>
	    Bruno Haible  <bruno@clisp.org>

	* m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
	invocations.
	* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.

2009-05-21  Eric Blake  <ebb9@byu.net>
	    Bruno Haible  <bruno@clisp.org>

	Second attempt to work around an AIX 5.3, 6.1 compiler bug with
	include_next. Fix of 2008-11-20 commit.
	* m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
	NEXT_AS_FIRST_DIRECTIVE_FOO_H.
	* lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
	NEXT_MATH_H.
	* modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
	instead of NEXT_MATH_H.

2009-05-21  Bruno Haible  <bruno@clisp.org>

	Avoid redefinition warnings for SIZE_MAX.
	* m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
	Reported by Simon Josefsson.

2009-05-21  Bruno Haible  <bruno@clisp.org>

	* m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
	AC_CACHE_VAL.

2009-05-20  Bruno Haible  <bruno@clisp.org>

	Make zeroptr.h work on mingw.
	* tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
	mprotect.
	* modules/memchr-tests (configure.ac): Also test for sys/mman.h.
	* modules/memchr2-tests (configure.ac): Likewise.
	* modules/memcmp-tests (configure.ac): Likewise.
	* modules/memmem-tests (configure.ac): Likewise.
	* modules/memrchr-tests (configure.ac): Likewise.
	Reported by Simon Josefsson.

2009-05-20  Simon Josefsson  <simon@josefsson.org>

	* tests/test-glob.c: Include string.h for strcmp prototype.

2009-05-20  Simon Josefsson  <simon@josefsson.org>

	* modules/getdelim (Depends-on): Add explicit stdint, although it
	was implicitly already pulled in via realloc-posix.
	* lib/getdelim.c: Get SIZE_MAX from stdint.h.

2009-05-20  Simon Josefsson  <simon@josefsson.org>

	MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
	G. Christensen" <tgc@jupiterrise.com>.
	* m4/sys_socket_h.m4: Check for sa_family_t.
	* lib/sys_socket.in.h: Typedef sa_family_t when needed.
	* modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
	* tests/test-sys_socket.c: Check that sa_family_t works.

2009-05-18  Eric Blake  <ebb9@byu.net>

	maint.mk: allow gnulib_dir in VPATH build
	* top/maint.mk (gnulib_dir): Make relative to $(srcdir).

2009-05-15  Jim Meyering  <meyering@redhat.com>

	maint.mk: Give gnulib_dir a default definition.
	* top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
	Thus, most packages no longer need to specify this variable in cfg.mk

2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)

	rename.m4: fix typos that would make non-mingw cross-configure fail
	* m4/rename.m4 (gl_FUNC_RENAME): Fix typos.

2009-05-13  Eric Blake  <ebb9@byu.net>

	mmap-anon: avoid out-of-order autoconf expansion
	* m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
	SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
	* modules/memchr-tests (Depends-on): Add extensions.
	* modules/memchr2-tests (Depends-on): Add extensions.
	* modules/memcmp-tests (Depends-on): Add extensions.
	* modules/memmem-tests (Depends-on): Add extensions.
	* modules/memrchr-tests (Depends-on): Add extensions.

2009-05-13  Bruno Haible  <bruno@clisp.org>

	Make some tests ISO C 99 compliant.
	* tests/zerosize-ptr.h: New file.
	* tests/test-memchr.c: Include zerosize-ptr.h.
	(main): Use a zero-size object pointer instead of NULL.
	* tests/test-memchr2.c: Include zerosize-ptr.h.
	(main): Use a zero-size object pointer instead of NULL.
	* tests/test-memcmp.c: Include zerosize-ptr.h.
	(main): Use a zero-size object pointer instead of NULL.
	* tests/test-memmem.c: Include zerosize-ptr.h.
	(main): Use a zero-size object pointer instead of NULL.
	* tests/test-memrchr.c: Include zerosize-ptr.h.
	(main): Use a zero-size object pointer instead of NULL.
	* modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
	m4/mmap-anon.m4.
	(Depends-on): Add getpagesize.
	(configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
	* modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
	m4/mmap-anon.m4.
	(Depends-on): Add getpagesize.
	(configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
	* modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
	m4/mmap-anon.m4.
	(Depends-on): Add getpagesize.
	(configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
	* modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
	m4/mmap-anon.m4.
	(Depends-on): Add getpagesize.
	(configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
	* modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
	m4/mmap-anon.m4.
	(Depends-on): Add getpagesize.
	(configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.

2009-05-12  Bruno Haible  <bruno@clisp.org>

	Tests for module 'alignof'.
	* modules/alignof-tests: New file.
	* tests/test-alignof.c: New file.

2009-05-12  Bruno Haible  <bruno@clisp.org>

	Fix alignof macro.
	* lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
	vendor compilers that are always correct.

2009-05-12  Bruno Haible  <bruno@clisp.org>

	Make the MAP_ANONYMOUS detection work on HP-UX 11.
	* m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
	not whether its fully works.

2009-05-12  Bruno Haible  <bruno@clisp.org>

	* m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.

2009-05-12  Jim Meyering  <meyering@redhat.com>

	* top/maint.mk: Adjust backslash alignment.

2009-05-11  Simon Josefsson  <simon@josefsson.org>

	* top/maint.mk: Make $(srcdir)/build-aux configurable.

2009-05-11  Eric Blake  <ebb9@byu.net>

	argp: avoid undefined behavior
	* lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
	macros.

2009-05-08  Simon Josefsson  <simon@josefsson.org>

	* tests/test-vc-list-files-git.sh: Do git config of user.email and
	user.name to prevent git commit from complaining.

2009-05-10  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import, func_create_testdir, copy-file): Change
	sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
	it rewrites every file name only once.
	Reported by Simon Josefsson. Helped by Ralf Wildenhues.

2009-05-08  Bruno Haible  <bruno@clisp.org>

	* lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
	instead of 'max'.

2009-05-08  Simon Josefsson  <simon@josefsson.org>

	* m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
	sockaddr_storage test.

2009-05-07  Simon Josefsson  <simon@josefsson.org>

	* modules/sys_socket (Makefile.am): Substitute
	HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
	* m4/sys_socket_h.m4: Check for sockaddr_storage.
	* lib/sys_socket.in.h (sockaddr_storage): Define when needed.
	* tests/test-sys_socket.c: Check sockaddr_storage.

2009-05-08  Bruno Haible  <bruno@clisp.org>

	New module 'alignof'.
	* lib/alignof.h: New file.
	* modules/alignof: New file.

2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
	    Bruno Haible  <bruno@clisp.org>

	Fix test-file-has-acl on FreeBSD.
	* tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
	mask is implicitly added.
	* tests/test-file-has-acl.c: Include <signal.h>.
	(main): Terminate the test after 5 seconds.
	* modules/acl-tests (configure.ac): Check for alarm function.

2009-05-04  Bruno Haible  <bruno@clisp.org>

	Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
	* m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
	* modules/errno (configure.ac): Drop AC_REQUIRE.
	* m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
	* modules/multiarch (configure.ac): Drop AC_REQUIRE.

2009-05-04  Simon Josefsson  <simon@josefsson.org>

	* modules/glob-tests: New module.
	* tests/test-glob.c: Add.

2009-05-04  Simon Josefsson  <simon@josefsson.org>

	* modules/fnmatch-tests: New module.
	* tests/test-fnmatch.c: Add.

2009-05-04  Eric Blake  <ebb9@byu.net>

	maint: make the new no-submodule-changes rule VPATH-safe
	* top/maint.mk (no-submodule-changes): Don't assume a srcdir build.

2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
	    Bruno Haible  <bruno@clisp.org>

	acl: Fix infinite loop on FreeBSD.
	* lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
	of return value from acl_get_entry.
	* lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
	Likewise.

2009-05-03  Bruno Haible  <bruno@clisp.org>

	* lib/acl-internal.h (acl_entries): Clarify return value.
	* lib/acl_entries.c (acl_entries): Likewise.

2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>

	Bug fix in acl module.
	* lib/set-mode-acl.c: Use correct struct with ACL_SETACL.

2009-05-03  Bruno Haible  <bruno@clisp.org>

	Create gperf-generated file in the source dir, not in the build dir.
	* modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
	iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
	* modules/unicase/locale-language (unicase/locale-languages.h):
	Likewise.
	* modules/unicase/special-casing (unicase/special-casing-table.h):
	Likewise.
	* modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
	* modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
	* modules/uninorm/composition (uninorm/composition-table.h): Likewise.
	Reported by Ralf Wildenhues.

2009-05-03  Bruno Haible  <bruno@clisp.org>

	* modules/fnmatch (Description, configure.ac): Taken from
	fnmatch-posix.
	* modules/fnmatch-posix: Turn into a symbolic reference to the
	'fnmatch' module, and deprecate.
	* doc/posix-functions/fnmatch.texi: Mention the fnmatch module.

2009-05-03  Bruno Haible  <bruno@clisp.org>

	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
	gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
	Reported by Ralf Wildenhues.

2009-05-04  Simon Josefsson  <simon@josefsson.org>

	* m4/fnmatch.m4: Fix fnmatch re-define.

2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>

	priv-set: new module and tests; adapt write-any-file
	* lib/priv-set.c: New file.
	* lib/priv-set.h: New file.
	* lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
	* lib/write-any-file.c: Simplify by using priv-set module.
	* m4/priv-set.m4: New file.
	* modules/priv-set: New file.
	* modules/unlinkdir: Add dependency on priv-set module.
	* modules/write-any-file: Likewise.

	Tests for module 'priv-set'.
	* modules/priv-set-tests: New file.
	* tests/test-priv-set.c: New file.

2009-05-03  Jim Meyering  <meyering@redhat.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/propername.c (proper_name_utf8): Ignore no-op translations;
	use the converted UTF-8 variant of the name instead.

2009-05-03  Jim Meyering  <meyering@redhat.com>

	tests: tighten some getdate tests
	* tests/test-getdate.c (main): Tighten tests: require equality,
	not just greater than.  Set TZ envvar to UTC0.

2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>

	getdate: correctly interpret "next monday" when run on a Monday
	* lib/getdate.y (get_date): Correct the calculation of tm_mday so
	that e.g., "next tues" (when run on a tuesday) results in a date
	that is one week in the future, and not today's date.
	I.e., add a week when the wday is the same as the current one.
	Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
	and earlier by Martin Bernreuther and Jan Minář.
	* tests/test-getdate.c (main): Check that "next DAY" is always in
	the future and that "last DAY" is always in the past.

2009-05-02  Jim Meyering  <meyering@redhat.com>

	build: ensure that a release build fails when a submodule is unclean
	* top/maint.mk (no-submodule-changes): New rule.
	(alpha beta major): Depend on it.

2009-05-02  Bruno Haible  <bruno@clisp.org>

	Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
	* m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
	shell variable gl_fnmatch_required to detect which variant is
	requested.
	(_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
	gl_FUNC_FNMATCH_POSIX.
	* gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
	exclude fnmatch-posix.

2009-05-02  Bruno Haible  <bruno@clisp.org>

	Relicense mbsrtowcs and strnlen1 under LGPLv2+.
	* modules/mbsrtowcs (License): Change to LGPLv2+.
	* modules/strnlen1 (License): Likewise.
	Reported by Simon Josefsson.

2009-05-02  Bruno Haible  <bruno@clisp.org>

	* m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
	"cross".
	(gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
	gnulib-tool was called with option --source-base=lib.

2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Use automake *-local hooks without commands, for extensibility.
	* modules/localcharset (Makefile.am): Rename install-exec-local
	rule to install-exec-localcharset, and make it a prerequisite of
	install-exec-local.  Likewise, rename the uninstall-local rule to
	uninstall-localcharset, and make it a prerequisite of the former.

2009-05-01  Bruno Haible  <bruno@clisp.org>

	* lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
	* m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
	set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
	* modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
	* modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
	m4/locale-zh.m4, m4/codeset.m4.

	* m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
	set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
	* modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
	m4/locale-zh.m4.

	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
	REPLACE_WCRTOMB if mbstate_t must be replaced.
	* modules/wcrtomb (Files): Add m4/mbrtowc.m4.
	Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.

2009-05-01  Bruno Haible  <bruno@clisp.org>

	Avoid compiler warnings when redefining macros defined by <libintl.h>.
	* lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
	dngettext, dcngettext, textdomain, bindtextdomain,
	bind_textdomain_codeset): Undefine before redefining.

2009-04-30  Bruno Haible  <bruno@clisp.org>

	Fix bug introduced on 2009-04-25.
	* lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
	gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
	* lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
	is defined.
	* lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
	is defined.
	* lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
	is defined.
	Reported by Elbert_Pol <elbert.pol@gmail.com>.

2009-04-28  Bruno Haible  <bruno@clisp.org>

	Comment tweaks.
	* lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
	* lib/uninorm.h (u*_normxfrm): Fix description of return value.
	* lib/unicase.h (u*_casexfrm): Likewise.
	Reported by Paolo Bonzini.

2009-04-28  Bruno Haible  <bruno@clisp.org>

	Fix a compilation error.
	* lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
	* lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
	Reported by Jim Meyering.

2009-04-27  Bruno Haible  <bruno@clisp.org>

	New module 'libunistring'.
	* modules/libunistring: New file.
	* m4/libunistring.m4: New file.
	* MODULES.html.sh (Unicode string functions): Add it.

2009-04-27  Eric Blake  <ebb9@byu.net>

	maint.mk: allow package-specific header to provide <config.h>
	* top/maint.mk (sc_require_config_h): New variable.
	(sc_require_config_h, sc_require_config_h_first): Use it.

2009-04-27  Simon Josefsson  <simon@josefsson.org>

	* top/maint.mk (sc_avoid_if_before_free): Except
	useless-if-before-free script.

2009-04-27  Eric Blake  <ebb9@byu.net>

	maintainer-makefile: depend on all required helper scripts
	* modules/maintainer-makefile (Depends-on): Add vc-list-files and
	useless-if-before-free.
	* top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
	version, rather than assuming gnulib checkout is available.
	Reported by Simen Josefsson.

2009-04-26  Bruno Haible  <bruno@clisp.org>

	Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
	"../" or "..".

2009-04-26  Bruno Haible  <bruno@clisp.org>

	* m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
	* m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
	AC_LIB_HAVE_LINKFLAGS.

2009-04-26  Bruno Haible  <bruno@clisp.org>

	Simplify calling convention of u*_conv_from_encoding.
	* lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
	u32_conv_from_encoding): Expect a resultbuf argument and return the
	result directly as a pointer.
	* lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
	* lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
	* lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
	* lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
	* lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
	* lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
	Update.
	* lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
	* lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
	* lib/vasnprintf.c (VASNPRINTF): Update.
	* tests/uniconv/test-u8-conv-from-enc.c (main): Update.
	* tests/uniconv/test-u16-conv-from-enc.c (main): Update.
	* tests/uniconv/test-u32-conv-from-enc.c (main): Update.
	* NEWS: Mention the change.

2009-04-26  Bruno Haible  <bruno@clisp.org>

	Simplify calling convention of u*_conv_to_encoding.
	* lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
	u32_conv_to_encoding): Expect a resultbuf argument and return the
	result directly as a pointer.
	* lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
	* lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
	freeing scaled_offsets if mem_iconveha failed.
	* lib/unicase/u-casexfrm.h (FUNC): Update.
	* lib/uninorm/u-normxfrm.h (FUNC): Update.
	* lib/vasnprintf.c (VASNPRINTF): Update.
	* tests/uniconv/test-u8-conv-to-enc.c (main): Update.
	* tests/uniconv/test-u16-conv-to-enc.c (main): Update.
	* tests/uniconv/test-u32-conv-to-enc.c (main): Update.
	* NEWS: Mention the change.

2009-04-26  Bruno Haible  <bruno@clisp.org>

	Avoid test failures on AIX and OSF/1.
	* lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
	malloc(0).
	* lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
	* lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
	Likewise.
	* lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
	* lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
	* lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
	* lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
	* doc/posix-functions/malloc.texi: Document the portability problem
	related to malloc(0).

2009-04-26  Bruno Haible  <bruno@clisp.org>

	* modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
	* modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
	* modules/unistr/u32-cpy-alloc (Depends-on): Likewise.

2009-04-25  Bruno Haible  <bruno@clisp.org>

	Avoid link error when creating a namespace clean library.
	* lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
	as macro with arguments if already defined as an alias.
	* lib/signbitf.c (gl_signbitf): Don't undefine.
	* lib/signbitd.c (gl_signbitd): Don't undefine.
	* lib/signbitl.c (gl_signbitl): Don't undefine.

2009-04-25  Jim Meyering  <meyering@redhat.com>

	vc-list-files: fix another quoting bug
	* build-aux/vc-list-files: Avoid sed backslash expansion
	of pathological directory names.

2009-04-25  Eric Blake  <ebb9@byu.net>

	vc-list-files: fix shell quoting error
	* build-aux/vc-list-files: Protect against $ in $dir.  Normalize
	timestamp.

2009-04-25  Jim Meyering  <meyering@redhat.com>

	vc-list-files: restore lost functionality with subdir argument
	* build-aux/vc-list-files: When given a non-"." sub-directory
	argument, substitute the $dir/ prefix back onto each resulting name.
	Otherwise, coreutils' root_tests check would fail.

2009-04-24  Eric Blake  <ebb9@byu.net>

	vc-list-files: ignore git symlinks
	* build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
	than ls-files, to ignore git symlinks.

	maint.mk: import improvements from m4
	* top/maint.mk (VC-tag): Use signing key from cfg.mk.
	(move_if_change): Delete unused macro.
	(news-date-check, vc-diff-check): Support VPATH builds.
	(announcement): Likewise.  Split --bootstrap-tools list...
	(boostrap-tools): ...into separate list, which can be overridden
	in cfg.mk.
	(sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
	requiring dependency on useless-if-before-free module.
	(VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
	Support VPATH builds.

2009-04-24  Jim Meyering  <meyering@redhat.com>

	maint.mk: remove coreutils-specific rules and variables
	* top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
	(fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
	(t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.

	maint.mk: remove obsolete rule
	* top/maint.mk (rel-check): Remove rule.
	(WGET, WGETFLAGS): Remove now-unused variables.

2009-04-24  Simon Josefsson  <simon@josefsson.org>

	* top/maint.mk (makefile-check): Renamed to sc_makefile_check for
	consistency.

	* modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
	'$(PATH_SEPARATOR)' instead of ':'.

2009-04-24  Simon Josefsson  <simon@josefsson.org>

	* lib/getopt1.c (main): Use 'const' for static array.

2009-04-24  Simon Josefsson  <simon@josefsson.org>

	* top/maint.mk: Sync with coreutils.
	* NEWS: Explain incompatibilities.

2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
	    Bruno Haible  <bruno@clisp.org>

	Fix cross-compilation results.
	* m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
	statement, as third argument of AC_TRY_RUN.
	* m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
	gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
	Likewise.
	* m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
	* m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
	Likewise.
	* m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
	* doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.

2009-04-20  Bruno Haible  <bruno@clisp.org>

	Avoid test failure on mingw.
	* tests/uniwidth/test-uc_width2.sh: Convert newlines in output.

2009-04-20  Bruno Haible  <bruno@clisp.org>

	Avoid compilation error on mingw.
	* modules/localename-tests (Depends-on): Add locale.

2009-04-19  Bruno Haible  <bruno@clisp.org>

	Support for building a shared library on Windows platforms.
	* tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
	(main): Test the presence of UNINORM_NFC here.
	* tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
	(main): Test the presence of UNINORM_NFD here.
	* tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
	(main): Test the presence of UNINORM_NFKC here.
	* tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
	(main): Test the presence of UNINORM_NFKD here.

2009-04-19  Bruno Haible  <bruno@clisp.org>

	Avoid a compiler warning.
	* tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
	Change type of variable 'sequence'.

2009-04-19  Bruno Haible  <bruno@clisp.org>

	* modules/configmake (Makefile.am): When the contents of configmake.h
	does not change, arrange to preserve its modification time.

2009-04-17  Simon Josefsson  <simon@josefsson.org>

	* top/maint.mk (PO_DOMAIN): New variable, allows overriding of
	gettext domain.

2009-04-16  Jim Meyering  <meyering@redhat.com>

	useless-if-before-free: improve conversion code
	* build-aux/useless-if-before-free: Adjust code-in-comment to match
	"...!= 0" as well as "...!= NULL".  emacs has one of the former.

2009-04-14  Bruno Haible  <bruno@clisp.org>

	* modules/fcntl (Depends-on): Add extensions.
	* m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.

2009-04-12  Ben Pfaff  <blp@gnu.org>

	Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
	* m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.

2009-03-20  Ben Pfaff  <blp@gnu.org>

	Make rename replace existing destinations on Windows.
	* m4/rename.m4: Add test for Mingw.
	* lib/rename.c: Add rename replacement that uses MoveFileEx with
	MOVEFILE_REPLACE_EXISTING to replace existing destination files.
	* doc/posix-functions/rename.texi: Document.

2009-04-10  Bruno Haible  <bruno@clisp.org>

	New include file "iconveh.h".
	* lib/iconveh.h: New file, extracted from lib/striconveh.h.
	* lib/striconveh.h: Include it.
	(enum iconv_ilseq_handler): Remove definition.
	* lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
	striconveh.h.
	* lib/striconveha.c: Include striconveh.h.
	* lib/uniconv.h: Include iconveh.h instead of striconveh.h.
	* modules/striconveh (Files): Add lib/iconveh.h.
	* modules/uniconv/base (Files): Add lib/iconveh.h. Remove
	lib/striconveh.h.

2009-04-10  Bruno Haible  <bruno@clisp.org>

	* lib/uniconv.h: Update comment.

2009-04-10  Bruno Haible  <bruno@clisp.org>

	* lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
	always.
	* lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
	* lib/unistr/u16-mbtouc-aux.c: Likewise.
	* lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
	* lib/unistr/u8-mbtouc.c: Inside libunistring, include
	"unistring-notinline.h", so that the function gets defined always.
	* lib/unistr/u8-mbtouc-unsafe.c: Likewise.
	* lib/unistr/u8-uctomb.c: Likewise.
	* lib/unistr/u16-mbtouc.c: Likewise.
	* lib/unistr/u16-mbtouc-unsafe.c: Likewise.
	* lib/unistr/u16-uctomb.c: Likewise.
	* lib/unistr/u32-mbtouc.c: Likewise.
	* lib/unistr/u32-mbtouc-unsafe.c: Likewise.
	* lib/unistr/u32-uctomb.c: Likewise.

2009-04-10  Bruno Haible  <bruno@clisp.org>

	Mark 'utime' obsolete.
	* modules/utime (Status, Notice): New sections.
	Suggested by Jim Meyering.

	Fix cross-compile guess for utime test.
	* m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
	autoconf.
	* doc/posix-functions/utime.texi: Give more precisions.
	Reported by Jan <ipif@ymail.com>.

2009-04-09  Kamil Dudka  <kdudka@redhat.com>

	filevercmp: correct today's change
	* lib/filevercmp.c: Also handle coreutils' test inputs.
	* tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.

	Fix regression in 'filevercmp' module. Thanks Sven Joachim
	for reporting it.
	* lib/filevercmp.c: Special handle for "", "." and "..".
	* tests/test-filevercmp.c: Enlarge the set suite.

2009-04-07  Jim Meyering  <meyering@redhat.com>

	useless-if-before-free: show how to remove braced useless free, too
	* build-aux/useless-if-before-free: still only in a comment, though.

2009-04-07  Reuben Thomas  <rrt@sc3d.org>

	maint.mk: import changes to syntax-check macros from coreutils
	* top/maint.mk (_prohibit_regexp, _header_without_use): Define.
	Use them in the relevant macros.

2009-04-06  Bruno Haible  <bruno@clisp.org>

	Fix unportable use of bit-fields.
	* lib/unicase/special-casing.h (struct special_casing_rule): Change the
	bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
	AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.

2009-04-06  Bruno Haible  <bruno@clisp.org>

	Avoid test failures on AIX and OSF/1.
	* tests/unicase/test-u8-casefold.c (check): Account for the possibility
	that malloc(0) = NULL.
	* tests/unicase/test-u8-tolower.c (check): Likewise.
	* tests/unicase/test-u8-totitle.c (check): Likewise.
	* tests/unicase/test-u8-toupper.c (check): Likewise.
	* tests/unicase/test-u16-casefold.c (check): Likewise.
	* tests/unicase/test-u16-tolower.c (check): Likewise.
	* tests/unicase/test-u16-totitle.c (check): Likewise.
	* tests/unicase/test-u16-toupper.c (check): Likewise.
	* tests/unicase/test-u32-casefold.c (check): Likewise.
	* tests/unicase/test-u32-tolower.c (check): Likewise.
	* tests/unicase/test-u32-totitle.c (check): Likewise.
	* tests/unicase/test-u32-toupper.c (check): Likewise.
	* tests/uninorm/test-u8-nfc.c (check): Likewise.
	* tests/uninorm/test-u8-nfd.c (check): Likewise.
	* tests/uninorm/test-u8-nfkc.c (check): Likewise.
	* tests/uninorm/test-u8-nfkd.c (check): Likewise.
	* tests/uninorm/test-u16-nfc.c (check): Likewise.
	* tests/uninorm/test-u16-nfd.c (check): Likewise.
	* tests/uninorm/test-u16-nfkc.c (check): Likewise.
	* tests/uninorm/test-u16-nfkd.c (check): Likewise.
	* tests/uninorm/test-u32-nfc.c (check): Likewise.
	* tests/uninorm/test-u32-nfd.c (check): Likewise.
	* tests/uninorm/test-u32-nfkc.c (check): Likewise.
	* tests/uninorm/test-u32-nfkd.c (check): Likewise.

2009-04-05  Bruno Haible  <bruno@clisp.org>

	Work around an autoconf limitation.
	* gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
	comment line if it would be longer than 3 KB.

2009-04-05  Bruno Haible  <bruno@clisp.org>

	Avoid test failure with libiconv-1.13.
	* tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
	of the expected test results.

2009-04-05  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
	noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
	that it should be installed.

2009-04-05  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: New option --copy-file.
	(func_usage): Document it.
	(func_dest_tmpfilename): Moved out of func_import.
	(func_add_file, func_update_file): New functions, extracted from
	func_import.
	(func_import): Update.

2009-04-05  Karl Berry  <karl@gnu.org>

	* README: prominently mention gnulib-tool.
	Rearrange sections so getting the code is near the top.

2009-04-05  Bruno Haible  <bruno@clisp.org>

	* lib/unicase.h: Mention u*_cmp2.
	* lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
	* lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
	* lib/unicase/ulc-casecmp.c: Likewise.
	* lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
	* lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
	* modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
	unistr/u8-cmp.
	* modules/unicase/ulc-casecmp (Depends-on): Likewise.
	* modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
	unistr/u16-cmp.
	* modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
	unistr/u32-cmp.

	* lib/uninorm.h: Mention u*_cmp2.
	* lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
	* lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
	* lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
	* lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
	* modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
	unistr/u8-cmp.
	* modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
	unistr/u16-cmp.
	* modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
	unistr/u32-cmp.

	New module 'unistr/u32-cmp2'.
	* lib/unistr/u32-cmp2.c: New file.
	* modules/unistr/u32-cmp2: New file.

	New module 'unistr/u16-cmp2'.
	* lib/unistr/u16-cmp2.c: New file.
	* modules/unistr/u16-cmp2: New file.

	New module 'unistr/u8-cmp2'.
	* lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
	* lib/unistr/u8-cmp2.c: New file.
	* lib/unistr/u-cmp2.h: New file.
	* modules/unistr/u8-cmp2: New file.

2009-04-05  Bruno Haible  <bruno@clisp.org>

	* lib/unictype.h (uc_property_is_valid): New macro.
	* tests/unictype/test-pr_byname.c (main): Use it.

	* lib/unistr.h: Doc fixes.
	* lib/uniconv.h: Doc fixes.
	* lib/unictype.h: Doc fixes.

2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>

	Port coreutils 7.2 to Solaris 8.

	* modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
	* m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
	for Solaris 8.  This is a bit of a hack, as it means it's the
	caller's responsibility to add -lnsl if needed, but most likely it
	won't be needed since only getaddrinfo uses this and getaddrinfo
	isn't needed on Solaris 8.

	* modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
	problem to Solaris 8 encountered with coreutils 7.2, which
	resulted in a message "fnmatch.c:292: warning: passing argument 4
	of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
	at the suggestion of Bruno Haible, since fnmatch uses mbsinit.

2009-04-03  Simon Josefsson  <simon@josefsson.org>

	* m4/ld-version-script.m4: Add FIXME comment.

2009-04-02  Simon Josefsson  <simon@josefsson.org>

	* doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
	SOVERSION variable.

2009-04-02  Bruno Haible  <bruno@clisp.org>

	* Makefile (info, html, dvi, pdf): Combine the rules.
	Suggested by Jim Meyering.

2009-04-01  Bruno Haible  <bruno@clisp.org>

	* Makefile (info, html, dvi, pdf): New targets.
	Reported by Reuben Thomas <rrt@sc3d.org>.

2009-04-01  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
	can be put into PATH.
	Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.

2009-04-01  Bruno Haible  <bruno@clisp.org>

	* doc/lib-symbol-visibility.texi: Follow texinfo style conventions.

2009-04-01  Bruno Haible  <bruno@clisp.org>

	Rename module 'visibility'.
	* modules/lib-symbol-visibility: Renamed from modules/visibility.
	* doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
	* doc/gnulib.texi: Update.
	* MODULES.html.sh (Misc): Update.
	* NEWS: Mention the change.

2009-04-01  Simon Josefsson  <simon@josefsson.org>

	* modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
	<bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
	Eric Blake <ebb9@byu.net> for review.
	* MODULES.html.sh: Add lib-msvc-compat.
	* doc/gnulib.texi: Link to new section.
	* m4/ld-output-def.m4: New file.
	* doc/ld-output-def.texi: New file.

2009-04-01  Simon Josefsson  <simon@josefsson.org>

	Rename ld-version-script to lib-symbol-versions.  Suggested by
	Bruno Haible <bruno@clisp.org>.
	* modules/ld-version-script: Renamed to lib-symbol-versions.
	* doc/ld-version-script.texi: Fix module name.
	* MODULES.html.sh: Add lib-symbol-versions.

2009-03-31  Simon Josefsson  <simon@josefsson.org>

	* modules/u64-tests: New file.
	* tests/test-u64.c: New file.

2009-03-04  Simon Josefsson  <simon@josefsson.org>

	* MODULES.html.sh: Mention u64.
	* modules/u64: New module.
	* modules/crypto/sha512: Depend on u64 module instead of providing
	u64.h.

2009-03-27  Eric Blake  <ebb9@byu.net>

	test-strerror: make debugging EAI_SYSTEM easier
	* modules/getaddrinfo-tests (Depends-on): Add strerror.
	* test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
	failure was EAI_SYSTEM.

2009-03-25  Bruno Haible  <bruno@clisp.org>

	Fix a problem with --enable-relocatable on Solaris 7.
	* modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
	since 2008-02-24.

2009-03-25  Eric Blake  <ebb9@byu.net>

	test-sockets: avoid gcc warning
	* tests/test-sockets.c (main): Silence compiler warning.

2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	New modules nproc, pthread, contributed by Glen Lenker.

	* MODULES.html.sh: Add pthread, nproc.
	* lib/nproc.c: New file.
	* lib/nproc.h: New file.
	* lib/pthread.in.h: New file.
	* m4/pthread.m4: New file.
	* modules/nproc: New file.
	* modules/pthread: New file.

2009-03-24  Simon Josefsson  <simon@josefsson.org>

	* modules/unicase/locale-language-tests (test_locale_language_LDADD):
	New variable.

2009-03-24  Kamil Dudka  <kdudka@redhat.com>

	filevercmp: handle simple~ and numbered.~3~ backup suffixes
	* lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
	* tests/test-filevercmp.c: Add tests for backup suffixes.

2009-03-24  Simon Josefsson  <simon@josefsson.org>

	* modules/stdlib (Depends-on): Add stdint, needed when defining
	struct random_data on, for example, HP-UX 10.20.  Reported by
	Albert Chin <bug-gnulib@mlists.thewrittenword.com>.

2009-03-24  Simon Josefsson  <simon@josefsson.org>

	* lib/readline.c (readline): Call fflush on stdout after printing
	prompt.

2009-03-20  Bruno Haible  <bruno@clisp.org>

	Remove dependency from 'close' module to -lws2_32 on native Windows.
	* lib/close-hook.h: New file.
	* lib/close-hook.c: New file.
	* lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
	w32sock.h.
	(_gl_close_fd_maybe_socket): Remove function.
	(rpl_close): Invoke execute_all_close_hooks instead of
	_gl_close_fd_maybe_socket.
	* lib/sockets.c: Include close-hook.h, w32sock.h.
	(close_fd_maybe_socket): New function, essentially from lib/close.c.
	(close_sockets_hook): New variable.
	(gl_sockets_startup): Register close_fd_maybe_socket as a hook.
	(gl_sockets_cleanup): Unregister it.
	* lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
	* m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
	* modules/close-hook: New file.
	* modules/close (Files): Remove lib/w32sock.h.
	(Depends-on): Add close-hook.
	(Link): Remove section.
	* modules/sockets (Files): Add lib/w32sock.h.
	(Depends-on): Add close-hook.
	* modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
	invocation.
	* NEWS: Mention that LIB_CLOSE is gone.

2009-03-23  Eric Blake  <ebb9@byu.net>

	signal-tests: test previous patch
	* tests/test-signal.c: New file.
	* modules/signal-tests: Likewise.

	signal.h: always support 'volatile sig_atomic_t'
	* m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
	(gl_SIGNAL_H_DEFAULTS): Add a default.
	* modules/signal (Makefile.am): Substitute if needed.
	* lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
	users can blindly add volatile.
	* doc/posix-headers/signal.texi (signal.h): Document it.
	Reported by Matthew Woehlke.

2009-03-23  Jim Meyering  <meyering@redhat.com>

	pathmax: PATH_MAX: use pathconf only when available
	* lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
	only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
	* m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
	This avoids a link failure in a PSP cross-compilation environment
	described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048

	* lib/vasnprintf.c (divide): Fix typo in comment.

2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_filter_filelist): Fix comment.

2009-03-20  Bruno Haible  <bruno@clisp.org>

	Make sockets.h self-contained.
	* lib/sockets.c: Include sockets.h first.
	* lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.

2009-03-19  Eric Blake  <ebb9@byu.net>

	doc: mention more functions added in cygwin 1.7.0
	* doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
	addition.
	* doc/posix-functions/log2f.texi: Likewise.

2009-03-19  Jim Meyering  <meyering@redhat.com>

	fsusage: avoid syntax error due to statement-before-declaration
	* lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
	after all declarations.  Reported by Matthew Woehlke in
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231

2009-03-18  Eric Blake  <ebb9@byu.net>

	build-aux/compile: sync from automake
	* build-aux/compile: New file, from automake.
	* config/srclist.txt: Mention build-aux/compile.

2009-03-17  Bruno Haible  <bruno@clisp.org>

	* lib/git-merge-changelog.c: Fix typo in comment.
	Reported by Reuben Thomas <rrt@sc3d.org>.

2009-03-17  Reuben Thomas  <rrt@sc3d.org>

	* m4/regex.m4: update and improve help for
	--without-included-regex.

2009-03-17  Simon Josefsson  <simon@josefsson.org>

	* modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
	failure on missing include files.

2009-03-17  Eric Blake  <ebb9@byu.net>

	doc: mention more functions added in cygwin 1.7.0
	* doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
	addition.
	* doc/posix-functions/fwscanf.texi: Likewise.
	* doc/posix-functions/swprintf.texi: Likewise.
	* doc/posix-functions/swscanf.texi: Likewise.
	* doc/posix-functions/vfwprintf.texi: Likewise.
	* doc/posix-functions/vfwscanf.texi: Likewise.
	* doc/posix-functions/vswprintf.texi: Likewise.
	* doc/posix-functions/vswscanf.texi: Likewise.
	* doc/posix-functions/vwprintf.texi: Likewise.
	* doc/posix-functions/vwscanf.texi: Likewise.
	* doc/posix-functions/wcscasecmp.texi: Likewise.
	* doc/posix-functions/wcsdup.texi: Likewise.
	* doc/posix-functions/wcsftime.texi: Likewise.
	* doc/posix-functions/wcsncasecmp.texi: Likewise.
	* doc/posix-functions/wprintf.texi: Likewise.
	* doc/posix-functions/wscanf.texi: Likewise.
	* doc/glibc-functions/gethostbyname2.texi: Likewise.

2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	maint.mk: really add $(AM_MAKEFLAGS)
	* top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
	was inadvertently omitted in the last commit.
	Spotted by Bruno Haible.

	maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
	* top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
	$(AM_MAKEFLAGS)' rather than plain `make'.

	gnulib-tool: execute $MAKE not make
	* gnulib-tool: Default $MAKE to 'make'.
	(func_create_testdir, func_create_megatestdir): Use $MAKE rather
	than make.  Initialize $MAKE in the do-autobuild script.

	gnulib-tool: use $MAKE not make in generated files
	* gnulib-tool (func_create_megatestdir): Use $MAKE rather than
	make, in generated files.  Initialize $MAKE in the do-autobuild
	script.

	* top/GNUmakefile (_have-git-version-gen): Fix typo.

	GNUmakefile: disable parallelism only for multiple, recursive targets
	* top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
	additions in the Makefile.
	(AM_RECURSIVE_TARGETS): New macro, override only if not provided
	by Automake.
	(.NOTPARALLEL): Only disable parallel builds if multiple targets
	are listed on the command line and at least one of them is
	listed in $(ALL_RECURSIVE_TARGETS).

2009-03-14  Bruno Haible  <bruno@clisp.org>

	* modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
	utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
	* modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
	* modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
	utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
	* modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
	* modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
	unistr/u8-uctomb.
	* modules/unistr/u8-strchr (Depends-on): Likewise.
	* modules/unistr/u8-strrchr (Depends-on): Likewise.
	* modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
	unistr/u16-uctomb.
	* modules/unistr/u16-strchr (Depends-on): Likewise.
	* modules/unistr/u16-strrchr (Depends-on): Likewise.

2009-03-12  Bruno Haible  <bruno@clisp.org>

	Work around select() bug on Interix 3.5.
	* lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
	* lib/select.c (rpl_select): Add an implementation for Unix platforms.
	* m4/select.m4: New file.
	* m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
	* modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
	* modules/select (Files): Add m4/select.m4.
	(configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
	* modules/nanosleep (Depends-on): Add select.
	* modules/poll (Depends-on): Likewise.
	* doc/posix-functions/select.texi: Mention the Interix bug.
	Reported by Markus Duft <mduft@gentoo.org>.

	* lib/select.c: Renamed from lib/winsock-select.c.
	* modules/select (Files): Add lib/select.c, remove
	lib/winsock-select.c.
	(configure.ac): Update.

2009-03-12  Jim Meyering  <meyering@redhat.com>

	avoid gcc warnings about unused macro definitions
	* lib/readtokens.c (STREQ): Remove unused definition.
	* lib/xmalloc.c (SIZE_MAX): Likewise.
	* lib/openat-die.c (N_): Likewise.
	* lib/mountlist.c (SIZE_MAX): Remove definition.
	Instead, include <stdint.h>.
	* lib/readutmp.c: Likewise.
	* modules/readutmp (Depends-on): Add stdint.
	* modules/mountlist (Depends-on): Add stdint.
	* lib/userspec.c (ISDIGIT): Move definition into #if block where used.

2009-03-10  Bruno Haible  <bruno@clisp.org>

	Tests for module 'mbmemcasecoll'.
	* modules/mbmemcasecoll-tests: New file.
	* tests/test-mbmemcasecoll1.sh: New file.
	* tests/test-mbmemcasecoll2.sh: New file.
	* tests/test-mbmemcasecoll3.sh: New file.
	* tests/test-mbmemcasecoll.c: New file.

	New module 'mbmemcasecoll'.
	* lib/mbmemcasecoll.h: New file.
	* lib/mbmemcasecoll.c: New file.
	* modules/mbmemcasecoll: New file.

	* tests/test-mbmemcasecmp.h: New file, extracted from
	tests/test-mbmemcasecmp.c.
	* tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
	(test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
	(main): Update.
	* modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.

2009-03-09  Bruno Haible  <bruno@clisp.org>

	Tests for module 'mbmemcasecmp'.
	* modules/mbmemcasecmp-tests: New file.
	* tests/test-mbmemcasecmp1.sh: New file.
	* tests/test-mbmemcasecmp2.sh: New file.
	* tests/test-mbmemcasecmp3.sh: New file.
	* tests/test-mbmemcasecmp.c: New file.

	New module 'mbmemcasecmp'.
	* lib/mbmemcasecmp.h: New file.
	* lib/mbmemcasecmp.c: New file.
	* modules/mbmemcasecmp: New file.

2009-03-09  Bruno Haible  <bruno@clisp.org>

	Tests for module 'unicase/ulc-casecoll'.
	* modules/unicase/ulc-casecoll-tests: New file.
	* tests/unicase/test-ulc-casecoll1.sh: New file.
	* tests/unicase/test-ulc-casecoll2.sh: New file.
	* tests/unicase/test-ulc-casecoll.c: New file.

	New module 'unicase/ulc-casecoll'.
	* lib/unicase.h (ulc_casecoll): New declaration.
	* lib/unicase/ulc-casecoll.c: New file.
	* modules/unicase/ulc-casecoll: New file.

	New module 'unicase/ulc-casexfrm'.
	* lib/unicase.h (ulc_casexfrm): New declaration.
	* lib/unicase/ulc-casexfrm.c: New file.
	* modules/unicase/ulc-casexfrm: New file.

2009-03-09  Bruno Haible  <bruno@clisp.org>

	Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
	invocations.

	* m4/mbscasecmp.m4: Remove file.
	* modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
	(configure.ac): Remove gl_FUNC_MBSCASECMP invocation.

	* m4/mbscasestr.m4: Remove file.
	* modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
	(configure.ac): Remove gl_FUNC_MBSCASESTR invocation.

	* m4/mbschr.m4: Remove file.
	* modules/mbschr (Files): Remove it and m4/mbrtowc.m4
	(configure.ac): Remove gl_FUNC_MBSCHR invocation.

	* m4/mbscspn.m4: Remove file.
	* modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
	(configure.ac): Remove gl_FUNC_MBSCSPN invocation.

	* m4/mbslen.m4: Remove file.
	* modules/mbslen (Files): Remove it and m4/mbrtowc.m4
	(configure.ac): Remove gl_FUNC_MBSLEN invocation.

	* m4/mbsncasecmp.m4: Remove file.
	* modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
	(configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.

	* m4/mbsnlen.m4: Remove file.
	* modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
	(configure.ac): Remove gl_FUNC_MBSNLEN invocation.

	* m4/mbspbrk.m4: Remove file.
	* modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
	(configure.ac): Remove gl_FUNC_MBSPBRK invocation.

	* m4/mbspcasecmp.m4: Remove file.
	* modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
	(configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.

	* m4/mbsrchr.m4: Remove file.
	* modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
	(configure.ac): Remove gl_FUNC_MBSRCHR invocation.

	* m4/mbssep.m4: Remove file.
	* modules/mbssep (Files): Remove it and m4/mbrtowc.m4
	(configure.ac): Remove gl_FUNC_MBSSEP invocation.

	* m4/mbsspn.m4: Remove file.
	* modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
	(configure.ac): Remove gl_FUNC_MBSSPN invocation.

	* m4/mbsstr.m4: Remove file.
	* modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
	(configure.ac): Remove gl_FUNC_MBSSTR invocation.

	* m4/mbstok_r.m4: Remove file.
	* modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
	(configure.ac): Remove gl_FUNC_MBSTOK_R invocation.

	* m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.

	* m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
	AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.

	* modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.

2009-03-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'unicase/ulc-casecmp'.
	* modules/unicase/ulc-casecmp-tests: New file.
	* tests/unicase/test-ulc-casecmp1.sh: New file.
	* tests/unicase/test-ulc-casecmp2.sh: New file.
	* tests/unicase/test-ulc-casecmp.c: New file.

	New module 'unicase/ulc-casecmp'.
	* lib/unicase.h (ulc_casecmp): New declaration.
	* lib/unicase/ulc-casecmp.c: New file.
	* lib/unicase/u-casecmp.h (FUNC): Change argument types to
	'const SRC_UNIT *'.
	* lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
	* lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
	* lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
	* modules/unicase/ulc-casecmp: New file.

	Tests for module 'unicase/u32-is-cased'.
	* modules/unicase/u32-is-cased-tests: New file.
	* tests/unicase/test-u32-is-cased.c: New file.

	Tests for module 'unicase/u16-is-cased'.
	* modules/unicase/u16-is-cased-tests: New file.
	* tests/unicase/test-u16-is-cased.c: New file.

	Tests for module 'unicase/u8-is-cased'.
	* modules/unicase/u8-is-cased-tests: New file.
	* tests/unicase/test-u8-is-cased.c: New file.
	* tests/unicase/test-is-cased.h: New file.

	New module 'unicase/u32-is-cased'.
	* lib/unicase/u32-is-cased.c: New file.
	* modules/unicase/u32-is-cased: New file.

	New module 'unicase/u16-is-cased'.
	* lib/unicase/u16-is-cased.c: New file.
	* modules/unicase/u16-is-cased: New file.

	New module 'unicase/u8-is-cased'.
	* lib/unicase/u8-is-cased.c: New file.
	* lib/unicase/u-is-cased.h: New file.
	* modules/unicase/u8-is-cased: New file.

	Tests for module 'unicase/u32-is-casefolded'.
	* modules/unicase/u32-is-casefolded-tests: New file.
	* tests/unicase/test-u32-is-casefolded.c: New file.

	Tests for module 'unicase/u16-is-casefolded'.
	* modules/unicase/u16-is-casefolded-tests: New file.
	* tests/unicase/test-u16-is-casefolded.c: New file.

	Tests for module 'unicase/u8-is-casefolded'.
	* modules/unicase/u8-is-casefolded-tests: New file.
	* tests/unicase/test-u8-is-casefolded.c: New file.
	* tests/unicase/test-is-casefolded.h: New file.

	New module 'unicase/u32-is-casefolded'.
	* lib/unicase/u32-is-casefolded.c: New file.
	* modules/unicase/u32-is-casefolded: New file.

	New module 'unicase/u16-is-casefolded'.
	* lib/unicase/u16-is-casefolded.c: New file.
	* modules/unicase/u16-is-casefolded: New file.

	New module 'unicase/u8-is-casefolded'.
	* lib/unicase/u8-is-casefolded.c: New file.
	* modules/unicase/u8-is-casefolded: New file.

	Tests for module 'unicase/u32-is-titlecase'.
	* modules/unicase/u32-is-titlecase-tests: New file.
	* tests/unicase/test-u32-is-titlecase.c: New file.

	Tests for module 'unicase/u16-is-titlecase'.
	* modules/unicase/u16-is-titlecase-tests: New file.
	* tests/unicase/test-u16-is-titlecase.c: New file.

	Tests for module 'unicase/u8-is-titlecase'.
	* modules/unicase/u8-is-titlecase-tests: New file.
	* tests/unicase/test-u8-is-titlecase.c: New file.
	* tests/unicase/test-is-titlecase.h: New file.

	New module 'unicase/u32-is-titlecase'.
	* lib/unicase/u32-is-titlecase.c: New file.
	* modules/unicase/u32-is-titlecase: New file.

	New module 'unicase/u16-is-titlecase'.
	* lib/unicase/u16-is-titlecase.c: New file.
	* modules/unicase/u16-is-titlecase: New file.

	New module 'unicase/u8-is-titlecase'.
	* lib/unicase/u8-is-titlecase.c: New file.
	* modules/unicase/u8-is-titlecase: New file.

	Tests for module 'unicase/u32-is-lowercase'.
	* modules/unicase/u32-is-lowercase-tests: New file.
	* tests/unicase/test-u32-is-lowercase.c: New file.

	Tests for module 'unicase/u16-is-lowercase'.
	* modules/unicase/u16-is-lowercase-tests: New file.
	* tests/unicase/test-u16-is-lowercase.c: New file.

	Tests for module 'unicase/u8-is-lowercase'.
	* modules/unicase/u8-is-lowercase-tests: New file.
	* tests/unicase/test-u8-is-lowercase.c: New file.
	* tests/unicase/test-is-lowercase.h: New file.

	New module 'unicase/u32-is-lowercase'.
	* lib/unicase/u32-is-lowercase.c: New file.
	* modules/unicase/u32-is-lowercase: New file.

	New module 'unicase/u16-is-lowercase'.
	* lib/unicase/u16-is-lowercase.c: New file.
	* modules/unicase/u16-is-lowercase: New file.

	New module 'unicase/u8-is-lowercase'.
	* lib/unicase/u8-is-lowercase.c: New file.
	* modules/unicase/u8-is-lowercase: New file.

	Tests for module 'unicase/u32-is-uppercase'.
	* modules/unicase/u32-is-uppercase-tests: New file.
	* tests/unicase/test-u32-is-uppercase.c: New file.

	Tests for module 'unicase/u16-is-uppercase'.
	* modules/unicase/u16-is-uppercase-tests: New file.
	* tests/unicase/test-u16-is-uppercase.c: New file.

	Tests for module 'unicase/u8-is-uppercase'.
	* modules/unicase/u8-is-uppercase-tests: New file.
	* tests/unicase/test-u8-is-uppercase.c: New file.
	* tests/unicase/test-is-uppercase.h: New file.

	New module 'unicase/u32-is-uppercase'.
	* lib/unicase/u32-is-uppercase.c: New file.
	* modules/unicase/u32-is-uppercase: New file.

	New module 'unicase/u16-is-uppercase'.
	* lib/unicase/u16-is-uppercase.c: New file.
	* modules/unicase/u16-is-uppercase: New file.

	New module 'unicase/u8-is-uppercase'.
	* lib/unicase/u8-is-uppercase.c: New file.
	* modules/unicase/u8-is-uppercase: New file.

	New module 'unicase/u32-is-invariant'.
	* lib/unicase/u32-is-invariant.c: New file.
	* modules/unicase/u32-is-invariant: New file.

	New module 'unicase/u16-is-invariant'.
	* lib/unicase/u16-is-invariant.c: New file.
	* modules/unicase/u16-is-invariant: New file.

	New module 'unicase/u8-is-invariant'.
	* lib/unicase/u8-is-invariant.c: New file.
	* lib/unicase/invariant.h: New file.
	* lib/unicase/u-is-invariant.h: New file.
	* modules/unicase/u8-is-invariant: New file.

	Tests for module 'unicase/u32-casecoll'.
	* modules/unicase/u32-casecoll-tests: New file.
	* tests/unicase/test-u32-casecoll.c: New file.

	Tests for module 'unicase/u16-casecoll'.
	* modules/unicase/u16-casecoll-tests: New file.
	* tests/unicase/test-u16-casecoll.c: New file.

	Tests for module 'unicase/u8-casecoll'.
	* modules/unicase/u8-casecoll-tests: New file.
	* tests/unicase/test-u8-casecoll.c: New file.

	New module 'unicase/u32-casecoll'.
	* lib/unicase/u32-casecoll.c: New file.
	* modules/unicase/u32-casecoll: New file.

	New module 'unicase/u16-casecoll'.
	* lib/unicase/u16-casecoll.c: New file.
	* modules/unicase/u16-casecoll: New file.

	New module 'unicase/u8-casecoll'.
	* lib/unicase/u8-casecoll.c: New file.
	* lib/unicase/u-casecoll.h: New file.
	* modules/unicase/u8-casecoll: New file.

	New module 'unicase/u32-casexfrm'.
	* lib/unicase/u32-casexfrm.c: New file.
	* modules/unicase/u32-casexfrm: New file.

	New module 'unicase/u16-casexfrm'.
	* lib/unicase/u16-casexfrm.c: New file.
	* modules/unicase/u16-casexfrm: New file.

	New module 'unicase/u8-casexfrm'.
	* lib/unicase/u8-casexfrm.c: New file.
	* lib/unicase/u-casexfrm.h: New file.
	* modules/unicase/u8-casexfrm: New file.

	Tests for module 'unicase/u32-casecmp'.
	* modules/unicase/u32-casecmp-tests: New file.
	* tests/unicase/test-u32-casecmp.c: New file.

	Tests for module 'unicase/u16-casecmp'.
	* modules/unicase/u16-casecmp-tests: New file.
	* tests/unicase/test-u16-casecmp.c: New file.

	Tests for module 'unicase/u8-casecmp'.
	* modules/unicase/u8-casecmp-tests: New file.
	* tests/unicase/test-u8-casecmp.c: New file.
	* tests/unicase/test-casecmp.h: New file.

	New module 'unicase/u32-casecmp'.
	* lib/unicase/u32-casecmp.c: New file.
	* modules/unicase/u32-casecmp: New file.

	New module 'unicase/u16-casecmp'.
	* lib/unicase/u16-casecmp.c: New file.
	* modules/unicase/u16-casecmp: New file.

	New module 'unicase/u8-casecmp'.
	* lib/unicase/u8-casecmp.c: New file.
	* lib/unicase/u-casecmp.h: New file.
	* modules/unicase/u8-casecmp: New file.

	Tests for module 'unicase/u32-casefold'.
	* modules/unicase/u32-casefold-tests: New file.
	* tests/unicase/test-u32-casefold.c: New file.

	Tests for module 'unicase/u16-casefold'.
	* modules/unicase/u16-casefold-tests: New file.
	* tests/unicase/test-u16-casefold.c: New file.

	Tests for module 'unicase/u8-casefold'.
	* modules/unicase/u8-casefold-tests: New file.
	* tests/unicase/test-u8-casefold.c: New file.

	New module 'unicase/u32-casefold'.
	* lib/unicase/u32-casefold.c: New file.
	* modules/unicase/u32-casefold: New file.

	New module 'unicase/u16-casefold'.
	* lib/unicase/u16-casefold.c: New file.
	* modules/unicase/u16-casefold: New file.

	New module 'unicase/u8-casefold'.
	* lib/unicase/u8-casefold.c: New file.
	* lib/unicase/u-casefold.h: New file.
	* modules/unicase/u8-casefold: New file.

	New module 'unicase/tocasefold'.
	* lib/unicase/casefold.h: New file.
	* lib/unicase/tocasefold.c: New file.
	* lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
	* modules/unicase/tocasefold: New file.

	Tests for module 'unicase/u32-totitle'.
	* modules/unicase/u32-totitle-tests: New file.
	* tests/unicase/test-u32-totitle.c: New file.

	Tests for module 'unicase/u16-totitle'.
	* modules/unicase/u16-totitle-tests: New file.
	* tests/unicase/test-u16-totitle.c: New file.

	Tests for module 'unicase/u8-totitle'.
	* modules/unicase/u8-totitle-tests: New file.
	* tests/unicase/test-u8-totitle.c: New file.

	New module 'unicase/u32-totitle'.
	* lib/unicase/u32-totitle.c: New file.
	* modules/unicase/u32-totitle: New file.

	New module 'unicase/u16-totitle'.
	* lib/unicase/u16-totitle.c: New file.
	* modules/unicase/u16-totitle: New file.

	New module 'unicase/u8-totitle'.
	* lib/unicase/u8-totitle.c: New file.
	* lib/unicase/u-totitle.h: New file.
	* modules/unicase/u8-totitle: New file.

	Tests for module 'unicase/u32-tolower'.
	* modules/unicase/u32-tolower-tests: New file.
	* tests/unicase/test-u32-tolower.c: New file.

	Tests for module 'unicase/u16-tolower'.
	* modules/unicase/u16-tolower-tests: New file.
	* tests/unicase/test-u16-tolower.c: New file.

	Tests for module 'unicase/u8-tolower'.
	* modules/unicase/u8-tolower-tests: New file.
	* tests/unicase/test-u8-tolower.c: New file.

	New module 'unicase/u32-tolower'.
	* lib/unicase/u32-tolower.c: New file.
	* modules/unicase/u32-tolower: New file.

	New module 'unicase/u16-tolower'.
	* lib/unicase/u16-tolower.c: New file.
	* modules/unicase/u16-tolower: New file.

	New module 'unicase/u8-tolower'.
	* lib/unicase/u8-tolower.c: New file.
	* modules/unicase/u8-tolower: New file.

	Tests for module 'unicase/u32-toupper'.
	* modules/unicase/u32-toupper-tests: New file.
	* tests/unicase/test-u32-toupper.c: New file.

	Tests for module 'unicase/u16-toupper'.
	* modules/unicase/u16-toupper-tests: New file.
	* tests/unicase/test-u16-toupper.c: New file.

	Tests for module 'unicase/u8-toupper'.
	* modules/unicase/u8-toupper-tests: New file.
	* tests/unicase/test-u8-toupper.c: New file.

	New module 'unicase/u32-toupper'.
	* lib/unicase/u32-toupper.c: New file.
	* modules/unicase/u32-toupper: New file.

	New module 'unicase/u16-toupper'.
	* lib/unicase/u16-toupper.c: New file.
	* modules/unicase/u16-toupper: New file.

	New module 'unicase/u8-toupper'.
	* lib/unicase/u8-toupper.c: New file.
	* modules/unicase/u8-toupper: New file.

	New module 'unicase/u32-casemap'.
	* lib/unicase/u32-casemap.c: New file.
	* modules/unicase/u32-casemap: New file.

	New module 'unicase/u16-casemap'.
	* lib/unicase/u16-casemap.c: New file.
	* modules/unicase/u16-casemap: New file.

	New module 'unicase/u8-casemap'.
	* lib/unicase/unicasemap.h: New file.
	* lib/unicase/u8-casemap.c: New file.
	* lib/unicase/u-casemap.h: New file.
	* modules/unicase/u8-casemap: New file.

	New module 'unicase/special-casing'.
	* lib/unicase/special-casing.h: New file.
	* lib/unicase/special-casing.c: New file.
	* lib/unicase/special-casing-table.gperf: New file, generated by
	gen-uni-tables.c.
	* modules/unicase/special-casing: New file.

	Tests for module 'unicase/locale-language'.
	* modules/unicase/locale-language-tests: New file.
	* tests/unicase/test-locale-language.sh: New file.
	* tests/unicase/test-locale-language.c: New file.

	New module 'unicase/locale-language'.
	* lib/unicase/locale-language.c: New file.
	* lib/unicase/locale-languages.gperf: New file.
	* modules/unicase/locale-language: New file.

	Generate more tables for case conversion and case folding.
	* lib/gen-uni-tables.c (SCC_*): New enum items.
	(struct special_casing_rule): New type.
	(casing_rules, num_casing_rules, allocated_casing_rules): New
	variables.
	(add_casing_rule, fill_casing_rules): New functions.
	(struct casefold_rule): New type.
	(casefolding_rules, num_casefolding_rules,
	allocated_casefolding_rules): New variables.
	(fill_casefolding_rules): New function.
	(unicode_casefold): New variable.
	(to_casefold, redistribute_casefolding_rules, compare_casing_rules,
	sort_casing_rules, output_casing_rules): New functions.
	(main): Accept to more arguments: SpecialCasing.txt and
	CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
	redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
	Output mapping for casefolding.

	* lib/unicase.h: Include stdbool.h, uninorm.h.
	(u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
	u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
	(u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
	arguments.
	(u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
	resultp arguments.
	(u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
	(u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
	resultp arguments.
	(u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
	u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
	u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
	u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
	declarations.
	* modules/unicase/base (Depends-on): Add uninorm/base, stdbool.

2009-03-08  Bruno Haible  <bruno@clisp.org>

	* lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
	u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
	* lib/uninorm/u-normcmp.h (FUNC): Likewise.
	* lib/uninorm/u-normcoll.h (FUNC): Likewise.

2009-03-07  Bruno Haible  <bruno@clisp.org>

	Adjust u*_normcmp, u*_normcoll API.
	* lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
	u16_normcoll, u32_normcoll): Change failure conventions.
	* lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
	errno and return -1.
	* lib/uninorm/u-normcoll.h (FUNC): Likewise.

2009-03-07  Bruno Haible  <bruno@clisp.org>

	Tests for module 'uninorm/u32-normcoll'.
	* modules/uninorm/u32-normcoll-tests: New file.
	* tests/uninorm/test-u32-normcoll.c: New file.

	Tests for module 'uninorm/u16-normcoll'.
	* modules/uninorm/u16-normcoll-tests: New file.
	* tests/uninorm/test-u16-normcoll.c: New file.

	Tests for module 'uninorm/u8-normcoll'.
	* modules/uninorm/u8-normcoll-tests: New file.
	* tests/uninorm/test-u8-normcoll.c: New file.

2009-03-07  Bruno Haible  <bruno@clisp.org>

	* tests/uninorm/test-u32-normcmp.h: New file, extracted from
	tests/uninorm/test-u32-normcmp.c.
	* tests/uninorm/test-u32-normcmp.c: Include it.
	(test_nonascii): New function, extracted from main. Add some more
	tests.
	(main): Invoke test_ascii and test_nonascii.
	* modules/uninorm/u32-normcmp-tests (Files): Add
	tests/uninorm/test-u32-normcmp.h.
	(Depends-on): Remove uninorm/u32-normcmp.

	* tests/uninorm/test-u16-normcmp.h: New file, extracted from
	tests/uninorm/test-u16-normcmp.c.
	* tests/uninorm/test-u16-normcmp.c: Include it.
	(test_nonascii): New function, extracted from main. Add some more
	tests.
	(main): Invoke test_ascii and test_nonascii.
	* modules/uninorm/u16-normcmp-tests (Files): Add
	tests/uninorm/test-u16-normcmp.h.
	(Depends-on): Remove uninorm/u16-normcmp.

	* tests/uninorm/test-u8-normcmp.h: New file, extracted from
	tests/uninorm/test-u8-normcmp.c.
	* tests/uninorm/test-u8-normcmp.c: Include it.
	(test_nonascii): New function, extracted from main. Add some more
	tests.
	(main): Invoke test_ascii and test_nonascii.
	* modules/uninorm/u8-normcmp-tests (Files): Add
	tests/uninorm/test-u8-normcmp.h.
	(Depends-on): Remove uninorm/u8-normcmp.

2009-03-07  Bruno Haible  <bruno@clisp.org>

	New module 'uninorm/u32-normcoll'.
	* lib/uninorm/u32-normcoll.c: New file.
	* modules/uninorm/u32-normcoll: New file.

	New module 'uninorm/u16-normcoll'.
	* lib/uninorm/u16-normcoll.c: New file.
	* modules/uninorm/u16-normcoll: New file.

	New module 'uninorm/u8-normcoll'.
	* lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
	declarations.
	* lib/uninorm/u8-normcoll.c: New file.
	* lib/uninorm/u-normcoll.h: New file.
	* modules/uninorm/u8-normcoll: New file.

	New module 'uninorm/u32-normxfrm'.
	* lib/uninorm/u32-normxfrm.c: New file.
	* modules/uninorm/u32-normxfrm: New file.

	New module 'uninorm/u16-normxfrm'.
	* lib/uninorm/u16-normxfrm.c: New file.
	* modules/uninorm/u16-normxfrm: New file.

	New module 'uninorm/u8-normxfrm'.
	* lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
	declarations.
	* lib/uninorm/u8-normxfrm.c: New file.
	* lib/uninorm/u-normxfrm.h: New file.
	* modules/uninorm/u8-normxfrm: New file.

2009-03-07  Bruno Haible  <bruno@clisp.org>

	* modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
	* modules/uninorm/u16-normcmp (Depends-on): Likewise.
	* modules/uninorm/u32-normcmp (Depends-on): Likewise.

2009-03-07  Bruno Haible  <bruno@clisp.org>

	New module 'memxfrm'.
	* lib/memxfrm.h: New file.
	* lib/memxfrm.c: New file.
	* modules/memxfrm: New file.

2009-03-07  Bruno Haible  <bruno@clisp.org>

	New module 'memcmp2'.
	* lib/memcmp2.h: New file.
	* lib/memcmp2.c: New file.
	* modules/memcmp2: New file.

2009-03-07  Bruno Haible  <bruno@clisp.org>

	Tests for module 'uninorm/decomposing-form'.
	* modules/uninorm/decomposing-form-tests: New file.
	* tests/uninorm/test-decomposing-form.c: New file.

	New module 'uninorm/decomposing-form'.
	* lib/uninorm.h (uninorm_decomposing_form): New declaration.
	* lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
	Add 'decomposing_variant' field.
	* lib/uninorm/decomposing-form.c: New file.
	* lib/uninorm/nfc.c (uninorm_nfc): Update.
	* lib/uninorm/nfd.c (uninorm_nfd): Update.
	* lib/uninorm/nfkc.c (uninorm_nfkc): Update.
	* lib/uninorm/nfkd.c (uninorm_nfkd): Update.
	* modules/uninorm/decomposing-form: New file.
	* modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
	* modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.

2009-03-07  Bruno Haible  <bruno@clisp.org>

	* lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
	strings.

2009-03-06  Bruno Haible  <bruno@clisp.org>

	Tests for module 'uninorm/u32-normcmp'.
	* tests/uninorm/test-u32-normcmp.c: New file.
	* modules/uninorm/u32-normcmp-tests: New file.

	Tests for module 'uninorm/u16-normcmp'.
	* tests/uninorm/test-u16-normcmp.c: New file.
	* modules/uninorm/u16-normcmp-tests: New file.

	Tests for module 'uninorm/u8-normcmp'.
	* tests/uninorm/test-u8-normcmp.c: New file.
	* modules/uninorm/u8-normcmp-tests: New file.

	New module 'uninorm/u32-normcmp'.
	* lib/uninorm/u32-normcmp.c: New file.
	* modules/uninorm/u32-normcmp: New file.

	New module 'uninorm/u16-normcmp'.
	* lib/uninorm/u16-normcmp.c: New file.
	* modules/uninorm/u16-normcmp: New file.

	New module 'uninorm/u8-normcmp'.
	* lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
	declarations.
	* lib/uninorm/u8-normcmp.c: New file.
	* lib/uninorm/u-normcmp.h: New file.
	* modules/uninorm/u8-normcmp: New file.

2009-03-06  Bruno Haible  <bruno@clisp.org>

	* lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
	Reported by Eric Blake.

2009-03-06  Eric Blake  <ebb9@byu.net>
	    Bruno Haible  <bruno@clisp.org>

	* lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
	* modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
	condition.
	(Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
	* modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
	condition.
	(Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.

2009-03-06  Eric Blake  <ebb9@byu.net>

	* lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
	to avoid compiler warnings.
	* lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.

2009-03-05  Bruno Haible  <bruno@clisp.org>

	* tests/test-ftell.c (main): Disable test beyond end of file on
	FreeMiNT.
	Patch by Alan Hourihane <alanh@fairlite.co.uk>.

2009-03-05  Kamil Dudka  <kdudka@redhat.com>

	* lib/filevercmp.c: Move hidden files up in ordering.
	* tests/test-filevercmp.c: Add tests for hidden files.

2009-03-04  Bruno Haible  <bruno@clisp.org>

	* modules/visibility (Makefile.am): Augment AM_CFLAGS.
	* gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
	AM_CFLAGS.
	Reported by Simon Josefsson.

2009-03-03  Bruno Haible  <bruno@clisp.org>

	* doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
	Reported by Simon Josefsson.

	* doc/ld-version-script.texi: Update node reference.

2009-03-03  Bruno Haible  <bruno@clisp.org>

	* modules/visibility (License): Change to 'unlimited'.
	Suggested by Simon Josefsson.

2009-03-03  Jim Meyering  <meyering@redhat.com>

	unlinkdir: cannot_unlink_dir may modify process state
	* lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
	it's neither thread-safe nor appropriate for use in a library.

2009-03-03  Eric Blake  <ebb9@byu.net>

	test-closein: silence test under Darwin
	* tests/test-closein.sh: Ignore stderr from cat, since we don't
	care if it dies from EPIPE or EBADF.

2009-03-03  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
	earlier.
	* doc/visibility.texi: Fix @node and @section.

2009-03-03  Simon Josefsson  <simon@josefsson.org>

	* doc/gnulib.texi: Link to sections for ld version script and
	visibility.
	* doc/visibility.texi: Add @node and @section.
	* modules/ld-version-script: New module.
	* m4/ld-version-script.m4: New file.
	* doc/ld-version-script.texi: New file.

2009-03-02  David Lutterkort  <lutter@redhat.com>

	* lib/safe-alloc.h (__GNUC_PREREQ): New macro.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2009-03-02  Bruno Haible  <bruno@clisp.org>

	* doc/visibility.texi: Mention libtool's -export-symbols option.

2009-03-02  Jim Meyering  <meyering@redhat.com>

	announce-gen: new option: --no-print-checksums
	* build-aux/announce-gen (usage): Describe it.
	(print_checksums): Print a newline here, not in the [*] footnote.
	(main): Honor it.

2009-03-01  Bruno Haible  <bruno@clisp.org>

	Use socklen_t in the native Windows replacements prototypes.
	* lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
	instead of 'int'.
	* lib/getsockopt.c (rpl_getsockopt): Likewise.
	* lib/setsockopt.c (rpl_setsockopt): Likewise.
	* modules/getsockopt (Depends-on): Add socklen.
	* modules/setsockopt (Depends-on): Add socklen.

2009-03-01  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
	least 4.2.

2009-03-01  Eric Blake  <ebb9@byu.net>
	    Bruno Haible  <bruno@clisp.org>

	* lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
	error messages.
	* lib/wait-process.c (wait_subprocess): Omit error message about
	deadly signal sent to the child of termsigp != NULL.

2009-03-01  Eric Blake  <ebb9@byu.net>

	* lib/wait-process.c (wait_subprocess): Remove unnecessary cast.

2009-03-01  Bruno Haible  <bruno@clisp.org>

	Avoid a gcc warning.
	* tests/test-sched.c (b): Make global.
	Reported by Eric Blake.

2009-01-19  Martin Lambers  <marlam@marlam.de>

	Provide POSIX semantics for socket timeout options on W32.
	* lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
	* lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
	* modules/setsockopt: Depend on sys_time module for struct timeval.
	* modules/getsockopt: Depend on sys_time module for struct timeval.

2009-03-01  Simon Josefsson  <simon@josefsson.org>

	* lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
	__USE_GNU, for consistency with netdb.in.h.
	Reported by Alan Hourihane <alanh@fairlite.co.uk>.

2009-03-01  Bruno Haible  <bruno@clisp.org>

	More support for FreeMiNT.
	* lib/fseeko.c (rpl_fseeko): Complete last commit.
	Reported by Alan Hourihane <alanh@fairlite.co.uk>.

2009-03-01  Bruno Haible  <bruno@clisp.org>

	More support for FreeMiNT.
	* lib/fpurge.c (fpurge): Correct last commit.
	Reported by Alan Hourihane <alanh@fairlite.co.uk>.

2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Fix unportable awk script in vc-list-files.
	* build-aux/vc-list-files: In the replacement awk script, use
	substr with a second argument of 1, not zero.
	Report by Simon Josefsson.

2009-02-28  Bruno Haible  <bruno@clisp.org>

	More support for FreeMiNT.
	* lib/freading.c (freading) [__MINT__]: Use new macros that were added
	to FreeMiNT today.
	* lib/fwriting.c (fwriting): Likewise.
	Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.

2009-02-28  Bruno Haible  <bruno@clisp.org>

	* tests/test-freadseek.c (main): Disable test beyond end of file on
	FreeMiNT.
	* tests/test-ftello.c (main): Likewise.
	Patch by Alan Hourihane <alanh@fairlite.co.uk>.

2009-02-28  Bruno Haible  <bruno@clisp.org>

	Add tentative support for FreeMiNT.
	* lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
	* lib/fpurge.c (fpurge): Likewise.
	* lib/freadable.c (freadable): Likewise.
	* lib/freading.c (freading): Likewise.
	* lib/freadptr.c (freadptr): Likewise.
	* lib/freadseek.c (freadptrinc): Likewise.
	* lib/fseeko.c (rpl_fseeko): Likewise.
	* lib/fseterr.c (fseterr): Likewise.
	* lib/fwritable.c (fwritable): Likewise.
	* lib/fwriting.c (fwriting): Likewise.
	* lib/freadahead.c (freadahead): Likewise, based on code by Alan
	Hourihane.
	Reported by Alan Hourihane <alanh@fairlite.co.uk>.

2009-02-28  Bruno Haible  <bruno@clisp.org>

	* lib/wait-process.h (wait_subprocess): Clarify restriction regarding
	SIGCHLD.
	Reported by Jim Meyering.

2009-02-28  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
	Mention the results of these tests on various platforms.
	* doc/posix-functions/fprintf.texi: Mention platforms in canonical
	order.
	* doc/posix-functions/printf.texi: Likewise.
	* doc/posix-functions/snprintf.texi: Likewise.
	* doc/posix-functions/sprintf.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/glibc-functions/obstack_printf.texi: Likewise.
	* doc/glibc-functions/obstack_vprintf.texi: Likewise.

2009-02-28  Bruno Haible  <bruno@clisp.org>

	* build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
	Reported by Loïc Minier <lool@dooz.org>.

2009-02-27  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Make the sed expression used to create the
	sed script for updating the .gitignore file POSIX compliant.
	Reported by Eric Blake.

2009-02-27  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (sed): Don't alias as "sed --posix".
	Reported by Eric Blake.

2009-02-27  Bruno Haible  <bruno@clisp.org>

	Avoid test link errors.
	* modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
	* modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
	* modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
	* modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2009-02-27  Bruno Haible  <bruno@clisp.org>

	Avoid spurious "(cached)" in configure output.
	* m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
	* m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
	* m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
	* m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
	* m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
	* m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
	* m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
	* m4/stdarg.m4 (gl_STDARG_H): Likewise.
	Reported by Eric Blake.

2009-02-27  Eric Blake  <ebb9@byu.net>

	printf: fix regression in previous patch
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.

2009-02-27  Bruno Haible  <bruno@clisp.org>

	* lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
	value.
	* lib/stdint.in.h: Likewise.
	Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.

2009-02-27  Eric Blake  <ebb9@byu.net>

	doc: mention more functions added in cygwin 1.7.0
	* doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
	addition.
	* doc/posix-functions/open_wmemstream.texi: Likewise.
	* doc/posix-functions/wcsnlen.texi: Likewise.
	* doc/posix-functions/wcsnrtombs.texi: Likewise.
	* doc/posix-functions/wcstod.texi: Likewise.
	* doc/posix-functions/wcstof.texi: Likewise.
	* doc/posix-functions/wcstoimax.texi: Likewise.
	* doc/posix-functions/wcstok.texi: Likewise.
	* doc/posix-functions/wcstoumax.texi: Likewise.

	Detect bug in cygwin 1.5.x *printf on 1-character %ls.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
	* doc/posix-functions/fprintf.texi: Update.
	* doc/posix-functions/printf.texi: Update.
	* doc/posix-functions/snprintf.texi: Update.
	* doc/posix-functions/sprintf.texi: Update.
	* doc/posix-functions/vfprintf.texi: Update.
	* doc/posix-functions/vprintf.texi: Update.
	* doc/posix-functions/vsnprintf.texi: Update.
	* doc/posix-functions/vsprintf.texi: Update.
	* doc/glibc-functions/obstack_printf.texi: Update.
	* doc/glibc-functions/obstack_vprintf.texi: Update.

2009-02-26  Eric Blake  <ebb9@byu.net>

	avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
	* tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
	compilation bug by using runtime conversion.
	* m4/isfinite.m4 (gl_ISFINITE): Likewise.
	* m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
	* modules/ceill-tests (Files): Use nan.h.
	* modules/floorl-tests (Files): Likewise.
	* modules/frexpl-tests (Files): Likewise.
	* modules/isnanl-tests (Files): Likewise.
	* modules/ldexpl-tests (Files): Likewise.
	* modules/roundl-tests (Files): Likewise.
	* modules/truncl-tests (Files): Likewise.
	* tests/test-ceill.c (main): Use a working NaN.
	* tests/test-floorl.c (main): Likewise.
	* tests/test-frexpl.c (main): Likewise.
	* tests/test-isnan.c (test_long_double): Likewise.
	* tests/test-isnanl.h (main): Likewise.
	* tests/test-ldexpl.h (main): Likewise.
	* tests/test-roundl.h (main): Likewise.
	* tests/test-truncl.h (main): Likewise.
	See http://lists.gnu.org/r/bug-gnulib/2009-02/msg00190.html.

2009-02-26  Eric Blake  <ebb9@byu.net>
	    Bruno Haible  <bruno@clisp.org>

	Work around a *printf bug with %ls on Solaris.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
	precision is specified, sprintf stops converting the wide string
	argument when the number of bytes that have been produced by this
	conversion equals or exceeds the precision.
	* doc/posix-functions/fprintf.texi: Update.
	* doc/posix-functions/printf.texi: Update.
	* doc/posix-functions/snprintf.texi: Update.
	* doc/posix-functions/sprintf.texi: Update.
	* doc/posix-functions/vfprintf.texi: Update.
	* doc/posix-functions/vprintf.texi: Update.
	* doc/posix-functions/vsnprintf.texi: Update.
	* doc/posix-functions/vsprintf.texi: Update.
	* doc/glibc-functions/obstack_printf.texi: Update.
	* doc/glibc-functions/obstack_vprintf.texi: Update.

2009-02-26  Eric Blake  <ebb9@byu.net>

	stdlib: favor compiler check of random.h
	* m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
	to avoid an ObjC random.h installed by Swarm.

2009-02-26  Bruno Haible  <bruno@clisp.org>

	Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
	* m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
	Reported by Gary V. Vaughan <gary@gnu.org>.

2009-02-26  Bruno Haible  <bruno@clisp.org>

	Fix *printf behaviour regarding the %ls directive.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
	* lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
	NEED_PRINTF_DIRECTIVE_LS.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
	(gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
	gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
	gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
	* m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
	* m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
	* m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
	* doc/posix-functions/fprintf.texi: Update.
	* doc/posix-functions/printf.texi: Update.
	* doc/posix-functions/snprintf.texi: Update.
	* doc/posix-functions/sprintf.texi: Update.
	* doc/posix-functions/vfprintf.texi: Update.
	* doc/posix-functions/vprintf.texi: Update.
	* doc/posix-functions/vsnprintf.texi: Update.
	* doc/posix-functions/vsprintf.texi: Update.
	* doc/glibc-functions/obstack_printf.texi: Update.
	* doc/glibc-functions/obstack_vprintf.texi: Update.
	Reported by Eric Blake.

2009-02-25  Bruno Haible  <bruno@clisp.org>

	* m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
	with known value.
	Reported by Gary V. Vaughan <gary@gnu.org>.

2009-02-25  Bruno Haible  <bruno@clisp.org>

	Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
	* m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
	(gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
	* doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
	Reported by Gary V. Vaughan <gary@gnu.org>.

2009-02-25  Bruno Haible  <bruno@clisp.org>

	Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
	* m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
	INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
	* doc/posix-headers/stdint.texi: Mention the HP-UX bug.
	Reported by Gary V. Vaughan <gary@gnu.org>.

2009-02-25  Eric Blake  <ebb9@byu.net>

	tests: skip fseek/ftell tests if ungetc is broken
	* m4/ungetc.m4: New file.
	* modules/fseek-tests: Split test, so ungetc dependency is
	separate from rest of test.
	* modules/fseeko-tests: Likewise.
	* modules/ftell-tests: Likewise.
	* modules/ftello-tests: Likewise.
	* tests/test-fseek.c (main): Isolate ungetc dependency.
	* tests/test-fseeko.c (main): Likewise.
	* tests/test-ftell.c (main): Likewise.
	* tests/test-ftello.c (main): Likewise.
	* tests/test-fseek2.sh: New file.
	* tests/test-fseeko2.sh: Likewise.
	* tests/test-ftell2.sh: Likewise.
	* tests/test-ftello2.sh: Likewise.

2009-02-25  Ondřej Vašík  <ovasik@redhat.com>

	test-getaddrinfo: fix usage of skip return code 77
	* tests/test-gettaddrinfo.c: Return skip code 77 only
	for first occurrence of skip (4x77 is not 77)

2009-02-25  Gary V. Vaughan  <gary@gnu.org>

	strtod: avoid C99 decl-after-statement
	* m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.

2009-02-24  Eric Blake  <ebb9@byu.net>

	strtod: detect HP-UX 11.31 bug
	* m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
	Reported by Gary V. Vaughan.

2009-02-23  Bruno Haible  <bruno@clisp.org>

	Fix invalid read past end of memory block.
	* lib/vasnprintf.c (DCHAR_SET): Define.
	(local_wcslen): Define only when needed.
	(local_strnlen, local_wcsnlen): New functions.
	(VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
	directives that involve a conversion ourselves.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
	wcsnlen, mbrtowc, wcrtomb.
	* tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	Reported by Ben Pfaff <blp@cs.stanford.edu>.

2009-02-22  Bruno Haible  <bruno@clisp.org>

	Implement new clarified decomposition of Hangul syllables.
	* lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
	of type LTV, return only a pairwise decomposition.
	* lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
	Likewise.
	* tests/uninorm/test-decomposition.c (main): Updated expected result.
	* tests/uninorm/test-canonical-decomposition.c (main): Likewise.
	* tests/uninorm/test-compat-decomposition.c (main): Likewise.

2009-02-22  Bruno Haible  <bruno@clisp.org>

	* lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
	zero-length results and shrink excess allocated memory.
	* tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
	* tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
	* tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
	* tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
	* tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
	* tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
	* tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
	* tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
	* tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
	* tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
	* tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
	* tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.

2009-02-21  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib.texi: Include safe-alloc.texi earlier.
	* doc/safe-alloc.texi: Terminate sentences with a period. Use two
	spaces after a period. Put a space between a macro name and its
	argument list. Trivial rewordings.
	* lib/safe-alloc.c: Include safe-alloc.h right after config.h.
	* tests/test-safe-alloc.c: Likewise. Include stdlib.h.
	(main): Return 0 explicitly.

2009-02-21  Bruno Haible  <bruno@clisp.org>

	Tests for module 'uninorm/filter'.
	* tests/uninorm/test-uninorm-filter-nfc.c: New file.
	* modules/uninorm/filter-tests: New file.

	New module 'uninorm/filter'.
	* lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
	uninorm_filter_flush, uninorm_filter_free): New declarations.
	* lib/uninorm/uninorm-filter.c: New file.
	* modules/uninorm/filter: New file.

2009-02-21  Bruno Haible  <bruno@clisp.org>

	Tests for module 'uninorm/nfkc'.
	* tests/uninorm/test-nfkc.c: New file.
	* tests/uninorm/test-u8-nfkc.c: New file.
	* tests/uninorm/test-u16-nfkc.c: New file.
	* tests/uninorm/test-u32-nfkc.c: New file.
	* tests/uninorm/test-u32-nfkc-big.sh: New file.
	* tests/uninorm/test-u32-nfkc-big.c: New file.
	* modules/uninorm/nfkc-tests: New file.

	New module 'uninorm/nfkc'.
	* lib/uninorm/nfkc.c: New file.
	* modules/uninorm/nfkc: New file.

	Tests for module 'uninorm/nfkd'.
	* tests/uninorm/test-nfkd.c: New file.
	* tests/uninorm/test-u8-nfkd.c: New file.
	* tests/uninorm/test-u16-nfkd.c: New file.
	* tests/uninorm/test-u32-nfkd.c: New file.
	* tests/uninorm/test-u32-nfkd-big.sh: New file.
	* tests/uninorm/test-u32-nfkd-big.c: New file.
	* modules/uninorm/nfkd-tests: New file.

	New module 'uninorm/nfkd'.
	* lib/uninorm/nfkd.c: New file.
	* modules/uninorm/nfkd: New file.

	Tests for module 'uninorm/nfc'.
	* tests/uninorm/test-nfc.c: New file.
	* tests/uninorm/test-u8-nfc.c: New file.
	* tests/uninorm/test-u16-nfc.c: New file.
	* tests/uninorm/test-u32-nfc.c: New file.
	* tests/uninorm/test-u32-nfc-big.sh: New file.
	* tests/uninorm/test-u32-nfc-big.c: New file.
	* modules/uninorm/nfc-tests: New file.

	New module 'uninorm/nfc'.
	* lib/uninorm/nfc.c: New file.
	* modules/uninorm/nfc: New file.

	Tests for module 'uninorm/nfd'.
	* tests/uninorm/test-nfd.c: New file.
	* tests/uninorm/test-u8-nfd.c: New file.
	* tests/uninorm/test-u16-nfd.c: New file.
	* tests/uninorm/test-u32-nfd.c: New file.
	* tests/uninorm/test-u32-nfd-big.sh: New file.
	* tests/uninorm/test-u32-nfd-big.c: New file.
	* tests/uninorm/test-u32-normalize-big.h: New file.
	* tests/uninorm/test-u32-normalize-big.c: New file.
	* tests/uninorm/NormalizationTest.txt: New file, created from
	Unicode 5.1.0 NormalizationTest.txt.
	* modules/uninorm/nfd-tests: New file.

	New module 'uninorm/nfd'.
	* lib/uninorm/nfd.c: New file.
	* modules/uninorm/nfd: New file.

	New module 'uninorm/u32-normalize'.
	* lib/uninorm/u32-normalize.c: New file.
	* modules/uninorm/u32-normalize: New file.

	New module 'uninorm/u16-normalize'.
	* lib/uninorm/u16-normalize.c: New file.
	* modules/uninorm/u16-normalize: New file.

	New module 'uninorm/u8-normalize'.
	* lib/uninorm/u8-normalize.c: New file.
	* lib/uninorm/normalize-internal.h: New file.
	* lib/uninorm/u-normalize-internal.h: New file.
	* modules/uninorm/u8-normalize: New file.

	New module 'uninorm/decompose-internal'.
	* lib/uninorm/decompose-internal.c: New file.
	* modules/uninorm/decompose-internal: New file.

	Tests for module 'uninorm/composition'.
	* tests/uninorm/test-composition.c: New file.
	* modules/uninorm/composition-tests: New file.

	New module 'uninorm/composition'.
	* lib/uninorm/composition.c: New file.
	* lib/uninorm/composition-table.gperf: New file, generated by
	gen-uni-tables.
	* modules/uninorm/composition: New file.

	Tests for module 'uninorm/compat-decomposition'.
	* tests/uninorm/test-compat-decomposition.c: New file.
	* modules/uninorm/compat-decomposition-tests: New file.

	New module 'uninorm/compat-decomposition'.
	* lib/uninorm/decompose-internal.h: New file.
	* lib/uninorm/compat-decomposition.c: New file.
	* modules/uninorm/compat-decomposition: New file.

	Tests for module 'uninorm/canonical-decomposition'.
	* tests/uninorm/test-canonical-decomposition.c: New file.
	* modules/uninorm/canonical-decomposition-tests: New file.

	New module 'uninorm/canonical-decomposition'.
	* lib/uninorm/canonical-decomposition.c: New file.
	* modules/uninorm/canonical-decomposition: New file.

	Tests for module 'uninorm/decomposition'.
	* tests/uninorm/test-decomposition.c: New file.
	* modules/uninorm/decomposition-tests: New file.

	New module 'uninorm/decomposition'.
	* lib/uninorm/decomposition.c: New file.
	* modules/uninorm/decomposition: New file.

	New module 'uninorm/decomposition-table'.
	* lib/uninorm/decomposition-table.h: New file.
	* lib/uninorm/decomposition-table.c: New file.
	* lib/uninorm/decomposition-table1.h: New file, generated by
	gen-uni-tables.
	* lib/uninorm/decomposition-table2.h: New file, generated by
	gen-uni-tables.
	* modules/uninorm/decomposition-table: New file.

	* lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
	(UC_DECOMP_*): New enumeration items.
	(get_decomposition): New function.
	(struct decomp_table): New type.
	(output_decomposition, output_decomposition_tables): New functions.
	(unicode_composition_exclusions): New variable.
	(fill_composition_exclusions, debug_output_composition_tables): New
	functions.
	(main): Accept one more argument. Invoke fill_composition_exclusions.
	Output decomposition and composition tables.

	New module 'uninorm/base'.
	* lib/uninorm.h: New file.
	* lib/unictype.h: Update comment.
	* modules/uninorm/base: New file.

2009-02-21  David Lutterkort  <lutter@redhat.com>

	Tests for module 'safe-alloc'.
	* tests/test-safe-alloc.c: New file.
	* modules/safe-alloc-tests: New file.

	New module 'safe-alloc'.
	* lib/safe-alloc.h: New file.
	* lib/safe-alloc.c: New file.
	* m4/safe-alloc.m4: New file.
	* modules/safe-alloc: New file.
	* doc/safe-alloc.texi: New file.
	* doc/gnulib.texi: Include it.
	* MODULES.html.sh (Memory management functions <stdlib.h>): Add
	safe-alloc.

2009-02-18  Bruno Haible  <bruno@clisp.org>

	Fix link error on non-glibc systems.
	* modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
	variable.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2009-02-18  Jim Meyering  <meyering@redhat.com>

	fts: avoid used-uninitialized error due to recent change
	* lib/fts.c (fts_read): Guard uses of the new member,
	parent->fts_n_dirs_remaining, since it's not relevant for
	the parent of a directory specified on the command-line.

2009-02-17  James Youngman  <jay@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	* m4/include_next.m4: Reformulate comment.

2009-02-16  Jim Meyering  <meyering@redhat.com>

	fts: add #if guards so that the fts_lgpl module still builds
	* lib/fts.c: Guard just-added hash-table-using parts with
	#if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
	Reported by Simon Josefsson.

2009-02-15  Bruno Haible  <bruno@clisp.org>

	* modules/array-mergesort-tests: New file.
	* tests/test-array-mergesort.c: New file.

	New module 'array-mergesort'.
	* modules/array-mergesort: New file.
	* lib/array-mergesort.h: New file.

2009-02-15  Bruno Haible  <bruno@clisp.org>

	Fix 2009-02-07 commit.
	* lib/gen-uni-tables.c (output_predicate, output_category,
	output_combclass, output_bidi_category, output_decimal_digit,
	output_digit, output_numeric, output_mirror, output_scripts,
	output_ident_category, output_simple_mapping): Fix format directives.
	(output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.

2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>

	* m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
	fixes are available from IBM.

2009-02-13  Jim Meyering  <meyering@redhat.com>

	fts: arrange not to stat non-directories in more cases
	This makes GNU find (when it doesn't need to stat each file)
	*much* more efficient at traversing reiserfs file systems.
	* lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
	(struct FTS) [fts_leaf_optimization_works_ht]: Add member.
	* lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
	(S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
	(leaf_optimization_applies): New function.
	(LCO_hash, LCO_compare): New helper functions.
	(link_count_optimize_ok): New function.
	(fts_stat): Initialize new member (if dir).
	(fts_read): Decrement parent's fts_n_dirs_remaining count if
	we've just stat'ed a directory.  Skip the stat call when possible.
	---
	Note this AFS-related exchange:
	http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
	and note find's pioctl call in find/fstype.c.
	But that is necessary only if you want to enable the
	optimization for AFS, and for now, I don't.

	fts: move a function definition "up" (no semantic change)
	* lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
	"up" to precede upcoming use of a related function.

2009-02-11  Jim Meyering  <meyering@redhat.com>

	fts: correct internal computation of nlinks (optimization-related)
	* lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
	whether the current entry is a directory, so don't test it.

2009-02-10  Bruno Haible  <bruno@clisp.org>

	Tests for module 'uniwbrk/ulc-wordbreaks'.
	* modules/uniwbrk/ulc-wordbreaks-tests: New file.
	* tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
	* tests/uniwbrk/test-ulc-wordbreaks.c: New file.

	Tests for module 'uniwbrk/u32-wordbreaks'.
	* modules/uniwbrk/u32-wordbreaks-tests: New file.
	* tests/uniwbrk/test-u32-wordbreaks.c: New file.

	Tests for module 'uniwbrk/u16-wordbreaks'.
	* modules/uniwbrk/u16-wordbreaks-tests: New file.
	* tests/uniwbrk/test-u16-wordbreaks.c: New file.

	Tests for module 'uniwbrk/u8-wordbreaks'.
	* modules/uniwbrk/u8-wordbreaks-tests: New file.
	* tests/uniwbrk/test-u8-wordbreaks.c: New file.

2009-02-10  Bruno Haible  <bruno@clisp.org>

	* modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
	property.
	* modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
	* modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
	* modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.

2009-02-10  Simon Josefsson  <simon@josefsson.org>

	* m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
	inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.

2009-02-10  Bruno Haible  <bruno@clisp.org>

	* lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
	* lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
	* modules/unilbrk/tables (Files, Makefile.am, Include): Update.
	* lib/unilbrk/u8-possible-linebreaks.c: Update.
	* lib/unilbrk/u16-possible-linebreaks.c: Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c: Likewise.

2009-02-09  Simon Josefsson  <simon@josefsson.org>

	* lib/sockets.h (gl_fd_to_handle): New function.

	* tests/test-sockets.c: Call gl_fd_to_handle.

2009-02-09  Bruno Haible  <bruno@clisp.org>

	* doc/havelib.texi: Document the conventions on bi-arch systems.

2009-02-08  Bruno Haible  <bruno@clisp.org>

	Document the AC_LIB_LINKFLAGS macro.
	* doc/havelib.texi: New file, mostly written on 2005-05-24.
	* doc/gnulib.texi: Include it.

2009-02-08  Bruno Haible  <bruno@clisp.org>

	Fix wrong order of sections, compared to TOC.
	* doc/gnulib.texi: Include relocatable-maint.texi after the
	"Regular expressions" node, not before.

2009-02-08  Bruno Haible  <bruno@clisp.org>

	Tests for module 'unicase/totitle'.
	* modules/unicase/totitle-tests: New file.

	Tests for module 'unicase/tolower'.
	* modules/unicase/tolower-tests: New file.

	Tests for module 'unicase/toupper'.
	* modules/unicase/toupper-tests: New file.
	* tests/unicase/test-mapping-part1.h: New file.
	* tests/unicase/test-mapping-part2.h: New file.

	New module 'unicase/totitle'.
	* modules/unicase/totitle: New file.
	* lib/unicase/totitle.c: New file.

	New module 'unicase/tolower'.
	* modules/unicase/tolower: New file.
	* lib/unicase/tolower.c: New file.

	New module 'unicase/toupper'.
	* modules/unicase/toupper: New file.
	* lib/unicase/toupper.c: New file.
	* lib/unicase/simple-mapping.h: New file.

	* lib/gen-uni-tables.c (output_simple_mapping_test): New function.
	(mapping_table): New structure.
	(output_simple_mapping): New function.
	(main): Invoke output_simple_mapping_test and output_simple_mapping.
	* modules/gen-uni-tables (Description): Update.
	* lib/unicase/toupper.h: New file, automatically generated by
	gen-uni-tables.
	* lib/unicase/tolower.h: New file, automatically generated by
	gen-uni-tables.
	* lib/unicase/totitle.h: New file, automatically generated by
	gen-uni-tables.
	* tests/unicase/test-uc_toupper.c: New file, automatically generated by
	gen-uni-tables.
	* tests/unicase/test-uc_tolower.c: New file, automatically generated by
	gen-uni-tables.
	* tests/unicase/test-uc_totitle.c: New file, automatically generated by
	gen-uni-tables.

	New module 'unicase/base'.
	* modules/unicase/base: New file.
	* lib/unicase.h: New file.

2009-02-08  Bruno Haible  <bruno@clisp.org>

	New module 'uniwbrk/ulc-wordbreaks'.
	* modules/uniwbrk/ulc-wordbreaks: New file.
	* lib/uniwbrk/ulc-wordbreaks.c: New file.

	New module 'uniwbrk/u32-wordbreaks'.
	* modules/uniwbrk/u32-wordbreaks: New file.
	* lib/uniwbrk/u32-wordbreaks.c: New file.

	New module 'uniwbrk/u16-wordbreaks'.
	* modules/uniwbrk/u16-wordbreaks: New file.
	* lib/uniwbrk/u16-wordbreaks.c: New file.

	New module 'uniwbrk/u8-wordbreaks'.
	* modules/uniwbrk/u8-wordbreaks: New file.
	* lib/uniwbrk/u8-wordbreaks.c: New file.
	* lib/uniwbrk/u-wordbreaks.h: New file.

	New module 'uniwbrk/table'.
	* modules/uniwbrk/table: New file.
	* lib/uniwbrk/wbrktable.h: New file.
	* lib/uniwbrk/wbrktable.c: New file.

	New module 'uniwbrk/wordbreak-property'.
	* modules/uniwbrk/wordbreak-property: New file.
	* lib/uniwbrk/wordbreak-property.c: New file.

	* lib/gen-uni-tables.c (WBP_*): New enum items.
	(get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
	(unicode_org_wbp): New variable.
	(fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
	New functions.
	(wbp_table): New structure.
	(output_wbp, output_wbrk_tables): New functions.
	(main): Accept additional argument. Invoke fill_org_wbp,
	debug_output_wbrk_tables, debug_output_org_wbrk_tables,
	output_wbrk_tables.
	* modules/gen-uni-tables (Description): Update.
	* lib/uniwbrk/wbrkprop.h: New file, automatically generated by
	gen-uni-tables.

	New module 'uniwbrk/base'.
	* modules/uniwbrk/base: New file.
	* lib/uniwbrk.h: New file.

2009-02-08  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 5.1.0.
	* lib/gen-uni-tables.c (is_property_alphabetic): Include
	U+2185..U+2188.
	(is_property_default_ignorable_code_point): Don't include characters
	of category Cc or Cs and not-a-characters.
	(get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
	U+0D79, U+109E, U+109F, U+A60C.
	* lib/unictype/bidi_of.h: Regenerated.
	* lib/unictype/blocks.h: Regenerated.
	* lib/unictype/categ_C.h: Regenerated.
	* lib/unictype/categ_Cf.h: Regenerated.
	* lib/unictype/categ_Cn.h: Regenerated.
	* lib/unictype/categ_L.h: Regenerated.
	* lib/unictype/categ_Ll.h: Regenerated.
	* lib/unictype/categ_Lm.h: Regenerated.
	* lib/unictype/categ_Lo.h: Regenerated.
	* lib/unictype/categ_Lu.h: Regenerated.
	* lib/unictype/categ_M.h: Regenerated.
	* lib/unictype/categ_Mc.h: Regenerated.
	* lib/unictype/categ_Me.h: Regenerated.
	* lib/unictype/categ_Mn.h: Regenerated.
	* lib/unictype/categ_N.h: Regenerated.
	* lib/unictype/categ_Nd.h: Regenerated.
	* lib/unictype/categ_Nl.h: Regenerated.
	* lib/unictype/categ_No.h: Regenerated.
	* lib/unictype/categ_P.h: Regenerated.
	* lib/unictype/categ_Pd.h: Regenerated.
	* lib/unictype/categ_Pe.h: Regenerated.
	* lib/unictype/categ_Pf.h: Regenerated.
	* lib/unictype/categ_Pi.h: Regenerated.
	* lib/unictype/categ_Po.h: Regenerated.
	* lib/unictype/categ_Ps.h: Regenerated.
	* lib/unictype/categ_S.h: Regenerated.
	* lib/unictype/categ_Sk.h: Regenerated.
	* lib/unictype/categ_Sm.h: Regenerated.
	* lib/unictype/categ_So.h: Regenerated.
	* lib/unictype/categ_of.h: Regenerated.
	* lib/unictype/combining.h: Regenerated.
	* lib/unictype/ctype_alnum.h: Regenerated.
	* lib/unictype/ctype_alpha.h: Regenerated.
	* lib/unictype/ctype_graph.h: Regenerated.
	* lib/unictype/ctype_lower.h: Regenerated.
	* lib/unictype/ctype_print.h: Regenerated.
	* lib/unictype/ctype_punct.h: Regenerated.
	* lib/unictype/ctype_upper.h: Regenerated.
	* lib/unictype/decdigit.h: Regenerated.
	* lib/unictype/digit.h: Regenerated.
	* lib/unictype/mirror.h: Regenerated.
	* lib/unictype/numeric.h: Regenerated.
	* lib/unictype/pr_alphabetic.h: Regenerated.
	* lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
	* lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
	* lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
	* lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
	* lib/unictype/pr_bidi_left_to_right.h: Regenerated.
	* lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
	* lib/unictype/pr_bidi_other_neutral.h: Regenerated.
	* lib/unictype/pr_combining.h: Regenerated.
	* lib/unictype/pr_dash.h: Regenerated.
	* lib/unictype/pr_decimal_digit.h: Regenerated.
	* lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
	* lib/unictype/pr_deprecated.h: Regenerated.
	* lib/unictype/pr_diacritic.h: Regenerated.
	* lib/unictype/pr_extender.h: Regenerated.
	* lib/unictype/pr_format_control.h: Regenerated.
	* lib/unictype/pr_grapheme_base.h: Regenerated.
	* lib/unictype/pr_grapheme_extend.h: Regenerated.
	* lib/unictype/pr_grapheme_link.h: Regenerated.
	* lib/unictype/pr_id_continue.h: Regenerated.
	* lib/unictype/pr_id_start.h: Regenerated.
	* lib/unictype/pr_ideographic.h: Regenerated.
	* lib/unictype/pr_ignorable_control.h: Regenerated.
	* lib/unictype/pr_lowercase.h: Regenerated.
	* lib/unictype/pr_math.h: Regenerated.
	* lib/unictype/pr_numeric.h: Regenerated.
	* lib/unictype/pr_other_alphabetic.h: Regenerated.
	* lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
	* lib/unictype/pr_other_grapheme_extend.h: Regenerated.
	* lib/unictype/pr_other_id_continue.h: Regenerated.
	* lib/unictype/pr_other_lowercase.h: Regenerated.
	* lib/unictype/pr_other_math.h: Regenerated.
	* lib/unictype/pr_punctuation.h: Regenerated.
	* lib/unictype/pr_sentence_terminal.h: Regenerated.
	* lib/unictype/pr_soft_dotted.h: Regenerated.
	* lib/unictype/pr_terminal_punctuation.h: Regenerated.
	* lib/unictype/pr_unassigned_code_value.h: Regenerated.
	* lib/unictype/pr_unified_ideograph.h: Regenerated.
	* lib/unictype/pr_uppercase.h: Regenerated.
	* lib/unictype/pr_xid_continue.h: Regenerated.
	* lib/unictype/pr_xid_start.h: Regenerated.
	* lib/unictype/pr_zero_width.h: Regenerated.
	* lib/unictype/scripts.h: Regenerated.
	* lib/unictype/scripts_byname.gperf: Regenerated.
	* lib/unictype/sy_java_ident.h: Regenerated.
	* lib/unilbrk/lbrkprop1.h: Regenerated.
	* lib/unilbrk/lbrkprop2.h: Regenerated.
	* tests/unictype/test-categ_C.c: Regenerated.
	* tests/unictype/test-categ_Cf.c: Regenerated.
	* tests/unictype/test-categ_Cn.c: Regenerated.
	* tests/unictype/test-categ_L.c: Regenerated.
	* tests/unictype/test-categ_Ll.c: Regenerated.
	* tests/unictype/test-categ_Lm.c: Regenerated.
	* tests/unictype/test-categ_Lo.c: Regenerated.
	* tests/unictype/test-categ_Lu.c: Regenerated.
	* tests/unictype/test-categ_M.c: Regenerated.
	* tests/unictype/test-categ_Mc.c: Regenerated.
	* tests/unictype/test-categ_Me.c: Regenerated.
	* tests/unictype/test-categ_Mn.c: Regenerated.
	* tests/unictype/test-categ_N.c: Regenerated.
	* tests/unictype/test-categ_Nd.c: Regenerated.
	* tests/unictype/test-categ_Nl.c: Regenerated.
	* tests/unictype/test-categ_No.c: Regenerated.
	* tests/unictype/test-categ_P.c: Regenerated.
	* tests/unictype/test-categ_Pd.c: Regenerated.
	* tests/unictype/test-categ_Pe.c: Regenerated.
	* tests/unictype/test-categ_Pf.c: Regenerated.
	* tests/unictype/test-categ_Pi.c: Regenerated.
	* tests/unictype/test-categ_Po.c: Regenerated.
	* tests/unictype/test-categ_Ps.c: Regenerated.
	* tests/unictype/test-categ_S.c: Regenerated.
	* tests/unictype/test-categ_Sk.c: Regenerated.
	* tests/unictype/test-categ_Sm.c: Regenerated.
	* tests/unictype/test-categ_So.c: Regenerated.
	* tests/unictype/test-ctype_alnum.c: Regenerated.
	* tests/unictype/test-ctype_alpha.c: Regenerated.
	* tests/unictype/test-ctype_graph.c: Regenerated.
	* tests/unictype/test-ctype_lower.c: Regenerated.
	* tests/unictype/test-ctype_print.c: Regenerated.
	* tests/unictype/test-ctype_punct.c: Regenerated.
	* tests/unictype/test-ctype_upper.c: Regenerated.
	* tests/unictype/test-decdigit.h: Regenerated.
	* tests/unictype/test-digit.h: Regenerated.
	* tests/unictype/test-numeric.h: Regenerated.
	* tests/unictype/test-pr_alphabetic.c: Regenerated.
	* tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
	* tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
	* tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
	* tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
	* tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
	* tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
	* tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
	* tests/unictype/test-pr_combining.c: Regenerated.
	* tests/unictype/test-pr_dash.c: Regenerated.
	* tests/unictype/test-pr_decimal_digit.c: Regenerated.
	* tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
	* tests/unictype/test-pr_deprecated.c: Regenerated.
	* tests/unictype/test-pr_diacritic.c: Regenerated.
	* tests/unictype/test-pr_extender.c: Regenerated.
	* tests/unictype/test-pr_format_control.c: Regenerated.
	* tests/unictype/test-pr_grapheme_base.c: Regenerated.
	* tests/unictype/test-pr_grapheme_extend.c: Regenerated.
	* tests/unictype/test-pr_grapheme_link.c: Regenerated.
	* tests/unictype/test-pr_id_continue.c: Regenerated.
	* tests/unictype/test-pr_id_start.c: Regenerated.
	* tests/unictype/test-pr_ideographic.c: Regenerated.
	* tests/unictype/test-pr_ignorable_control.c: Regenerated.
	* tests/unictype/test-pr_lowercase.c: Regenerated.
	* tests/unictype/test-pr_math.c: Regenerated.
	* tests/unictype/test-pr_numeric.c: Regenerated.
	* tests/unictype/test-pr_other_alphabetic.c: Regenerated.
	* tests/unictype/test-pr_other_default_ignorable_code_point.c:
	Regenerated.
	* tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
	* tests/unictype/test-pr_other_id_continue.c: Regenerated.
	* tests/unictype/test-pr_other_lowercase.c: Regenerated.
	* tests/unictype/test-pr_other_math.c: Regenerated.
	* tests/unictype/test-pr_punctuation.c: Regenerated.
	* tests/unictype/test-pr_sentence_terminal.c: Regenerated.
	* tests/unictype/test-pr_soft_dotted.c: Regenerated.
	* tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
	* tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
	* tests/unictype/test-pr_unified_ideograph.c: Regenerated.
	* tests/unictype/test-pr_uppercase.c: Regenerated.
	* tests/unictype/test-pr_xid_continue.c: Regenerated.
	* tests/unictype/test-pr_xid_start.c: Regenerated.
	* tests/unictype/test-pr_zero_width.c: Regenerated.

	Update to Unicode 5.1.0.
	* lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
	U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
	U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
	U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
	U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
	U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
	U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
	U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
	U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
	(nonspacing_table_ind): Update.
	* tests/uniwidth/test-uc_width2.sh: Update expected result.

	Update to Unicode 5.1.0.
	* lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
	code transform.
	* lib/uniname/uniname.c (unicode_character_name,
	unicode_name_character): Add the range 0x1Fxxx to the code transform.
	* lib/uniname/uninames.h: Regenerated.
	* tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.

2009-02-07  Bruno Haible  <bruno@clisp.org>

	Merge gen-ctype and gen-lbrk into a single program.
	* lib/gen-uni-tables.c: New file, incorporating
	lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
	Add directory prefixes to the names of the generated files.
	* lib/unictype/gen-ctype.c: Remove file.
	* lib/unilbrk/gen-lbrk.c: Remove file.
	* modules/gen-uni-tables: New file.
	* modules/unictype/gen-ctype: Remove file.
	* modules/unilbrk/gen-lbrk: Remove file.

2009-02-07  Bruno Haible  <bruno@clisp.org>

	* lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.

	New module 'unistr/u32-strcoll'.
	* modules/unistr/u32-strcoll: New file.
	* lib/unistr/u32-strcoll.c: New file.

	New module 'unistr/u16-strcoll'.
	* modules/unistr/u16-strcoll: New file.
	* lib/unistr/u16-strcoll.c: New file.

	New module 'unistr/u8-strcoll'.
	* modules/unistr/u8-strcoll: New file.
	* lib/unistr/u8-strcoll.c: New file.
	* lib/unistr/u-strcoll.h: New file.

2009-02-07  Bruno Haible  <bruno@clisp.org>

	* test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
	* test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
	* test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
	* test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
	* test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
	* test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.

2009-02-07  Bruno Haible  <bruno@clisp.org>

	Make 64-bit clean.
	* lib/unictype/gen-ctype.c (output_predicate, output_category,
	output_combclass, output_bidi_category, output_decimal_digit,
	output_digit, output_numeric, output_mirror, output_scripts,
	output_ident_category): Use proper width specifier in format strings.

2009-02-07  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
	failure behaviour.

2009-02-07  Jim Meyering  <meyering@redhat.com>

	regex: avoid compilation failure with upcoming gcc-4.4
	* lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
	[workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
	"... error: integer overflow in preprocessor expression".

2009-02-05  Ben Pfaff  <blp@gnu.org>

	Fix link errors on Windows when close module is used.
	* modules/close: Add $(LIB_CLOSE) to Link section.
	* m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
	$(LIB_CLOSE) on Windows.

2009-02-05  Jim Meyering  <meyering@redhat.com>

	still avoid unused-parameter warnings, but do it cleanly
	* lib/fsusage.c (UNUSED_PARAM): Remove definition.
	(get_fs_usage): Cast to void instead.
	* lib/mountlist.c (UNUSED_PARAM): Remove definition.
	(dev_from_mount_options, read_file_system_list): Cast to void.
	Prompted by Bruno Haible.

2009-02-04  Jim Meyering  <meyering@redhat.com>

	fsusage.c: correct copyright year
	* lib/fsusage.c: Reflect year in which the change is pushed into

	avoid misc. warnings
	* lib/fsusage.c (UNUSED_PARAM): Define.
	(get_fs_usage): Mark parameter "disk" as unused.
	* lib/getugroups.c (getgrent): Use "void" in prototype.
	* lib/mountlist.c: Mark unused parameters.
	(read_file_system_list): Declare a local with "const".
	* lib/nanosleep.c (getnow): Declare static.
	* lib/strftime.c: Include strftime.h, for declaration of nstrftime.

	dirfd: set errno upon failure
	* lib/dirfd.c: Include <errno.h>.
	Set errno to ENOTSUP when returning -1.
	* modules/dirfd (Depends-on): Add errno.
	Suggested by John Kodis <kodis@comcast.net>.

2009-02-01  Bruno Haible  <bruno@clisp.org>

	Don't assume sizeof (long) >= sizeof (void *).
	* lib/memcmp.c: Include stdint.h.
	(memcmp_bytes): Change argument types to op_t. Change type of srcp1,
	srcp2 to 'const byte *'.
	(memcmp_common_alignment, memcmp_not_common_alignment): Change argument
	types to uintptr_t.
	(rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
	* modules/memcmp (Depends-on): Add stdint.
	Reported by Ozkan Sezer <sezeroz@gmail.com>.

2009-01-30  Eric Blake  <ebb9@byu.net>

	fix more require-before-expand issues
	* m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
	expand, AC_PROG_AWK.
	* m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.

2009-01-28  Eric Blake  <ebb9@byu.net>

	version-etc: use consistent URL formatting
	* lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
	Improve formatting.  Use fputs for string without %.

2009-01-28  Jim Meyering  <meyering@redhat.com>

	00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
	* m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
	"underquoted definition of NAME" from autoconf-2.59.

2009-01-28  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib.texi: Add "Obsolete modules" to index.

2009-01-28  Jim Meyering  <meyering@redhat.com>

	useless-if-before-free: recognize more variants
	* build-aux/useless-if-before-free: Also recognize e.g.,
	if (NULL != p) free (p);

2009-01-27  Mark McLoughlin  <markmc@redhat.com>

	test-getaddrinfo: skip (don't fail) this test when there's no network
	* tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
	on the presumption that it means you lack network access.

2009-01-26  Jim Meyering  <meyering@redhat.com>

	fflush: avoid warnings on modern systems
	* lib/fflush.c (rpl_fflush): Move declarations of locals,
	pos and result, into scopes where they're used.

2009-01-26  Eric Blake  <ebb9@byu.net>

	Silence warning reintroduced by recent extensions patch.
	* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
	(gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
	autoconf.

	Backport improved autoconf semantics of AC_DEFUN_ONCE.
	* m4/00gnulib.m4: New file.
	* gnulib-tool (func_get_filelist): Always use it.
	* m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
	Reported by Bruno Haible, with suggestions from Paolo Bonzini.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	Make test-quotearg work on MacOS X and AIX.
	* tests/test-quotearg.sh: New file.
	* tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
	* tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
	* tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
	include <libintl.h>.
	(fake_locale): Remove variable.
	(gettext, dgettext, dcgettext): Remove functions.
	(main): Instead of setting a fake locale, set a real locale. Call
	textdomain and bindtextdomain.
	* modules/quotearg-tests (Files): Add the new files.
	(Depends-on): Add gettext, setenv, unsetenv.
	(configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
	(Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
	Augment TESTS_ENVIRONMENT.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	* m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
	fr_FR.ISO8859-1 locale on MacOS X.
	* m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
	ja_JP.eucJP locale on MacOS X.
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
	zh_CN.GB18030 locale on MacOS X.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	Avoid link errors on MacOS X 10.3.
	* lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
	* lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	* lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
	* m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
	* modules/pipe (Files): Remove m4/posix_spawn.m4.
	(Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
	posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
	posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
	posix_spawnattr_init, posix_spawnattr_setsigmask,
	posix_spawnattr_setflags, posix_spawnattr_destroy.

	* lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
	* m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
	* modules/execute (Files): Remove m4/posix_spawn.m4.
	(Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
	posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
	posix_spawnattr_init, posix_spawnattr_setsigmask,
	posix_spawnattr_setflags, posix_spawnattr_destroy.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	* lib/glthread/threadlib.c: Include <stdlib.h>.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	* lib/glthread/threadlib.c (dummy): New declaration.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	* lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
	multibyte characters also for the GB18030 encoding. Don't crash when
	the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	Avoid redefining 'struct random_data' on OSF/1 5.1.
	* lib/stdlib.in.h: Include <random.h> if it exists.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
	HAVE_RANDOM_H. Include <random.h> when testing whether
	'struct random_data' exists.
	* modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	Don't install charset.alias on MacOS X >= 10.3.
	* lib/localcharset.c (DARWIN7): New macro.
	(get_charset_aliases): Hardcode the result for Darwin7.
	* modules/localcharset (install-exec-local): Don't install
	charset.alias on MacOS X >= 10.3, if the file does not yet exist.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	Don't install charset.alias on mingw and Cygwin.
	* modules/localcharset (install-exec-local): Don't install
	charset.alias on mingw and Cygwin, if the file does not yet exist.
	The result for these platforms is hardcoded in localcharset.c.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	Make it possible again to use AC_GNU_SOURCE together with gnulib.
	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
	before requiring AC_USE_SYSTEM_EXTENSIONS.

2009-01-25  Jim Meyering  <meyering@redhat.com>

	c-strtod: avoid warnings
	* lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
	"assignment discards qualifiers from pointer target type" warnings.

2009-01-24  Bruno Haible  <bruno@clisp.org>

	Add support for non-UTF-8 locales on MacOS X.
	* lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
	canonical encodings. For Darwin 7 and newer, don't map traditional
	encodings to UTF-8.
	Reported by Vincent Lefevre <vincent@vinc17.org>
	at <http://savannah.gnu.org/bugs/?25235>.

2009-01-24  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib.texi (Obsolete modules): New section.
	Reported by Mike Frysinger <vapier@gentoo.org>.

2009-01-24  Bruno Haible  <bruno@clisp.org>

	* doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
	(%.dvi): New rule.

2009-01-24  Bruno Haible  <bruno@clisp.org>

	* lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
	Reported by Eric Blake.

2009-01-24  Bruno Haible  <bruno@clisp.org>

	* lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
	set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
	Reported by Gary V. Vaughan <gary@gnu.org>.

2009-01-24  Bruno Haible  <bruno@clisp.org>

	* lib/c-strtod.h (c_strtod, c_strtold): Add specification.

2009-01-23  Bruno Haible  <bruno@clisp.org>

	Make c-strtod, c-strtold usable in libraries.
	* lib/c-strtod.c: Include string.h instead of xalloc.h.
	(C_STRTOD): Call strdup instead of xstrdup.
	* modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
	* modules/c-strtold (Depends-on): Likewise.
	* doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
	* NEWS: Mention the change.
	Reported by Michael Gold <mgold@ncf.ca>.

2009-01-23  Jim Meyering  <meyering@redhat.com>

	c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
	* lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
	ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.

2009-01-23  Simon Josefsson  <simon@josefsson.org>

	* lib/version-etc.c: Add emit_bug_reporting_address, inspired by
	GNU CoreUtils.
	* lib/version-etc.h: Add prototype for emit_bug_reporting_address.
	* modules/version-etc (Description): Update.

2009-01-22  Bruno Haible  <bruno@clisp.org>

	Cache the C locale object.
	* lib/c-strtod.c (c_locale_cache): New variable.
	(c_locale): New function.
	(C_STRTOD): Use it, and don't call freelocale.
	* m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
	Suggested by Paolo Bonzini.

2009-01-21  Bruno Haible  <bruno@clisp.org>

	* lib/getloadavg.c (getloadavg): Check c_strtod result against error
	conditions other than overflow.

2009-01-21  Bruno Haible  <bruno@clisp.org>

	* lib/c-strtod.c: Include errno.h.
	(C_STRTOD): Check against NULL return from newlocale. Preserve errno
	value from STRTOD_L and STRTOD.

2009-01-21  Bruno Haible  <bruno@clisp.org>
	and Jim Meyering  <meyering@redhat.com>

	nanosleep: skip configure test (fail it) for apple universal builds
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
	universal builds, assume that nanosleep does not work.
	* modules/nanosleep (Depends-on): Add multiarch.

	mktime: skip configure test (fail it) for apple universal builds
	* m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
	universal builds, assume that mktime does not work.
	* modules/mktime (Depends-on): Add multiarch.

2009-01-21  Eric Blake  <ebb9@byu.net>

	multiarch: avoid expand-before-require warning
	* modules/multiarch (configure.ac): Require, rather than expand,
	gl_MULTIARCH.
	* m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
	(gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
	enforce that all clients require it.  Partial reversion of
	2008-12-29 patch.

	error: avoid expand-before-require warning
	* modules/errno (configure.ac): Require, rather than expand,
	gl_HEADER_ERRNO_H.
	* m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
	(gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
	enforce that all clients require it.

	gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
	* gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
	obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
	and rely solely on gl_USE_SYSTEM_EXTENSIONS.

2009-01-21  Paolo Bonzini  <bonzini@gnu.org>

	Revert:
	2009-01-20  Paolo Bonzini  <bonzini@gnu.org>

	regex: do not depend on obsolete modules.
	* modules/regex: Remove memcmp and memmove.

2009-01-20  Bruno Haible  <bruno@clisp.org>

	Make the 'link' module link on Windows NT 4.
	* lib/link.c (_WIN32_WINNT): Don't define.
	(CreateHardLinkFuncType): New type.
	(CreateHardLinkFunc, initialized): New variables.
	(initialize): New function.
	(link): Invoke CreateHardLink indirectly through the function pointer.

2009-01-20  Bruno Haible  <bruno@clisp.org>

	Fix compilation failure on mingw.
	* tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.

2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)

	* doc/c-strtod.texi: Mention a couple of restrictions.

2009-01-20  Jim Meyering  <meyering@redhat.com>

	gettimeofday: move more declarations out of functions
	* lib/gettimeofday.c: Move extern declarations of tzset and
	gmtime out of containing functions.  Prompted by Bruno Haible.

2009-01-20  Paolo Bonzini  <bonzini@gnu.org>

	regex: do not depend on obsolete modules.
	* modules/regex: Remove memcmp and memmove.

2009-01-19  Bruno Haible  <bruno@clisp.org>

	Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
	* modules/uniconv/u16-conv-from-enc (configure.ac): Require
	gl_BIGENDIAN, not AC_C_BIGENDIAN.
	* modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
	* modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.

2009-01-19  Bruno Haible  <bruno@clisp.org>

	* tests/test-link.c: Include <errno.h>.
	(main): Exit with code 77 when a hard link cannot be created due to
	the file system.
	* tests/test-link.sh: Skip test when a hard link cannot be created due
	to the file system.
	Suggested by Eric Blake.

2009-01-19  Martin Lambers  <marlam@marlam.de>

	* modules/link-tests: New file.
	* tests/test-link.sh: New file.
	* tests/test-link.c: New file.

2009-01-19  Eric Blake  <ebb9@byu.net>

	doc: mention another function added in cygwin 1.7.0
	* doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
	Another new function in cygwin 1.7.

2009-01-19  Bruno Haible  <bruno@clisp.org>

	Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
	* m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
	* m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
	gl_BIGENDIAN, not AC_C_BIGENDIAN.
	* m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
	* m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
	* m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
	* m4/md4.m4 (gl_MD4): Likewise.
	* m4/md5.m4 (gl_MD5): Likewise.
	* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
	* m4/sha1.m4 (gl_SHA1): Likewise.
	* m4/sha256.m4 (gl_SHA256): Likewise.
	* m4/sha512.m4 (gl_SHA512): Likewise.

2009-01-19  Bruno Haible  <bruno@clisp.org>

	* modules/uniname/uniname-tests (Depends-on): Add progname.
	* tests/uniname/test-uninames.c: Include progname.h.
	(main): Call set_program_name.

	* modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
	* tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
	(main): Call set_program_name.

	* modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
	* tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
	(main): Call set_program_name.

	* modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
	* tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
	(main): Call set_program_name.

	* modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
	* tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
	(main): Call set_program_name.

	* modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
	* tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
	(main): Call set_program_name.

	* modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
	* tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
	(main): Call set_program_name.

	* modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
	* tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
	(main): Call set_program_name.

	* modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
	* tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
	(main): Call set_program_name.

2009-01-19  Eric Blake  <ebb9@byu.net>

	test-unistd: test previous patch
	* tests/test-unistd.c: Test *_FILENO macros.

	unistd: guarantee STDIN_FILENO here, for OS/2 EMX
	* lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
	Guarantee a definition.
	* doc/posix-headers/unistd.texi (unistd.h): Document the bug.
	* modules/unistd-safer (Depends-on): Add dependency on unistd.
	* lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
	* lib/dup-safer.c (STDERR_FILENO): Likewise.
	* lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
	Likewise.
	* lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
	* lib/fopen-safer.c (STDERR_FILENO): Likewise.
	* lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
	Likewise.
	* lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
	* tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
	(STDERR_FILENO): Likewise.
	* tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
	(STDERR_FILENO): Likewise.
	* tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
	(STDERR_FILENO): Likewise.
	Reported by Elbert Pol.

2009-01-19  Eric Blake  <ebb9@byu.net>

	doc: mention more functions added in cygwin 1.7.0
	* doc/posix-functions/abort.texi (abort): Update wording related
	to cygwin.
	* doc/posix-functions/daylight.texi (daylight): Likewise.
	* doc/posix-functions/optarg.texi (optarg): Likewise.
	* doc/posix-functions/optarg.texi (opterr): Likewise.
	* doc/posix-functions/optarg.texi (optind): Likewise.
	* doc/posix-functions/optarg.texi (optopt): Likewise.
	* doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
	worked in 1.5.x, and was withdrawn in 1.7.
	* doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
	* doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
	cygwin versions.
	* doc/posix-functions/perror.texi (perror): Likewise.
	* doc/posix-functions/printf.texi (printf): Likewise.
	* doc/posix-functions/snprintf.texi (snprintf): Likewise.
	* doc/posix-functions/sprintf.texi (sprintf): Likewise.
	* doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
	* doc/posix-functions/vprintf.texi (vprintf): Likewise.
	* doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
	* doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
	* doc/glibc-functions/obstack_printf.texi (obstack_printf):
	Likewise.
	* doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
	Likewise.
	* doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
	this function.
	* doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
	* doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
	Likewise.
	* doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
	* doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
	* doc/posix-functions/confstr.texi (confstr): Likewise.
	* doc/posix-functions/dprintf.texi (dprintf): Likewise.
	* doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
	* doc/posix-functions/fgetws.texi (fgetws): Likewise.
	* doc/posix-functions/fputwc.texi (fputwc): Likewise.
	* doc/posix-functions/fputws.texi (fputws): Likewise.
	* doc/posix-functions/fwide.texi (fwide): Likewise.
	* doc/posix-functions/getwc.texi (getwc): Likewise.
	* doc/posix-functions/getwchar.texi (getwchar): Likewise.
	* doc/posix-functions/putwc.texi (putwc): Likewise.
	* doc/posix-functions/putwchar.texi (putwchar): Likewise.
	* doc/posix-functions/sigignore.texi (sigignore): Likewise.
	* doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
	* doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
	* doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
	* doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
	* doc/posix-functions/wcstol.texi (wcstol): Likewise.
	* doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
	* doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
	* doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
	* doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.

2009-01-19  Daniel P. Berrange  <berrange@redhat.com>

	ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
	* lib/ioctl.c: Include <sys/ioctl.h>.

2009-01-19  Simon Josefsson  <simon@josefsson.org>

	* modules/getdate-tests (Depends-on): Add progname.
	* tests/test-getdate.c: Use progname module, to avoid link errors
	on non-glibc systems.

2009-01-18  Simon Josefsson  <simon@josefsson.org>

	* modules/filenamecat-tests (Depends-on): Add progname.
	* modules/fstrcmp-tests (Depends-on): Likewise.

	* tests/test-filenamecat.c: Use progname module, to avoid link
	errors on non-glibc systems.
	* tests/test-fstrcmp.c: Likewise.

2009-01-19  Daniel P. Berrange  <berrange@redhat.com>

	gettimeofday: avoid warning: nested extern declaration of 'localtime'
	* lib/gettimeofday.c: Move extern declaration out of function.

2009-01-18  Bruno Haible  <bruno@clisp.org>

	* m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
	* lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
	(MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.

2009-01-18  Bruno Haible  <bruno@clisp.org>

	* lib/strftime.c (MEMPCPY): Remove unused macro.
	* m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.

2009-01-18  Martin Lambers  <marlam@marlam.de>

	New module 'link'.
	* lib/unistd.in.h (link): New declaration.
	* lib/link.c: New file.
	* m4/link.m4: New file.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
	HAVE_LINK.
	* modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
	* modules/link: New file.
	* doc/posix-functions/link.texi: Mention the new module.

2009-01-18  Bruno Haible  <bruno@clisp.org>

	* tests/test-avltree_list.c (main): Call set_program_name.
	* tests/test-avltree_oset.c (main): Likewise.
	* tests/test-obstack-printf.c: Include progname.h.
	(main): Call set_program_name.
	* tests/test-quotearg.c: Include progname.h.
	(main): Call set_program_name.
	* tests/test-xmemdup0.c: Include progname.h.
	(main): Call set_program_name.

2009-01-18  Bruno Haible  <bruno@clisp.org>

	New module 'alphasort'.
	* lib/dirent.in.h (alphasort): New declaration.
	* lib/alphasort.c: New file, from glibc with modifications.
	* m4/alphasort.m4: New file.
	* modules/alphasort: New file.
	* m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
	HAVE_ALPHASORT.
	* modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
	HAVE_ALPHASORT.
	* doc/posix-functions/alphasort.texi: Mention the new module and the
	portability problems.

2009-01-18  Bruno Haible  <bruno@clisp.org>

	New module 'scandir'.
	* lib/dirent.in.h (scandir): New declaration.
	* lib/scandir.c: New file, from glibc with modifications.
	* m4/scandir.m4: New file.
	* modules/scandir: New file.
	* m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
	HAVE_SCANDIR.
	* modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
	HAVE_SCANDIR.
	* doc/posix-functions/scandir.texi: Mention the new module and the
	portability problems.

2009-01-17  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
	Update documentation.
	(func_remove_suffix): Escape all dots in the suffix. Update
	documentation.
	(func_filter_filelist): Update documentation.
	Reported by Ralf Wildenhues.

2009-01-17  Bruno Haible  <bruno@clisp.org>

	* modules/dprintf-posix-tests: New file.
	* tests/test-dprintf-posix.sh: New file.
	* tests/test-dprintf-posix.c: New file.

	New modules 'dprintf', 'dprintf-posix'.
	* lib/stdio.in.h (dprintf): New declaration.
	* lib/dprintf.c: New file.
	* m4/dprintf.m4: New file.
	* m4/dprintf-posix.m4: New file.
	* modules/dprintf: New file.
	* modules/dprintf-posix: New file.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
	HAVE_DPRINTF, REPLACE_DPRINTF.
	* modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
	HAVE_DPRINTF, REPLACE_DPRINTF.
	* doc/posix-functions/dprintf.texi: Mention the new modules.

2009-01-17  Bruno Haible  <bruno@clisp.org>

	* modules/vdprintf-posix-tests: New file.
	* tests/test-vdprintf-posix.sh: New file.
	* tests/test-vdprintf-posix.c: New file.

	New modules 'vdprintf', 'vdprintf-posix'.
	* lib/stdio.in.h (vdprintf): New declaration.
	* lib/vdprintf.c: New file.
	* m4/vdprintf.m4: New file.
	* m4/vdprintf-posix.m4: New file.
	* modules/vdprintf: New file.
	* modules/vdprintf-posix: New file.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
	HAVE_VDPRINTF, REPLACE_VDPRINTF.
	* modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
	HAVE_VDPRINTF, REPLACE_VDPRINTF.
	* doc/posix-functions/vdprintf.texi: Mention the new modules.

2009-01-17  Bruno Haible  <bruno@clisp.org>

	Fix replacement of fopen on mingw.
	* m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
	mingw.

2009-01-17  Bruno Haible  <bruno@clisp.org>

	Fix compilation error on HP-UX 11.00, present since 2008-09-24.
	* lib/fopen.c: Include <sys/types.h> and <sys/types.h>.

2009-01-17  Bruno Haible  <bruno@clisp.org>

	Avoid test-fflush2.sh failure on mingw.
	* tests/test-fflush2.c: Include binary-io.h.
	(main): Put standard input into binary mode.
	* modules/fflush-tests (Depends-on): Add binary-io.

2009-01-17  Bruno Haible  <bruno@clisp.org>

	* lib/wchar.in.h: In another particular situation, include only the
	system's <wchar.h> file.
	(_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
	Reported by Albert Chin-A-Young <china@thewrittenword.com>
	and Thomas Guyot-Sionnest <dermoth@aei.ca>.

2009-01-17  Bruno Haible  <bruno@clisp.org>

	Support for stripping executables in --enable-relocatable.
	* build-aux/install-reloc: Expect one more argument, or an environment
	variable RELOC_STRIP_PROG. If set, strip the destination program and
	its wrapper.
	* m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
	RELOC_STRIP_PROG.
	* doc/relocatable-maint.texi (Supporting Relocation): Mention the need
	to set RELOCATABLE_STRIP.
	* NEWS: Mention the new Makefile requirement.

2009-01-17  Bruno Haible  <bruno@clisp.org>

	* build-aux/install-reloc: Remove debugging information left over by
	C compiler on MacOS X.

2009-01-17  Bruno Haible  <bruno@clisp.org>

	Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
	* lib/progreloc.c (find_executable): Fix type of pointer passed to
	_NSGetExecutablePath.

2009-01-16  Jim Meyering  <meyering@redhat.com>

	strerror: avoid warnings about discarding "const"
	* lib/strerror.c (rpl_strerror): Instead of returning a const
	string from each and every "case", use a variable, and add a single
	cast after the switch.

2009-01-16  Albert Chin-A-Young  <china@thewrittenword.com>

	* lib/arpa_inet.in.h: Add extern "C" block for C++.

2009-01-16  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
	array initializer syntax that also works in C++ mode.
	Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.

2009-01-16  Jim Meyering  <meyering@redhat.com>

	poll: suppress a warning
	* lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
	to ignore "...unsigned expression < 0 is always false" warnings.

2009-01-16  Daniel P. Berrange  <berrange@redhat.com>

	poll: remove declarations of unused variables
	* lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
	sockbuf and optlen.

2009-01-15  Bruno Haible  <bruno@clisp.org>

	Make fflush-after-ungetc POSIX compliant on BSD systems.
	* lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
	(clear_ungetc_buffer): Implement also for other systems.
	(rpl_fflush): On glibc systems, invoke
	clear_ungetc_buffer_preserving_position. Otherwise, invoke
	clear_ungetc_buffer after fetching the stream's position, not before.

2009-01-15  Bruno Haible  <bruno@clisp.org>

	Make fflush-after-ungetc POSIX compliant on glibc systems.
	* m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
	after ungetc.
	* lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
	(rpl_fflush): On glibc systems, simply call the system's fflush
	function after clearing the ungetc buffer.
	* lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
	Instead, lseek only to the end of file, then use the system's fseeko
	for the rest. On glibc systems, reset the EOF indicator bit.

2009-01-15  Jim Meyering  <meyering@redhat.com>

	openmp.m4: revert quote-adding change, for portability to older autoconf
	* m4/openmp.m4: Remove the quotes added on 2009-01-14.
	This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
	Simon Josefsson noticed the problem when using autoconf-2.61.

2009-01-15  Bruno Haible  <bruno@clisp.org>

	* tests/test-fflush2.sh: Invoke test-fflush2 twice.
	* tests/test-fflush2.c (ASSERT): Always fail.
	(main): Add two tests for fflush() after ungetc(), taking into account
	the Austin Group's clarification.
	Suggested by Eric Blake.

2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>

	mktime.m4: remove K&R-style function prototypes
	* m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
	for the Sun C++ compiler.

2009-01-14  Bruno Haible  <bruno@clisp.org>

	* lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
	while including <wchar.h>.
	* lib/wchar.in.h: In two particular situations on HP-UX, include only
	the system's <wchar.h> file.
	Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.

2009-01-14  Bruno Haible  <bruno@clisp.org>

	* m4/csharp.m4: Don't mention gettext on the serial number line.
	* m4/csharpexec.m4: Likewise.
	* m4/eaccess.m4: Likewise.
	* m4/javaexec.m4: Likewise.
	* m4/sig_atomic_t.m4: Likewise.
	* m4/tmpdir.m4: Likewise.
	* m4/intldir.m4: Bump gettext version.
	* m4/lib-ld.m4: Likewise.

2009-01-14  Bruno Haible  <bruno@clisp.org>

	* lib/progname.c (set_program_name): Add more comments.
	Reported by Sergey Poznyakoff <gray@gnu.org.ua>.

2009-01-14  Simon Josefsson  <simon@josefsson.org>

	* lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
	were sys/stat.h does not define it.

2009-01-14  Jim Meyering  <meyering@redhat.com>

	many *.m4 files: improve m4 quoting
	99% of this change was performed by running the following commands:
	git ls-files | grep '\.m4$' | xargs perl -pi \
	  -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
	  -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
	  -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
	  -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
	perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
	The remainder were to add Copyright dates, increment serial numbers,
	undo some changes in comments, exclude m4/intl.m4, and add quotes
	around the "1" in ",1" where the unusual spacing prohibited the
	above regexps from doing the job.  For more details, see
	<http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
	* m4/acl.m4: Modified.
	* m4/afs.m4: Likewise.
	* m4/alloca.m4: Likewise.
	* m4/argp.m4: Likewise.
	* m4/argz.m4: Likewise.
	* m4/atexit.m4: Likewise.
	* m4/bison-i18n.m4: Likewise.
	* m4/bison.m4: Likewise.
	* m4/byteswap.m4: Likewise.
	* m4/c-stack.m4: Likewise.
	* m4/c-strtod.m4: Likewise.
	* m4/calloc.m4: Likewise.
	* m4/canonicalize-lgpl.m4: Likewise.
	* m4/chown.m4: Likewise.
	* m4/clock_time.m4: Likewise.
	* m4/codeset.m4: Likewise.
	* m4/copy-file.m4: Likewise.
	* m4/csharp.m4: Likewise.
	* m4/csharpcomp.m4: Likewise.
	* m4/csharpexec.m4: Likewise.
	* m4/d-ino.m4: Likewise.
	* m4/d-type.m4: Likewise.
	* m4/dirfd.m4: Likewise.
	* m4/double-slash-root.m4: Likewise.
	* m4/eaccess.m4: Likewise.
	* m4/eealloc.m4: Likewise.
	* m4/environ.m4: Likewise.
	* m4/errno_h.m4: Likewise.
	* m4/euidaccess.m4: Likewise.
	* m4/execute.m4: Likewise.
	* m4/fatal-signal.m4: Likewise.
	* m4/fchdir.m4: Likewise.
	* m4/fcntl_h.m4: Likewise.
	* m4/fileblocks.m4: Likewise.
	* m4/filenamecat.m4: Likewise.
	* m4/findprog.m4: Likewise.
	* m4/flexmember.m4: Likewise.
	* m4/fnmatch.m4: Likewise.
	* m4/fopen.m4: Likewise.
	* m4/fpending.m4: Likewise.
	* m4/fprintf-posix.m4: Likewise.
	* m4/free.m4: Likewise.
	* m4/frexp.m4: Likewise.
	* m4/frexpl.m4: Likewise.
	* m4/fsusage.m4: Likewise.
	* m4/ftruncate.m4: Likewise.
	* m4/gc-camellia.m4: Likewise.
	* m4/gc-random.m4: Likewise.
	* m4/gc.m4: Likewise.
	* m4/getaddrinfo.m4: Likewise.
	* m4/getcwd-abort-bug.m4: Likewise.
	* m4/getcwd-path-max.m4: Likewise.
	* m4/getdate.m4: Likewise.
	* m4/getdomainname.m4: Likewise.
	* m4/getgroups.m4: Likewise.
	* m4/gethostname.m4: Likewise.
	* m4/gethrxtime.m4: Likewise.
	* m4/getline.m4: Likewise.
	* m4/getloadavg.m4: Likewise.
	* m4/getndelim2.m4: Likewise.
	* m4/getpass.m4: Likewise.
	* m4/gettext.m4: Likewise.
	* m4/gettime.m4: Likewise.
	* m4/gettimeofday.m4: Likewise.
	* m4/gnulib-common.m4: Likewise.
	* m4/group-member.m4: Likewise.
	* m4/host-os.m4: Likewise.
	* m4/iconv.m4: Likewise.
	* m4/iconv_open.m4: Likewise.
	* m4/inet_ntop.m4: Likewise.
	* m4/inet_pton.m4: Likewise.
	* m4/inline.m4: Likewise.
	* m4/intldir.m4: Likewise.
	* m4/intlmacosx.m4: Likewise.
	* m4/intmax.m4: Likewise.
	* m4/intmax_t.m4: Likewise.
	* m4/inttypes.m4: Likewise.
	* m4/inttypes_h.m4: Likewise.
	* m4/inttypes-pri.m4: Likewise.
	* m4/isapipe.m4: Likewise.
	* m4/isnand.m4: Likewise.
	* m4/isnanf.m4: Likewise.
	* m4/isnanl.m4: Likewise.
	* m4/javacomp.m4: Likewise.
	* m4/javaexec.m4: Likewise.
	* m4/jm-winsz1.m4: Likewise.
	* m4/jm-winsz2.m4: Likewise.
	* m4/lchown.m4: Likewise.
	* m4/lcmessage.m4: Likewise.
	* m4/ldexpl.m4: Likewise.
	* m4/lib-ld.m4: Likewise.
	* m4/lib-link.m4: Likewise.
	* m4/libsigsegv.m4: Likewise.
	* m4/link-follow.m4: Likewise.
	* m4/localcharset.m4: Likewise.
	* m4/locale-fr.m4: Likewise.
	* m4/locale-ja.m4: Likewise.
	* m4/locale-tr.m4: Likewise.
	* m4/locale-zh.m4: Likewise.
	* m4/lock.m4: Likewise.
	* m4/longlong.m4: Likewise.
	* m4/ls-mntd-fs.m4: Likewise.
	* m4/lstat.m4: Likewise.
	* m4/malloc.m4: Likewise.
	* m4/mathl.m4: Likewise.
	* m4/mbrtowc.m4: Likewise.
	* m4/mbstate_t.m4: Likewise.
	* m4/mbswidth.m4: Likewise.
	* m4/memchr.m4: Likewise.
	* m4/memcmp.m4: Likewise.
	* m4/memcpy.m4: Likewise.
	* m4/memmem.m4: Likewise.
	* m4/memmove.m4: Likewise.
	* m4/mempcpy.m4: Likewise.
	* m4/memrchr.m4: Likewise.
	* m4/memset.m4: Likewise.
	* m4/minmax.m4: Likewise.
	* m4/mkdir-slash.m4: Likewise.
	* m4/mkdtemp.m4: Likewise.
	* m4/mktime.m4: Likewise.
	* m4/mmap-anon.m4: Likewise.
	* m4/mountlist.m4: Likewise.
	* m4/nanosleep.m4: Likewise.
	* m4/nls.m4: Likewise.
	* m4/nocrash.m4: Likewise.
	* m4/open.m4: Likewise.
	* m4/openat.m4: Likewise.
	* m4/openmp.m4: Likewise.
	* m4/pathmax.m4: Likewise.
	* m4/perl.m4: Likewise.
	* m4/physmem.m4: Likewise.
	* m4/pipe.m4: Likewise.
	* m4/po.m4: Likewise.
	* m4/poll.m4: Likewise.
	* m4/posixtm.m4: Likewise.
	* m4/posixver.m4: Likewise.
	* m4/printf-frexp.m4: Likewise.
	* m4/printf-frexpl.m4: Likewise.
	* m4/printf-posix.m4: Likewise.
	* m4/printf-posix-rpl.m4: Likewise.
	* m4/printf.m4: Likewise.
	* m4/progtest.m4: Likewise.
	* m4/putenv.m4: Likewise.
	* m4/readline.m4: Likewise.
	* m4/readlink.m4: Likewise.
	* m4/readutmp.m4: Likewise.
	* m4/realloc.m4: Likewise.
	* m4/regex.m4: Likewise.
	* m4/relocatable.m4: Likewise.
	* m4/relocatable-lib.m4: Likewise.
	* m4/rename-dest-slash.m4: Likewise.
	* m4/rename.m4: Likewise.
	* m4/rmdir-errno.m4: Likewise.
	* m4/rmdir.m4: Likewise.
	* m4/roundf.m4: Likewise.
	* m4/roundl.m4: Likewise.
	* m4/rpmatch.m4: Likewise.
	* m4/save-cwd.m4: Likewise.
	* m4/selinux-selinux-h.m4: Likewise.
	* m4/setenv.m4: Likewise.
	* m4/settime.m4: Likewise.
	* m4/sig2str.m4: Likewise.
	* m4/sig_atomic_t.m4: Likewise.
	* m4/signalblocking.m4: Likewise.
	* m4/signbit.m4: Likewise.
	* m4/sigpipe.m4: Likewise.
	* m4/sockets.m4: Likewise.
	* m4/sockpfaf.m4: Likewise.
	* m4/st_dm_mode.m4: Likewise.
	* m4/stat-time.m4: Likewise.
	* m4/stdbool.m4: Likewise.
	* m4/stdint.m4: Likewise.
	* m4/stdint_h.m4: Likewise.
	* m4/stpcpy.m4: Likewise.
	* m4/stpncpy.m4: Likewise.
	* m4/strcase.m4: Likewise.
	* m4/strchrnul.m4: Likewise.
	* m4/strcspn.m4: Likewise.
	* m4/strdup.m4: Likewise.
	* m4/strftime.m4: Likewise.
	* m4/strndup.m4: Likewise.
	* m4/strnlen.m4: Likewise.
	* m4/strpbrk.m4: Likewise.
	* m4/strptime.m4: Likewise.
	* m4/strsep.m4: Likewise.
	* m4/strtod.m4: Likewise.
	* m4/strtoimax.m4: Likewise.
	* m4/strtok_r.m4: Likewise.
	* m4/strtol.m4: Likewise.
	* m4/strtoll.m4: Likewise.
	* m4/strtoul.m4: Likewise.
	* m4/strtoull.m4: Likewise.
	* m4/strtoumax.m4: Likewise.
	* m4/strverscmp.m4: Likewise.
	* m4/threadlib.m4: Likewise.
	* m4/timegm.m4: Likewise.
	* m4/tm_gmtoff.m4: Likewise.
	* m4/tmpdir.m4: Likewise.
	* m4/tmpfile.m4: Likewise.
	* m4/tzset.m4: Likewise.
	* m4/uintmax_t.m4: Likewise.
	* m4/unlinkdir.m4: Likewise.
	* m4/unlocked-io.m4: Likewise.
	* m4/uptime.m4: Likewise.
	* m4/userspec.m4: Likewise.
	* m4/utimbuf.m4: Likewise.
	* m4/utime.m4: Likewise.
	* m4/utimes-null.m4: Likewise.
	* m4/utimes.m4: Likewise.
	* m4/vararrays.m4: Likewise.
	* m4/vasnprintf.m4: Likewise.
	* m4/vfprintf-posix.m4: Likewise.
	* m4/vprintf-posix.m4: Likewise.
	* m4/wait-process.m4: Likewise.
	* m4/wchar_t.m4: Likewise.
	* m4/wint_t.m4: Likewise.
	* m4/write-any-file.m4: Likewise.
	* m4/yield.m4: Likewise.

2009-01-13  Bruno Haible  <bruno@clisp.org>

	Avoid test-copy-file.sh failures when ACL support insufficient.
	* modules/copy-file-tests (Makefile.am): Pass USE_ACL in
	TESTS_ENVIRONMENT.
	* tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
	Reported by Jim Meyering.

2009-01-13  Bruno Haible  <bruno@clisp.org>

	* modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
	m4/inttypes_h.m4, needed by m4/intmax_t.m4.
	* modules/unistdio/u8-printf-parse (Files): Likewise.
	* modules/unistdio/u32-printf-parse (Files): Likewise.
	* modules/unistdio/ulc-printf-parse (Files): Likewise.

2009-01-13  Simon Josefsson  <simon@josefsson.org>

	* modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
	and m4/inttypes_h.m4 too.

2009-01-12  Eric Blake  <ebb9@byu.net>

	tests: IRIX 6.2 cc can't compile -0.0 into .data
	* tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
	rather than at compile-time.
	* tests/test-floorl.c (minus_zero): Likewise.
	* tests/test-frexpl.c (minus_zero): Likewise.
	* tests/test-isnan.c (minus_zerol): Likewise.
	* tests/test-isnanl.h (minus_zero): Likewise.
	* tests/test-ldexpl.c (minus_zero): Likewise.
	* tests/test-roundl.c (minus_zero): Likewise.
	* tests/test-signbit.c (minus_zerol): Likewise.
	* tests/test-snprintf-posix.h (minus_zerol): Likewise.
	* tests/test-sprintf-posix.h (minus_zerol): Likewise.
	* tests/test-truncl.c (minus_zero): Likewise.
	* tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
	* tests/test-vasprintf-posix.c (minus_zerol): Likewise.
	Reported by Tom G. Christensen and Nelson H. F. Beebe.

2009-01-09  Paolo Bonzini  <bonzini@gnu.org>

	regex: fix glibc bug 9697
	* lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
	handling.

2009-01-09  Paolo Bonzini  <bonzini@gnu.org>

	regex: fix glibc bug 697
	* lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
	being NULL also if there are no backreferences.

2009-01-09  Paolo Bonzini  <bonzini@gnu.org>

	regex: merge glibc changes
	* lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
	* lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
	re_string_skip_chars, re_string_reconstruct): Likewise.
	* lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.

2009-01-07  Jim Meyering  <meyering@redhat.com>

	poll: filter through cppi
	* lib/poll.c: Indent cpp directives to reflect nesting.

2009-01-07  Daniel P. Berrange  <berrange@redhat.com>

	poll: don't return uninitialized
	* lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".

2009-01-06  Jeremy Olexa  <darkside@gentoo.org>  (tiny change)

	avoid compile failure on AIX 6.1
	* lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
	Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465

2009-01-04  Jim Meyering  <meyering@redhat.com>

	remove duplicate inclusion of <stdio.h>
	* tests/test-fprintf-posix.c: Likewise.
	* tests/test-printf-posix.c: Likewise.
	* tests/test-snprintf-posix.c: Likewise.
	* tests/test-sprintf-posix.c: Likewise.
	* tests/test-vasprintf-posix.c: Likewise.
	* tests/test-vfprintf-posix.c: Likewise.
	* tests/test-vprintf-posix.c: Likewise.
	* tests/test-vsnprintf-posix.c: Likewise.
	* tests/test-vsprintf-posix.c: Likewise.

2009-01-03  Jim Meyering  <meyering@redhat.com>

	gnulib-tool: fix sed-based filtering
	* gnulib-tool (func_filter_filelist): Remove extra backslash
	in sed_fff_filter definition.

2009-01-02  Jim Meyering  <meyering@redhat.com>

	strftime: avoid compilation failure on Solaris 2.6
	* modules/strftime (Depends-on): Add mbrlen and mbsinit.
	* lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
	Don't #define mbrlen or mbsinit, since now they're guaranteed to
	be available.  Reported by Tom G. Christensen.  Details in
	<http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.

2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	    Bruno Haible  <bruno@clisp.org>

	Speed up gnulib-tool by doing more string processing through shell
	built-ins.
	* gnulib-tool (fast_func_append): New variable.
	(func_remove_prefix, func_remove_suffix): New functions.
	(fast_func_remove_prefix, fast_func_remove_suffix): New variables.
	(func_filter_filelist): New function.
	(func_get_dependencies): Use func_remove_suffix instead of sed.
	(func_get_automake_snippet): Use func_filter_filelist instead of a
	subshell and sed invocation.

2009-01-01  Bruno Haible  <bruno@clisp.org>

	Fix a security bug.
	* gnulib-tool (func_import, import, update): Don't allow the characters
	'"', '$', '`', '\' in macro arguments that become part of commands that
	are evaluated.

2009-01-01  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_reset_sigpipe): Add more comments.

2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
	func_emit_tests_Makefile_am, func_import): Abort loops early if we
	already know the answer.

2009-01-01  Jim Meyering  <meyering@redhat.com>

	* lib/version-etc.c (version_etc_va): Update copyright year.

2008-12-30  Bruno Haible  <bruno@clisp.org>

	* m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
	LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
	Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.

2008-12-29  Eric Blake  <ebb9@byu.net>

	multiarch: avoid autoconf AC_REQUIRE bug
	* m4/multiarch.m4 (gl_MULTIARCH): Split body...
	(gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
	2.63 and older.
	Reported by Bruno Haible, and analyzed in
	http://lists.gnu.org/r/bug-autoconf/2008-12/msg00039.html

2008-12-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): When generating sed-ignore-removed, handle
	files in subdirectories correctly.
	Reported by Ralf Wildenhues.

2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_update_ignorelist): Use 'join - FILE'
	rather than 'join FILE -', for Solaris join.

2008-12-29  Bruno Haible  <bruno@clisp.org>

	* m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
	quoting.
	* m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
	* m4/glibc2.m4 (gt_GLIBC2): Likewise.
	* m4/glibc21.m4 (gl_GLIBC21): Likewise.
	* m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
	* m4/intdiv0.m4 (gt_INTDIV0): Likewise.
	* m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
	* m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
	* m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
	* m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
	* m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
	* m4/nls.m4 (AM_NLS): Likewise.
	* m4/po.m4 (AM_PO_SUBDIRS): Likewise.
	* m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
	* m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
	* m4/size_max.m4 (gl_SIZE_MAX): Likewise.
	* m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
	* m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
	* m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
	* m4/visibility.m4 (gl_VISIBILITY): Likewise.
	* m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
	* m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
	* m4/xsize.m4 (gl_XSIZE): Likewise.
	Suggested by Jim Meyering.

2008-11-17  Bruce Korb  <bkorb@gnu.org>

	* lib/parse-duration.h: non-iso form accepts years, months weeks, too
	* lib/parse-duration.c: use a switch instead of cascading if's.

2008-12-29  Eric Blake  <ebb9@byu.net>

	wchar.h: supply WEOF on Irix 5.3
	* lib/wchar.in.h (wint_t): Also supply WEOF.
	* lib/wctype.in.h (wint_t): Likewise.
	* doc/posix-headers/wchar.texi (wchar.h): Document the bug.
	* doc/posix-headers/wctype.texi (wctype.h): Likewise.
	Reported by Tom G. Christensen.

2008-12-26  Bruno Haible  <bruno@clisp.org>

	* m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
	i486, i586, i686.

2008-12-26  Bruno Haible  <bruno@clisp.org>

	* lib/stdlib.in.h (struct random_data): Fix indentation of comments.

2008-12-26  Bruno Haible  <bruno@clisp.org>

	* lib/stdint.in.h: Move the include of <wchar.h> down until after all
	the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
	not __STDC_CONSTANT_MACROS.
	Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.

2008-12-25  Bruno Haible  <bruno@clisp.org>

	Add support for universal builds to vasnprintf.
	* m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
	universal builds, guess no.
	* modules/vasnprintf-posix (Depends-on): Add multiarch.
	* modules/vasprintf-posix (Depends-on): Likewise.
	* modules/fprintf-posix (Depends-on): Likewise.
	* modules/vfprintf-posix (Depends-on): Likewise.
	* modules/snprintf-posix (Depends-on): Likewise.
	* modules/vsnprintf-posix (Depends-on): Likewise.
	* modules/sprintf-posix (Depends-on): Likewise.
	* modules/vsprintf-posix (Depends-on): Likewise.
	* modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.

	Add support for universal builds to <inttypes.h>.
	* lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
	_SCNu64_PREFIX): In Apple
	universal builds, define directly, using _LP64.
	* m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
	INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
	* modules/inttypes (Depends-on): Add multiarch.
	(Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.

	Add support for universal builds to <stdint.h>.
	* lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
	universal builds, define directly, using _LP64.
	* m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
	Apple universal builds, don't test for the size and suffix of ptrdiff_t
	and size_t.
	* modules/stdint (Depends-on): Add multiarch.
	(Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.

	New module 'multiarch'.
	* modules/multiarch: New file.
	* m4/multiarch.m4: New file.

2008-12-25  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Avoid failure of mv command.

2008-12-25  Bruno Haible  <bruno@clisp.org>

	* modules/btowc (License): Relicense under LGPLv2+.
	* modules/mbsinit (License): Likewise.
	* modules/mbrtowc (License): Likewise.
	* modules/wcrtomb (License): Likewise.
	* modules/streq (License): Likewise.
	Reported by David Lutterkort <lutter@redhat.com>.

2008-12-23  Bruno Haible  <bruno@clisp.org>

	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.

2008-12-23  Bruno Haible  <bruno@clisp.org>

	Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
	GETADDRINFO_LIB, not in LIBS.
	* modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
	* modules/canon-host (Link): Likewise.
	* NEWS: Mention the change.
	* modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
	GETADDRINFO_LIB.

2008-12-22  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
	* doc/posix-functions/iswalpha_l.texi: Likewise.
	* doc/posix-functions/iswblank_l.texi: Likewise.
	* doc/posix-functions/iswcntrl_l.texi: Likewise.
	* doc/posix-functions/iswctype_l.texi: Likewise.
	* doc/posix-functions/iswdigit_l.texi: Likewise.
	* doc/posix-functions/iswgraph_l.texi: Likewise.
	* doc/posix-functions/iswlower_l.texi: Likewise.
	* doc/posix-functions/iswprint_l.texi: Likewise.
	* doc/posix-functions/iswpunct_l.texi: Likewise.
	* doc/posix-functions/iswspace_l.texi: Likewise.
	* doc/posix-functions/iswupper_l.texi: Likewise.
	* doc/posix-functions/iswxdigit_l.texi: Likewise.
	* doc/posix-functions/mbsnrtowcs.texi: Likewise.
	* doc/posix-functions/open_wmemstream.texi: Likewise.
	* doc/posix-functions/swscanf.texi: Likewise.
	* doc/posix-functions/towctrans_l.texi: Likewise.
	* doc/posix-functions/towlower.texi: Likewise.
	* doc/posix-functions/towlower_l.texi: Likewise.
	* doc/posix-functions/towupper.texi: Likewise.
	* doc/posix-functions/towupper_l.texi: Likewise.
	* doc/posix-functions/vfwprintf.texi: Likewise.
	* doc/posix-functions/vfwscanf.texi: Likewise.
	* doc/posix-functions/vswscanf.texi: Likewise.
	* doc/posix-functions/vwprintf.texi: Likewise.
	* doc/posix-functions/vwscanf.texi: Likewise.
	* doc/posix-functions/wcpcpy.texi: Likewise.
	* doc/posix-functions/wcpncpy.texi: Likewise.
	* doc/posix-functions/wcscasecmp.texi: Likewise.
	* doc/posix-functions/wcscasecmp_l.texi: Likewise.
	* doc/posix-functions/wcscoll_l.texi: Likewise.
	* doc/posix-functions/wcsdup.texi: Likewise.
	* doc/posix-functions/wcsncasecmp.texi: Likewise.
	* doc/posix-functions/wcsncasecmp_l.texi: Likewise.
	* doc/posix-functions/wcsnlen.texi: Likewise.
	* doc/posix-functions/wcsnrtombs.texi: Likewise.
	* doc/posix-functions/wcsxfrm_l.texi: Likewise.
	* doc/posix-functions/wctrans_l.texi: Likewise.
	* doc/posix-functions/wctype_l.texi: Likewise.
	* doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
	* doc/glibc-functions/fgetws_unlocked.texi: Likewise.
	* doc/glibc-functions/fputwc_unlocked.texi: Likewise.
	* doc/glibc-functions/fputws_unlocked.texi: Likewise.
	* doc/glibc-functions/getwc_unlocked.texi: Likewise.
	* doc/glibc-functions/getwchar_unlocked.texi: Likewise.
	* doc/glibc-functions/putwc_unlocked.texi: Likewise.
	* doc/glibc-functions/putwchar_unlocked.texi: Likewise.
	* doc/glibc-functions/wcschrnul.texi: Likewise.
	* doc/glibc-functions/wcsftime_l.texi: Likewise.
	* doc/glibc-functions/wcstod_l.texi: Likewise.
	* doc/glibc-functions/wcstof_l.texi: Likewise.
	* doc/glibc-functions/wcstol_l.texi: Likewise.
	* doc/glibc-functions/wcstold_l.texi: Likewise.
	* doc/glibc-functions/wcstoll_l.texi: Likewise.
	* doc/glibc-functions/wcstoq.texi: Likewise.
	* doc/glibc-functions/wcstoul_l.texi: Likewise.
	* doc/glibc-functions/wcstoull_l.texi: Likewise.
	* doc/glibc-functions/wcstouq.texi: Likewise.
	* doc/glibc-functions/wmempcpy.texi: Likewise.

2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
	    Eric Blake  <ebb9@byu.net>
	    Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	Make c-stack work on Haiku.
	* lib/c-stack.c (SA_ONSTACK): Define fallback.
	(c_stack_action): Use SA_ONSTACK flag.

2008-12-22  Bruno Haible  <bruno@clisp.org>

	* m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.

2008-12-22  Bruno Haible  <bruno@clisp.org>

	Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
	* m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
	being overridden.
	(gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
	New macros.
	* lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
	* modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
	* doc/posix-functions/mbrlen.texi: Mention the various platform bugs.

2008-12-22  Bruno Haible  <bruno@clisp.org>

	* m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
	from test code.

2008-12-22  Eric Blake  <ebb9@byu.net>

	Avoid gcc warnings on cygwin.
	* lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
	Avoid unused variable.
	* lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
	Likewise.

2008-12-22  Bruno Haible  <bruno@clisp.org>

	Remove HAVE_MBRTOWC conditionals.
	* lib/mbscasecmp.c: Include mbuiter.h unconditionally.
	(mbscasecmp): Assume mbrtowc function.
	* lib/mbscasestr.c: Include mbuiter.h unconditionally.
	(knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
	* lib/mbschr.c: Include mbuiter.h unconditionally.
	(mbschr): Assume mbrtowc function.
	* lib/mbscspn.c: Include mbuiter.h unconditionally.
	(mbscspn): Assume mbrtowc function.
	* lib/mbslen.c: Include mbuiter.h unconditionally.
	(mbslen): Assume mbrtowc function.
	* lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
	(mbsncasecmp): Assume mbrtowc function.
	* lib/mbsnlen.c: Include mbiter.h unconditionally.
	(mbsnlen): Assume mbrtowc function.
	* lib/mbspbrk.c: Include mbuiter.h unconditionally.
	(mbspbrk): Assume mbrtowc function.
	* lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
	(mbspcasecmp): Assume mbrtowc function.
	* lib/mbsrchr.c: Include mbuiter.h unconditionally.
	(mbsrchr): Assume mbrtowc function.
	* lib/mbssep.c: Include mbuiter.h unconditionally.
	(mbssep): Assume mbrtowc function.
	* lib/mbsspn.c: Include mbuiter.h unconditionally.
	(mbsspn): Assume mbrtowc function.
	* lib/mbsstr.c: Include mbuiter.h unconditionally.
	(knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
	* lib/mbstok_r.c: Include mbuiter.h unconditionally.
	(mbstok_r): Assume mbrtowc function.
	* lib/propername.c: Include mbuiter.h unconditionally.
	(mbsstr_trimmed_wordbounded): Assume mbrtowc function.
	* lib/trim.c: Include mbchar.h, mbiter.h unconditionally.
	(trim2): Assume mbrtowc function.
	* lib/mbswidth.c (mbsinit): Remove fallback definition.
	(mbsnwidth): Assume mbrtowc function.
	* modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
	* lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
	fallback definitions.
	* modules/quotearg (Depends-on): Add mbrtowc, mbsinit.

2008-12-22  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/mbtowc.texi: Mention a glibc bug.

2008-12-22  Paolo Bonzini  <bonzini@gnu.org>

	* modules/regex: Request emulations for the mb*/wc* functions we need.
	* m4/regex.m4: Don't look for those functions here.
	* lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.

2008-12-22  Bruno Haible  <bruno@clisp.org>

	* modules/fnmatch (Depends-on): Remove duplicated dependency.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
	* modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
	(Include): Remove conditionalization.
	* modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
	(Include): Remove conditionalization.
	* modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
	(Include): Remove conditionalization.
	* m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
	* m4/mbfile.m4 (gl_MBFILE): Likewise.
	* NEWS: Mention the change.
	Reported by Alan Hourihane <alanh@fairlite.co.uk>
	via Sergey Poznyakoff <gray@gnu.org.ua>.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (Extended multibyte and wide character utilities
	<wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
	wcrtomb, wcsrtombs.
	(Support for systems lacking POSIX:2008): Add accept, bind, close,
	connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
	mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
	setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh: Change section titles to refer to POSIX:2008.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	* modules/wcsnrtombs-tests: New file.
	* tests/test-wcsnrtombs1.sh: New file.
	* tests/test-wcsnrtombs2.sh: New file.
	* tests/test-wcsnrtombs3.sh: New file.
	* tests/test-wcsnrtombs4.sh: New file.
	* tests/test-wcsnrtombs.c: New file.

	New module 'wcsnrtombs'.
	* lib/wchar.in.h (wcsnrtombs): New declaration.
	* lib/wcsnrtombs.c: New file.
	* lib/wcsrtombs-state.c: New file.
	* lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
	(internal_state): Remove variable.
	* m4/wcsnrtombs.m4: New file.
	* m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
	compilation units.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
	HAVE_WCSNRTOMBS.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
	HAVE_WCSNRTOMBS.
	* modules/wcsnrtombs: New file.
	* modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
	* doc/posix-functions/wcsnrtombs.texi: Mention the new module.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	* modules/wcsrtombs-tests: New file.
	* tests/test-wcsrtombs1.sh: New file.
	* tests/test-wcsrtombs2.sh: New file.
	* tests/test-wcsrtombs3.sh: New file.
	* tests/test-wcsrtombs4.sh: New file.
	* tests/test-wcsrtombs.c: New file.

	New module 'wcsrtombs'.
	* lib/wchar.in.h (wcsrtombs): New declaration.
	* lib/wcsrtombs.c: New file.
	* m4/wcsrtombs.m4: New file.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
	HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
	HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
	* modules/wcsrtombs: New file.
	* doc/posix-functions/wcsrtombs.texi: Mention the new module and the
	bugs.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
	* lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
	* m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
	with NULL destination argument in various locales. Set REPLACE_WCRTOMB
	if not correct.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
	* modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
	* modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
	m4/locale-zh.m4, m4/codeset.m4.
	* doc/posix-functions/wcrtomb.texi: Document the bug.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	Work around a btowc() bug on IRIX 6.5.
	* lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
	* m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
	REPLACE_WTOBC if not.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
	* modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
	* doc/posix-functions/btowc.texi: Mention the IRIX bug.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	* modules/wcrtomb-tests: New file.
	* tests/test-wcrtomb.sh: New file.
	* tests/test-wcrtomb.c: New file.

	New module 'wcrtomb'.
	* lib/wchar.in.h (wcrtomb): New declaration.
	* lib/wcrtomb.c: New file.
	* m4/wcrtomb.m4: New file.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
	HAVE_WCRTOMB.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
	HAVE_WCRTOMB.
	* modules/wcrtomb: New file.
	* doc/posix-functions/wcrtomb.texi: Mention the new module.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	* modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
	* modules/mbsrtowcs (Files): Likewise.
	* modules/wctob (Files): Likewise.
	* modules/c-strcase-tests (Files): Likewise.
	* modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
	* modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
	* modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
	* modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
	* modules/vasnprintf-posix-tests (Files): Likewise.

2008-12-21  William Pursell  <bill.pursell@gmail.com>

	gitlog-to-changelog: pass all command-line arguments to git-log
	* build-aux/gitlog-to-changelog: When producing a ChangeLog,
	it is sometimes convenient to filter the commits in various ways.
	gitlog-to-changelog only allows --since to specify a start date,
	but git-log itself supports many other filtering mechanisms.
	At the moment, I want to filter by branch name.  Rather than
	adding a --branch option to gitlog-to-changelog, it seems more
	flexible to simply pass all options directly to git-log and let
	git do the work.  Notice that this effectively makes --since a
	redundant option for gitlog-to-changelog, but removing it would
	require current usage to change since calls would then require
	an additional '--'.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	* modules/mbsnrtowcs-tests: New file.
	* tests/test-mbsnrtowcs1.sh: New file.
	* tests/test-mbsnrtowcs2.sh: New file.
	* tests/test-mbsnrtowcs3.sh: New file.
	* tests/test-mbsnrtowcs4.sh: New file.
	* tests/test-mbsnrtowcs.c: New file.

	New module 'mbsnrtowcs'.
	* lib/wchar.in.h (mbsnrtowcs): New declaration.
	* lib/mbsnrtowcs.c: New file.
	* lib/mbsrtowcs-state.c: New file.
	* lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
	(internal_state): Remove variable.
	* m4/mbsnrtowcs.m4: New file.
	* m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
	compilation units.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
	HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
	* modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
	HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
	* modules/mbsnrtowcs: New file.
	* modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
	* doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
	portability problem.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	Work around mbsrtowcs bug.
	* m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
	(gl_FUNC_MBSRTOWCS): Invoke it.
	* modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
	m4/locale-zh.m4.
	* doc/posix-functions/mbsrtowcs.texi: Document the bug.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	* tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	Update doc for AIX.
	* doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
	16-bit wchar_t type.
	* doc/posix-functions/btowc.texi: Likewise.
	* doc/posix-functions/fgetwc.texi: Likewise.
	* doc/posix-functions/fgetws.texi: Likewise.
	* doc/posix-functions/fputwc.texi: Likewise.
	* doc/posix-functions/fputws.texi: Likewise.
	* doc/posix-functions/fwide.texi: Likewise.
	* doc/posix-functions/fwprintf.texi: Likewise.
	* doc/posix-functions/fwscanf.texi: Likewise.
	* doc/posix-functions/getwchar.texi: Likewise.
	* doc/posix-functions/getwc.texi: Likewise.
	* doc/posix-functions/iswalnum.texi: Likewise.
	* doc/posix-functions/iswalpha.texi: Likewise.
	* doc/posix-functions/iswblank.texi: Likewise.
	* doc/posix-functions/iswcntrl.texi: Likewise.
	* doc/posix-functions/iswctype.texi: Likewise.
	* doc/posix-functions/iswdigit.texi: Likewise.
	* doc/posix-functions/iswgraph.texi: Likewise.
	* doc/posix-functions/iswlower.texi: Likewise.
	* doc/posix-functions/iswprint.texi: Likewise.
	* doc/posix-functions/iswpunct.texi: Likewise.
	* doc/posix-functions/iswspace.texi: Likewise.
	* doc/posix-functions/iswupper.texi: Likewise.
	* doc/posix-functions/iswxdigit.texi: Likewise.
	* doc/posix-functions/mbrtowc.texi: Likewise.
	* doc/posix-functions/mbsrtowcs.texi: Likewise.
	* doc/posix-functions/mbstowcs.texi: Likewise.
	* doc/posix-functions/mbtowc.texi: Likewise.
	* doc/posix-functions/putwchar.texi: Likewise.
	* doc/posix-functions/putwc.texi: Likewise.
	* doc/posix-functions/swprintf.texi: Likewise.
	* doc/posix-functions/tolower.texi: Likewise.
	* doc/posix-functions/toupper.texi: Likewise.
	* doc/posix-functions/towctrans.texi: Likewise.
	* doc/posix-functions/ungetwc.texi: Likewise.
	* doc/posix-functions/vswprintf.texi: Likewise.
	* doc/posix-functions/wcrtomb.texi: Likewise.
	* doc/posix-functions/wcscat.texi: Likewise.
	* doc/posix-functions/wcschr.texi: Likewise.
	* doc/posix-functions/wcscmp.texi: Likewise.
	* doc/posix-functions/wcscoll.texi: Likewise.
	* doc/posix-functions/wcscpy.texi: Likewise.
	* doc/posix-functions/wcscspn.texi: Likewise.
	* doc/posix-functions/wcsftime.texi: Likewise.
	* doc/posix-functions/wcslen.texi: Likewise.
	* doc/posix-functions/wcsncat.texi: Likewise.
	* doc/posix-functions/wcsncmp.texi: Likewise.
	* doc/posix-functions/wcsncpy.texi: Likewise.
	* doc/posix-functions/wcspbrk.texi: Likewise.
	* doc/posix-functions/wcsrchr.texi: Likewise.
	* doc/posix-functions/wcsrtombs.texi: Likewise.
	* doc/posix-functions/wcsspn.texi: Likewise.
	* doc/posix-functions/wcsstr.texi: Likewise.
	* doc/posix-functions/wcstod.texi: Likewise.
	* doc/posix-functions/wcstof.texi: Likewise.
	* doc/posix-functions/wcstoimax.texi: Likewise.
	* doc/posix-functions/wcstok.texi: Likewise.
	* doc/posix-functions/wcstold.texi: Likewise.
	* doc/posix-functions/wcstoll.texi: Likewise.
	* doc/posix-functions/wcstol.texi: Likewise.
	* doc/posix-functions/wcstombs.texi: Likewise.
	* doc/posix-functions/wcstoull.texi: Likewise.
	* doc/posix-functions/wcstoul.texi: Likewise.
	* doc/posix-functions/wcstoumax.texi: Likewise.
	* doc/posix-functions/wcswidth.texi: Likewise.
	* doc/posix-functions/wcsxfrm.texi: Likewise.
	* doc/posix-functions/wctob.texi: Likewise.
	* doc/posix-functions/wctomb.texi: Likewise.
	* doc/posix-functions/wctrans.texi: Likewise.
	* doc/posix-functions/wctype.texi: Likewise.
	* doc/posix-functions/wcwidth.texi: Likewise.
	* doc/posix-functions/wmemchr.texi: Likewise.
	* doc/posix-functions/wmemcmp.texi: Likewise.
	* doc/posix-functions/wmemcpy.texi: Likewise.
	* doc/posix-functions/wmemmove.texi: Likewise.
	* doc/posix-functions/wmemset.texi: Likewise.
	* doc/posix-functions/wprintf.texi: Likewise.
	* doc/posix-functions/wscanf.texi: Likewise.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	Update doc for HP-UX 11.11.
	* doc/posix-functions/btowc.texi: Clarify that the function is missing
	in HP-UX version 11.00, not in all versions of HP-UX 11.
	* doc/posix-functions/fwide.texi: Likewise.
	* doc/posix-functions/fwprintf.texi: Likewise.
	* doc/posix-functions/fwscanf.texi: Likewise.
	* doc/posix-functions/inet_ntop.texi: Likewise.
	* doc/posix-functions/inet_pton.texi: Likewise.
	* doc/posix-functions/mbrlen.texi: Likewise.
	* doc/posix-functions/mbrtowc.texi: Likewise.
	* doc/posix-functions/mbsinit.texi: Likewise.
	* doc/posix-functions/mbsrtowcs.texi: Likewise.
	* doc/posix-functions/swprintf.texi: Likewise.
	* doc/posix-functions/swscanf.texi: Likewise.
	* doc/posix-functions/towctrans.texi: Likewise.
	* doc/posix-functions/vfwprintf.texi: Likewise.
	* doc/posix-functions/vswprintf.texi: Likewise.
	* doc/posix-functions/vwprintf.texi: Likewise.
	* doc/posix-functions/wcrtomb.texi: Likewise.
	* doc/posix-functions/wcsrtombs.texi: Likewise.
	* doc/posix-functions/wcsstr.texi: Likewise.
	* doc/posix-functions/wctob.texi: Likewise.
	* doc/posix-functions/wctrans.texi: Likewise.
	* doc/posix-functions/wmemchr.texi: Likewise.
	* doc/posix-functions/wmemcmp.texi: Likewise.
	* doc/posix-functions/wmemcpy.texi: Likewise.
	* doc/posix-functions/wmemmove.texi: Likewise.
	* doc/posix-functions/wmemset.texi: Likewise.
	* doc/posix-functions/wprintf.texi: Likewise.
	* doc/posix-functions/wscanf.texi: Likewise.

2008-12-21  Bruno Haible  <bruno@clisp.org>

	Work around a portability problem.
	* tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
	* doc/posix-functions/mbsrtowcs.texi: Document the portability problem.

2008-12-20  Bruno Haible  <bruno@clisp.org>

	* lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
	* m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
	REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
	* modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.

	Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
	* lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
	set.
	(GNULIB_defined_mbstate_t): New macro.
	(mbsinit): Redefine if REPLACE_MBSINIT is set.
	(mbrtowc): Redefine if REPLACE_MBRTOWC is set.
	* lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
	reuses the system's mbrtowc function but works around the bugs.
	* m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
	gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
	macros.
	(gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
	be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
	MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
	* m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
	REPLACE_MBSINIT if mbsinit needs to be overridden.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
	REPLACE_MBSINIT, REPLACE_MBRTOWC.
	* modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
	REPLACE_MBSINIT, REPLACE_MBRTOWC.
	* modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
	m4/locale-zh.m4.
	(Depends): Add mbsinit.
	* modules/mbsinit (Depends): Add mbrtowc.
	* doc/posix-functions/mbrtowc.texi: Mention the various bugs.

2008-12-20  Bruno Haible  <bruno@clisp.org>

	* tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
	so that there are no conversion errors on AIX.
	* tests/test-mbsrtowcs.c (main): LIkewise.

2008-12-20  Bruno Haible  <bruno@clisp.org>

	Work around wctob bug on Solaris <= 9.
	* lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
	* m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
	* modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
	* modules/wctob (Files): Add m4/locale-fr.m4.
	* doc/posix-functions/wctob.texi: Mention the Solaris bug.

2008-12-20  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
	/dev/null.
	* tests/test-select-in.sh: Likewise.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2008-12-20  Bruno Haible  <bruno@clisp.org>

	Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
	* m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
	Cygwin 1.5.x.

2008-12-20  Bruno Haible  <bruno@clisp.org>

	Ensure mbstate_t is defined on HP-UX 11.11.
	* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
	AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
	* m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
	AC_USE_SYSTEM_EXTENSIONS.
	* modules/fnmatch (Depends-on): Add extensions.
	* modules/mbrlen (Depends-on): Likewise.
	* modules/mbrtowc (Depends-on): Likewise.
	* modules/mbsinit (Depends-on): Likewise.
	* modules/mbsrtowcs (Depends-on): Likewise.
	* modules/mbswidth (Depends-on): Likewise.
	* modules/quotearg (Depends-on): Likewise.
	* modules/strftime (Depends-on): Likewise.

2008-12-20  Bruno Haible  <bruno@clisp.org>

	Ensure wctob is declared on IRIX 6.5.
	* lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
	* m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
	HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
	of HAVE_WCTOB.
	* modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
	HAVE_WCTOB.
	* doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.

2008-12-19  Bruno Haible  <bruno@clisp.org>

	* modules/mbsrtowcs-tests: New file.
	* tests/test-mbsrtowcs1.sh: New file.
	* tests/test-mbsrtowcs2.sh: New file.
	* tests/test-mbsrtowcs3.sh: New file.
	* tests/test-mbsrtowcs4.sh: New file.
	* tests/test-mbsrtowcs.c: New file.

	New module 'mbsrtowcs'.
	* lib/wchar.in.h (mbsrtowcs): New declaration.
	* lib/mbsrtowcs.c: New file.
	* m4/mbsrtowcs.m4: New file.
	* modules/mbsrtowcs: New file.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
	HAVE_MBSRTOWCS.
	* modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
	HAVE_MBSRTOWCS.
	* doc/posix-functions/mbsrtowcs.texi: Document the new module.

2008-12-19  Bruno Haible  <bruno@clisp.org>

	New module 'mbrlen'.
	* lib/wchar.in.h (mbrlen): New declaration.
	* lib/mbrlen.c: New file.
	* m4/mbrlen.m4: New file.
	* modules/mbrlen: New file.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
	HAVE_MBRLEN.
	* modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
	HAVE_MBRLEN.
	* doc/posix-functions/mbrlen.texi: Document the new module.

2008-12-19  Bruno Haible  <bruno@clisp.org>

	* lib/mbrtowc.c: Include verify.h. Verify an assumption.
	* modules/mbrtowc (Depends-on): Add verify.
	Suggested by Paul Eggert.

2008-12-18  Bruno Haible  <bruno@clisp.org>

	* modules/mbsinit-tests: New file.
	* tests/test-mbsinit.sh: New file.
	* tests/test-mbsinit.c: New file.

2008-12-18  Bruno Haible  <bruno@clisp.org>

	* modules/mbrtowc-tests: New file.
	* tests/test-mbrtowc1.sh: New file.
	* tests/test-mbrtowc2.sh: New file.
	* tests/test-mbrtowc3.sh: New file.
	* tests/test-mbrtowc4.sh: New file.
	* tests/test-mbrtowc.c: New file.

	New module 'mbrtowc'.
	* lib/wchar.in.h (mbstate_t): Override when the system does not have
	mbsinit and mbrtowc.
	(mbrtowc): New declaration.
	* lib/mbrtowc.c: New file.
	* m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
	* modules/mbrtowc: New file.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
	HAVE_MBRTOWC.
	* modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
	HAVE_MBRTOWC.
	* doc/posix-functions/mbrtowc.texi: Document the new module.

2008-12-18  Bruno Haible  <bruno@clisp.org>

	New module 'wctob'.
	* lib/wchar.in.h (wctob): New declaration.
	* lib/wctob.c: New file.
	* m4/wctob.m4: New file.
	* modules/wctob: New file.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
	HAVE_WCTOB.
	* modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
	* doc/posix-functions/wctob.texi: Document the new module.

2008-12-18  Bruno Haible  <bruno@clisp.org>

	* m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
	* m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.

2008-12-18  Simon Josefsson  <simon@josefsson.org>

	* lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
	G. Christensen" <tgc@jupiterrise.com>.

	* lib/flock.c: Need to include errno.h.  Reported by "Tom
	G. Christensen" <tgc@jupiterrise.com>.

	* lib/flock.c: Need to include string.h.  Reported by "Tom
	G. Christensen" <tgc@jupiterrise.com> and Eric Blake
	<ebb9@byu.net>.

2008-12-18  Bruno Haible  <bruno@clisp.org>

	* m4/locale-ja.m4: New file, from GNU gettext.

2008-12-17  Bruno Haible  <bruno@clisp.org>

	* m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
	Suggested by Eric Blake.

2008-12-17  Bruno Haible  <bruno@clisp.org>

	* m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.

2008-12-17  Bruno Haible  <bruno@clisp.org>

	* lib/mbsinit.c: Include verify.h. Verify an assumption.
	* modules/mbsinit (Depends-on): Add verify.
	Suggested by Paul Eggert.

2008-12-17  Bruno Haible  <bruno@clisp.org>

	* m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
	* m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
	gl_FUNC_MBRTOWC.
	* m4/mbiter.m4 (gl_MBITER): LIkewise.
	* m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
	* m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
	* m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
	* m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
	* m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
	* m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
	* m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
	* m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
	* m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
	* m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
	* m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
	* m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
	* m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
	* m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
	* m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
	* m4/quotearg.m4 (gl_QUOTEARG): Likewise.
	* modules/trim (configure.ac): Likewise.

2008-12-17  Bruno Haible  <bruno@clisp.org>

	* modules/btowc-tests: New file.
	* tests/test-btowc1.sh: New file.
	* tests/test-btowc2.sh: New file.
	* tests/test-btowc.c: New file.

	New module 'btowc'.
	* lib/wchar.in.h (btowc): New declaration.
	* lib/btowc.c: New file.
	* m4/btowc.m4: New file.
	* modules/btowc: New file.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
	HAVE_BTOWC.
	* modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
	* doc/posix-functions/btowc.texi: Document the new module.

2008-12-17  Bruno Haible  <bruno@clisp.org>

	New module 'mbsinit'.
	* lib/wchar.in.h (mbsinit): New declaration.
	* lib/mbsinit.c: New file.
	* m4/mbsinit.m4: New file.
	* modules/mbsinit: New file.
	* m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
	HAVE_MBSINIT.
	* modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
	HAVE_MBSINIT.
	* doc/posix-functions/mbsinit.texi: Document the new module.

2008-12-16  Bruno Haible  <bruno@clisp.org>

	* lib/unistd.in.h: Add comment.
	* tests/test-environ.c: Don't include <stdlib.h>.

2008-12-16  Bruno Haible  <bruno@clisp.org>

	* lib/parse-duration.h (parse_duration): Document return value
	convention.
	* lib/parse-duration.c: Include specification header first. Add
	comments.
	(_): Remove macro.
	(parse_year_month_day, parse_hour_minute_second): Move side effects
	outside of strchr call.
	(parse_non_iso8601): Move side effects outside of isspace call.
	(parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
	call.

2008-12-16  Bruno Haible  <bruno@clisp.org>

	* tests/test-parse-duration.sh: Produce no output when the test
	succeeds.

2008-12-16  Bruno Haible  <bruno@clisp.org>

	* tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
	expressions.

2008-12-15  Bruno Haible  <bruno@clisp.org>

	* doc/glibc-functions/fgetxattr.texi: Tweak wording.
	* doc/glibc-functions/flistxattr.texi: Likewise.
	* doc/glibc-functions/fopencookie.texi: Likewise.
	* doc/glibc-functions/fremovexattr.texi: Likewise.
	* doc/glibc-functions/fsetxattr.texi: Likewise.
	* doc/glibc-functions/getxattr.texi: Likewise.
	* doc/glibc-functions/lgetxattr.texi: Likewise.
	* doc/glibc-functions/listxattr.texi: Likewise.
	* doc/glibc-functions/llistxattr.texi: Likewise.
	* doc/glibc-functions/lremovexattr.texi: Likewise.
	* doc/glibc-functions/lsetxattr.texi: Likewise.
	* doc/glibc-functions/removexattr.texi: Likewise.
	* doc/glibc-functions/setxattr.texi: Likewise.
	* doc/posix-functions/open_memstream.texi: Likewise.

2008-12-15  Eric Blake  <ebb9@byu.net>

	Update doc for cygwin 1.7.
	* doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
	functions.
	* doc/posix-functions/fchmodat.texi: Likewise.
	* doc/posix-functions/fchownat.texi: Likewise.
	* doc/posix-functions/fdopendir.texi: Likewise.
	* doc/posix-functions/fmemopen.texi: Likewise.
	* doc/posix-functions/freeaddrinfo.texi: Likewise.
	* doc/posix-functions/fstatat.texi: Likewise.
	* doc/posix-functions/futimens.texi: Likewise.
	* doc/posix-functions/gai_strerror.texi: Likewise.
	* doc/posix-functions/getaddrinfo.texi: Likewise.
	* doc/posix-functions/getnameinfo.texi: Likewise.
	* doc/posix-functions/if_freenameindex.texi: Likewise.
	* doc/posix-functions/if_indextoname.texi: Likewise.
	* doc/posix-functions/if_nameindex.texi: Likewise.
	* doc/posix-functions/if_nametoindex.texi: Likewise.
	* doc/posix-functions/insque.texi: Likewise.
	* doc/posix-functions/linkat.texi: Likewise.
	* doc/posix-functions/llrint.texi: Likewise.
	* doc/posix-functions/llrintf.texi: Likewise.
	* doc/posix-functions/llrintl.texi: Likewise.
	* doc/posix-functions/lockf.texi: Likewise.
	* doc/posix-functions/lrintl.texi: Likewise.
	* doc/posix-functions/mkdirat.texi: Likewise.
	* doc/posix-functions/mkfifoat.texi: Likewise.
	* doc/posix-functions/mknodat.texi: Likewise.
	* doc/posix-functions/mq_close.texi: Likewise.
	* doc/posix-functions/mq_getattr.texi: Likewise.
	* doc/posix-functions/mq_notify.texi: Likewise.
	* doc/posix-functions/mq_open.texi: Likewise.
	* doc/posix-functions/mq_receive.texi: Likewise.
	* doc/posix-functions/mq_send.texi: Likewise.
	* doc/posix-functions/mq_setattr.texi: Likewise.
	* doc/posix-functions/mq_timedreceive.texi: Likewise.
	* doc/posix-functions/mq_timedsend.texi: Likewise.
	* doc/posix-functions/mq_unlink.texi: Likewise.
	* doc/posix-functions/open_memstream.texi: Likewise.
	* doc/posix-functions/openat.texi: Likewise.
	* doc/posix-functions/posix_fadvise.texi: Likewise.
	* doc/posix-functions/posix_fallocate.texi: Likewise.
	* doc/posix-functions/posix_madvise.texi: Likewise.
	* doc/posix-functions/posix_memalign.texi: Likewise.
	* doc/posix-functions/posix_openpt.texi: Likewise.
	* doc/posix-functions/readlinkat.texi: Likewise.
	* doc/posix-functions/remque.texi: Likewise.
	* doc/posix-functions/renameat.texi: Likewise.
	* doc/posix-functions/rintl.texi: Likewise.
	* doc/posix-functions/sem_unlink.texi: Likewise.
	* doc/posix-functions/shm_open.texi: Likewise.
	* doc/posix-functions/shm_unlink.texi: Likewise.
	* doc/posix-functions/signgam.texi: Likewise.
	* doc/posix-functions/sigset.texi: Likewise.
	* doc/posix-functions/stpcpy.texi: Likewise.
	* doc/posix-functions/stpncpy.texi: Likewise.
	* doc/posix-functions/strerror.texi: Likewise.
	* doc/posix-functions/strtod.texi: Likewise.
	* doc/posix-functions/symlinkat.texi: Likewise.
	* doc/posix-functions/unlinkat.texi: Likewise.
	* doc/posix-functions/utimensat.texi: Likewise.
	* doc/glibc-functions/bindresvport.texi: Likewise.
	* doc/glibc-functions/dn_expand.texi: Likewise.
	* doc/glibc-functions/exp10.texi: Likewise.
	* doc/glibc-functions/exp10f.texi: Likewise.
	* doc/glibc-functions/fgetxattr.texi: Likewise.
	* doc/glibc-functions/flistxattr.texi: Likewise.
	* doc/glibc-functions/fopencookie.texi: Likewise.
	* doc/glibc-functions/freeifaddrs.texi: Likewise.
	* doc/glibc-functions/fremovexattr.texi: Likewise.
	* doc/glibc-functions/fsetxattr.texi: Likewise.
	* doc/glibc-functions/getifaddrs.texi: Likewise.
	* doc/glibc-functions/getxattr.texi: Likewise.
	* doc/glibc-functions/lgetxattr.texi: Likewise.
	* doc/glibc-functions/listxattr.texi: Likewise.
	* doc/glibc-functions/llistxattr.texi: Likewise.
	* doc/glibc-functions/lremovexattr.texi: Likewise.
	* doc/glibc-functions/lsetxattr.texi: Likewise.
	* doc/glibc-functions/pow10.texi: Likewise.
	* doc/glibc-functions/pow10f.texi: Likewise.
	* doc/glibc-functions/rcmd_af.texi: Likewise.
	* doc/glibc-functions/removexattr.texi: Likewise.
	* doc/glibc-functions/res_init.texi: Likewise.
	* doc/glibc-functions/res_mkquery.texi: Likewise.
	* doc/glibc-functions/res_query.texi: Likewise.
	* doc/glibc-functions/res_querydomain.texi: Likewise.
	* doc/glibc-functions/res_send.texi: Likewise.
	* doc/glibc-functions/rresvport_af.texi: Likewise.
	* doc/glibc-functions/setxattr.texi: Likewise.
	* doc/glibc-functions/strcasestr.texi: Likewise.

2008-12-15  Bruno Haible  <bruno@clisp.org>

	Fix compilation error on OSF/1 4.0.
	* lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
	<sys/time.h>, simply delegate to the system header.
	Reported by Daniel Richard G. <oss@teragram.com>.

2008-12-15  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/openat.texi: Mention the 'openat' module.
	* doc/posix-functions/fchmodat.texi: Likewise.
	* doc/posix-functions/fchownat.texi: Likewise.
	* doc/posix-functions/fdopendir.texi: Likewise.
	* doc/posix-functions/fstatat.texi: Likewise.
	* doc/posix-functions/mkdirat.texi: Likewise.
	* doc/posix-functions/unlinkat.texi: Likewise.

2008-12-14  Bruno Haible  <bruno@clisp.org>

	Update doc for POSIX:2008.
	* doc/posix-functions/faccessat.texi: New file.
	* doc/posix-functions/fchmodat.texi: New file.
	* doc/posix-functions/fchownat.texi: New file.
	* doc/posix-functions/fdopendir.texi: New file.
	* doc/posix-functions/fstatat.texi: New file.
	* doc/posix-functions/futimens.texi: New file.
	* doc/posix-functions/linkat.texi: New file.
	* doc/posix-functions/mkdirat.texi: New file.
	* doc/posix-functions/mkfifoat.texi: New file.
	* doc/posix-functions/mknodat.texi: New file.
	* doc/posix-functions/open_wmemstream.texi: New file.
	* doc/posix-functions/openat.texi: New file.
	* doc/posix-functions/psiginfo.texi: New file.
	* doc/posix-functions/pthread_mutex_consistent.texi: New file.
	* doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
	* doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
	* doc/posix-functions/readlinkat.texi: New file.
	* doc/posix-functions/renameat.texi: New file.
	* doc/posix-functions/strerror_l.texi: New file.
	* doc/posix-functions/symlinkat.texi: New file.
	* doc/posix-functions/unlinkat.texi: New file.
	* doc/posix-functions/utimensat.texi: New file.
	* doc/gnulib.texi (Function Substitutes): Add these subsections.

2008-12-14  Bruno Haible  <bruno@clisp.org>

	Update doc for POSIX:2008.
	* doc/posix-functions/alphasort.texi: Renamed from
	doc/glibc-functions/alphasort.texi.
	* doc/posix-functions/dirfd.texi: Renamed from
	doc/glibc-functions/dirfd.texi.
	* doc/posix-functions/dprintf.texi: Renamed from
	doc/glibc-functions/dprintf.texi.
	* doc/posix-functions/duplocale.texi: Renamed from
	doc/glibc-functions/duplocale.texi.
	* doc/posix-functions/fexecve.texi: Renamed from
	doc/glibc-functions/fexecve.texi.
	* doc/posix-functions/fmemopen.texi: Renamed from
	doc/glibc-functions/fmemopen.texi.
	* doc/posix-functions/freelocale.texi: Renamed from
	doc/glibc-functions/freelocale.texi.
	* doc/posix-functions/getdate_err.texi: Renamed from
	doc/glibc-functions/getdate_err.texi.
	* doc/posix-functions/isalnum_l.texi: Renamed from
	doc/glibc-functions/isalnum_l.texi.
	* doc/posix-functions/isalpha_l.texi: Renamed from
	doc/glibc-functions/isalpha_l.texi.
	* doc/posix-functions/isblank_l.texi: Renamed from
	doc/glibc-functions/isblank_l.texi.
	* doc/posix-functions/iscntrl_l.texi: Renamed from
	doc/glibc-functions/iscntrl_l.texi.
	* doc/posix-functions/isdigit_l.texi: Renamed from
	doc/glibc-functions/isdigit_l.texi.
	* doc/posix-functions/isgraph_l.texi: Renamed from
	doc/glibc-functions/isgraph_l.texi.
	* doc/posix-functions/islower_l.texi: Renamed from
	doc/glibc-functions/islower_l.texi.
	* doc/posix-functions/isprint_l.texi: Renamed from
	doc/glibc-functions/isprint_l.texi.
	* doc/posix-functions/ispunct_l.texi: Renamed from
	doc/glibc-functions/ispunct_l.texi.
	* doc/posix-functions/isspace_l.texi: Renamed from
	doc/glibc-functions/isspace_l.texi.
	* doc/posix-functions/isupper_l.texi: Renamed from
	doc/glibc-functions/isupper_l.texi.
	* doc/posix-functions/iswalnum_l.texi: Renamed from
	doc/glibc-functions/iswalnum_l.texi.
	* doc/posix-functions/iswalpha_l.texi: Renamed from
	doc/glibc-functions/iswalpha_l.texi.
	* doc/posix-functions/iswblank_l.texi: Renamed from
	doc/glibc-functions/iswblank_l.texi.
	* doc/posix-functions/iswcntrl_l.texi: Renamed from
	doc/glibc-functions/iswcntrl_l.texi.
	* doc/posix-functions/iswctype_l.texi: Renamed from
	doc/glibc-functions/iswctype_l.texi.
	* doc/posix-functions/iswdigit_l.texi: Renamed from
	doc/glibc-functions/iswdigit_l.texi.
	* doc/posix-functions/iswgraph_l.texi: Renamed from
	doc/glibc-functions/iswgraph_l.texi.
	* doc/posix-functions/iswlower_l.texi: Renamed from
	doc/glibc-functions/iswlower_l.texi.
	* doc/posix-functions/iswprint_l.texi: Renamed from
	doc/glibc-functions/iswprint_l.texi.
	* doc/posix-functions/iswpunct_l.texi: Renamed from
	doc/glibc-functions/iswpunct_l.texi.
	* doc/posix-functions/iswspace_l.texi: Renamed from
	doc/glibc-functions/iswspace_l.texi.
	* doc/posix-functions/iswupper_l.texi: Renamed from
	doc/glibc-functions/iswupper_l.texi.
	* doc/posix-functions/iswxdigit_l.texi: Renamed from
	doc/glibc-functions/iswxdigit_l.texi.
	* doc/posix-functions/isxdigit_l.texi: Renamed from
	doc/glibc-functions/isxdigit_l.texi.
	* doc/posix-functions/mbsnrtowcs.texi: Renamed from
	doc/glibc-functions/mbsnrtowcs.texi.
	* doc/posix-functions/mkdtemp.texi: Renamed from
	doc/glibc-functions/mkdtemp.texi.
	* doc/posix-functions/newlocale.texi: Renamed from
	doc/glibc-functions/newlocale.texi.
	* doc/posix-functions/nl_langinfo_l.texi: Renamed from
	doc/glibc-functions/nl_langinfo_l.texi.
	* doc/posix-functions/open_memstream.texi: Renamed from
	doc/glibc-functions/open_memstream.texi.
	* doc/posix-functions/opterr.texi: Renamed from
	doc/glibc-functions/opterr.texi.
	* doc/posix-functions/optind.texi: Renamed from
	doc/glibc-functions/optind.texi.
	* doc/posix-functions/optopt.texi: Renamed from
	doc/glibc-functions/optopt.texi.
	* doc/posix-functions/psignal.texi: Renamed from
	doc/glibc-functions/psignal.texi.
	* doc/posix-functions/scandir.texi: Renamed from
	doc/glibc-functions/scandir.texi.
	* doc/posix-functions/sched_get_priority_min.texi: Renamed from
	doc/glibc-functions/sched_get_priority_min.texi.
	* doc/posix-functions/signgam.texi: Renamed from
	doc/glibc-functions/signgam.texi.
	* doc/posix-functions/stpcpy.texi: Renamed from
	doc/glibc-functions/stpcpy.texi.
	* doc/posix-functions/stpncpy.texi: Renamed from
	doc/glibc-functions/stpncpy.texi.
	* doc/posix-functions/strcasecmp_l.texi: Renamed from
	doc/glibc-functions/strcasecmp_l.texi.
	* doc/posix-functions/strcoll_l.texi: Renamed from
	doc/glibc-functions/strcoll_l.texi.
	* doc/posix-functions/strfmon_l.texi: Renamed from
	doc/glibc-functions/strfmon_l.texi.
	* doc/posix-functions/strftime_l.texi: Renamed from
	doc/glibc-functions/strftime_l.texi.
	* doc/posix-functions/strncasecmp_l.texi: Renamed from
	doc/glibc-functions/strncasecmp_l.texi.
	* doc/posix-functions/strndup.texi: Renamed from
	doc/glibc-functions/strndup.texi.
	* doc/posix-functions/strnlen.texi: Renamed from
	doc/glibc-functions/strnlen.texi.
	* doc/posix-functions/strsignal.texi: Renamed from
	doc/glibc-functions/strsignal.texi.
	* doc/posix-functions/strxfrm_l.texi: Renamed from
	doc/glibc-functions/strxfrm_l.texi.
	* doc/posix-functions/timer_gettime.texi: Renamed from
	doc/glibc-functions/timer_gettime.texi.
	* doc/posix-functions/tolower_l.texi: Renamed from
	doc/glibc-functions/tolower_l.texi.
	* doc/posix-functions/toupper_l.texi: Renamed from
	doc/glibc-functions/toupper_l.texi.
	* doc/posix-functions/towctrans_l.texi: Renamed from
	doc/glibc-functions/towctrans_l.texi.
	* doc/posix-functions/towlower_l.texi: Renamed from
	doc/glibc-functions/towlower_l.texi.
	* doc/posix-functions/towupper_l.texi: Renamed from
	doc/glibc-functions/towupper_l.texi.
	* doc/posix-functions/uselocale.texi: Renamed from
	doc/glibc-functions/uselocale.texi.
	* doc/posix-functions/vdprintf.texi: Renamed from
	doc/glibc-functions/vdprintf.texi.
	* doc/posix-functions/wcpcpy.texi:
	Renamed from doc/glibc-functions/wcpcpy.texi.
	* doc/posix-functions/wcpncpy.texi: Renamed from
	doc/glibc-functions/wcpncpy.texi.
	* doc/posix-functions/wcscasecmp.texi: Renamed from
	doc/glibc-functions/wcscasecmp.texi.
	* doc/posix-functions/wcscasecmp_l.texi: Renamed from
	doc/glibc-functions/wcscasecmp_l.texi.
	* doc/posix-functions/wcscoll_l.texi: Renamed from
	doc/glibc-functions/wcscoll_l.texi.
	* doc/posix-functions/wcsdup.texi: Renamed from
	doc/glibc-functions/wcsdup.texi.
	* doc/posix-functions/wcsncasecmp.texi: Renamed from
	doc/glibc-functions/wcsncasecmp.texi.
	* doc/posix-functions/wcsncasecmp_l.texi: Renamed from
	doc/glibc-functions/wcsncasecmp_l.texi.
	* doc/posix-functions/wcsnlen.texi: Renamed from
	doc/glibc-functions/wcsnlen.texi.
	* doc/posix-functions/wcsnrtombs.texi: Renamed from
	doc/glibc-functions/wcsnrtombs.texi.
	* doc/posix-functions/wcsxfrm_l.texi: Renamed from
	doc/glibc-functions/wcsxfrm_l.texi.
	* doc/posix-functions/wctrans_l.texi: Renamed from
	doc/glibc-functions/wctrans_l.texi.
	* doc/posix-functions/wctype_l.texi: Renamed from
	doc/glibc-functions/wctype_l.texi.
	* doc/gnulib.texi (Function Substitutes): Add these subsections.
	(Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
	Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
	Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
	these subsections.
	(Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
	Remove sections.

2008-12-14  Bruno Haible  <bruno@clisp.org>

	Update doc for POSIX:2008.
	* doc/posix-functions/*.texi: Update URL of POSIX specification.

2008-12-14  Bruno Haible  <bruno@clisp.org>

	Update doc for POSIX:2008.
	* doc/pastposix-functions/bcmp.texi: Renamed from
	doc/posix-functions/bcmp.texi.
	* doc/pastposix-functions/bcopy.texi: Renamed from
	doc/posix-functions/bcopy.texi.
	* doc/pastposix-functions/bsd_signal.texi: Renamed from
	doc/posix-functions/bsd_signal.texi.
	* doc/pastposix-functions/bzero.texi: Renamed from
	doc/posix-functions/bzero.texi.
	* doc/pastposix-functions/ecvt.texi: Renamed from
	doc/posix-functions/ecvt.texi.
	* doc/pastposix-functions/fcvt.texi: Renamed from
	doc/posix-functions/fcvt.texi.
	* doc/pastposix-functions/ftime.texi: Renamed from
	doc/posix-functions/ftime.texi.
	* doc/pastposix-functions/gcvt.texi: Renamed from
	doc/posix-functions/gcvt.texi.
	* doc/pastposix-functions/getcontext.texi: Renamed from
	doc/posix-functions/getcontext.texi.
	* doc/pastposix-functions/gethostbyaddr.texi: Renamed from
	doc/posix-functions/gethostbyaddr.texi.
	* doc/pastposix-functions/gethostbyname.texi: Renamed from
	doc/posix-functions/gethostbyname.texi.
	* doc/pastposix-functions/getwd.texi: Renamed from
	doc/posix-functions/getwd.texi.
	* doc/pastposix-functions/h_errno.texi: Renamed from
	doc/posix-functions/h_errno.texi.
	* doc/pastposix-functions/index.texi: Renamed from
	doc/posix-functions/index.texi.
	* doc/pastposix-functions/makecontext.texi: Renamed from
	doc/posix-functions/makecontext.texi.
	* doc/pastposix-functions/mktemp.texi: Renamed from
	doc/posix-functions/mktemp.texi.
	* doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
	doc/posix-functions/pthread_attr_getstackaddr.texi.
	* doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
	doc/posix-functions/pthread_attr_setstackaddr.texi.
	* doc/pastposix-functions/rindex.texi: Renamed from
	doc/posix-functions/rindex.texi.
	* doc/pastposix-functions/scalb.texi: Renamed from
	doc/posix-functions/scalb.texi.
	* doc/pastposix-functions/setcontext.texi: Renamed from
	doc/posix-functions/setcontext.texi.
	* doc/pastposix-functions/swapcontext.texi: Renamed from
	doc/posix-functions/swapcontext.texi.
	* doc/pastposix-functions/ualarm.texi: Renamed from
	doc/posix-functions/ualarm.texi.
	* doc/pastposix-functions/usleep.texi: Renamed from
	doc/posix-functions/usleep.texi.
	* doc/pastposix-functions/vfork.texi: Renamed from
	doc/posix-functions/vfork.texi.
	* doc/pastposix-functions/wcswcs.texi: Renamed from
	doc/posix-functions/wcswcs.texi.
	* doc/gnulib.texi (Legacy Function Substitutes): New chapter.
	(Function Substitutes): Update.

2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
	m4/strerror.m4.

2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	    Bruno Haible  <bruno@clisp.org>

	* modules/unilbrk/tables (Depends-on): Add unilbrk/base.

2008-12-13  Bruno Haible  <bruno@clisp.org>

	* modules/strtoull (Depends-on): Remove unistd.

2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* modules/strtoull (Depends-on): Add stdlib.

2008-12-11  Simon Josefsson  <simon@josefsson.org>

	* m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.

2008-12-10  Jim Meyering  <meyering@redhat.com>

	gl_ASSERT: don't say assertions are disabled when they're not
	* m4/assert.m4 (gl_ASSERT): Do not make configure report
	"checking whether to enable assertions... no", when they are in
	fact enabled.  This is solely a bug in the output of configure.
	In spite of saying "no", NDEBUG was not defined in that case.
	Also, as noted by Eric Blake, leave assertions enabled upon
	--enable-assert=INVALID.

2008-12-10  Bruno Haible  <bruno@clisp.org>

	Change MODULES.html to refer to POSIX:2008 where possible.
	* MODULES.html.sh (POSIX2008_URL): New variable.
	(posix_headers): Remove sys/timeb, ucontext.
	(posix2001_headers): New variable.
	(posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
	ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
	index, makecontext, mktemp, pthread_attr_getstackaddr,
	pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
	ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
	(posix2001_functions): New variable.
	(func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
	otherwise.

2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	add missing include to parse-duration.c
	* lib/parse-duration.c: #include "xalloc.h", for xstrdup.
	* modules/parse-duration (Depends-on): Add xalloc.

	fix sed script reading maint.mk
	* top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
	(syntax-check-rules): Use it.

2008-12-09  Bruno Haible  <bruno@clisp.org>

	* m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
	MacOS X 10.4/PowerPC.
	Reported by Simon Josefsson.

2008-12-08  Jim Meyering  <meyering@redhat.com>

	work around mingw's lack of some S_IF definitions
	* lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
	Reported by Simon Josefsson.

2008-12-08  Bruno Haible  <bruno@clisp.org>

	* m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
	applied to variables. Needed on MacOS X 10.4/PowerPC.
	Reported by Simon Josefsson.

2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
	and Eric Blake  <ebb9@byu.net>

	assert: honor --enable-assert
	* m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
	order to honor --enable-assert, rather than treating it as a
	synonym for --disable-assert.

2008-12-08  Jim Meyering  <meyering@redhat.com>

	* lib/posixtm.c: Remove now-useless declaration of mktime.

	* build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.

2008-12-07  Bruno Haible  <bruno@clisp.org>

	* tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
	test_once): Mark functions as static.
	* tests/test-tls.c (test_tls): Likewise.

2008-12-07  Bruno Haible  <bruno@clisp.org>

	* lib/striconveha.h (uniconv_register_autodetect): Renamed from
	iconv_register_autodetect.

2008-12-07  Jim Meyering  <meyering@redhat.com>

	posixtm.c: avoid a warning
	* lib/posixtm.c (posixtime): Don't initialize tm0.
	It's no longer needed to placate gcc4's -Wuninitialized,
	and the attempt to placate would elicit a new warning.

	unicodeio.c: mark unused parameters
	* lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
	(fallback_failure_callback): Likewise.

2008-12-07  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): When building the tests
	subdirectory, ignore the modules gnumakefile and maintainer-makefile.
	Reported by Simon Josefsson.

2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.

2008-12-06  Bruno Haible  <bruno@clisp.org>

	* lib/c-stack.h (c_stack_action): Clarify possible side effects.
	Suggested by Eric Blake.

2008-12-06  Bruno Haible  <bruno@clisp.org>

	Fix a c-stack test failure on MacOS X.
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
	AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
	handler for SIGBUS as well.
	* lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
	install a signal handler for SIGBUS as well.
	Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.

2008-12-06  Bruno Haible  <bruno@clisp.org>

	Advocacy documentation.
	* doc/gnulib-intro.texi (Benefits): New section.
	* doc/gnulib.texi: Update.

2008-12-06  Bruno Haible  <bruno@clisp.org>

	Document the 'manywarnings' module.
	* doc/manywarnings.texi: New file.
	* doc/gnulib.texi: Include it.

2008-12-05  Eric Blake  <ebb9@byu.net>

	tests: silence some gcc warnings
	* tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
	* tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
	type mismatches.

2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	    Bruno Haible  <bruno@clisp.org>

	* m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.

2008-11-29  Jim Meyering  <meyering@redhat.com>

	unicodeio.c: mark unused parameters
	* lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
	(fallback_failure_callback): Likewise.

	fts: fix a thinko
	* lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
	(set_stat_type): Return S_IF*-valued "type" directly.
	Prompted by James Youngman's spotting a related bug.
	Confirmed by further testing through find.

	fts: provide dirent.d_type via FTSENT.fts_statp, when possible
	* lib/fts.c (D_TYPE): Define.
	(DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
	(DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
	(s_ifmt_shift_bits): New function.
	(set_stat_type): New function.
	(fts_build): When not calling fts_stat, call set_stat_type
	to propagate dirent.d_type info to fts_read caller.
	* lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
	fts_statp->st_mode type information may be valid.

2008-11-28  Simon Josefsson  <simon@josefsson.org>

	* lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
	Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
	<sds@gnu.org>.

2008-11-20  Bruno Haible  <bruno@clisp.org>

	Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
	* lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
	INCLUDE_NEXT.
	* m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
	INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
	* modules/math (Makefile.am): Substitute
	INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
	Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.

2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
	    Bruno Haible  <bruno@clisp.org>

	* lib/stdint.in.h: Define all type macros so that their expansion is
	a single typedef'ed token. Fixes a compilation failure in Boost which
	does "using ::int8_t;".

2008-11-18  Simon Josefsson  <simon@josefsson.org>

	* m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
	gl_MANYWARN_ALL_GCC.
	* m4/warnings.m4: Removed gl_WARN_SUPPORTED and
	gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
	* modules/manywarnings: New file.
	* MODULES.html.sh: Mention manywarnings module.

2008-11-18  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-tool.texi (Unit tests): New section.

2008-11-18  Simon Josefsson  <simon@josefsson.org>

	* top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
	paths like 'lib/po/foo.po'.

2008-11-17  Simon Josefsson  <simon@josefsson.org>

	* m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
	<Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.

2008-11-17  Simon Josefsson  <simon@josefsson.org>

	* m4/warnings.m4: Use CPPFLAGS to really check whether the
	parameter works.

2008-11-17  Simon Josefsson  <simon@josefsson.org>

	* m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.

2008-11-17  Bruce Korb  <bkorb@gnu.org>

	* modules/parse-duration-tests: New file.
	* tests/test-parse-duration.sh: New file.
	* tests/test-parse-duration.c: New file.

	New module 'parse-duration'.
	* lib/parse-duration.h: New file.
	* lib/parse-duration.c: New file.
	* modules/parse-duration: New file.

2008-11-17  Bruno Haible  <bruno@clisp.org>

	* tests/test-select-out.sh: Comment out the first pipe test.
	Reported by Simon Josefsson.

2008-11-17  Bruno Haible  <bruno@clisp.org>

	* modules/getaddrinfo (Depends-on): Add servent, hostent.
	* m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
	gl_HOSTENT.

2008-11-17  Bruno Haible  <bruno@clisp.org>

	* m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
	-lnetwork and -lnet. Needed for Haiku and BeOS.

2008-11-16  Bruno Haible  <bruno@clisp.org>

	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.

2008-11-16  Bruno Haible  <bruno@clisp.org>

	Avoid test failure on Haiku.
	* tests/test-fsync.c: Include <errno.h>.
	(main): Don't require that fsync (0) fails.

2008-11-15  Bruno Haible  <bruno@clisp.org>

	New module 'hostent'.
	* modules/hostent: New file.
	* m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.

2008-11-15  Bruno Haible  <bruno@clisp.org>

	New module 'servent'.
	* modules/servent: New file.
	* m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.

2008-11-15  Bruno Haible  <bruno@clisp.org>

	Avoid generating same test program with two different rules.
	* modules/frexp-nolibm-tests (Makefile.am): Rename test program from
	test-frexp to test-frexp-nolibm.
	* modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
	test-frexpl to test-frexpl-nolibm.

2008-11-15  Bruno Haible  <bruno@clisp.org>

	* modules/frexpl-tests (Makefile.am): Link test-frexpl with
	$(FREXPL_LIBM).

2008-11-15  Bruno Haible  <bruno@clisp.org>

	* lib/netdb.in.h: Activate the definitions also when the system's
	<netdb.h> has 'struct addrinfo'.
	* m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
	EAI_OVERFLOW or AI_NUMERICSERV.
	* doc/posix-headers/netdb.texi: Document the problem.

2008-11-15  Bruno Haible  <bruno@clisp.org>

	* tests/test-sched.c: Test also the existence of the SCHED_* macros.

	Make the 'sched' module work on platforms where <sched.h> exists but
	is incomplete (such as Haiku).
	* lib/sched.in.h; Include the system's <sched.h> if it exists.
	(SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
	* m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
	defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
	HAVE_STRUCT_SCHED_PARAM.
	* modules/sched (Depends-on): Add include_next.
	(Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
	PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
	* doc/posix-headers/sched.texi: Document the issue.

2008-11-13  Jim Meyering  <meyering@redhat.com>

	test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
	* tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
	test would fail due to the difference in the Report bugs to ...
	line.  The expected address is empty, "<>", while the actual
	would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.

2008-11-12  Bruno Haible  <bruno@clisp.org>

	lstat: don't compile lstat.c on systems lacking lstat
	* m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
	which don't have lstat; this is handled by lib/sys_stat.in.h already.
	Reported by Daniel P. Berrange via Jim Meyering.

2008-11-12  Jim Meyering  <meyering@redhat.com>

	* lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.

2008-11-12  Simon Josefsson  <simon@josefsson.org>

	* modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
	instead.

2008-11-12  Bruno Haible  <bruno@clisp.org>

	* lib/unicodeio.c: Include unistr.h.
	(utf8_wctomb): Remove function.
	(unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.

2008-11-12  Simon Josefsson  <simon@josefsson.org>

	* m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
	Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
	<bruno@clisp.org>.
	* modules/warnings (configure.ac): Don't call gl_WARN_INIT.

2008-11-12  Simon Josefsson  <simon@josefsson.org>

	* doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
	* doc/gnulib.texi: Add section for warnings.

2008-11-11  Bruno Haible  <bruno@clisp.org>

	* lib/sockets.h: Add a comment.

2008-11-11  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (fdl.texi): add, syncing from gnustandards.

2008-11-11  Eric Blake  <ebb9@byu.net>

	fdl.texi: avoid git symlinks
	* doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.

2008-11-11  Paolo Bonzini  <bonzini@gnu.org>

	* m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.

2008-11-11  Paolo Bonzini  <bonzini@gnu.org>

	* m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
	(gl_WARN_ADD): Substitute $2 if literal.

2008-11-11  Paolo Bonzini  <bonzini@gnu.org>

	* m4/warning.m4: Remove.

2008-11-11  Paolo Bonzini  <bonzini@gnu.org>

	* m4/warnings.m4: Almost complete rewrite. :-)

2008-11-10  Simon Josefsson  <simon@josefsson.org>

	* modules/warnings: New module.
	* m4/warnings.m4: New file.
	* MODULES.html.sh: Mention warnings module.
	With review improvements from Paolo Bonzini <bonzini@gnu.org> and
	Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2008-11-10  Eric Blake  <ebb9@byu.net>

	fdl.texi: make a symlink to the latest version
	* doc/standards.texi: Revert today's earlier change.
	* doc/fdl-1.2.texi: Rename from old fdl.texi...
	* doc/fdl.texi: ...and replace this with a symlink to the newer
	fdl-1.3.texi.

2008-11-10  Bruno Haible  <bruno@clisp.org>

	* tests/test-select-fd.c (main): Accept the result file name as fourth
	argument.
	* tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
	* tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.

2008-11-10  Bruno Haible  <bruno@clisp.org>

	* lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
	HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
	as autoconf-substituted macros.
	* m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
	* m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
	gl_NETDB_H_DEFAULTS. Set these variables.
	* modules/netdb (Makefile.am): Substitute these variables.

2008-11-10  Eric Blake  <ebb9@byu.net>

	standards.texi: include correct file for FDL 1.3
	* doc/standards.texi (GNU Free Documentation License): Change
	include file to pull in FDL 1.3, not 1.2.

	fdl.texi: revert accidental change to license
	* doc/fdl.texi: This is FDL 1.2, not 1.3.

2008-11-10  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
	cross-compiling guesses also when the native compile gives no result.

2008-11-10  Bruno Haible  <bruno@clisp.org>

	* lib/spawni.c (__spawni): Force variable into the stack.

2008-11-10  Bruno Haible  <bruno@clisp.org>

	Add support for Haiku.
	* lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
	glibc and BeOS, but also on Haiku.
	* lib/fpurge.c (fpurge): Likewise.
	* lib/freadable.c (freadable): Likewise.
	* lib/freadahead.c (freadahead): Likewise.
	* lib/freading.c (freading): Likewise.
	* lib/freadptr.c (freadptr): Likewise.
	* lib/freadseek.c (freadptrinc): Likewise.
	* lib/fseeko.c (rpl_fseeko): Likewise.
	* lib/fseterr.c (fseterr): Likewise.
	* lib/fwritable.c (fwritable): Likewise.
	* lib/fwriting.c (fwriting): Likewise.
	Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.

2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>

	* lib/config.charset: Treat Haiku like BeOS.

2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>

	* lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
	* lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.

2008-11-08  Bruno Haible  <bruno@clisp.org>

	* m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
	AC_CACHE_CHECK.

2008-11-08  Bruno Haible  <bruno@clisp.org>

	* modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.

2008-11-08  Bruno Haible  <bruno@clisp.org>

	* tests/test-select-fd.c: New file.
	* tests/test-select-in.sh: New file.
	* tests/test-select-out.sh: New file.
	* tests/test-select-stdin.c: New file.
	* modules/select-tests (Files): Add the new files.
	(Depends-on): Add gettimeofday.
	(Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
	Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
	check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.

2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
	    Bruno Haible  <bruno@clisp.org>

	* lib/sys_stat.in.h: Enclose function definitions in extern "C".

2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>

	* build-aux/pmccabe2html: Added support for C++ source files.

2008-11-05  Ben Pfaff  <blp@gnu.org>

	Fix lib/close.c build on Windows.
	* modules/close (Files): Add lib/w32sock.h.

2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>

	Accept Bison's NEWS format.
	* build-aux/announce-gen (print_news_deltas): Tweak
	$re_prefix.

2008-11-04  Bruno Haible  <bruno@clisp.org>

	* modules/random_r (Maintainer): Add glibc.

2008-11-04  Simon Josefsson  <simon@josefsson.org>

	* doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
	by karl@freefriends.org (Karl Berry).
	* doc/alloca.texi: Likewise.
	* doc/c-ctype.texi: Likewise.
	* doc/c-strcase.texi: Likewise.
	* doc/c-strcaseeq.texi: Likewise.
	* doc/c-strcasestr.texi: Likewise.
	* doc/c-strstr.texi: Likewise.
	* doc/c-strtod.texi: Likewise.
	* doc/c-strtold.texi: Likewise.
	* doc/ctime.texi: Likewise.
	* doc/error.texi: Likewise.
	* doc/fdl.texi: Likewise.
	* doc/gcd.texi: Likewise.
	* doc/getdate.texi: Likewise.
	* doc/gnulib-intro.texi: Likewise.
	* doc/gnulib-tool.texi: Likewise.
	* doc/gnulib.texi: Likewise.
	* doc/inet_ntoa.texi: Likewise.
	* doc/maintain.texi: Likewise.
	* doc/make-stds.texi: Likewise.
	* doc/quote.texi: Likewise.
	* doc/regexprops-generic.texi: Likewise.
	* doc/standards.texi: Likewise.
	* doc/verify.texi: Likewise.
	* doc/visibility.texi: Likewise.
	* doc/gnulib.texi (GNU Free Documentation License): Include
	fdl-1.3.texi instead of fdl.texi.

2008-11-04  Simon Josefsson  <simon@josefsson.org>

	* doc/fdl-1.3.texi: New file, from
	<http://www.gnu.org/licenses/fdl-1.3.texi>.
	* modules/fdl-1.3: Add.
	* MODULES.html.sh: Add fdl-1.3.

2008-11-03  Bruno Haible  <bruno@clisp.org>

	Make determination of absolute name of header file work with AIX xlc.
	* m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
	AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
	preprocessing.
	* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
	Reported by Gary V. Vaughan <gary@thewrittenword.com>.

2008-11-03  Simon Josefsson  <simon@josefsson.org>

	* top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
	-fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
	<ludo@gnu.org>.

2008-11-02  Bruno Haible  <bruno@clisp.org>

	Mark 'strpbrk' obsolete.
	* modules/strpbrk (Status, Notice): New sections.
	* modules/strtok_r (Depends-on): Add strpbrk.

2008-11-02  Bruno Haible  <bruno@clisp.org>

	Mark 'strdup' obsolete.
	* modules/strdup (Status, Notice): New sections.
	* modules/findprog (Depends-on): Add strdup.
	* modules/getaddrinfo (Depends-on): Likewise.
	* modules/localename (Depends-on): Likewise.
	* modules/relocatable-lib (Depends-on): Likewise.
	* modules/relocatable-lib-lgpl (Depends-on): Likewise.
	* modules/relocatable-prog (Depends-on): Likewise.
	* modules/trim (Depends-on): Likewise.
	* modules/unictype/gen-ctype (Depends-on): Likewise.
	* modules/unilbrk/gen-lbrk (Depends-on): Likewise.

2008-11-02  Bruno Haible  <bruno@clisp.org>

	Mark 'strcspn' obsolete.
	* modules/strcspn (Status, Notice): New sections.

2008-11-02  Bruno Haible  <bruno@clisp.org>

	Mark 'rmdir' obsolete.
	* modules/rmdir (Status, Notice): New sections.
	* modules/clean-temp (Depends-on): Add rmdir.
	* modules/openat (Depends-on): Likewise.

2008-11-02  Bruno Haible  <bruno@clisp.org>

	Mark 'raise' obsolete.
	* modules/raise (Status, Notice): New sections.
	(Include): Specify <signal.h>.
	* modules/stdio (Depends-on): Add raise.
	* modules/write (Depends-on): Likewise.

2008-11-02  Bruno Haible  <bruno@clisp.org>

	Mark 'memset' obsolete.
	* modules/memset (Status, Notice): New sections.

2008-11-02  Bruno Haible  <bruno@clisp.org>

	Mark 'memmove' obsolete.
	* modules/memmove (Status, Notice): New sections.
	* modules/argp (Depends-on): Add memmove.
	* modules/argz (Depends-on): Likewise.
	* modules/canonicalize (Depends-on): Likewise.
	* modules/canonicalize-lgpl (Depends-on): Likewise.
	* modules/fts (Depends-on): Likewise.
	* modules/getcwd (Depends-on): Likewise.
	* modules/human (Depends-on): Likewise.
	* modules/regex (Depends-on): Likewise.
	* modules/striconveh (Depends-on): Likewise.
	* modules/trim (Depends-on): Likewise.
	* modules/unistr/u8-move (Depends-on): Likewise.
	* modules/unistr/u16-move (Depends-on): Likewise.
	* modules/unistr/u32-move (Depends-on): Likewise.

2008-11-02  Bruno Haible  <bruno@clisp.org>

	Mark 'memcpy' obsolete.
	* modules/memcpy (Status, Notice): New sections.

2008-11-02  Bruno Haible  <bruno@clisp.org>

	Mark 'memcmp' obsolete.
	* modules/memcmp (Status, Notice): New sections.
	* modules/argmatch (Depends-on): Add memchr.
	* modules/backupfile (Depends-on): Likewise.
	* modules/c-strcasestr (Depends-on): Likewise.
	* modules/crypto/des (Depends-on): Likewise.
	* modules/csharpcomp (Depends-on): Likewise.
	* modules/fnmatch (Depends-on): Likewise.
	* modules/git-merge-changelog (Depends-on): Likewise.
	* modules/isnand (Depends-on): Likewise.
	* modules/isnand-nolibm (Depends-on): Likewise.
	* modules/isnanf (Depends-on): Likewise.
	* modules/isnanf-nolibm (Depends-on): Likewise.
	* modules/isnanl (Depends-on): Likewise.
	* modules/isnanl-nolibm (Depends-on): Likewise.
	* modules/mbchar (Depends-on): Likewise.
	* modules/memcoll (Depends-on): Likewise.
	* modules/quotearg (Depends-on): Likewise.
	* modules/regex (Depends-on): Likewise.
	* modules/relocatable-prog (Depends-on): Likewise.
	* modules/same (Depends-on): Likewise.
	* modules/signbit (Depends-on): Likewise.
	* modules/strcasestr-simple (Depends-on): Likewise.
	* modules/unictype/gen-ctype (Depends-on): Likewise.
	* modules/unilbrk/gen-lbrk (Depends-on): Likewise.
	* modules/uniname/uniname (Depends-on): Likewise.
	* modules/unistr/u8-cmp (Depends-on): Likewise.

2008-11-02  Bruno Haible  <bruno@clisp.org>

	Mark 'memchr' obsolete.
	* modules/memchr (Status, Notice): New sections.
	* modules/argp (Depends-on): Add memchr.
	* modules/base64 (Depends-on): Likewise.
	* modules/c-strcasestr (Depends-on): Likewise.
	* modules/chdir-long (Depends-on): Likewise.
	* modules/fnmatch (Depends-on): Likewise.
	* modules/getsubopt (Depends-on): Likewise.
	* modules/git-merge-changelog (Depends-on): Likewise.
	* modules/glob (Depends-on): Likewise.
	* modules/strcasestr-simple (Depends-on): Likewise.
	* modules/strnlen (Depends-on): Likewise.

2008-11-02  Bruno Haible  <bruno@clisp.org>

	Mark 'atexit' obsolete.
	* modules/atexit (Status, Notice): New sections.
	* modules/chdir-long (Depends-on): Add atexit.
	* modules/wait-process (Depends-on): Likewise.

2008-11-02  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: New option --with-obsolete.
	(func_usage): Document it.
	(func_modules_transitive_closure): Drop obsolete dependencies if
	incobsolete is not true.
	(func_import): Read and save the incobsolete variable to the cache.

2008-11-02  Bruno Haible  <bruno@clisp.org>

	* modules/TEMPLATE-EXTENDED: New field 'Status'.
	* gnulib-tool: New option --extract-status.
	(func_usage): Document it.
	(sed_extract_prog): Recognize it.
	(func_get_status): New function.

2008-10-30  Simon Josefsson  <simon@josefsson.org>

	* modules/sockets (License): Change from LGPL to LGPLv2+.

2008-10-28  Simon Josefsson  <simon@josefsson.org>

	* top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.

2008-10-28  Simon Josefsson  <simon@josefsson.org>

	* MODULES.html.sh (Support for systems lacking POSIX:2001):
	Mention times and sys_times.
	* modules/sys_times, modules/sys_times-tests: New modules.
	* modules/times, modules/times-tests: Likewise
	* m4/sys_times_h.m4: New file.
	* lib/sys_times.in.h: Likewise
	* lib/times.c: Likewise.
	* tests/test-sys_times.c: Likewise.
	* tests/test-times.c: Likewise.
	* doc/posix-headers/sys_times.texi: Update.
	* doc/posix-functions/times.texi: Update.

2008-10-28  Jim Meyering  <meyering@redhat.com>

	* modules/tempname (Depends-on): Add lstat.

	* modules/lstat (License): Relicense: LGPL -> LGPLv2+.

2008-10-28  Simon Josefsson  <simon@josefsson.org>

	* gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
	* modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
	using idiom used elsewhere in gnulib.

2008-10-27  Jim Meyering  <meyering@redhat.com>

	* modules/gethostname (License): Relicense: LGPL -> LGPLv2+.

2008-10-27  Simon Josefsson  <simon@josefsson.org>

	* gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
	TESTS_ENVIRONMENT, for shell scripts that needs to call built
	programs.
	* tests/test-argp-2.sh: Use $EXEEXT when needed.

2008-10-27  Simon Josefsson  <simon@josefsson.org>

	* lib/sys_stat.in.h (lstat): Fix declaration for mingw.

2008-10-27  Bruno Haible  <bruno@clisp.org>

	* tests/test-lstat.c: Include <stdio.h>.

2008-10-27  Simon Josefsson  <simon@josefsson.org>

	* modules/lstat-tests: New module.
	* tests/test-lstat.c: New file.

2008-10-26  Jim Meyering  <meyering@redhat.com>

	* lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.

2008-10-26  Simon Josefsson  <simon@josefsson.org>
	    Bruno Haible  <bruno@clisp.org>

	Fix a clash between the type DATADIR on Windows and the macro DATADIR.
	* modules/configmake (Include): Add a note that the include must come
	after all system headers.
	* lib/javaversion.c: Include configmake.h after all other includes.

2008-10-26  Bruno Haible  <bruno@clisp.org>

	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
	HAVE_STRUCT_RANDOM_DATA to 1.
	(gl_STDLIB_H): Simplify.

2008-10-26  Simon Josefsson  <simon@josefsson.org>

	* m4/stdlib_h.m4: Check for struct random_data.  Initialize and
	substitute HAVE_STRUCT_RANDOM_DATA.
	* lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
	random_data.
	* modules/stdlib (Makefile.am): Substitute
	HAVE_STRUCT_RANDOM_DATA.

2008-10-26  Simon Josefsson  <simon@josefsson.org>

	* doc/gnulib.texi (@copying): Use GFDLv1.2+.
	* doc/gnulib-intro.texi (Copyright): Likewise.

2008-10-26  Simon Josefsson  <simon@josefsson.org>

	* doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
	findings.

2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
	    Bruno Haible  <bruno@clisp.org>

	* lib/unistd.in.h: Include <winsock2.h>.
	(socket, connect,accept, bind, getpeername, getsockname, getsockopt,
	listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
	Provide dummy declarations.
	(gethostname): Override.
	* lib/sys_socket.in.h (gethostname): Provide dummy declaration.
	* m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
	gl_PREREQ_SYS_H_WINSOCK2.
	* modules/gethostname (Files): Add m4/sys_socket_h.m4.
	* doc/posix-functions/gethostname.texi: More details.

2008-10-25  Bruno Haible  <bruno@clisp.org>

	* m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
	gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
	* modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.

	* lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
	here ...
	* lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
	* m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
	gl_UNISTD_H_DEFAULTS.

2008-10-25  Eric Blake  <ebb9@byu.net>

	signbit: avoid spurious compiler failure
	* m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
	declarations inside function.

2008-10-24  Simon Josefsson  <simon@josefsson.org>
	    Bruno Haible  <bruno@clisp.org>

	* lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
	* modules/random_r (Depends-on): Add stdint.

2008-10-24  Bruno Haible  <bruno@clisp.org>

	* modules/intprops (License): Change to LGPLv2+, with approval by Paul
	Eggert.
	* modules/strerror (License): Likewise.

2008-10-24  Jim Meyering  <meyering@redhat.com>

	sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
	* modules/sys_socket (Depends-on) [Depends-on]: Fix typo.

2008-10-24  Eric Blake  <ebb9@byu.net>

	getgroups: fix compilation when getgroups is available
	* lib/getgroups.c (includes): Include <unistd.h> for getgroups,
	but with <config.h> override of getgroups disabled.

2008-10-24  Simon Josefsson  <simon@josefsson.org>

	* doc/gnulib.texi (Header files): Add note about C++ problems.
	Explained by Bruno Haible <bruno@clisp.org>.

2008-10-23  Bruno Haible  <bruno@clisp.org>

	Define a dummy SA_NODEFER macro on Interix.
	* lib/signal.in.h (SA_NODEFER): Define fallback.
	Reported by Aleksey Cheusov <cheusov@tut.by> via
	Thomas Klausner <wiz@netbsd.org> and Eric Blake.

2008-10-23  Bruno Haible  <bruno@clisp.org>

	* modules/freadahead (License): Change to LGPLv2+.
	Suggested by Simon Josefsson.

2008-10-23  Jim Meyering  <meyering@redhat.com>

	random_r: new module
	* modules/random_r: New file.
	* m4/random_r.m4: New file.
	* lib/random_r.c: New file, from glibc.
	* modules/random_r-tests: New file.
	* tests/test-random_r.c: New file.
	* lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
	 Declare.
	(RAND_MAX): Define.
	* m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
	* modules/stdlib: Substitute them, too.
	* MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
	* doc/glibc-functions/initstate_r.texi: Mention the new module.
	* doc/glibc-functions/random_r.texi: Likewise.
	* doc/glibc-functions/setstate_r.texi: Likewise.
	* doc/glibc-functions/srandom_r.texi: Likewise.
	* config/srclist.txt: Mention it.

2008-10-23  David Lutterkort  <lutter@redhat.com>

	* modules/selinux-h: Search for LIB_SELINUX and mark it as a
	link requirement

2008-10-23  Jim Meyering  <meyering@redhat.com>

	selinux-h: mark parameters of stub functions as intentionally unused
	* lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
	* lib/se-context.in.h: Likewise.

2008-10-22  Simon Josefsson  <simon@josefsson.org>

	* lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.

2008-10-22  Simon Josefsson  <simon@josefsson.org>

	* m4/getgroups.m4: Avoid invoking test with wrong parameters.

2008-10-22  Eric Blake  <ebb9@byu.net>

	glthread/thread: avoid compiler warning
	* lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
	Add unreachable abort to silence compiler.

2008-10-22  Eric Blake  <ebb9@byu.net>

	netdb: also supply struct addrinfo for cygwin 1.5.x
	* m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
	older cygwin.
	* lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
	cygwin.
	* doc/posix-headers/netdb.texi (netdb.h): Document this.

2008-10-22  Bruno Haible  <bruno@clisp.org>

	* users.txt: Update entry about pspp.

2008-10-21  Bruno Haible  <bruno@clisp.org>

	Simplification.
	* lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
	* lib/close.c (_gl_close_fd_maybe_socket): Make static.

	Simplification.
	* lib/ioctl.c (ioctl): Don't undefine.
	* lib/socket.c (socket): Don't undefine.

	Remove unused module indicator macros.
	* m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
	GNULIB_$1 as a C macro.

	* doc/posix-functions/close.texi: Undo last change.
	* doc/posix-functions/ioctl.texi: Merge the two paragraphs about
	Windows platforms.

2008-10-21  Bruno Haible  <bruno@clisp.org>

	Add gethostname() declaration to <unistd.h>.
	* lib/unistd.in.h (gethostname): New declaration.
	* lib/gethostname.c: Include <unistd.h>.
	* m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
	gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
	and HAVE_GETHOSTNAME.
	* modules/gethostname (Depends-on): Add unistd.
	(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
	(Include): Specify <unistd.h>.
	* modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
	HAVE_GETHOSTNAME.
	* tests/test-gethostname.c: Include <unistd.h> first.

2008-10-21  Bruno Haible  <bruno@clisp.org>

	* modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
	* modules/select-tests (Depends-on): Likewise.
	Reported by Simon Josefsson.

2008-10-21  Simon Josefsson  <simon@josefsson.org>

	* lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
	* lib/accept.c: New file, based on winsock.c.
	* lib/bind.c: New file, based on winsock.c.
	* lib/connect.c: New file, based on winsock.c.
	* lib/getpeername.c: New file, based on winsock.c.
	* lib/getsockname.c: New file, based on winsock.c.
	* lib/getsockopt.c: New file, based on winsock.c.
	* lib/ioctl.c: New file, based on winsock.c.
	* lib/listen.c: New file, based on winsock.c.
	* lib/recv.c: New file, based on winsock.c.
	* lib/recvfrom.c: New file, based on winsock.c.
	* lib/send.c: New file, based on winsock.c.
	* lib/sendto.c: New file, based on winsock.c.
	* lib/setsockopt.c: New file, based on winsock.c.
	* lib/shutdown.c: New file, based on winsock.c.
	* lib/socket.c: New file, based on winsock.c.
	* lib/w32sock.h: New file, based on winsock.c.
	* lib/winsock.c: Remove file.
	* modules/accept: Likewise.
	* modules/bind: Likewise.
	* modules/connect: Likewise.
	* modules/getpeername: Likewise.
	* modules/getsockname: Likewise.
	* modules/getsockopt: Likewise.
	* modules/ioctl: Likewise.
	* modules/listen: Likewise.
	* modules/recv: Likewise.
	* modules/recvfrom: Likewise.
	* modules/send: Likewise.
	* modules/sendto: Likewise.
	* modules/setsockopt: Likewise.
	* modules/shutdown: Likewise.
	* modules/socket: Use socket.c instead of winsock.c.
	* modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
	* doc/posix-functions/accept.texi: Doc fix.
	* doc/posix-functions/bind.texi: Doc fix.
	* doc/posix-functions/close.texi: Doc fix.
	* doc/posix-functions/connect.texi: Doc fix.
	* doc/posix-functions/getpeername.texi: Doc fix.
	* doc/posix-functions/getsockname.texi: Doc fix.
	* doc/posix-functions/getsockopt.texi: Doc fix.
	* doc/posix-functions/ioctl.texi: Doc fix.
	* doc/posix-functions/listen.texi: Doc fix.
	* doc/posix-functions/recv.texi: Doc fix.
	* doc/posix-functions/recvfrom.texi: Doc fix.
	* doc/posix-functions/send.texi: Doc fix.
	* doc/posix-functions/sendto.texi: Doc fix.
	* doc/posix-functions/setsockopt.texi: Doc fix.
	* doc/posix-functions/shutdown.texi: Doc fix.
	* doc/posix-functions/socket.texi: Doc fix.

2008-10-20  Bruno Haible  <bruno@clisp.org>

	Take into account the role of SIGABRT_COMPAT on Windows 2008.
	* lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
	(sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
	as an alias for SIGABRT.
	* lib/sigaction.c (SIGABRT_COMPAT): New macro.
	(sigaction): Map it to SIGABRT.
	Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.

2008-10-20  Bruno Haible  <bruno@clisp.org>

	* lib/fts.c: Don't include lstat.h.
	* lib/openat.c: Include <sys/stat.h> instead of lstat.h.

	Move the lstat() declaration to <sys/stat.h>.
	* lib/lstat.h: Remove file.
	* lib/sys_stat.in.h: Add special invocation convention.
	(lstat): New declaration.
	* lib/lstat.c (orig_lstat): New function.
	(rpl_lstat): Use orig_lstat instead of lstat.
	* m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
	AC_C_INLINE. Set REPLACE_LSTAT.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
	and REPLACE_LSTAT.
	* modules/lstat (Files): Remove lib/lstat.h.
	(configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
	(Include): Specify <sys/stat.h> instead of lstat.h.
	* modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
	REPLACE_LSTAT.
	* NEWS: Mention the change.

2008-10-20  Bruno Haible  <bruno@clisp.org>

	* modules/posix_spawn-tests: New file.
	* tests/test-posix_spawn3.c: New file.

2008-10-20  Bruno Haible  <bruno@clisp.org>

	* modules/posix_spawnp-tests (Depends-on): Add sys_wait.
	* tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
	WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
	* tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
	WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.

2008-10-20  Bruno Haible  <bruno@clisp.org>

	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
	of posix_spawn on AIX 5.3.

2008-10-20  Bruno Haible  <bruno@clisp.org>

	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.

2008-10-20  Bruno Haible  <bruno@clisp.org>

	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
	of AC_LANG_PROGRAM.

2008-10-20  Simon Josefsson  <simon@josefsson.org>

	* lib/netdb.in.h: Don't define GNU specific constants until they
	are supported or needed.  Reported by Bruno Haible
	<bruno@clisp.org>.

2008-10-20  Simon Josefsson  <simon@josefsson.org>

	* lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.

2008-10-20  Simon Josefsson  <simon@josefsson.org>

	* lib/getaddrinfo.h: Remove file.
	* modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
	* m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
	* lib/netdb.in.h: Add declarations from getaddrinfo.h.
	* m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
	* modules/netdb: Substitute GNULIB_GETADDRINFO.
	* lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
	* tests/test-getaddrinfo.c: Likewise.
	* lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
	* NEWS: Mention change.

2008-10-19  Bruno Haible  <bruno@clisp.org>

	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.

2008-10-19  Bruno Haible  <bruno@clisp.org>

	* lib/wait-process.c: Include simply <sys/wait.h>.
	(waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
	WIFSTOPPED): Remove fallback definitions.
	* modules/wait-process (Depends-on): Add sys_wait.

	New module 'sys_wait'.
	* modules/sys_wait: New file.
	* lib/sys_wait.in.h: New file, partially copied from
	lib/wait-process.c.
	* m4/sys_wait_h.m4: New file.
	* doc/posix-headers/sys_wait.texi: Mention the new module.

2008-10-19  Bruno Haible  <bruno@clisp.org>

	* m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.

2008-10-19  Bruno Haible  <bruno@clisp.org>

	Assume that waitpid() fills an 'int' status, not a 'union wait'.
	* lib/wait-process.c (WAIT_T): Remove type.
	(WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
	(wait_subprocess): Update.

2008-10-19  Bruno Haible  <bruno@clisp.org>

	New module 'atoll'.
	* modules/atoll: New file.
	* lib/stdlib.in.h (atoll): New declaration.
	* lib/atoll.c: New file, from glibc with modifications.
	* m4/atoll.m4: New file.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
	HAVE_ATOLL.
	* modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
	* doc/posix-functions/atoll.texi: Mention the new module.

2008-10-19  Bruno Haible  <bruno@clisp.org>

	Add strtoull() declaration to <stdlib.h>.
	* lib/stdlib.in.h (strtoull): New declaration.
	* m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
	Set HAVE_STRTOULL.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
	HAVE_STRTOULL.
	* modules/strtoull (Depends-on): Add stdlib.
	(configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
	* modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
	HAVE_STRTOULL.

2008-10-19  Bruno Haible  <bruno@clisp.org>

	Add strtoll() declaration to <stdlib.h>.
	* lib/stdlib.in.h (strtoll): New declaration.
	* m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
	Set HAVE_STRTOLL.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
	HAVE_STRTOLL.
	* modules/strtoll (Depends-on): Add stdlib.
	(configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
	* modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.

2008-10-19  Bruno Haible  <bruno@clisp.org>

	* modules/bcopy (Depends-on): Add strings.
	(Include): Specify <strings.h>.

2008-10-19  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/atexit.texi: Update doc regarding mingw.

2008-10-19  Bruno Haible  <bruno@clisp.org>

	* lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
	the parameter from 'errno' to 'errnum'. Fixes a compilation error on
	mingw.

2008-10-19  Bruno Haible  <bruno@clisp.org>

	* lib/atanl.c: Don't include isnanl.h.
	* lib/cosl.c: Likewise.
	* lib/ldexpl.c: Likewise.
	* lib/logl.c: Likewise.
	* lib/sinl.c: Likewise.
	* lib/sqrtl.c: Likewise.
	* lib/tanl.c: Likewise.

	Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
	* lib/isnanf.h: Remove file.
	* lib/isnand.h: Remove file.
	* lib/isnanl.h: Remove file.
	* lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
	lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
	macros.
	* m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
	HAVE_ISNANF, don't define it as a C macro.
	* m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
	HAVE_ISNAND, don't define it as a C macro.
	* m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
	HAVE_ISNANL, don't define it as a C macro.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
	HAVE_ISNAN[FDL].
	* modules/isnanf (Files): Remove lib/isnanf.h.
	(Depends-on): Add math.
	(configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
	(Include): Specify <math.h> instead of isnanf.h.
	* modules/isnand (Files): Remove lib/isnand.h.
	(Depends-on): Add math.
	(configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
	(Include): Specify <math.h> instead of isnand.h.
	* modules/isnanl (Files): Remove lib/isnanl.h.
	(Depends-on): Add math.
	(configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
	(Include): Specify <math.h> instead of isnanl.h.
	* modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
	HAVE_ISNAN[FDL].
	* tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
	* tests/test-isnand.c: Include <math.h> instead of isnand.h.
	* tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
	* NEWS: Mention the change.

2008-10-18  Bruno Haible  <bruno@clisp.org>

	Add getusershell(), setusershell(), endusershell() declarations to
	<unistd.h>.
	* lib/unistd.in.h (getusershell, setusershell, endusershell): New
	declarations.
	* lib/getusershell.c: Include unistd.h.
	* m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
	gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
	HAVE_GETUSERSHELL.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
	and HAVE_GETUSERSHELL.
	* modules/getusershell (Depends-on): Add unistd, extensions.
	(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
	(Include): Specify <unistd.h>.
	* modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
	HAVE_GETUSERSHELL.

2008-10-18  Bruno Haible  <bruno@clisp.org>

	Add a getloadavg() declaration to <stdlib.h>.
	* lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
	getloadavg declaration.
	(getloadavg): New declaration.
	* lib/getloadavg.c: Include <stdlib.h> first.
	* m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
	AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
	HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
	HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
	* modules/getloadavg (Depends-on): Add stdlib, extensions.
	(configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
	(Include): Specify <stdlib.h>.
	* modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
	HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.

2008-10-18  Bruno Haible  <bruno@clisp.org>

	* lib/dirchownmod.c: Don't include lchmod.h.

	Move the lchmod() declaration to <sys/stat.h>.
	* lib/lchmod.h: Remove file.
	* lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
	(lchmod): New declaration, moved here from lib/lchown.h.
	* m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
	AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
	and HAVE_LCHMOD.
	* modules/lchmod (Files): Remove lib/lchmod.h.
	(Depends-on): Add sys_stat, extensions.
	(configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
	(Include): Specify <sys/stat.h> instead of lchmod.h.
	* modules/sys_stat (Depends-on): Add link-warning.
	(Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
	definition of GL_LINK_WARNING.
	* NEWS: Mention the change.

2008-10-18  Bruno Haible  <bruno@clisp.org>

	* lib/fchdir.c: Don't include dirfd.h.
	* lib/fts.c: Likewise.
	* lib/getcwd.c: Likewise.
	* lib/glob.c: Likewise.

	Move the dirfd() declaration to <dirent.h>.
	* lib/dirfd.h: Remove file.
	* lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
	(dirfd): New declaration.
	* lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
	* m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
	AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
	HAVE_DECL_DIRFD.
	* m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
	HAVE_DECL_DIRFD.
	* modules/dirfd (Files): Remove lib/dirfd.h.
	(Depends-on): Add dirent, extensions.
	(configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
	(Include): Specify <dirent.h> instead of dirfd.h.
	* modules/dirent (Depends-on): Add link-warning.
	(Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
	definition of GL_LINK_WARNING.
	* NEWS: Mention the change.

2008-10-18  Bruno Haible  <bruno@clisp.org>

	Move the euidaccess() declaration to <unistd.h>.
	* lib/euidaccess.h: Remove file.
	* lib/unistd.in.h (euidaccess): New declaration.
	* lib/euidaccess.c: Don't include euidaccess.h.
	* m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
	Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
	and HAVE_EUIDACCESS.
	* modules/euidaccess (Files): Remove lib/euidaccess.h.
	(Depends-on): Add unistd.
	(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
	(Include): Specify <unistd.h> instead of euidaccess.h.
	* modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
	HAVE_EUIDACCESS.
	* NEWS: Mention the change.

2008-10-18  Bruno Haible  <bruno@clisp.org>

	* lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.

	Move the getdomainname() declaration to <unistd.h>.
	* lib/getdomainname.h: Remove file.
	* lib/unistd.in.h (getdomainname): New declaration.
	* lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
	* m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
	gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
	HAVE_GETDOMAINNAME.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
	GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
	* modules/getdomainname (Files): Remove lib/getdomainname.h.
	(Depends-on): Add unistd, extensions.
	(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
	(Includes): Specify <unistd.h> instead of getdomainname.h.
	* modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
	HAVE_GETDOMAINNAME.
	* NEWS: Mention the change.

2008-10-18  Bruno Haible  <bruno@clisp.org>

	* modules/dirent: New file.
	* m4/dirent_h.m4: New file.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
	Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
	* modules/fchdir (Files): Remove lib/dirent.in.h.
	(Depends-on): Add dirent.
	(Makefile.am): Move rules to modules/dirent.
	* doc/posix-headers/dirent.texi: Mention the new module.

2008-10-18  Bruno Haible  <bruno@clisp.org>

	Avoid -Wunused-parameter warnings in public gnulib header files.
	* m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
	macro.
	* lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.

2008-10-18  Bruno Haible  <bruno@clisp.org>

	* doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
	* doc/glibc-functions/error.texi: Mention the module 'error'.
	* doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
	* doc/glibc-functions/getdomainname.texi: Mention the module
	'getdomainname'.
	* doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
	* doc/glibc-functions/getpagesize.texi: Mention the module
	'getpagesize'.
	* doc/glibc-functions/getusershell.texi: Mention the module
	'getusershell'.
	* doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
	* doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
	* doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
	* doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
	* doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
	* doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
	* doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
	* doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
	* doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
	* doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
	* doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
	* doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
	* doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
	* doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.

2008-10-17  Bruno Haible  <bruno@clisp.org>

	* m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
	HP-UX and IRIX, use -0.0L.
	* tests/test-ceill.c (minus_zero): Likewise.
	* tests/test-floorl.c (minus_zero): Likewise.
	* tests/test-frexpl.c (minus_zero): Likewise.
	* tests/test-isnan.c (minus_zerol): Likewise.
	* tests/test-isnanl.h (minus_zero): Likewise.
	* tests/test-ldexpl.c (minus_zero): Likewise.
	* tests/test-roundl.c (minus_zero): Likewise.
	* tests/test-signbit.c (minus_zerol): Likewise.
	* tests/test-snprintf-posix.h (minus_zerol): Likewise.
	* tests/test-sprintf-posix.h (minus_zerol): Likewise.
	* tests/test-truncl.c (minus_zero): Likewise.
	* tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
	* tests/test-vasprintf-posix.c (minus_zerol): Likewise.
	Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
	and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.

2008-10-17  Bruno Haible  <bruno@clisp.org>

	Avoid gcc warnings because of #pragma GCC system_header on older gcc.
	* lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
	that it gets activated only for gcc >= 3.0.
	* lib/dirent.in.h: Likewise.
	* lib/errno.in.h: Likewise.
	* lib/fcntl.in.h: Likewise.
	* lib/float.in.h: Likewise.
	* lib/iconv.in.h: Likewise.
	* lib/inttypes.in.h: Likewise.
	* lib/locale.in.h: Likewise.
	* lib/math.in.h: Likewise.
	* lib/netdb.in.h: Likewise.
	* lib/netinet_in.in.h: Likewise.
	* lib/search.in.h: Likewise.
	* lib/signal.in.h: Likewise.
	* lib/spawn.in.h: Likewise.
	* lib/stdarg.in.h: Likewise.
	* lib/stdint.in.h: Likewise.
	* lib/stdio.in.h: Likewise.
	* lib/stdlib.in.h: Likewise.
	* lib/string.in.h: Likewise.
	* lib/strings.in.h: Likewise.
	* lib/sys_file.in.h: Likewise.
	* lib/sys_ioctl.in.h: Likewise.
	* lib/sys_select.in.h: Likewise.
	* lib/sys_socket.in.h: Likewise.
	* lib/sys_stat.in.h: Likewise.
	* lib/sys_time.in.h: Likewise.
	* lib/sysexits.in.h: Likewise.
	* lib/time.in.h: Likewise.
	* lib/unistd.in.h: Likewise.
	* lib/wchar.in.h: Likewise.
	* lib/wctype.in.h: Likewise.
	Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.

2008-10-17  Jim Meyering  <meyering@redhat.com>

	ignore-value: don't depend on inline module
	* modules/ignore-value (Depends-on): Remove 'inline'.
	(configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
	Suggestion from Bruno Haible.

2008-10-17  Bruno Haible  <bruno@clisp.org>

	New implementation of condition variables for Win32.
	* lib/glthread/cond.h (struct gl_waitqueue_link): New type.
	(gl_linked_waitqueue_t): New type.
	(gl_cond_t): Use it.
	* lib/glthread/cond.c (struct gl_waitqueue_element): New type.
	(gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
	gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
	(glthread_cond_init_func, glthread_cond_wait_func,
	glthread_cond_timedwait_func, glthread_cond_signal_func,
	glthread_cond_broadcast_func, glthread_cond_destroy_func):
	Reimplemented on the basis of gl_linked_waitqueue_t.
	* lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
	gl_waitqueue_t.
	(gl_rwlock_t): Update.
	* lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.

2008-10-17  Simon Josefsson  <simon@josefsson.org>

	* modules/recvfrom (Depends-on): Add dependency on getpeername.
	Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.

2008-10-17  Jim Meyering  <meyering@redhat.com>

	ignore-value: new module
	* modules/ignore-value: New file.
	* lib/ignore-value.h: New file.
	* MODULES.html.sh (Compiler warning management): New section,
	just for this module.  More to come.

2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>

	open-safer.c: avoid 'signed and unsigned in conditional...' warning
	* lib/open-safer.c (open_safer): Use an "if/else" statement in place
	of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.

2008-10-16  Jim Meyering  <meyering@redhat.com>

	openat-die.c: avoid 'no previous prototype' warning
	* lib/openat-die.c: Include "openat.h".
	Reported by Reuben Thomas <rrt@sc3d.org>.

2008-10-16  Simon Josefsson  <simon@josefsson.org>

	* m4/netdb_h.m4: Assume that if netdb.h exists, it works.
	* lib/netdb.in.h: Fix typo.
	Reported by Bruno Haible  <bruno@clisp.org>

	* lib/netdb.in.h: Include sys/socket.h for platforms without
	netdb.h, to get structures like hostent on MinGW.
	* modules/netdb (Depends-on): Add sys_socket.

2008-10-15  Simon Josefsson  <simon@josefsson.org>

	* modules/netdb, modules/netdb-tests: New file.
	* m4/netdb_h.m4: New file.
	* lib/netdb.in.h: Add, currently just an empty file pending
	definitions.
	* tests/test-netdb.c: New file.
	* doc/posix-headers/netdb.texi: Mention that we replace it if
	needed.
	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add
	netdb.

2008-10-15  Simon Josefsson  <simon@josefsson.org>

	* doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
	with code.

2008-10-13  Bruno Haible  <bruno@clisp.org>

	* lib/glthread/cond.c (glthread_cond_wait_func,
	glthread_cond_timedwait_func): Add a comment.

2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>

	* tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
	* tests/test-select.c: Likewise,

2008-10-13  Bruno Haible  <bruno@clisp.org>

	* lib/glthread/cond.c (glthread_cond_wait_func,
	glthread_cond_timedwait_func): Fix variable name.
	Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.

2008-10-13  Paolo Bonzini  <bonzini@gnu.org>

	fix getaddrinfo emulation for systems with struct sockaddr.sa_len
	* m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
	struct sockaddr.sa_len.
	* lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.

2008-10-13  Simon Josefsson  <simon@josefsson.org>

	* build-aux/pmccabe2html: Add css and css_url parameters.

2008-10-12  Bruno Haible  <bruno@clisp.org>

	* tests/test-sameacls.c (main) [AIX]: Clear type argument before
	calling aclx_get.
	Reported by Rainer Tammer <tammer@tammer.net>.

2008-10-12  Bruno Haible  <bruno@clisp.org>

	Use msvcrt aware primitives for creation/termination of Win32 threads.
	* lib/glthread/thread.c: Include <process.h>.
	(glthread_create_func): Use _beginthreadex instead of CreateThread.
	(wrapper_func): Update signature.
	(gl_thread_exit_func): Use _endthreadex instead of EndThread.

2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
	    Bruno Haible  <bruno@clisp.org>

	Provide a Win32 implementation of the 'cond' module.
	* lib/glthread/cond.h [USE_WIN32]: New implementation.
	* lib/glthread/cond.c (glthread_cond_init_func,
	glthread_cond_wait_func, glthread_cond_timedwait_func,
	glthread_cond_signal_func, glthread_cond_broadcast_func,
	glthread_cond_destroy_func) [USE_WIN32]: New functions.
	* modules/cond (Dependencies): Add gettimeofday.

2008-10-11  Bruno Haible  <bruno@clisp.org>

	Make sleep work on older versions of mingw.
	* m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
	only whether it exists.
	* doc/posix-functions/sleep.texi: Mention the problem with older
	versions of mingw.

2008-10-11  Bruno Haible  <bruno@clisp.org>

	New module 'shutdown'.
	* modules/shutdown: New file.
	* lib/sys_socket.in.h (shutdown): New declaration.
	* lib/winsock.c (shutdown): New function.
	* m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
	GNULIB_SHUTDOWN.
	* modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
	* doc/posix-functions/shutdown.texi: Document the new module.

2008-10-11  Jim Meyering  <meyering@redhat.com>

	* lib/fclose.c: Fix typo in comment: s/close/fclose/.

2008-10-11  Bruno Haible  <bruno@clisp.org>

	New module 'fclose'.
	* modules/fclose: New file.
	* lib/stdio.in.h (fclose): New declaration.
	* lib/fclose.c: New file.
	* m4/fclose.m4: New file.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
	REPLACE_FCLOSE.
	* m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
	* modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
	REPLACE_FCLOSE.
	* modules/close (Depends-on): fclose.
	* doc/posix-functions/fclose.texi: Mention the problem on Windows.

2008-10-11  Bruno Haible  <bruno@clisp.org>

	* lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
	set errno and don't call _close.

2008-10-10  Bruno Haible  <bruno@clisp.org>

	* lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
	ACL, not afterwards. Fixes test failure on Cygwin.

2008-10-09  Ben Pfaff  <blp@gnu.org>

	* build-aux/announce-gen: Fix gnulib version related part of usage
	message.  Die with a useful error message if no tarballs are
	found.

2008-10-10  Jim Meyering  <meyering@redhat.com>

	bootstrap: use git's --depth=N option only if it's supported
	* build-aux/bootstrap: Work with git-1.4.4.4, which does not
	recognize the --depth option.  Reported by Pádraig Brady.

2008-10-09  Bruno Haible  <bruno@clisp.org>

	New module 'ioctl'.
	* modules/ioctl: New file.
	* lib/sys_socket.in.h (ioctl): Remove declaration.
	* lib/winsock.c: Include <sys/ioctl.h>.
	(rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
	* m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
	gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
	* modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
	* doc/posix-functions/ioctl.texi: Mention the new module.

2008-10-09  Bruno Haible  <bruno@clisp.org>

	New module 'sys_ioctl'.
	* lib/sys_ioctl.in.h: New file.
	* m4/sys_ioctl_h.m4: New file.
	* modules/sys_ioctl: New file.
	* doc/glibc-headers/sys_ioctl.texi: Mention the new module.

2008-10-09  Bruno Haible  <bruno@clisp.org>

	* lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
	* lib/winsock.c: Include <stdarg.h>.
	(rpl_ioctl): Change to second argument 'int' and then varargs.

2008-10-09  Bruno Haible  <bruno@clisp.org>

	* m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
	when the sys_socket module is present and the system has <winsock2.h>.

2008-10-09  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/close.texi: Mention module 'close' instead of
	module 'sys_socket'.

2008-10-09  Bruno Haible  <bruno@clisp.org>

	* doc/glibc-headers/sys_ioctl.texi: New file.
	* doc/gnulib.texi: Include it.

2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	Combine the two replacements of 'close'.
	* lib/sys_socket.in.h (close): Define to a reminder to include
	<unistd.h>.
	(_gl_close_fd_maybe_socket): New declaration.
	(HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
	* lib/winsock.c (close): Remove undefinition.
	(_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
	needed for the gnulib module 'close'.
	* lib/unistd.in.h (close): If the gnulib module 'close' is not used,
	define to an error symbol or to a warning, if suitable.
	* lib/close.c: Include <sys/socket.h>.
	(rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
	* m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
	UNISTD_H_HAVE_WINSOCK2_H.
	(gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
	UNISTD_H_HAVE_WINSOCK2_H.
	* modules/sys_socket (Files): Add m4/unistd_h.m4.
	(configure.ac): Set a module indicator.
	(Makefile.am): Substitute GNULIB_CLOSE.
	* modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
	* modules/poll-tests (Depends-on): Add close.
	* modules/select-tests (Depends-on): Likewise.

2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	New module 'close'.
	* modules/close: New file.
	* lib/unistd.in.h (close): Move declaration out of the
	FCHDIR_REPLACEMENT scope.
	(_gl_unregister_fd): New declaration.
	* lib/close.c: New file.
	* lib/fchdir.c (rpl_close): Remove function.
	* m4/close.m4: New file.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
	close.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
	REPLACE_CLOSE.
	* modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
	REPLACE_CLOSE.
	* modules/fchdir (Depends-on): Add close.

2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	* lib/fcntl.in.h (open): Simplify conditionals.
	(_gl_register_fd): New declaration.
	* lib/fchdir.c (rpl_open): Remove function.
	* lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
	also.
	(open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
	open.

2008-10-09  Jim Meyering  <meyering@redhat.com>

	GNUmakefile: use the more name-space-friendly "_version"
	* top/GNUmakefile (_dummy): Update.
	(_version): Rename from "version".

2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	* lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
	rpl_close.
	(_gl_register_fd): New function, extracted from rpl_open.
	(rpl_close, rpl_closedir): Use _gl_unregister_fd.
	(rpl_open, rpl_opendir): Use _gl_register_fd.

2008-10-09  Paolo Bonzini  <bonzini@gnu.org>

	Fix organization of 'open' replacement.
	* m4/open.m4 (gl_REPLACE_OPEN): New macro.
	(gl_FUNC_OPEN): Use it.
	(gl_PREREQ_OPEN): Add a : to make the body non-empty.

2008-10-08  Bruno Haible  <bruno@clisp.org>

	* modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.

2008-10-08  Simon Josefsson  <simon@josefsson.org>

	* m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
	AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
	listen).

2008-10-08  Eric Blake  <ebb9@byu.net>

	GNUmakefile: add 'make version' target
	* top/GNUmakefile (_curr-ver): Split version update rules...
	(version): ...into a target.

2008-10-07  Bruno Haible  <bruno@clisp.org>

	Use a more portable replacement expression for -0.0L.
	* m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
	instead of -0.0L. Fix m4 quotation.

	* tests/test-signbit.c: Include <float.h>.
	(minus_zero): New variable.
	(test_signbitl): Use minus_zero instead of -zero.
	* modules/signbit-tests (Depends-on): Add float.

	* tests/test-ceill.c: Include <float.h>.
	(zero): Remove variable.
	(minus_zero): New variable.
	(main): Use minus_zero instead of -zero.
	* modules/ceill-tests (Depends-on): Add float.

	* tests/test-floorl.c: Include <float.h>.
	(zero): Remove variable.
	(minus_zero): New variable.
	(main): Use minus_zero instead of -zero.
	* modules/floorl-tests (Depends-on): Add float.

	* tests/test-roundl.c: Include <float.h>.
	(zero): Remove variable.
	(minus_zero): New variable.
	(main): Use minus_zero instead of -zero.
	* modules/roundl-tests (Depends-on): Add float.

	* tests/test-truncl.c: Include <float.h>.
	(zero): Remove variable.
	(minus_zero): New variable.
	(main): Use minus_zero instead of -zero.
	* modules/truncl-tests (Depends-on): Add float.

	* tests/test-frexpl.c (zero): Remove variable.
	(minus_zero): New variable.
	(main): Use minus_zero instead of -zero.
	* modules/frexpl-tests (Depends-on): Add float.

	* tests/test-isnan.c (zerol): Remove variable.
	(minus_zerol): New variable.
	(test_long_double): Use minus_zerol instead of -zerol.
	* modules/isnan-tests (Depends-on): Add float.

	* tests/test-isnanl.h (zero): Remove variable.
	(minus_zero): New variable.
	(main): Use minus_zero instead of -zero.
	* modules/isnanl-nolibm-tests (Depends-on): Add float.
	* modules/isnanl-tests (Depends-on): Add float.

	* tests/test-ldexpl.c (zero): Remove variable.
	(minus_zero): New variable.
	(main): Use minus_zero instead of -zero.
	* modules/ldexpl-tests (Depends-on): Add float.

	* tests/test-snprintf-posix.h (zerol): Remove variable.
	(minus_zerol): New variable.
	(test_function): Use minus_zerol instead of -zerol.
	* modules/snprintf-posix-tests (Depends-on): Add float.
	* modules/vsnprintf-posix-tests (Depends-on): Add float.

	* tests/test-sprintf-posix.h (zerol): Remove variable.
	(minus_zerol): New variable.
	(test_function): Use minus_zerol instead of -zerol.
	* modules/sprintf-posix-tests (Depends-on): Add float.
	* modules/vsprintf-posix-tests (Depends-on): Add float.

	* tests/test-vasnprintf-posix.c (zerol): Remove variable.
	(minus_zerol): New variable.
	(test_function): Use minus_zerol instead of -zerol.
	* modules/vasnprintf-posix-tests (Depends-on): Add float.

	* tests/test-vasprintf-posix.c (zerol): Remove variable.
	(minus_zerol): New variable.
	(test_function): Use minus_zerol instead of -zerol.
	* modules/vasprintf-posix-tests (Depends-on): Add float.

2008-10-07  Simon Josefsson  <simon@josefsson.org>

	* MODULES.html.sh (Support for building documentation): Mention
	pmccabe2html.  Sort entries.

	Add pmccabe2html module, from gnupdf.
	* build-aux/pmccabe.css: New file.
	* build-aux/pmccabe2html: New file.
	* m4/pmccabe2html.m4: New file.
	* modules/pmccabe2html: New file.

2008-10-07  Richard W.M. Jones  <rjones@redhat.com>

	flock: new module
	* MODULES.html.sh: Add to list of modules.
	* lib/flock.c: flock implementation for Windows and Unix systems
	which have fcntl.
	* doc/glibc-functions/flock.texi: Update documentation.
	* lib/sys_file.in.h: <sys/file.h> header file.
	* m4/flock.m4: M4 macros.
	* m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
	* modules/flock: flock module.
	* modules/flock-tests: flock tests module.
	* modules/sys_file: sys/file.h module.
	* tests/test-flock.c: test suite for flock.

2008-10-06  Jim Meyering  <meyering@redhat.com>

	bootstrap: check for LT_INIT more portably still ;-)
	* build-aux/bootstrap: Don't rely on \>, since it's not portable.
	Spotted by Bruno Haible.

2008-10-06  Eric Blake  <ebb9@byu.net>

	test-signbit: avoid tripping Irix cc bug on -0.0L
	* tests/test-signbit.c (minus_zerol): Delete, and replace with
	'-zerol'.  This may break on HP-UX/hppa, but at least makes the
	entire testsuite consistent and avoids an Irix 6.2 bug.

2008-10-05  Bruno Haible  <bruno@clisp.org>
	    Jim Meyering  <jim@meyering.net>

	Add an option for ignoring EPIPE during close_stdout.
	* lib/closeout.h: Include <stdbool.h>.
	(close_stdout_set_ignore_EPIPE): New declaration.
	* lib/closeout.c: Include <stdbool.h>.
	(ignore_EPIPE): New variable.
	(close_stdout_set_ignore_EPIPE): New function.
	(close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
	* lib/close-stream.c (close_stream): Mention the possible EPIPE
	failure.
	* modules/closeout (Depends-on): Add stdbool.

2008-10-05  Bruno Haible  <bruno@clisp.org>

	* modules/accept: New file.
	* modules/bind: New file.
	* modules/connect: New file.
	* modules/getpeername: New file.
	* modules/getsockname: New file.
	* modules/getsockopt: New file.
	* modules/listen: New file.
	* modules/recv: New file.
	* modules/recvfrom: New file.
	* modules/send: New file.
	* modules/sendto: New file.
	* modules/setsockopt: New file.
	* modules/socket: New file.
	* lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
	(socket, connect, accept, bind, getpeername, getsockname, getsockopt,
	listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
	the particular module is requested. Add a link warning when the
	particular module is not requested.
	* lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
	rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
	rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
	the particular module is requested.
	* m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
	gl_SYS_SOCKET_H_DEFAULTS): New macros.
	(gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
	* modules/sys_socket (Depends-on): Add link-warning.
	(Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
	GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
	GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
	GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
	GL_LINK_WARNING.
	* doc/posix-functions/accept.texi: Mention the new module 'accept'.
	* doc/posix-functions/bind.texi: Mention the new module 'bind'.
	* doc/posix-functions/connect.texi: Mention the new module 'connect'.
	* doc/posix-functions/getpeername.texi: Mention the new module
	'getpeername'.
	* doc/posix-functions/getsockname.texi: Mention the new module
	'getsockname'.
	* doc/posix-functions/getsockopt.texi: Mention the new module
	'getsockopt'.
	* doc/posix-functions/listen.texi: Mention the new module 'listen'.
	* doc/posix-functions/recv.texi: Mention the new module 'recv'.
	* doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
	* doc/posix-functions/send.texi: Mention the new module 'send'.
	* doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
	* doc/posix-functions/setsockopt.texi: Mention the new module
	'setsockopt'.
	* doc/posix-functions/socket.texi: Mention the new module 'socket'.
	* modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
	listen, connect, accept.
	* modules/select-tests (Depends-on): Likewise.

2008-10-05  Bruno Haible  <bruno@clisp.org>

	* lib/winsock.c (strerror): Remove unused #undef.
	(rpl_close): Remove unused local variable.

	* modules/sys_socket (Depends-on); Add errno.

2008-10-05  Bruno Haible  <bruno@clisp.org>

	* lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
	(select): Add a link warning when the 'select' module is not used.
	* modules/sys_select (Depends-on): Add link-warning.
	(Makefile.am): Substitute the definition of GL_LINK_WARNING.
	Suggested by Paolo Bonzini.

2008-10-05  Jim Meyering  <meyering@redhat.com>

	bootstrap: check for LT_INIT more portably
	* build-aux/bootstrap: Avoid using grep -E, since it's not
	portable enough.  Suggestion from Bruno Haible.

2008-10-05  Bruno Haible  <bruno@clisp.org>

	* doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
	as being fixed by gnulib.

2008-10-05  Bruno Haible  <bruno@clisp.org>

	* modules/select-tests: New file, mostly copied from
	modules/sys_select-tests.
	* tests/test-select.c: New file, mostly copied from
	tests/test-sys_select.c.
	* tests/test-sys_select.c: Move most of the code to tests/test-select.c.
	* modules/sys_select-tests (Depends-on): Remove all dependencies.
	(Makefile.am): Remove test_sys_select_LDADD.

	* lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
	to an undefined symbol, for an error message.
	* m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
	(gl_SYS_SELECT_H_DEFAULTS): New macro.
	(gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
	winsock-select.c here.
	* modules/sys_select (Files): Remove lib/winsock-select.c.
	(Depends-on): Remove alloca.
	(Makefile.am): Substitute GNULIB_SELECT.
	* modules/select: New file.
	* doc/posix-functions/select.texi: Update.

2008-10-05  Bruno Haible  <bruno@clisp.org>

	* lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
	* lib/spawn_faction_adddup2.c (__sysconf): Likewise.
	* lib/spawn_faction_addopen.c (__sysconf): Likewise.
	* modules/posix_spawn_file_actions_addclose (Depends-on): Add
	getdtablesize.
	* modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
	* modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.

2008-10-05  Bruno Haible  <bruno@clisp.org>

	* modules/getdtablesize-tests: New file.
	* tests/test-getdtablesize.c: New file.

	New module 'getdtablesize'.
	* lib/unistd.in.h (getdtablesize): New declaration.
	* lib/getdtablesize.c: New file.
	* m4/getdtablesize.m4: New file.
	* modules/getdtablesize: New file.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
	GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
	* modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
	HAVE_GETDTABLESIZE.
	* doc/glibc-functions/getdtablesize.texi: Mention the new module.

2008-10-05  Bruno Haible  <bruno@clisp.org>

	* modules/sched (Makefile.am): Fix typo.
	Reported by Simon Josefsson.

2008-10-05  Jim Meyering  <meyering@redhat.com>

	bootstrap: check for LT_INIT, too
	* build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
	are deprecated.  Suggestion from Ralf Wildenhues.

2008-10-05  Bruno Haible  <bruno@clisp.org>

	* lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
	overriding them by ours.
	(POSIX_SPAWN_USEVFORK): Use the next free bit position.

2008-10-05  Jim Meyering  <meyering@redhat.com>

	bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
	* build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
	obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.

2008-10-04  Bruno Haible  <bruno@clisp.org>

	* modules/dup2 (License): Change to LGPLv2+.
	* modules/sleep (License): Likewise.
	* modules/perror (License): Likewise.
	* modules/fopen (License): Change to LGPLv2+, with approval by Eric
	Blake.
	* modules/signal (License): Likewise.
	* modules/sigprocmask (License): Likewise.
	* modules/raise (License): Change to LGPLv2+, with approval by Jim
	Meyering.

2008-10-04  Bruno Haible  <bruno@clisp.org>

	* lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
	Reported by Rainer Tammer <tammer@tammer.net>.

2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	* lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
	* lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
	* lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.

2008-10-03  Kamil Dudka  <kdudka@redhat.com>

	filevercmp: new module
	* lib/filevercmp.h: New function filevercmp comparing version strings.
	* lib/filevercmp.c: Implementation of filevercmp function.
	* modules/filevercmp: Module metadata.
	* tests/test-filevercmp.c: Unit test for new module.
	* modules/filevercmp-tests: Unit test metadata.
	* MODULES.html.sh: Add filevercmp module.

2008-10-03  Bruno Haible  <bruno@clisp.org>

	* lib/c-ctype.h: Add comment.
	Reported by Jim Meyering.

2008-10-02  Bruno Haible  <bruno@clisp.org>

	* modules/posix_spawn-internal (Depends-on): Add 'open'.

2008-10-02  Paolo Bonzini  <bonzini@gnu.org>

	* build-aux/bootstrap: Allow renaming bootstrap, and change the
	name of bootstrap.conf accordingly.

2008-10-02  Paolo Bonzini  <bonzini@gnu.org>

	* build-aux/bootstrap: Install git-merge-changelog configuration
	items into .gitconfig if needed.

2008-10-02  Paolo Bonzini  <bonzini@gnu.org>

	* build-aux/bootstrap: Recognize `gnulib' being a submodule in a
	git repository, and initialize/update it accordingly.

2008-10-02  Richard W.M. Jones  <rjones@redhat.com>

	* modules/fsync-tests: New file.
	* tests/test-fsync.c: New file.

	New module 'fsync'.
	* lib/fsync.c: New file.
	* m4/fsync.m4: New file.
	* modules/fsync: New file.
	* lib/unistd.in.h (fsync): New declaration.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
	GNULIB_FSYNC and HAVE_FSYNC.
	* modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
	* MODULES.html.sh (posix_functions): Add fsync.
	* doc/posix-functions/fsync.texi: Mention the new module.

2008-10-02  Jim Meyering  <meyering@redhat.com>

	fts.c: sync with similar code from coreutils' remove.c
	* lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
	Guard also with "#if defined __linux__", since for now at least,
	this code is Linux-kernel-specific.

2008-10-02  Jim Meyering  <meyering@redhat.com>

	fts: bug fixes
	* lib/fts.c: Remove unnecessary "defined" in cpp directive.
	Include <sys/vfs.h>, not <sys/statfs.h>.

	* m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
	Include <sys/vfs.h>, not <sys/statfs.h>.

2008-10-01  Bruno Haible  <bruno@clisp.org>

	Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
	* m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
	(gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
	* doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
	* doc/posix-functions/posix_spawnp.texi: Likewise.
	* m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
	whether posix_spawn actually works.
	* m4/pipe.m4 (gl_PIPE): Likewise.
	* modules/execute (Files): Add m4/posix_spawn.m4.
	* modules/pipe (Files): Add m4/posix_spawn.m4.
	Reported and analyzed by Rainer Tammer <tammer@tammer.net>.

2008-10-01  Jim Meyering  <meyering@redhat.com>

	remove trailing spaces
	* NEWS: Likewise.
	* lib/poll.c (poll): Likewise.
	* lib/sys_socket.in.h (SHUT_RDWR): Likewise.
	* lib/winsock.c (rpl_close): Likewise.
	* m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
	* modules/yield: Likewise.
	* tests/test-poll.c (connect_to_socket, poll1): Likewise.
	* tests/test-sys_select.c (connect_to_socket): Likewise.

	fts.c: adjust a new interface to be more generally useful
	* lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
	(fts_build): Adjust caller.

2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	* modules/cond-tests: New file.
	* tests/test-cond.c: New file.

2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
	    Bruno Haible  <bruno@clisp.org>

	* modules/cond (Dependencies): Add errno, time.
	* lib/glthread/cond.h: Include <time.h>.
	(gl_cond_define, gl_cond_define_initialized): Use the same definition
	across platforms.

2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
	    Bruno Haible  <bruno@clisp.org>

	* m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.

2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
	    Bruno Haible  <bruno@clisp.org>

	* modules/tls-tests (Depends-on): Add thread, yield.
	(configure.ac): Remove all checks.
	(test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
	* tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
	gl_thread_self): Remove definitions. Include glthread/thread.h and
	glthread/yield.h instead.
	(test_tls): Pass an additional NULL argument to gl_thread_join.

2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
	    Bruno Haible  <bruno@clisp.org>

	* modules/lock-tests (Depends-on): Add thread, yield.
	(configure.ac): Remove all checks.
	(test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
	* tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
	gl_thread_self): Remove definitions. Include glthread/thread.h and
	glthread/yield.h instead.
	(test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
	additional NULL argument to gl_thread_join.

2008-09-30  Bruno Haible  <bruno@clisp.org>

	Fix the Win32 implementation of the 'thread' module.
	* lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
	pointer type.
	(gl_thread_self): Invoke gl_thread_self_func.
	(gl_thread_self_func): New declaration.
	* lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
	(do_init_self_key, init_self_key): New functions.
	(struct gl_thread_struct): Renamed from 'struct thread_extra'.
	Remove some fields.
	(running_threads, running_lock): Remove variables.
	(get_current_thread_handle): New function.
	(gl_thread_self_func, wrapper_func, glthread_create_func,
	glthread_join_func, gl_thread_exit_func): Largely rewritten and
	simplified.

2008-09-30  Bruno Haible  <bruno@clisp.org>

	* lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
	files.

2008-09-30  Jim Meyering  <meyering@redhat.com>

	fts.m4: correct the test for statfs.f_type
	* m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
	when checking for statfs.f_type.

2008-09-15  Simon Josefsson  <simon@josefsson.org>

	tests: avoid some compiler warnings
	* tests/test-memchr.c (main): Pass NULL indirectly.
	* tests/test-getdate.c (main): Remove unused variable 'ret'.

2008-09-29  Ondřej Vašík  <ovasik@redhat.com>

	getdate.y: disallow countable dayshifts like "4 yesterday ago"
	* lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
	exactly specified dayshifts.
	(dayshift): New rule.
	(rel): Add dayshift.
	(relative_time_table) [tomorrow, yesterday, today, now]:
	Use tDAY_SHIFT in place of tDAY_UNIT.
	* tests/test-getdate.c: Add tests for now-disallowed countable
	dayshifts, e.g., "4 yesterday ago".

2008-09-29  Bruno Haible  <bruno@clisp.org>

	* tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
	* tests/test-posix_spawn1.in.sh: Renamed from
	tests/test-posix_spawn.in.sh.
	* tests/test-posix_spawn2.c: New file.
	* tests/test-posix_spawn2.in.sh: New file.
	* modules/posix_spawnp-tests (Files): Update.
	(Makefile.am): Update. Add test-posix_spawn2 to the tests.

2008-09-29  Bruno Haible  <bruno@clisp.org>

	Propagate effects of putenv/setenv/unsetenv to child processes.
	* lib/execute.c (execute): Use spawnvpe instead of spawnvp.
	* lib/pipe.c (create_pipe): Likewise.

2008-09-29  Bruno Haible  <bruno@clisp.org>

	Enable use of shell scripts as executables in mingw.
	* lib/execute.c (execute): When spawnv fails with error ENOEXEC,
	run the program as a shell script.
	* lib/pipe.c (create_pipe): Likewise.
	* lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
	resulting array.

2008-09-29  Eric Blake  <ebb9@byu.net>

	* m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.

2008-08-24  Paolo Bonzini  <bonzini@gnu.org>

	* doc/posix-functions/accept.texi: Update mingw problems.
	* doc/posix-functions/bind.texi: Update mingw problems.
	* doc/posix-functions/close.texi: Update mingw problems.
	* doc/posix-functions/connect.texi: Update mingw problems.
	* doc/posix-functions/getpeername.texi: Update mingw problems.
	* doc/posix-functions/getsockname.texi: Update mingw problems.
	* doc/posix-functions/getsockopt.texi: Update mingw problems.
	* doc/posix-functions/ioctl.texi: Update mingw problems.
	* doc/posix-functions/listen.texi: Update mingw problems.
	* doc/posix-functions/recv.texi: Update mingw problems.
	* doc/posix-functions/recvfrom.texi: Update mingw problems.
	* doc/posix-functions/select.texi: Update mingw problems.
	* doc/posix-functions/send.texi: Update mingw problems.
	* doc/posix-functions/sendto.texi: Update mingw problems.
	* doc/posix-functions/setsockopt.texi: Update mingw problems.
	* doc/posix-functions/socket.texi: Update mingw problems.

2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	* lib/sys_select.in.h: Include sys/time.h.
	* m4/sys_select.h.m4: Test that struct timeval is fully defined.
	* modules/sys_select: Depend on sys_time.
	* tests/test-sys_select.c: Test that sys/select.h defines struct
	timeval fully.

2008-09-29  Bruno Haible  <bruno@clisp.org>

	* lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
	* lib/sys_select.in.h: Likewise.

2008-09-29  Bruno Haible  <bruno@clisp.org>

	* lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.

2008-09-29  Bruno Haible  <bruno@clisp.org>

	* m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
	Set LIBSOCKET instead of augmenting LIBS.
	* modules/sockets (Link): New section.
	* modules/sockets-tests (test_sockets_LDADD): New variable.
	* modules/sys_select-tests (test_sys_select_LDADD): New variable.
	* modules/poll-tests (test_poll_LDADD): New variable.
	* NEWS: Document the change.

2008-09-29  Bruno Haible  <bruno@clisp.org>

	* m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
	* m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
	ARPA_INET_H directly.
	* m4/inet_pton.m4 (gl_INET_PTON): Likewise.

2008-09-28  Bruno Haible  <bruno@clisp.org>

	* m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
	from gl_HEADER_SYS_SOCKET.
	(gl_HEADER_SYS_SOCKET): Invoke it.
	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.

2008-09-28  Bruno Haible  <bruno@clisp.org>

	* doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
	* tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
	Needed on OSF/1 4.0.

2008-09-28  Bruno Haible  <bruno@clisp.org>

	Override open more carefully.
	* lib/open.c (orig_open): New function.
	(rpl_open): Use orig_open instead of open.
	* lib/fcntl.in.h: Add special invocation convention.
	* m4/open.m4 (gl_PREREQ_OPEN): New macro.
	(gl_FUNC_OPEN): Invoke it.

	Override freopen more carefully.
	* lib/freopen.c (orig_freopen): New function.
	(rpl_freopen): Use orig_freopen instead of freopen.
	* m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
	(gl_FUNC_FREOPEN): Invoke it.

	Override fopen more carefully.
	* lib/fopen.c (orig_fopen): New function.
	(rpl_fopen): Use orig_fopen instead of fopen.
	* m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
	(gl_FUNC_FOPEN): Invoke it.
	Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.

2008-09-28  Bruno Haible  <bruno@clisp.org>

	* lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
	SIGPIPE.

2008-09-28  Bruno Haible  <bruno@clisp.org>

	* tests/test-sigaction.c (handler, main): Disable the check whether
	SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
	glibc systems with LinuxThreads.

2008-09-28  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/freopen.texi: Mention the trailing slash problem.

	* lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
	with AIX xlc.
	* lib/fcntl.in.h (open): Likewise.
	Reported by Rainer Tammer <tammer@tammer.net>.

2008-09-28  Bruno Haible  <bruno@clisp.org>

	* modules/posix_spawnp-tests: New file.
	* tests/test-posix_spawn.c: New file.
	* tests/test-posix_spawn.in.sh: New file.

	New module 'posix_spawnp'.
	* modules/posix_spawnp: New file.
	* lib/spawnp.c: New file, from GNU libc with modifications.
	* doc/posix-functions/posix_spawnp.texi: Mention the new module.

	New module 'posix_spawn'.
	* modules/posix_spawn: New file.
	* lib/spawn.c: New file, from GNU libc with modifications.
	* doc/posix-functions/posix_spawn.texi: Mention the new module.

	New module 'posix_spawnattr_destroy'.
	* modules/posix_spawnattr_destroy: New file.
	* lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
	* doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
	module.

	New module 'posix_spawnattr_setsigmask'.
	* modules/posix_spawnattr_setsigmask: New file.
	* lib/spawnattr_setsigmask.c: New file, from GNU libc with
	modifications.
	* doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
	new module.

	New module 'posix_spawnattr_getsigmask'.
	* modules/posix_spawnattr_getsigmask: New file.
	* lib/spawnattr_getsigmask.c: New file, from GNU libc with
	modifications.
	* doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
	new module.

	New module 'posix_spawnattr_setsigdefault'.
	* modules/posix_spawnattr_setsigdefault: New file.
	* lib/spawnattr_setdefault.c: New file, from GNU libc with
	modifications.
	* doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
	new module.

	New module 'posix_spawnattr_getsigdefault'.
	* modules/posix_spawnattr_getsigdefault: New file.
	* lib/spawnattr_getdefault.c: New file, from GNU libc with
	modifications.
	* doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
	new module.

	New module 'posix_spawnattr_setschedpolicy'.
	* modules/posix_spawnattr_setschedpolicy: New file.
	* lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
	modifications.
	* doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
	new module.

	New module 'posix_spawnattr_getschedpolicy'.
	* modules/posix_spawnattr_getschedpolicy: New file.
	* lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
	modifications.
	* doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
	new module.

	New module 'posix_spawnattr_setschedparam'.
	* modules/posix_spawnattr_setschedparam: New file.
	* lib/spawnattr_setschedparam.c: New file, from GNU libc with
	modifications.
	* doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
	new module.

	New module 'posix_spawnattr_getschedparam'.
	* modules/posix_spawnattr_getschedparam: New file.
	* lib/spawnattr_getschedparam.c: New file, from GNU libc with
	modifications.
	* doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
	new module.

	New module 'posix_spawnattr_setpgroup'.
	* modules/posix_spawnattr_setpgroup: New file.
	* lib/spawnattr_setpgroup.c: New file, from GNU libc with
	modifications.
	* doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
	module.

	New module 'posix_spawnattr_getpgroup'.
	* modules/posix_spawnattr_getpgroup: New file.
	* lib/spawnattr_getpgroup.c: New file, from GNU libc with
	modifications.
	* doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
	module.

	New module 'posix_spawnattr_setflags'.
	* modules/posix_spawnattr_setflags: New file.
	* lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
	* doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
	module.

	New module 'posix_spawnattr_getflags'.
	* modules/posix_spawnattr_getflags: New file.
	* lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
	* doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
	module.

	New module 'posix_spawnattr_init'.
	* modules/posix_spawnattr_init: New file.
	* lib/spawnattr_init.c: New file, from GNU libc with modifications.
	* doc/posix-functions/posix_spawnattr_init.texi: Mention the new
	module.

	New module 'posix_spawn_file_actions_destroy'.
	* modules/posix_spawn_file_actions_destroy: New file.
	* lib/spawn_faction_destroy.c: New file, from GNU libc with
	modifications.
	* doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
	the new module.

	New module 'posix_spawn_file_actions_addopen'.
	* modules/posix_spawn_file_actions_addopen: New file.
	* lib/spawn_faction_addopen.c: New file, from GNU libc with
	modifications.
	* doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
	the new module.

	New module 'posix_spawn_file_actions_adddup2'.
	* modules/posix_spawn_file_actions_adddup2: New file.
	* lib/spawn_faction_adddup2.c: New file, from GNU libc with
	modifications.
	* doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
	the new module.

	New module 'posix_spawn_file_actions_addclose'.
	* modules/posix_spawn_file_actions_addclose: New file.
	* lib/spawn_faction_addclose.c: New file, from GNU libc with
	modifications.
	* doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
	the new module.

	New module 'posix_spawn_file_actions_init'.
	* modules/posix_spawn_file_actions_init: New file.
	* lib/spawn_faction_init.c: New file, from GNU libc with modifications.
	* doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
	new module.

	New module 'posix_spawn-internal'.
	* modules/posix_spawn-internal: New file.
	* lib/spawn_int.h: New file, from GNU libc with modifications.
	* lib/spawni.c: New file, from GNU libc with modifications.
	* m4/posix_spawn.m4: New file.

	New module 'spawn'.
	* modules/spawn: New file.
	* lib/spawn.in.h: New file, from GNU libc with modifications.
	* m4/spawn_h.m4: New file.
	* doc/posix-headers/spawn.texi: Mention the new module.

2008-09-28  Bruno Haible  <bruno@clisp.org>

	* modules/sched-tests: New file.
	* tests/test-sched.c: New file.

	New module 'sched'.
	* modules/sched: New file.
	* lib/sched.in.h: New file.
	* m4/sched_h.m4: New file.
	* doc/posix-headers/sched.texi: Mention the new module.

2008-09-27  Eric Blake  <ebb9@byu.net>

	Fix previous patch, and tweak references to $0.
	* posix-modules: Call func_gnulib_dir before using $gnulib_dir.
	(func_version, func_gnulib_dir): Don't call this program
	gnulib-tool.
	(func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
	with using $0 in function.
	* gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
	(func_fatal_error): Reuse the name the user invoked us with.

2008-09-27  Bruno Haible  <bruno@clisp.org>

	* m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
	(gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
	(gl_ICONV_H): Not here.
	* m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
	instead of assigning ICONV_H directly.

	* m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
	WCHAR_H directly.

2008-09-27  Bruno Haible  <bruno@clisp.org>

	* lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
	* modules/arpa_inet (Depends-on): Add link-warning.
	(Makefile.am): Insert the definition of GL_LINK-WARNING.
	* modules/unistd (Makefile.am): Likewise.

2008-09-26  Bruno Haible  <bruno@clisp.org>

	* posix-modules (cvsdatestamp, last_checkin_date, version): Remove
	variables.
	(func_version): Essentially copied from gnulib-tool.
	(func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
	func_readlink): Copied from gnulib-tool.

2008-09-26  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_version): Change directory to $gnulib_dir before
	invoking git-version-gen.

2008-09-26  Bruno Haible  <bruno@clisp.org>

	* posix-modules: Update to directory names changed on 2008-01-19.
	Remove commas in output before splitting into words. No more need to
	avoid 'ftruncate' since 2007-02-19.

2008-09-26  Bruno Haible  <bruno@clisp.org>

	* doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.

2008-09-26  Bruno Haible  <bruno@clisp.org>

	* lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
	* modules/fwriteerror (Depends-on): Add errno.

2008-09-26  Bruno Haible  <bruno@clisp.org>

	* tests/test-vc-list-files-git.sh: Explain reason for skipping test.
	* tests/test-vc-list-files-cvs.sh: Likewise.

2008-09-26  Bruno Haible  <bruno@clisp.org>

	* doc/posix-headers/sys_resource.texi: Reorder items.

2008-09-26  Jim Meyering  <meyering@redhat.com>

	fts: tweak inode comparison function
	* lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
	inode numbers, as documented.

	fts: sort dirent entries on inode number before traversing
	This avoids a quadratic, seek-related performance penalty when
	operating on a directory containing many entries (measurable at 10k;
	3.5 hours at 2 million entries with a cold cache) on certain types
	of file systems, including ext3 and ext4, but not tmpfs.
	* lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
	(FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
	(S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
	(fs_handles_readdir_ordered_dirents_efficiently): New function.
	(dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
	(fts_build): Set the stat.st_ino member from D_INO.
	If it is likely to be useful, sort dirent entries on inode number.

	* m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
	and the struct statfs.f_type member.
	* modules/fts (Depends-on): Add d-ino.

2008-09-26  Bruno Haible  <bruno@clisp.org>

	* modules/sigpipe-die (Depends-on): Add sigpipe.

	* lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
	putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
	and GNULIB_STDIO_H_SIGPIPE are set.
	* lib/stdio-write.c: New file.
	* m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
	GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
	GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
	REPLACE_STDIO_WRITE_FUNCS.
	(gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
	GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
	GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
	GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
	* modules/stdio (Files): Add lib/stdio-write.c.
	(Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
	GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
	GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
	GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
	* m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
	REPLACE_FPRINTF_POSIX.
	* m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
	REPLACE_PRINTF_POSIX.
	* m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
	REPLACE_VFPRINTF_POSIX.
	* m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
	REPLACE_VPRINTF_POSIX.
	* doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
	SIGPIPE issue.
	* doc/posix-functions/fputc.texi: Likewise.
	* doc/posix-functions/fputs.texi: Likewise.
	* doc/posix-functions/fwrite.texi: Likewise.
	* doc/posix-functions/printf.texi: Likewise.
	* doc/posix-functions/putc.texi: Likewise.
	* doc/posix-functions/putchar.texi: Likewise.
	* doc/posix-functions/puts.texi: Likewise.
	* doc/posix-functions/vfprintf.texi: Likewise.
	* doc/posix-functions/vprintf.texi: Likewise.

	* modules/safe-write (Depends-on): Add write.

	* modules/sigpipe-tests: New file.
	* tests/test-sigpipe.c: New file.
	* tests/test-sigpipe.sh: New file.

	* modules/write: New file.
	* lib/unistd.in.h: Include <sys/types.h>.
	(write): New declaration.
	* lib/write.c: New file.
	* m4/write.m4: New file.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
	GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
	* modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
	GNULIB_WRITE, REPLACE_WRITE.
	* doc/posix-functions/write.texi: Mention the write, sigpipe modules
	and the SIGPIPE issue.

	* lib/signal.in.h (SIGPIPE): Define to a replacement value.
	(raise): New declaration.
	* lib/sigprocmask.c (SIGPIPE_handler): New variable.
	(ext_signal): New function.
	(rpl_raise): New function.
	* m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
	GNULIB_SIGNAL_H_SIGPIPE.
	* modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
	* doc/posix-headers/signal.texi: Mention the SIGPIPE issue.

	* modules/sigpipe: New file.
	* m4/sigpipe.m4: New file.

2008-09-25  Derek Price  <derek@ximbiot.com>
	    Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Report all license incompatibilities, not
	just the first one.

2008-09-25  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): When computing the edits, consider not
	only the Makefile.ams that exist but also those that will be generated.

2008-09-25  Simon Josefsson  <simon@josefsson.org>

	* modules/sys_select-tests (Depends-on): Remove sys_select itself,
	fixes gnulib-tool --test warning about duplicate dependency.

2008-09-25  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Don't ask the user to perform edits in the generated
	Makefile.ams.
	(func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
	apply to the Makefile.am being generated.
	(func_emit_tests_Makefile_am): Execute edits that apply to the
	Makefile.am being generated.
	(func_import): Setup list of Makefile.am edits before emitting the
	Makefile.ams, not at the end.
	(func_create_testdir): Update.
	Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.

2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	* gnulib-tool (func_import): Store the --tests-base option in the
	comment in gnulib-cache.m4.

2008-09-24  Paolo Bonzini  <bonzini@gnu.org>

	* NEWS: Document increased portability that sys_select now provides.

	* lib/sys_select.in.h: Install select wrapper.
	* lib/sys_socket.in.h: Use more descriptive name when there is no
	select wrapper.
	* lib/winsock-select.c: New.
	* m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
	Require gl_HEADER_SYS_SOCKET.
	* modules/sys_select: Depend on alloca, add lib/winsock-select.c.
	* modules/sys_select-tests: Copy dependencies from modules/poll-tests.
	* tests/test-sys_select.c: Add functional tests.

2008-09-24  Eric Blake  <ebb9@byu.net>

	open, fopen: close fd leak in last patch
	* lib/open.c (rpl_open): Close fd before returning error.
	* lib/fopen.c (rpl_fopen): Close fd before returning error.
	* doc/posix-functions/open.texi (open): Document that Irix also
	has the bug.
	* doc/posix-functions/fopen.texi (fopen): Likewise.
	Reported by Paolo Bonzini.

2008-09-24  Bruno Haible  <bruno@clisp.org>

	Ensure that a filename ending in a slash cannot be used to access a
	non-directory.
	* lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
	to check whether it's really a directory.
	* lib/fopen.c: Include fcntl.h, unistd.h.
	(rpl_fopen): When the filename ends in a slash, use open(), fstat(),
	and fdopen().
	* modules/fopen (Depends-on): Add unistd.
	* tests/test-open.c (main): Try to open "/dev/null/" as a directory.
	* tests/test-fopen.c (main): Likewise.
	* doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
	* doc/posix-functions/fopen.texi: Likewise.
	Reported by Eric Blake.

2008-09-23  Eric Blake  <ebb9@byu.net>

	c-stack: avoid compiler optimizations when provoking overflow
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
	recursion harder to optimize, to ensure a stack overflow occurs.
	* tests/test-c-stack.c (recurse): Likewise.
	Borrowed from libsigsegv.

	c-stack: work around Irix sigaltstack bug
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
	whether sigaltstack uses wrong end of stack_t (copied in part from
	libsigsegv).
	* lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
	Irix bug, without requiring an over-allocation.
	* doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
	bug.

	fopen: document mingw bug on directories
	* doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
	not allowing a stream visiting a directory, even though reading
	from such a stream is not portable.

2008-09-23  Paolo Bonzini  <bonzini@gnu.org>

	* lib/poll.c: Rewrite.
	* modules/poll: Depend on alloca.

2008-09-23  Paolo Bonzini  <bonzini@gnu.org>

	* lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
	instead define prototypes for a full set of wrappers.  Ensure
	that Cygwin does not use the compatibility code, which is only
	for MinGW.
	* lib/winsock.c: New.
	* m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
	* modules/sys_socket: Add lib/winsock.c.

	* modules/poll-tests: Add errno and perror.
	* tests/test-poll.c: Use ioctl, not ioctlsocket.

2008-09-23  Paolo Bonzini  <bonzini@gnu.org>

	* tests/test-poll.c: Downgrade minimum needed Winsock version.

2008-09-23  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
	* doc/glibc-functions/*: Likewise.

2008-09-23  Simon Josefsson  <simon@josefsson.org>

	* tests/test-perror.sh (tmpfiles): Cleanup temporary files on
	success.

2008-09-22  Eric Blake  <ebb9@byu.net>
	    Bruno Haible  <bruno@clisp.org>

	vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
	* lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
	supply %A but mishandle pseudo-NaN.
	Reported by Simon Josefsson.

2008-09-21  Bruno Haible  <bruno@clisp.org>

	* tests/test-lock.c (main): Tweak skip message.
	* tests/test-tls.c (main): Likewise.

2008-09-21  Bruno Haible  <bruno@clisp.org>

	* m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
	whether 'struct sigaction' has sa_sigaction here...
	(gl_PREREQ_SIG_HANDLER_H): ... not here.
	(gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.

2008-09-21  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
	section.
	(Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
	strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
	the new section.
	(Support for obsolete systems lacking POSIX:2001): New section.
	(String handling <string.h>): Move strdup to the new section.
	Suggested by Simon Josefsson and Paolo Bonzini.

2008-09-21  Bruno Haible  <bruno@clisp.org>

	* tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
	exponents in %e and %g results on 'long double'. Needed for mingw's
	improved *printf functions.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	Reported by Eric Blake.

2008-09-21  Bruno Haible  <bruno@clisp.org>

	* tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
	* tests/test-sprintf-posix.h (test_function): Likewise.

2008-09-21  Bruno Haible  <bruno@clisp.org>

	* modules/getpass (Depends-on): Add strdup-posix.

	New module 'strdup-posix'.
	* modules/strdup-posix: New file.
	* m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
	* lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
	REPLACE_STRDUP.
	* modules/string (Makefile.am): Substitute REPLACE_STRDUP.
	* doc/posix-functions/strdup.texi: Mention module strdup-posix.
	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add
	strdup-posix.

	* modules/strdup (Depends-on): Remove malloc-posix.

2008-09-20  Bruno Haible  <bruno@clisp.org>

	* lib/fstrcmp.c: Add data about branch probabilities, from Ralf
	Wildenhues.

2008-09-20  Bruno Haible  <bruno@clisp.org>

	Ensure that wint_t gets defined on IRIX 5.3.
	* lib/wchar.in.h (wint_t): Define if not defined by the system.
	* lib/wctype.in.h (wint_t): Likewise.
	(__wctype_wint_t): Remove type.
	(isw*): Use wint_t instead of __wctype_wint_t.
	* m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
	* modules/wchar (Files): Add m4/wint_t.m4.
	(Makefile.am): Substitute HAVE_WINT_T.
	* tests/test-wchar.c: Check that wchar_t and wint_t are defined.
	* tests/test-wctype.c: Check that wint_t is defined.
	* doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
	* doc/posix-headers/wctype.texi: Likewise.
	Reported by Tom G. Christensen <tgc@jupiterrise.com>.

2008-09-18  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_exit): Update comment.

2008-09-18  Simon Josefsson  <simon@josefsson.org>

	* modules/getaddrinfo (Depends-on): Remove strdup, this module
	assumes strdup exists and does not depend on strdup to return
	ENOMEM on out of memory conditions.

2008-09-18  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
	NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
	digits for the exponent.

2008-09-18  Jim Meyering  <meyering@redhat.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (decimal_point_char): Define also if
	NEED_PRINTF_INFINITE_LONG_DOUBLE.

2008-09-16  Bruno Haible  <bruno@clisp.org>
	and Eric Blake  <ebb9@byu.net>

	vasnprintf: support Irix 5.3
	* lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
	that mishandle long double infinity.
	Reported by Tom G. Christensen.

2008-09-16  Bruno Haible  <bruno@clisp.org>

	* doc/glibc-functions/scandir.texi: Mention the function is missing on
	Solaris 9.
	* doc/glibc-functions/alphasort.texi: Likewise.
	Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.

2008-09-16  Jim Meyering  <meyering@redhat.com>

	posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
	* m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
	a umask modification leak out of a subshell.  Otherwise, the
	opensolaris /bin/sh would be accepted and thus cause unwarranted
	failures in the coreutils test suite.

2008-09-16  Paolo Bonzini  <bonzini@gnu.org>

	* tests/test-poll.c (connect_to_socket): Allow non-blocking connect
	to succeed.

2008-09-16  Jim Meyering  <meyering@redhat.com>

	avoid spurious test failure when library is built without ACL support
	* m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
	* modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
	* tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
	* tests/test-copy-acl.sh: Likewise.

2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
	based on character occurrence counts.

2008-09-15  Eric Blake  <ebb9@byu.net>

	tests: avoid some compiler warnings
	* tests/test-memchr.c (main): Pass NULL indirectly.
	* tests/test-closein.c (main): Avoid unused variable.

2008-09-15  Bruno Haible  <bruno@clisp.org>

	* m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
	are missing on OpenBSD 4.0 individually.
	Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.

2008-09-15  Bruno Haible  <bruno@clisp.org>

	* doc/posix-headers/errno.texi: Mention the Cygwin problem.
	* doc/posix-functions/strerror.texi: Mention also Cygwin.
	* doc/posix-functions/perror.texi: Likewise.
	* m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
	is missing.
	Reported by Eric Blake.

	* lib/errno.in.h: Use replacement values >= 2000.
	Reported by Eric Blake.

2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
	(EARLY_ABORT): Return true when the edit_count has grown too beyond the
	limit.
	(fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
	compareseq was aborted.

2008-09-14  Bruno Haible  <bruno@clisp.org>

	* lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
	yvec_edit_count.
	(NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
	(fstrcmp_bounded): Simplify result computation accordingly.

2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lib/fstrcmp.h (fstrcmp_bounded): New declaration.
	(fstrcmp): Define in terms of fstrcmp_bounded.
	* lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
	lower_bound argument.
	Return quickly if the result is certainly < lower_bound.
	* tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.

2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lib/diffseq.h (EARLY_ABORT): New macro.
	(compareseq): Change return type to bool. Return true when EARLY_ABORT
	evaluates to true.

2008-09-14  Bruno Haible  <bruno@clisp.org>

	* modules/perror-tests: New file.
	* tests/test-perror.sh: New file.
	* tests/test-perror.c: New file.

	New module 'perror'.
	* lib/stdio.in.h (perror): New declaration.
	* lib/perror.c: New file.
	* m4/perror.m4: New file.
	* modules/perror: New file.
	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
	* doc/posix-functions/perror.texi: Mention the perror module.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
	REPLACE_PERROR.
	* modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
	REPLACE_PERROR.

2008-09-14  Bruno Haible  <bruno@clisp.org>

	* modules/stdio (Makefile.am): Reorder to match the order in
	lib/stdio.in.h.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.

2008-09-13  Bruno Haible  <bruno@clisp.org>

	* lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.

2008-09-13  Bruno Haible  <bruno@clisp.org>

	Extend strerror to cover the added errno values.
	* lib/strerror.c: Include errno.h and winsock2.h if it exists.
	(rpl_strerror): Provide error messages for the added errno values and
	for the WSA* values.
	* m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
	(gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
	strerror.
	(gl_PREREQ_STRERROR): Test whether winsock2.h exists.
	* modules/strerror (Depends-on): Add errno.
	* doc/posix-functions/strerror.texi: Document the change.
	* tests/test-strerror.c (main): Check also the string for ETIMEDOUT
	and EOVERFLOW.

2008-09-13  Bruno Haible  <bruno@clisp.org>

	* modules/EOVERFLOW: Remove file.
	* m4/eoverflow.m4: Remove file.
	* modules/EOVERFLOW-tests: Remove file.
	* tests/test-EOVERFLOW.c: Remove file.
	* modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
	* modules/ftell (Depends-on): Likewise.
	* modules/getdelim (Depends-on): Likewise.
	* modules/getugroups (Depends-on): Likewise.
	* modules/poll (Depends-on): Likewise.
	* modules/snprintf (Depends-on): Likewise.
	* modules/sprintf-posix (Depends-on): Likewise.
	* modules/vasnprintf (Depends-on): Likewise.
	* modules/vasprintf (Depends-on): Likewise.
	* modules/vfprintf-posix (Depends-on): Likewise.
	* modules/vsnprintf (Depends-on): Likewise.
	* modules/vsprintf-posix (Depends-on): Likewise.
	* modules/xvasprintf (Depends-on): Likewise.
	* modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u8-vasprintf (Depends-on): Likewise.
	* modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
	* modules/unistdio/u8-vsprintf (Depends-on): Likewise.
	* modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
	* modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
	* modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
	* modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
	* modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-vasprintf (Depends-on): Likewise.
	* modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-vsprintf (Depends-on): Likewise.
	* modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-vasprintf (Depends-on): Likewise.
	* modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-vsprintf (Depends-on): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
	* modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-fprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
	* MODULES.html.sh: Remove EOVERFLOW.
	* NEWS: Mention the change.

2008-09-13  Bruno Haible  <bruno@clisp.org>

	* modules/errno-tests: New file.
	* tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.

	* lib/errno.in.h: New file.
	* m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
	* modules/errno: New file.
	* doc/posix-headers/errno.texi: Update documentation.
	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.

2008-09-13  Bruno Haible  <bruno@clisp.org>

	* tests/test-poll.c: Use #if for native Windows, rather than testing
	__MSVCRT__.

2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/glob.c: Don't include <pwd.h> on native Windows.
	(WINDOWS32): New macro.
	(glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").

2008-09-13  Bruno Haible  <bruno@clisp.org>

	* lib/glthread/cond.h [USE_SOLARIS_THREADS]
	(ETIMEDOUT): Remove macro.
	(glthread_cond_timedwait_multithreaded): New declaration.
	(glthread_cond_timedwait): Use it.
	* lib/glthread/cond.c [USE_SOLARIS_THREADS]
	(glthread_cond_timedwait_multithreaded): New function.

2008-09-12  Paolo Bonzini  <bonzini@gnu.org>

	* modules/poll-tests: Do not check for io.h.
	* tests/test-poll.c: Check for __MSVCRT__ instead.

2008-09-12  Paolo Bonzini  <bonzini@gnu.org>

	* lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
	* modules/poll-tests: Add inet_pton, stdbool, sockets.
	* tests/test-poll.c: Use them.  Use _pipe on Windows.

2008-09-12  Paolo Bonzini  <bonzini@gnu.org>

	* modules/poll-tests: New.
	* tests/test-poll.c: New.

2008-09-12  Eric Blake  <ebb9@byu.net>

	frexp: test for NetBSD failure on -0.0
	* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
	not all, bugs from NetBSD 3.0 have been fixed.
	* doc/posix-functions/frexp.texi (frexp): Document bug.
	Reported by Thomas Klausner.

	signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
	* m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
	literal -0.0.
	Reported by Jonathan C. Patschke <jp@centtech.com>.

2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	* lib/glthread/cond.h: Use dummy implementation also if
	USE_WIN32_THREADS.

2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	* modules/fnmatch-posix (License): Change to LGPLv2+.
	* modules/fnmatch-gnu (License): Likewise.

2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	* lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.

2008-09-11  Jim Meyering  <meyering@redhat.com>

	* users.txt: Add gtk-vnc.

2008-09-08  Simon Josefsson  <simon@josefsson.org>

	* tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
	rotate amounts.

	* lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
	required for 16-bit and 8-bit rotates.
	* lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
	rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
	UINT8_MAX instead of hard-coded constants.
	Suggested by Paul Eggert.

2008-09-07  Bruno Haible  <bruno@clisp.org>

	* tests/test-striconveh.c (main): Check behaviour when converting from
	UTF-7.

	Make striconveh work better with stateful encodings.
	* lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
	that iconv does not increment the inptr when returning -1/EINVAL.

2008-09-07  Bruno Haible  <bruno@clisp.org>

	* build-aux/config.rpath: Update according to libtool-2.2.6.
	* build-aux/config.libpath: Likewise.

2008-09-06  Bruno Haible  <bruno@clisp.org>

	* lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
	* lib/freadptr.c (freadptr): Likewise.
	* lib/freadseek.c (freadptrinc): Likewise.
	Reported by Simon Josefsson.

2008-09-06  Bruno Haible  <bruno@clisp.org>

	* modules/freadptr (License): Change to LGPLv2+.
	* modules/freadseek (License): Likewise.
	Suggested by Eric Blake.

	* modules/memchr2 (License): Change to LGPLv2+.
	Approved by Eric Blake.

2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	    Bruno Haible  <bruno@clisp.org>

	Make gnulib-tool work with native 'sed' on AIX.
	* gnulib-tool (sed_noop): New variable.
	(func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
	func_add_or_update, func_create_testdir): Use it to initialize sed
	script variables.
	Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.

2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
	    Bruno Haible  <bruno@clisp.org>

	* m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
	also works after #include directives.

2008-09-04  Ondřej Vašík  <ovasik@redhat.com>

	getdate.y: reject an out-of-range timezone value
	* lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
	the range [-24...+24].  When specified with only one or two digits,
	* tests/test-getdate.c: Tests for the fix.
	* doc/getdate.texi: Document this change.

2008-09-03  Bruno Haible  <bruno@clisp.org>

	* doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.

2008-09-02  Simon Josefsson  <simon@josefsson.org>

	* lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
	<bruce.korb@gmail.com> with ideas from Ben Pfaff
	<blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
	Blake <ebb9@byu.net>.

	* tests/test-bitrotate.c: Add more test vectors.

2008-09-02  Eric Blake  <ebb9@byu.net>

	vasnprintf-posix: handle large precision via %.*d
	* lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
	when handling it ourselves.
	* tests/test-vasnprintf-posix.c (test_function): Add test.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	Reported by Alain Guibert.

2008-09-01  Eric Blake  <ebb9@byu.net>

	c-stack: make configure-time check more robust
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
	successful sigaction call.
	Reported by Tom G. Christensen.

2008-09-01  Bruno Haible  <bruno@clisp.org>

	New module 'findprog-lgpl'.
	* modules/findprog-lgpl: New file.
	* lib/findprog-lgpl.c: New file.
	* lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
	also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
	to decide whether to use strdup or xstrdup, concatenated_filename or
	xconcatenated_filename.

2008-09-01  Bruno Haible  <bruno@clisp.org>

	Split module 'concat-filename' into 'concat-filename' (LGPL) and
	'xconcat-filename' (GPL).
	* modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
	(License): Change to LGPLv2+.
	* modules/xconcat-filename: New file.
	* lib/concat-filename.h (concatenated_filename): Change specification.
	(xconcatenated_filename): New declaration.
	* lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
	(concatenated_filename): Use malloc instead of xalloc. Handle out-of-
	memory situations.
	* lib/xconcat-filename.c: New file.
	* NEWS: Mention the change.
	* lib/findprog.c: Include concat-filename.h, not filename.h.
	(find_in_path): Use xconcatenated_filename instead of
	concatenated_filename.
	* lib/javacomp.c: Include concat-filename.h, not filename.h.
	(is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
	is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
	is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
	is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
	instead of concatenated_filename.
	* lib/javaexec.c: Include concat-filename.h, not filename.h.
	(execute_java_class): Use xconcatenated_filename instead of
	concatenated_filename.
	* modules/findprog (Depends-on): Add xconcat-filename, remove filename.
	* modules/javacomp (Depends-on): Likewise.
	* modules/javaexec (Depends-on): Likewise.

2008-09-01  Bruno Haible  <bruno@clisp.org>

	Split module 'filename' into 'filename' and 'concat-filename'.
	* modules/filename: Keep only lib/filename.h.
	(License): Change to LGPLv2+.
	* modules/concat-filename: New file, extracted from modules/filename.
	* lib/filename.h (concatenated_filename): Remove declaration.
	* lib/concat-filename.h: New file, extracted from lib/filename.h.
	* lib/concat-filename.c: Include concat-filename.h.
	* NEWS: Mention the change.

2008-09-01  Simon Josefsson  <simon@josefsson.org>

	* lib/bitrotate.h (rotl8, rotr8): Add.

	* modules/bitrotate (configure.ac): Need
	AC_REQUIRE([AC_C_INLINE]).
	(Description): Mention stdint.h.  Reported by Bruno Haible
	<bruno@clisp.org>.

	* lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
	Paolo Bonzini <bonzini@gnu.org>.

2008-08-31  Bruno Haible  <bruno@clisp.org>

	Assume Solaris specific bi-arch conventions on Solaris systems.
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
	mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
	* m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
	work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
	like acl_libdirstem.
	(AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
	acl_libdirstem.
	* NEWS: Mention the change.
	Reported by Ben Taylor <bentaylor.solx86@gmail.com>.

2008-08-31  Jim Meyering  <meyering@redhat.com>

	* lib/strftime.h: Add comments describing the two added arguments.

	remove duplicate #include directives
	* lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
	* lib/putenv.c: Remove duplicate #include <stdlib.h>.

2008-08-31  Bruno Haible  <bruno@clisp.org>

	New module 'sigpipe-die'.
	* modules/sigpipe-die: New file.
	* lib/sigpipe-die.h: New file.
	* lib/sigpipe-die.c: New file.
	* MODULES.html.sh (Signal handling): Add sigpipe-die.

2008-08-31  Bruno Haible  <bruno@clisp.org>

	Don't override previously installed signal handlers.
	* lib/fatal-signal.c (saved_sigactions): New variable.
	(uninstall_handlers): Reset the signal to the saved handler, not
	to SIG_DFL (except when ignored).
	(install_handlers): Save the previous handlers.

2008-08-30  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_reset_sigpipe): New function.
	(func_get_automake_snippet, func_modules_transitive_closure,
	func_import): Invoke it before a join command that reads from stdin,
	to avoid "echo: write error: Broken pipe" error messages on stderr.
	Reported by Sam Steingold <sds@gnu.org>.

2008-08-30  Bruno Haible  <bruno@clisp.org>

	* m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
	Code copied from m4/open.m4.
	* lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
	access and the filename ends in a slash. Code copied from lib/open.c.
	* doc/posix-functions/fopen.texi: Document bug with trailing slash.
	* tests/test-fopen.c (main): Check against bug with trailing slash.

2008-08-29  Bruno Haible  <bruno@clisp.org>

	Avoid some "gcc -pedantic" warnings.
	* m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
	* lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
	* lib/dirent.in.h: Likewise.
	* lib/fcntl.in.h: Likewise.
	* lib/float.in.h: Likewise.
	* lib/iconv.in.h: Likewise.
	* lib/inttypes.in.h: Likewise.
	* lib/locale.in.h: Likewise.
	* lib/math.in.h: Likewise.
	* lib/netinet_in.in.h: Likewise.
	* lib/search.in.h: Likewise.
	* lib/signal.in.h: Likewise.
	* lib/stdarg.in.h: Likewise.
	* lib/stdint.in.h: Likewise.
	* lib/stdio.in.h: Likewise.
	* lib/stdlib.in.h: Likewise.
	* lib/string.in.h: Likewise.
	* lib/strings.in.h: Likewise.
	* lib/sys_select.in.h: Likewise.
	* lib/sys_socket.in.h: Likewise.
	* lib/sys_stat.in.h: Likewise.
	* lib/sys_time.in.h: Likewise.
	* lib/sysexits.in.h: Likewise.
	* lib/time.in.h: Likewise.
	* lib/unistd.in.h: Likewise.
	* lib/wchar.in.h: Likewise.
	* lib/wctype.in.h: Likewise.
	* modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
	* modules/fchdir (Makefile.am): Likewise.
	* modules/fcntl (Makefile.am): Likewise.
	* modules/float (Makefile.am): Likewise.
	* modules/iconv_open (Makefile.am): Likewise.
	* modules/inttypes (Makefile.am): Likewise.
	* modules/locale (Makefile.am): Likewise.
	* modules/math (Makefile.am): Likewise.
	* modules/netinet_in (Makefile.am): Likewise.
	* modules/search (Makefile.am): Likewise.
	* modules/signal (Makefile.am): Likewise.
	* modules/stdarg (Makefile.am): Likewise.
	* modules/stdint (Makefile.am): Likewise.
	* modules/stdio (Makefile.am): Likewise.
	* modules/stdlib (Makefile.am): Likewise.
	* modules/string (Makefile.am): Likewise.
	* modules/strings (Makefile.am): Likewise.
	* modules/sys_select (Makefile.am): Likewise.
	* modules/sys_socket (Makefile.am): Likewise.
	* modules/sys_stat (Makefile.am): Likewise.
	* modules/sys_time (Makefile.am): Likewise.
	* modules/sysexits (Makefile.am): Likewise.
	* modules/time (Makefile.am): Likewise.
	* modules/unistd (Makefile.am): Likewise.
	* modules/wchar (Makefile.am): Likewise.
	* modules/wctype (Makefile.am): Likewise.
	Reported by Reuben Thomas <rrt@sc3d.org>.

2008-08-29  Bruno Haible  <bruno@clisp.org>

	* m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
	any more.

2008-08-29  Simon Josefsson  <simon@josefsson.org>

	* MODULES.html.sh (Misc): Add bitrotate.

	* modules/bitrotate: New file.

	* lib/bitrotate.h: New file.

	* modules/bitrotate-tests: New file.

	* tests/test-bitrotate.c: New file.

	* modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
	on the bitrotate module.

	* lib/arctwo.c: Use new bitrotate module.

2008-08-29  Jim Meyering  <meyering@redhat.com>

	bootstrap: merge changes from coreutils
	* build-aux/bootstrap (cp_mark_as_generated): Preserve perms
	of copied files.  Remove a kludge, now that this is fixed.
	* build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
	* build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
	* build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.

2008-08-29  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh: Remove --cvs-urls option.

2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)

	maint.mk: adjust to file name change
	* top/maint.mk: s/Makefile.cfg/cfg.mk/.

2008-08-28  Jim Meyering  <meyering@redhat.com>

	* modules/getndelim2 (License): Relicense to LGPLv2+.
	Approved by Richard Stallman for the version of 1995, and by
	Paul Eggert, Bruno Haible, Eric Blake for their contributions.

2008-08-27  Paolo Bonzini  <bonzini@gnu.org>

	* lib/getdelim.c (flockfile, funlockfile): Make all of them
	dummy if one is not available.  Do not touch them if
	USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
	(getc_maybe_unlocked): New.
	* m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.

2008-08-26  Eric Blake  <ebb9@byu.net>

	doc/INSTALL: resync from autoconf
	* doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
	(INSTALL_PRELUDE): Delete; this is done more efficiently by
	moving...
	* install.texi [!autoconf]: ...here.  Resync from autoconf.
	* INSTALL: Regenerate.
	* INSTALL.ISO: New file.
	* INSTALL.UTF-8: Likewise.

2008-08-26  Jim Meyering  <meyering@redhat.com>

	GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
	* top/GNUmakefile (_is-dist-target, _is-install-target): Make
	these definitions conditional, so that they may be overridden, too.

2008-08-26  Bruno Haible  <bruno@clisp.org>

	Generate INSTALL file variants with prettier quotes.
	* doc/Makefile (INSTALL_PRELUDE): New macro.
	(INSTALL): Use it.
	(INSTALL.ISO, INSTALL.UTF-8): New rules.

2008-08-26  Bruno Haible  <bruno@clisp.org>

	Run makeinfo in an English locale.
	* doc/Makefile (MAKEINFO): New variable.

2008-08-26  Bruno Haible  <bruno@clisp.org>

	* doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
	Suggested by Eric Blake.

2008-08-25  Bruno Haible  <bruno@clisp.org>

	* doc/Makefile (INSTALL): Generate with @firstparagraphindent set.

2008-08-25  Eric Blake  <ebb9@byu.net>

	c-stack: test that stack overflow can be caught
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
	that platform allows handling stack overflow; at least OS/2 EMX
	has sigaltstack, but crashes before transferring control to
	handler on stack overflow.
	* lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
	check for HAVE_STACK_OVERFLOW_HANDLING.
	Reported by Elbert Pol.

2008-08-25  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/strftime.texi: Fix description of strftime
	module.

2008-08-24  Bruno Haible  <bruno@clisp.org>

	* tests/uniwidth/test-uc_width2.c: New file.
	* tests/uniwidth/test-uc_width2.sh: New file.
	* modules/uniwidth/width-tests (Files): Add the new files.
	(TESTS): Add uniwidth/test-uc_width2.sh.
	(TESTS_ENVIRONMENT): New variable.
	(check_PROGRAMS): Add test-uc_width2.
	(test_uc_width2_SOURCES): New variable.

	Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
	* lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
	not 0x00AB.
	Reported by Alexander V. Lukyanov <lav@netis.ru>.

2008-08-22  Eric Blake  <ebb9@byu.net>

	test-lock, test-tls: mention why a test is skipped
	* tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
	skipped.
	* tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.

	count-one-bits: relax license
	* modules/count-one-bits (License): Relicense to LGPLv2+.
	Suggested by Ludovic Courtès, approved by Ben Pfaff.

2008-08-22  Andreas Schwab  <schwab@suse.de>

	* m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
	Remove spurious space in assignment.

2008-08-21  Simon Josefsson  <simon@josefsson.org>

	* m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
	Paul Eggert <eggert@CS.UCLA.EDU>.

2008-08-20  Paolo Bonzini  <bonzini@gnu.org>

	* modules/gettext: Add m4/threadlib.m4.

2008-08-19  Eric Blake  <ebb9@byu.net>

	test-c-stack: fix compilation failure on FreeBSD 5.0
	* tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
	headers before <sys/resource.h>.
	* doc/posix-headers/sys_resource.texi (sys/resource.h): Document
	the bug.
	Reported by Nelson H. F. Beebe.

	strverscmp: migrate from "strverscmp.h" to <string.h>
	* modules/string (Makefile.am): Add new hooks.
	* modules/strverscmp (Files): Remove strverscmp.h.
	(Depends-on): Add string.
	(configure.ac): Add indicator.
	(Include): Mention new header.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
	defaults.
	* m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
	results.
	* lib/strverscmp.h: Delete.
	* lib/string.in.h (strverscmp): Provide declaration, when needed.
	* tests/test-strverscmp.c (includes): Adjust client.
	* lib/check-version.c (includes): Likewise.
	* NEWS: Document the change.

	strverscmp: add unit test
	* modules/strverscmp-tests: New file.
	* tests/test-strverscmp.c: Likewise.

2008-08-19  Simon Josefsson  <simon@josefsson.org>

	* lib/gc-gnulib.c: Indentation cleanup.  Add some comments
	regarding Windows crypto stuff, from Mono.

2008-08-19  Adam Strzelecki  <ono@java.pl>  (tiny change)

	* lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
	if present, for intel RND.  Return error on failures.

2008-08-18  Ben Pfaff  <blp@gnu.org>

	gitlog-to-changelog: give better diagnostic for failed pipe-open
	* build-aux/gitlog-to-changelog: Improve error message: suggest
	that the version of Git may be too old.

2008-08-18  Simon Josefsson  <simon@josefsson.org>

	* m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
	ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.

2008-08-18  Bruno Haible  <bruno@clisp.org>

	* lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
	pthread_in_use().

2008-08-18  Bruno Haible  <bruno@clisp.org>

	* lib/glthread/threadlib.c: Include <pthread.h>.

2008-08-18  Bruno Haible  <bruno@clisp.org>

	* lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
	glthread_recursive_lock_* macros.
	* lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
	Fix syntax error.

2008-08-18  Bruno Haible  <bruno@clisp.org>

	* lib/glthread/thread.c: Avoid forcing a context switch right after
	thread creation.

2008-08-17  Bruno Haible  <bruno@clisp.org>

	* lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
	* lib/glthread/thread.h: Provide Win32 specific implementation.
	* modules/thread (Files): Add lib/glthread/thread.c.
	(Depends-on): Add lock.
	(Makefile.am): Add glthread/thread.c to lib_SOURCES.

2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	New module 'yield'.
	* modules/yield: New file.
	* lib/glthread/yield.h: New file.
	* m4/yield.m4: New file.
	* MODULES.html.sh (Multithreading): Add yield.

2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	New module 'thread'.
	* modules/thread: New file.
	* lib/glthread/thread.h: New file.
	* m4/thread.m4: New file.
	* MODULES.html.sh (Multithreading): Add thread.

2008-08-17  Bruno Haible  <bruno@clisp.org>

	* lib/glthread/lock.h: Include <stdlib.h> always.
	* lib/glthread/tls.h: Likewise.
	* lib/glthread/cond.h: Likewise.

2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	New module 'cond'.
	* modules/cond: New file.
	* lib/glthread/cond.h: New file.
	* lib/glthread/cond.c: New file.
	* m4/cond.m4: New file.
	* MODULES.html.sh (Multithreading): Add cond.

2008-08-16  Eric Blake  <ebb9@byu.net>

	c-stack: fix regression on Irix 5.3 from 2008-06-21
	* m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
	sa_sigaction...
	* m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
	(gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
	* m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
	* modules/signal (Makefile.am): Use the value.
	* lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
	&& !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
	* doc/posix-headers/signal.texi (signal.h): Document this
	portability issue.
	* doc/posix-functions/sigaction.texi (sigaction): Likewise.
	Reported by Tom G. Christensen.

2008-08-17  Bruno Haible  <bruno@clisp.org>

	New module 'threadlib'.
	* modules/threadlib: New file.
	* lib/glthread/threadlib.c: New file, extracted from
	lib/glthread/lock.c.
	* lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
	functions.
	* m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
	gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
	* m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
	macros.
	(gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
	(gl_DISABLE_THREADS): Remove macro.
	* modules/lock (Files): Remove build-aux/config.rpath.
	(Depends-on): Remove havelib. Add threadlib.
	(configure.ac-early): Remove section.
	* m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
	* modules/tls (Depends-on): Remove lock. Add threadlib.
	(Link): New section, copied from threadlib.
	* MODULES.html.sh (Multithreading): Add threadlib.

2008-08-14  Bruno Haible  <bruno@clisp.org>

	* lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
	glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
	glthread_rwlock_unlock, glthread_rwlock_destroy,
	glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
	glthread_recursive_lock_destroy): Define as macros always.
	* lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
	glthread_lock_lock.
	(glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
	(glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
	(glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
	(glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
	(glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
	(glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
	(glthread_recursive_lock_lock_func): Renamed from
	glthread_recursive_lock_lock.
	(glthread_recursive_lock_unlock_func): Renamed from
	glthread_recursive_lock_unlock.
	(glthread_recursive_lock_destroy_func): Renamed from
	glthread_recursive_lock_destroy.

2008-08-14  Bruno Haible  <bruno@clisp.org>

	* lib/glthread/lock.h: Renamed from lib/lock.h.
	* lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
	* lib/glthread/tls.h: Renamed from lib/tls.h.
	* lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
	* lib/fstrcmp.c: Update includes.
	* lib/strsignal.c: Update includes.
	* modules/lock (Files, Makefile.am): Update.
	(Include): Change to "glthread/lock.h".
	* modules/tls (Files, Makefile.am): Update.
	(Include): Change to "glthread/tls.h".
	* tests/test-lock.c: Update includes.
	* tests/test-tls.c: Update includes.
	* NEWS: Mention the renamed header files.

2008-08-11  Jim Meyering  <meyering@redhat.com>

	* lib/fts_.h: Fix grammar (insert a missing "is") in a comment.

2008-08-11  Eric Blake  <ebb9@byu.net>

	test-c-stack: avoid C99-ism
	* tests/test-c-stack.c (main): Fix whitespace, move declaration
	before statement.
	Reported by Alain Guibert.

2008-08-10  Jim Meyering  <meyering@redhat.com>

	ensure that return value of uinttostr et al are not ignored
	* lib/inttostr.h (__GNUC_PREREQ): Define.
	(__attribute_warn_unused_result__): Define.
	(offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.

2008-08-07  Paolo Bonzini  <bonzini@gnu.org>

	* lib/lock.c (glthread_recursive_lock_init_multithreaded)
	[!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.

2008-08-07  Jim Meyering  <meyering@redhat.com>

	* m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.

	* modules/mkstemp (License): Relicense under LGPLv2+.
	* modules/tempname (License): Likewise.

2008-08-06  Bruno Haible  <bruno@clisp.org>

	* lib/poll.c (poll): Further micro-optimization.

2008-08-06  Jim Meyering  <meyering@redhat.com>

	inet_pton.c: use locale-independent tolower
	* lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
	(inet_pton6): Use c_tolower rather than tolower.
	* modules/inet_pton (Depends-on): Add c-ctype.

2008-08-06  Paolo Bonzini  <bonzini@gnu.org>

	* lib/poll.c (poll): Avoid division when timeout is 0, cache
	_SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.

2008-08-06  Jim Meyering  <meyering@redhat.com>

	* modules/inet_pton (License): Relicense under LGPLv2+.

2008-08-03  Bruno Haible  <bruno@clisp.org>

	Additional non-aborting API for lock and tls.
	* lib/lock.h: Include <errno.h>.
	(glthread_lock_init): New macro/function.
	(gl_lock_init): Define as wrapper around glthread_lock_init.
	(glthread_lock_lock): New macro/function.
	(gl_lock_lock): Define as wrapper around glthread_lock_lock.
	(glthread_lock_unlock): New macro/function.
	(gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
	(glthread_lock_destroy): New macro/function.
	(gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
	(glthread_rwlock_init): New macro/function.
	(gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
	(glthread_rwlock_rdlock): New macro/function.
	(gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
	(glthread_rwlock_wrlock): New macro/function.
	(gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
	(glthread_rwlock_unlock): New macro/function.
	(gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
	(glthread_rwlock_destroy): New macro/function.
	(gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
	(glthread_recursive_lock_init): New macro/function.
	(gl_recursive_lock_init): Define as wrapper around
	glthread_recursive_lock_init.
	(glthread_recursive_lock_lock): New macro/function.
	(gl_recursive_lock_lock): Define as wrapper around
	glthread_recursive_lock_lock.
	(glthread_recursive_lock_unlock): New macro/function.
	(gl_recursive_lock_unlock): Define as wrapper around
	glthread_recursive_lock_unlock.
	(glthread_recursive_lock_destroy): New macro/function.
	(gl_recursive_lock_destroy): Define as wrapper around
	glthread_recursive_lock_destroy.
	(glthread_once): New macro/function.
	(gl_once): Define as wrapper around glthread_once.
	Update function declarations.
	* lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
	glthread_rwlock_init. Return error code.
	(glthread_rwlock_rdlock_multithreaded): Renamed from
	glthread_rwlock_rdlock. Return error code.
	(glthread_rwlock_wrlock_multithreaded): Renamed from
	glthread_rwlock_wrlock. Return error code.
	(glthread_rwlock_unlock_multithreaded): Renamed from
	glthread_rwlock_unlock. Return error code.
	(glthread_rwlock_destroy_multithreaded): Renamed from
	glthread_rwlock_destroy. Return error code.
	(glthread_recursive_lock_init_multithreaded): Renamed from
	glthread_recursive_lock_init. Return error code.
	(glthread_recursive_lock_lock_multithreaded): Renamed from
	glthread_recursive_lock_lock. Return error code.
	(glthread_recursive_lock_unlock_multithreaded): Renamed from
	glthread_recursive_lock_unlock. Return error code.
	(glthread_recursive_lock_destroy_multithreaded): Renamed from
	glthread_recursive_lock_destroy. Return error code.
	(glthread_once_call): Make static.
	(glthread_once_multithreaded): Renamed from glthread_once.
	* lib/tls.h: Include <errno.h>.
	(glthread_tls_key_init): New macro/function.
	(gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
	(glthread_tls_set): New macro/function.
	(gl_tls_set): Define as wrapper around glthread_tls_set.
	(glthread_tls_key_destroy): New macro/function.
	(gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
	Update function declarations.
	* lib/tls.c (glthread_tls_get_multithreaded): Renamed from
	glthread_tls_get.
	Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.

2008-08-04  Eric Blake  <ebb9@byu.net>

	gnumakefile: use space, not TAB, outside of targets
	* top/GNUmakefile (_dummy): Fix whitespace error in prior edit.

2008-08-02  Jim Meyering  <meyering@redhat.com>

	getdate.y: avoid locale-dependent date parsing failure
	In Turkish locales, getdate would fail to recognize keywords
	containing a lowercase "i".  The solution is not to rely on
	locale-sensitive case-conversion.
	* lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
	(lookup_word): Use c_toupper in place of toupper.
	(yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
	Reported by Vefa Bicakci <bicave@superonline.com> in
	<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
	* modules/getdate (Depends-on): Add c-ctype.

2008-08-02  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): When updating or creating a .gitignore
	file, prepend each added line with a slash, and ignore leading slashes
	from the existing lines.
	Reported by Joel E. Denny <jdenny@ces.clemson.edu>.

2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Portability fix for GNU make 3.79.1.
	* top/GNUmakefile: Avoid 'else COND', which older GNU make
	versions do not understand.

2008-08-01  Bruno Haible  <bruno@clisp.org>

	Work around bug of HP-UX 10.20 cc with -0.0 literal.
	* tests/test-isnanf.h (zero): New variable.
	(main): Avoid literal -0.0f.
	* tests/test-isnand.h (zero): New variable.
	(main): Avoid literal -0.0.
	* tests/test-isnanl.h (zero): New variable.
	(main): Avoid literal -0.0L.
	* tests/test-isnan.c (zerof, zerod, zerol): New variables.
	(test_float, test_double, test_long_double): Avoid literals -0.0f,
	-0.0, -0.0L.
	* tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
	(test_signbitd): Avoid literal -0.0.
	(test_signbitl): Avoid literal -0.0L.
	* tests/test-ceilf1.c (zero): New variable.
	(main): Avoid literal -0.0f.
	* tests/test-ceill.c (zero): New variable.
	(main): Avoid literal -0.0L.
	* tests/test-floorf1.c (zero): New variable.
	(main): Avoid literal -0.0f.
	* tests/test-floorl.c (zero): New variable.
	(main): Avoid literal -0.0L.
	* tests/test-roundf1.c (zero): New variable.
	(main): Avoid literal -0.0f.
	* tests/test-round1.c (zero): New variable.
	(main): Avoid literal -0.0.
	* tests/test-roundl.c (zero): New variable.
	(main): Avoid literal -0.0L.
	* tests/test-truncf1.c (zero): New variable.
	(main): Avoid literal -0.0f.
	* tests/test-trunc1.c (zero): New variable.
	(main): Avoid literal -0.0.
	* tests/test-truncl.c (zero): New variable.
	(main): Avoid literal -0.0L.
	* tests/test-frexp.c (zero): New variable.
	(main): Avoid literal -0.0.
	* tests/test-frexpl.c (zero): New variable.
	(main): Avoid literal -0.0L.
	* tests/test-ldexpl.c (zero): New variable.
	(main): Avoid literal -0.0L.
	* tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
	(zerod, zerol): New variables.
	(test_function): Avoid literals -0.0, -0.0L.
	* tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
	(zerod, zerol): New variables.
	(test_function): Avoid literals -0.0, -0.0L.
	* tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
	(zerod, zerol): New variables.
	(test_function): Avoid literals -0.0, -0.0L.
	* tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
	(zerod, zerol): New variables.
	(test_function): Avoid literals -0.0, -0.0L.
	* tests/test-strtod.c (zero): New variable.
	(main): Avoid literal -0.0.
	Reported by Jonathan C. Patschke <jp@centtech.com>.

2008-07-31  Jim Meyering  <meyering@redhat.com>

	sha256.h: correct definition of SHA224_DIGEST_SIZE
	* lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
	Reported by Paulie Pena IV <paulie4@gmail.com>.
	Define as 224 / 8, rather than as a literal.
	(SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
	* lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
	(SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.

2008-07-31  Bruno Haible  <bruno@clisp.org>

	* lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
	on HP-UX 10.20 with "cc -Ae". Fix second conditional.
	Reported by Jonathan Patschke <jp@centtech.com>.

2008-07-31  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Make change from 2008-06-23 more robust.
	Reported by Paolo Bonzini <bonzini@gnu.org>.

2008-07-30  Eric Blake  <ebb9@byu.net>

	test-strtod: allow compilation without -lm
	* tests/test-strtod.c (main): Avoid link dependence on fabs.
	Reported by Dennis Clarke <blastwave@gmail.com>.

2008-07-28  Jim Meyering  <meyering@redhat.com>

	bootstrap: work also when there are no .po files in po/
	* build-aux/bootstrap (update_po_files): Complete the change
	that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.

2008-07-27  Jim Meyering  <meyering@redhat.com>

	* users.txt: Add zile.

2008-07-26  Ben Pfaff  <blp@gnu.org>

	Add missing dependencies on new m4/exponent[fdl].m4 files.
	* modules/isnanf-nolibm: Add m4/exponentf.m4.
	* modules/isnand-nolibm: Add m4/exponentd.m4.
	* modules/isnanl-nolibm: Add m4/exponentl.m4.
	* modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
	m4/isnan[fdl].m4, because the macros actually used moved.
	Reported by Jim Meyering.

2008-07-14  Ben Pfaff  <blp@gnu.org>

	Add isinf module.
	* lib/isinf.c: New file.
	* lib/math.in.h: Define isinf macro if we have decided to replace
	it.
	* m4/isinf.m4: New file.
	* m4/math_h.m4: Initialize and substitute variables for isinf
	module.
	* modules/isinf: New file.
	* modules/isinf-tests: New file.
	* modules/math: Add substitutions for new module.
	* tests/test-isinf.c: New file.
	* doc/posix-functions/isinf.texi: Mention new module.
	* MODULES.html.sh: Mention new module.

2008-07-14  Ben Pfaff  <blp@gnu.org>

	Factor out some macros for use by additional modules.
	* m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
	exponentf.m4.
	* m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
	exponentd.m4.
	* m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
	file exponentl.m4.
	* m4/exponentf.m4: New file.
	* m4/exponentd.m4: New file.
	* m4/exponentl.m4: New file.
	* modules/isnanf: Use new file m4/exponentf.m4.
	* modules/isnand: Use new file m4/exponentd.m4.
	* modules/isnanl: Use new file m4/exponentl.m4.

2008-07-23  Ulrich Drepper  <drepper@redhat.com>

	mktime.c: normalize tp->tm_isdst value to -1/0/1.
	* lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
	Reported by Michael Ringe <Michael.Ringe@gmx.de> in
	<http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.

	* lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
	readlink on platforms without PATH_MAX.

2008-07-21  Eric Blake  <ebb9@byu.net>

	Warn, not fail, on stale version.
	* top/GNUmakefile (_curr-ver): Tone down previous patch.

	Don't allow installation with stale devel version number.
	* top/GNUmakefile (_is-install-target): New macro.
	(_curr-ver): Forbid installation with stale version number.

2008-07-20  Bruno Haible  <bruno@clisp.org>

	* modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
	TESTS_ENVIRONMENT.
	* tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.

2008-07-20  Bruno Haible  <bruno@clisp.org>

	* lib/c-stack.h (c_stack_action): Add documentation.
	* lib/c-stack.c (c_stack_action): Remove incomplete documentation.

2008-07-20  Bruno Haible  <bruno@clisp.org>

	* modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
	* modules/readlink (License): Likewise.

2008-07-17  Eric Blake  <ebb9@byu.net>

	* modules/c-stack (Link): Fix typo.

	Make c-stack use libsigsegv, when available.
	* modules/c-stack (Depends-on): Add libsigsegv.
	* modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
	needed.
	* lib/c-stack.c (SIGSTKSZ): Define fallback.
	(segv_handler, overflow_handler, c_stack_action)
	[HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
	implementation when libsigsegv is available, but only when using
	the library is necessary.
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
	comment, explaining why XSI check fails on Linux.
	(gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
	* tests/test-c-stack2.sh: Tweak skip message.
	* NEWS: Document new link-time requirements.

2008-07-16  Eric Blake  <ebb9@byu.net>

	c-stack: Expose false positives when not using libsigsegv.
	* modules/c-stack-tests (Files): Expand test.
	* tests/test-c-stack.c (main): Add means to conditionally trigger
	non-overflow SIGSEGV.
	* tests/test-c-stack2.sh: New file.

2008-07-14  Bruno Haible  <bruno@clisp.org>

	* m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
	Reported by Eric Blake.

2008-07-14  Sam Steingold  <sds@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	New module libsigsegv.
	* modules/libsigsegv: New file.
	* m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
	modifications.
	* MODULES.html.sh (Signal handling): New section.

2008-07-14  Bruno Haible  <bruno@clisp.org>

	* modules/unictype/ctype-* (Description): Add the word "function".
	Improves the resulting doc in MODULES.html.

2008-07-12  Ben Pfaff  <blp@gnu.org>

	Add longlong module.
	* modules/longlong: New file.

2008-07-12  Bruno Haible  <bruno@clisp.org>

	* m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
	to empty.

2008-07-10  Ben Pfaff  <blp@gnu.org>

	Add isnan module.
	* doc/posix-functions/isnan.texi: Mention new module.
	* lib/math.in.h: Define isnan macro if we have decided to replace
	it.
	* m4/isnan.m4: New file.
	* m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
	macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
	also.
	(gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
	redundancy.
	* m4/math_h.m4: Initialize and substitute variables for isnan
	module.
	* modules/isnan: New file.
	* modules/isnan-tests: New file.
	* modules/math: Add substitutions for new module.
	* tests/test-isnan.c: New file.
	* MODULES.html.sh: Mention new module.

2008-07-10  Ben Pfaff  <blp@gnu.org>

	Add isnanf module.
	* lib/isnanf.m4: New file.
	* m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
	(gl_HAVE_ISNANF_IN_LIBM): New macro.
	(gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
	gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
	* modules/isnanf: New file.
	* modules/isnanf-tests: New file.
	* modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
	files.
	* tests/test-isnanf-nolibm.c: factored most of its contents into
	new file tests/test-isnanf.h.
	* tests/test-isnanf.h: New file.
	* tests/test-isnanf.c: New file.
	* MODULES.html.sh: Mention new module.
	* doc/glibc-functions/isnanf.texi: Mention new module.

2008-07-10  Ben Pfaff  <blp@gnu.org>

	Add isnand module.
	* lib/isnand.h: New file.
	* m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
	(gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
	gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
	functionality also.
	(gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
	gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
	(gl_HAVE_ISNAND_IN_LIBM): New macro.
	* modules/isnand: New file.
	* modules/isnand-tests: New file.
	* modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
	files.
	* tests/test-isnand-nolibm.c: factored most of its contents into
	new file tests/test-isnand.h.
	* tests/test-isnand.h: New file.
	* tests/test-isnand.c: New file.
	* MODULES.html.sh: Mention new module.

2008-07-10  Ben Pfaff  <blp@gnu.org>

	* lib/isnanf.h: Rename lib/isnanf-nolibm.h.
	* lib/isnand.h: Rename lib/isnand-nolibm.h.
	* tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
	* tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
	* modules/isnanf-nolibm: Update references to renamed files.
	* modules/isnand-nolibm: Likewise.
	* modules/isnanf-nolibm-tests: Likewise.
	* modules/isnand-nolibm-tests: Likewise.
	* lib/frexp.c: Likewise.
	* lib/isfinite.c: Likewise.
	* lib/signbitd.c: Likewise.
	* lib/signbitf.c: Likewise.
	* lib/vasnprintf.c: Likewise.
	* tests/test-ceilf1.c: Likewise.
	* tests/test-ceilf2.c: Likewise.
	* tests/test-floorf1.c: Likewise.
	* tests/test-floorf2.c: Likewise.
	* tests/test-frexp.c: Likewise.
	* tests/test-round1.c: Likewise.
	* tests/test-round2.c: Likewise.
	* tests/test-roundf1.c: Likewise.
	* tests/test-strtod.c: Likewise.
	* tests/test-trunc1.c: Likewise.
	* tests/test-trunc2.c: Likewise.
	* tests/test-truncf1.c: Likewise.
	* tests/test-truncf2.c: Likewise.
	* NEWS: Mention the renamed header files.

2008-07-11  Jim Meyering  <meyering@redhat.com>

	vc-list-files: make the last-resort awk code more portable
	* build-aux/vc-list-files: Don't rely on awk's "sub" command.
	/bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
	does not support it.

2008-07-10  Eric Blake  <ebb9@byu.net>

	Work with tar's bootstrap.
	* gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
	where LIBSOURCES_DIR contains .#bootmp but must not be treated as
	an m4 comment.

2008-07-09  Jim Meyering  <meyering@redhat.com>

	posix-shell.m4: fix typo that made this test malfunction
	* m4/posix-shell.m4: Remove capitalization in variable name.

2008-07-08  Bruno Haible  <bruno@clisp.org>

	* m4/onceonly.m4: Update comments.
	Reported by Ben Pfaff <blp@cs.stanford.edu>.

2008-07-04  Jim Meyering  <meyering@redhat.com>

	* users.txt: Add vc-dwim.
	(bison, coreutils): Use the gitweb URL.

2008-07-03  Jim Meyering  <meyering@redhat.com>

	* users.txt: Add libffcall.  From Sam Steingold.

2008-07-03  Ondřej Vašík  <ovasik@redhat.com>

	getdate.y: do not ignore TZ with relative day, month or year offset
	* lib/getdate.y (get_date): Move the tz-handling block to follow the
	relative-date-handling, since otherwise, the latter would clobber the
	sole output (an updated Start value) of the tz-handling block.
	* tests/test-getdate.c: Tests for the fix

2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Recognize 'foo_LIBRARIES += libgnu.a'.
	* gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
	makefile snippet has already specified an installation location,
	also using '+='.

2008-07-02  Ondřej Vašík  <ovasik@redhat.com>

	getdate.y: factor out common actions
	* lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
	Use them in place of open-coded actions.

2008-07-01  Simon Josefsson  <simon@josefsson.org>

	Add self-test for getdate module.
	* modules/getdate-tests: New file.
	* tests/test-getdate.c: New file.

2008-06-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
	.gitignore.
	Reported by Sylvain Beucler <beuc@beuc.net>.

2008-06-29  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
	* m4/gnulib-tool.m4: Update to match current gnulib-tool.

2008-06-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
	EXTRA_DIST.
	Reported by Sylvain Beucler <beuc@beuc.net>.

2008-06-26  Jim Meyering  <meyering@redhat.com>

	make several modules depend on the "open" module
	This provides slightly increased consistency when opening-for-write
	the name of a non-directory spelled with a trailing slash.
	* modules/chdir-safer: Likewise.
	* modules/chown: Likewise.
	* modules/clean-temp: Likewise.
	* modules/copy-file: Likewise.
	* modules/fchdir: Likewise.
	* modules/fcntl-safer: Likewise.
	* modules/pipe: Likewise.
	* modules/utime: Likewise.
	Prompted by Eric Blake and Bruno Haible.

2008-06-24  Andreas Schwab  <schwab@suse.de>

	* m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
	literals can be used as initializers for global variables.

2008-06-23  Eric Blake  <ebb9@byu.net>

	Make gnulib-cache.m4 easier to diff.
	* gnulib-tool (func_import): Allow newlines when reading cached
	gl_MODULES, and generate newlines when creating gnulib-cache.m4.

2008-06-23  Bruno Haible  <bruno@clisp.org>

	* m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
	(gl_PREREQ_SIGPROCMASK): Don't invoke it.
	* m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
	m4/signalblocking.m4.
	(gl_PREREQ_SIGACTION): Don't invoke it.
	* m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
	gl_PREREQ_SIG_HANDLER_H.
	* m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
	Don't check for sigaction here.

2008-06-23  Bruno Haible  <bruno@clisp.org>

	* lib/fatal-signal.c (fatal_signal_handler): Update comment.
	(install_handlers): Don't set the SA_RESETHAND flag.

2008-06-23  Bruno Haible  <bruno@clisp.org>

	* m4/sigaction.m4: Comment fixes.
	* lib/signal.in.h: Likewise.

2008-06-23  Eric Blake  <ebb9@byu.net>

	Fix typo.
	* tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.

	Avoid SA_ namespace.
	* tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
	Reported by Ralf Wildenhues.

	Avoid test failure due to SA_RESTORER.
	* tests/test-sigaction.c (SA_MASK): New macro.
	(main): Avoid failing due to extension flags being set.
	Reported by Jim Meyering.

	Revert use of sig-handler.h in sigprocmask.c.
	* modules/sigprocmask (Files): Don't rely on sig-handler.h, since
	it requires the existence of struct sigaction.
	* lib/sigprocmask.c (handler_t): Restore typedef.
	(rpl_signal, old_handlers): Use local type.

2008-06-22  Bruno Haible  <bruno@clisp.org>

	* tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
	conditionally.
	Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.

2008-06-22  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/siginterrupt.texi: Move note.

	* lib/signal.in.h (SA_RESTART): New macro.
	* lib/sigaction.c: Update comment.

	* m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.

	* m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
	(gl_PREREQ_SIGPROCMASK): Invoke it.
	* m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.

	* lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.

	* lib/sigprocmask.c: Update a comment.

2008-06-21  Eric Blake  <ebb9@byu.net>

	Use sigaction module rather than signal().
	* modules/c-stack (Depends-on): Add sigaction.
	* modules/fatal-signal (Depends-on): Likewise.
	* modules/nanosleep (Depends-on): Likewise.
	* modules/sigprocmask (Files): Add sig-handler.h.
	* modules/sigaction (Files): Likewise.
	* lib/sig-handler.h (get_handler): New file, suggested by Paul
	Eggert.
	* lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
	(c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
	* lib/fatal-signal.c (uninstall_handlers, install_handlers)
	(init_fatal_signals): Likewise.
	* lib/nanosleep.c (rpl_nanosleep): Likewise.
	(siginterrupt): Delete fallback.
	* lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
	instead.
	* m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
	siginterrupt.

	New module sigaction, for mingw.
	* modules/sigaction: New module...
	* modules/sigaction-tests: ...and its test.
	* m4/sigaction.m4: New file.
	* lib/sigaction.c: Likewise.
	* tests/test-sigaction.c: Likewise.
	* m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
	* modules/signal (Makefile.am): Likewise.
	* lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
	needed.
	* doc/posix-headers/signal.texi (signal.h): Mention provided
	types.
	* doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
	that sigaction is preferable.
	* doc/posix-functions/sigaction.texi (sigaction): Mention new
	module.
	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add
	sigaction.

	Improve robustness of sigprocmask by overriding signal.
	* lib/signal.in.h (rpl_signal): Override signal when sigprocmask
	is in use.
	* lib/sigprocmask.c (blocked_handler): Reinstall block handler.
	(SIGKILL, SIGSTOP): Provide fallbacks.
	(rpl_signal): Implement.
	(old_handlers, blocked_set): Mark volatile, since sigprocmask and
	signal can be called inside handlers.

	Fix nanosleep module on mingw.
	* modules/nanosleep (Depends-on): Add sys_select.
	* lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.

	Fix licensing of sigprocmask.
	* modules/raise (License): Relicense as LGPL.

2008-06-21  Bruno Haible  <bruno@clisp.org>

	* lib/propername.c (proper_name_utf8): Don't use the transliterated
	result if it contains question marks.
	Reported by Michael Geng <linux@michaelgeng.de>.

2008-06-19  Bruno Haible  <bruno@clisp.org>

	Fix CVS-ism.
	* doc/gnulib.texi: Include updated-stamp.texi.
	* doc/Makefile (GNULIB_TEXI_FILES): New variable.
	(updated-stamp.texi): New rule.
	(gnulib.info): Depend on it.
	* doc/.gitignore: Add updated-stamp.texi.
	Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.

2008-06-19  Bruno Haible  <bruno@clisp.org>

	* doc/Makefile (gnulib.info): Update and simplify dependencies.
	Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.

2008-06-19  Eric Blake  <ebb9@byu.net>

	Fix VPATH 'make dist' with GNU make and non-VCS tarball.
	* top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
	Reported by Stepan Kasal.

2008-06-18  Bruno Haible  <bruno@clisp.org>

	* lib/fatal-signal.c (init_fatal_signals): Add comment.
	Reported by Eric Blake.

2008-06-18  Eric Blake  <ebb9@byu.net>

	Work around cygwin 1.5.25 strsignal bug.
	* tests/test-strsignal.c: Allow for const char *.
	* doc/glibc-functions/strsignal.texi (strsignal): Document the bug.

2008-06-18  Simon Josefsson  <simon@josefsson.org>

	* users.txt: Update URL to article and add author/date
	information.

2008-06-17  Bruno Haible  <bruno@clisp.org>

	New macro gl_DISABLE_THREADS.
	* m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
	if the user did not pass --enable-threads or --disable-threads option.
	(gl_DISABLE_THREADS): New macro.
	Reported by Eric Blake <ebb9@byu.net>.

2008-06-17  Bruno Haible  <bruno@clisp.org>

	* lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
	when the macro ignores it.
	Based on a patch by Eric Blake <ebb9@byu.net>.

2008-06-17  Bruno Haible  <bruno@clisp.org>

	* modules/tls (License): Change to LGPLv2+.
	Reported by Eric Blake.

2008-06-17  Eric Blake  <ebb9@byu.net>

	Simplify c-stack prerequisites.
	* lib/c-stack.c (includes): Remove unused <sys/resource.h>.
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
	no longer requires <ucontext.h> to exist.  Optimize setrlimit
	check.
	(gl_PREREQ_C_STACK): Remove check for unused getcontext and
	<sys/resource.h>.

	Move c-stack test into testsuite.
	* modules/c-stack-tests: New file.
	* lib/c-stack.c [DEBUG]: Move test program...
	* tests/test-c-stack.c: ...into this new file.  Skip rather than
	fail test if sigaltstack is lacking.
	* tests/test-c-stack.sh: New driver file.

2008-06-16  Eric Blake  <ebb9@byu.net>

	Use raise module consistently.
	* modules/fatal-signal (Depends-on): Add raise.
	* modules/sigprocmask (Depends-on): Likewise.
	* lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
	* lib/sigprocmask.c (sigprocmask): Likewise.
	* m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
	* m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.

	Fix compliance bug in sigpending.
	* lib/sigprocmask.c (sigpending): Return pending array via
	parameter, not return value.

2008-06-14  Eric Blake  <ebb9@byu.net>

	Improve obstack-printf test code.
	* tests/test-obstack-printf.c (test_function): Fix comment, and
	simplify usage of obstack_* in macros.  Add a test for coverage.
	Reported by Bruno Haible.

2008-06-14  Bruno Haible  <bruno@clisp.org>

	* lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
	array size as a constant, not as a const variable.
	* m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
	AC_USE_SYSTEM_EXTENSIONS.
	* m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
	Test whether the obstack_printf function actually exists.
	* modules/obstack-printf (Depends-on): Add extensions.
	(Include): Remove obstack.h.
	* modules/obstack-printf-posix (Depends-on): Add extensions.
	(Include): Remove obstack.h.

2008-06-13  Eric Blake  <ebb9@byu.net>

	Add obstack-printf and obstack-printf-posix modules.
	* modules/obstack-printf: New file.
	* modules/obstack-printf-posix: Likewise.
	* MODULES.html.sh (Misc): Mention them.
	* doc/glibc-functions/obstack_printf.texi (obstack_printf):
	Likewise.
	* doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
	Likewise.
	* modules/stdio (Makefile.am): Accomodate new modules.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
	* lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
	Declare.
	* lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
	functions.
	* m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
	(gl_REPLACE_OBSTACK_PRINTF): New macros
	* m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
	* tests/test-obstack-printf.c: New file.
	* modules/obstack-printf-tests: Likewise.
	* modules/obstack-printf-posix-tests: Likewise.

2008-06-11  Bruno Haible  <bruno@clisp.org>

	* m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
	* lib/open.c: Include errno.h.
	(open): Fail when attempting to write to a file that has a trailing
	slash.
	* tests/test-open.c (main): Test against trailing slash bug.
	* doc/posix-functions/open.texi: Mention the trailing slash bug.

2008-06-10  Bruno Haible  <bruno@clisp.org>

	* tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
	for $? to work inside the trap command, with various /bin/sh-s.
	* tests/test-vc-list-files-cvs.sh: Likewise.

2008-06-10  Bruno Haible  <bruno@clisp.org>

	* lib/acl-internal.h: Don't include gettext.h here.
	* lib/set-mode-acl.c: Include gettext.h here.
	* lib/copy-acl.c: Likewise.

2008-06-10  Bruno Haible  <bruno@clisp.org>

	* lib/wait-process.h (wait_subprocess): Add termsigp argument.
	* lib/wait-process.c (wait_subprocess): Likewise.
	* lib/execute.h (execute): Add termsigp argument.
	* lib/execute.c (execute): Likewise.
	* lib/csharpcomp.c (compile_csharp_using_pnet,
	compile_csharp_using_mono, compile_csharp_using_sscli): Update.
	* lib/csharpexec.c (execute_csharp_using_pnet,
	execute_csharp_using_mono, execute_csharp_using_sscli): Update.
	* lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
	compile_using_javac, compile_using_jikes, is_envjavac_gcj,
	is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
	is_jikes_present): Update.
	* lib/javaexec.c (execute_java_class): Update.
	* lib/javaversion.c (execute_and_read_line): Update.
	* NEWS: Document the changes.
	Reported by Eric Blake.

2008-06-10  Eric Blake  <ebb9@byu.net>

	Add missing include.
	* tests/test-strstr.c (includes): Add <signal.h>.
	* tests/test-strcasestr.c (includes): Likewise.
	* tests/test-memmem.c (includes): Likewise.

2008-06-10  Bruno Haible  <bruno@clisp.org>

	* lib/wait-process.c (wait_subprocess): Add an assertion.

2008-06-10  Bruno Haible  <bruno@clisp.org>

	* lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.

2008-06-10  Bruno Haible  <bruno@clisp.org>

	* tests/test-memmem.c (main): Reset SIGALRM to default handling before
	using alarm().
	* tests/test-strcasestr.c (main): Likewise.
	* tests/test-strstr.c (main): Likewise.

2008-06-09  Bruno Haible  <bruno@clisp.org>

	Work around the Solaris 10 ACE ACLs ABI change.
	* lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
	declare if ACL_NO_TRIVIAL is present.
	(ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
	NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
	NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
	* lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
	define if ACL_NO_TRIVIAL is present.
	(acl_ace_nontrivial): Detect whether the old or new ABI is in use,
	and use the current ABI.
	(file_has_acl): Use same #if condition as elsewhere.
	* lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
	in use, and use the current ABI.
	* doc/acl-resources.txt: More doc about newer Solaris 10 versions.
	Reported by Jim Meyering.

2008-06-09  Eric Blake  <ebb9@byu.net>

	Work around environments that (stupidly) ignore SIGALRM.
	* m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
	before using alarm().
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
	* m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
	Reported by Ian Beckwith <ianb@erislabs.net>.

	Produce autobuild blurb earlier in log.
	* modules/autobuild (configure.ac-early): Move AB_INIT here.

2008-06-09  Jim Meyering  <meyering@redhat.com>
	and Ondřej Vašík  <ovasik@redhat.com>

	utimens.c: correct kernel bug work-around
	Ondřej Vašík found that the invalid return value of 280 indicates
	failure, not success, and the kernel bug we're trying to work
	around affects not just the utimensat call, but also the fallback
	futimens call.
	* lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
	not success.
	[HAVE_FUTIMENS]: Use the same work-around, here.

2008-06-09  Jim Meyering  <meyering@redhat.com>

	add more guards around definition of ACE_-related code
	* lib/file-has-acl.c (acl_ace_nontrivial): Define only if
	ALLOW and ACE_OWNER are also defined.

2008-06-08  Bruno Haible  <bruno@clisp.org>

	* lib/acl-internal.h: Add me as co-author.
	* lib/file-has-acl.c: Likewise.
	* lib/set-mode-acl.c: Likewise.
	* lib/copy-acl.c: Likewise.

2008-06-08  Bruno Haible  <bruno@clisp.org>

	Add support for AIX ACLs.
	* lib/acl-internal.h (acl_nontrivial): New declaration.
	* lib/file-has-acl.c (acl_nontrivial): New function.
	(file_has_acl): Add implementation using AIX 4 ACL API.
	* lib/set-mode-acl.c (qset_acl): Likewise.
	* lib/copy-acl.c (qcopy_acl): Likewise.

2008-06-08  Bruno Haible  <bruno@clisp.org>

	Add support for HP-UX ACLs.
	* lib/acl-internal.h (acl_nontrivial): New declaration.
	* lib/file-has-acl.c (acl_nontrivial): New function.
	(file_has_acl): Add implementation using HP-UX 11 ACL API.
	* lib/set-mode-acl.c (qset_acl): Likewise.
	* lib/copy-acl.c (qcopy_acl): Likewise.

2008-06-08  Bruno Haible  <bruno@clisp.org>

	Add support for Cygwin ACLs.
	* lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
	* lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
	the chmod_or_fchmod call.
	* lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.

2008-06-08  Bruno Haible  <bruno@clisp.org>

	Fix bug with setuid modes in Solaris 10+ code.
	* lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
	succeeded, when the mode contains some special bits.

2008-06-08  Bruno Haible  <bruno@clisp.org>

	Add support for Solaris 7..10 ACLs.
	* lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
	declarations.
	* lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
	functions.
	(file_has_acl): Add implementation using Solaris 7..10 ACL API.
	* lib/set-mode-acl.c (qset_acl): Likewise.
	* lib/copy-acl.c (qcopy_acl): Likewise.

2008-06-08  Bruno Haible  <bruno@clisp.org>

	* lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
	declaration.
	* lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
	(acl_access_nontrivial): Remove MacOS X case.
	(file_has_acl): Use acl_extended_nontrivial.
	* lib/copy-acl.c (qcopy_acl): Likewise.

2008-06-08  Bruno Haible  <bruno@clisp.org>

	* lib/set-mode-acl.c (qset_acl): Trivial code simplifications.

2008-06-08  Jim Meyering  <meyering@redhat.com>

	* modules/acl (Maintainer): Add Bruno Haible.

2008-06-07  Bruno Haible  <bruno@clisp.org>

	Improve support for Tru64 ACLs.
	* lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
	ACL on OSF/1.

2008-06-07  Bruno Haible  <bruno@clisp.org>

	Add support for MacOS X ACLs.
	* lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
	ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
	* lib/set-mode-acl.c (qset_acl): Likewise.
	* lib/copy-acl.c (qcopy_acl): Likewise.

2008-06-07  Bruno Haible  <bruno@clisp.org>

	Fix memory leak introduced on 2008-05-22.
	* lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
	use.

2008-06-07  Bruno Haible  <bruno@clisp.org>

	* lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
	to construct an empty ACL.

2008-06-07  Bruno Haible  <bruno@clisp.org>

	* lib/set-mode-acl.c (chmod_or_fchmod): Document return value
	precisely.
	* lib/copy-acl.c (qcopy_acl): Trivial code simplifications.

2008-06-07  Bruno Haible  <bruno@clisp.org>

	* lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
	* lib/set-mode-acl.c (qset_acl): Choose better local variable names.

2008-06-07  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/_setjmp.texi: Explain the use of this function
	regardless of POSIX.
	* doc/posix-functions/_longjmp.texi: Likewise.
	* doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
	SystemV platform in this case.

2008-06-06  Eric Blake  <ebb9@byu.net>

	Document abort() bugs.
	* doc/posix-functions/abort.texi (abort): Mention anomalies.

	* doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
	* doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
	sigsetjmp.
	* doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
	siglongjmp, but only as a macro.
	* doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
	is obsolete.
	* doc/posix-functions/_setjmp.texi (_setjmp): Likewise.

	Tweak documentation to cover cygwin argz bugs.
	* m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
	argz bug fix; no code change needed since no cygwin releases
	occurred between the last fix and the bug being tested.
	* doc/glibc-functions/argz_add.texi (argz_add): Document the argz
	module and recently fixed cygwin bugs.
	* doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
	* doc/glibc-functions/argz_append.texi (argz_append): Likewise.
	* doc/glibc-functions/argz_count.texi (argz_count): Likewise.
	* doc/glibc-functions/argz_create.texi (argz_create): Likewise.
	* doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
	Likewise.
	* doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
	* doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
	* doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
	* doc/glibc-functions/argz_next.texi (argz_next): Likewise.
	* doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
	* doc/glibc-functions/argz_stringify.texi (argz_stringify):
	Likewise.

	Avoid gcc warning on cygwin.
	* lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
	!ACL_NO_TRIVIAL]: Avoid unused variable.

2008-06-05  Eric Blake  <ebb9@byu.net>

	Be tolerant of UNKNOWN version in gnulib-tool test dir.
	* top/GNUmakefile (_dummy): Warn rather than reconfigure if
	git-version-gen fails to come up with a version.
	Reported by Simon Josefsson.

2008-06-05  Jim Meyering  <meyering@redhat.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	utimens.c: work around a probable Linux kernel bug
	* lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
	appears to be a kernel bug that causes utimensat to return 280
	instead of 0, indicating success.

2008-06-04  Bruno Haible  <bruno@clisp.org>

	* lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
	2008-06-01 commit.

2008-06-04  Bruno Haible  <bruno@clisp.org>

	* lib/acl-internal.h (acl_access_nontrivial): New declaration.
	* lib/file-has-acl.c (acl_access_nontrivial): New function.
	(file_has_acl): Use it. Save errno afterwards.
	* lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.

2008-06-03  Bruno Haible  <bruno@clisp.org>

	* lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
	draft code. Simplify #ifs.
	* lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
	Put Solaris code after POSIX-draft code. Fix comments regarding
	Solaris 10, HP-UX. Mention Cygwin.
	* lib/copy-acl.c (qcopy_acl): Simplify #ifs.

2008-06-03  Eric Blake  <ebb9@byu.net>

	Provide fallback for older kernels.
	* lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
	Provide runtime fallback if kernel lacks support.
	Reported by Mike Frysinger.

2008-06-02  Bruno Haible  <bruno@clisp.org>

	* lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
	it exists.

2008-06-02  Bruno Haible  <bruno@clisp.org>

	* lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
	* lib/copy-acl.c (qcopy_acl): Update comment.

2008-06-02  Bruno Haible  <bruno@clisp.org>

	* lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
	like ACL APIs.

2008-06-02  Bruno Haible  <bruno@clisp.org>

	* tests/test-file-has-acl.sh: Use different code for Cygwin.
	* tests/test-set-mode-acl.sh: Likewise.
	* tests/test-copy-acl.sh: Likewise.
	* tests/test-copy-file.sh: Likewise.

2008-06-02  Bruno Haible  <bruno@clisp.org>

	* tests/test-file-has-acl.sh: Remove unused code.

2008-06-01  Bruno Haible  <bruno@clisp.org>

	* lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
	(copy_acl): Just a wrapper around qcopy_acl that emits the error
	messages.
	* lib/set-mode-acl.c (qset_acl): Document return value precisely.

2008-06-01  Bruno Haible  <bruno@clisp.org>

	* m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
	tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
	needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
	APIs.
	* modules/acl-tests (configure.ac): Remove tests now contained in
	m4/acl.m4.

2008-06-02  Jim Meyering  <meyering@redhat.com>

	announce-gen: use a better key-server host name
	* build-aux/announce-gen (main): Recommend keys.gnupg.net, since
	it may be more consistently reliable.  Suggested by Werner Koch
	in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.

2008-06-01  Bruno Haible  <bruno@clisp.org>

	* lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
	Reported by Voroskoi Andras <voroskoi@gmail.com>.

2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)

	* lib/stdio-impl.h [__DragonFly__]: Fix typo.

2008-06-01  Bruno Haible  <bruno@clisp.org>

	New ACL tests.
	* tests/test-file-has-acl.sh: New file.
	* tests/test-file-has-acl.c: New file.
	* tests/test-set-mode-acl.sh: New file.
	* tests/test-set-mode-acl.c: New file.
	* tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
	* tests/test-copy-acl.c: New file.
	* modules/acl-tests: New file, based on modules/copy-file-tests.
	* modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
	(Depends-on): Add acl-tests.
	(configure.ac): Remove checks.
	(Makefile.am): Don't create test-sameacls program here any more.

2008-06-01  Bruno Haible  <bruno@clisp.org>

	* tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
	* tests/test-sameacls.c: Include progname.h.
	(main): Invoke set_program_name. Portability fixes for MacOS X,
	Solaris, HP-UX.

2008-06-01  Bruno Haible  <bruno@clisp.org>

	* lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
	function.
	Reported by VOROSKOI Andras <voroskoi@gmail.com>.

2008-06-01  Bruno Haible  <bruno@clisp.org>

	* modules/rpmatch (Depends-on): Add strdup.

2008-06-01  Bruno Haible  <bruno@clisp.org>

	* lib/pipe.c: Include unistd-safer.h.
	(create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
	* modules/pipe (Depends-on): Add unistd-safer.

2008-05-30  Simon Josefsson  <simon@josefsson.org>

	* modules/autobuild (configure.ac): Call AB_INIT.

2008-05-30  Simon Josefsson  <simon@josefsson.org>

	* tests/test-getaddrinfo.c: Don't print debug messages by default.
	Suggested by Bruno Haible <bruno@clisp.org>.

2008-05-30  Simon Josefsson  <simon@josefsson.org>

	* tests/test-base64.c: Cast size_t to unsigned long when invoking
	printf.  Use %lu instead of %d.  Reported by Bruno Haible
	<bruno@clisp.org>.

2008-05-29  Eric Blake  <ebb9@byu.net>

	Prefer new POSIX 200x interfaces over futimesat.
	* m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
	* lib/utimens.c (gl_futimens): Use them for nanosecond resolution
	when available.
	[HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.

2008-05-28  Bruno Haible  <bruno@clisp.org>

	* modules/stpcpy (License): Change to LGPLv2+.
	Requested by David Lutterkort <dlutter@redhat.com>.

2008-05-27  Bruno Haible  <bruno@clisp.org>

	* lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
	current mingw.
	Reported by Jose E. Marchesi <jemarch@gnu.org>.

2008-05-27  Bruno Haible  <bruno@clisp.org>

	* modules/iconv_open (Link): New section, from module 'iconv'.
	* modules/striconv (Link): Likewise.
	* modules/striconveh (Link): Likewise.
	* modules/xstriconv (Link): Likewise.
	* modules/unicodeio (Link): Likewise.
	* modules/propername (Link): Likewise.
	Reported by Jim Meyering.

2008-05-26  Jim Meyering  <meyering@redhat.com>

	sha256: do not artificially restrict buffer length to be < 2^32
	* lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
	uint32_t to size_t.
	* lib/sha256.c (sha256_conclude_ctx): Change type of a local
	to match.

	avoid unaligned access errors, e.g., on sparc
	* lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
	direct access through a possibly-unaligned uint64* pointer.
	* lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
	direct access through a possibly-unaligned uint32* pointer.
	Prompted by this patch from Tom "spot" Callaway:
	http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638

	sha512.c: fix typo in comment
	* lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.

2008-05-25  Bruno Haible  <bruno@clisp.org>

	* lib/set-mode-acl.c: Renamed from lib/acl.c.
	* modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
	(Makefile.am): Update lib_SOURCES.

2008-05-25  Bruno Haible  <bruno@clisp.org>

	* m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.

2008-05-25  Jim Meyering  <meyering@redhat.com>

	useless-if-before-free: freed expr may have white-space differences
	* build-aux/useless-if-before-free: Recognize cases in which the
	freed expression differs from the tested one in embedded white
	space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
	$1 was used, so we can't make any regexp shy.  Improved tests now
	detect this.

	useless-if-before-free: accept white space in the expression.
	* build-aux/useless-if-before-free: For now, any white space
	in the expression must be identical in the free argument.

	useless-if-before-free: efficiency tweak
	* build-aux/useless-if-before-free: Make the expression-matching
	regexp "shy".
	Make the *outer* regexp shy, not the expr-matching one.

	update code-in-comment to accept cast of free arg
	* build-aux/useless-if-before-free: Update regexp.

2008-05-25  Bruno Haible  <bruno@clisp.org>

	* tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
	* modules/copy-file-tests (Files, Makefile.am): Update.
	* tests/test-copy-file.c (func_test_copy): Update.

2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)

	* lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.

2008-05-23  Bruno Haible  <bruno@clisp.org>

	Improve support for ACLs on OSF/1.
	* lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
	Remove fallback for unknown flavors of ACLs.

2008-05-22  Bruno Haible  <bruno@clisp.org>

	Add support for ACLs on OSF/1.
	* lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
	replacements.
	(acl_free_text): New macro fallback.
	* lib/acl_entries.c (acl_entries): Use acl_free_text instead of
	acl_free.
	* m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
	acl_free_text function. Require AC_C_INLINE.

2008-05-22  Bruno Haible  <bruno@clisp.org>

	Make copy_acl work on MacOS X 10.5.
	* lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
	(ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
	* lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
	If MODE_INSIDE_ACL, don't assume that every system has the same text
	representation for ACLs as FreeBSD.
	* lib/copy-acl.c (copy_acl): Add support for platforms with
	!MODE_INSIDE_ACL.
	* lib/file-has-acl.c (file_has_acl): Likewise.
	* m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
	FreeBSD, MacOS X, or IRIX, respectively.

2008-05-22  Bruno Haible  <bruno@clisp.org>

	* lib/acl.h: Don't include <sys/acl.h>.
	(GETACLCNT): Move fallback to lib/acl-internal.h.
	* lib/acl-internal.h: Include <sys/acl.h> here.
	(GETACLCNT): New macro fallback, moved here from lib/acl.h.

2008-05-22  Bruno Haible  <bruno@clisp.org>

	Split off copy_acl function to separate file.
	* lib/copy-acl.c: New file, extracted from lib/acl.c.
	* lib/acl.c (copy_acl): Moved function to separate file.
	* m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
	* modules/acl (Files): Add lib/copy-acl.c.
	(Makefiles.am): Augment lib_SOURCES.

2008-05-22  Bruno Haible  <bruno@clisp.org>

	* modules/copy-file-tests: New file.
	* tests/test-copy-file.sh: New file.
	* tests/test-copy-file.c: New file.
	* tests/test-copy-file-sameacls.c: New file.

2008-05-22  Eric Blake  <ebb9@byu.net>

	Avoid gcc warning.
	* tests/test-memcmp.c (main): Pass NULL indirectly.

2008-05-21  Bruno Haible  <bruno@clisp.org>

	Add reference doc about ACLs.
	* doc/acl-resources.txt: New file.
	* doc/acl-cygwin.txt: New file.

2008-05-21  Bruno Haible  <bruno@clisp.org>

	Avoid one more warning from gcc.
	* lib/vasnprintf.c (IF_LINT): Update comments.
	(VASNPRINTF): Use it also for the 'prefix' array initializer.

2008-05-21  Jim Meyering  <meyering@redhat.com>

	avoid a warning from gcc
	* lib/vasnprintf.c (IF_LINT): Define.
	(scale10_round_decimal_long_double):
	Use it to avoid a "may be used uninitialized" warning.
	(scale10_round_decimal_double): Likewise.

2008-05-21  Simon Josefsson  <simon@josefsson.org>

	* m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
	declared.

2008-05-20  Bruno Haible  <bruno@clisp.org>

	* tests/test-memcmp.c (main): Test also the sign of the result. Test
	against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.

2008-05-20  Simon Josefsson  <simon@josefsson.org>

	* modules/memcmp-tests: New file.
	* tests/test-memcmp.c: New file.

2008-05-19  Bruno Haible  <bruno@clisp.org>

	* modules/propername (Notice, configure.ac): Put quoted "..." into
	--keyword option.
	* lib/propername.h: Update comments accordingly.
	Reported by Eric Blake.

2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)

	* modules/getpass-gnu (Depends-on): Add fseeko.

2008-05-19  Simon Josefsson  <simon@josefsson.org>

	* modules/base64-tests: New file.

2008-05-19  Bo Borgerson  <gigabo@gmail.com>

	* lib/base64.c (base64_decode_ctx): If a decode context structure
	was passed in use it to ignore newlines.  If a context structure
	was _not_ passed in, continue to treat newlines as garbage (this
	is the historical behavior).  Formerly base64_decode.
	(base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
	takes a decode context structure.
	* lib/base64.h (base64_decode): Macro for four-argument calls.
	(base64_decode_alloc): Likewise.
	* lib/base64.c (base64_decode_ctx): If a decode context structure
	was passed in use it to ignore newlines.  If a context structure
	was _not_ passed in, continue to treat newlines as garbage (this
	is the historical behavior).  Formerly base64_decode.
	(base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
	takes a decode context structure.
	* lib/base64.h (base64_decode): Macro for four-argument calls.
	(base64_decode_alloc): Likewise.

2008-05-19  Jim Meyering  <meyering@redhat.com>

	avoid a warning from gcc
	* lib/trim.c (IF_LINT): Define.
	(trim2): Use it to avoid a "may be used uninitialized" warning.

	Fix doc typo.
	* doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.

2008-05-19  Bruno Haible  <bruno@clisp.org>

	* doc/glibc-functions/getpass.texi: Document limits of other
	implementations.

2008-05-19  Simon Josefsson  <simon@josefsson.org>
	    Bruno Haible <bruno@clisp.org>

	* doc/glibc-functions/getpass.texi: Document gnulib implementation.

2008-05-18  Bruno Haible  <bruno@clisp.org>

	* modules/propername: New file, from GNU gettext.
	* lib/propername.h: New file, from GNU gettext.
	* lib/propername.c: New file, from GNU gettext.
	* MODULES.html.sh (Internationalization functions): Add propername.

2008-05-16  Jim Meyering  <meyering@redhat.com>
	    Bruno Haible  <bruno@clisp.org>

	Avoid some warnings from "gcc -Wshadow".
	* lib/vasnprintf.c (exp, remainder): Define to different identifiers.

2008-05-15  Eric Blake  <ebb9@byu.net>

	Extend previous patch to cygwin 1.7.0.
	* m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
	fast implementation in cygwin >= 1.7.0.
	* m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.

2008-05-15  Bruno Haible  <bruno@clisp.org>

	* m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
	implementation in glibc >= 2.9.
	* m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.

2008-05-15  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (Internationalization functions): Remove linebreak.
	(Unicode string functions): Add unilbrk/*.
	Reported by Karl Berry.

2008-05-15  Eric Blake  <ebb9@byu.net>

	Fix violation of <stdbool.h> replacement in regex.
	* lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
	* lib/regexec.c (re_search_internal): Likewise.
	Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.

2008-05-15  Jim Meyering  <meyering@redhat.com>

	avoid distracting test output when git or cvs is not found
	* tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
	* tests/test-vc-list-files-git.sh: Likewise.

2008-05-15  Eric Blake  <ebb9@byu.net>

	Glibc finally accepted the memmem speedup code, bugzilla #5514.
	* doc/glibc-functions/memmem.texi (memmem): Mention last broken
	glibc version.
	* doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
	* doc/posix-functions/strstr.texi (strstr): Likewise.
	* lib/str-two-way.h (MAX): Sychronize with glibc.

2008-05-15  Paolo Bonzini  <bonzini@gnu.org>

	* lib/regcomp.c (optimize_utf8): Add a note on why we test
	opr.ctx_type.
	(calc_first): Initialize constraint field.
	(duplicate_node_closure): Use it instead of special casing ANCHORS.
	Fix grammar.
	(duplicate_node): Merge constraint field for all node types.
	(calc_eclosure_iter): Look at constraint field for all node types.
	* lib/regex_internal.c (create_cd_newstate): Don't look at
	opr.ctx_type.

2008-05-14  Bruno Haible  <bruno@clisp.org>

	Help GCC to do better code generation.
	* lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
	* lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
	* lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
	(xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
	Declare with attribute 'malloc' if supported.

2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>

	use "echo STR|wc -c" rather than unportable "expr length STR"
	* build-aux/mktempd (mktempd): Vendor-supplied expr from at least
	OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.

2008-05-14  Jim Meyering  <meyering@redhat.com>

	use dd ibs=$n count=1 ... rather than less-portable head -c$n
	* build-aux/mktempd (rand_bytes): head's -cN option is not accepted
	by Solaris 10's /bin/head or by the one from HP-UX 11.x.
	Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
	via Collin Lasse.

2008-05-14  Eric Blake  <ebb9@byu.net>

	Avoid quadratic growth in gl_LIBSOURCES.
	* gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
	Suggested by Bruno Haible.

	Test xmemdup0.
	* modules/xmemdup0-tests: New file.
	* tests/test-xmemdup0.c: Likewise.

2008-05-13  Eric Blake  <ebb9@byu.net>

	Split xmemdup0 into its own module.
	* modules/xmemdup0: New file.
	* lib/xmemdup0.h: Likewise.
	* lib/xmemdup0.c: Likewise.
	* MODULES.html.sh (Memory management functions): Add xmemdup0.
	* lib/xalloc.h (xmemdup0): Remove.
	* lib/xmalloc.c (xmemdup0): Likewise.

2008-05-13  Eric Blake  <ebb9@byu.net>
	    Bruno Haible  <bruno@clisp.org>

	Reduce number of forks required during autoconf.
	* gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
	and gl_LIBSOURCES_DIR.
	(func_emit_initmacro_end): Use them here in a single m4_syscmd...
	(func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
	m4_syscmd per file.
	<m4_foreach_w>: Move...
	* m4/gnulib-common.m4 (m4_foreach_w): ...here.

2008-05-13  Eric Blake  <ebb9@byu.net>

	* gnulib-tool: Fix various comment typos.

2008-05-12  Bruno Haible  <bruno@clisp.org>

	Tailor the linebreaking algorithm.
	* lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.

2008-05-12  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 5.0.0.
	* lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
	LBP_JV, LBP_JT. Redistribute values.
	(unilbrk_table): Change size.
	* lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
	Unicode TR#14 rev. 22.
	* lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
	LBP_JV, LBP_JT. Redistribute values.
	(get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
	(debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
	Update.
	* lib/unilbrk/lbrkprop1.h: Regenerated.
	* lib/unilbrk/lbrkprop2.h: Regenerated.
	* lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
	Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
	* lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
	Likewise.
	* lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
	Likewise.
	* tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
	result.
	* tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
	* tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.

2008-05-11  Bruno Haible  <bruno@clisp.org>

	* lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.

2008-05-11  Bruno Haible  <bruno@clisp.org>

	* lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
	* modules/unilbrk/gen-lbrk: New file.

2008-05-11  Bruno Haible  <bruno@clisp.org>

	* m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
	* m4/sha512.m4 (gl_SHA512): Likewise.

2008-05-11  Jim Meyering  <meyering@redhat.com>

	New modules: crypto/sha256, crypto/sha512 (from coreutils)
	* modules/crypto/sha256: New file.
	* modules/crypto/sha512: Likewise.
	* lib/sha256.c: Likewise.
	* lib/sha256.h: Likewise.
	* lib/sha512.c: Likewise.
	* lib/sha512.h: Likewise.
	* lib/u64.h: Likewise.
	* m4/sha256.m4: Likewise.
	* m4/sha512.m4: Likewise.
	* MODULES.html.sh (Cryptographic computations (low-level)): List them.

2008-05-10  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
	(Input/Output <stdio.h>): Add xprintf.
	(Signal handling <signal.h>): Add strsignal.
	(Cryptographic computations (high-level)): Add crypto/gc-camellia.
	(Core language properties): Add func.
	(Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
	(Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
	strings.
	(Enhancements for POSIX:2001 functions): Add iconv_open-utf.
	(Input/output): New section.
	(File system functions): Add openat-die, stat-macros.
	(Networking functions): Add sockets.
	(Unicode string functions): Add unictype/*.
	(Support for building libraries and executables): Add gperf.
	(Support for building documentation): Add agpl-3.0.
	(Misc): Add nocrash.

2008-05-10  Bruno Haible  <bruno@clisp.org>

	* modules/unictype/gen-ctype: New file.

2008-05-10  Jim Meyering  <meyering@redhat.com>

	Make chdir-safer.c more efficient on a system with no symlinks.
	* lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
	also if ELOOP is zero.  Suggested by Bruno Haible.

	Make chdir-safer.c slightly safer.
	* lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
	not O_NOFOLLOW, in case the latter is nonzero and open ignores it.

	Avoid compile failure on systems without ELOOP (like mingw).
	* lib/chdir-safer.c (ELOOP): Define if not already defined.
	Reported by Bruno Haible.

2008-05-10  Bruno Haible  <bruno@clisp.org>

	* lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
	(is_utf8_encoding): Use a case-insensitive comparison.
	* modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
	streq.

2008-05-10  Bruno Haible  <bruno@clisp.org>

	* lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
	(iconv_string_length, iconv_string_keeping_offsets): Remove functions.
	* lib/unilbrk/ulc-common.h (iconv_string_length,
	iconv_string_keeping_offsets): Remove declarations.
	* lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
	Don't include <iconv.h>, streq.h, xsize.h.
	(ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
	conversion.
	* lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
	<iconv.h>, streq.h, xsize.h.
	(ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
	conversion.
	* modules/unilbrk/ulc-common (Depends-on): Remove iconv.
	* modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
	uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
	* modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.

2008-05-10  Bruno Haible  <bruno@clisp.org>

	* modules/unilbrk/ulc-width-linebreaks-tests: New file.
	* tests/unilbrk/test-ulc-width-linebreaks.c: New file.

	* modules/unilbrk/u32-width-linebreaks-tests: New file.
	* tests/unilbrk/test-u32-width-linebreaks.c: New file.

	* modules/unilbrk/u16-width-linebreaks-tests: New file.
	* tests/unilbrk/test-u16-width-linebreaks.c: New file.

	* modules/unilbrk/u8-width-linebreaks-tests: New file.
	* tests/unilbrk/test-u8-width-linebreaks.c: New file.

	* modules/unilbrk/ulc-possible-linebreaks-tests: New file.
	* tests/unilbrk/test-ulc-possible-linebreaks.c: New file.

	* modules/unilbrk/u32-possible-linebreaks-tests: New file.
	* tests/unilbrk/test-u32-possible-linebreaks.c: New file.

	* modules/unilbrk/u16-possible-linebreaks-tests: New file.
	* tests/unilbrk/test-u16-possible-linebreaks.c: New file.

	* modules/unilbrk/u8-possible-linebreaks-tests: New file.
	* tests/unilbrk/test-u8-possible-linebreaks.c: New file.

2008-05-10  Bruno Haible  <bruno@clisp.org>

	Split up 'linebreak' module.
	* lib/unilbrk.h: New file, based on lib/linebreak.h.
	* lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
	* lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
	modifications.
	* lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
	* lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
	* lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
	lib/linebreak.c.
	* lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
	lib/linebreak.c.
	* lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
	lib/linebreak.c.
	* lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
	* lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
	* lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
	lib/linebreak.c.
	* lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
	lib/linebreak.c.
	* lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
	lib/linebreak.c.
	* lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
	lib/linebreak.c.
	* lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
	lib/linebreak.c.
	* modules/unilbrk/base: New file.
	* modules/unilbrk/tables: New file.
	* modules/unilbrk/u8-possible-linebreaks: New file.
	* modules/unilbrk/u16-possible-linebreaks: New file.
	* modules/unilbrk/u32-possible-linebreaks: New file.
	* modules/unilbrk/ulc-common: New file.
	* modules/unilbrk/ulc-possible-linebreaks: New file.
	* modules/unilbrk/u8-width-linebreaks: New file.
	* modules/unilbrk/u16-width-linebreaks: New file.
	* modules/unilbrk/u32-width-linebreaks: New file.
	* modules/unilbrk/ulc-width-linebreaks: New file.
	* lib/linebreak.h: Remove file.
	* lib/linebreak.c: Remove file.
	* m4/linebreak.m4: Remove file.
	* modules/linebreak: Remove file.
	* NEWS: Mention the changes.

2008-05-09  Eric Blake  <ebb9@byu.net>

	Add xmemdup0.
	* lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
	implementation.
	* lib/xmalloc.c (xmemdup0): New C implementation.

2008-05-08  Bruno Haible  <bruno@clisp.org>

	* m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.

2008-05-07  Eric Blake  <ebb9@byu.net>

	Support cross-compilation of <wctype.h>.
	* m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
	AC_CACHE_CHECK.

2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)

	* build-aux/vc-list-files: Add support for bzr.

2008-05-03  Jim Meyering  <meyering@redhat.com>

	avoid failed assertion with tight malloc
	* tests/test-getndelim2.c: Correct an off-by-one assertion.

2008-05-03  Simon Josefsson  <simon@josefsson.org>

	* m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
	are needed from arpa/inet.h.
	* m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
	Reported by Bruno Haible.

2008-05-02  Jim Meyering  <meyering@redhat.com>

	avoid compilation error on FreeBSD 6
	* tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.

2008-05-01  Jim Meyering  <meyering@redhat.com>

	useless-if-before-free: correct --help's exit status description
	* build-aux/useless-if-before-free (usage): Like grep, exit 0
	for one or more matches, etc.  Reported by Bruno Haible.

	vc-list-files: make the stand-alone gnulib test work
	* modules/vc-list-files-tests (configure.ac):
	Define and AC_SUBST abs_aux_dir.
	(Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
	$(abs_top_srcdir) to each script and having each of them
	duplicate the work of setting PATH, set PATH here, using
	the new variable, abs_aux_dir instead.
	* tests/test-vc-list-files-cvs.sh: Don't set PATH here.
	* tests/test-vc-list-files-git.sh: Likewise.
	Reported by Bruno Haible.

2008-05-01  Bruno Haible  <bruno@clisp.org>

	* lib/getndelim2.c (getndelim2): Fix newsize computation during
	reallocation. Rename 'done' to 'found_delimiter'.

2008-05-01  Jim Meyering  <meyering@redhat.com>

	vc-list-files: accommodate /bin/sh like the one from Solaris 10
	* build-aux/vc-list-files: Use `...`, not $(...).

2008-04-30  Jim Meyering  <meyering@redhat.com>

	add tests for vc-list-files
	* modules/vc-list-files-tests: New module.
	* tests/test-vc-list-files-cvs.sh: New file.
	* tests/test-vc-list-files-git.sh: New file.

	avoid a warning from gcc
	* lib/getndelim2.c (IF_LINT): Define.
	(getndelim2): Use it to avoid a "may be used uninitialized" warning.

	vc-list-files: work properly with build-aux/cvsu, too
	* build-aux/vc-list-files: Hoist the "./"-removing code to apply
	to all cvs-based clauses.

	vc-list-files: work properly in the CVS+awk case, too
	* build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.

	vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
	* build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
	take more than one file argument, so .  Add quotes, just in case $dir
	ever contains a shell meta-character.  Prompted by Soren Hansen in
	<http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.

2008-04-29  Eric Blake  <ebb9@byu.net>

	Optimize getndelim2 to use block operations when possible.
	* modules/getndelim2 (Depends-on): Add stdbool, freadptr,
	freadseek, and memchr2.
	* lib/getndelim2.c (getndelim2): Use them for block reads.

2008-04-29  Bruno Haible  <bruno@clisp.org>

	* m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
	* m4/inet_pton.m4 (gl_INET_PTON): Likewise.
	* modules/inet_ntop (Depends-on): Add extensions.
	* modules/inet_pton (Depends-on): Likewise.
	Reported by Simon Josefsson.

2008-04-29  Jim Meyering  <meyering@redhat.com>

	When the is more than one match in a block, match all of them.
	* build-aux/useless-if-before-free: Iterate through each block
	until there are no more matches.

	Fix broken useless-if-before-free script.
	* build-aux/useless-if-before-free: Fix typo: missing "?" after
	the expression to match cast of argument to free-like function.

2008-04-29  Eric Blake  <ebb9@byu.net>

	Use new header.
	* lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.

2008-04-29  Jim Meyering  <meyering@redhat.com>

	Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
	* tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
	by gnulib to exist and to declare e.g., inet_ntop.
	Don't include "inet_ntop.h", now removed.

	* m4/arpa_inet_h.m4: Remove trailing blanks.

2008-04-29  Eric Blake  <ebb9@byu.net>

	Silence valgrind on safe reads beyond potential array bounds.
	* lib/rawmemchr.valgrind: New file.
	* lib/strchrnul.valgrind: Likewise.
	* modules/rawmemchr (Files): Distribute new file.
	* modules/strchrnul (Files): Likewise.
	Suggested by Bruno Haible.

2008-04-29  Bruno Haible  <bruno@clisp.org>

	* lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
	(inet_ntop, inet_pton): Change portability warning's wording.
	* m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
	Invoke gl_CHECK_NEXT_HEADERS.
	(gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
	* m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
	set ARPA_INET_H.
	* m4/inet_pton.m4 (gl_INET_PTON): Likewise.
	* modules/arpa_inet (Description): No longer only for systems that
	lack it.
	(Depends-on): Add include_next.
	(Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
	HAVE_ARPA_INET_H.

2008-04-29  Jim Meyering  <meyering@redhat.com>

	* modules/mkdir (License): Re-license as LGPLv2+.

2008-04-29  Bruno Haible  <bruno@clisp.org>

	* modules/rawmemchr (Maintainer): Set to Eric.
	* modules/strchrnul (Maintainer): Likewise.

2008-04-29  Simon Josefsson  <simon@josefsson.org>

	* m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
	HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.

	* modules/arpa_inet (arpa/inet.h): Use them.

2008-04-28  Eric Blake  <ebb9@byu.net>

	Test getndelim2.
	* modules/getndelim2-tests: New file.
	* tests/test-getndelim2.c: Likewise.
	* lib/getndelim2.c (getndelim2): Never return 0.  Lock the
	stream.
	* m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.

	* MODULES.html.sh: Document new module.

2008-04-20  Bruno Haible  <bruno@clisp.org>

	* lib/c-stack.c (die): Use raise.
	* modules/c-stack (Depends-on): Add raise.

2008-04-28  Bruno Haible  <bruno@clisp.org>

	Expect rpmatch to be declared.
	* lib/yesno.c (rpmatch): Remove declaration.

	Declare rpmatch.
	* lib/stdlib.in.h (rpmatch): New declaration.
	* lib/rpmatch.c: Include <stdlib.h> first.
	* m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
	gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
	HAVE_RPMATCH.
	* modules/rpmatch (Depends-on): Add stdlib, extensions.
	(configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
	(Include): Set to <stdlib.h>.
	* modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
	HAVE_RPMATCH.
	* NEWS: Document the change.

2008-04-28  Bruno Haible  <bruno@clisp.org>

	Change rpmatch to use nl_langinfo when appropriate.
	* lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
	(N_): New macro.
	(localized_pattern): New function/macro.
	(try): Remove match, nomatch arguments. Copy the pattern into safe
	memory before caching it.
	(rpmatch): Use localized_pattern. Add translator comments.
	* m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
	Suggested by Eric Blake.
	* modules/rpmatch (Depends-on): Add stdbool.

2008-04-28  Eric Blake  <ebb9@byu.net>

	Add rawmemchr module, matching glibc.
	* modules/string (Makefile.am): New indicator.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
	* lib/string.in.h (rawmemchr): Declare when appropriate.
	* modules/rawmemchr: New file.
	* m4/rawmemchr.m4: Likewise.
	* lib/rawmemchr.c: Likewise.
	* modules/rawmemchr-tests: Likewise.
	* tests/test-rawmemchr.c: Likewise.
	* doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
	module.
	* modules/strchrnul (Depends-on): Add rawmemchr.
	* lib/strchrnul.c (strchrnul): Optimize a corner case.

	Whitespace cleanup.
	* tests/test-strchrnul.c: Reindent.
	* lib/strchrnul.c: Likewise.

	Optimize and test strchrnul.
	* lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
	* modules/strchrnul-tests: New file.
	* tests/test-strchrnul.c: Likewise.

	Remove intprops dependency.
	* modules/memchr (Depends-on): Remove intprops.
	* modules/memrchr (Depends-on): Likewise.
	* modules/memchr2 (Depends-on): Likewise.
	* lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
	* lib/memrchr.c (__memrchr): Likewise.
	* lib/memrchr2.c (memchr2): Likewise.
	Reported by Simon Josefsson.

2008-04-28  Simon Josefsson  <simon@josefsson.org>

	* m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
	Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2008-04-28  Simon Josefsson  <simon@josefsson.org>

	* lib/inet_ntop.h, lib/inet_pton.h: Remove files.

	* lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.

	* lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.

	* lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
	declarations.
	[@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.

	* m4/inet_pton.m4: Don't check for header files.

	* m4/inet_ntop.m4: Don't check for header files.

2008-04-28  Simon Josefsson  <simon@josefsson.org>

	* m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
	* lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
	trigger for cygwin).
	Reported by Bruno Haible  <bruno@clisp.org>.

2008-04-28  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/strdup.texi: Mention mingw problem.

2008-04-27  Bruno Haible  <bruno@clisp.org>

	* modules/stat-time-tests (Depends-on): Add sleep.
	* tests/test-stat-time.c (force_unlink): New function.
	(cleanup): Use it.
	(test_mtime): Remove the ctime related tests.
	(test_ctime): New function, containing the ctime related tests.
	(main): Call test_ctime, except on native Windows platforms.

2008-04-27  Bruno Haible  <bruno@clisp.org>

	* lib/rpmatch.c (rpmatch): Add some comments.
	Reported by James Youngman <jay@gnu.org>.

2008-04-27  Bruno Haible  <bruno@clisp.org>

	* m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
	quiet NaNs.

2008-04-27  Bruno Haible  <bruno@clisp.org>

	Make test-yesno.sh work on mingw.
	* tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
	* tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
	(main): Set stdin to binary mode.
	* modules/yesno-tests (Depends-on): Add binary-io.

2008-04-27  Bruno Haible  <bruno@clisp.org>

	Fix 'isfinite' on x86, x86_64, ia64 platforms.
	* tests/test-isfinite.c (test_isfinitel): Also test the behavior on
	argument that lie outside the IEEE 854 domain.
	* m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
	(gl_ISFINITE): Use it.
	* doc/posix-functions/isfinite.texi: Document the fixed bugs.

2008-04-27  Bruno Haible  <bruno@clisp.org>

	Allow local renaming in config.h.
	* lib/memrchr.c (memrchr): Don't undefine outside libc.

2008-04-27  Bruno Haible  <bruno@clisp.org>

	* lib/memchr.c (__memchr): Change type of 'i'.
	* lib/memchr2.c (memchr2): Likewise.

2008-04-26  Eric Blake  <ebb9@byu.net>
	and Bruno Haible  <bruno@clisp.org>

	Optimize and test memrchr.
	* modules/memrchr (Depends-on): Add intprops.
	* lib/memrchr.c (__memrchr): Avoid false positives in loop.
	* modules/memrchr-tests: New file.
	* tests/test-memrchr.c: New file.

2008-04-26  Bruno Haible  <bruno@clisp.org>

	Add tentative support for DragonFly BSD.
	* lib/stdio-impl.h: Add macros for DragonFly BSD.
	* lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
	fp.
	* lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
	restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
	* lib/fpurge.c (fpurge): Likewise.
	* lib/freadable.c (freaadable): Likewise.
	* lib/freadahead.c (freadahead): Likewise.
	* lib/freading.c (freading): Likewise.
	* lib/freadptr.c (freadptr): Likewise.
	* lib/freadseek.c (freadptrinc): Likewise.
	* lib/fseeko.c (fseeko): Likewise.
	* lib/fseterr.c (fseterr): Likewise.
	* lib/fwritable.c (fwritable): Likewise.
	* lib/fwriting.c (fwriting): Likewise.

2008-04-26  Bruno Haible  <bruno@clisp.org>

	* lib/stdio-impl.h: New file.
	* lib/fbufmode.c: Include stdio-impl.h.
	(fbufmode): Use fp_, remove redundant #defines.
	* lib/fflush.c: Include stdio-impl.h.
	(clear_ungetc_buffer): Remove redundant #defines.
	* lib/fpurge.c: Include stdio-impl.h.
	(fpurge): Remove redundant #defines.
	* lib/freadable.c: Include stdio-impl.h.
	(freadable): Remove redundant #defines.
	* lib/freadahead.c: Include stdio-impl.h.
	(freadahead): Remove redundant #defines.
	* lib/freading.c: Include stdio-impl.h.
	(freading): Remove redundant #defines.
	* lib/freadptr.c: Include stdio-impl.h.
	(freadptr): Remove redundant #defines.
	* lib/freadseek.c: Include stdio-impl.h.
	(freadptrinc): Remove redundant #defines.
	* lib/fseeko.c: Include stdio-impl.h.
	(rpl_fseeko): Remove redundant #defines.
	* lib/fseterr.c: Include stdio-impl.h.
	(fseterr): Remove redundant #defines.
	* lib/fwritable.c: Include stdio-impl.h.
	(fwritable: Remove redundant #defines.
	* lib/fwriting.c: Include stdio-impl.h.
	(fwriting): Remove redundant #defines.
	* modules/fbufmode (Files): Add lib/stdio-impl.h.
	* modules/fflush (Files): Likewise.
	* modules/fpurge (Files): Likewise.
	* modules/freadable (Files): Likewise.
	* modules/freadahead (Files): Likewise.
	* modules/freading (Files): Likewise.
	* modules/freadptr (Files): Likewise.
	* modules/freadseek (Files): Likewise.
	* modules/fseeko (Files): Likewise.
	* modules/fseterr (Files): Likewise.
	* modules/fwritable (Files): Likewise.
	* modules/fwriting (Files): Likewise.

2008-04-26  Bruno Haible  <bruno@clisp.org>

	* lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
	restore_seek_optimization, update_fpos_cache): New functions, extracted
	from rpl_fflush.
	(rpl_fflush): Use them.
	* m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
	(gl_REPLACE_FFLUSH): Use it.

2008-04-26  Bruno Haible  <bruno@clisp.org>

	* tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
	on Solaris.
	* tests/test-xstrtoimax.sh: Likewise.
	* tests/test-xstrtoumax.sh: Likewise.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2008-04-26  Bruno Haible  <bruno@clisp.org>

	* modules/memchr-tests: New file.
	* tests/test-memchr.c; New file, based on tests/test-memchr2.c.

2008-04-26  Eric Blake  <ebb9@byu.net>
	    Bruno Haible  <bruno@clisp.org>

	* lib/memchr.c: Include intprops.h.
	(__memchr): Optimize parallel detection of matching bytes. Rename local
	variables. Add explanatory comments.

2008-04-26  Bruno Haible  <bruno@clisp.org>

	Fix module 'memchr', broken since 2000-10-28.
	* lib/memchr.c: Outside glibc, define memchr, not __memchr.

2008-04-26  Bruno Haible  <bruno@clisp.org>

	* lib/memchr2.c (memchr2): Rename local variables. Add explanatory
	comments.

2008-04-25  Eric Blake  <ebb9@byu.net>

	Use native fstatat on cygwin 1.7.0.
	* m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
	first.

2008-04-23  Eric Blake  <ebb9@byu.net>

	Improve memchr2 performance.
	* lib/memchr2.c (memchr2): Further optimize parallel detection of
	NUL bytes.
	* modules/memchr2 (Depends-on): Use intprops.h.

2008-04-23  Simon Josefsson  <simon@josefsson.org>

	* lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
	an inline function instead of a CPP macro.  Patch by Ben Pfaff
	<blp@cs.stanford.edu>.

2008-04-23  Simon Josefsson  <simon@josefsson.org>

	* lib/arpa_inet.in.h: New file.

	* modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
	(Makefile.am): Sed in substitute header file.

	* m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
	gl_ARPA_INET_MODULE_INDICATOR.  Use them.

	* modules/inet_ntop (configure.ac): Use
	gl_ARPA_INET_MODULE_INDICATOR.

	* modules/inet_pton (configure.ac): Use
	gl_ARPA_INET_MODULE_INDICATOR.

2008-04-22  Jim Meyering  <meyering@redhat.com>

	* modules/verify (License): Re-license as LGPLv2+.

2008-04-22  Simon Josefsson  <simon@josefsson.org>

	* lib/sys_socket.in.h: Define setsockopt macro to cast fourth
	parameter to void* as per POSIX standard (MinGW uses char*).

2008-04-21  Bruno Haible  <bruno@clisp.org>

	* lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
	iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
	Define to replacements if REPLACE_ISWCNTRL is 1.
	* m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
	If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
	* modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
	* doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
	what it fixes.
	* doc/posix-functions/iswalpha.texi: Likewise.
	* doc/posix-functions/iswblank.texi: Likewise.
	* doc/posix-functions/iswcntrl.texi: Likewise.
	* doc/posix-functions/iswdigit.texi: Likewise.
	* doc/posix-functions/iswgraph.texi: Likewise.
	* doc/posix-functions/iswlower.texi: Likewise.
	* doc/posix-functions/iswprint.texi: Likewise.
	* doc/posix-functions/iswpunct.texi: Likewise.
	* doc/posix-functions/iswspace.texi: Likewise.
	* doc/posix-functions/iswupper.texi: Likewise.
	* doc/posix-functions/iswxdigit.texi: Likewise.
	Reported by Alain Guibert.

2008-04-21  Bruno Haible  <bruno@clisp.org>

	* m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
	Patch by Alain Guibert.

2008-04-21  Bruno Haible  <bruno@clisp.org>

	Fix test failures on mingw.
	* tests/test-xstrtol.c (print_no_progname): New function.
	(main): Install it in error_print_progname hook.
	* tests/test-xstrtol.sh: Convert CR/LF to NL in output.
	* tests/test-xstrtoimax.sh: Likewise.
	* tests/test-xstrtoumax.sh: Likewise.

2008-04-21  Bruno Haible  <bruno@clisp.org>

	Fix test failure on mingw.
	* tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.

2008-04-21  Bruno Haible  <bruno@clisp.org>

	* lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
	Actually assign a value.

2008-04-20  Bruno Haible  <bruno@clisp.org>

	Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
	take 2.
	* lib/canonicalize.c (canonicalize_file_name): Elide if the
	'canonicalize-lgpl' module is also used.
	* lib/canonicalize-lgpl.c: Undo last change.
	* modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.

2008-04-20  Bruno Haible  <bruno@clisp.org>

	* lib/mkdir.c (mkdir): Undefine after the includes, not right after
	config.h. Provide _mkdir based fallback for mingw.
	* lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
	if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
	* m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
	gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
	rather than defining mkdir in config.h.
	* m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
	(gl_SYS_STAT_H_DEFAULTS): New macro.
	(gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
	HAVE_IO_H any more.
	* modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
	HAVE_DECL_MKDIR and HAVE_IO_H.

2008-04-20  Bruno Haible  <bruno@clisp.org>

	* lib/isapipe.c: Port to native Windows platforms.

2008-04-20  Bruno Haible  <bruno@clisp.org>

	* lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.

2008-04-21  Eric Blake  <ebb9@byu.net>

	Work around preprocessors that don't handle UINTMAX_MAX.
	* lib/memchr2.c (memchr2): Avoid embedded #if.
	Reported by Alain Guibert, fix suggested by Bruno Haible.

2008-04-21  Simon Josefsson  <simon@josefsson.org>

	* doc/posix-functions/strftime.texi (strftime): Explain better
	Windows incompatibility.  Suggested by Micah Cowan
	<micah@cowan.name>.

2008-04-20  Bruno Haible  <bruno@clisp.org>

	* modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
	unistr/u8-mblen.

2008-04-20  Bruno Haible  <bruno@clisp.org>

	Fix test failure on platforms with non-GNU iconv.
	* lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
	(U_TO_U8): Use it, rather than u16_to_u8.
	* lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
	units at the end of the input string.
	* modules/uniconv/u16-conv-to-enc (Depends-on): Update.

2008-04-20  Bruno Haible  <bruno@clisp.org>

	* tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
	when the resulting length is 0.
	* tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.

2008-04-20  Bruno Haible  <bruno@clisp.org>

	* m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
	works.
	* doc/posix-functions/roundf.texi: Mention roundf bug on mingw.

2008-04-20  Bruno Haible  <bruno@clisp.org>

	* tests/test-tsearch.c (main): Don't use initstate if it is missing.
	* modules/tsearch-tests (configure.ac): Test for initstate function.

2008-04-20  Bruno Haible  <bruno@clisp.org>

	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
	for nlink_t if missing.
	* tests/test-sys_stat.c: Check the existence of the nlink_t type.

2008-04-19  Bruno Haible  <bruno@clisp.org>

	Work around snprintf bug on Linux libc5.
	* m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
	gl_SNPRINTF_SIZE1.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
	* m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
	that test failed.
	* m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
	* lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
	* modules/snprintf (Files): Add m4/printf.m4.
	* modules/vsnprintf (Files): Likewise.
	* doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
	* doc/posix-functions/vsnprintf.texi: Likewise.

2008-04-19  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
	from 0.0058 to less than 10^-7.

2008-04-19  Bruno Haible  <bruno@clisp.org>

	Fix rounding when a precision is given.
	* lib/vasnprintf.c (is_borderline): New function.
	(VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
	9...9x.
	* tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
	%e, %g.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-fprintf-posix.h (test_function): Test rounding with %f.
	* tests/test-printf-posix.h (test_function): Likewise.
	* tests/test-printf-posix.output: Update.
	Reported by John Darrington <john@darrington.wattle.id.au> via
	Ben Pfaff <blp@cs.stanford.edu>.

2008-04-18  Simon Josefsson  <simon@josefsson.org>

	* doc/posix-functions/strftime.texi (strftime): Clarify platform.
	Suggested by Bruno Haible <bruno@clisp.org>.

2008-04-17  Bruno Haible  <bruno@clisp.org>

	* lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
	gl_recursive_lock_destroy): Provide no-op definitions for the dummy
	implementation.
	Patch by Bruce Merry <bmerry@gmail.com>.

2008-04-17  Simon Josefsson  <simon@josefsson.org>

	* doc/posix-functions/strftime.texi (strftime): Mention that %e
	doesn't work under Windows.

2008-04-16  Bruno Haible  <bruno@clisp.org>

	* lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
	New macros.
	(SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
	SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
	SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
	SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
	SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
	SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
	SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
	macros.
	(gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
	Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
	Northern Sotho, Uighur.

2008-04-16  Bruno Haible  <bruno@clisp.org>

	* lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
	(SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
	(gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
	Reported by Daniel Bergström <daniel@octocode.com>.

2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
	function.
	(gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
	New functions, mostly extracted from gl_locale_name_default.
	(gl_locale_name_default): Use gl_locale_name_from_win32_LCID.

2008-04-16  Eric Blake  <ebb9@byu.net>

	Adjust strtod detection to catch glibc 2.7 bug.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
	Reported by John Gatewood Ham.

2008-04-16  Bruno Haible  <bruno@clisp.org>

	Add tentative support for Linux libc5.
	* lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
	* lib/fpurge.c (fpurge): Likewise.
	* lib/freadable.c (freadable): Likewise.
	* lib/freadahead.c (freadahead): Likewise.
	* lib/freading.c (freading): Likewise.
	* lib/freadptr.c (freadptr): Likewise.
	* lib/freadseek.c (freadptrinc): Likewise.
	* lib/fseeko.c (rpl_fseeko): Likewise.
	* lib/fseterr.c (fseterr): Likewise.
	* lib/fwritable.c (fwritable): Likewise.
	* lib/fwriting.c (fwriting): Likewise.
	Reported by Alain Guibert <alguibert+bts@free.fr>.

2008-04-15  Bruno Haible  <bruno@clisp.org>

	* modules/mathl (configure.ac): Define module indicator.

2008-04-15  Bruno Haible  <bruno@clisp.org>

	* lib/logl.c (logl): Remove unused variables.

2008-04-15  Bruno Haible  <bruno@clisp.org>

	* lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
	fails.

2008-04-15  Bruno Haible  <bruno@clisp.org>

	* lib/trim.c (trim2): Fix argument of isspace() macro.

2008-04-15  Paolo Bonzini  <bonzini@gnu.org>

	* lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
	to 0.
	* lib/trigl.c (ieee754_rem_pio2l): Fix range checks.

2008-04-14  Bruno Haible  <bruno@clisp.org>

	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
	AC_LANG_PROGRAM argument.
	* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
	* m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
	* m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
	* m4/math_h.m4 (gl_MATH_H): Likewise.
	* m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
	* m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
	* m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
	* m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
	* m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
	* m4/regex.m4 (gl_REGEX): Likewise.
	* m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
	* m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
	* m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
	* m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
	* m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.

2008-04-14  Jim Meyering  <meyering@redhat.com>

	test-strtod: fix typos: s/abs/fabs/
	* tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".

2008-04-13  Bruno Haible  <bruno@clisp.org>

	Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
	* lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
	module is also used and while not building the reloc-wrapper.

2008-04-13  Bruno Haible  <bruno@clisp.org>

	* tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.

2008-04-13  Bruno Haible  <bruno@clisp.org>

	Fix AIX compilation failure introduced on 2008-04-02.
	* tests/test-frexp.c (exp): Undefine before redefining.
	* tests/test-frexpl.c (exp): Likewise.

2008-04-13  Bruno Haible  <bruno@clisp.org>

	Work around a HP-UX stdio bug.
	* tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
	* tests/test-ftello.c (main): Likewise.
	* doc/posix-functions/ftell.texi: Mention HP-UX bug.
	* doc/posix-functions/ftello.texi: Likewise.

2008-04-13  Bruno Haible  <bruno@clisp.org>

	Make test-signbit pass on HP-UX/hppa.
	* tests/test-signbit.c (minus_zerol): New variable.
	(test_signbitl): Use it.

2008-04-13  Bruno Haible  <bruno@clisp.org>

	Make truncl work on OSF/1 4.0.
	* m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
	Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
	* lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
	HAVE_DECL_TRUNCL.
	* modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
	HAVE_DECL_TRUNCL.
	* doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.

2008-04-13  Bruno Haible  <bruno@clisp.org>

	* lib/unictype.h: Remove trailing comma from enumeration definitions.

2008-04-13  Bruno Haible  <bruno@clisp.org>

	* lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
	expression, so as to avoid HP-UX 11 cc compiler bug.

2008-04-13  Bruno Haible  <bruno@clisp.org>

	* m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.

2008-04-13  Bruno Haible  <bruno@clisp.org>

	* lib/git-merge-changelog.c: Remove empty declaration outside of
	functions.

2008-04-13  Bruno Haible  <bruno@clisp.org>

	* modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.

2008-04-13  Bruno Haible  <bruno@clisp.org>

	* doc/posix-headers/sys_socket.texi: Document the problem on EMX.
	* lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
	also if it exists but lacks definitions of the SHUT_* macros.
	* modules/sys_socket (Description): Update.
	Reported by Elbert Pol <e.pol@chello.nl>.

2008-04-13  Bruno Haible  <bruno@clisp.org>

	* lib/localcharset.c (OS2): Don't redefine if already defined.
	Reported by Elbert Pol <e.pol@chello.nl>.

2008-04-13  Bruno Haible  <bruno@clisp.org>

	* lib/binary-io.h [__EMX__]: Include <io.h>.
	Reported by Elbert Pol <e.pol@chello.nl>.

2008-04-12  Bruno Haible  <bruno@clisp.org>

	* lib/fpucw.h: Enable the definitions also for x86_64.
	Needed for NetBSD/x86_64.
	Reported by Thomas Klausner <tk@giga.or.at>.

2008-04-12  Bruno Haible  <bruno@clisp.org>

	* tests/test-strtod.c: Include isnand.h.
	(main): Use isnand instead of isnan.
	Reported by Jim Meyering.

2008-04-12  Bruno Haible  <bruno@clisp.org>

	* m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
	Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.

2008-04-12  Jim Meyering  <meyering@redhat.com>

	* m4/math_h.m4 (gl_MATH_H): Fix typos.

2008-04-12  Bruno Haible  <bruno@clisp.org>

	* lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
	Reported by Elbert Pol <e.pol@chello.nl>.

2008-04-12  Eric Blake  <ebb9@byu.net>

	Work around Solaris 10 math.h bug.
	* m4/math_h.m4 (gl_MATH_H): Check for bug.
	(gl_MATH_H_DEFAULTS): Set up default.
	* modules/math (Makefile.am): Replace new indicators.
	* lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
	* tests/test-math.c (main): Test this.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
	* doc/posix-headers/math.texi (math.h): Mention bug.
	Reported by Nelson H. F. Beebe and Jim Meyering.

2008-04-11  Bruno Haible  <bruno@clisp.org>

	Adapt to future versions of Apple GCC.
	* lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
	Reported by Peter O'Gorman <peter@pogma.com>.

2008-04-11  Bruno Haible  <bruno@clisp.org>

	* tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.

2008-04-11  Bruno Haible  <bruno@clisp.org>

	* modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.

	* modules/getaddrinfo-tests (Makefile.am): Define
	test_getaddrinfo_LDADD.

2008-04-11  Bruno Haible  <bruno@clisp.org>

	* lib/strsignal.c (_sys_siglist): Don't declare if already declared.
	(init): Fix syntax error.
	* m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
	is declared.

2008-04-11  Bruno Haible  <bruno@clisp.org>

	* lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
	* modules/glob (Depends-on): Add stdbool.

2008-04-11  Bruno Haible  <bruno@clisp.org>

	* lib/trim.c: Include <string.h>.

2008-04-11  Eric Blake  <ebb9@byu.net>

	Avoid compile failure on OS/2.
	* lib/regex_internal.h (internal_function): Disable optimization
	on OS/2 (__EMX__), where it caused compiler error.
	Reported by Elbert Pol.

2008-04-11  Bruno Haible  <bruno@clisp.org>

	Flush the standard error stream before aborting. Needed on mingw.
	* tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
	* tests/test-array_list.c (ASSERT): Likewise.
	* tests/test-array_oset.c (ASSERT): Likewise.
	* tests/test-avltree_list.c (ASSERT): Likewise.
	* tests/test-avltree_oset.c (ASSERT): Likewise.
	* tests/test-avltreehash_list.c (ASSERT): Likewise.
	* tests/test-binary-io.c (ASSERT): Likewise.
	* tests/test-byteswap.c (ASSERT): Likewise.
	* tests/test-c-ctype.c (ASSERT): Likewise.
	* tests/test-c-strcasecmp.c (ASSERT): Likewise.
	* tests/test-c-strcasestr.c (ASSERT): Likewise.
	* tests/test-c-strncasecmp.c (ASSERT): Likewise.
	* tests/test-c-strstr.c (ASSERT): Likewise.
	* tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
	* tests/test-canonicalize.c (ASSERT): Likewise.
	* tests/test-carray_list.c (ASSERT): Likewise.
	* tests/test-ceilf1.c (ASSERT): Likewise.
	* tests/test-ceilf2.c (ASSERT): Likewise.
	* tests/test-ceill.c (ASSERT): Likewise.
	* tests/test-count-one-bits.c (ASSERT): Likewise.
	* tests/test-fbufmode.c (ASSERT): Likewise.
	* tests/test-fflush2.c (ASSERT): Likewise.
	* tests/test-floorf1.c (ASSERT): Likewise.
	* tests/test-floorf2.c (ASSERT): Likewise.
	* tests/test-floorl.c (ASSERT): Likewise.
	* tests/test-fopen.c (ASSERT): Likewise.
	* tests/test-fpending.c (ASSERT): Likewise.
	* tests/test-fprintf-posix.c (ASSERT): Likewise.
	* tests/test-fpurge.c (ASSERT): Likewise.
	* tests/test-freadable.c (ASSERT): Likewise.
	* tests/test-freadahead.c (ASSERT): Likewise.
	* tests/test-freading.c (ASSERT): Likewise.
	* tests/test-freadptr.c (ASSERT): Likewise.
	* tests/test-freadptr2.c (ASSERT): Likewise.
	* tests/test-freadseek.c (ASSERT): Likewise.
	* tests/test-freopen.c (ASSERT): Likewise.
	* tests/test-frexp.c (ASSERT): Likewise.
	* tests/test-frexpl.c (ASSERT): Likewise.
	* tests/test-fseek.c (ASSERT): Likewise.
	* tests/test-fseeko.c (ASSERT): Likewise.
	* tests/test-fstrcmp.c (ASSERT): Likewise.
	* tests/test-ftell.c (ASSERT): Likewise.
	* tests/test-ftello.c (ASSERT): Likewise.
	* tests/test-func.c (ASSERT): Likewise.
	* tests/test-fwritable.c (ASSERT): Likewise.
	* tests/test-fwriting.c (ASSERT): Likewise.
	* tests/test-getdelim.c (ASSERT): Likewise.
	* tests/test-getline.c (ASSERT): Likewise.
	* tests/test-i-ring.c (ASSERT): Likewise.
	* tests/test-iconv-utf.c (ASSERT): Likewise.
	* tests/test-iconv.c (ASSERT): Likewise.
	* tests/test-isfinite.c (ASSERT): Likewise.
	* tests/test-isnand.c (ASSERT): Likewise.
	* tests/test-isnanf.c (ASSERT): Likewise.
	* tests/test-isnanl.h (ASSERT): Likewise.
	* tests/test-ldexpl.c (ASSERT): Likewise.
	* tests/test-linked_list.c (ASSERT): Likewise.
	* tests/test-linkedhash_list.c (ASSERT): Likewise.
	* tests/test-localename.c (ASSERT): Likewise.
	* tests/test-lseek.c (ASSERT): Likewise.
	* tests/test-mbscasecmp.c (ASSERT): Likewise.
	* tests/test-mbscasestr1.c (ASSERT): Likewise.
	* tests/test-mbscasestr2.c (ASSERT): Likewise.
	* tests/test-mbscasestr3.c (ASSERT): Likewise.
	* tests/test-mbscasestr4.c (ASSERT): Likewise.
	* tests/test-mbschr.c (ASSERT): Likewise.
	* tests/test-mbscspn.c (ASSERT): Likewise.
	* tests/test-mbsncasecmp.c (ASSERT): Likewise.
	* tests/test-mbspbrk.c (ASSERT): Likewise.
	* tests/test-mbspcasecmp.c (ASSERT): Likewise.
	* tests/test-mbsrchr.c (ASSERT): Likewise.
	* tests/test-mbsspn.c (ASSERT): Likewise.
	* tests/test-mbsstr1.c (ASSERT): Likewise.
	* tests/test-mbsstr2.c (ASSERT): Likewise.
	* tests/test-mbsstr3.c (ASSERT): Likewise.
	* tests/test-memchr2.c (ASSERT): Likewise.
	* tests/test-memmem.c (ASSERT): Likewise.
	* tests/test-open.c (ASSERT): Likewise.
	* tests/test-printf-frexp.c (ASSERT): Likewise.
	* tests/test-printf-frexpl.c (ASSERT): Likewise.
	* tests/test-printf-posix.c (ASSERT): Likewise.
	* tests/test-quotearg.c (ASSERT): Likewise.
	* tests/test-rbtree_list.c (ASSERT): Likewise.
	* tests/test-rbtree_oset.c (ASSERT): Likewise.
	* tests/test-rbtreehash_list.c (ASSERT): Likewise.
	* tests/test-round1.c (ASSERT): Likewise.
	* tests/test-roundf1.c (ASSERT): Likewise.
	* tests/test-roundl.c (ASSERT): Likewise.
	* tests/test-signbit.c (ASSERT): Likewise.
	* tests/test-sleep.c (ASSERT): Likewise.
	* tests/test-snprintf-posix.c (ASSERT): Likewise.
	* tests/test-snprintf.c (ASSERT): Likewise.
	* tests/test-sprintf-posix.c (ASSERT): Likewise.
	* tests/test-stat-time.c (ASSERT): Likewise.
	* tests/test-strcasestr.c (ASSERT): Likewise.
	* tests/test-strerror.c (ASSERT): Likewise.
	* tests/test-striconv.c (ASSERT): Likewise.
	* tests/test-striconveh.c (ASSERT): Likewise.
	* tests/test-striconveha.c (ASSERT): Likewise.
	* tests/test-strsignal.c (ASSERT): Likewise.
	* tests/test-strstr.c (ASSERT): Likewise.
	* tests/test-strtod.c (ASSERT): Likewise.
	* tests/test-trunc1.c (ASSERT): Likewise.
	* tests/test-trunc2.c (ASSERT): Likewise.
	* tests/test-truncf1.c (ASSERT): Likewise.
	* tests/test-truncf2.c (ASSERT): Likewise.
	* tests/test-truncl.c (ASSERT): Likewise.
	* tests/test-vasnprintf-posix.c (ASSERT): Likewise.
	* tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
	* tests/test-vasnprintf.c (ASSERT): Likewise.
	* tests/test-vasprintf-posix.c (ASSERT): Likewise.
	* tests/test-vasprintf.c (ASSERT): Likewise.
	* tests/test-vfprintf-posix.c (ASSERT): Likewise.
	* tests/test-vprintf-posix.c (ASSERT): Likewise.
	* tests/test-vsnprintf-posix.c (ASSERT): Likewise.
	* tests/test-vsnprintf.c (ASSERT): Likewise.
	* tests/test-vsprintf-posix.c (ASSERT): Likewise.
	* tests/test-wcwidth.c (ASSERT): Likewise.
	* tests/test-xfprintf-posix.c (ASSERT): Likewise.
	* tests/test-xprintf-posix.c (ASSERT): Likewise.
	* tests/test-xvasprintf.c (ASSERT): Likewise.
	* tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
	* tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
	* tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
	* tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
	* tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
	* tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
	* tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
	* tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
	* tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
	* tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
	* tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
	* tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
	* tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
	* tests/unictype/test-bidi_name.c (ASSERT): Likewise.
	* tests/unictype/test-bidi_of.c (ASSERT): Likewise.
	* tests/unictype/test-bidi_test.c (ASSERT): Likewise.
	* tests/unictype/test-block_list.c (ASSERT): Likewise.
	* tests/unictype/test-block_of.c (ASSERT): Likewise.
	* tests/unictype/test-block_test.c (ASSERT): Likewise.
	* tests/unictype/test-categ_and.c (ASSERT): Likewise.
	* tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
	* tests/unictype/test-categ_byname.c (ASSERT): Likewise.
	* tests/unictype/test-categ_name.c (ASSERT): Likewise.
	* tests/unictype/test-categ_none.c (ASSERT): Likewise.
	* tests/unictype/test-categ_of.c (ASSERT): Likewise.
	* tests/unictype/test-categ_or.c (ASSERT): Likewise.
	* tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
	* tests/unictype/test-combining.c (ASSERT): Likewise.
	* tests/unictype/test-decdigit.c (ASSERT): Likewise.
	* tests/unictype/test-digit.c (ASSERT): Likewise.
	* tests/unictype/test-mirror.c (ASSERT): Likewise.
	* tests/unictype/test-numeric.c (ASSERT): Likewise.
	* tests/unictype/test-pr_byname.c (ASSERT): Likewise.
	* tests/unictype/test-pr_test.c (ASSERT): Likewise.
	* tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
	* tests/unictype/test-scripts.c (ASSERT): Likewise.
	* tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
	* tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
	* tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
	* tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
	* tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
	* tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
	* tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
	* tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
	* tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
	* tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
	* tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
	* tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
	* tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
	* tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
	* tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
	* tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
	* tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
	* tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
	* tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
	Reported by Eric Blake.

2008-04-11  Bruno Haible  <bruno@clisp.org>

	* lib/wchar.in.h: Tweak comment.

2008-04-11  Bruno Haible  <bruno@clisp.org>

	Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
	* gnulib-tool (func_emit_initmacro_start): Emit an invocation of
	gl_COMMON.
	* m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.

2008-04-11  Bruno Haible  <bruno@clisp.org>

	* modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.

2008-04-11  Simon Josefsson  <simon@josefsson.org>

	* lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
	of attempting to use nonexistent /dev/*random.  Based on patch
	from Adam Strzelecki <ono@java.pl> in
	<http://lists.gnu.org/r/help-gsasl/2008-02/msg00000.html>.

2008-04-08  Bruno Haible  <bruno@clisp.org>

	Add tentative support for emx+gcc.
	* lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
	* lib/fpurge.c (fpurge): Likewise.
	* lib/freadable.c (freadable): Likewise.
	* lib/freadahead.c (freadahead): Likewise.
	* lib/freading.c (freading): Likewise.
	* lib/freadptr.c (freadptr): Likewise.
	* lib/freadseek.c (freadptrinc): Likewise.
	* lib/fseeko.c (rpl_fseeko): Likewise.
	* lib/fseterr.c (fseterr): Likewise.
	* lib/fwritable.c (fwritable): Likewise.
	* lib/fwriting.c (fwriting): Likewise.
	* m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.

2008-04-09  Eric Blake  <ebb9@byu.net>

	Avoid some autoconf warnings.
	* m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
	* m4/acl.m4 (gl_FUNC_ACL): Likewise.
	* m4/afs.m4 (gl_AFS): Likewise.
	* m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
	* m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
	* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
	* m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
	(gl_INTEGER_TYPE_SUFFIX): Likewise.
	* m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
	(AC_CHECK_DECLS_ONCE): Likewise.
	Rename file...
	* m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
	gnulib-tool requires autoconf 2.59 or better.
	* gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.

2008-04-08  Eric Blake  <ebb9@byu.net>

	Use 'git describe --match' if present (added in git 1.5.5).
	* build-aux/git-version-gen: Limit result to tags that match 'v*'
	if possible.

2008-04-08  Bruno Haible  <bruno@clisp.org>

	Add tentative support for OpenServer.
	* lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
	_ptr, _cnt.
	* lib/fpurge.c (fpurge): Likewise.
	* lib/freadable.c (freadable): Likewise.
	* lib/freadahead.c (freadahead): Likewise.
	* lib/freading.c (freading): Likewise.
	* lib/freadptr.c (freadptr): Likewise.
	* lib/freadseek.c (freadptrinc): Likewise.
	* lib/fseeko.c (rpl_fseeko): Likewise.
	* lib/fseterr.c (fseterr): Likewise.
	* lib/fwritable.c (fwritable): Likewise.
	* lib/fwriting.c (fwriting): Likewise.
	Reported by Roger Cornelius <rac@tenzing.org> and
	Brian K. White <brian@aljex.com>.

2008-04-06  Jim Meyering  <meyering@redhat.com>

	* gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic

2008-04-06  Bruno Haible  <bruno@clisp.org>

	Avoid possible error with non-ASCII bytes in UTF-8 locales.
	* tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
	* tests/test-printf-posix.sh: Likewise.
	* tests/test-vfprintf-posix.sh: Likewise.
	* tests/test-vprintf-posix.sh: Likewise.
	* tests/test-xprintf-posix.sh: Likewise.

2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
	hide error from 'ls', needed on OS/2.
	Report by Elbert Pol <elbert.pol@gmail.com>.

2008-04-04  Eric Blake  <ebb9@byu.net>

	Make test-fseeko.c failures meaningful.
	* tests/test-fseeko.c: Print line number on failure.
	* tests/test-fseek.c: Likewise.
	Reported by Nelson H. F. Beebe.

	Improve strtod bug detection check.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
	required for Solaris 10.
	Reported by Bob Friesenhahn and Nelson H. F. Beebe.

2008-04-04  Bruno Haible  <bruno@clisp.org>

	* modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
	by m4/setenv.m4.

2008-04-03  Eric Blake  <ebb9@byu.net>

	Ensure sane .version contents.
	* top/GNUmakefile (_dummy): Also delete .version when rebuilding
	version string.
	* build-aux/git-version-gen: Improve documentation.

	Make GNU make output nicer.
	* top/GNUmakefile [!_have-Makefile]: Add dependency on
	MAKECMDGOALS to enforce message for all command line targets.  Set
	srcdir for use in maint.mk.

	Another maintainer tweak.
	* top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
	a target that regenerates version.

2008-04-03  Jim Meyering  <meyering@redhat.com>

	vc-list-files: don't cause coreutils "make po-check" failure
	* build-aux/vc-list-files: Skip postprocessing when $2 is '.'

2008-04-03  Eric Blake  <ebb9@byu.net>

	Allow VPATH usage of vc-list-files.
	* build-aux/vc-list-files (scriptversion): Add timestamp.
	(options): Add --help, --version, -C.
	(CVS): Support installed cvsu.

2008-04-02  Bruno Haible  <bruno@clisp.org>

	Avoid some "statement with no effect" warnings from gcc.
	* tests/test-wctype.c (main): Explicitly ignore unused values.
	Reported by Jim Meyering.

2008-04-02  Jim Meyering  <meyering@redhat.com>

	Avoid some warnings from "gcc -Wshadow".
	* tests/test-frexp.c (exp): Define to a different identifier.
	* tests/test-frexpl.c (exp): Likewise.

2008-04-03  Jim Meyering  <meyering@redhat.com>

	bootstrap: remove dangling *.[ch] symlinks from lib
	* build-aux/bootstrap [dangling symlink removal]: Move find's
	-depth option to precede all others, to avoid a warning.
	Remove *.[ch] files too, and from "$source_base" (usually lib/).

2008-04-02  Bruno Haible  <bruno@clisp.org>

	Avoid some warnings from "gcc -Wshadow".
	* tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
	* tests/tests-vprintf-posix.c (my_printf): Move after test_function.
	* tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
	* tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
	Reported by Jim Meyering.

2008-04-01  Bruno Haible  <bruno@clisp.org>

	Fix test to work on IRIX 6.5 with cc.
	* tests/test-math.c (numeric_equal): New function.
	(main): Use it.

2008-04-01  Bruno Haible  <bruno@clisp.org>

	* doc/posix-headers/math.texi: Refine documentation of NAN problem.

2008-04-01  Bruno Haible  <bruno@clisp.org>

	* tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
	(test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
	* modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
	(Depends-on): Remove math.

	* tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
	(test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
	* modules/vasprintf-posix-tests (Files): Add tests/nan.h.
	(Depends-on): Remove math.

	* tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
	(test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
	* modules/snprintf-posix-tests (Files): Add tests/nan.h.
	(Depends-on): Remove math.
	* modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
	(Depends-on): Remove math.

	* tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
	(test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
	* modules/sprintf-posix-tests (Files): Add tests/nan.h.
	(Depends-on): Remove math.
	* modules/vsprintf-posix-tests (Files): Add tests/nan.h.
	(Depends-on): Remove math.

	* tests/test-round1.c: Include nan.h.
	(main): Use NaNd instead of NAN.
	* modules/round-tests (Files): Add tests/nan.h.

	* tests/test-trunc1.c: Include nan.h.
	(main): Use NaNd instead of NAN.
	* modules/trunc-tests (Files): Add tests/nan.h.

	* tests/test-roundf1.c: Include nan.h.
	(main): Use NaNf instead of NAN.
	* modules/roundf-tests (Files): Add tests/nan.h.

	* tests/test-truncf1.c: Include nan.h.
	(main): Use NaNf instead of NAN.
	* modules/truncf-tests (Files): Add tests/nan.h.

	* tests/test-ceilf1.c: Include nan.h.
	(main): Use NaNf instead of NAN.
	* modules/ceilf-tests (Files): Add tests/nan.h.

	* tests/test-floorf1.c: Include nan.h.
	(main): Use NaNf instead of NAN.
	* modules/floorf-tests (Files): Add tests/nan.h.

	* tests/test-isnanf.c: Include nan.h instead of <math.h>.
	(main): Use NaNf instead of NAN.
	* modules/isnanf-nolibm-tests (Files): Add tests/nan.h.

	* tests/test-isnand.c: Include nan.h instead of <math.h>.
	(main): Use NaNd instead of NAN.
	* modules/isnand-nolibm-tests (Files): Add tests/nan.h.

	* tests/test-frexp.c: Include nan.h.
	(main): Use NaNd instead of NAN.
	* modules/frexp-tests (Files): Add tests/nan.h.

	* lib/isnan.c: Don't include <math.h>.
	(FUNC): Don't use NAN macro.
	* modules/isnand-nolibm (Depends-on): Remove math.
	* modules/isnanf-nolibm (Depends-on): Remove math.
	* modules/isnanl (Depends-on): Remove math.
	* modules/isnanl-nolibm (Depends-on): Remove math.

	* tests/nan.h: New file.

2008-04-01  Eric Blake  <ebb9@byu.net>

	Fix typos.
	* tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
	values to be the right type.

	For now, cater to gnulib strtod inaccuracies.
	* tests/test-strtod.c (main): Allow 1-ulp error on expected
	fractional results.  While not as nice from a QoI perspective, it
	is a quicker patch than correctly implementing decimal to binary
	rounding.

2008-03-31  Eric Blake  <ebb9@byu.net>

	Guarantee a definition of NAN.
	* lib/math.in.h (NAN): Define if missing.
	* tests/test-math.c (main): Test it.
	* doc/posix-headers/math.texi (math.h): Document this.
	* lib/isnan.c (rpl_isnand): Use it.
	* tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
	* tests/test-floorf1.c (NaN): Likewise.
	* tests/test-frexp.c (NaN): Likewise.
	* tests/test-isnand.c (NaN): Likewise.
	* tests/test-isnanf.c (NaN): Likewise.
	* tests/test-round1.c (NaN): Likewise.
	* tests/test-roundf1.c (NaN): Likewise.
	* tests/test-snprintf-posix.h (NaN): Likewise.
	* tests/test-sprintf-posix.h (NaN): Likewise.
	* tests/test-trunc1.c (NaN): Likewise.
	* tests/test-truncf1.c (NaN): Likewise.
	* tests/test-vasnprintf-posix.c (NaN): Likewise.
	* tests/test-vasprintf-posix.c (NaN): Likewise.
	* modules/isnand-nolibm (Depends-on): Add math.
	* modules/isnanf-nolibm (Depends-on): Likewise.
	* modules/isnanl (Depends-on): Likewise.
	* modules/isnanl-nolibm (Depends-on): Likewise.
	* modules/snprintf-posix-tests (Depends-on): Likewise.
	* modules/sprintf-posix-tests (Depends-on): Likewise.
	* modules/vsnprintf-posix-tests (Depends-on): Likewise.
	* modules/vsprintf-posix-tests (Depends-on): Likewise.
	* modules/vasnprintf-posix-tests (Depends-on): Likewise.
	* modules/vasprintf-posix-tests (Depends-on): Likewise.

2008-03-31  Bruno Haible  <bruno@clisp.org>

	* tests/test-strtod.c (main): Update results for OSF/1 platforms.
	* doc/posix-functions/strtod.texi: Likewise.

2008-03-31  Bruno Haible  <bruno@clisp.org>

	* tests/test-strtod.c (main): Don't use C99 syntax.

2008-03-31  Bruno Haible  <bruno@clisp.org>

	* tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
	Reported by Eric Blake.

2008-03-31  Jim Meyering  <meyering@redhat.com>

	Don't compare actual signbit return values.
	* tests/test-strtod.c (main): Rather, compare only their
	zero/non-zero nature.

2008-03-31  Eric Blake  <ebb9@byu.net>

	More strtod documentation.
	* doc/posix-functions/strtod.texi (strtod): Interpret more test
	failures as distinct bugs.

2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
	Problem reported by Erik Benada in
	<http://lists.gnu.org/r/bug-gnulib/2008-03/msg00249.html>.

2008-03-30  Bruno Haible  <bruno@clisp.org>

	* tests/test-strtod.c: Add comments about which assertion fails on which
	platform.
	* doc/posix-functions/strtod.texi: Add info about many more platforms.

2008-03-30  Eric Blake  <ebb9@byu.net>

	Test signbit behavior on zeros.
	* tests/test-signbit.c (test_signbitf): Add tests for zero.
	(test_signbitd, test_signbitl): Likewise.

	More strtod touchups.
	* tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
	sign of negative underflow, for now.  Use .5, not .1.
	* doc/posix-functions/strtod.texi (strtod): Mention these
	limitations.
	Reported by Jim Meyering.

2008-03-30  Bruno Haible  <bruno@clisp.org>

	* lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
	from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.

2008-03-30  Bruno Haible  <bruno@clisp.org>

	Avoid failure when attempting to return empty iconv results on some
	platforms.
	* lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
	allocation, don't report ENOMEM when the resulting string is empty.

2008-03-30  Bruno Haible  <bruno@clisp.org>

	Fix buffer overrun.
	* lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
	Don't consider the width for tmp_length. Check count against tmp_length
	before doing the padding. Ensure enough allocation during padding.

2008-03-30  Eric Blake  <ebb9@byu.net>

	strtod touchups.
	* lib/strtod.c (strtod): Avoid compiler warnings.
	Reported by Jim Meyering.

2008-03-30  Bruno Haible  <bruno@clisp.org>

	* lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
	* modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.

	* lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
	* modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.

	* lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
	* modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
	* modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.

	* lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
	* modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.

	* lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
	* modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.

	* lib/xvasprintf.c (EOVERFLOW): Remove fallback.
	* modules/xvasprintf (Depends-on): Add EOVERFLOW.

	* lib/vsprintf.c (EOVERFLOW): Remove fallback.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
	* modules/vsprintf-posix (Depends-on): Add EOVERFLOW.

	* lib/vsnprintf.c (EOVERFLOW): Remove fallback.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
	* modules/vsnprintf (Depends-on): Add EOVERFLOW.

	* lib/vfprintf.c (EOVERFLOW): Remove fallback.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
	* modules/vfprintf-posix (Depends-on): Add EOVERFLOW.

	* lib/vasprintf.c (EOVERFLOW): Remove fallback.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
	* modules/vasprintf (Depends-on): Add EOVERFLOW.

	* lib/vasnprintf.c (EOVERFLOW): Remove fallback.
	* m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
	* modules/vasnprintf (Files): Remove m4/eoverflow.m4.
	(Depends-on): Add EOVERFLOW.
	* modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
	(Depends-on): Add EOVERFLOW.
	* modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
	(Depends-on): Add EOVERFLOW.
	* modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
	(Depends-on): Add EOVERFLOW.
	* modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
	(Depends-on): Add EOVERFLOW.
	* modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
	(Depends-on): Add EOVERFLOW.
	* modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
	(Depends-on): Add EOVERFLOW.
	* modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
	(Depends-on): Add EOVERFLOW.

	* lib/sprintf.c (EOVERFLOW): Remove fallback.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
	* modules/sprintf-posix (Depends-on): Add EOVERFLOW.

	* lib/snprintf.c (EOVERFLOW): Remove fallback.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
	* modules/snprintf (Depends-on): Add EOVERFLOW.

	* lib/poll.c (EOVERFLOW): Remove fallback.
	* modules/poll (Depends-on): Add EOVERFLOW.

	* lib/getugroups.c (EOVERFLOW): Remove fallback.
	* modules/getugroups (Depends-on): Add EOVERFLOW.

	* lib/getdelim.c (EOVERFLOW): Remove fallback.
	* modules/getdelim (Depends-on): Add EOVERFLOW.

	* lib/ftell.c (EOVERFLOW): Remove fallback.
	* modules/ftell (Depends-on): Add EOVERFLOW.

	* lib/fprintf.c (EOVERFLOW): Remove fallback.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
	* modules/fprintf-posix (Depends-on): Add EOVERFLOW.

	* lib/c-stack.c (EOVERFLOW): Remove unused fallback.

	* modules/EOVERFLOW-tests: New file.
	* tests/test-EOVERFLOW.c: New file.

	* modules/EOVERFLOW: New file.
	* doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.

2008-03-30  Bruno Haible  <bruno@clisp.org>

	Fix bug introduced on 2007-06-10.
	* lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
	spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.

2008-03-30  Bruno Haible  <bruno@clisp.org>

	Improve freadseek's efficiency after ungetc.
	* lib/freadseek.c: Include freadahead.h.
	(freadptrinc): New function, extracted from freadseek.
	(freadseek): Use it in a loop. Use freadahead to determine the number
	of loop iterations.
	* modules/freadseek (Depends-on): Add freadahead.
	(configure.ac): Require AC_C_INLINE.

2008-03-30  Bruno Haible  <bruno@clisp.org>

	* lib/freadseek.c (freadseek): Don't ignore the return value of
	freadptr.

2008-03-29  Eric Blake  <ebb9@byu.net>

	Add hex float support.
	* modules/strtod (Depends-on): Add c-ctype.
	(Link): Mention POW_LIB.
	* lib/strtod.c (strtod): Recognize hex floats.  Don't allow
	whitespace between 'e' and exponent.
	* tests/test-strtod.c (main): Enable hex float tests.
	* doc/posix-functions/strtod.texi (strtod): Document what gnulib
	now provides.

	Document various strtod bugs, with some fixes.
	* doc/posix-functions/strtod.texi (strtod): Document bugs with
	"-0x", "inf", "nan", and hex constants.
	* doc/posix-functions/atof.texi (atof): Likewise.
	* modules/stdlib (Makefile.am): Support strtod.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
	detect additional strtod bugs.
	* lib/stdlib.in.h (rpl_strtod): Add declarations.
	* lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
	bool where appropriate.  Parse 'inf' and 'nan'.
	* tests/test-strtod.c: New file.
	* modules/strtod (Depends-on): Add stdbool, stdlib.
	(configure.ac): Turn on module indicator.
	* modules/strtod-tests: New module.

2008-03-29  Eric Blake  <ebb9@byu.net>

	Fix ftell on mingw.
	* lib/ftell.c (EOVERFLOW): Define if the system lacks it.
	* modules/ftell-tests (Depends-on): Add binary-io.
	* modules/ftello-tests (Depends-on): Likewise.
	* tests/test-ftell.c (main): Enhance test to cover behavior after
	ungetc.  Enforce binary mode.
	* tests/test-ftello.c (main): Likewise.

	Pass test-freadseek on cygwin.
	* modules/freadseek (Depends-on): Use freadptr, not freadahead.
	* lib/freadseek.c (freadseek): Don't increment beyond bounds of
	ungetc buffer.

	* tests/test-fflush2.c (main): Fix typo.

2008-03-29  Bruno Haible  <bruno@clisp.org>

	* tests/test-fflush2.c (main): Temporarily disable the contents of
	this test.
	* m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
	Reported by Eric Blake.

2008-03-28  Simon Josefsson  <simon@josefsson.org>

	* lib/gc.h (enum Gc_hash): Add GC_SHA224.
	(GC_SHA224_DIGEST_SIZE): Add.

	* lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
	(gc_hash_digest_length): Likewise.
	(gc_hash_buffer): Likewise.

2008-03-25  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
	detail which gettext release to use.
	Reported by Simon Josefsson.

2008-03-26  Jim Meyering  <meyering@redhat.com>

	gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
	* modules/gnumakefile (clean-GNUmakefile): Also, use
	test ... && ... || : syntax rather than if-then ... fi.

	gnumakefile: Don't double-quote-expand $(VPATH) value.
	* modules/gnumakefile (clean-GNUmakefile): Use single quotes.

2008-03-24  Eric Blake  <ebb9@byu.net>

	Alter GNUmakefile to install into top directory.
	* modules/maintainer-makefile: Split, and add dependency...
	* modules/gnumakefile: to this new module.
	* build-aux/GNUmakefile: Move...
	* top/GNUmakefile: ...here.
	* build-aux/maint.mk: Move...
	* top/maint.mk: ...here.
	* MODULES.html.sh (Support for maintaining...): Document new
	module.

2008-03-23  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: New options --vc-files, --no-vc-files.
	(func_usage): Document them.
	(vc_files): New variable.
	(func_import): Consider vc_files.
	(func_create_testdir): Set vc_files to empty.
	Suggested by Jim Meyering and Karl Berry.

2008-03-23  Bruno Haible  <bruno@clisp.org>

	Fix regex compilation error on HP-UX 11.
	* m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
	* modules/regex (Files): Add m4/mbstate_t.m4.
	Reported by Ton Voon <ton.voon@altinity.com>.

2008-03-23  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-tool.texi (gettextize and autopoint): New section.

2008-03-23  Eric Blake  <ebb9@byu.net>
	    Bruno Haible  <bruno@clisp.org>

	Install files from top/ in the destination directory.
	* gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
	augmentation also for the files from top/.
	(func_import, func_create_testdir): Rewrite file names:
	top/filename -> filename.

2008-03-23  Bruno Haible  <bruno@clisp.org>

	Tweak "gnulib --version" output.
	* gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".

2008-03-23  Bruno Haible  <bruno@clisp.org>

	Tweak "gnulib --version" output.
	* gnulib-tool (func_version): Use date of last commit to ChangeLog,
	rather than contents of ChangeLog, when possible.

2008-03-21  Eric Blake  <ebb9@byu.net>

	More --version tweaks.
	* gnulib-tool (func_version): Obey GNU Coding Standards.  Output
	date of last ChangeLog entry.

2008-03-21  Jim Meyering  <meyering@redhat.com>

	* build-aux/GNUmakefile (_have-git-version-gen): Split long line.

2008-03-20  Eric Blake  <ebb9@byu.net>

	VPATH fix.
	* build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.

2008-03-20  Simon Josefsson  <simon@josefsson.org>

	* build-aux/GNUmakefile: Make git-version-gen optional.  Add
	_build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.

2008-03-20  Eric Blake  <ebb9@byu.net>

	Sync GNUmakefile with coreutils.
	* build-aux/GNUmakefile (have-Makefile): Rename...
	(_have-Makefile): ...to this, for namespace consideration.
	(GNUmakefile.cfg): Include, if present.
	(_autoreconf): Define a default.
	(_is-dist-target): New rule for rebuilds to pick up intra-release
	version.
	(maint-cfg.mk): Rename...
	(cfg.mk): ...to this.

2008-03-18  Jim Meyering  <meyering@redhat.com>

	New script and module: mktempd
	* MODULES.html.sh (maint+release support): Add mktempd.
	* build-aux/mktempd: New file.
	* modules/mktempd: New file.

2008-03-15  Jim Meyering  <meyering@redhat.com>

	Undo last change.
	* lib/sha1.c, lib/md5.c: 63 != ~63.
	Reported by Andreas Schwab.

	sha1.c, md5.c: Hoist a redundant expression.
	* lib/sha1.c (sha1_process_bytes): AND-off the low bits in
	"ctx->buflen" only once, before calling *_process_block.
	* lib/md5.c (md5_process_bytes): Likewise.

2008-03-14  Eric Blake  <ebb9@byu.net>

	Bump copyright year in files generated by gnulib-tool.
	* gnulib-tool (func_emit_copyright_notice): Extract copyright from
	gnulib-tool, rather than hard-coding it.

	Fix 'gnulib-tool --version' output to work with git.
	* gnulib-tool (func_gnulib_dir): New function, extracted from...
	(startup): ...here.
	(func_version): Use it to invoke git-version-gen, rather than
	relying on CVS keyword expansion.  Modernize wording.
	(cvsdatestamp, last_checkin_date, version): Kill unused
	variables.

2008-03-12  Jim Meyering  <meyering@redhat.com>

	Recognize optional cast of the argument to free.
	* build-aux/useless-if-before-free: Update regexps.

	* build-aux/bootstrap (gnulib_tool): Remove trailing blanks.

2008-03-11  Bruno Haible  <bruno@clisp.org>

	Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
	by a single package.
	* m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
	(AC_LIB_LINKFLAGS_BODY): Use the information stored by
	AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
	Reported by Sam Steingold <sds@gnu.org>.

2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	* build-aux/bootstrap (version_controlled_file): Adapt for SVN
	repositories.

2008-03-11  Bruno Haible  <bruno@clisp.org>

	Avoid conflicts between local macro definitions.
	* m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
	AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.

2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
	    Bruno Haible  <bruno@clisp.org>

	Make va_copy work with some version of xlc on AIX 5.1.
	* lib/stdarg.in.h: New file.
	* m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
	On AIX, use a <stdarg.h> file substitute.
	* modules/stdarg (Files): Add lib/stdarg.in.h.
	(Depends-on): Add include_next.
	(Makefile.am): Build a stdarg.h substitute if requested.
	* doc/posix-functions/va_copy.texi: Document the platforms lacking it.

2008-03-10  Bruno Haible  <bruno@clisp.org>

	* m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
	* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
	Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.

2008-03-10  Bruno Haible  <bruno@clisp.org>

	* modules/stdlib (Depends-on): Add include_next, remove
	absolute-header.

2008-03-09  Bruno Haible  <bruno@clisp.org>

	* lib/freadahead.h (freadahead): Document more precisely.
	* lib/freadahead.c (freadahead): When an ungetc is in effect, return
	the sum of both buffer sizes.
	* tests/test-freadahead.c (main): Also test behaviour after ungetc.
	* NEWS: Document the change.

2008-03-09  Bruno Haible  <bruno@clisp.org>

	Extend freadptr to return also the buffer size.
	* lib/freadptr.h (freadptr): Add sizep argument.
	* lib/freadptr.c: Include freadptr.h, not freadahead.h.
	(freadptr): Add sizep argument. Determine buffer size like freadahead
	does.
	* tests/test-freadptr.c: Don't include freadahead.h.
	(main): Adapt for new calling convention of freadptr.
	* tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
	* tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
	* modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
	tests/test-freadptr2.sh.
	(Depends): Remove freadahead.
	(TESTS): Add test-freadptr2.sh.
	(check_PROGRAMS): Add test-freadptr2.

2008-03-09  Bruno Haible  <bruno@clisp.org>

	* doc/Makefile (%.pdf): Explain how to remedy the save_size error.
	Report and solution by Simon Josefsson.

2008-03-06  Bruno Haible  <bruno@clisp.org>

	Make fflush after ungetc work on BSD platforms.
	* lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
	* tests/test-fflush2.c: New file.
	* tests/test-fflush2.sh: New file.
	* modules/fflush-tests (Files): Add tests/test-fflush2.sh,
	tests/test-fflush2.c.
	(Makefile.am): Build test-fflush2 and run test-fflush2.sh.
	* doc/posix-functions/fflush.texi: Document fflush after ungetc bug.

2008-03-06  Eric Blake  <ebb9@byu.net>

	Likewise for ftello.
	* modules/ftello (Dependencies): Add extensions.
	* m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.

2008-03-06  Bruno Haible  <bruno@clisp.org>

	* modules/fseeko (Dependencies): Add extensions.
	* m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
	Needed on glibc systems.

2008-03-06  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
	email address.
	Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.

2008-03-06  Bruno Haible  <bruno@clisp.org>

	* users.txt: Add libgnupdf.

2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)

	* doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
	(Header File Substitutes, Function Substitutes,
	Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
	(Build robot for gnulib): Fix typo.

2008-03-06  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-tool.texi (VCS Issues): Small updates.
	Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.

2008-03-06  Bruno Haible  <bruno@clisp.org>

	* doc/func.texi: New file, extracted from doc/gnulib.texi.
	* doc/gnulib.texi: Include it.

2008-03-06  Simon Josefsson  <simon@josefsson.org>

	* modules/func (License): Change license to unlimited; there was
	no LGPL parts in the module anyway.

2008-03-06  Simon Josefsson  <simon@josefsson.org>

	* modules/__func__: Renamed to modules/func.
	* modules/__func__-tests: Renamed to modules/func-tests.
	* tests/test-__func__.c: Renamed to tests/test-func.c.
	* m4/__func__.m4: Renamed to m4/func.m4.
	* doc/gnulib.texi (__func__): Section renamed to func.
	Suggested by Eric Blake <ebb9@byu.net>.

2008-03-06  Simon Josefsson  <simon@josefsson.org>

	* doc/gnulib.texi (__func__): Use C99 terminology when talking
	about __func__.  Make example self-contained.  Suggested by Eric
	Blake <ebb9@byu.net>.

	* tests/test-__func__.c (main): Avoid extraneous () around __func.
	Suggested by Eric Blake <ebb9@byu.net>.

2008-03-06  Simon Josefsson  <simon@josefsson.org>

	* modules/__func__: New file.
	* modules/__func__-tests: New file.
	* tests/test-__func__.c: New file.
	* m4/__func__.m4: New file.
	* doc/gnulib.texi (__func__): Document __func__ module.

2008-03-05  Simon Josefsson  <simon@josefsson.org>

	* modules/byteswap (License): Re-license as LGPLv2+.

2008-03-05  Simon Josefsson  <simon@josefsson.org>

	* doc/Makefile: Add pdf target.

2008-03-05  Simon Josefsson  <simon@josefsson.org>

	* modules/inline (License): Use 'unlimited', since there are only
	*.m4 files in this module.

2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
	    Bruno Haible  <bruno@clisp.org>

	Add support for HP C 7.1 on OpenVMS 8.3.
	* lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.

2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)

	Update VMS specifics.
	* lib/getopt.c [VMS]: Remove include of unixlib.h.

2008-03-02  Jim Meyering  <meyering@redhat.com>

	Remove the last dependency on the "free" module.
	* m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
	Reported by Bob Proulx.

	* lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.

	Remove useless "if" tests before free.  Deprecate "free" module.
	* doc/posix-functions/free.texi: Mention that this
	module is no longer useful.
	* modules/free (Notice): Say this module is obsolete.
	* modules/readutmp (Depends-on): Remove free.
	* lib/save-cwd.c (free_cwd): Remove useless "if" before free.
	* lib/putenv.c (putenv): Likewise.
	* lib/gc-gnulib.c (gc_cipher_close): Likewise.
	* lib/getaddrinfo.c (freeaddrinfo): Likewise.
	* tests/test-c-strcasestr.c (main): Likewise.
	* tests/test-c-strstr.c (main): Likewise.
	* tests/test-mbscasestr1.c (main): Likewise.
	* tests/test-mbscasestr2.c (main): Likewise.
	* tests/test-mbsstr1.c (main): Likewise.
	* tests/test-mbsstr2.c (main): Likewise.
	* tests/test-memmem.c (main): Likewise.
	* tests/test-strcasestr.c (main): Likewise.
	* tests/test-striconv.c (main): Likewise.
	* tests/test-striconveh.c (main): Likewise.
	* tests/test-striconveha.c (main): Likewise.
	* tests/test-strstr.c (main): Likewise.

	* build-aux/git-version-gen: Adjust a comment and the Usage string.

	bootstrap: sync from coreutils again
	* build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.

2008-03-01  Jim Meyering  <meyering@redhat.com>

	bootstrap: sync from coreutils
	* build-aux/bootstrap (update_po_files): Copy a .po file into place
	also when the target doesn't exist.

2008-03-01  Eric Blake  <ebb9@byu.net>

	Fix bugs in last patch.
	* lib/memchr2.c (memchr2): Fix typo.
	* tests/test-memchr2.c: Test previous bug, and don't use GNU
	extension.
	Reported by Bruce Korb.

	New module 'memchr2'.
	* modules/memchr2: New file.
	* modules/memchr2-tests: Likewise.
	* lib/memchr2.h: Likewise.
	* lib/memchr2.c: Likewise, based on memchr.c.
	* tests/test-memchr2.c: New test.
	* MODULES.html.sh (String handling): Add memchr2.

2008-02-29  Bruno Haible  <bruno@clisp.org>

	* modules/freadseek-tests: New file.
	* tests/test-freadseek.sh: New file.
	* tests/test-freadseek.c: New file.

	New module 'freadseek'.
	* modules/freadseek: New file.
	* lib/freadseek.h: New file.
	* lib/freadseek.c: New file.
	* MODULES.html.sh (File stream based Input/Output): Add freadseek.

2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	* users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
	wydawca.

	* m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
	program_invocation_name and program_invocation_short_name are
	present.

2008-02-28  Bruno Haible  <bruno@clisp.org>

	* tests/test-freadptr.c: Add a test for behaviour after ungetc.
	* tests/test-freadptr.sh: Also test non-seekable stdin.

2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>

	* build-aux/bootstrap (source_base, m4_base)
	(doc_base, tests_base): New variables.
	(gnulib_tool_options): Do not hardcode base directories, use
	the above variables instead.

2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>

	* lib/xsize.h: Fix typo in comment: s/tupe/type/.

2008-02-28  Bruno Haible  <bruno@clisp.org>

	* modules/freadptr-tests: New file.
	* tests/test-freadptr.sh: New file.
	* tests/test-freadptr.c: New file.

	New module 'freadptr'.
	* modules/freadptr: New file.
	* lib/freadptr.h: New file.
	* lib/freadptr.c: New file.
	* MODULES.html.sh (File stream based Input/Output): Add freadptr.

2008-02-26  Karl Berry  <karl@freefriends.org>

	Sync from Libtool:
	* libltdl/argz.c (argz_add, argz_count): New functions.
	* libltdl/argz.in.h: Declare them.
	Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.

2008-02-22  Bruno Haible  <bruno@clisp.org>

	* m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
	is a pointer type.  Needed for HP-UX 10.
	* doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
	* doc/posix-functions/gmtime_r.texi: Likewise.
	Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.

2008-02-24  Bruno Haible  <bruno@clisp.org>

	* modules/environ-tests: New file.
	* tests/test-environ.c: New file.

	New module 'environ'.
	* modules/environ: New file.
	* lib/unistd.in.h (environ): New declaration.
	* m4/environ.m4: New file.
	(gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
	after use.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
	HAVE_DECL_ENVIRON.
	* modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
	HAVE_DECL_ENVIRON.
	* doc/posix-functions/environ.texi: Mention module 'environ'. Remove
	wrong claim that 'environ' is missing on some systems.
	* modules/execute (Depends-on): Add environ.
	* lib/execute.c (environ): Remove fallback declaration.
	* modules/pipe (Depends-on): Add environ.
	* lib/pipe.c (environ): Remove fallback declaration.
	* modules/setenv (Depends-on): Add environ.
	* lib/setenv.c (environ): Remove fallback declaration.
	* modules/unsetenv (Depends-on): Add environ.
	* lib/unsetenv.c (environ): Remove fallback declaration.
	* m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
	m4/environ.m4.
	(gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
	(gl_PREREQ_UNSETENV): Likewise.

2008-02-24  Bruno Haible  <bruno@clisp.org>

	* doc/posix-functions/environ.texi: Document the MacOS X problem.

2008-02-20  Bob Proulx  <bob@proulx.com>

	Enable use of older two part flavor 'git describe'.
	* build-aux/git-version-gen: If using the older two part flavor of
	git version then recreate the third part now present in the
	newer three part flavor of git describe.

2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)

	* lib/fts.c (fts_build): Typo correction to comment.

2008-02-17  Bruno Haible  <bruno@clisp.org>

	* lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
	generating no-op conflicts.

2008-02-17  Bruno Haible  <bruno@clisp.org>

	Speed up by 10%.
	* lib/git-merge-changelog.c (main): Use the iterator to iterate through
	result_entries, rather than an index-based loop.

2008-02-17  Bruno Haible  <bruno@clisp.org>

	Speed up by 25%.
	* lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
	'hashcode_cached'.
	(entry_create): New function.
	(entry_hashcode): Use the cached hashcode if possible.
	(read_changelog_file, try_split_merged_entry): Use entry_create.

2008-02-17  Bruno Haible  <bruno@clisp.org>

	Speed up from O(n^2) to O(n) for long ChangeLog files.
	* lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
	(read_changelog_file): Change implementation of entries_reversed list
	to rbtreehash.
	* modules/git-merge-changelog (Depends-on): Add rbtreehash-list.

2008-02-17  Bruno Haible  <bruno@clisp.org>

	New option --split-merged-entry.
	* lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
	(find_paragraph_end, try_split_merged_entry): New functions.
	(long_options): Add option --split-merged-entry.
	(usage): Document option --split-merged-entry.
	(main): Implement option --split-merged-entry.
	Reported by Eric Blake.

2008-02-17  Bruno Haible  <bruno@clisp.org>

	* lib/git-merge-changelog.c: Include c-strstr.h.
	(main): Support the "git pull --rebase" situation.
	* modules/git-merge-changelog (Depends-on): Add c-strstr.
	Reported by Eric Blake.

2008-02-16  Eric Blake  <ebb9@byu.net>

	Avoid doubling \ in common case of "c-maybe" quoting style.
	* lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
	eliding outer quotes.
	* lib/quotearg.h: Document this.
	* tests/test-quotearg.c (result_strings, inputs, results_g)
	(flag_results, locale_results): Test it by adding a new string to
	each test group.
	(compare_strings): Test new string.

2008-02-13  Eric Blake  <ebb9@byu.net>

	Avoid trigraph quoting in default output.
	* lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
	* lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
	unless explicitly requested.
	* tests/test-quotearg.c (flag_results, main): Add additional tests.

2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>

	Don't rely on signed integer overflowing to negative value.
	* lib/getugroups.c (getugroups): Include <limits.h>.
	Instead, compare against INT_MAX, and increment only if the test passes.

2008-02-13  Jim Meyering  <meyering@redhat.com>
	and Eric Blake  <ebb9@byu.net>

	Avoid shadowing warning and compile errors on Linux.
	* tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
	forwarding macros on Linux.
	(dcgettext): Define a stub, for Linux.
	(results_g, main): Avoid warnings.

2008-02-12  Eric Blake  <ebb9@byu.net>

	Silence warning in last patch.
	* lib/quotearg.c (quotearg_buffer_restyled): Add missing const.

	Quotearg part 4: add tests, fix c-maybe colon quoting.
	* lib/quotearg.h: Improve documentation.
	* lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
	escapes when adding outer quotes.  When quoting trigraphs, use
	valid C notation.  When quoting NUL, omit extra characters if next
	character is not digit.  Alter prototype.
	(quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
	callers.
	* modules/quotearg-tests: New module.
	* tests/test-quotearg.c: New test.

2008-02-07  Eric Blake  <ebb9@byu.net>

	Quotearg part 3: add flag to control outer quote elision.
	* lib/quotearg.h (c_maybe_quoting_style): New style.
	(enum quoting_flags): Better documentation of flags.
	* lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
	c-maybe style.
	(quotearg_buffer_restyled): Handle new flag to elide outer
	quotes.

	Quotearg part 2: add flag that can control NUL elision.
	* lib/quotearg.h (set_quoting_flags): New prototype.
	* lib/quotearg.c (struct quoting_options): Add flag field.
	(set_quoting_flags): New function.
	(quotearg_buffer_restyled): Add flags parameter.
	(quotearg_alloc_mem): Set the flag if length cannot be returned.
	(quotearg_n_options): Set the flag, since length cannot be
	returned.
	(quoting_options_from_style): Default flags correctly.

	Quotearg part 1: more wrappers, restore quotearg_char state.
	* lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
	(quotearg_mem, quotearg_style_mem, quotearg_char_mem)
	(quotearg_colon_mem): New wrappers.
	* lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
	(quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
	functions.
	(quotearg_n_mem, quotearg_mem, quotearg_style_mem)
	(quotearg_colon_mem): New functions.

2008-02-11  Bruno Haible  <bruno@clisp.org>

	* modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
	library in the current directory: it does not work with parallel make.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2008-02-11  Bruno Haible  <bruno@clisp.org>

	* .gitattributes: New file.

2008-02-11  Jim Meyering  <meyering@redhat.com>

	useless-if-before-free: Fix reversed exit values.
	* build-aux/useless-if-before-free: Use correct values
	for EXIT_MATCH and EXIT_NO_MATCH.

	* build-aux/useless-if-before-free: Close stdout carefully.

2008-02-10  Bruno Haible  <bruno@clisp.org>

	New module 'git-merge-changelog'.
	* modules/git-merge-changelog: New file.
	* lib/git-merge-changelog.c: New file.

2008-02-10  Jim Meyering  <meyering@redhat.com>

	useless-if-before-free: New option: --list (-l).

	useless-if-before-free: Don't exit immediately upon open failure.
	* build-aux/useless-if-before-free: Exit 2 for errors.
	Upon failure to open a file, don't exit immediately.
	Rather, just warn and continue with any remaining files.

2008-02-10  Bruno Haible  <bruno@clisp.org>

	New abstract list operation 'node_set_value'.
	* lib/gl_list.h (gl_list_node_set_value): New function.
	(struct gl_list_implementation): New field node_set_value.
	* lib/gl_list.c (gl_list_node_set_value): New function.
	* lib/gl_array_list.c (gl_array_node_set_value): New function.
	(gl_array_list_implementation): Update.
	* lib/gl_carray_list.c (gl_carray_node_set_value): New function.
	(gl_carray_list_implementation): Update.
	* lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
	* lib/gl_linked_list.c (gl_linked_list_implementation): Update.
	* lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
	* lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
	* lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
	* lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
	* lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
	Update.
	* lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
	* lib/gl_sublist.c (gl_sublist_node_set_value): New function.
	(gl_sublist_list_implementation): Update.

2008-02-10  Bruno Haible  <bruno@clisp.org>

	* lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
	Needed when ELEMENT is #defined to 'some_type *'.

2008-02-10  Jim Meyering  <meyering@redhat.com>

	New script and module: useless-if-before-free
	* MODULES.html.sh (maint+release support): Add useless-if-before-free.
	* build-aux/useless-if-before-free: New file.
	* modules/useless-if-before-free: New file.

	* build-aux/gitlog-to-changelog: Use committer date, not author date.

	xstrtol_error: Fix typo.
	* lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
	s/exit_failure/exit_status/.

2008-02-09  Jim Meyering  <meyering@redhat.com>

	New script and module: gitlog-to-changelog
	* MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
	* modules/gitlog-to-changelog: New file.
	* build-aux/gitlog-to-changelog: New file.

2008-02-08  Jim Meyering  <meyering@redhat.com>

	Avoid two "parameter unused" warnings.
	* lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
	Mark "st" as used.

	Use "git COMMAND", not "git-COMMAND".
	* build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
	* build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
	* build-aux/git-version-gen: Use "git status", not "git-status".

2008-02-07  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
	Avoids a crash on Windows Vista.
	Reported by Adam Strzelecki <ono@java.pl> via
	Simon Josefsson <simon@josefsson.org>.

2008-02-06  Bruno Haible  <bruno@clisp.org>

	Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
	* m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
	* lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
	(gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
	gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
	gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
	* tests/test-vasnprintf-posix.c (test_function): Add testcases for the
	left-adjust flag.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* doc/posix-functions/fprintf.texi: Update.
	* doc/posix-functions/printf.texi: Update.
	* doc/posix-functions/snprintf.texi: Update.
	* doc/posix-functions/sprintf.texi: Update.
	* doc/posix-functions/vfprintf.texi: Update.
	* doc/posix-functions/vprintf.texi: Update.
	* doc/posix-functions/vsnprintf.texi: Update.
	* doc/posix-functions/vsprintf.texi: Update.
	Reported by Peter Fales <psfales@alcatel-lucent.com>.

2008-02-06  Bruno Haible  <bruno@clisp.org>

	Fix bug introduced on 2008-01-26.
	* lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.

2008-02-06  Bruno Haible  <bruno@clisp.org>

	Fix bug introduced on 2007-06-10.
	* lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
	!NEED_PRINTF_FLAG_ZERO.

2008-02-05  Peter O'Gorman  <pogma@thewrittenword.com>

	getloadavg: use libperfstat on AIX5
	* lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat

2008-02-03  Bruno Haible  <bruno@clisp.org>

	* lib/diffseq.h: Add comments about required #includes.
	Reported by Michael Biggs <gnulib@doubleplum.net>.

2008-02-01  Bruno Haible  <bruno@clisp.org>

	* users.txt: Add gnuit.

2008-01-31  Bruno Haible  <bruno@clisp.org>

	* lib/md4.c (set_uint32): Mark as inline.
	* lib/md5.c (set_uint32): Likewise.
	* lib/sha1.c (set_uint32): Likewise.
	* m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
	* m4/md5.m4 (gl_MD5): Likewise.
	* m4/sha1.m4 (gl_SHA1): Likewise.

2008-01-31  Jim Meyering  <meyering@redhat.com>

	Use "sizeof VAR", rather than a literal "4".
	* lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
	* lib/md4.c (md4_read_ctx): Likewise.
	* lib/sha1.c (sha1_read_ctx): Likewise.

2008-01-31  Simon Josefsson  <simon@josefsson.org>

	* tests/test-sha1.c: New file, based on test-md5.c.

	* modules/crypto/sha1-tests: New file.

2008-01-31  Simon Josefsson  <simon@josefsson.org>

	* lib/sha1.h (SHA1_DIGEST_SIZE): Define.

2008-01-31  Jim Meyering  <meyering@redhat.com>

	Prefer "sizeof v" over the equivalent "4".
	* lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
	* lib/md5.c (set_uint32): Likewise.
	* lib/sha1.c (set_uint32): Likewise.

2008-01-31  Simon Josefsson  <simon@josefsson.org>

	* lib/sha1.c (set_uint32): Mark function as static.

2008-01-31  Simon Josefsson  <simon@josefsson.org>

	md2: clarify comments to say that alignment is not required.
	* lib/md2.h: Remove warning about alignment in comment.
	* lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
	never been required.

2008-01-31  Simon Josefsson  <simon@josefsson.org>

	md4: adapt alignment constraint fix from sha1.
	* lib/md4.c (set_uint32): New function, from sha1.c
	(md4_read_ctx): Use it.
	(md4_finish_ctx): Doc fix.
	* lib/md4.h: Doc fix.

2008-01-31  Simon Josefsson  <simon@josefsson.org>

	md5: adapt alignment constraint fix from sha1.
	* lib/md5.c (set_uint32): New function, from sha1.c
	(md5_read_ctx): Use it.
	(md5_finish_ctx): Doc fix.
	* lib/md5.h: Doc fix.

2008-01-30  Peter Palfrader  <weasel@debian.org>

	sha1: remove the result buffer alignment constraint
	* lib/sha1.c (set_uint32): New function.
	(sha1_read_ctx): Rewrite to remove the result buffer alignment
	constraint.
	(sha1_finish_ctx): Remove comment warning about alignment constraint.
	* lib/sha1.h: Likewise.

2008-01-30  Andreas Schwab  <schwab@suse.de>
	    Bruno Haible  <bruno@clisp.org>

	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
	correct definition of LDBL_MIN_EXP.

2008-01-30  Karl Berry  <karl@gnu.org>

	* config/srclist-update: try to preserve x bit on updates.
	* config/srclistvars.sh: update for karl.

2008-01-29  Jim Meyering  <meyering@redhat.com>

	vasnprintf.c: Avoid warning about unused label
	* lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
	"overflow" label definition and associated code with the
	same cpp condition that guards the sole use of that label.

2008-01-26  Bruno Haible  <bruno@clisp.org>

	* m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
	gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
	* lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
	* lib/isnanl-nolibm.h (isnanl): Likewise.
	Reported by Paul Eggert <eggert@cs.ucla.edu>.

2008-01-26  Bruno Haible  <bruno@clisp.org>

	* m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
	* lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.

2008-01-26  Bruno Haible  <bruno@clisp.org>

	* m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
	GCC >= 4.0 built-in.
	* lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.

2008-01-26  Bruno Haible  <bruno@clisp.org>

	Rename isnan, applicable to 'double' only, to isnand.
	* modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
	(Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
	(configure.ac): Update.
	(Include): Replace "isnan.h" with "isnand.h".
	* m4/isnand.m4: Renamed from m4/isnan.m4.
	(gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
	HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
	instead of isnan.c.
	* lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
	instead of HAVE_ISNAN_IN_LIBC.
	(isnand): Renamed from isnan.
	* lib/isnand.c: New file.
	* modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
	(Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
	(Makefile.am): Update.
	* tests/test-isnand.c: Renamed from tests/test-isnan.c.
	Include isnand.h instead of isnan.h.
	(main): Test isnand instead of isnan.
	* modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
	isnan-nolibm.
	* modules/frexp (Depends-on): Likewise.
	* modules/frexp-tests (Depends-on): Likewise.
	* modules/frexp-nolibm (Depends-on): Likewise.
	* modules/frexp-nolibm-tests (Depends-on): Likewise.
	* modules/isfinite (Depends-on): Likewise.
	* modules/round-tests (Depends-on): Likewise.
	* modules/signbit (Depends-on): Likewise.
	* modules/signbit-tests (Depends-on): Likewise.
	* modules/snprintf-posix (Depends-on): Likewise.
	* modules/sprintf-posix (Depends-on): Likewise.
	* modules/trunc-tests (Depends-on): Likewise.
	* modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
	* modules/vasnprintf-posix (Depends-on): Likewise.
	* modules/vasprintf-posix (Depends-on): Likewise.
	* modules/vfprintf-posix (Depends-on): Likewise.
	* modules/vsnprintf-posix (Depends-on): Likewise.
	* modules/vsprintf-posix (Depends-on): Likewise.
	* lib/frexp.c: Include isnand.h instead of isnan.h.
	(ISNAN): Set to isnand instead of isnan.
	* lib/isfinite.c: Include isnand.h instead of isnan.h.
	(gl_isfinited): Use isnand instead of isnan.
	* lib/signbitd.c: Include isnand.h instead of isnan.h.
	(gl_signbitd): Use isnand instead of isnan.
	* lib/vasnprintf.c: Include isnand.h instead of isnan.h.
	(is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
	* tests/test-frexp.c: Include isnand.h instead of isnan.h.
	(main): Use isnand instead of isnan.
	* tests/test-round1.c: Include isnand.h.
	(main): Use isnand instead of isnan.
	* tests/test-round2.c: Include isnand.h instead of isnan.h.
	(ISNAN): Set to isnand instead of isnan.
	* tests/test-trunc1.c: Include isnand.h.
	(main): Use isnand instead of isnan.
	* tests/test-trunc2.c: Include isnand.h instead of isnan.h.
	(equal): Use isnand instead of isnan.
	* MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
	isnand-nolibm.
	* NEWS: Mention the change.

2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	* m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
	the GCC builtins for signbits are present and set
	REPLACE_SIGNBIT_USING_GCC if so.
	* lib/math.in.h (signbit): Define using GCC builtins if
	REPLACE_SIGNBIT_USING_GCC is set.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
	REPLACE_SIGNBIT_USING_GCC.
	* modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.

2008-01-25  Jim Meyering  <meyering@redhat.com>

	Prefer <config.h> over "config.h".  See autoconf doc for explanation.
	* lib/poll.c: Include <config.h>, not "config.h".
	* tests/test-getaddrinfo.c: Likewise.

2008-01-25  Simon Josefsson  <simon@josefsson.org>

	* modules/sockets-tests: New file.

2008-01-24  Simon Josefsson  <simon@josefsson.org>

	* modules/sockets: New module, can be used to call WSA_Startup and
	WSA_Cleanup when needed.

	* lib/sockets.h, lib/sockets.c: New files.

	* m4/sockets.m4: New file.

	* tests/test-sockets.c: New file.

2008-01-19  Bruno Haible  <bruno@clisp.org>

	* doc/posix-headers: Renamed from doc/headers.
	* doc/posix-functions: Renamed from doc/functions.
	* doc/gnulib.texi: Update.

2008-01-19  Bruno Haible  <bruno@clisp.org>

	* doc/glibc-functions/strcasestr.texi: Include contents of
	doc/functions/strcasestr.texi, fixing the list of platforms.
	* doc/functions/strcasestr.texi: Remove file.

2008-01-19  Bruno Haible  <bruno@clisp.org>

	* doc/glibc-functions/memmem.texi: Include contents of
	doc/functions/memmem.texi.
	* doc/functions/memmem.texi: Remove file.

2008-01-18  Bruno Haible  <bruno@clisp.org>

	* doc/glibc-functions/*.texi: New files.
	* doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
	to use the new files.

2008-01-17  Bruno Haible  <bruno@clisp.org>

	* tests/test-gethostname.c (main): Fix printf statement.

2008-01-17  Simon Josefsson  <simon@josefsson.org>

	* modules/gethostname-tests: New file.

	* tests/test-gethostname.c: New file.

2008-01-17  Simon Josefsson  <simon@josefsson.org>

	* lib/gethostname.c: Include string.h unconditionally, strncpy is
	used by the UNAME case.  Reported by Bruno Haible
	<bruno@clisp.org>.

2008-01-17  Eric Blake  <ebb9@byu.net>

	Convert c-strcasestr to be more efficient.
	* modules/c-strcasestr (Files): Use Two-Way, not KMP.
	(Depends-on): Add c-strcase, remove malloca, strnlen.
	* tests/test-c-strcasestr.c (main): Enhance test.
	* lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.

2007-01-16  Paolo Bonzini  <bonzini@gnu.org>

	* build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
	Use it in creating po/Makevars.

2008-01-15  Simon Josefsson  <simon@josefsson.org>

	* lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
	Applications that requires it should initialize libgcrypt
	manually.

2008-01-16  Simon Josefsson  <simon@josefsson.org>

	* lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.

2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>

	Fix problem with getdate on mingw32 reported by Simon Josefsson
	in <http://lists.gnu.org/r/bug-gnulib/2008-01/msg00192.html>.
	* lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
	tzname", when deciding whether to declare tzname.
	* lib/strftime.c (tzname): Likewise.

2008-01-15  Bruno Haible  <bruno@clisp.org>

	Work around a MacOS X 10.5 bug in frexpl().
	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
	* doc/functions/frexpl.texi: Document the bug.
	Reported by Elias Pipping <pipping@gentoo.org>.

2008-01-14  Eric Blake  <ebb9@byu.net>

	Touch up previous patch.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
	* doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.

	Convert strcasestr module to use Two-Way algorithm.
	* modules/strcasestr-simple: New module, based on the old
	strcasestr, but with Two-Way rather than KMP.
	* modules/strcasestr (Depends-on): Change to strcasestr-simple.
	* lib/string.in.h (rpl_strcasestr): Declare.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
	performance.
	* lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
	* modules/string (Makefile.am): Support strcasestr.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
	* modules/strcasestr-tests (Depends-on): Check for alarm.
	* tests/test-strcasestr.c: Augment test.
	* lib/str-two-way.h: Clean up stray macro.
	* NEWS: Document new module.
	* MODULES.html.sh (string handling): Likewise.
	* doc/functions/strcasestr.texi: New file.
	* doc/gnulib.texi (Function Substitutes): New node.  Move memmem
	here, since it is not a POSIX function.

2008-01-14  Colin Watson  <cjwatson@debian.org>
	    Bruno Haible  <bruno@clisp.org>

	* m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
	works fine; if not, set REPLACE_STRSIGNAL.
	(gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
	REPLACE_STRSIGNAL.
	* lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
	* modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
	* tests/test-strsignal.c (main): Check out-of-range signal numbers.

2008-01-14  Bruno Haible  <bruno@clisp.org>

	* modules/strsignal (Include): Change to <string.h>.

2008-01-14  Colin Watson  <cjwatson@debian.org>

	* modules/argp (Notice): Add a notice recommending to change
	XGETTEXT_OPTIONS.
	(configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.

2008-01-13  Colin Watson  <cjwatson@debian.org>

	* modules/strsignal-tests: New file.
	* tests/test-strsignal.c: New file.

	* lib/strsignal.c: New file, from glibc with modifications.
	* lib/siglist.h: New file, from glibc with modifications.
	* lib/string.in.h (strsignal): New declaration.
	* m4/strsignal.m4: New file.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
	GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
	* modules/strsignal: New file.
	* modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
	HAVE_DECL_STRSIGNAL.

2008-01-13  Bruno Haible  <bruno@clisp.org>

	* m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
	locale encoding is not ASCII. Needed for OpenBSD 4.0.
	* m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.

2008-01-13  Bruno Haible  <bruno@clisp.org>

	* lib/argp-fmtstream.h (__attribute__): Don't redefine if
	__STRICT_ANSI__ is set: it's not needed by any version of gcc.
	* lib/argp.h (__attribute__): Likewise.
	* lib/c-stack.c (__attribute__): Likewise.
	* lib/error.h (__attribute__): Likewise.
	* lib/fts.c (__attribute__): Likewise.
	* lib/openat.h (__attribute__): Likewise.
	* lib/stdio.in.h (__attribute__): Likewise.
	* lib/string.in.h (__attribute__): Likewise.
	* lib/utimens.c (__attribute__): Likewise.
	* lib/vasnprintf.h (__attribute__): Likewise.
	* lib/xalloc.h (__attribute__): Likewise.
	* lib/xprintf.h (__attribute__): Likewise.
	* lib/xstrtol.h (__attribute__): Likewise.
	* lib/xvasprintf.h (__attribute__): Likewise.

2008-01-12  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
	* doc/glibc-headers/a.out.texi: New file.
	* doc/glibc-headers/aliases.texi: New file.
	* doc/glibc-headers/alloca.texi: New file.
	* doc/glibc-headers/ar.texi: New file.
	* doc/glibc-headers/argp.texi: New file.
	* doc/glibc-headers/argz.texi: New file.
	* doc/glibc-headers/byteswap.texi: New file.
	* doc/glibc-headers/crypt.texi: New file.
	* doc/glibc-headers/endian.texi: New file.
	* doc/glibc-headers/envz.texi: New file.
	* doc/glibc-headers/err.texi: New file.
	* doc/glibc-headers/error.texi: New file.
	* doc/glibc-headers/execinfo.texi: New file.
	* doc/glibc-headers/fpu_control.texi: New file.
	* doc/glibc-headers/fstab.texi: New file.
	* doc/glibc-headers/fts.texi: New file.
	* doc/glibc-headers/getopt.texi: New file.
	* doc/glibc-headers/ieee754.texi: New file.
	* doc/glibc-headers/ifaddrs.texi: New file.
	* doc/glibc-headers/libintl.texi: New file.
	* doc/glibc-headers/mcheck.texi: New file.
	* doc/glibc-headers/mntent.texi: New file.
	* doc/glibc-headers/obstack.texi: New file.
	* doc/glibc-headers/paths.texi: New file.
	* doc/glibc-headers/printf.texi: New file.
	* doc/glibc-headers/pty.texi: New file.
	* doc/glibc-headers/resolv.texi: New file.
	* doc/glibc-headers/shadow.texi: New file.
	* doc/glibc-headers/sysexits.texi: New file.
	* doc/glibc-headers/ttyent.texi: New file.

2008-01-12  Jim Meyering  <meyering@redhat.com>

	announce-gen: emit Gnulib's git-based version string.
	* build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
	New option --gnulib-version=V, where V is expected to be
	the output of running git describe in the gnulib directory.
	(get_tool_versions): Request feedback on xdelta.  I suspect it's
	not useful, and plan to stop publishing an xdelta file with each
	coreutils release.

	* build-aux/announce-gen: Also check for lzma-compressed files.

2008-01-11  Bruno Haible  <bruno@clisp.org>

	* tests/test-memmem.c (main): Increase maximum allowed time.
	* tests/test-strstr.c (main): Likewise.

2008-01-11  Bruno Haible  <bruno@clisp.org>

	* doc/functions/memmem.texi: Add more precisions about platforms.
	* doc/functions/strstr.texi: Likewise.

2008-01-10  Eric Blake  <ebb9@byu.net>

	* m4/strstr.m4: Delete cruft from copy-n-paste.
	Reported by Bruno Haible.

2008-01-10  Bruno Haible  <bruno@clisp.org>

	Make c-strstr rely on strstr.
	* lib/c-strstr.c: Don't include str-kmp.h.
	(c_strstr): Define in terms of strstr.
	* modules/c-strstr (Files): Remove lib/str-kmp.h.
	(Depends-on): Remove stdbool, malloca, strnlen. Add strstr.

2008-01-10  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib.texi (String Functions in C Locale): New section.
	* doc/c-ctype.texi: New file.
	* doc/c-strcase.texi: New file.
	* doc/c-strcaseeq.texi: New file.
	* doc/c-strcasestr.texi: New file.
	* doc/c-strstr.texi: New file.
	* doc/c-strtod.texi: New file.
	* doc/c-strtold.texi: New file.

2008-01-10  Eric Blake  <ebb9@byu.net>

	* lib/relocatable.h: Fix a comment.

2008-01-10  Eric Blake  <ebb9@byu.net>

	Share two-way algorithm.
	* lib/str-two-way.h: New file, merged from...
	* lib/memmem.c: ...here...
	* lib/strstr.c: ...and here.
	* modules/memmem (Files): Use it.
	* modules/strstr (Files): Likewise.

	Avoid quadratic strstr implementations.
	* lib/strstr.c: New file.
	* m4/strstr.m4: Likewise.
	* modules/strstr: Likewise.
	* modules/strstr-tests: Likewise.
	* tests/test-strstr.c: Likewise.
	* lib/string.in.h (rpl_strstr): Declare.
	(memmem) [GNULIB_POSIXCHECK]: Document speed issue.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
	* modules/string (Makefile.am): Likewise.
	* MODULES.html.sh (string handling): Mention new module.
	* doc/functions/strstr.texi (strstr): Document the bug.

2008-01-10  Bruno Haible  <bruno@clisp.org>

	* lib/relocatable.h (relocate): State whether result is freshly
	allocated or not.
	* lib/relocatable.c (relocate): Return a freshly allocated string
	instead of a pointer to a privately held string.
	Reported by Sylvain Beucler <beuc@gnu.org>.

2008-01-10  Colin Watson  <cjwatson@debian.org>

	* lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
	s/S_ISNLK/S_ISLNK/.

2008-01-09  Bruno Haible  <bruno@clisp.org>

	* doc/functions/memmem.texi: Use the same structure as snprintf.texi
	and other files.
	* m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
	if it's only a guess.
	* modules/memmem: Simplify by depending on memmem-simple.

2008-01-09  Bruno Haible  <bruno@clisp.org>

	Work around OpenBSD 4.0 tdelete() bug.
	* m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
	* lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
	macros and don't redefine the enum values.
	* m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
	* modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
	* doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.

2008-01-09  Bruno Haible  <bruno@clisp.org>

	* tests/test-wcwidth.c: Include <string.h> and localcharset.h.
	(main): Don't perform the tests if setlocale did not install a UTF-8
	locale. Needed on OpenBSD 4.0.
	* modules/wcwidth-tests (Depends-on): Add localcharset.

2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>

	gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
	See <http://lists.gnu.org/r/bug-gnulib/2007-12/msg00149.html>.
	* NEWS: announce this.
	* m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.

2008-01-09  Simon Josefsson  <simon@josefsson.org>
	and Eric Blake  <ebb9@byu.net>

	Add memmem-simple module.
	* m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
	(gl_FUNC_MEMMEM): Separate performance from presence checks.
	* modules/memmem-simple: New file.
	* modules/memmem (Description): Tweak.
	* MODULES.html.sh (string handling): Mention new module.
	* doc/functions/memmem.texi (memmem): Distinguish which flaws are
	addressed by memmem-simple.
	* NEWS: Document the difference.

2008-01-09  Eric Blake  <ebb9@byu.net>

	Give gcc some memmem optimization hints.
	* lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
	(strcasestr): Declare as pure.
	* modules/memmem (Maintainer): Claim my implementation.

2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Support AIX 6.1 and higher.
	* build-aux/config.libpath: Likewise.
	* build-aux/config.rpath: Likewise.

2008-01-08  Jim Meyering  <meyering@redhat.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
	on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
	Reported by Peter Fales in
	<http://lists.gnu.org/r/bug-coreutils/2007-12/msg00148.html>.

2008-01-08  Bruno Haible  <bruno@clisp.org>

	* modules/unictype/category-of (Depends-on): Add
	unictype/category-none.
	* modules/unictype/category-and-tests (Depends-on): Add
	unictype/category-{L,N,Lu,Nd}.
	* modules/unictype/category-and-not-tests (Depends-on): Likewise.
	* modules/unictype/category-or-tests (Depends-on): Add
	unictype/category-{L,N}.
	* modules/unictype/category-name-tests (Depends-on): Add
	unictype/category-{Z,Nl}.
	Reported by Simon Josefsson.

2008-01-08  Bruno Haible  <bruno@clisp.org>

	* lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
	convention better.
	* lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
	* lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
	Reported by Peter Miller <millerp@canb.auug.org.au>.

2008-01-08  Eric Blake  <ebb9@byu.net>

	Rewrite memmem to guarantee linear complexity without malloc.
	* lib/memmem.c (memmem): Use Two-Way rather than
	Knuth-Morris-Pratt, to allow O(1) space usage.
	(critical_factorization, two_way_short_needle)
	(two_way_long_needle): New functions.
	(knuth_morris_pratt): Delete.
	* modules/memmem (Depends-on): No longer need malloca or stdbool.
	Add stdint.
	* tests/test-memmem.c (main): Add tests for periodic needle and
	sublinear performance.
	* doc/functions/memmem.texi (memmem): Document other deficiencies
	in cygwin and older glibc.

2008-01-08  Bruno Haible  <bruno@clisp.org>

	* modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
	augmentation.

2008-01-08  Mike Frysinger  <vapier@gentoo.org>

	Add a configure time option: --disable-acl.
	* m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
	AC_ARG_ENABLE(acl).

2008-01-06  Simon Josefsson  <simon@josefsson.org>

	* tests/test-localename.c: Don't include obsolete "setenv.h".

	* modules/localename-tests (Depends-on): Need unsetenv.

2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* DEPENDENCIES: Require Texinfo version 4.6 or newer.

2008-01-06  Colin Watson  <cjwatson@debian.org>

	* users.txt: Add man-db.

2008-01-07  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
	previous section name.

2008-01-07  Bruno Haible  <bruno@clisp.org>

	* lib/progname.c (set_program_name): Don't strip off a leading
	"lt-" prefix outside a .libs directory.
	Suggested by Paul Eggert.

2008-01-01  Sylvain Beucler  <beuc@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	Improve memory cleanup in 'relocatable' module.
	* lib/relocatable.h (compute_curr_prefix): Change return type to
	'char *'.
	* lib/relocatable.c (compute_curr_prefix): Change return type to
	'char *'. Free curr_installdir after use.
	(relocate): Free curr_prefix_better after use.
	* lib/progreloc.c (prepare_relocate): Free curr_prefix after use.

2008-01-01  Bruno Haible  <bruno@clisp.org>

	* tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
	failure on older glibc systems.
	Reported by Peter Fales <psfales@alcatel-lucent.com>.

2008-01-05  Eric Blake  <ebb9@byu.net>

	Avoid quadratic system memmem.
	* m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
	Reported by Ralf Wildenhues.

	Fix memmem test for mingw.
	* modules/memmem-tests (configure.ac): Check for alarm.
	* tests/test-memmem.c (main): Avoid alarm on platforms that lack
	it.
	* doc/functions/memmem.texi: New file.
	* doc/gnulib.texi (Function Substitutes): Add memmem.
	Reported by Bruno Haible.

2008-01-04  Bruno Haible  <bruno@clisp.org>

	* m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
	Require gl_HEADER_STRINGS_H_DEFAULTS, not
	gl_HEADER_STRING_H_DEFAULTS.

2008-01-04  Eric Blake  <ebb9@byu.net>

	Shorten duration of memmem test.
	* tests/test-memmem.c (main): Use alarm to declare failure if test
	is taking too long.
	Reported by Ralf Wildenhues.

2007-12-21  Simon Josefsson  <simon@josefsson.org>

	* modules/relocatable-prog-wrapper (Depends-on): Add intprops and
	string, needed by strerror.

2008-01-03  Colin Watson  <cjwatson@debian.org>
	    Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-tool.texi (Localization): New section.

2008-01-02  Bruno Haible  <bruno@clisp.org>

	* lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
	variables to 'unsigned char *' type.
	Reported by Paul Eggert.

2008-01-02  Jim Meyering  <jim@meyering.net>

	* lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.

2007-12-31  Jim Meyering  <jim@meyering.net>

	Avoid use of private FTS type name.
	* lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".

2007-12-30  Karl Berry  <karl@gnu.org>

	* doc/gnulib.texi (Library vs. Reusable Code): remove period, to
	work around defect in Texinfo and/or the standalone Info browser.

2007-12-30  Bruno Haible  <bruno@clisp.org>

	Unify 5 copies of the KMP code.
	* lib/str-kmp.h: New file.
	* lib/c-strcasestr.c: Include str-kmp.h.
	(knuth_morris_pratt): Remove function.
	(c_strcasestr): Update.
	* lib/c-strstr.c: Include str-kmp.h.
	(knuth_morris_pratt): Remove function.
	(c_strcasestr): Update.
	* lib/mbscasestr.c: Include str-kmp.h.
	(knuth_morris_pratt_unibyte): Remove function.
	* lib/mbsstr.c: Include str-kmp.h.
	(knuth_morris_pratt_unibyte): Remove function.
	* lib/strcasestr.c: Include str-kmp.h.
	(knuth_morris_pratt): Remove function.
	(strcasestr): Update.
	* modules/c-strcasestr (Files): Add lib/str-kmp.h.
	* modules/c-strstr (Files): Likewise.
	* modules/mbscasestr (Files): Likewise.
	* modules/mbsstr (Files): Likewise.
	* modules/strcasestr (Files): Likewise.
	Suggested by Paul Eggert.

2007-12-30  Bruno Haible  <bruno@clisp.org>

	* lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
	defined.

2007-12-30  Bruno Haible  <bruno@clisp.org>

	* lib/xmalloca.h: Include xalloc.h.
	(xnmalloca): New macro.

2007-12-30  Bruno Haible  <bruno@clisp.org>

	* lib/malloca.h (nmalloca): New macro.
	* lib/c-strcasestr.c (knuth_morris_pratt): Use it.
	* lib/c-strstr.c (knuth_morris_pratt): Likewise.
	* lib/mbscasestr.c (knuth_morris_pratt_unibyte,
	knuth_morris_pratt_multibyte): Likewise.
	* lib/mbsstr.c (knuth_morris_pratt_unibyte,
	knuth_morris_pratt_multibyte): Likewise.
	* lib/memmem.c (knuth_morris_pratt): Likewise.
	* lib/strcasestr.c (knuth_morris_pratt): Likewise.

2007-12-25  Bruno Haible  <bruno@clisp.org>

	Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
	* lib/glob.c: Don't include openat.h.
	(link_exists2_p): Add back the code that deals with the
	!GLOB_ALTDIRFUNC case.
	(link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
	let it do the filename concatenation.
	* m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
	* modules/glob (Depends-on): Remove openat.

2007-12-31  Bruno Haible  <bruno@clisp.org>

	* modules/dirfd (License): Change to LGPLv2+.
	Approved by Jim Meyering.

2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
	when multiplying M by sizeof (size_t).

2007-12-10  Martin Lambers  <marlam@marlam.de>

	Override getpagesize on mingw.
	* lib/getpagesize.c: New file.
	* m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
	* modules/getpagesize (Files): Add lib/getpagesize.c.
	* lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
	REPLACE_GETPAGESIZE.
	* modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.

2007-12-25  Bruno Haible  <bruno@clisp.org>

	* modules/localcharset (Notice): New field.
	(configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
	Suggested by Ben Pfaff <blp@cs.stanford.edu>.

2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	Avoid using the syntax symbol() in formatted documentation.
	* MODULES.html.sh (func_module): When replacing symbol() with a
	hyperlink, remove the parentheses. Show an error if some remain.
	Recognize and render the '...' syntax.
	* doc/alloca-opt.texi: Remove parentheses from symbol reference.
	Rework. Add paragraph about GCC's inlining.
	* doc/alloca.texi: Likewise.
	* doc/error.texi: Remove parentheses from symbol reference.
	* doc/gnulib-intro.texi: Likewise.
	* doc/gnulib.texi (alloca, alloca-opt): New nodes.
	* modules/fnmatch (Description): Reword to say "the ... function".
	* modules/full-read (Description): Likewise.
	* modules/full-write (Description): Likewise.
	* modules/safe-read (Description): Likewise.
	* modules/safe-write (Description): Likewise.
	* modules/strchrnul (Description): Likewise.
	* modules/trim (Description): Likewise.
	* modules/error (Description): Remove parentheses from symbol
	references.
	* modules/verror (Description): Likewise.
	Reported by Karl Berry.

2007-12-25  Bruno Haible  <bruno@clisp.org>

	Fixup after 2007-10-16 commit.
	* lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.

2007-12-24  Bruno Haible  <bruno@clisp.org>

	Make --enable-relocatable work with DESTDIR.
	* build-aux/install-reloc: Accept another argument 'destdir'. Use it
	to compute installdir from destprog.
	* m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
	also set the RELOC_DESTDIR variable.
	Reported by Левашев Иван <octagram@bluebottle.com>.

2007-12-24  Bruno Haible  <bruno@clisp.org>

	Fix link error due to xalloc_die().
	* lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
	of xreadlink.
	* lib/relocwrapper.c: Update comments.
	* build-aux/install-reloc: Remove xreadlink.c from file list.
	* modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
	xreadlink.c.
	Reported by Левашев Иван <octagram@bluebottle.com>.

2007-12-24  Bruno Haible  <bruno@clisp.org>

	Split setenv module into setenv and unsetenv. Get rid of setenv.h.
	* lib/setenv.h: Remove file.
	* lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
	lib/setenv.h.
	* modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
	(Depends-on): Add stdlib.
	(configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
	gl_FUNC_UNSETENV.
	(Include): Replace setenv.h with <stdlib.h>.
	* modules/unsetenv: New file.
	* lib/setenv.c: Include <stdlib.h> first, after alloca.h.
	* lib/unsetenv.c: Include <stdlib.h> first.
	* m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
	gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
	(gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
	HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
	* modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
	HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
	HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
	* doc/functions/unsetenv.texi: Update.
	* modules/xsetenv (Depends-on): Add unsetenv.
	* modules/getdate (Depends-on): Likewise.
	* lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
	* lib/xsetenv.c: Don't include setenv.h.
	* lib/getdate.y: Likewise.
	* lib/relocwrapper.c: Likewise.
	* modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
	(Depends-on): Add stdlib.
	* NEWS: Mention the changes.
	Reported by Левашев Иван <octagram@bluebottle.com>.

2007-12-23  Bruno Haible  <bruno@clisp.org>

	* lib/memmem.c (memmem): Use lowercase variable names. Tab
	indentation.

2007-12-23  Bruno Haible  <bruno@clisp.org>

	* lib/c-strcasestr.c: Add more comments.
	* lib/c-strstr.c: Likewise.
	* lib/mbscasestr.c: Likewise.
	* lib/mbsstr.c: Likewise.
	* lib/strcasestr.c: Likewise.
	* lib/memmem.c: Likewise.

2007-12-23  Bruno Haible  <bruno@clisp.org>

	* tests/test-memmem.c: Include <string.h> first.

2007-12-22  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Change $auxdir while generating
	the contents of $testsbase.
	Reported by Ralf Wildenhues.

2007-12-22  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
	two variables local_ldadd_before, local_ldadd_last.

2007-12-20  Eric Blake  <ebb9@byu.net>

	Work around circular library issue when cross-compiling.
	* lib/progname.c (set_program_name): Use strncmp, not memcmp, so
	that progname.o does not need to pull in rpl_memcmp.

2007-12-19  Eric Blake  <ebb9@byu.net>

	Fix memmem to avoid O(n^2) worst-case complexity.
	* lib/memmem.c (knuth_morris_pratt): New function.
	(memmem): Use it if first few naive iterations fail.
	* m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
	* modules/memcmp (License): Set to LGPLv2+, not LGPL.
	* modules/memchr (License): Likewise.
	* modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
	malloca.
	* tests/test-memmem.c: Rewrite, borrowing ideas from
	test-mbsstr1.c; the old version wouldn't even compile!
	* modules/memmem-tests: New file.
	* lib/string.in.h (rpl_memmem): Add declaration.
	* modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
	REPLACE_MEMMEM.

2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>

	Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
	* lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
	before any system include files, and undef after them all.  This
	should fix a problem on VMS reported by John E. Malmberg in
	<http://lists.gnu.org/r/bug-gnulib/2007-12/msg00118.html>.

2007-12-17  Eric Blake  <ebb9@byu.net>

	Revert addition of verify, for BSD/OS.
	* lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
	can't handle large files, for the sake of obsolete platforms.
	* modules/fseeko (Depends-on): Remove verify.
	* doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
	* doc/functions/ftello.texi (ftello): Likewise.
	* doc/functions/fgetpos.texi (fgetpos): Likewise.
	Reported by Larry Jones.

2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>

	getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
	* lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.

2007-12-17  Jim Meyering  <meyering@redhat.com>

	Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
	which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
	* lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
	* modules/getcwd (Depends-on): Add openat.
	Reported by Petr Salinger.

2007-12-17  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
	avoid a segmentation fault of the configure test on x86_64 systems.

2007-12-15  Jim Meyering  <meyering@redhat.com>

	* build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.

2007-12-13  Eric Blake  <ebb9@byu.net>

	Another fseek test.
	* tests/test-fseek.c (main): Also test ungetc handling.
	* tests/test-fseeko.c (main): Likewise.
	* modules/fseeko (Depends-on): Add verify.
	* lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
	large.
	Reported by Larry Jones.

	Fix fseeko on mingw.
	* lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
	seek.

	Beef up fseek tests.
	* tests/test-fseek.c (main): Also test eof handling.
	* tests/test-fseeko.c (main): Likewise.
	Reported by Larry Jones.

2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)

	Fix fseeko on BSD-based platforms.
	* lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
	successful seek.

2007-12-12  Eric Blake  <ebb9@byu.net>

	Allow circular dependency of separate libtests.a
	* gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
	when use_libtests.

2007-12-11  Eric Blake  <ebb9@byu.net>

	Fix bug with -0.0L in previous patch.
	* lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
	* tests/test-isnan.c (main): Also test on zeroes.
	* tests/test-isnanf.c (main): Likewise.
	* tests/test-isnanl.h (main): Likewise.

	Detect pseudo-denormals on x86 even when cross-compiling.
	* lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
	&& USE_LONG_DOUBLE && x86]: Add one more check to filter out
	invalid bit patterns that happen to satisfy ==.

	Avoid link failures with separate libtests.a.
	* gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
	last, to satisfy circular dependencies.

2007-12-11  Eric Blake  <ebb9@byu.net>
	and Bruno Haible  <bruno@clisp.org>

	Fix OpenBSD 4.0 <float.h> handling of long double.
	* m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
	* lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
	* doc/headers/float.texi (float.h): Document OpenBSD bug.

2007-12-11  Jim Meyering  <meyering@redhat.com>

	* users.txt: Add libvirt.

	Support versions of autoconf prior to 2.59c.
	* gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
	if it is not already defined.

2007-12-09  Bruno Haible  <bruno@clisp.org>

	Let 'gnulib-tool --import' collect sources needed for the tests in
	tests/ rather than in lib/.
	* gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
	argument. If true, add rules to generate libtests.a, and put libtests.a
	into $(LDADD). Consider source files in subdirectories and set
	uses_subdirs.
	(func_emit_initmacro_start, func_emit_initmacro_end,
	func_emit_initmacro_done): Pass all arguments explicitly.
	(func_import): Determine two module lists main_modules,
	testsrelated_modules. Determine use_libtests. Determine two variables
	sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
	instead of just sed_transform_lib_file. Determine two variables
	main_files and testsrelated_files. Compute 'files' as the union of
	both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
	func_add_or_update. In the generated gnulib-comp.m4, collect the
	object files for tests/ in different variables than those for lib/.
	Substitute LIBTESTS_LIBDEPS.
	(func_create_testdir): Combine the uses_subdirs results from
	func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.

2007-12-09  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_tests_Makefile_am): Expand references to
	the build-aux directory.

2007-12-09  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
	introduced on 2006-09-09.

2007-12-07  Jim Meyering  <meyering@redhat.com>

	Let these macros work also with autoconf-2.59.
	* m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
	is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.

2007-12-06  Jim Meyering  <meyering@redhat.com>

	Avoid a configure-time syntax error in gl_FUNC_ACL.
	* m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
	function in each branch, before testing the cache variable.

2007-12-04  Eric Blake  <ebb9@byu.net>

	Make scripts executable.
	* build-aux/config.guess: Add execute permissions.
	* build-aux/config.sub: Likewise.
	* build-aux/gendocs.sh: Likewise.

	Fix frexp on mingw.
	* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
	cross-compiling.
	* doc/functions/frexp.texi (frexp): Document the bug.

	Make cygwin fseeko check more reliable.
	* m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
	version numbers, rather than unrelated feature check.
	* doc/functions/fseeko.texi (fseeko): Tweak failure report.
	* doc/functions/ftello.texi (ftello): Likewise.
	Reported by Bruno Haible.

	* m4/strerror.m4: Bump version number.

2007-12-03  Bruno Haible  <bruno@clisp.org>

	* doc/functions/mprotect.texi: Mention the mingw problem.

2007-12-03  Eric Blake  <ebb9@byu.net>

	* m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
	REPLACE_STRERROR is initialized before this macro.

2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>

	Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
	* modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
	* m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
	put -lsec in even for programs other than 'ls'.  This fixes a problem
	for gettext reported by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2007-12/msg00007.html>.
	* lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
	Add support for Solaris 10.  This isn't efficient, but should get the
	job done for now.

2007-12-03  James Youngman  <jay@gnu.org>

	* doc/regexprops-generic.texi: change "an close-group" to "a
	close-group" and "illegal" to "not allowed".

2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
	pr_byname.h. Needed for the rare case when the maintainer has done
	"make maintainer-clean" in the source directory and then attempts a
	build outside the source directory.
	* lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
	scripts_byname.h.

2007-12-02  Martin Lambers  <marlam@marlam.de>
	    Bruno Haible  <bruno@clisp.org>

	* lib/getpagesize.h: Remove file.
	* lib/unistd.in.h: Include declaration of getpagesize here.
	* m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
	Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
	HAVE_SYS_PARAM_H.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
	HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
	* modules/getpagesize (Files): Remove lib/getpagesize.h.
	(Depends-on): Add unistd.
	(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
	(Include): Use <unistd.h> instead of getpagesize.h.
	* modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
	HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
	* m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
	gl_GETPAGESIZE invocation, already handled by module dependency.
	* lib/pagealign_alloc.c: Don't include getpagesize.h.

2007-12-02  Bruno Haible  <bruno@clisp.org>

	* modules/strings-tests: New file.
	* tests/test-strings.c: New file.

	Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
	* lib/strings.in.h: New file.
	* lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
	* m4/strings_h.m4: New file.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
	of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
	* modules/strings: New file.
	* modules/string (Makefile.am): Update.
	* modules/strcase (Include): Mention <strings.h>, not <string.h>.
	Reported by Karl Berry.

2007-12-01  Eric Blake  <ebb9@byu.net>

	* m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
	accommodate fix in cygwin 1.5.25.

2007-12-01  Jim Meyering  <meyering@redhat.com>

	Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
	* lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
	that would inhibit utf8-optimization of a regexp containing line-
	or buffer-anchors, e.g., `^', `$'.

2007-11-30  Bruno Haible  <bruno@clisp.org>

	* lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
	PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
	glthread_recursive_lock_init.
	* lib/lock.c (glthread_recursive_lock_init)
	[PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
	Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.

2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>

	New function qset_acl, like set_acl but with syscall semantics.
	* lib/acl.h (qset_acl): New decl.
	* lib/acl.c (qset_acl): New function.
	(set_acl): Use new function.  Use more-consistent diagnostics.

2007-11-28  Jim Meyering  <meyering@redhat.com>

	* modules/physmem (License): Change from GPL to LGPLv2+.

2007-11-26  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (decode_long_double): Don't abort if the
	'long double' type has excess precision.
	Reported by Jim Meyering in
	<http://lists.gnu.org/r/bug-gnulib/2007-11/msg00120.html>.

2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
	Sync from <http://gnu.org/licenses>.
	* modules/agpl-3.0, doc/agpl-3.0.texi: New module,
	with license text from same location.
	* doc/maintain.texi, doc/standards.texi:  Sync from
	<http://savannah.gnu.org/projects/gnustandards>.

2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
	and Jim Meyering  <meyering@redhat.com>

	Adjust getdate' grammar to accept a slightly more regular language.
	E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
	Before, the former was rejected.
	* lib/getdate.y (digits_to_date_time): New function, factored
	out of ...
	(number): ...here.  Just call digits_to_date_time.
	(hybrid): New non-terminal to handle an <unsigned number,
	signed relative offset> sequence consistently.

2007-11-18  Jim Meyering  <meyering@redhat.com>

	Pull my changes from coreutils:
	bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
	* build-aux/bootstrap (gnulib_tool_options): Add a space before the
	use of $gnulib_tool_option_extras, so that it's separated from the
	preceding argument.

	Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
	* build-aux/bootstrap (cp_mark_as_generated): Create any required
	parent destination directories before copying a file into place.

2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	bootstrap: work also with 4-argument variant of AC_INIT
	* build-aux/bootstrap (gnulib_extra_files): Adjust sed command.

2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>

	Port test-getaddrinfo to Solaris.
	Problem reported by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2007-03/msg00171.html>.
	* tests/test-getaddrinfo.c (simple): Add a comment asking for an
	explanation of setting 'hints'.
	Don't reject an implementation merely because it returns EAI_SERVICE.
	(EAI_SERVICE): Define to 0 if not defined.

2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>

	The license of gnu-make and posix-shell is now "GPLed build tool".
	* modules/gnu-make (License): Likewise.
	* modules/posix-shell (License): Likewise.

	New module posix-shell, for determining a POSIX shell
	or perhaps something that is close enough to a POSIX shell.
	* m4/posix-shell.m4: New file.
	* modules/posix-shell: New file.

	* MODULES.html.sh: Mention new module.

	New module gnu-make, for determining whether we're using GNU Make.
	* m4/gnu-make.m4: New file.
	* modules/gnu-make: New file.
	* MODULES.html.sh: Mention new module.

2007-11-14  Jim Meyering  <meyering@redhat.com>

	Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
	* tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
	use this macro to create a function _definition_.
	Remove useless "#undef ARGMATCH_DIE".

2007-11-14  Bruno Haible  <bruno@clisp.org>

	* lib/config.charset: Update for OpenBSD 4.1.
	Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.

2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>

	Document 64-bit #if problems in stdint.texi.
	* doc/headers/stdint.texi (stdint.h): Mention problems with
	64-bit-#if, and how to work around them.

	Don't insist on 'long long int' support in the preprocessor.  It
	breaks too many things.  For example, PRIdMAX still uses a 'long
	long int' format with the latest Sun compiler, even though
	HAVE_LONG_LONG_INT isn't defined due to that compiler's
	preprocessor problem.  This causes the latest coreutils to dump
	core on Solaris 10 sparc with the Sun C compiler.
	Instead, fix the 2007-10-16 problem in a different way, by evaluating
	the troublesome expressions at configure-time, not at #if-time.
	* m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
	preprocessor.
	* m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
	compile-time C checks, done at 'configure'-time.
	(gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
	* modules/inttypes (Makefile): Substitute the new symbols that
	gl_INTTYPES_H now generates.
	* lib/inttypes.in.h: Don't use constants wider than 'long' in #if.

2007-11-12  Bruno Haible  <bruno@clisp.org>

	Tests for Unicode character classification functions.

	* modules/unictype/bidicategory-byname-tests: New file.
	* modules/unictype/bidicategory-name-tests: New file.
	* modules/unictype/bidicategory-of-tests: New file.
	* modules/unictype/bidicategory-test-tests: New file.
	* modules/unictype/block-list-tests: New file.
	* modules/unictype/block-of-tests: New file.
	* modules/unictype/block-test-tests: New file.
	* modules/unictype/category-C-tests: New file.
	* modules/unictype/category-Cc-tests: New file.
	* modules/unictype/category-Cf-tests: New file.
	* modules/unictype/category-Cn-tests: New file.
	* modules/unictype/category-Co-tests: New file.
	* modules/unictype/category-Cs-tests: New file.
	* modules/unictype/category-L-tests: New file.
	* modules/unictype/category-Ll-tests: New file.
	* modules/unictype/category-Lm-tests: New file.
	* modules/unictype/category-Lo-tests: New file.
	* modules/unictype/category-Lt-tests: New file.
	* modules/unictype/category-Lu-tests: New file.
	* modules/unictype/category-M-tests: New file.
	* modules/unictype/category-Mc-tests: New file.
	* modules/unictype/category-Me-tests: New file.
	* modules/unictype/category-Mn-tests: New file.
	* modules/unictype/category-N-tests: New file.
	* modules/unictype/category-Nd-tests: New file.
	* modules/unictype/category-Nl-tests: New file.
	* modules/unictype/category-No-tests: New file.
	* modules/unictype/category-P-tests: New file.
	* modules/unictype/category-Pc-tests: New file.
	* modules/unictype/category-Pd-tests: New file.
	* modules/unictype/category-Pe-tests: New file.
	* modules/unictype/category-Pf-tests: New file.
	* modules/unictype/category-Pi-tests: New file.
	* modules/unictype/category-Po-tests: New file.
	* modules/unictype/category-Ps-tests: New file.
	* modules/unictype/category-S-tests: New file.
	* modules/unictype/category-Sc-tests: New file.
	* modules/unictype/category-Sk-tests: New file.
	* modules/unictype/category-Sm-tests: New file.
	* modules/unictype/category-So-tests: New file.
	* modules/unictype/category-Z-tests: New file.
	* modules/unictype/category-Zl-tests: New file.
	* modules/unictype/category-Zp-tests: New file.
	* modules/unictype/category-Zs-tests: New file.
	* modules/unictype/category-and-not-tests: New file.
	* modules/unictype/category-and-tests: New file.
	* modules/unictype/category-byname-tests: New file.
	* modules/unictype/category-name-tests: New file.
	* modules/unictype/category-none-tests: New file.
	* modules/unictype/category-of-tests: New file.
	* modules/unictype/category-or-tests: New file.
	* modules/unictype/category-test-withtable-tests: New file.
	* modules/unictype/combining-class-tests: New file.
	* modules/unictype/ctype-alnum-tests: New file.
	* modules/unictype/ctype-alpha-tests: New file.
	* modules/unictype/ctype-blank-tests: New file.
	* modules/unictype/ctype-cntrl-tests: New file.
	* modules/unictype/ctype-digit-tests: New file.
	* modules/unictype/ctype-graph-tests: New file.
	* modules/unictype/ctype-lower-tests: New file.
	* modules/unictype/ctype-print-tests: New file.
	* modules/unictype/ctype-punct-tests: New file.
	* modules/unictype/ctype-space-tests: New file.
	* modules/unictype/ctype-upper-tests: New file.
	* modules/unictype/ctype-xdigit-tests: New file.
	* modules/unictype/decimal-digit-tests: New file.
	* modules/unictype/digit-tests: New file.
	* modules/unictype/mirror-tests: New file.
	* modules/unictype/numeric-tests: New file.
	* modules/unictype/property-alphabetic-tests: New file.
	* modules/unictype/property-ascii-hex-digit-tests: New file.
	* modules/unictype/property-bidi-arabic-digit-tests: New file.
	* modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
	* modules/unictype/property-bidi-block-separator-tests: New file.
	* modules/unictype/property-bidi-boundary-neutral-tests: New file.
	* modules/unictype/property-bidi-common-separator-tests: New file.
	* modules/unictype/property-bidi-control-tests: New file.
	* modules/unictype/property-bidi-embedding-or-override-tests: New file.
	* modules/unictype/property-bidi-eur-num-separator-tests: New file.
	* modules/unictype/property-bidi-eur-num-terminator-tests: New file.
	* modules/unictype/property-bidi-european-digit-tests: New file.
	* modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
	* modules/unictype/property-bidi-left-to-right-tests: New file.
	* modules/unictype/property-bidi-non-spacing-mark-tests: New file.
	* modules/unictype/property-bidi-other-neutral-tests: New file.
	* modules/unictype/property-bidi-pdf-tests: New file.
	* modules/unictype/property-bidi-segment-separator-tests: New file.
	* modules/unictype/property-bidi-whitespace-tests: New file.
	* modules/unictype/property-byname-tests: New file.
	* modules/unictype/property-combining-tests: New file.
	* modules/unictype/property-composite-tests: New file.
	* modules/unictype/property-currency-symbol-tests: New file.
	* modules/unictype/property-dash-tests: New file.
	* modules/unictype/property-decimal-digit-tests: New file.
	* modules/unictype/property-default-ignorable-code-point-tests: New file.
	* modules/unictype/property-deprecated-tests: New file.
	* modules/unictype/property-diacritic-tests: New file.
	* modules/unictype/property-extender-tests: New file.
	* modules/unictype/property-format-control-tests: New file.
	* modules/unictype/property-grapheme-base-tests: New file.
	* modules/unictype/property-grapheme-extend-tests: New file.
	* modules/unictype/property-grapheme-link-tests: New file.
	* modules/unictype/property-hex-digit-tests: New file.
	* modules/unictype/property-hyphen-tests: New file.
	* modules/unictype/property-id-continue-tests: New file.
	* modules/unictype/property-id-start-tests: New file.
	* modules/unictype/property-ideographic-tests: New file.
	* modules/unictype/property-ids-binary-operator-tests: New file.
	* modules/unictype/property-ids-trinary-operator-tests: New file.
	* modules/unictype/property-ignorable-control-tests: New file.
	* modules/unictype/property-iso-control-tests: New file.
	* modules/unictype/property-join-control-tests: New file.
	* modules/unictype/property-left-of-pair-tests: New file.
	* modules/unictype/property-line-separator-tests: New file.
	* modules/unictype/property-logical-order-exception-tests: New file.
	* modules/unictype/property-lowercase-tests: New file.
	* modules/unictype/property-math-tests: New file.
	* modules/unictype/property-non-break-tests: New file.
	* modules/unictype/property-not-a-character-tests: New file.
	* modules/unictype/property-numeric-tests: New file.
	* modules/unictype/property-other-alphabetic-tests: New file.
	* modules/unictype/property-other-default-ignorable-code-point-tests: New file.
	* modules/unictype/property-other-grapheme-extend-tests: New file.
	* modules/unictype/property-other-id-continue-tests: New file.
	* modules/unictype/property-other-id-start-tests: New file.
	* modules/unictype/property-other-lowercase-tests: New file.
	* modules/unictype/property-other-math-tests: New file.
	* modules/unictype/property-other-uppercase-tests: New file.
	* modules/unictype/property-paired-punctuation-tests: New file.
	* modules/unictype/property-paragraph-separator-tests: New file.
	* modules/unictype/property-pattern-syntax-tests: New file.
	* modules/unictype/property-pattern-white-space-tests: New file.
	* modules/unictype/property-private-use-tests: New file.
	* modules/unictype/property-punctuation-tests: New file.
	* modules/unictype/property-quotation-mark-tests: New file.
	* modules/unictype/property-radical-tests: New file.
	* modules/unictype/property-sentence-terminal-tests: New file.
	* modules/unictype/property-soft-dotted-tests: New file.
	* modules/unictype/property-space-tests: New file.
	* modules/unictype/property-terminal-punctuation-tests: New file.
	* modules/unictype/property-test-tests: New file.
	* modules/unictype/property-titlecase-tests: New file.
	* modules/unictype/property-unassigned-code-value-tests: New file.
	* modules/unictype/property-unified-ideograph-tests: New file.
	* modules/unictype/property-uppercase-tests: New file.
	* modules/unictype/property-variation-selector-tests: New file.
	* modules/unictype/property-white-space-tests: New file.
	* modules/unictype/property-xid-continue-tests: New file.
	* modules/unictype/property-xid-start-tests: New file.
	* modules/unictype/property-zero-width-tests: New file.
	* modules/unictype/scripts-tests: New file.
	* modules/unictype/syntax-c-ident-tests: New file.
	* modules/unictype/syntax-c-whitespace-tests: New file.
	* modules/unictype/syntax-java-ident-tests: New file.
	* modules/unictype/syntax-java-whitespace-tests: New file.
	* tests/unictype/test-bidi_byname.c: New file.
	* tests/unictype/test-bidi_name.c: New file.
	* tests/unictype/test-bidi_of.c: New file.
	* tests/unictype/test-bidi_test.c: New file.
	* tests/unictype/test-block_list.c: New file.
	* tests/unictype/test-block_of.c: New file.
	* tests/unictype/test-block_test.c: New file.
	* tests/unictype/test-categ_and.c: New file.
	* tests/unictype/test-categ_and_not.c: New file.
	* tests/unictype/test-categ_byname.c: New file.
	* tests/unictype/test-categ_name.c: New file.
	* tests/unictype/test-categ_none.c: New file.
	* tests/unictype/test-categ_of.c: New file.
	* tests/unictype/test-categ_or.c: New file.
	* tests/unictype/test-categ_test_withtable.c: New file.
	* tests/unictype/test-combining.c: New file.
	* tests/unictype/test-decdigit.c: New file.
	* tests/unictype/test-digit.c: New file.
	* tests/unictype/test-mirror.c: New file.
	* tests/unictype/test-numeric.c: New file.
	* tests/unictype/test-pr_byname.c: New file.
	* tests/unictype/test-pr_test.c: New file.
	* tests/unictype/test-predicate-part1.h: New file.
	* tests/unictype/test-predicate-part2.h: New file.
	* tests/unictype/test-scripts.c: New file.
	* tests/unictype/test-sy_c_ident.c: New file.
	* tests/unictype/test-sy_java_ident.c: New file.

	* tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
	for Unicode 5.0.0.
	* tests/unictype/test-categ_Cc.c: Likewise.
	* tests/unictype/test-categ_Cf.c: Likewise.
	* tests/unictype/test-categ_Cn.c: Likewise.
	* tests/unictype/test-categ_Co.c: Likewise.
	* tests/unictype/test-categ_Cs.c: Likewise.
	* tests/unictype/test-categ_L.c: Likewise.
	* tests/unictype/test-categ_Ll.c: Likewise.
	* tests/unictype/test-categ_Lm.c: Likewise.
	* tests/unictype/test-categ_Lo.c: Likewise.
	* tests/unictype/test-categ_Lt.c: Likewise.
	* tests/unictype/test-categ_Lu.c: Likewise.
	* tests/unictype/test-categ_M.c: Likewise.
	* tests/unictype/test-categ_Mc.c: Likewise.
	* tests/unictype/test-categ_Me.c: Likewise.
	* tests/unictype/test-categ_Mn.c: Likewise.
	* tests/unictype/test-categ_N.c: Likewise.
	* tests/unictype/test-categ_Nd.c: Likewise.
	* tests/unictype/test-categ_Nl.c: Likewise.
	* tests/unictype/test-categ_No.c: Likewise.
	* tests/unictype/test-categ_P.c: Likewise.
	* tests/unictype/test-categ_Pc.c: Likewise.
	* tests/unictype/test-categ_Pd.c: Likewise.
	* tests/unictype/test-categ_Pe.c: Likewise.
	* tests/unictype/test-categ_Pf.c: Likewise.
	* tests/unictype/test-categ_Pi.c: Likewise.
	* tests/unictype/test-categ_Po.c: Likewise.
	* tests/unictype/test-categ_Ps.c: Likewise.
	* tests/unictype/test-categ_S.c: Likewise.
	* tests/unictype/test-categ_Sc.c: Likewise.
	* tests/unictype/test-categ_Sk.c: Likewise.
	* tests/unictype/test-categ_Sm.c: Likewise.
	* tests/unictype/test-categ_So.c: Likewise.
	* tests/unictype/test-categ_Z.c: Likewise.
	* tests/unictype/test-categ_Zl.c: Likewise.
	* tests/unictype/test-categ_Zp.c: Likewise.
	* tests/unictype/test-categ_Zs.c: Likewise.
	* tests/unictype/test-ctype_alnum.c: Likewise.
	* tests/unictype/test-ctype_alpha.c: Likewise.
	* tests/unictype/test-ctype_blank.c: Likewise.
	* tests/unictype/test-ctype_cntrl.c: Likewise.
	* tests/unictype/test-ctype_digit.c: Likewise.
	* tests/unictype/test-ctype_graph.c: Likewise.
	* tests/unictype/test-ctype_lower.c: Likewise.
	* tests/unictype/test-ctype_print.c: Likewise.
	* tests/unictype/test-ctype_punct.c: Likewise.
	* tests/unictype/test-ctype_space.c: Likewise.
	* tests/unictype/test-ctype_upper.c: Likewise.
	* tests/unictype/test-ctype_xdigit.c: Likewise.
	* tests/unictype/test-decdigit.h: Likewise.
	* tests/unictype/test-digit.h: Likewise.
	* tests/unictype/test-numeric.h: Likewise.
	* tests/unictype/test-pr_alphabetic.c: Likewise.
	* tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
	* tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
	* tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
	* tests/unictype/test-pr_bidi_block_separator.c: Likewise.
	* tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
	* tests/unictype/test-pr_bidi_common_separator.c: Likewise.
	* tests/unictype/test-pr_bidi_control.c: Likewise.
	* tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
	* tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
	* tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
	* tests/unictype/test-pr_bidi_european_digit.c: Likewise.
	* tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
	* tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
	* tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
	* tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
	* tests/unictype/test-pr_bidi_pdf.c: Likewise.
	* tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
	* tests/unictype/test-pr_bidi_whitespace.c: Likewise.
	* tests/unictype/test-pr_combining.c: Likewise.
	* tests/unictype/test-pr_composite.c: Likewise.
	* tests/unictype/test-pr_currency_symbol.c: Likewise.
	* tests/unictype/test-pr_dash.c: Likewise.
	* tests/unictype/test-pr_decimal_digit.c: Likewise.
	* tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
	* tests/unictype/test-pr_deprecated.c: Likewise.
	* tests/unictype/test-pr_diacritic.c: Likewise.
	* tests/unictype/test-pr_extender.c: Likewise.
	* tests/unictype/test-pr_format_control.c: Likewise.
	* tests/unictype/test-pr_grapheme_base.c: Likewise.
	* tests/unictype/test-pr_grapheme_extend.c: Likewise.
	* tests/unictype/test-pr_grapheme_link.c: Likewise.
	* tests/unictype/test-pr_hex_digit.c: Likewise.
	* tests/unictype/test-pr_hyphen.c: Likewise.
	* tests/unictype/test-pr_id_continue.c: Likewise.
	* tests/unictype/test-pr_id_start.c: Likewise.
	* tests/unictype/test-pr_ideographic.c: Likewise.
	* tests/unictype/test-pr_ids_binary_operator.c: Likewise.
	* tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
	* tests/unictype/test-pr_ignorable_control.c: Likewise.
	* tests/unictype/test-pr_iso_control.c: Likewise.
	* tests/unictype/test-pr_join_control.c: Likewise.
	* tests/unictype/test-pr_left_of_pair.c: Likewise.
	* tests/unictype/test-pr_line_separator.c: Likewise.
	* tests/unictype/test-pr_logical_order_exception.c: Likewise.
	* tests/unictype/test-pr_lowercase.c: Likewise.
	* tests/unictype/test-pr_math.c: Likewise.
	* tests/unictype/test-pr_non_break.c: Likewise.
	* tests/unictype/test-pr_not_a_character.c: Likewise.
	* tests/unictype/test-pr_numeric.c: Likewise.
	* tests/unictype/test-pr_other_alphabetic.c: Likewise.
	* tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
	* tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
	* tests/unictype/test-pr_other_id_continue.c: Likewise.
	* tests/unictype/test-pr_other_id_start.c: Likewise.
	* tests/unictype/test-pr_other_lowercase.c: Likewise.
	* tests/unictype/test-pr_other_math.c: Likewise.
	* tests/unictype/test-pr_other_uppercase.c: Likewise.
	* tests/unictype/test-pr_paired_punctuation.c: Likewise.
	* tests/unictype/test-pr_paragraph_separator.c: Likewise.
	* tests/unictype/test-pr_pattern_syntax.c: Likewise.
	* tests/unictype/test-pr_pattern_white_space.c: Likewise.
	* tests/unictype/test-pr_private_use.c: Likewise.
	* tests/unictype/test-pr_punctuation.c: Likewise.
	* tests/unictype/test-pr_quotation_mark.c: Likewise.
	* tests/unictype/test-pr_radical.c: Likewise.
	* tests/unictype/test-pr_sentence_terminal.c: Likewise.
	* tests/unictype/test-pr_soft_dotted.c: Likewise.
	* tests/unictype/test-pr_space.c: Likewise.
	* tests/unictype/test-pr_terminal_punctuation.c: Likewise.
	* tests/unictype/test-pr_titlecase.c: Likewise.
	* tests/unictype/test-pr_unassigned_code_value.c: Likewise.
	* tests/unictype/test-pr_unified_ideograph.c: Likewise.
	* tests/unictype/test-pr_uppercase.c: Likewise.
	* tests/unictype/test-pr_variation_selector.c: Likewise.
	* tests/unictype/test-pr_white_space.c: Likewise.
	* tests/unictype/test-pr_xid_continue.c: Likewise.
	* tests/unictype/test-pr_xid_start.c: Likewise.
	* tests/unictype/test-pr_zero_width.c: Likewise.
	* tests/unictype/test-sy_c_whitespace.c: Likewise.
	* tests/unictype/test-sy_java_whitespace.c: Likewise.

2007-11-12  Bruno Haible  <bruno@clisp.org>

	Unicode character classification functions.
	* lib/unictype.h: New file.
	* modules/unictype/base: New file.
	* modules/unictype/category-L: New file.
	* modules/unictype/category-Lu: New file.
	* modules/unictype/category-Ll: New file.
	* modules/unictype/category-Lt: New file.
	* modules/unictype/category-Lm: New file.
	* modules/unictype/category-Lo: New file.
	* modules/unictype/category-M: New file.
	* modules/unictype/category-Mn: New file.
	* modules/unictype/category-Mc: New file.
	* modules/unictype/category-Me: New file.
	* modules/unictype/category-N: New file.
	* modules/unictype/category-Nd: New file.
	* modules/unictype/category-Nl: New file.
	* modules/unictype/category-No: New file.
	* modules/unictype/category-P: New file.
	* modules/unictype/category-Pc: New file.
	* modules/unictype/category-Pd: New file.
	* modules/unictype/category-Ps: New file.
	* modules/unictype/category-Pe: New file.
	* modules/unictype/category-Pi: New file.
	* modules/unictype/category-Pf: New file.
	* modules/unictype/category-Po: New file.
	* modules/unictype/category-S: New file.
	* modules/unictype/category-Sm: New file.
	* modules/unictype/category-Sc: New file.
	* modules/unictype/category-Sk: New file.
	* modules/unictype/category-So: New file.
	* modules/unictype/category-Z: New file.
	* modules/unictype/category-Zs: New file.
	* modules/unictype/category-Zl: New file.
	* modules/unictype/category-Zp: New file.
	* modules/unictype/category-C: New file.
	* modules/unictype/category-Cc: New file.
	* modules/unictype/category-Cf: New file.
	* modules/unictype/category-Cs: New file.
	* modules/unictype/category-Co: New file.
	* modules/unictype/category-Cn: New file.
	* modules/unictype/category-or: New file.
	* modules/unictype/category-of: New file.
	* modules/unictype/category-test: New file.
	* modules/unictype/category-test-withtable: New file.
	* modules/unictype/category-byname: New file.
	* modules/unictype/category-none: New file.
	* modules/unictype/category-and: New file.
	* modules/unictype/category-and-not: New file.
	* modules/unictype/category-name: New file.
	* modules/unictype/combining-class: New file.
	* modules/unictype/category-all: New file.
	* modules/unictype/bidicategory-all: New file.
	* modules/unictype/bidicategory-byname: New file.
	* modules/unictype/bidicategory-name: New file.
	* modules/unictype/bidicategory-of: New file.
	* modules/unictype/bidicategory-test: New file.
	* modules/unictype/decimal-digit: New file.
	* modules/unictype/digit: New file.
	* modules/unictype/numeric: New file.
	* modules/unictype/mirror: New file.
	* modules/unictype/property-white-space: New file.
	* modules/unictype/property-alphabetic: New file.
	* modules/unictype/property-other-alphabetic: New file.
	* modules/unictype/property-not-a-character: New file.
	* modules/unictype/property-default-ignorable-code-point: New file.
	* modules/unictype/property-other-default-ignorable-code-point: New
	file.
	* modules/unictype/property-deprecated: New file.
	* modules/unictype/property-logical-order-exception: New file.
	* modules/unictype/property-variation-selector: New file.
	* modules/unictype/property-private-use: New file.
	* modules/unictype/property-unassigned-code-value: New file.
	* modules/unictype/property-uppercase: New file.
	* modules/unictype/property-other-uppercase: New file.
	* modules/unictype/property-lowercase: New file.
	* modules/unictype/property-other-lowercase: New file.
	* modules/unictype/property-titlecase: New file.
	* modules/unictype/property-soft-dotted: New file.
	* modules/unictype/property-id-start: New file.
	* modules/unictype/property-other-id-start: New file.
	* modules/unictype/property-id-continue: New file.
	* modules/unictype/property-other-id-continue: New file.
	* modules/unictype/property-xid-start: New file.
	* modules/unictype/property-xid-continue: New file.
	* modules/unictype/property-pattern-white-space: New file.
	* modules/unictype/property-pattern-syntax: New file.
	* modules/unictype/property-join-control: New file.
	* modules/unictype/property-grapheme-base: New file.
	* modules/unictype/property-grapheme-extend: New file.
	* modules/unictype/property-other-grapheme-extend: New file.
	* modules/unictype/property-grapheme-link: New file.
	* modules/unictype/property-bidi-control: New file.
	* modules/unictype/property-bidi-left-to-right: New file.
	* modules/unictype/property-bidi-hebrew-right-to-left: New file.
	* modules/unictype/property-bidi-arabic-right-to-left: New file.
	* modules/unictype/property-bidi-european-digit: New file.
	* modules/unictype/property-bidi-eur-num-separator: New file.
	* modules/unictype/property-bidi-eur-num-terminator: New file.
	* modules/unictype/property-bidi-arabic-digit: New file.
	* modules/unictype/property-bidi-common-separator: New file.
	* modules/unictype/property-bidi-block-separator: New file.
	* modules/unictype/property-bidi-segment-separator: New file.
	* modules/unictype/property-bidi-whitespace: New file.
	* modules/unictype/property-bidi-non-spacing-mark: New file.
	* modules/unictype/property-bidi-boundary-neutral: New file.
	* modules/unictype/property-bidi-pdf: New file.
	* modules/unictype/property-bidi-embedding-or-override: New file.
	* modules/unictype/property-bidi-other-neutral: New file.
	* modules/unictype/property-hex-digit: New file.
	* modules/unictype/property-ascii-hex-digit: New file.
	* modules/unictype/property-ideographic: New file.
	* modules/unictype/property-unified-ideograph: New file.
	* modules/unictype/property-radical: New file.
	* modules/unictype/property-ids-binary-operator: New file.
	* modules/unictype/property-ids-trinary-operator: New file.
	* modules/unictype/property-zero-width: New file.
	* modules/unictype/property-space: New file.
	* modules/unictype/property-non-break: New file.
	* modules/unictype/property-iso-control: New file.
	* modules/unictype/property-format-control: New file.
	* modules/unictype/property-dash: New file.
	* modules/unictype/property-hyphen: New file.
	* modules/unictype/property-punctuation: New file.
	* modules/unictype/property-line-separator: New file.
	* modules/unictype/property-paragraph-separator: New file.
	* modules/unictype/property-quotation-mark: New file.
	* modules/unictype/property-sentence-terminal: New file.
	* modules/unictype/property-terminal-punctuation: New file.
	* modules/unictype/property-currency-symbol: New file.
	* modules/unictype/property-math: New file.
	* modules/unictype/property-other-math: New file.
	* modules/unictype/property-paired-punctuation: New file.
	* modules/unictype/property-left-of-pair: New file.
	* modules/unictype/property-combining: New file.
	* modules/unictype/property-composite: New file.
	* modules/unictype/property-decimal-digit: New file.
	* modules/unictype/property-numeric: New file.
	* modules/unictype/property-diacritic: New file.
	* modules/unictype/property-extender: New file.
	* modules/unictype/property-ignorable-control: New file.
	* modules/unictype/property-test: New file.
	* modules/unictype/property-byname: New file.
	* modules/unictype/property-all: New file.
	* modules/unictype/scripts: New file.
	* modules/unictype/scripts-all: New file.
	* modules/unictype/block-of: New file.
	* modules/unictype/block-test: New file.
	* modules/unictype/block-list: New file.
	* modules/unictype/block-all: New file.
	* modules/unictype/syntax-c-whitespace: New file.
	* modules/unictype/syntax-java-whitespace: New file.
	* modules/unictype/syntax-c-ident: New file.
	* modules/unictype/syntax-java-ident: New file.
	* modules/unictype/ctype-alnum: New file.
	* modules/unictype/ctype-alpha: New file.
	* modules/unictype/ctype-cntrl: New file.
	* modules/unictype/ctype-digit: New file.
	* modules/unictype/ctype-graph: New file.
	* modules/unictype/ctype-lower: New file.
	* modules/unictype/ctype-print: New file.
	* modules/unictype/ctype-punct: New file.
	* modules/unictype/ctype-space: New file.
	* modules/unictype/ctype-upper: New file.
	* modules/unictype/ctype-xdigit: New file.
	* modules/unictype/ctype-blank: New file.
	* lib/unictype/bidi_byname.c: New file.
	* lib/unictype/bidi_name.c: New file.
	* lib/unictype/bidi_of.c: New file.
	* lib/unictype/bidi_test.c: New file.
	* lib/unictype/bitmap.h: New file.
	* lib/unictype/block_test.c: New file.
	* lib/unictype/blocks.c: New file.
	* lib/unictype/categ_C.c: New file.
	* lib/unictype/categ_Cc.c: New file.
	* lib/unictype/categ_Cf.c: New file.
	* lib/unictype/categ_Cn.c: New file.
	* lib/unictype/categ_Co.c: New file.
	* lib/unictype/categ_Cs.c: New file.
	* lib/unictype/categ_L.c: New file.
	* lib/unictype/categ_Ll.c: New file.
	* lib/unictype/categ_Lm.c: New file.
	* lib/unictype/categ_Lo.c: New file.
	* lib/unictype/categ_Lt.c: New file.
	* lib/unictype/categ_Lu.c: New file.
	* lib/unictype/categ_M.c: New file.
	* lib/unictype/categ_Mc.c: New file.
	* lib/unictype/categ_Me.c: New file.
	* lib/unictype/categ_Mn.c: New file.
	* lib/unictype/categ_N.c: New file.
	* lib/unictype/categ_Nd.c: New file.
	* lib/unictype/categ_Nl.c: New file.
	* lib/unictype/categ_No.c: New file.
	* lib/unictype/categ_P.c: New file.
	* lib/unictype/categ_Pc.c: New file.
	* lib/unictype/categ_Pd.c: New file.
	* lib/unictype/categ_Pe.c: New file.
	* lib/unictype/categ_Pf.c: New file.
	* lib/unictype/categ_Pi.c: New file.
	* lib/unictype/categ_Po.c: New file.
	* lib/unictype/categ_Ps.c: New file.
	* lib/unictype/categ_S.c: New file.
	* lib/unictype/categ_Sc.c: New file.
	* lib/unictype/categ_Sk.c: New file.
	* lib/unictype/categ_Sm.c: New file.
	* lib/unictype/categ_So.c: New file.
	* lib/unictype/categ_Z.c: New file.
	* lib/unictype/categ_Zl.c: New file.
	* lib/unictype/categ_Zp.c: New file.
	* lib/unictype/categ_Zs.c: New file.
	* lib/unictype/categ_and.c: New file.
	* lib/unictype/categ_and_not.c: New file.
	* lib/unictype/categ_byname.c: New file.
	* lib/unictype/categ_name.c: New file.
	* lib/unictype/categ_none.c: New file.
	* lib/unictype/categ_of.c: New file.
	* lib/unictype/categ_or.c: New file.
	* lib/unictype/categ_test.c: New file.
	* lib/unictype/combining.c: New file.
	* lib/unictype/ctype_alnum.c: New file.
	* lib/unictype/ctype_alpha.c: New file.
	* lib/unictype/ctype_blank.c: New file.
	* lib/unictype/ctype_cntrl.c: New file.
	* lib/unictype/ctype_digit.c: New file.
	* lib/unictype/ctype_graph.c: New file.
	* lib/unictype/ctype_lower.c: New file.
	* lib/unictype/ctype_print.c: New file.
	* lib/unictype/ctype_punct.c: New file.
	* lib/unictype/ctype_space.c: New file.
	* lib/unictype/ctype_upper.c: New file.
	* lib/unictype/ctype_xdigit.c: New file.
	* lib/unictype/decdigit.c: New file.
	* lib/unictype/digit.c: New file.
	* lib/unictype/identsyntaxmap.h: New file.
	* lib/unictype/mirror.c: New file.
	* lib/unictype/numeric.c: New file.
	* lib/unictype/pr_alphabetic.c: New file.
	* lib/unictype/pr_ascii_hex_digit.c: New file.
	* lib/unictype/pr_bidi_arabic_digit.c: New file.
	* lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
	* lib/unictype/pr_bidi_block_separator.c: New file.
	* lib/unictype/pr_bidi_boundary_neutral.c: New file.
	* lib/unictype/pr_bidi_common_separator.c: New file.
	* lib/unictype/pr_bidi_control.c: New file.
	* lib/unictype/pr_bidi_embedding_or_override.c: New file.
	* lib/unictype/pr_bidi_eur_num_separator.c: New file.
	* lib/unictype/pr_bidi_eur_num_terminator.c: New file.
	* lib/unictype/pr_bidi_european_digit.c: New file.
	* lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
	* lib/unictype/pr_bidi_left_to_right.c: New file.
	* lib/unictype/pr_bidi_non_spacing_mark.c: New file.
	* lib/unictype/pr_bidi_other_neutral.c: New file.
	* lib/unictype/pr_bidi_pdf.c: New file.
	* lib/unictype/pr_bidi_segment_separator.c: New file.
	* lib/unictype/pr_bidi_whitespace.c: New file.
	* lib/unictype/pr_byname.c: New file.
	* lib/unictype/pr_byname.gperf: New file.
	* lib/unictype/pr_combining.c: New file.
	* lib/unictype/pr_composite.c: New file.
	* lib/unictype/pr_currency_symbol.c: New file.
	* lib/unictype/pr_dash.c: New file.
	* lib/unictype/pr_decimal_digit.c: New file.
	* lib/unictype/pr_default_ignorable_code_point.c: New file.
	* lib/unictype/pr_deprecated.c: New file.
	* lib/unictype/pr_diacritic.c: New file.
	* lib/unictype/pr_extender.c: New file.
	* lib/unictype/pr_format_control.c: New file.
	* lib/unictype/pr_grapheme_base.c: New file.
	* lib/unictype/pr_grapheme_extend.c: New file.
	* lib/unictype/pr_grapheme_link.c: New file.
	* lib/unictype/pr_hex_digit.c: New file.
	* lib/unictype/pr_hyphen.c: New file.
	* lib/unictype/pr_id_continue.c: New file.
	* lib/unictype/pr_id_start.c: New file.
	* lib/unictype/pr_ideographic.c: New file.
	* lib/unictype/pr_ids_binary_operator.c: New file.
	* lib/unictype/pr_ids_trinary_operator.c: New file.
	* lib/unictype/pr_ignorable_control.c: New file.
	* lib/unictype/pr_iso_control.c: New file.
	* lib/unictype/pr_join_control.c: New file.
	* lib/unictype/pr_left_of_pair.c: New file.
	* lib/unictype/pr_line_separator.c: New file.
	* lib/unictype/pr_logical_order_exception.c: New file.
	* lib/unictype/pr_lowercase.c: New file.
	* lib/unictype/pr_math.c: New file.
	* lib/unictype/pr_non_break.c: New file.
	* lib/unictype/pr_not_a_character.c: New file.
	* lib/unictype/pr_numeric.c: New file.
	* lib/unictype/pr_other_alphabetic.c: New file.
	* lib/unictype/pr_other_default_ignorable_code_point.c: New file.
	* lib/unictype/pr_other_grapheme_extend.c: New file.
	* lib/unictype/pr_other_id_continue.c: New file.
	* lib/unictype/pr_other_id_start.c: New file.
	* lib/unictype/pr_other_lowercase.c: New file.
	* lib/unictype/pr_other_math.c: New file.
	* lib/unictype/pr_other_uppercase.c: New file.
	* lib/unictype/pr_paired_punctuation.c: New file.
	* lib/unictype/pr_paragraph_separator.c: New file.
	* lib/unictype/pr_pattern_syntax.c: New file.
	* lib/unictype/pr_pattern_white_space.c: New file.
	* lib/unictype/pr_private_use.c: New file.
	* lib/unictype/pr_punctuation.c: New file.
	* lib/unictype/pr_quotation_mark.c: New file.
	* lib/unictype/pr_radical.c: New file.
	* lib/unictype/pr_sentence_terminal.c: New file.
	* lib/unictype/pr_soft_dotted.c: New file.
	* lib/unictype/pr_space.c: New file.
	* lib/unictype/pr_terminal_punctuation.c: New file.
	* lib/unictype/pr_test.c: New file.
	* lib/unictype/pr_titlecase.c: New file.
	* lib/unictype/pr_unassigned_code_value.c: New file.
	* lib/unictype/pr_unified_ideograph.c: New file.
	* lib/unictype/pr_uppercase.c: New file.
	* lib/unictype/pr_variation_selector.c: New file.
	* lib/unictype/pr_white_space.c: New file.
	* lib/unictype/pr_xid_continue.c: New file.
	* lib/unictype/pr_xid_start.c: New file.
	* lib/unictype/pr_zero_width.c: New file.
	* lib/unictype/scripts.c: New file.
	* lib/unictype/sy_c_ident.c: New file.
	* lib/unictype/sy_c_whitespace.c: New file.
	* lib/unictype/sy_java_ident.c: New file.
	* lib/unictype/sy_java_whitespace.c: New file.

	* lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
	Unicode 5.0.0.
	* lib/unictype/blocks.h: Likewise.
	* lib/unictype/categ_C.h: Likewise.
	* lib/unictype/categ_Cc.h: Likewise.
	* lib/unictype/categ_Cf.h: Likewise.
	* lib/unictype/categ_Cn.h: Likewise.
	* lib/unictype/categ_Co.h: Likewise.
	* lib/unictype/categ_Cs.h: Likewise.
	* lib/unictype/categ_L.h: Likewise.
	* lib/unictype/categ_Ll.h: Likewise.
	* lib/unictype/categ_Lm.h: Likewise.
	* lib/unictype/categ_Lo.h: Likewise.
	* lib/unictype/categ_Lt.h: Likewise.
	* lib/unictype/categ_Lu.h: Likewise.
	* lib/unictype/categ_M.h: Likewise.
	* lib/unictype/categ_Mc.h: Likewise.
	* lib/unictype/categ_Me.h: Likewise.
	* lib/unictype/categ_Mn.h: Likewise.
	* lib/unictype/categ_N.h: Likewise.
	* lib/unictype/categ_Nd.h: Likewise.
	* lib/unictype/categ_Nl.h: Likewise.
	* lib/unictype/categ_No.h: Likewise.
	* lib/unictype/categ_P.h: Likewise.
	* lib/unictype/categ_Pc.h: Likewise.
	* lib/unictype/categ_Pd.h: Likewise.
	* lib/unictype/categ_Pe.h: Likewise.
	* lib/unictype/categ_Pf.h: Likewise.
	* lib/unictype/categ_Pi.h: Likewise.
	* lib/unictype/categ_Po.h: Likewise.
	* lib/unictype/categ_Ps.h: Likewise.
	* lib/unictype/categ_S.h: Likewise.
	* lib/unictype/categ_Sc.h: Likewise.
	* lib/unictype/categ_Sk.h: Likewise.
	* lib/unictype/categ_Sm.h: Likewise.
	* lib/unictype/categ_So.h: Likewise.
	* lib/unictype/categ_Z.h: Likewise.
	* lib/unictype/categ_Zl.h: Likewise.
	* lib/unictype/categ_Zp.h: Likewise.
	* lib/unictype/categ_Zs.h: Likewise.
	* lib/unictype/categ_of.h: Likewise.
	* lib/unictype/combining.h: Likewise.
	* lib/unictype/ctype_alnum.h: Likewise.
	* lib/unictype/ctype_alpha.h: Likewise.
	* lib/unictype/ctype_blank.h: Likewise.
	* lib/unictype/ctype_cntrl.h: Likewise.
	* lib/unictype/ctype_digit.h: Likewise.
	* lib/unictype/ctype_graph.h: Likewise.
	* lib/unictype/ctype_lower.h: Likewise.
	* lib/unictype/ctype_print.h: Likewise.
	* lib/unictype/ctype_punct.h: Likewise.
	* lib/unictype/ctype_space.h: Likewise.
	* lib/unictype/ctype_upper.h: Likewise.
	* lib/unictype/ctype_xdigit.h: Likewise.
	* lib/unictype/decdigit.h: Likewise.
	* lib/unictype/digit.h: Likewise.
	* lib/unictype/mirror.h: Likewise.
	* lib/unictype/numeric.h: Likewise.
	* lib/unictype/pr_alphabetic.h: Likewise.
	* lib/unictype/pr_ascii_hex_digit.h: Likewise.
	* lib/unictype/pr_bidi_arabic_digit.h: Likewise.
	* lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
	* lib/unictype/pr_bidi_block_separator.h: Likewise.
	* lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
	* lib/unictype/pr_bidi_common_separator.h: Likewise.
	* lib/unictype/pr_bidi_control.h: Likewise.
	* lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
	* lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
	* lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
	* lib/unictype/pr_bidi_european_digit.h: Likewise.
	* lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
	* lib/unictype/pr_bidi_left_to_right.h: Likewise.
	* lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
	* lib/unictype/pr_bidi_other_neutral.h: Likewise.
	* lib/unictype/pr_bidi_pdf.h: Likewise.
	* lib/unictype/pr_bidi_segment_separator.h: Likewise.
	* lib/unictype/pr_bidi_whitespace.h: Likewise.
	* lib/unictype/pr_combining.h: Likewise.
	* lib/unictype/pr_composite.h: Likewise.
	* lib/unictype/pr_currency_symbol.h: Likewise.
	* lib/unictype/pr_dash.h: Likewise.
	* lib/unictype/pr_decimal_digit.h: Likewise.
	* lib/unictype/pr_default_ignorable_code_point.h: Likewise.
	* lib/unictype/pr_deprecated.h: Likewise.
	* lib/unictype/pr_diacritic.h: Likewise.
	* lib/unictype/pr_extender.h: Likewise.
	* lib/unictype/pr_format_control.h: Likewise.
	* lib/unictype/pr_grapheme_base.h: Likewise.
	* lib/unictype/pr_grapheme_extend.h: Likewise.
	* lib/unictype/pr_grapheme_link.h: Likewise.
	* lib/unictype/pr_hex_digit.h: Likewise.
	* lib/unictype/pr_hyphen.h: Likewise.
	* lib/unictype/pr_id_continue.h: Likewise.
	* lib/unictype/pr_id_start.h: Likewise.
	* lib/unictype/pr_ideographic.h: Likewise.
	* lib/unictype/pr_ids_binary_operator.h: Likewise.
	* lib/unictype/pr_ids_trinary_operator.h: Likewise.
	* lib/unictype/pr_ignorable_control.h: Likewise.
	* lib/unictype/pr_iso_control.h: Likewise.
	* lib/unictype/pr_join_control.h: Likewise.
	* lib/unictype/pr_left_of_pair.h: Likewise.
	* lib/unictype/pr_line_separator.h: Likewise.
	* lib/unictype/pr_logical_order_exception.h: Likewise.
	* lib/unictype/pr_lowercase.h: Likewise.
	* lib/unictype/pr_math.h: Likewise.
	* lib/unictype/pr_non_break.h: Likewise.
	* lib/unictype/pr_not_a_character.h: Likewise.
	* lib/unictype/pr_numeric.h: Likewise.
	* lib/unictype/pr_other_alphabetic.h: Likewise.
	* lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
	* lib/unictype/pr_other_grapheme_extend.h: Likewise.
	* lib/unictype/pr_other_id_continue.h: Likewise.
	* lib/unictype/pr_other_id_start.h: Likewise.
	* lib/unictype/pr_other_lowercase.h: Likewise.
	* lib/unictype/pr_other_math.h: Likewise.
	* lib/unictype/pr_other_uppercase.h: Likewise.
	* lib/unictype/pr_paired_punctuation.h: Likewise.
	* lib/unictype/pr_paragraph_separator.h: Likewise.
	* lib/unictype/pr_pattern_syntax.h: Likewise.
	* lib/unictype/pr_pattern_white_space.h: Likewise.
	* lib/unictype/pr_private_use.h: Likewise.
	* lib/unictype/pr_punctuation.h: Likewise.
	* lib/unictype/pr_quotation_mark.h: Likewise.
	* lib/unictype/pr_radical.h: Likewise.
	* lib/unictype/pr_sentence_terminal.h: Likewise.
	* lib/unictype/pr_soft_dotted.h: Likewise.
	* lib/unictype/pr_space.h: Likewise.
	* lib/unictype/pr_terminal_punctuation.h: Likewise.
	* lib/unictype/pr_titlecase.h: Likewise.
	* lib/unictype/pr_unassigned_code_value.h: Likewise.
	* lib/unictype/pr_unified_ideograph.h: Likewise.
	* lib/unictype/pr_uppercase.h: Likewise.
	* lib/unictype/pr_variation_selector.h: Likewise.
	* lib/unictype/pr_white_space.h: Likewise.
	* lib/unictype/pr_xid_continue.h: Likewise.
	* lib/unictype/pr_xid_start.h: Likewise.
	* lib/unictype/pr_zero_width.h: Likewise.
	* lib/unictype/scripts.h: Likewise.
	* lib/unictype/scripts_byname.gperf: Likewise.
	* lib/unictype/sy_c_ident.h: Likewise.
	* lib/unictype/sy_c_whitespace.h: Likewise.
	* lib/unictype/sy_java_ident.h: Likewise.
	* lib/unictype/sy_java_whitespace.h: Likewise.

	* lib/unictype/Makefile: New file.
	* lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
	glibc.
	* lib/unictype/3level.h: New file, copied from glibc.
	* lib/unictype/3levelbit.h: New file.

2007-11-11  Bruno Haible  <bruno@clisp.org>

	* modules/gperf: New file.
	* modules/iconv_open (Depends-on): Add it.
	(Makefile.am): Remove the GPERF definition.

2007-11-11  Bruno Haible  <bruno@clisp.org>

	* m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
	* doc/functions/round.texi: Mention the NetBSD 3.0 bug.

2007-11-11  Bruno Haible  <bruno@clisp.org>

	* tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
	(usage): Remove function.

2007-11-11  Bruno Haible  <bruno@clisp.org>

	* m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
	gl_FUNC_CEILF_LIBS.
	* m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
	gl_FUNC_CEIL_LIBS.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
	gl_FUNC_CEILL_LIBS.
	* modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
	* modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
	* modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.

2007-11-11  Bruno Haible  <bruno@clisp.org>

	* m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
	roundf were declared but do not exist on functions.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
	roundl were declared but do not exist on functions.
	* lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
	HAVE_FLOORL_AND_CEILL, respectively.
	Needed for Sun C on Solaris 10.

2007-11-11  Bruno Haible  <bruno@clisp.org>

	* m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
	HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
	* m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
	HAVE_DECL_ROUND. Remove redundant AC_SUBST.
	* m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
	HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
	* lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
	HAVE_DECL_ROUNDF.
	(round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
	(roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
	of HAVE_DECL_ROUND*.
	* modules/math (Makefile.am): Update.

2007-11-10  Bruno Haible  <bruno@clisp.org>

	* m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
	ptrdiff_t as m4/intl.m4.

2007-11-10  Jim Meyering  <meyering@redhat.com>

	Avoid link failure for the argmatch test.
	* tests/test-argmatch.c (usage): Define function to avoid a link
	failure: argmatch_die requires a usage function.

2007-11-09  Bruno Haible  <bruno@clisp.org>

	* doc/functions/snprintf.texi: Mention BeOS deficiency.
	* doc/functions/vsnprintf.texi: Likewise.
	* lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
	with a size argument < 2.

2007-11-09  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
	buffer. Fixes an inefficiency introduced on 2007-11-03.

2007-11-09  Bruno Haible  <bruno@clisp.org>

	* m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
	none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.

2007-11-08  Jim Meyering  <meyering@redhat.com>

	Change cache variable name prefix "jm_" to "gl_" everywhere.
	* m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
	* m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
	* m4/uptime.m4: s/gl_/jm_/

2007-11-07  Bruno Haible  <bruno@clisp.org>

	Update to GNU gettext 0.17.
	* m4/intl.m4: Update to GNU gettext 0.17.
	* m4/po.m4: Likewise.
	* modules/gettext (Files): Remove m4/ulonglong.m4.
	(configure.ac): Require gettext infrastructure from version 0.17.

2007-11-06  Bruno Haible  <bruno@clisp.org>

	* lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
	symbolic values are not defined in a public header.
	* lib/freadable.c (freadable) [QNX]: Likewise.
	* lib/freadahead.c (freadahead) [QNX]: Likewise.
	* lib/freading.c (freading) [QNX]: Likewise.
	* lib/fseterr.c (fseterr) [QNX]: Likewise.
	* lib/fwritable.c (fwritable) [QNX]: Likewise.
	* lib/fwriting.c (fwriting) [QNX]: Likewise.
	* lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
	Reported by Alain Magloire.

	* m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.

2007-11-05  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
	code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
	Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
	Reported by Eric Blake.

2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	    Bruno Haible  <bruno@clisp.org>

	* modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
	* modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
	* lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
	(malloc): Undefine also before including <stdlib.h>.
	(rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
	Needed on OSF/1 4.0.

2007-11-05  Jim Meyering  <meyering@redhat.com>

	git-version-gen: sync from coreutils.
	* build-aux/git-version-gen: Add comments.
	Change the first '-' to '.' in the snapshot version string,
	e.g., 6.9-377-08144 -> 6.9.377-08144
	Remove first parameter.
	Don't declare a version "-dirty" merely because a time
	stamp has changed.

2007-11-04  Bruno Haible  <bruno@clisp.org>

	* lib/lock.h: Protect all macro definitions containing an 'if'
	statement through a "do { ... } while (0)".
	* lib/tls.h: Likewise.

2007-11-04  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.

2007-11-04  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
	* modules/fprintf-posix (Depends-on): Add nocrash.
	* modules/snprintf-posix (Depends-on): Likewise.
	* modules/sprintf-posix (Depends-on): Likewise.
	* modules/vasnprintf-posix (Depends-on): Likewise.
	* modules/vasprintf-posix (Depends-on): Likewise.
	* modules/vfprintf-posix (Depends-on): Likewise.
	* modules/vsnprintf-posix (Depends-on): Likewise.
	* modules/vsprintf-posix (Depends-on): Likewise.
	* modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
	* modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.

2007-11-04  Bruno Haible  <bruno@clisp.org>

	* modules/nocrash: New file.
	* m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
	GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.

2007-11-04  Bruno Haible  <bruno@clisp.org>

	* tests/test-vasnprintf-posix.c (test_function): Add some tests of
	precision handling.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.

	Fix *printf behaviour for large precisions on mingw and BeOS.
	* m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
	* lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
	(gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
	gl_PRINTF_PRECISION and test its result. Invoke
	gl_PREREQ_VASNPRINTF_PRECISION.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
	* doc/functions/fprintf.texi: Update.
	* doc/functions/printf.texi: Update.
	* doc/functions/snprintf.texi: Update.
	* doc/functions/sprintf.texi: Update.
	* doc/functions/vfprintf.texi: Update.
	* doc/functions/vprintf.texi: Update.
	* doc/functions/vsnprintf.texi: Update.
	* doc/functions/vsprintf.texi: Update.

2007-11-04  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.

2007-11-04  Bruno Haible  <bruno@clisp.org>

	* modules/relocatable-prog (Files): Add m4/lib-ld.m4.
	Reported by Sylvain Beucler <beuc@gnu.org>.

2007-11-03  Bruno Haible  <bruno@clisp.org>

	* tests/test-fprintf-posix2.sh: New file.
	* tests/test-fprintf-posix2.c: New file.
	* modules/fprintf-posix-tests (Files): Add them.
	(TESTS): Add test-fprintf-posix2.sh.
	(configure.ac): Check for getrlimit and setrlimit.
	(check_PROGRAMS): Add test-fprintf-posix2.

	* tests/test-printf-posix2.sh: New file.
	* tests/test-printf-posix2.c: New file.
	* modules/printf-posix-tests (Files): Add them.
	(TESTS): Add test-printf-posix2.sh.
	(configure.ac): Check for getrlimit and setrlimit.
	(check_PROGRAMS): Add test-printf-posix2.

	Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
	* m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
	* lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
	(decode_double): New function, copied from decode_long_double.
	(scale10_round_decimal_decoded): New function, extracted from
	scale10_round_decimal_long_double.
	(scale10_round_decimal_long_double): Use it.
	(scale10_round_decimal_double): New function.
	(floorlog10): New function.
	(VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
	(gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
	gl_PRINTF_ENOMEM and test its result. Invoke
	gl_PREREQ_VASNPRINTF_ENOMEM.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
	* modules/fprintf-posix (Depends-on): Add frexp-nolibm.
	* modules/snprintf-posix (Depends-on): Likewise.
	* modules/sprintf-posix (Depends-on): Likewise.
	* modules/vasnprintf-posix (Depends-on): Likewise.
	* modules/vasprintf-posix (Depends-on): Likewise.
	* modules/vfprintf-posix (Depends-on): Likewise.
	* modules/vsnprintf-posix (Depends-on): Likewise.
	* modules/vsprintf-posix (Depends-on): Likewise.
	* doc/functions/fprintf.texi: Update.
	* doc/functions/printf.texi: Update.
	* doc/functions/snprintf.texi: Update.
	* doc/functions/sprintf.texi: Update.
	* doc/functions/vfprintf.texi: Update.
	* doc/functions/vprintf.texi: Update.
	* doc/functions/vsnprintf.texi: Update.
	* doc/functions/vsprintf.texi: Update.

2007-11-03  Bruno Haible  <bruno@clisp.org>

	* modules/frexp-nolibm-tests: New file.

	* modules/frexp-nolibm: New file.
	* m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.

2007-11-03  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
	value is C99 compliant.
	Needed for OSF/1 5.1.

2007-11-03  Bruno Haible  <bruno@clisp.org>

	Fix out-of-memory handling of vasnprintf.
	* lib/printf-parse.c: Include <errno.h>.
	(PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
	* lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
	is already set.

2007-11-02  Eric Blake  <ebb9@byu.net>

	Fix tests on cygwin.
	* modules/xprintf-posix-tests (Makefile.am): Link against -lintl.

2007-11-01  Bruno Haible  <bruno@clisp.org>

	* lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
	warning.
	* doc/functions/putenv.texi: Clarify that the 'putenv' module is not
	needed for POSIX compatibility.

2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
	for compatibility with GNU.

2007-11-01  Bruno Haible  <bruno@clisp.org>

	* lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
	(putenv): Renamed from rpl_putenv. Change argument type from
	'const char *' to 'char *'.
	* m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
	of defining putenv in config.h, just set REPLACE_PUTENV.
	* modules/putenv (Depends-on): Add stdlib.
	(configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
	(Include): Use <stdlib.h>.
	* lib/stdlib.in.h (putenv): New declaration.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
	REPLACE_PUTENV.
	* modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
	REPLACE_PUTENV.
	Needed for MacOS X 10.5.0.
	Reported by Peter O'Gorman <peter@pogma.com>.

2007-11-01  Jim Meyering  <meyering@redhat.com>

	Treat an empty date string exactly like "0".
	* lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
	if the remaining date string (to be parsed) is empty, use "0".
	Reported by Mischa Molhoek and discussed in this thread:
	<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.

2007-10-31  Bruno Haible  <bruno@clisp.org>

	* m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
	AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
	* m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
	AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
	* m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
	* m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.

2007-10-31  Bruno Haible  <bruno@clisp.org>

	* m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
	from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
	(AC_TYPE_LONG_LONG_INT): Use it.
	(AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
	it as well.
	* m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
	to m4/longlong.m4.
	* modules/stdint (Files): Remove m4/ulonglong.m4.
	* modules/strtoull (Files): Use m4/longlong.m4 instead of
	m4/ulonglong.m4.
	* modules/strtoumax (Files): Likewise.

2007-10-30  Bruno Haible  <bruno@clisp.org>

	* modules/xvasprintf-posix: New file.
	Suggested by Eric Blake.

2007-10-30  Bruno Haible  <bruno@clisp.org>

	* modules/xprintf-posix-tests: New file.
	* tests/test-xprintf-posix.sh: New file.
	* tests/test-xprintf-posix.c: New file.
	* tests/test-xfprintf-posix.c: New file.

	* modules/xprintf-posix: New file.

2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
	* modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
	* modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.

2007-10-29  Bruno Haible  <bruno@clisp.org>

	* m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
	contain the special marker '_cv_'.
	* m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
	* m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
	* m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
	* m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
	* m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
	Reported by Ralf Wildenhues.

2007-10-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): When --lgpl is not specified, set
	sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
	GPLv3.
	Reported by Simon Josefsson.

2007-10-28  Bruno Haible  <bruno@clisp.org>

	* lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
	* m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
	HAVE_DECL_ISFINITE.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
	* modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
	HAVE_DECL_ISFINITE.

2007-10-28  Bruno Haible  <bruno@clisp.org>

	* lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
	integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.

2007-10-28  Bruno Haible  <bruno@clisp.org>

	Fix link errors with Sun C 5.0 on Solaris 10.
	* m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
	function is declared but not present in the compiler's libm.
	* m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
	* m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
	* m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
	* lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
	Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
	Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
	Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
	* modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
	HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
	REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
	HAVE_DECL_FLOORL.

2007-10-28  Bruno Haible  <bruno@clisp.org>

	* m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
	gl_FUNC_FLOORL. Cache the result.
	(gl_FUNC_FLOORL): Use it.
	* m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
	gl_FUNC_CEILL. Cache the result.
	(gl_FUNC_CEILL): Use it.

	* m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
	gl_FUNC_FLOOR. Cache the result.
	(gl_FUNC_FLOOR): Use it.
	* m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
	gl_FUNC_CEIL. Cache the result.
	(gl_FUNC_CEIL): Use it.

	* m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
	gl_FUNC_FLOORF. Cache the result.
	(gl_FUNC_FLOORF): Use it.
	* m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
	gl_FUNC_CEILF. Cache the result.
	(gl_FUNC_CEILF): Use it.

2007-10-28  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Allow specifying the LGPL version number through
	--lgpl=2 or --lgpl=3.
	(func_usage): Document --lgpl with argument.
	Handle --lgpl=... arguments.
	(func_import): Recognize also gl_LGPL calls with an argument. When
	--lgpl=2 is used and the module's license is just LGPL, report an
	error. Set sed_transform_lib_file according to the lgpl variable. In
	the generated files, use --lgpl or gl_LGPL invocations with argument,
	if necessary.
	* doc/gnulib-intro.texi (Copyright): Explain how to get modules under
	an LGPv2+ license.
	* doc/gnulib-tool.texi (Modified imports): Update explanation of
	gl_LGPL macro.

2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	    Bruno Haible  <bruno@clisp.org>

	* lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
	(u16_uctomb_aux): Likewise.
	* lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
	!HAVE_INLINE.
	* lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise

2007-10-28  Bruno Haible  <bruno@clisp.org>

	* modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
	Invoke AM_GETTEXT_OPTION if it exists.
	* modules/vasprintf: Likewise.
	* modules/verror: Likewise.
	* modules/xprintf: Likewise.
	* modules/xvasprintf: Likewise.

2007-10-27  Ben Pfaff  <blp@gnu.org>

	* lib/math.in.h: Define isfinite macro and prototypes for
	gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
	implementations.
	* m4/math_h.m4: New substitutions for isfinite module.
	* lib/isfinite.c: New file.
	* m4/isfinite.m4: New file.
	* modules/math: Replace isfinite-related @VARS@ in math.in.h.
	* modules/isfinite: New file.
	* modules/isfinite-tests: New file.
	* tests/tests-isfinite.c: New file.
	* doc/functions/isfinite.texi: Mention isfinite module.
	* MODULES.html.sh: Mention new module.

2007-10-27  Ben Pfaff  <blp@gnu.org>

	Ralf Wildenhues reported that Tru64 4.0D declares the round
	functions but does not have definitions.
	* m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
	cannot be found in any library, set the output variable to
	"missing" instead of "".
	* m4/round.m4: Also use our substitute if we cannot find round in
	any library, even if it is declared.
	* m4/roundf.m4: Likewise for roundf.
	* m4/roundl.m4: Likewise for roundl.
	* lib/math.in.h: Undefine roundf, round, roundl before defining
	their replacements, to allow for hypothetical systems where these
	may be defined as macros but not available in libraries.

2007-10-27  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib.texi: Invoke @firstparagraphindent.
	* doc/gnulib-tool.texi (Simple update): Mention possible incompatible
	changes in gnulib.
	(Source changes): New section.

2007-10-26  Bruno Haible  <bruno@clisp.org>

	* m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
	borrowed from autoconf.

2007-10-26  Bruno Haible  <bruno@clisp.org>

	* lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
	strerror returned the empty string. Needed on HP-UX 11.00.

2007-10-24  Micah Cowan  <micah@cowan.name>

	Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
	* build-aux/bootstrap: Remove support for now-unnecessary option,
	--cvs-user, and envvars CVS_USER, CVS_RSH.

2007-10-24  Jim Meyering  <meyering@redhat.com>

	Avoid diagnostics from sha1sum when there is no cached checksum.
	* build-aux/bootstrap (update_po_files): Skip the sha1sum check
	if the po.s1 file hasn't been created yet.

	* build-aux/bootstrap: Sync from coreutils:
	2007-10-24  Jim Meyering  <meyering@redhat.com>
	Get gnulib from the git repository, not from an obsolete cvs one.
	* build-aux/bootstrap: Suggestion from Micah Cowan.
	2007-10-04  Jim Meyering  <jim@meyering.net>
	* build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
	(update_po_files): Work also when there are no .po files in po/.

2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	* README: Append ".git" to git and cg examples.
	Problem reported by Benoit Sigoure.

2007-10-23  Micah Cowan  <micah@cowan.name>

	* users.txt: Add wget.

2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Fix linking of some unistdio tests on FreeBSD.
	* modules/unistdio/u16-vsnprintf-tests
	(test_u16_vsprintf1_LDADD): Add @LIBINTL@.
	* modules/unistdio/u16-vsprintf-tests
	(test_u16_vsnprintf1_LDADD): Likewise.
	* modules/unistdio/u32-vsnprintf-tests
	(test_u32_vsnprintf1_LDADD): Likewise.
	* modules/unistdio/u32-vsprintf-tests
	(test_u32_vsprintf1_LDADD): Likewise.
	* modules/unistdio/u8-vsnprintf-tests
	(test_u8_vsnprintf1_LDADD): Likewise.
	* modules/unistdio/u8-vsprintf-tests
	(test_u8_vsprintf1_LDADD): Likewise.
	* modules/unistdio/ulc-vsnprintf-tests
	(test_ulc_vsnprintf1_LDADD): Likewise.
	* modules/unistdio/ulc-vsprintf-tests
	(test_ulc_vsprintf1_LDADD): Likewise.

	Fix linking of some uniconv tests on FreeBSD.
	* modules/uniconv/u16-conv-from-enc-tests
	(test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
	* modules/uniconv/u16-conv-to-enc-tests
	(test_u16_conv_to_enc_LDADD): Likewise.
	* modules/uniconv/u16-strconv-from-enc-tests
	(test_u16_strconv_from_enc_LDADD): Likewise.
	* modules/uniconv/u16-strconv-to-enc-tests
	(test_u16_strconv_to_enc_LDADD): Likewise.
	* modules/uniconv/u32-conv-from-enc-tests
	(test_u32_conv_from_enc_LDADD): Likewise.
	* modules/uniconv/u32-conv-to-enc-tests
	(test_u32_conv_to_enc_LDADD): Likewise.
	* modules/uniconv/u32-strconv-from-enc-tests
	(test_u32_strconv_from_enc_LDADD): Likewise.
	* modules/uniconv/u32-strconv-to-enc-tests
	(test_u32_strconv_to_enc_LDADD): Likewise.
	* modules/uniconv/u8-conv-from-enc-tests
	(test_u8_conv_from_enc_LDADD): Likewise.
	* modules/uniconv/u8-conv-to-enc-tests
	(test_u8_conv_to_enc_LDADD): Likewise.
	* modules/uniconv/u8-strconv-from-enc-tests
	(test_u8_strconv_from_enc_LDADD): Likewise.
	* modules/uniconv/u8-strconv-to-enc-tests
	(test_u8_strconv_to_enc_LDADD): Likewise.

2007-10-22  Bruno Haible  <bruno@clisp.org>

	* lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
	size.

2007-10-22  Eric Blake  <ebb9@byu.net>

	Tweak x*printf documentation.
	* lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
	variable name and comments.
	Suggested by Bruno Haible.

2007-10-22  Bruno Haible  <bruno@clisp.org>

	* lib/acl.c (copy_acl): Fix file name in comment.

2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>

	Fix Tru64 problem with stdbool.h.
	* lib/stdbool.in.h (false, true):
	[! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
	Don't declare as an enum in this situation; it runs afoul of Tru64.
	Problem reported by Steven M. Schweda in
	<http://lists.gnu.org/r/bug-autoconf/2007-10/msg00019.html>.

2007-10-22  Eric Blake  <ebb9@byu.net>

	Also wrap vf?printf.
	* lib/xprintf.h (xvprintf, xvfprintf): New declarations.
	* lib/xprintf.c (xprintf, xfprintf): Work for C89.
	(xvprintf, xvfprintf): New functions.

2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
	@LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.

	* lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
	* lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.

2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
	by Bruno Haible.

2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lib/getloadavg.c
	[defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
	Undef `sys' after including sys/table.h, for Tru64 4.0D.

	* tests/test-i-ring.c: Work for C89.

2007-10-22  Bruno Haible  <bruno@clisp.org>

	* m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
	-1u, in preprocessor expression, so that we don't test for the bug
	in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
	<http://lists.gnu.org/r/bug-gnulib/2007-10/msg00329.html>.

2007-10-22  Eric Blake  <ebb9@byu.net>

	* tests/test-yesno.sh: Silence stderr during test.

2007-10-22  Simon Josefsson  <simon@josefsson.org>

	* modules/crypto/gc-camellia: New file.

	* m4/gc-camellia.m4: New file.

	* lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.

	* lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.

2007-10-22  Simon Josefsson  <simon@josefsson.org>

	* build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
	--help to stdout.  Reported by sms@antinode.org (Steven
	M. Schweda).

2007-10-22  Simon Josefsson  <simon@josefsson.org>

	* users.txt: Fix link to libksba.

2007-10-21  Ben Pfaff  <blp@gnu.org>

	* modules/roundf-tests: Add dependency on floorf, ceilf to allow
	round.c roundf implementation that depends on floorf and ceilf to
	be tested unconditionally.

2007-10-21  Ben Pfaff  <blp@gnu.org>

	* m4/check-libm-func.m4: Removed.
	* m4/check-math-lib.m4: New file.
	* m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
	* m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
	definition and lack of AC_LIBOBJ([roundf]).
	* m4/roundl.m4: Ditto, and similarly for roundl.
	* modules/round: Reference new m4 file.
	* modules/roundf: Ditto.
	* modules/roundl: Ditto.
	* tests/test-round2.c (main): Use ROUND instead of round.
	Bug report from Bruno Haible.

2007-10-21  Bruno Haible  <bruno@clisp.org>

	* lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
	context.

2007-10-21  Bruno Haible  <bruno@clisp.org>

	* tests/test-wcwidth.c (main): Allow negative result for some control
	characters.

	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
	Needed on OSF/1 5.1.

2007-10-21  Bruno Haible  <bruno@clisp.org>

	* tests/test-floorf1.c: Include isnanf.h.
	(main): Use isnanf() instead of isnan().
	* tests/test-ceilf1.c: Include isnanf.h.
	(main): Use isnanf() instead of isnan().
	* tests/test-truncf1.c: Include isnanf.h.
	(main): Use isnanf() instead of isnan().
	* tests/test-roundf1.c: Include isnanf.h.
	(main): Use isnanf() instead of isnan().

2007-10-21  Eric Blake  <ebb9@byu.net>

	* users.txt: Update URL for m4.

2007-10-21  Bruno Haible  <bruno@clisp.org>

	* users.txt: Add clisp. Update URLs to Simon Josefsson's projects.

2007-10-21  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_megatestdir): Determine the cvsdate from
	Git's management files if the CVS files are not present.

2007-10-20  Bruno Haible  <bruno@clisp.org>

	* lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
	gcc-3.4.x.

2007-10-20  Ben Pfaff  <blp@gnu.org>

	* lib/math.in.h: Declare round, roundf, roundl if we are providing
	implementations.
	* m4/math_h.m4: New substitutions for round, roundf, roundl modules.
	* lib/round.c: New file.
	* lib/roundf.c: New file.
	* lib/roundl.c: New file.
	* m4/round.m4: New file.
	* m4/roundf.m4: New file.
	* m4/roundl.m4: New file.
	* m4/check-libm-func-m4: New file.
	* modules/math: Replace round, roundf, roundl related @VARS@ in
	math.in.h.
	* modules/round: New file.
	* modules/round-tests: New file.
	* modules/roundf: New file.
	* modules/roundf-tests: New file.
	* modules/roundl: New file.
	* modules/roundl-tests: New file.
	* tests/test-round1.c: New file.
	* tests/test-round2.c: New file.
	* tests/test-roundf1.c: New file.
	* tests/test-roundf2.c: New file.
	* tests/test-roundl.c: New file.
	* doc/functions/round.texi: Mention round module.
	* doc/functions/roundf.texi: Mention roundf module.
	* doc/functions/roundl.texi: Mention roundl module.
	* MODULES.html.sh: Mention new modules.
	Thanks to Bruno Haible for suggestions.

2007-10-20  Jim Meyering  <meyering@redhat.com>

	* lib/xprintf.c: Include <config.h> unconditionally.

	Change xprintf's license to GPL.
	* modules/xprintf (License): s/LGPL/GPL/, since this module
	depends on modules (exit and exitfail) which are GPL.
	Suggestion from Bruno Haible.

	xprintf fixes.
	* lib/xprintf.c (xprintf, xfprintf): Use va_end.
	Use a clearer diagnostic.
	Patch from Bruno Haible.

2007-10-20  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
	length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2007-10-20  Bruno Haible  <bruno@clisp.org>

	* tests/test-floorf2.c (correct_result_p): Don't rely on excess
	precision in the comparison result > x - 1 or similar.
	* tests/test-ceilf2.c (correct_result_p): Likewise.
	* tests/test-truncf2.c (correct_result_p): Likewise.
	* tests/test-trunc2.c (correct_result_p): Likewise.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2007-10-20  Bruno Haible  <bruno@clisp.org>

	* modules/ceil: New file.
	* m4/ceil.m4: New file.
	* doc/functions/ceil.texi: Mention the 'ceil' module.

2007-10-20  Bruno Haible  <bruno@clisp.org>

	* modules/floor: New file.
	* m4/floor.m4: New file.
	* doc/functions/floor.texi: Mention the 'floor' module.

2007-10-20  Bruno Haible  <bruno@clisp.org>

	* modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
	of %a.
	* modules/floorf-tests (Depends-on): Likewise.
	* modules/truncf-tests (Depends-on): Likewise.
	* modules/trunc-tests (Depends-on): Likewise.
	Reported by Ben Pfaff.

2007-10-19  Jim Meyering  <meyering@redhat.com>

	* lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
	Don't bother testing specific errno values.  Just test ferror.

	New module: xprintf
	* modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.

2007-10-19  Bruno Haible  <bruno@clisp.org>

	* modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
	syntax.
	* modules/javaexec (Makefile.am): Likewise.
	* modules/relocatable-prog (Makefile.am): Likewise.
	Suggested by Jim Meyering.

2007-10-18  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
	Reported by Jim Meyering.

2007-10-18  Eric Blake  <ebb9@byu.net>

	* modules/filenamecat-tests (Makefile.am): Link against -lintl.

2007-10-18  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
	the format string into writable memory. Needed in Fortify conditions.

2007-10-18  Colin Watson  <cjwatson@debian.org>  (tiny change)
	    Bruno Haible  <bruno@clisp.org>

	* lib/trim.c: Include config.h unconditionally. Include trim.h always.
	Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
	* modules/trim (Depends-on): Add mbchar.
	(configure.ac): Add gl_FUNC_MBRTOWC.
	(Makefile.am): Augment lib_SOURCES.

2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>

	Modify glob.c to use fstatat and dirfd, to simplify it.
	Suggested by Eric Blake.
	* lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
	Don't include <stdbool.h>; not used.
	(link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
	(link_exists_p): Simplify implementation, since we can now assume
	dirfd and fstatat.
	* modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.

2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_get_dependencies): Fix sed script to
	match only tests.

2007-10-17  Bruno Haible  <bruno@clisp.org>

	* m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
	allow locale names without encoding suffix.
	* m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.

2007-10-16  Bruno Haible  <bruno@clisp.org>

	* lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
	* lib/getgroups.c (getgroups): Likewise.
	* lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.

2007-10-16  Bruno Haible  <bruno@clisp.org>

	* modules/absolute-header (License): Change from LGPL to LGPLv2+.
	* modules/malloc-posix (License): Likewise.
	* modules/realloc-posix (License): Likewise.
	* modules/calloc-posix (License): Likewise.
	* modules/intprops (License): Change from GPL to LGPL, with
	Paul Eggert's approval.

2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>

	Merge glibc changes into lib/glob.c.

	* lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
	2007-10-15 04:59:03 UTC.  Here are the changes:

	2007-10-14  Ulrich Drepper  <drepper@redhat.com>

	* lib/glob.c: Reimplement link_exists_p to use fstatat64.

	* lib/glob.c: Add some branch prediction throughout.

	2007-10-07  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5103]
	* lib/glob.c (glob): Recognize patterns starting \/.

	2007-02-14  Jakub Jelinek  <jakub@redhat.com>

	[BZ #3996]
	* lib/glob.c (attribute_hidden): Define if not defined.
	(glob): Unescape dirname, filename or username when needed and not
	GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
	is NULL.  Handle unescaped [ in pattern without closing ].
	Don't pass GLOB_CHECK down to recursive glob for directories.
	(__glob_pattern_type): New function.
	(__glob_pattern_p): Implement using __glob_pattern_type.
	(glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
	characters and backslashes if not GLOB_NOESCAPE or unterminated [.
	Remove unreachable code.

	2006-09-30  Ulrich Drepper  <drepper@redhat.com>

	* lib/glob.c (glob_in_dir): Add some comments and asserts to
	explain why there are no leaks.

	2006-09-25  Jakub Jelinek  <jakub@redhat.com>

	[BZ #3253]
	* lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
	time, rather allocate increasingly bigger arrays of pointers, if
	possible with alloca, if too large with malloc.

2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>

	Check for 64-bit int errors in HP-UX 10.20 preprocessor.
	Problem reported by H.Merijn Brand in
	<http://lists.gnu.org/r/bug-tar/2007-10/msg00018.html>.
	* m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
	* m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.

2007-10-15  Bruno Haible  <bruno@clisp.org>

	* lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
	with explicit rpl_ prefix.
	* lib/fopen.c (fopen): Likewise.
	* lib/freopen.c (freopen): Likewise.
	* lib/iconv.c (iconv): Likewise.
	* lib/iconv_close.c (iconv_close): Likewise.

2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.

2007-10-15  Bruno Haible  <bruno@clisp.org>

	* m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
	<stddef.h> instead of <stdlib.h> since we only need NULL.
	Reported by Ben Pfaff <blp@cs.stanford.edu>.

2007-10-15  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
	Replace paragraph talking about LIBOBJS.
	Reported by Colin Watson <cjwatson@debian.org>.

2007-10-15  Bruno Haible  <bruno@clisp.org>

	* m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
	<stdlib.h> before using NULL.

2007-10-15  Simon Josefsson  <simon@josefsson.org>

	* m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
	Reported by Albert Chin <china@thewrittenword.com>.

2007-10-14  Bruno Haible  <bruno@clisp.org>

	* modules/iconv_open-utf-tests: New file.
	* tests/test-iconv-utf.c: New file.

	Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
	* modules/iconv_open-utf: New file.
	* lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
	(iconv, iconv_close): New declarations.
	* lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
	be defined.
	(iconv_open): Add special handling of conversion between UTF-8 and
	UTF-{16,32}{BE,LE}.
	* lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
	* lib/iconv_close.c: New file.
	* m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
	gl_FUNC_ICONV_OPEN.
	(gl_FUNC_ICONV_OPEN): Use it.
	(gl_FUNC_ICONV_OPEN_UTF): New macro.
	* m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
	and REPLACE_ICONV_UTF.
	* modules/iconv_open (Depends-on): Add c-strcase.
	(Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
	ICONV_CONST.
	* doc/functions/iconv_open.texi: Mention the iconv_open-utf module.

2007-10-13  Albert Chin  <china@thewrittenword.com>
	    Bruno Haible  <bruno@clisp.org>

	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
	through a link check that includes <netdb.h>. Needed for OSF/1 5.1.

2007-10-13  Bruno Haible  <bruno@clisp.org>

	* lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
	defined, use the ISO C99 inline semantics.
	* lib/argp.h (ARGP_EI): Likewise.

2007-10-13  Bruno Haible  <bruno@clisp.org>

	Handle 'inline' change in gcc 4.3.0.
	* lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
	argp_fmtstream_write, argp_fmtstream_set_lmargin,
	argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
	argp_fmtstream_point): Disable 'extern' declaration if the function
	definition is going to be provided inline.
	(ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
	semantics, not the ISO C99 inline semantics.
	* lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
	'extern' declaration if the function definition is going to be provided
	inline.
	(ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
	the GNU C inline semantics, not the ISO C99 inline semantics. With
	GCC 4.2, avoid a warning.

2007-10-13  Bruno Haible  <bruno@clisp.org>

	* lib/freading.h (freading): Enable the use of __freading for
	glibc >= 2.7.
	* lib/freading.c (freading): Likewise.

2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
	"warning: C99 inline functions are not supported; using GNU89".

2007-10-12  Bruno Haible  <bruno@clisp.org>

	* lib/ceil.c (FUNC): Avoid rounding errors for values near a power
	of 2.
	* tests/test-ceilf2.c: New file.
	* modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.

	* tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
	* modules/ceilf-tests: Update.

2007-10-12  Bruno Haible  <bruno@clisp.org>

	* lib/floor.c (FUNC): Avoid rounding errors for values near a power
	of 2.
	* tests/test-floorf2.c: New file.
	* modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.

	* tests/test-floorf1.c: Renamed from tests/test-floorf.c.
	* modules/floorf-tests: Update.

2007-10-12  Bruno Haible  <bruno@clisp.org>

	* tests/test-trunc2.c: New file.
	* modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.

	* tests/test-trunc1.c: Renamed from tests/test-trunc.c.
	* modules/trunc-tests: Update.

2007-10-12  Bruno Haible  <bruno@clisp.org>

	* lib/trunc.c (FUNC): Avoid rounding errors for values near a power
	of 2.
	* tests/test-truncf2.c: New file.
	* modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.

	* tests/test-truncf1.c: Renamed from tests/test-truncf.c.
	* modules/truncf-tests: Update.

2007-10-11  Eric Blake  <ebb9@byu.net>

	Don't claim strerror is broken on Interix.
	* doc/functions/strerror.texi (strerror): Known broken systems are
	now Solaris 8, and not Interix.
	* m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
	Interix on cross-compile.
	Reported by Martin Koeppe in
	http://lists.gnu.org/r/bug-gnulib/2007-10/msg00005.html.

2007-10-11  Bruno Haible  <bruno@clisp.org>

	* modules/i-ring-tests: New file.
	* tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
	instead of assert.

2007-10-11  Bruno Haible  <bruno@clisp.org>

	* modules/filenamecat-tests: New file.
	* tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
	* lib/filenamecat.c: Remove test code.

2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.

	* lib/strerror.c: Include <string.h> always, to test interface,
	and to remove the need for the dummy.
	Include intprops.h to compute width instead of doing it ourselves
	and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
	(strerror): Define it to return NULL if there's no system strerror.
	(rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
	Omit !HAVE_STRERROR code.  We don't need to worry about supporting
	ancient pre-strerror Unix systems well any more.  Saying "unknown
	system error" is enough.
	* lib/string.in.h (strerror): Simplify the ifdef to reflect the
	simpler strerror.c implementation.
	* m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
	Simplify the tests to reflect the simpler strerror implementation.
	* modules/strerror (Depends-on): Add intprops.

2007-10-09  Eric Blake  <ebb9@byu.net>

	Silence test-fpending.
	* modules/fpending-tests (Files): Add wrapper script.
	* tests/test-fpending.sh: New file.

2007-10-09  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (func_module): Don't create a hyperlink for
	function names like 'printf_frexp'.
	(Misc): Add crc, memxor.
	(Characteristics of floating types): New section.
	(Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
	isnanf-nolibm, signbit, trunc, truncf, truncl.
	(Enhancements for ISO C 99 functions): New subsection Input/output.
	(Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
	fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
	locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
	(Compatibility checks for POSIX:2001 functions): Add clock-time.
	(Enhancements for POSIX:2001 functions): Add chdir-long.
	(File system functions): Add areadlink, chdir-safer, read-file.
	Remove cycle-check.
	(File system as inode set): New section.
	(Date and time): Add gethrxtime.
	(Multithreading): Add openmp.
	(Internationalization functions): Add localename.
	(Unicode string functions): Add unistr/u*-mbsnlen.
	(Support for maintaining and releasing projects): Add git-version-gen.
	(Lone files): Remove directories.

2007-10-08  Ben Pfaff  <blp@gnu.org>

	* lib/xmalloca.h: Fix typo in comment.

2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
	when avoiding problems with integer overflow.  Use a portable test
	instead.

2007-10-08  Simon Josefsson  <simon@josefsson.org>

	* modules/dummy (License): Change to LGPLv2+.
	* modules/float (License): Likewise
	* modules/realloc (License): Likewise
	* modules/stdlib (License): Likewise

2007-10-07  Bruno Haible  <bruno@clisp.org>

	* trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
	* floor.c (TWO_MANT_DIG): Likewise.
	* ceil.c (TWO_MANT_DIG): Likewise.
	Reported by Ben Pfaff.

2007-10-07  Bruno Haible  <bruno@clisp.org>

	Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
	* lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
	* lib/frexp.c (FUNC): Likewise.
	* lib/printf-frexp.h (printf_frexp): Likewise.
	* lib/printf-frexpl.h (printf_frexpl): Likewise.
	* lib/printf-frexp.c (FUNC): Likewise.
	Suggested by Jim Meyering.

2007-10-07  Jim Meyering  <meyering@redhat.com>

	Make xnanosleep's integer overflow test more robust.
	* lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
	so that gcc-4.3.0 doesn't optimize away this test for overflow.

2007-10-07  Bruno Haible  <bruno@clisp.org>

	* NEWS: Mention the license change.

	* doc/gnulib-intro.texi (Copyright): Update the meaning of the license
	abbreviations in the modules files.

	Change copyright notice from GPLv2+ to GPLv3+.
	* README: Change copyright notice.
	* MODULES.html.sh: Likewise.
	* build-aux/bootstrap.conf: Likewise.
	* build-aux/config.libpath: Likewise.
	* build-aux/csharpcomp.sh.in: Likewise.
	* build-aux/csharpexec.sh.in: Likewise.
	* build-aux/install-reloc: Likewise.
	* build-aux/javacomp.sh.in: Likewise.
	* build-aux/javaexec.sh.in: Likewise.
	* build-aux/ldd.sh.in: Likewise.
	* build-aux/reloc-ldflags: Likewise.
	* build-aux/relocatable.sh.in: Likewise.
	* build-aux/x-to-1.in: Likewise.
	* check-module: Likewise.
	* config/srclistvars.sh: Likewise.
	* gnulib-tool: Likewise.
	* lib/acl-internal.h: Likewise.
	* lib/acl.c: Likewise.
	* lib/acl.h: Likewise.
	* lib/acl_entries.c: Likewise.
	* lib/areadlink-with-size.c: Likewise.
	* lib/areadlink.c: Likewise.
	* lib/areadlink.h: Likewise.
	* lib/argmatch.c: Likewise.
	* lib/argmatch.h: Likewise.
	* lib/argp-ba.c: Likewise.
	* lib/argp-eexst.c: Likewise.
	* lib/argp-fmtstream.c: Likewise.
	* lib/argp-fmtstream.h: Likewise.
	* lib/argp-fs-xinl.c: Likewise.
	* lib/argp-help.c: Likewise.
	* lib/argp-namefrob.h: Likewise.
	* lib/argp-parse.c: Likewise.
	* lib/argp-pin.c: Likewise.
	* lib/argp-pv.c: Likewise.
	* lib/argp-pvh.c: Likewise.
	* lib/argp-xinl.c: Likewise.
	* lib/argp.h: Likewise.
	* lib/at-func.c: Likewise.
	* lib/atanl.c: Likewise.
	* lib/backupfile.c: Likewise.
	* lib/backupfile.h: Likewise.
	* lib/basename.c: Likewise.
	* lib/binary-io.h: Likewise.
	* lib/byteswap.in.h: Likewise.
	* lib/c-stack.c: Likewise.
	* lib/c-stack.h: Likewise.
	* lib/c-strcasestr.c: Likewise.
	* lib/c-strcasestr.h: Likewise.
	* lib/c-strstr.c: Likewise.
	* lib/c-strstr.h: Likewise.
	* lib/c-strtod.c: Likewise.
	* lib/calloc.c: Likewise.
	* lib/canon-host.c: Likewise.
	* lib/canon-host.h: Likewise.
	* lib/canonicalize-lgpl.c: Likewise.
	* lib/canonicalize.c: Likewise.
	* lib/canonicalize.h: Likewise.
	* lib/ceil.c: Likewise.
	* lib/ceilf.c: Likewise.
	* lib/ceill.c: Likewise.
	* lib/chdir-long.c: Likewise.
	* lib/chdir-long.h: Likewise.
	* lib/chdir-safer.c: Likewise.
	* lib/chdir-safer.h: Likewise.
	* lib/chown.c: Likewise.
	* lib/classpath.c: Likewise.
	* lib/classpath.h: Likewise.
	* lib/clean-temp.c: Likewise.
	* lib/clean-temp.h: Likewise.
	* lib/cloexec.c: Likewise.
	* lib/close-stream.c: Likewise.
	* lib/closein.c: Likewise.
	* lib/closein.h: Likewise.
	* lib/closeout.c: Likewise.
	* lib/closeout.h: Likewise.
	* lib/concat-filename.c: Likewise.
	* lib/copy-file.c: Likewise.
	* lib/copy-file.h: Likewise.
	* lib/count-one-bits.h: Likewise.
	* lib/crc.c: Likewise.
	* lib/crc.h: Likewise.
	* lib/creat-safer.c: Likewise.
	* lib/csharpcomp.c: Likewise.
	* lib/csharpcomp.h: Likewise.
	* lib/csharpexec.c: Likewise.
	* lib/csharpexec.h: Likewise.
	* lib/cycle-check.c: Likewise.
	* lib/cycle-check.h: Likewise.
	* lib/diacrit.c: Likewise.
	* lib/diacrit.h: Likewise.
	* lib/diffseq.h: Likewise.
	* lib/dirchownmod.c: Likewise.
	* lib/dirent.in.h: Likewise.
	* lib/dirfd.c: Likewise.
	* lib/dirfd.h: Likewise.
	* lib/dirname.c: Likewise.
	* lib/dirname.h: Likewise.
	* lib/dummy.c: Likewise.
	* lib/dup-safer.c: Likewise.
	* lib/dup2.c: Likewise.
	* lib/eealloc.h: Likewise.
	* lib/error.c: Likewise.
	* lib/error.h: Likewise.
	* lib/euidaccess.c: Likewise.
	* lib/exclude.c: Likewise.
	* lib/exclude.h: Likewise.
	* lib/execute.c: Likewise.
	* lib/execute.h: Likewise.
	* lib/exitfail.c: Likewise.
	* lib/exitfail.h: Likewise.
	* lib/expl.c: Likewise.
	* lib/fatal-signal.c: Likewise.
	* lib/fatal-signal.h: Likewise.
	* lib/fbufmode.c: Likewise.
	* lib/fbufmode.h: Likewise.
	* lib/fchdir.c: Likewise.
	* lib/fchmodat.c: Likewise.
	* lib/fchownat.c: Likewise.
	* lib/fcntl--.h: Likewise.
	* lib/fcntl-safer.h: Likewise.
	* lib/fcntl.in.h: Likewise.
	* lib/fd-safer.c: Likewise.
	* lib/fflush.c: Likewise.
	* lib/file-has-acl.c: Likewise.
	* lib/file-set.c: Likewise.
	* lib/file-type.c: Likewise.
	* lib/file-type.h: Likewise.
	* lib/fileblocks.c: Likewise.
	* lib/filemode.c: Likewise.
	* lib/filemode.h: Likewise.
	* lib/filename.h: Likewise.
	* lib/filenamecat.c: Likewise.
	* lib/filenamecat.h: Likewise.
	* lib/findprog.c: Likewise.
	* lib/findprog.h: Likewise.
	* lib/float.in.h: Likewise.
	* lib/floor.c: Likewise.
	* lib/floorf.c: Likewise.
	* lib/floorl.c: Likewise.
	* lib/fopen-safer.c: Likewise.
	* lib/fopen.c: Likewise.
	* lib/fpending.c: Likewise.
	* lib/fpending.h: Likewise.
	* lib/fprintf.c: Likewise.
	* lib/fprintftime.h: Likewise.
	* lib/fpucw.h: Likewise.
	* lib/fpurge.c: Likewise.
	* lib/fpurge.h: Likewise.
	* lib/freadable.c: Likewise.
	* lib/freadable.h: Likewise.
	* lib/freadahead.c: Likewise.
	* lib/freadahead.h: Likewise.
	* lib/freading.c: Likewise.
	* lib/freading.h: Likewise.
	* lib/free.c: Likewise.
	* lib/freopen.c: Likewise.
	* lib/frexp.c: Likewise.
	* lib/frexpl.c: Likewise.
	* lib/fseek.c: Likewise.
	* lib/fseterr.c: Likewise.
	* lib/fseterr.h: Likewise.
	* lib/fstatat.c: Likewise.
	* lib/fstrcmp.c: Likewise.
	* lib/fstrcmp.h: Likewise.
	* lib/fsusage.c: Likewise.
	* lib/fsusage.h: Likewise.
	* lib/ftell.c: Likewise.
	* lib/ftello.c: Likewise.
	* lib/fts-cycle.c: Likewise.
	* lib/fts.c: Likewise.
	* lib/fts_.h: Likewise.
	* lib/full-read.c: Likewise.
	* lib/full-read.h: Likewise.
	* lib/full-write.c: Likewise.
	* lib/full-write.h: Likewise.
	* lib/fwritable.c: Likewise.
	* lib/fwritable.h: Likewise.
	* lib/fwriteerror.c: Likewise.
	* lib/fwriteerror.h: Likewise.
	* lib/fwriting.c: Likewise.
	* lib/fwriting.h: Likewise.
	* lib/gcd.c: Likewise.
	* lib/gcd.h: Likewise.
	* lib/getcwd.c: Likewise.
	* lib/getdate.h: Likewise.
	* lib/getdate.y: Likewise.
	* lib/getdomainname.c: Likewise.
	* lib/getdomainname.h: Likewise.
	* lib/getgroups.c: Likewise.
	* lib/gethostname.c: Likewise.
	* lib/gethrxtime.c: Likewise.
	* lib/gethrxtime.h: Likewise.
	* lib/getloadavg.c: Likewise.
	* lib/getndelim2.c: Likewise.
	* lib/getndelim2.h: Likewise.
	* lib/getnline.c: Likewise.
	* lib/getnline.h: Likewise.
	* lib/getopt.c: Likewise.
	* lib/getopt.in.h: Likewise.
	* lib/getopt1.c: Likewise.
	* lib/getopt_int.h: Likewise.
	* lib/getpagesize.h: Likewise.
	* lib/getsubopt.c: Likewise.
	* lib/gettime.c: Likewise.
	* lib/getugroups.c: Likewise.
	* lib/getugroups.h: Likewise.
	* lib/getusershell.c: Likewise.
	* lib/gl_anyavltree_list1.h: Likewise.
	* lib/gl_anyavltree_list2.h: Likewise.
	* lib/gl_anyhash_list1.h: Likewise.
	* lib/gl_anyhash_list2.h: Likewise.
	* lib/gl_anylinked_list1.h: Likewise.
	* lib/gl_anylinked_list2.h: Likewise.
	* lib/gl_anyrbtree_list1.h: Likewise.
	* lib/gl_anyrbtree_list2.h: Likewise.
	* lib/gl_anytree_list1.h: Likewise.
	* lib/gl_anytree_list2.h: Likewise.
	* lib/gl_anytree_oset.h: Likewise.
	* lib/gl_anytreehash_list1.h: Likewise.
	* lib/gl_anytreehash_list2.h: Likewise.
	* lib/gl_array_list.c: Likewise.
	* lib/gl_array_list.h: Likewise.
	* lib/gl_array_oset.c: Likewise.
	* lib/gl_array_oset.h: Likewise.
	* lib/gl_avltree_list.c: Likewise.
	* lib/gl_avltree_list.h: Likewise.
	* lib/gl_avltree_oset.c: Likewise.
	* lib/gl_avltree_oset.h: Likewise.
	* lib/gl_avltreehash_list.c: Likewise.
	* lib/gl_avltreehash_list.h: Likewise.
	* lib/gl_carray_list.c: Likewise.
	* lib/gl_carray_list.h: Likewise.
	* lib/gl_linked_list.c: Likewise.
	* lib/gl_linked_list.h: Likewise.
	* lib/gl_linkedhash_list.c: Likewise.
	* lib/gl_linkedhash_list.h: Likewise.
	* lib/gl_list.c: Likewise.
	* lib/gl_list.h: Likewise.
	* lib/gl_oset.c: Likewise.
	* lib/gl_oset.h: Likewise.
	* lib/gl_rbtree_list.c: Likewise.
	* lib/gl_rbtree_list.h: Likewise.
	* lib/gl_rbtree_oset.c: Likewise.
	* lib/gl_rbtree_oset.h: Likewise.
	* lib/gl_rbtreehash_list.c: Likewise.
	* lib/gl_rbtreehash_list.h: Likewise.
	* lib/gl_sublist.c: Likewise.
	* lib/gl_sublist.h: Likewise.
	* lib/group-member.c: Likewise.
	* lib/group-member.h: Likewise.
	* lib/hard-locale.c: Likewise.
	* lib/hard-locale.h: Likewise.
	* lib/hash-pjw.c: Likewise.
	* lib/hash-pjw.h: Likewise.
	* lib/hash-triple.c: Likewise.
	* lib/hash.c: Likewise.
	* lib/hash.h: Likewise.
	* lib/human.c: Likewise.
	* lib/human.h: Likewise.
	* lib/i-ring.c: Likewise.
	* lib/i-ring.h: Likewise.
	* lib/idcache.c: Likewise.
	* lib/imaxabs.c: Likewise.
	* lib/imaxdiv.c: Likewise.
	* lib/inet_pton.c: Likewise.
	* lib/inet_pton.h: Likewise.
	* lib/intprops.h: Likewise.
	* lib/inttostr.c: Likewise.
	* lib/inttostr.h: Likewise.
	* lib/inttypes.in.h: Likewise.
	* lib/isapipe.c: Likewise.
	* lib/isdir.c: Likewise.
	* lib/isnan.c: Likewise.
	* lib/isnan.h: Likewise.
	* lib/isnanf.c: Likewise.
	* lib/isnanf.h: Likewise.
	* lib/isnanl-nolibm.h: Likewise.
	* lib/isnanl.c: Likewise.
	* lib/isnanl.h: Likewise.
	* lib/javacomp.c: Likewise.
	* lib/javacomp.h: Likewise.
	* lib/javaexec.c: Likewise.
	* lib/javaexec.h: Likewise.
	* lib/javaversion.c: Likewise.
	* lib/javaversion.h: Likewise.
	* lib/javaversion.java: Likewise.
	* lib/lbrkprop.h: Likewise.
	* lib/lchmod.h: Likewise.
	* lib/lchown.c: Likewise.
	* lib/ldexpl.c: Likewise.
	* lib/linebreak.c: Likewise.
	* lib/linebreak.h: Likewise.
	* lib/linebuffer.c: Likewise.
	* lib/linebuffer.h: Likewise.
	* lib/locale.in.h: Likewise.
	* lib/logl.c: Likewise.
	* lib/long-options.c: Likewise.
	* lib/long-options.h: Likewise.
	* lib/lstat.c: Likewise.
	* lib/lstat.h: Likewise.
	* lib/math.in.h: Likewise.
	* lib/mbchar.c: Likewise.
	* lib/mbchar.h: Likewise.
	* lib/mbfile.h: Likewise.
	* lib/mbiter.h: Likewise.
	* lib/mbscasecmp.c: Likewise.
	* lib/mbscasestr.c: Likewise.
	* lib/mbschr.c: Likewise.
	* lib/mbscspn.c: Likewise.
	* lib/mbslen.c: Likewise.
	* lib/mbsncasecmp.c: Likewise.
	* lib/mbsnlen.c: Likewise.
	* lib/mbspbrk.c: Likewise.
	* lib/mbspcasecmp.c: Likewise.
	* lib/mbsrchr.c: Likewise.
	* lib/mbssep.c: Likewise.
	* lib/mbsspn.c: Likewise.
	* lib/mbsstr.c: Likewise.
	* lib/mbstok_r.c: Likewise.
	* lib/mbswidth.c: Likewise.
	* lib/mbswidth.h: Likewise.
	* lib/mbuiter.h: Likewise.
	* lib/memcasecmp.c: Likewise.
	* lib/memcasecmp.h: Likewise.
	* lib/memchr.c: Likewise.
	* lib/memcmp.c: Likewise.
	* lib/memcoll.c: Likewise.
	* lib/memcoll.h: Likewise.
	* lib/memcpy.c: Likewise.
	* lib/memrchr.c: Likewise.
	* lib/mkancesdirs.c: Likewise.
	* lib/mkdir-p.c: Likewise.
	* lib/mkdir-p.h: Likewise.
	* lib/mkdir.c: Likewise.
	* lib/mkdirat.c: Likewise.
	* lib/mkdtemp.c: Likewise.
	* lib/mkstemp-safer.c: Likewise.
	* lib/mkstemp.c: Likewise.
	* lib/modechange.c: Likewise.
	* lib/modechange.h: Likewise.
	* lib/mountlist.c: Likewise.
	* lib/mountlist.h: Likewise.
	* lib/mpsort.c: Likewise.
	* lib/nanosleep.c: Likewise.
	* lib/obstack.c: Likewise.
	* lib/obstack.h: Likewise.
	* lib/open-safer.c: Likewise.
	* lib/open.c: Likewise.
	* lib/openat-die.c: Likewise.
	* lib/openat-priv.h: Likewise.
	* lib/openat-proc.c: Likewise.
	* lib/openat.c: Likewise.
	* lib/openat.h: Likewise.
	* lib/pagealign_alloc.c: Likewise.
	* lib/pagealign_alloc.h: Likewise.
	* lib/physmem.c: Likewise.
	* lib/physmem.h: Likewise.
	* lib/pipe-safer.c: Likewise.
	* lib/pipe.c: Likewise.
	* lib/pipe.h: Likewise.
	* lib/posixtm.c: Likewise.
	* lib/posixtm.h: Likewise.
	* lib/posixver.c: Likewise.
	* lib/printf-frexp.c: Likewise.
	* lib/printf-frexp.h: Likewise.
	* lib/printf-frexpl.c: Likewise.
	* lib/printf-frexpl.h: Likewise.
	* lib/printf.c: Likewise.
	* lib/progname.c: Likewise.
	* lib/progname.h: Likewise.
	* lib/progreloc.c: Likewise.
	* lib/putenv.c: Likewise.
	* lib/quote.c: Likewise.
	* lib/quote.h: Likewise.
	* lib/quotearg.c: Likewise.
	* lib/quotearg.h: Likewise.
	* lib/raise.c: Likewise.
	* lib/readline.c: Likewise.
	* lib/readline.h: Likewise.
	* lib/readlink.c: Likewise.
	* lib/readtokens.c: Likewise.
	* lib/readtokens.h: Likewise.
	* lib/readtokens0.c: Likewise.
	* lib/readtokens0.h: Likewise.
	* lib/readutmp.c: Likewise.
	* lib/readutmp.h: Likewise.
	* lib/realloc.c: Likewise.
	* lib/relocwrapper.c: Likewise.
	* lib/rename-dest-slash.c: Likewise.
	* lib/rename.c: Likewise.
	* lib/rmdir.c: Likewise.
	* lib/rpmatch.c: Likewise.
	* lib/safe-read.c: Likewise.
	* lib/safe-read.h: Likewise.
	* lib/safe-write.c: Likewise.
	* lib/safe-write.h: Likewise.
	* lib/same-inode.h: Likewise.
	* lib/same.c: Likewise.
	* lib/same.h: Likewise.
	* lib/save-cwd.c: Likewise.
	* lib/save-cwd.h: Likewise.
	* lib/savedir.c: Likewise.
	* lib/savedir.h: Likewise.
	* lib/savewd.c: Likewise.
	* lib/savewd.h: Likewise.
	* lib/search.in.h: Likewise.
	* lib/setenv.c: Likewise.
	* lib/setenv.h: Likewise.
	* lib/settime.c: Likewise.
	* lib/sh-quote.c: Likewise.
	* lib/sh-quote.h: Likewise.
	* lib/sig2str.c: Likewise.
	* lib/sig2str.h: Likewise.
	* lib/signal.in.h: Likewise.
	* lib/signbitd.c: Likewise.
	* lib/signbitf.c: Likewise.
	* lib/signbitl.c: Likewise.
	* lib/sigprocmask.c: Likewise.
	* lib/sincosl.c: Likewise.
	* lib/sleep.c: Likewise.
	* lib/sprintf.c: Likewise.
	* lib/sqrtl.c: Likewise.
	* lib/stat-time.h: Likewise.
	* lib/stdio--.h: Likewise.
	* lib/stdio-safer.h: Likewise.
	* lib/stdlib--.h: Likewise.
	* lib/stdlib-safer.h: Likewise.
	* lib/stdlib.in.h: Likewise.
	* lib/stpcpy.c: Likewise.
	* lib/stpncpy.c: Likewise.
	* lib/strchrnul.c: Likewise.
	* lib/strcspn.c: Likewise.
	* lib/strerror.c: Likewise.
	* lib/strftime.c: Likewise.
	* lib/strftime.h: Likewise.
	* lib/striconveh.c: Likewise.
	* lib/striconveh.h: Likewise.
	* lib/striconveha.c: Likewise.
	* lib/striconveha.h: Likewise.
	* lib/stripslash.c: Likewise.
	* lib/strnlen1.c: Likewise.
	* lib/strnlen1.h: Likewise.
	* lib/strtod.c: Likewise.
	* lib/strtoimax.c: Likewise.
	* lib/strtok_r.c: Likewise.
	* lib/strtol.c: Likewise.
	* lib/strtoll.c: Likewise.
	* lib/strtoul.c: Likewise.
	* lib/strtoull.c: Likewise.
	* lib/sysexits.in.h: Likewise.
	* lib/tempname.c: Likewise.
	* lib/tempname.h: Likewise.
	* lib/timespec.h: Likewise.
	* lib/tls.c: Likewise.
	* lib/tls.h: Likewise.
	* lib/tmpdir.c: Likewise.
	* lib/tmpdir.h: Likewise.
	* lib/tmpfile-safer.c: Likewise.
	* lib/tmpfile.c: Likewise.
	* lib/trigl.c: Likewise.
	* lib/trigl.h: Likewise.
	* lib/trim.c: Likewise.
	* lib/trim.h: Likewise.
	* lib/trunc.c: Likewise.
	* lib/truncf.c: Likewise.
	* lib/truncl.c: Likewise.
	* lib/tsearch.c: Likewise.
	* lib/unicodeio.c: Likewise.
	* lib/unicodeio.h: Likewise.
	* lib/unistd--.h: Likewise.
	* lib/unistd-safer.h: Likewise.
	* lib/unistdio/ulc-fprintf.c: Likewise.
	* lib/unistdio/ulc-vfprintf.c: Likewise.
	* lib/unlinkdir.c: Likewise.
	* lib/unlinkdir.h: Likewise.
	* lib/unlocked-io.h: Likewise.
	* lib/unsetenv.c: Likewise.
	* lib/userspec.c: Likewise.
	* lib/utime.c: Likewise.
	* lib/utimecmp.c: Likewise.
	* lib/utimecmp.h: Likewise.
	* lib/utimens.c: Likewise.
	* lib/verify.h: Likewise.
	* lib/verror.c: Likewise.
	* lib/verror.h: Likewise.
	* lib/version-etc-fsf.c: Likewise.
	* lib/version-etc.c: Likewise.
	* lib/version-etc.h: Likewise.
	* lib/vfprintf.c: Likewise.
	* lib/vprintf.c: Likewise.
	* lib/vsprintf.c: Likewise.
	* lib/w32spawn.h: Likewise.
	* lib/wait-process.c: Likewise.
	* lib/wait-process.h: Likewise.
	* lib/wcwidth.c: Likewise.
	* lib/write-any-file.c: Likewise.
	* lib/xalloc-die.c: Likewise.
	* lib/xalloc.h: Likewise.
	* lib/xasprintf.c: Likewise.
	* lib/xgetcwd.c: Likewise.
	* lib/xgetcwd.h: Likewise.
	* lib/xgetdomainname.c: Likewise.
	* lib/xgetdomainname.h: Likewise.
	* lib/xgethostname.c: Likewise.
	* lib/xmalloc.c: Likewise.
	* lib/xmalloca.c: Likewise.
	* lib/xmalloca.h: Likewise.
	* lib/xmemcoll.c: Likewise.
	* lib/xnanosleep.c: Likewise.
	* lib/xreadlink.c: Likewise.
	* lib/xreadlink.h: Likewise.
	* lib/xsetenv.c: Likewise.
	* lib/xsetenv.h: Likewise.
	* lib/xstriconv.c: Likewise.
	* lib/xstriconv.h: Likewise.
	* lib/xstrndup.c: Likewise.
	* lib/xstrndup.h: Likewise.
	* lib/xstrtod.c: Likewise.
	* lib/xstrtod.h: Likewise.
	* lib/xstrtol-error.c: Likewise.
	* lib/xstrtol.c: Likewise.
	* lib/xstrtol.h: Likewise.
	* lib/xtime.h: Likewise.
	* lib/xvasprintf.c: Likewise.
	* lib/xvasprintf.h: Likewise.
	* lib/yesno.c: Likewise.
	* lib/yesno.h: Likewise.
	* posix-modules: Likewise.
	* tests/test-alloca-opt.c: Likewise.
	* tests/test-arcfour.c: Likewise.
	* tests/test-arctwo.c: Likewise.
	* tests/test-argmatch.c: Likewise.
	* tests/test-argp-2.sh: Likewise.
	* tests/test-argp.c: Likewise.
	* tests/test-arpa_inet.c: Likewise.
	* tests/test-array_list.c: Likewise.
	* tests/test-array_oset.c: Likewise.
	* tests/test-atexit.c: Likewise.
	* tests/test-avltree_list.c: Likewise.
	* tests/test-avltree_oset.c: Likewise.
	* tests/test-avltreehash_list.c: Likewise.
	* tests/test-base64.c: Likewise.
	* tests/test-binary-io.c: Likewise.
	* tests/test-byteswap.c: Likewise.
	* tests/test-c-ctype.c: Likewise.
	* tests/test-c-strcasecmp.c: Likewise.
	* tests/test-c-strcasestr.c: Likewise.
	* tests/test-c-strncasecmp.c: Likewise.
	* tests/test-c-strstr.c: Likewise.
	* tests/test-canonicalize-lgpl.c: Likewise.
	* tests/test-canonicalize.c: Likewise.
	* tests/test-carray_list.c: Likewise.
	* tests/test-ceilf.c: Likewise.
	* tests/test-ceill.c: Likewise.
	* tests/test-count-one-bits.c: Likewise.
	* tests/test-crc.c: Likewise.
	* tests/test-dirname.c: Likewise.
	* tests/test-fbufmode.c: Likewise.
	* tests/test-fcntl.c: Likewise.
	* tests/test-fflush.c: Likewise.
	* tests/test-floorf.c: Likewise.
	* tests/test-floorl.c: Likewise.
	* tests/test-fopen.c: Likewise.
	* tests/test-fprintf-posix.c: Likewise.
	* tests/test-fprintf-posix.h: Likewise.
	* tests/test-fpurge.c: Likewise.
	* tests/test-freadable.c: Likewise.
	* tests/test-freadahead.c: Likewise.
	* tests/test-freading.c: Likewise.
	* tests/test-freopen.c: Likewise.
	* tests/test-frexp.c: Likewise.
	* tests/test-frexpl.c: Likewise.
	* tests/test-fseek.c: Likewise.
	* tests/test-fseeko.c: Likewise.
	* tests/test-fseterr.c: Likewise.
	* tests/test-fstrcmp.c: Likewise.
	* tests/test-ftell.c: Likewise.
	* tests/test-ftello.c: Likewise.
	* tests/test-fwritable.c: Likewise.
	* tests/test-fwriting.c: Likewise.
	* tests/test-getaddrinfo.c: Likewise.
	* tests/test-getpass.c: Likewise.
	* tests/test-gettimeofday.c: Likewise.
	* tests/test-hmac-md5.c: Likewise.
	* tests/test-hmac-sha1.c: Likewise.
	* tests/test-iconv.c: Likewise.
	* tests/test-iconvme.c: Likewise.
	* tests/test-inttypes.c: Likewise.
	* tests/test-isnan.c: Likewise.
	* tests/test-isnanf.c: Likewise.
	* tests/test-isnanl-nolibm.c: Likewise.
	* tests/test-isnanl.c: Likewise.
	* tests/test-isnanl.h: Likewise.
	* tests/test-ldexpl.c: Likewise.
	* tests/test-linked_list.c: Likewise.
	* tests/test-linkedhash_list.c: Likewise.
	* tests/test-locale.c: Likewise.
	* tests/test-localename.c: Likewise.
	* tests/test-lock.c: Likewise.
	* tests/test-lseek.c: Likewise.
	* tests/test-malloca.c: Likewise.
	* tests/test-math.c: Likewise.
	* tests/test-mbscasecmp.c: Likewise.
	* tests/test-mbscasestr1.c: Likewise.
	* tests/test-mbscasestr2.c: Likewise.
	* tests/test-mbscasestr3.c: Likewise.
	* tests/test-mbscasestr4.c: Likewise.
	* tests/test-mbschr.c: Likewise.
	* tests/test-mbscspn.c: Likewise.
	* tests/test-mbsncasecmp.c: Likewise.
	* tests/test-mbspbrk.c: Likewise.
	* tests/test-mbspcasecmp.c: Likewise.
	* tests/test-mbsrchr.c: Likewise.
	* tests/test-mbsspn.c: Likewise.
	* tests/test-mbsstr1.c: Likewise.
	* tests/test-mbsstr2.c: Likewise.
	* tests/test-mbsstr3.c: Likewise.
	* tests/test-md5.c: Likewise.
	* tests/test-memmem.c: Likewise.
	* tests/test-netinet_in.c: Likewise.
	* tests/test-open.c: Likewise.
	* tests/test-printf-frexp.c: Likewise.
	* tests/test-printf-frexpl.c: Likewise.
	* tests/test-printf-posix.c: Likewise.
	* tests/test-printf-posix.h: Likewise.
	* tests/test-rbtree_list.c: Likewise.
	* tests/test-rbtree_oset.c: Likewise.
	* tests/test-rbtreehash_list.c: Likewise.
	* tests/test-read-file.c: Likewise.
	* tests/test-rijndael.c: Likewise.
	* tests/test-search.c: Likewise.
	* tests/test-signbit.c: Likewise.
	* tests/test-sleep.c: Likewise.
	* tests/test-snprintf-posix.c: Likewise.
	* tests/test-snprintf-posix.h: Likewise.
	* tests/test-snprintf.c: Likewise.
	* tests/test-sprintf-posix.c: Likewise.
	* tests/test-sprintf-posix.h: Likewise.
	* tests/test-stat-time.c: Likewise.
	* tests/test-stdbool.c: Likewise.
	* tests/test-stdint.c: Likewise.
	* tests/test-stdio.c: Likewise.
	* tests/test-stdlib.c: Likewise.
	* tests/test-stpncpy.c: Likewise.
	* tests/test-strcasestr.c: Likewise.
	* tests/test-striconv.c: Likewise.
	* tests/test-striconveh.c: Likewise.
	* tests/test-striconveha.c: Likewise.
	* tests/test-string.c: Likewise.
	* tests/test-sys_select.c: Likewise.
	* tests/test-sys_socket.c: Likewise.
	* tests/test-sys_stat.c: Likewise.
	* tests/test-sys_time.c: Likewise.
	* tests/test-sysexits.c: Likewise.
	* tests/test-time.c: Likewise.
	* tests/test-tls.c: Likewise.
	* tests/test-trunc.c: Likewise.
	* tests/test-truncf.c: Likewise.
	* tests/test-truncl.c: Likewise.
	* tests/test-unistd.c: Likewise.
	* tests/test-vasnprintf-posix.c: Likewise.
	* tests/test-vasnprintf-posix2.c: Likewise.
	* tests/test-vasnprintf.c: Likewise.
	* tests/test-vasprintf-posix.c: Likewise.
	* tests/test-vasprintf.c: Likewise.
	* tests/test-verify.c: Likewise.
	* tests/test-vfprintf-posix.c: Likewise.
	* tests/test-vprintf-posix.c: Likewise.
	* tests/test-vsnprintf-posix.c: Likewise.
	* tests/test-vsnprintf.c: Likewise.
	* tests/test-vsprintf-posix.c: Likewise.
	* tests/test-wchar.c: Likewise.
	* tests/test-wctype.c: Likewise.
	* tests/test-wcwidth.c: Likewise.
	* tests/test-xstrtol.c: Likewise.
	* tests/test-xvasprintf.c: Likewise.
	* tests/uniconv/test-u16-conv-from-enc.c: Likewise.
	* tests/uniconv/test-u16-conv-to-enc.c: Likewise.
	* tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
	* tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
	* tests/uniconv/test-u32-conv-from-enc.c: Likewise.
	* tests/uniconv/test-u32-conv-to-enc.c: Likewise.
	* tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
	* tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
	* tests/uniconv/test-u8-conv-from-enc.c: Likewise.
	* tests/uniconv/test-u8-conv-to-enc.c: Likewise.
	* tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
	* tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
	* tests/uniname/test-uninames.c: Likewise.
	* tests/unistdio/test-u16-asnprintf1.c: Likewise.
	* tests/unistdio/test-u16-asnprintf1.h: Likewise.
	* tests/unistdio/test-u16-printf1.h: Likewise.
	* tests/unistdio/test-u16-vasnprintf1.c: Likewise.
	* tests/unistdio/test-u16-vasnprintf2.c: Likewise.
	* tests/unistdio/test-u16-vasnprintf3.c: Likewise.
	* tests/unistdio/test-u16-vasprintf1.c: Likewise.
	* tests/unistdio/test-u16-vsnprintf1.c: Likewise.
	* tests/unistdio/test-u16-vsprintf1.c: Likewise.
	* tests/unistdio/test-u32-asnprintf1.c: Likewise.
	* tests/unistdio/test-u32-asnprintf1.h: Likewise.
	* tests/unistdio/test-u32-printf1.h: Likewise.
	* tests/unistdio/test-u32-vasnprintf1.c: Likewise.
	* tests/unistdio/test-u32-vasnprintf2.c: Likewise.
	* tests/unistdio/test-u32-vasnprintf3.c: Likewise.
	* tests/unistdio/test-u32-vasprintf1.c: Likewise.
	* tests/unistdio/test-u32-vsnprintf1.c: Likewise.
	* tests/unistdio/test-u32-vsprintf1.c: Likewise.
	* tests/unistdio/test-u8-asnprintf1.c: Likewise.
	* tests/unistdio/test-u8-asnprintf1.h: Likewise.
	* tests/unistdio/test-u8-printf1.h: Likewise.
	* tests/unistdio/test-u8-vasnprintf1.c: Likewise.
	* tests/unistdio/test-u8-vasnprintf2.c: Likewise.
	* tests/unistdio/test-u8-vasnprintf3.c: Likewise.
	* tests/unistdio/test-u8-vasprintf1.c: Likewise.
	* tests/unistdio/test-u8-vsnprintf1.c: Likewise.
	* tests/unistdio/test-u8-vsprintf1.c: Likewise.
	* tests/unistdio/test-ulc-asnprintf1.c: Likewise.
	* tests/unistdio/test-ulc-asnprintf1.h: Likewise.
	* tests/unistdio/test-ulc-printf1.h: Likewise.
	* tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
	* tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
	* tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
	* tests/unistdio/test-ulc-vasprintf1.c: Likewise.
	* tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
	* tests/unistdio/test-ulc-vsprintf1.c: Likewise.
	* tests/uniwidth/test-u16-strwidth.c: Likewise.
	* tests/uniwidth/test-u16-width.c: Likewise.
	* tests/uniwidth/test-u32-strwidth.c: Likewise.
	* tests/uniwidth/test-u32-width.c: Likewise.
	* tests/uniwidth/test-u8-strwidth.c: Likewise.
	* tests/uniwidth/test-u8-width.c: Likewise.
	* tests/uniwidth/test-uc_width.c: Likewise.
	* config/srclist-update: Likewise.
	(fixlicense): Update to GPLv3+.

	Change copyright notice from LGPLv2.1+ to LGPLv3+.
	* tests/test-tsearch.c: Change copyright notice.

	Change copyright notice from LGPLv2.0+ to LGPLv3+.
	* lib/c-strcaseeq.h: Change copyright notice.
	* lib/streq.h: Likewise.
	* lib/uniconv.h: Likewise.
	* lib/uniconv/u-conv-from-enc.h: Likewise.
	* lib/uniconv/u-conv-to-enc.h: Likewise.
	* lib/uniconv/u-strconv-from-enc.h: Likewise.
	* lib/uniconv/u-strconv-to-enc.h: Likewise.
	* lib/uniconv/u16-conv-from-enc.c: Likewise.
	* lib/uniconv/u16-conv-to-enc.c: Likewise.
	* lib/uniconv/u16-strconv-from-enc.c: Likewise.
	* lib/uniconv/u16-strconv-from-locale.c: Likewise.
	* lib/uniconv/u16-strconv-to-enc.c: Likewise.
	* lib/uniconv/u16-strconv-to-locale.c: Likewise.
	* lib/uniconv/u32-conv-from-enc.c: Likewise.
	* lib/uniconv/u32-conv-to-enc.c: Likewise.
	* lib/uniconv/u32-strconv-from-enc.c: Likewise.
	* lib/uniconv/u32-strconv-from-locale.c: Likewise.
	* lib/uniconv/u32-strconv-to-enc.c: Likewise.
	* lib/uniconv/u32-strconv-to-locale.c: Likewise.
	* lib/uniconv/u8-conv-from-enc.c: Likewise.
	* lib/uniconv/u8-conv-to-enc.c: Likewise.
	* lib/uniconv/u8-strconv-from-enc.c: Likewise.
	* lib/uniconv/u8-strconv-from-locale.c: Likewise.
	* lib/uniconv/u8-strconv-to-enc.c: Likewise.
	* lib/uniconv/u8-strconv-to-locale.c: Likewise.
	* lib/uniname.h: Likewise.
	* lib/uniname/uniname.c: Likewise.
	* lib/unistdio.h: Likewise.
	* lib/unistdio/u-asnprintf.h: Likewise.
	* lib/unistdio/u-asprintf.h: Likewise.
	* lib/unistdio/u-printf-args.c: Likewise.
	* lib/unistdio/u-printf-args.h: Likewise.
	* lib/unistdio/u-printf-parse.h: Likewise.
	* lib/unistdio/u-snprintf.h: Likewise.
	* lib/unistdio/u-sprintf.h: Likewise.
	* lib/unistdio/u-vasprintf.h: Likewise.
	* lib/unistdio/u-vsnprintf.h: Likewise.
	* lib/unistdio/u-vsprintf.h: Likewise.
	* lib/unistdio/u16-asnprintf.c: Likewise.
	* lib/unistdio/u16-asprintf.c: Likewise.
	* lib/unistdio/u16-printf-parse.c: Likewise.
	* lib/unistdio/u16-snprintf.c: Likewise.
	* lib/unistdio/u16-sprintf.c: Likewise.
	* lib/unistdio/u16-u16-asnprintf.c: Likewise.
	* lib/unistdio/u16-u16-asprintf.c: Likewise.
	* lib/unistdio/u16-u16-snprintf.c: Likewise.
	* lib/unistdio/u16-u16-sprintf.c: Likewise.
	* lib/unistdio/u16-u16-vasnprintf.c: Likewise.
	* lib/unistdio/u16-u16-vasprintf.c: Likewise.
	* lib/unistdio/u16-u16-vsnprintf.c: Likewise.
	* lib/unistdio/u16-u16-vsprintf.c: Likewise.
	* lib/unistdio/u16-vasnprintf.c: Likewise.
	* lib/unistdio/u16-vasprintf.c: Likewise.
	* lib/unistdio/u16-vsnprintf.c: Likewise.
	* lib/unistdio/u16-vsprintf.c: Likewise.
	* lib/unistdio/u32-asnprintf.c: Likewise.
	* lib/unistdio/u32-asprintf.c: Likewise.
	* lib/unistdio/u32-printf-parse.c: Likewise.
	* lib/unistdio/u32-snprintf.c: Likewise.
	* lib/unistdio/u32-sprintf.c: Likewise.
	* lib/unistdio/u32-u32-asnprintf.c: Likewise.
	* lib/unistdio/u32-u32-asprintf.c: Likewise.
	* lib/unistdio/u32-u32-snprintf.c: Likewise.
	* lib/unistdio/u32-u32-sprintf.c: Likewise.
	* lib/unistdio/u32-u32-vasnprintf.c: Likewise.
	* lib/unistdio/u32-u32-vasprintf.c: Likewise.
	* lib/unistdio/u32-u32-vsnprintf.c: Likewise.
	* lib/unistdio/u32-u32-vsprintf.c: Likewise.
	* lib/unistdio/u32-vasnprintf.c: Likewise.
	* lib/unistdio/u32-vasprintf.c: Likewise.
	* lib/unistdio/u32-vsnprintf.c: Likewise.
	* lib/unistdio/u32-vsprintf.c: Likewise.
	* lib/unistdio/u8-asnprintf.c: Likewise.
	* lib/unistdio/u8-asprintf.c: Likewise.
	* lib/unistdio/u8-printf-parse.c: Likewise.
	* lib/unistdio/u8-snprintf.c: Likewise.
	* lib/unistdio/u8-sprintf.c: Likewise.
	* lib/unistdio/u8-u8-asnprintf.c: Likewise.
	* lib/unistdio/u8-u8-asprintf.c: Likewise.
	* lib/unistdio/u8-u8-snprintf.c: Likewise.
	* lib/unistdio/u8-u8-sprintf.c: Likewise.
	* lib/unistdio/u8-u8-vasnprintf.c: Likewise.
	* lib/unistdio/u8-u8-vasprintf.c: Likewise.
	* lib/unistdio/u8-u8-vsnprintf.c: Likewise.
	* lib/unistdio/u8-u8-vsprintf.c: Likewise.
	* lib/unistdio/u8-vasnprintf.c: Likewise.
	* lib/unistdio/u8-vasprintf.c: Likewise.
	* lib/unistdio/u8-vsnprintf.c: Likewise.
	* lib/unistdio/u8-vsprintf.c: Likewise.
	* lib/unistdio/ulc-asnprintf.c: Likewise.
	* lib/unistdio/ulc-asprintf.c: Likewise.
	* lib/unistdio/ulc-printf-parse.c: Likewise.
	* lib/unistdio/ulc-snprintf.c: Likewise.
	* lib/unistdio/ulc-sprintf.c: Likewise.
	* lib/unistdio/ulc-vasnprintf.c: Likewise.
	* lib/unistdio/ulc-vasprintf.c: Likewise.
	* lib/unistdio/ulc-vsnprintf.c: Likewise.
	* lib/unistdio/ulc-vsprintf.c: Likewise.
	* lib/unistr.h: Likewise.
	* lib/unistr/u-cpy-alloc.h: Likewise.
	* lib/unistr/u-cpy.h: Likewise.
	* lib/unistr/u-endswith.h: Likewise.
	* lib/unistr/u-move.h: Likewise.
	* lib/unistr/u-set.h: Likewise.
	* lib/unistr/u-startswith.h: Likewise.
	* lib/unistr/u-stpcpy.h: Likewise.
	* lib/unistr/u-stpncpy.h: Likewise.
	* lib/unistr/u-strcat.h: Likewise.
	* lib/unistr/u-strcpy.h: Likewise.
	* lib/unistr/u-strcspn.h: Likewise.
	* lib/unistr/u-strdup.h: Likewise.
	* lib/unistr/u-strlen.h: Likewise.
	* lib/unistr/u-strncat.h: Likewise.
	* lib/unistr/u-strncpy.h: Likewise.
	* lib/unistr/u-strnlen.h: Likewise.
	* lib/unistr/u-strpbrk.h: Likewise.
	* lib/unistr/u-strspn.h: Likewise.
	* lib/unistr/u-strstr.h: Likewise.
	* lib/unistr/u-strtok.h: Likewise.
	* lib/unistr/u16-check.c: Likewise.
	* lib/unistr/u16-chr.c: Likewise.
	* lib/unistr/u16-cmp.c: Likewise.
	* lib/unistr/u16-cpy-alloc.c: Likewise.
	* lib/unistr/u16-cpy.c: Likewise.
	* lib/unistr/u16-endswith.c: Likewise.
	* lib/unistr/u16-mblen.c: Likewise.
	* lib/unistr/u16-mbsnlen.c: Likewise.
	* lib/unistr/u16-mbtouc-aux.c: Likewise.
	* lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
	* lib/unistr/u16-mbtouc-unsafe.c: Likewise.
	* lib/unistr/u16-mbtouc.c: Likewise.
	* lib/unistr/u16-mbtoucr.c: Likewise.
	* lib/unistr/u16-move.c: Likewise.
	* lib/unistr/u16-next.c: Likewise.
	* lib/unistr/u16-prev.c: Likewise.
	* lib/unistr/u16-set.c: Likewise.
	* lib/unistr/u16-startswith.c: Likewise.
	* lib/unistr/u16-stpcpy.c: Likewise.
	* lib/unistr/u16-stpncpy.c: Likewise.
	* lib/unistr/u16-strcat.c: Likewise.
	* lib/unistr/u16-strchr.c: Likewise.
	* lib/unistr/u16-strcmp.c: Likewise.
	* lib/unistr/u16-strcpy.c: Likewise.
	* lib/unistr/u16-strcspn.c: Likewise.
	* lib/unistr/u16-strdup.c: Likewise.
	* lib/unistr/u16-strlen.c: Likewise.
	* lib/unistr/u16-strmblen.c: Likewise.
	* lib/unistr/u16-strmbtouc.c: Likewise.
	* lib/unistr/u16-strncat.c: Likewise.
	* lib/unistr/u16-strncmp.c: Likewise.
	* lib/unistr/u16-strncpy.c: Likewise.
	* lib/unistr/u16-strnlen.c: Likewise.
	* lib/unistr/u16-strpbrk.c: Likewise.
	* lib/unistr/u16-strrchr.c: Likewise.
	* lib/unistr/u16-strspn.c: Likewise.
	* lib/unistr/u16-strstr.c: Likewise.
	* lib/unistr/u16-strtok.c: Likewise.
	* lib/unistr/u16-to-u32.c: Likewise.
	* lib/unistr/u16-to-u8.c: Likewise.
	* lib/unistr/u16-uctomb-aux.c: Likewise.
	* lib/unistr/u16-uctomb.c: Likewise.
	* lib/unistr/u32-check.c: Likewise.
	* lib/unistr/u32-chr.c: Likewise.
	* lib/unistr/u32-cmp.c: Likewise.
	* lib/unistr/u32-cpy-alloc.c: Likewise.
	* lib/unistr/u32-cpy.c: Likewise.
	* lib/unistr/u32-endswith.c: Likewise.
	* lib/unistr/u32-mblen.c: Likewise.
	* lib/unistr/u32-mbsnlen.c: Likewise.
	* lib/unistr/u32-mbtouc-unsafe.c: Likewise.
	* lib/unistr/u32-mbtouc.c: Likewise.
	* lib/unistr/u32-mbtoucr.c: Likewise.
	* lib/unistr/u32-move.c: Likewise.
	* lib/unistr/u32-next.c: Likewise.
	* lib/unistr/u32-prev.c: Likewise.
	* lib/unistr/u32-set.c: Likewise.
	* lib/unistr/u32-startswith.c: Likewise.
	* lib/unistr/u32-stpcpy.c: Likewise.
	* lib/unistr/u32-stpncpy.c: Likewise.
	* lib/unistr/u32-strcat.c: Likewise.
	* lib/unistr/u32-strchr.c: Likewise.
	* lib/unistr/u32-strcmp.c: Likewise.
	* lib/unistr/u32-strcpy.c: Likewise.
	* lib/unistr/u32-strcspn.c: Likewise.
	* lib/unistr/u32-strdup.c: Likewise.
	* lib/unistr/u32-strlen.c: Likewise.
	* lib/unistr/u32-strmblen.c: Likewise.
	* lib/unistr/u32-strmbtouc.c: Likewise.
	* lib/unistr/u32-strncat.c: Likewise.
	* lib/unistr/u32-strncmp.c: Likewise.
	* lib/unistr/u32-strncpy.c: Likewise.
	* lib/unistr/u32-strnlen.c: Likewise.
	* lib/unistr/u32-strpbrk.c: Likewise.
	* lib/unistr/u32-strrchr.c: Likewise.
	* lib/unistr/u32-strspn.c: Likewise.
	* lib/unistr/u32-strstr.c: Likewise.
	* lib/unistr/u32-strtok.c: Likewise.
	* lib/unistr/u32-to-u16.c: Likewise.
	* lib/unistr/u32-to-u8.c: Likewise.
	* lib/unistr/u32-uctomb.c: Likewise.
	* lib/unistr/u8-check.c: Likewise.
	* lib/unistr/u8-chr.c: Likewise.
	* lib/unistr/u8-cmp.c: Likewise.
	* lib/unistr/u8-cpy-alloc.c: Likewise.
	* lib/unistr/u8-cpy.c: Likewise.
	* lib/unistr/u8-endswith.c: Likewise.
	* lib/unistr/u8-mblen.c: Likewise.
	* lib/unistr/u8-mbsnlen.c: Likewise.
	* lib/unistr/u8-mbtouc-aux.c: Likewise.
	* lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
	* lib/unistr/u8-mbtouc-unsafe.c: Likewise.
	* lib/unistr/u8-mbtouc.c: Likewise.
	* lib/unistr/u8-mbtoucr.c: Likewise.
	* lib/unistr/u8-move.c: Likewise.
	* lib/unistr/u8-next.c: Likewise.
	* lib/unistr/u8-prev.c: Likewise.
	* lib/unistr/u8-set.c: Likewise.
	* lib/unistr/u8-startswith.c: Likewise.
	* lib/unistr/u8-stpcpy.c: Likewise.
	* lib/unistr/u8-stpncpy.c: Likewise.
	* lib/unistr/u8-strcat.c: Likewise.
	* lib/unistr/u8-strchr.c: Likewise.
	* lib/unistr/u8-strcmp.c: Likewise.
	* lib/unistr/u8-strcpy.c: Likewise.
	* lib/unistr/u8-strcspn.c: Likewise.
	* lib/unistr/u8-strdup.c: Likewise.
	* lib/unistr/u8-strlen.c: Likewise.
	* lib/unistr/u8-strmblen.c: Likewise.
	* lib/unistr/u8-strmbtouc.c: Likewise.
	* lib/unistr/u8-strncat.c: Likewise.
	* lib/unistr/u8-strncmp.c: Likewise.
	* lib/unistr/u8-strncpy.c: Likewise.
	* lib/unistr/u8-strnlen.c: Likewise.
	* lib/unistr/u8-strpbrk.c: Likewise.
	* lib/unistr/u8-strrchr.c: Likewise.
	* lib/unistr/u8-strspn.c: Likewise.
	* lib/unistr/u8-strstr.c: Likewise.
	* lib/unistr/u8-strtok.c: Likewise.
	* lib/unistr/u8-to-u16.c: Likewise.
	* lib/unistr/u8-to-u32.c: Likewise.
	* lib/unistr/u8-uctomb-aux.c: Likewise.
	* lib/unistr/u8-uctomb.c: Likewise.
	* lib/unitypes.h: Likewise.
	* lib/uniwidth.h: Likewise.
	* lib/uniwidth/cjk.h: Likewise.
	* lib/uniwidth/u16-strwidth.c: Likewise.
	* lib/uniwidth/u16-width.c: Likewise.
	* lib/uniwidth/u32-strwidth.c: Likewise.
	* lib/uniwidth/u32-width.c: Likewise.
	* lib/uniwidth/u8-strwidth.c: Likewise.
	* lib/uniwidth/u8-width.c: Likewise.
	* lib/uniwidth/width.c: Likewise.

2007-10-07  Bruno Haible  <bruno@clisp.org>

	* lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
	The file is still under LGPL (see modules/inttypes).

2007-10-06  Bruno Haible  <bruno@clisp.org>

	* modules/trunc (Dependencies): Add 'extensions'.
	* m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
	Reported by Ben Pfaff <blp@gnu.org>.

2007-10-06  Bruno Haible  <bruno@clisp.org>

	* modules/freopen-tests: New file.
	* tests/test-freopen.c: New file.

	* modules/fopen-tests: New file.
	* tests/test-fopen.c: New file.

	* modules/fopen: New file.
	* lib/fopen.c: New file.
	* m4/fopen.m4: New file.
	* modules/freopen: New file.
	* lib/freopen.c: New file.
	* m4/freopen.m4: New file.
	* lib/stdio.in.h (fopen, freopen): New declarations.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
	GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
	* modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
	GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
	* doc/functions/fopen.texi: Mention the 'fopen' module.
	* doc/functions/freopen.texi: Mention the 'freopen' module.

2007-10-06  Bruno Haible  <bruno@clisp.org>

	* modules/open-tests: New file.
	* tests/test-open.c: New file.

	* modules/open: New file.
	* lib/open.c: New file.
	* m4/open.m4: New file.
	* lib/fchdir.c (open): If the gnulib module 'open' is used, do what
	lib/open.c does.
	* lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
	* m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
	macros.
	(gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
	* modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
	REPLACE_OPEN.
	* doc/functions/open.texi: Mention the 'open' module.

2007-10-04  Bruno Haible  <bruno@clisp.org>

	* modules/ceill-tests: New file.
	* tests/test-ceill.c: New file.

	* modules/ceill: New file.
	* lib/ceill.c: Replace entire file.
	* m4/ceill.m4: New file.
	* lib/math.in.h (ceill): Replace declaration.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
	* modules/math (Makefile.am): Substitute also GNULIB_CEILL.
	* doc/functions/ceill.texi: Mention the 'ceill' module.
	* modules/mathl (Files): Remove lib/ceill.c.
	(Depends-on): Add ceill.

2007-10-04  Bruno Haible  <bruno@clisp.org>

	* modules/ceilf-tests: New file.
	* tests/test-ceilf.c: New file.

	* modules/ceilf: New file.
	* lib/ceil.c: New file.
	* lib/ceilf.c: New file.
	* m4/ceilf.m4: New file.
	* lib/math.in.h (ceilf): New declaration.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
	HAVE_DECL_CEILF.
	* modules/math (Makefile.am): Substitute also GNULIB_CEILF and
	HAVE_DECL_CEILF.
	* doc/functions/ceilf.texi: Mention the 'ceilf' module.

2007-10-04  Bruno Haible  <bruno@clisp.org>

	* modules/floorl-tests: New file.
	* tests/test-floorl.c: New file.

	* modules/floorl: New file.
	* lib/floorl.c: Replace entire file.
	* m4/floorl.m4: New file.
	* lib/math.in.h (floorl): Replace declaration.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
	* modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
	* doc/functions/floorl.texi: Mention the 'floorl' module.
	* modules/mathl (Files): Remove lib/floorl.c.
	(Depends-on): Add floorl.

2007-10-04  Bruno Haible  <bruno@clisp.org>

	* modules/floorf-tests: New file.
	* tests/test-floorf.c: New file.

	* modules/floorf: New file.
	* lib/floor.c: New file.
	* lib/floorf.c: New file.
	* m4/floorf.m4: New file.
	* lib/math.in.h (floorf): New declaration.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
	HAVE_DECL_FLOORF.
	* modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
	HAVE_DECL_FLOORF.
	* doc/functions/floorf.texi: Mention the 'floorf' module.

2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
	    Bruno Haible  <bruno@clisp.org>

	Advertise for the Git server instead of the CVS server.
	* doc/gnulib-intro.texi (Steady Development): Mention the Git
	repository instead of the CVS one.
	* doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
	about all VCS systems generically.
	* doc/gnulib.texi (Introduction): Capitalize `Git'.

2007-10-04  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib.texi (Function Substitutes): Explain what an absent module
	means.
	Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.

2007-10-04  Bruno Haible  <bruno@clisp.org>

	* modules/truncl-tests: New file.
	* tests/test-truncl.c: New file.

	* modules/truncl: New file.
	* lib/truncl.c: New file.
	* m4/truncl.m4: New file.
	* lib/math.in.h (truncl): New declaration.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
	HAVE_DECL_TRUNCL.
	* modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
	HAVE_DECL_TRUNCL.
	* doc/functions/truncl.texi: Mention the 'truncl' module.

2007-10-04  Bruno Haible  <bruno@clisp.org>

	* modules/truncf-tests: New file.
	* tests/test-truncf.c: New file.

	* modules/truncf: New file.
	* lib/trunc.c: Make paramerizable through USE_* macros.
	* lib/truncf.c: New file.
	* m4/truncf.m4: New file.
	* lib/math.in.h (truncf): New declaration.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
	HAVE_DECL_TRUNCF.
	* modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
	HAVE_DECL_TRUNCF.
	* doc/functions/truncf.texi: Mention the 'truncf' module.

2007-10-03  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
	augmentation also for tests modules.
	* modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
	* modules/atexit-tests (Makefile.am): Likewise.
	* modules/binary-io-tests (Makefile.am): Likewise.
	* modules/c-strcase-tests (Makefile.am): Likewise.
	* modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
	* modules/canonicalize-tests (Makefile.am): Likewise.
	* modules/closein-tests (Makefile.am): Likewise.
	* modules/fprintf-posix-tests (Makefile.am): Likewise.
	* modules/freadahead-tests (Makefile.am): Likewise.
	* modules/fseek-tests (Makefile.am): Likewise.
	* modules/fseeko-tests (Makefile.am): Likewise.
	* modules/ftell-tests (Makefile.am): Likewise.
	* modules/ftello-tests (Makefile.am): Likewise.
	* modules/isnanl-nolibm-tests (Makefile.am): Likewise.
	* modules/isnanl-tests (Makefile.am): Likewise.
	* modules/lseek-tests (Makefile.am): Likewise.
	* modules/mbscasecmp-tests (Makefile.am): Likewise.
	* modules/mbscasestr-tests (Makefile.am): Likewise.
	* modules/mbschr-tests (Makefile.am): Likewise.
	* modules/mbscspn-tests (Makefile.am): Likewise.
	* modules/mbsncasecmp-tests (Makefile.am): Likewise.
	* modules/mbspbrk-tests (Makefile.am): Likewise.
	* modules/mbspcasecmp-tests (Makefile.am): Likewise.
	* modules/mbsrchr-tests (Makefile.am): Likewise.
	* modules/mbsspn-tests (Makefile.am): Likewise.
	* modules/mbsstr-tests (Makefile.am): Likewise.
	* modules/printf-posix-tests (Makefile.am): Likewise.
	* modules/snprintf-posix-tests (Makefile.am): Likewise.
	* modules/sprintf-posix-tests (Makefile.am): Likewise.
	* modules/tsearch-tests (Makefile.am): Likewise.
	* modules/uniname/uniname-tests (Makefile.am): Likewise.
	* modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
	* modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
	* modules/vasnprintf-posix-tests (Makefile.am): Likewise.
	* modules/vfprintf-posix-tests (Makefile.am): Likewise.
	* modules/vprintf-posix-tests (Makefile.am): Likewise.
	* modules/vsnprintf-posix-tests (Makefile.am): Likewise.
	* modules/vsprintf-posix-tests (Makefile.am): Likewise.
	* modules/xstrtoimax-tests (Makefile.am): Likewise.
	* modules/xstrtol-tests (Makefile.am): Likewise.
	* modules/xstrtoumax-tests (Makefile.am): Likewise.
	* modules/yesno-tests (Makefile.am): Likewise.

2007-10-03  Bruno Haible  <bruno@clisp.org>

	* modules/trunc-tests: New file.
	* tests/test-trunc.c: New file.

	* modules/trunc: New file.
	* lib/trunc.c: New file.
	* m4/trunc.m4: New file.
	* lib/math.in.h (trunc): New declaration.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
	HAVE_DECL_TRUNC.
	* modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
	HAVE_DECL_TRUNC.
	* doc/functions/trunc.texi: Mention the 'trunc' module.

2007-10-03  Bruno Haible  <bruno@clisp.org>

	* tests/test-fpending.c: New file, mostly copied
	from coreutils/lib/t-fpending.c.
	* modules/fpending-tests: New file.

2007-10-03  Bruno Haible  <bruno@clisp.org>

	Port the stdio extensions to QNX (untested).
	* lib/fseterr.c (fseterr): Add support for QNX.
	* lib/fbufmode.c (fbufmode): Likewise.
	* lib/freadable.c (freadable): Likewise.
	* lib/fwritable.c (fwritable): Likewise.
	* lib/freading.c (freading): Likewise.
	* lib/fwriting.c (fwriting): Likewise.
	* lib/freadahead.c (freadahed): Likewise.
	* lib/fpurge.c (fpurge): Likewise.
	* lib/fseeko.c (rpl_fseeko): Likewise.

2007-10-03  Bruno Haible  <bruno@clisp.org>
	    Jim Meyering  <jim@meyering.net>
	    Eric Blake  <ebb9@byu.net>

	* doc/relocatable.texi: Use @command instead of @program.

2007-10-02  Jim Meyering  <jim@meyering.net>

	Perform one more "_.h" -> ".in.h" substitution.
	* modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
	instead of unistd_.h here, too.

2007-10-01  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
	Needed for the alloca-opt module.

2007-09-30  Bruno Haible  <bruno@clisp.org>

	* lib/alloca.in.h: Renamed from lib/alloca_.h.
	* modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
	alloca_.h.
	* lib/argz.in.h: Renamed from lib/argz_.h.
	* modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
	* lib/byteswap.in.h: Renamed from lib/byteswap_.h.
	* modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
	byteswap_.h.
	* lib/dirent.in.h: Renamed from lib/dirent_.h.
	* modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
	dirent_.h.
	* lib/fcntl.in.h: Renamed from lib/fcntl_.h.
	* modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
	fcntl_.h.
	* lib/float.in.h: Renamed from lib/float_.h.
	* modules/float (Files, Makefile.am): Use float.in.h instead of
	float_.h.
	* lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
	* modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
	fnmatch_.h.
	* lib/getopt.in.h: Renamed from lib/getopt_.h.
	* modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
	getopt_.h.
	* lib/glob.in.h: Renamed from lib/glob_.h.
	* modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
	* lib/iconv.in.h: Renamed from lib/iconv_.h.
	* modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
	iconv_.h.
	* lib/inttypes.in.h: Renamed from lib/inttypes_.h.
	* modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
	inttypes_.h.
	* lib/locale.in.h: Renamed from lib/locale_.h.
	* modules/locale (Files, Makefile.am): Use locale.in.h instead of
	locale_.h.
	* lib/math.in.h: Renamed from lib/math_.h.
	* modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
	* lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
	* modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
	of netinet_in_.h. Add dependency.
	* lib/poll.in.h: Renamed from lib/poll_.h.
	* modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
	* lib/search.in.h: Renamed from lib/search_.h.
	* modules/search (Files, Makefile.am): Use search.in.h instead of
	search_.h.
	* lib/signal.in.h: Renamed from lib/signal_.h.
	* modules/signal (Files, Makefile.am): Use signal.in.h instead of
	_signal.h.
	* lib/stdbool.in.h: Renamed from lib/stdbool_.h.
	* modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
	stdbool_.h.
	* lib/stdint.in.h: Renamed from lib/stdint_.h.
	* modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
	stdint_.h.
	* lib/stdio.in.h: Renamed from lib/stdio_.h.
	* modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
	stdio_.h.
	* lib/stdlib.in.h: Renamed from lib/stdlib_.h.
	* modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
	stdlib_.h.
	* lib/string.in.h: Renamed from lib/string_.h.
	* modules/string (Files, Makefile.am): Use string.in.h instead of
	string_.h.
	* doc/gnulib-tool.texi (Initial import): Update.
	* lib/sys_select.in.h: Renamed from lib/sys_select_.h.
	* modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
	of sys_select_.h. Add dependency.
	* lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
	* modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
	of sys_socket_.h.
	* lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
	* modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
	sys_stat_.h.
	* lib/sys_time.in.h: Renamed from lib/sys_time_.h.
	* modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
	sys_time_.h.
	* lib/sysexits.in.h: Renamed from lib/sysexits_.h.
	* modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
	sysexits_.h.
	* lib/time.in.h: Renamed from lib/time_.h.
	* modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
	* lib/unistd.in.h: Renamed from lib/unistd_.h.
	* modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
	unistd_.h.
	* lib/wchar.in.h: Renamed from lib/wchar_.h.
	* modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
	wchar_.h.
	* lib/wctype.in.h: Renamed from lib/wctype_.h.
	* modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
	wctype_.h.
	* build-aux/bootstrap (slurp): Update.
	* lib/.cppi-disable: Update.

2007-09-30  Bruno Haible  <bruno@clisp.org>

	* tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
	Needed on BeOS.

2007-09-30  Bruno Haible  <bruno@clisp.org>

	* modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.

2007-09-29  Bruno Haible  <bruno@clisp.org>

	* lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.

2007-09-29  Bruno Haible  <bruno@clisp.org>

	* lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
	* modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
	* build-aux/install-reloc: Compile also areadlink.c.
	* modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].

2007-09-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_initmacro_done): Indentation.

2007-09-29  Bruno Haible  <bruno@clisp.org>

	* README: Add CVS checkout update instructions.
	Info from Bob Proulx <bob@proulx.com>.

2007-09-28  Eric Blake  <ebb9@byu.net>

	Provide move-if-change.
	* build-aux/move-if-change: New file, based on best practice
	rather than any canonical upstream location.

2007-09-28  Jim Meyering  <jim@meyering.net>

	Fix canonicalize loop-detection corner case.
	Do not attempt to stat the symlink values stored via seen_triple.
	Without this, coreutils' tests/misc/readlink-fp-loop test would fail
	on linux-2.6.18, (but not 2.6.22).
	* lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
	triple_compare.  The former compares dev,ino,filename, while the latter
	would actually stat dirname(filename) when dev and ino were equal.
	* lib/hash-triple.c: Install <string.h>.
	(STREQ): Define.
	(triple_compare_ino_str): New function.
	* lib/hash-triple.h (triple_compare_ino_str): Declare it.

2007-09-28  Eric Blake  <ebb9@byu.net>

	Enforce that AC_REPLACE_FUNCS files exist.
	* gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
	override check for typos.

	Fix test-closein on Solaris 10.
	* tests/test-closein.c (main): Don't assume stdin can be inherited
	closed on all systems.
	* tests/test-closein.sh: Likewise.
	Reported by Piotr Tarnowski.

2007-09-28  Jim Meyering  <jim@meyering.net>

	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.

2007-09-27  Jim Meyering  <jim@meyering.net>

	canonicalize: Avoid a false-positive cycle failure.
	* modules/canonicalize (Depends-on): Add file-set and hash-triple.
	Sort.  Remove cycle-check.
	* lib/canonicalize.c: Include file-set.h and hash-triple.h,
	not cycle-check.h.
	(seen_triple): New function.
	(canonicalize_filename_mode): Use it instead of cycle-check.
	* tests/test-canonicalize.c: Add a test for this bug.
	* tests/test-canonicalize.sh: Set up and run the test.

	New module, file-set, from coreutils.
	* modules/file-set: Define it.
	* lib/file-set.c, lib/file-set.h: Implement.

	New module, hash-triple, from coreutils.
	* modules/hash-triple: Define it.
	* lib/hash-triple.c, lib/hash-triple.h: Implement.

2007-09-25  Eric Blake  <ebb9@byu.net>

	Fix strerror on Interix.
	* lib/string_.h (strerror): Declare replacement.
	* doc/functions/strerror.texi (strerror): Document the Interix
	shortcoming.
	* modules/string (Makefile.am): Support new hooks.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
	* m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
	gl_FUNC_STRERROR_SEPARATE.
	(gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
	* lib/strerror.c (rpl_strerror): Provide replacement.
	* modules/strerror (Depends-on): Add string.
	(configure.ac): Detect use of module.
	* tests/test-strerror.c: New file.
	* modules/strerror-tests: New test module.
	* modules/argp (Depends-on): Add strerror.
	* modules/error (Depends-on): Likewise.
	Reported by Martin Koeppe.

2007-09-24  Bruno Haible  <bruno@clisp.org>

	* README: Update git instructions.

2007-09-24  Eric Blake  <ebb9@byu.net>

	Revert fpending breakage from 2007-09-08.
	* m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
	__fpending.c.

2007-09-24  Jim Meyering  <jim@meyering.net>

	filenamecat.c: Add a test.
	* lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
	showing how the function works when DIR is the empty string.

2007-09-21  Simon Josefsson  <simon@josefsson.org>

	* tests/test-canonicalize.sh: Turn on executable bit.

2007-09-19  Eric Blake  <ebb9@byu.net>

	* README: Update CVS instructions.

2007-09-18  Bruno Haible  <bruno@clisp.org>

	* modules/areadlink: New file.
	* lib/areadlink.h (areadlink): New declaration.
	* lib/areadlink.c: New file, based on lib/xreadlink.c.

2007-09-17  Jim Meyering  <jim@meyering.net>

	* lib/savewd.c (ESTALE) [!defined]: Define.
	Reported to be required on Interix by Martin Koeppe.

2007-09-17  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_version): Use $version.

2007-09-16  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
	gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
	Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
	Reported by Greg Schafer <gschafer@zip.com.au>.

2007-09-15  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (sed): Try a little harder to make bash understand the
	alias.
	Reported by Bruce Korb <bruce.korb@gmail.com>.

2007-09-13  Eric Blake  <ebb9@byu.net>

	* ChangeLog: Remove conflict markers.

2007-09-13  Simon Josefsson  <simon@josefsson.org>

	* lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
	Reported by Bruno Haible <bruno@clisp.org>.

2007-09-12  Bruno Haible  <bruno@clisp.org>

	* m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
	(gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
	is not defined.

2007-09-12  Eric Blake  <ebb9@byu.net>

	Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
	* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
	Autoconf definition.
	* modules/euidaccess (Depends-on): Add extensions, for
	AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
	* modules/fnmatch (Depends-on): Likewise.
	* modules/getaddrinfo (Depends-on): Likewise.
	* modules/getdelim (Depends-on): Likewise.
	* modules/getline (Depends-on): Likewise.
	* modules/getsubopt (Depends-on): Likewise.
	* modules/gettext (Depends-on): Likewise.
	* modules/group-member (Depends-on): Likewise.
	* modules/mbchar (Depends-on): Likewise.
	* modules/memmem (Depends-on): Likewise.
	* modules/mempcpy (Depends-on): Likewise.
	* modules/memrchr (Depends-on): Likewise.
	* modules/pagealign_alloc (Depends-on): Likewise.
	* modules/readutmp (Depends-on): Likewise.
	* modules/stpcpy (Depends-on): Likewise.
	* modules/stpncpy (Depends-on): Likewise.
	* modules/strchrnul (Depends-on): Likewise.
	* modules/strndup (Depends-on): Likewise.
	* modules/strsep (Depends-on): Likewise.
	* modules/strverscmp (Depends-on): Likewise.
	* modules/vasprintf (Depends-on): Likewise.
	* modules/wcwidth (Depends-on): Likewise.
	* m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
	obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
	* m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
	* m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
	* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
	* m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
	* m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
	* m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
	* m4/mbchar.m4 (gl_MBCHAR): Likewise.
	* m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
	* m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
	* m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
	* m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
	* m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
	* m4/readutmp.m4 (gl_READUTMP): Likewise.
	* m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
	* m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
	* m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
	* m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
	* m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
	* m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
	* m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
	* m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
	* m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
	so that lock.m4 can be used in gettext without extensions module.

2007-09-11  Bruno Haible  <bruno@clisp.org>

	* m4/isc-posix.m4: Remove file.
	Suggested by Eric Blake.

2007-09-11  Eric Blake  <ebb9@byu.net>

	* ChangeLog: Restore lines accidentally truncated 2007-04-06.

2007-09-10  Bruno Haible  <bruno@clisp.org>

	* posix-modules: Fix typo in error message.
	Reported by Matt <mkraai@beckman.com>.

2007-09-09  Bruno Haible  <bruno@clisp.org>

	* doc/functions/getdelim.texi: Update list of platforms lacking the
	function.
	* doc/functions/getline.texi: Likewise.

2007-09-09  Jim Meyering  <jim@meyering.net>

	* lib/hash.c (hash_initialize): Detect calloc failure.
	Reported by Bruno Haible.

2007-09-09  Bruno Haible  <bruno@clisp.org>

	* lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
	malloc or realloc fails.

2007-09-09  Bruno Haible  <bruno@clisp.org>

	* modules/getcwd (Depends-on): Add malloc-posix.
	* modules/glob (Depends-on): Likewise.
	* modules/putenv (Depends-on): Likewise.
	* modules/strdup (Depends-on): Likewise.
	* modules/getdelim (Depends-on): Add realloc-posix.
	* modules/read-file (Depends-on): Likewise.

2007-09-09  Bruno Haible  <bruno@clisp.org>

	* m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
	(gl_FUNC_MALLOC_POSIX): Require it.
	* m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
	* m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
	* modules/realloc (Files): Add m4/malloc.m4.
	* modules/calloc (Files): Likewise.

2007-09-09  Bruno Haible  <bruno@clisp.org>

	* modules/malloc-posix: New file.
	* modules/malloc (Depends-on): Add malloc-posix.
	* lib/malloc.c: Include errno.h.
	(rpl_malloc): Merge the requirements of a glibc-compatible malloc
	and a POSIX-compatible malloc into a single function. Set ENOMEM
	when returning NULL.
	* m4/malloc.m4: New file.
	* doc/functions/malloc.texi: Mention the malloc-posix module.
	* lib/stdlib_.h (malloc): New declaration.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
	GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
	* modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
	and HAVE_MALLOC_POSIX.

2007-09-09  Bruno Haible  <bruno@clisp.org>

	* modules/realloc-posix: New file.
	* modules/realloc (Depends-on): Add realloc-posix.
	* lib/realloc.c: Include errno.h.
	(rpl_realloc): Merge the requirements of a glibc-compatible realloc
	and a POSIX-compatible realloc into a single function. Set ENOMEM
	when returning NULL.
	* m4/realloc.m4: New file.
	* doc/functions/realloc.texi: Mention the realloc-posix module.
	* lib/stdlib_.h (realloc): New declaration.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
	GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
	* modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
	and HAVE_REALLOC_POSIX.

2007-09-09  Bruno Haible  <bruno@clisp.org>

	* modules/calloc-posix: New file.
	* modules/calloc (Depends-on): Add calloc-posix.
	* lib/calloc.c: Include errno.h.
	(rpl_calloc): Merge the requirements of a glibc-compatible calloc
	and a POSIX-compatible calloc into a single function. Set ENOMEM
	when returning NULL.
	* m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
	* doc/functions/calloc.texi: Mention the calloc-posix module.
	* lib/stdlib_.h (calloc): New declaration.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
	GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
	* modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
	and HAVE_CALLOC_POSIX.

2007-09-09  Bruno Haible  <bruno@clisp.org>

	Allow for modules to show an arbitrary notice.
	* modules/TEMPLATE-EXTENDED: Add 'Notice' field.
	* gnulib-tool: New option --extract-notice.
	(func_usage): Document it.
	(sed_extract_prog): Update.
	(func_get_notice): New function.
	(func_modules_notice): New function.
	(func_import, func_create_testdir): Invoke it.
	Suggested by Jim Meyering.

2007-09-09  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: New options --verbose, --quiet.
	(func_usage): Document them.
	(verbose): New variable.
	(func_execute_command): New function.
	(func_import): Don't show the module list and the file list if
	$verbose < 0.
	(func_create_testdir): Likewise. Use func_execute_command.
	(func_create_megatestdir): Use func_execute_command.

2007-09-08  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Prefer rsync over wget when available,
	for fetching the PO files.

2007-09-08  Bruno Haible  <bruno@clisp.org>

	* posix-modules: New file. Portions copied from gnulib-tool.
	* doc/gnulib.texi (POSIX Substitutes Library): New chapter.

2007-09-08  Jim Meyering  <jim@meyering.net>

	Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
	* lib/fpending.h: Rename from __fpending.h.
	* lib/fpending.c: Rename from __fpending.c.
	Include "fpending.h", not "__fpending.h".
	* lib/__fpending.h, lib/__fpending.c: Remove files.
	* modules/fpending (Files): Reflect new file names.
	* lib/close-stream.c: Include "fpending.h", not "__fpending.h".

2007-09-08  Bruno Haible  <bruno@clisp.org>

	* m4/inttypes-h.m4: Remove stub file.

2007-09-07  Simon Josefsson  <simon@josefsson.org>

	* doc/headers/stdint.texi: Discuss #include_next issue.

2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>

	* build-aux/bootstrap: Remove obsolete comment about wget --help.

2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	* m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
	in variable name.

2007-09-03  Jim Meyering  <jim@meyering.net>

	New module: git-version-gen.
	* modules/git-version-gen: New file.

	Import changes from coreutils for bootstrap script.

	* build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.

	bootstrap: uses rsync to download the .po files
	* build-aux/bootstrap (po_download_command_format): New global.
	(download_po_files): Use rsync.
	(update_po_files): Don't remove .po files after download,
	so future rsync runs can take advantage of the copies.

	* build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.

	Solve the unnecessary-.po-file-regeneration problem once and for all.
	* build-aux/bootstrap (download_po_files): New function, renamed from
	get_translations.  Now, downloads, but doesn't update LINGUAS.
	(update_po_files): New function.

	bootstrap: Ignore more.
	* build-aux/bootstrap (symlink_to_dir): Add a directory name like
	uniwidth to e.g., lib/.gitignore.
	(slurp): Handle the sys_stat_.h -> sys mapping, too.

	* build-aux/bootstrap: New setting: vc_ignore.
	(insert_sorted_if_absent): Create $file if absent.
	Adapt to new, possibly empty, list: $vc_ignore.

	bootstrap: generate more ignorable names
	* build-aux/bootstrap (slurp): When generating ignorable names,
	also map .sin to .sed, .gperf to .c, and .y to .c.

2007-09-03  Jim Meyering  <jim@meyering.net>

	* build-aux/git-version-gen: New file, from coreutils.  For details, see
	http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506

2007-09-02  Bruno Haible  <bruno@clisp.org>

	Fix mis-recognition of 'mcs' on QNX 6.
	* m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
	output contains the string "Mono".
	* lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
	Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.

2007-09-01  Bruno Haible  <bruno@clisp.org>

	Fix collision between uniwidth/* and linebreak modules.
	* lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
	u32_width): Remove declarations.
	* lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
	(u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
	streq3, streq2, streq1, streq0): Remove functions.
	(STREQ): Remove macro.
	(is_cjk_encoding): Remove function.
	(nonspacing_table_data, nonspacing_table_ind): Remove constants.
	(uc_width, u8_width, u16_width, u32_width): Remove functions.
	* modules/linebreak (Depends-on): Add streq, uniwidth/width.
	* NEWS: Document the change.

2007-09-01  Bruno Haible  <bruno@clisp.org>

	* lib/streq.h: Add double-inclusion guard.

2007-09-01  Karl Berry  <karl@gnu.org>

	* MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.

2007-08-28  Jim Meyering  <jim@meyering.net>

	Rename mreadlink_with_size to areadlink_with_size.
	* NEWS: Document the change.
	* lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
	* lib/areadlink-with-size.c (areadlink_with_size): ...this.
	* lib/mreadlink.h: Rename this to...
	* lib/areadlink.h: ...this.
	* modules/mreadlink-with-size: Rename this to...
	* modules/areadlink-with-size: ...this.
	* lib/canonicalize.c: Reflect the renaming.
	* modules/canonicalize: Likewise.

2007-08-26  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): When deciding which files to remove,
	consider also dangling symbolic links.
	Reported by Eric Blake.

2007-08-26  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".

2007-08-23  Simon Josefsson  <simon@josefsson.org>

	* lib/readline.c: Don't include getline.h, the prototype is now
	found in stdio.h.

2007-08-23  Jim Meyering  <jim@meyering.net>

	Getdelim touchup.
	* lib/getdelim.c (getdelim): Don't bother to save/restore errno
	around the funlockfile call, since funlockfile never sets errno.
	Don't set errno upon failed realloc.

2007-08-22  Eric Blake  <ebb9@byu.net>

	Getline touchups.
	* lib/getdelim.c (getdelim): Revert regression that required *n to
	be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
	getdelim, rather than whether implementation is missing.
	* m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
	* lib/stdio_.h (getline): Also declare if replacement is
	required.
	* doc/functions/getdelim.texi: New file.
	* doc/functions/getline.texi: Likewise.
	* doc/gnulib.texi (Function Substitutes): Add new files.
	Reported by Bruno Haible.

2007-08-22  Ludovic Courtès  <ludo@gnu.org>

	* users.txt: Add Guile.

2007-08-22  Eric Blake  <ebb9@byu.net>

	* tests/test-getdelim.c (main): Use remove, not unlink.
	* tests/test-getline.c (main): Likewise.

	Move getline and getdelim into stdio.h, per POSIX 200x.
	* modules/getline (Files): Remove getline.h.
	(Depends-on): Add stdio.
	(configure.ac): Add module indicator.
	* modules/getdelim (Files): Remove getdelim.h.
	(Depends-on): Add stdio.
	(configure.ac): Add module indicator.
	* modules/stdio (Makefile.am): Work with new indicators.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
	* m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
	* m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
	* lib/getdelim.h: Delete.
	* lib/getline.h: Delete.
	* lib/stdio_.h (getdelim, getline): Declare.
	* modules/getdelim-tests: New module.
	* modules/getline-tests: Likewise.
	* tests/test-getdelim.c: New file.
	* tests/test-getline.c: Likewise.
	* NEWS: Document the change.
	* lib/getline.c: Update choice of header.
	* lib/csharpcomp.c: Likewise.
	* lib/getpass.c: Likewise.
	* lib/javacomp.c: Likewise.
	* lib/javaversion.c: Likewise.
	* lib/yesno.c: Likewise.
	* lib/getdelim.c: Likewise.
	(getdelim): Set errno on failure, and avoid memory leak.

2007-08-19  Bruno Haible  <bruno@clisp.org>

	* modules/closein (Depends-on): Add freadahead.
	* lib/closein.c: Include freadahead.h.
	(close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
	is zero.

2007-08-19  Bruno Haible  <bruno@clisp.org>

	* modules/freadahead-tests: New file.
	* tests/test-freadahead.sh: New file.
	* tests/test-freadahead.c: New file.

	* modules/freadahead: New file.
	* lib/freadahead.h: New file.
	* lib/freadahead.c: New file.
	* MODULES.html.sh (File stream based Input/Output): Add freadahead,
	fbufmode, fpurge, freadable, fwritable.

2007-08-19  Eric Blake  <ebb9@byu.net>

	Test yesno in combination with closein.
	* lib/yesno.c (yesno): Document use of stdin.
	* modules/yesno-tests (Files): New module.
	* tests/test-yesno.c (main): New file.
	* tests/test-yesno.sh: Likewise.

2007-08-19  Bruno Haible  <bruno@clisp.org>

	* lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
	* lib/fseeko.c (rpl_fseeko): Likewise.
	* lib/fseterr.c (fseterr): Likewise.

2007-08-19  Bruno Haible  <bruno@clisp.org>

	* tests/test-lseek.c (main): Disable a test for BeOS.
	* doc/functions/lseek.texi: Document the BeOS bug.

2007-08-19  Bruno Haible  <bruno@clisp.org>
	    Eric Blake  <ebb9@byu.net>

	* lib/lseek.c: Include <sys/stat.h>.
	(rpl_lseek): Add workaround code also for Unix platforms.
	Needed for BeOS.
	* m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
	* doc/functions/lseek.texi: Document BeOS definiency.

2007-08-18  Bruno Haible  <bruno@clisp.org>

	* modules/fstrcmp-tests: New file.
	* tests/test-fstrcmp.c: New file.

2007-08-18  Bruno Haible  <bruno@clisp.org>

	* modules/fstrcmp: New file, from GNU gettext with modifications.
	* lib/fstrcmp.h: New file, from GNU gettext.
	* lib/fstrcmp.c: New file, from GNU gettext.
	* MODULES.html.sh (String handling): Add fstrcmp.

2007-08-18  Bruno Haible  <bruno@clisp.org>

	* lib/diffseq.h (struct context): Change type of 'heuristic' field to
	'bool'.
	(diag, compareseq): Remove const from the ctxt argument.
	(USE_HEURISTIC): Undefine at the end.

2007-08-18  Jim Meyering  <jim@meyering.net>

	New file: lib/idcache.h
	* NEWS: Mention the addition.
	* modules/idcache (Files): Add lib/idcache.h
	* lib/idcache.c: Include "idcache.h".
	Don't include <sys/types.h>.
	Add a FIXME comment.
	Move file-scoped "static" declarations to the top.
	* lib/idcache.h: New file.  Include <sys/types.h> here, instead.

2007-08-17  Bruno Haible  <bruno@clisp.org>
	and Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh: Add diffseq.
	* modules/diffseq: New file.
	* lib/diffseq.h: New file, from GNU gettext with a few minor changes,
	extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.

2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	Import changes from coreutils for bootstrap script.

	2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>

	* build-aux/bootstrap (slurp): Work even in environments where
	"ls" defaults to "ls -A".  Put in a FIXME, though, since the
	current code does not slurp files whose names start with ".", and
	this looks like it might be a troublesome area.

	2007-07-11  Jim Meyering  <jim@meyering.net>

	If there's a GPL vN copyright comment, require that N == 3.

	2007-07-08  Jim Meyering  <jim@meyering.net>

	Run the coreutils-specific code only if tests/Makefile.am.in exists.
	* build-aux/bootstrap (mam_template): Move definition out of loop.

	Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.

	* build-aux/bootstrap (symlink_to_dir): Rename function from
	symlink_to_gnulib.  Add a directory parameter.  Update all
	callers.
	(cp_mark_as_generated): Also check for -- and link to -- files in
	gl/.

	2007-07-08  Jim Meyering  <jim@meyering.net>

	Adapt to deeper hierarchy in gnulib.
	* build-aux/bootstrap (symlink_to_dir): If the destination
	directory doesn't exist, create it. This is required at least for
	"lib/uniwidth/cjk.h".

	2007-05-15  Jim Meyering  <jim@meyering.net>

	* build-aux/bootstrap: Now that generated Makefile.am files
	are no longer under version control, they must be created at
	bootstrap time.

2007-08-14  Ben Pfaff  <blp@gnu.org>

	* lib/count-one-bits.h: Add comments.  From Bruno Haible.

2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/count-one-bits.h: Don't include <limits.h>; no longer needed
	given the changes below.
	(COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
	even on hosts that have padding bits beyond the supported 64.

2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>

	* NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
	* lib/xstrtol.h: Don't include exitfail.h; that's now internal to
	xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
	depends on it.
	(xstrtol_error): Remove.
	(xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
	but with a different signature.
	(ATTRIBUTE_NORETURN, __attribute__): New macros.
	* lib/xstrtol-error.c: Include exitfail.h.
	(xstrtol_fatal): New function, with a different signature from the
	old xstrtol_error, so that the caller need not worry about passing
	in an exit status, or about storage management of the option argument.
	(xstrtol_error): Now a static function.  Redo signature to
	implement xstrtol_fatal.  Output the correct number of hyphens in
	front of the option so that the caller need not worry about
	storage management.
	(N_): New macro.
	(_): Remove; not used now.
	* modules/xstrtol: Depend on getopt.
	* tests/test-xstrtol.c (main): Use new xstrtol_error function instead
	of old STRTOL_FATAL_ERROR macro.
	* tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
	of test program.
	* tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
	* tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.

2007-08-08  Eric Blake  <ebb9@byu.net>

	* lib/xstrtol-error.c: Add missing include.

	Move xstrtol messages into gnulib domain, when --pobase is used.
	* lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
	* lib/xstrtol-error.c (xstrtol_error): ...into new file.
	* modules/xstrtol (Files): Distribute new file.
	* m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
	* lib/xstrtol.c (TESTING_XSTRTO): Move tests...
	* tests/test-xstrtol.c: ...into new file.
	* tests/test-xstrtoul.c: Also test xstrtoul.
	* tests/test-xstrtoimax.c: Also test xstrtoimax.
	* tests/test-xstrtoumax.c: Also test xstrtoumax.
	* tests/test-xstrtol.sh: Drive the tests.
	* tests/test-xstrtoimax.sh: Likewise.
	* tests/test-xstrtoumax.sh: Likewise.
	* modules/xstrtol-tests: New module.
	* modules/xstrtoimax-tests: Likewise.
	* modules/xstrtoumax-tests: Likewise.

2007-08-08  Jim Meyering  <jim@meyering.net>

	New function: mfile_name_concat.
	* lib/filenamecat.c (mfile_name_concat): New function, just like
	file_name_concat, but return NULL upon failure rather than exiting
	with a diagnostic.
	* lib/filenamecat.h: Declare it.

2007-08-07  Bruno Haible  <bruno@clisp.org>

	* m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
	instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
	warning from gcc.
	Reported by Eric Blake.

2007-08-07  Simon Josefsson  <simon@josefsson.org>

	* modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
	* modules/crypto/arcfour (License): Likewise.
	* modules/crypto/des-tests (License): Likewise.
	* modules/crypto/gc-arctwo-tests (License): Likewise.
	* modules/crypto/gc-des-tests (License): Likewise.
	* modules/crypto/gc-hmac-md5-tests (License): Likewise.
	* modules/crypto/gc-hmac-sha1-tests (License): Likewise.
	* modules/crypto/gc-md2-tests (License): Likewise.
	* modules/crypto/gc-md4-tests (License): Likewise.
	* modules/crypto/gc-md5-tests (License): Likewise.
	* modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
	* modules/crypto/gc-rijndael-tests (License): Likewise.
	* modules/crypto/gc-sha1-tests (License): Likewise.
	* modules/crypto/gc-tests (License): Likewise.
	* modules/crypto/hmac-md5 (License): Likewise.
	* modules/crypto/hmac-sha1 (License): Likewise.
	* modules/crypto/md2-tests (License): Likewise.
	* modules/crypto/md4-tests (License): Likewise.
	* modules/crypto/md5 (License): Likewise.
	* modules/crypto/rijndael (License): Likewise.
	* modules/crypto/sha1 (License): Likewise.
	* modules/memxor (License): Likewise.

2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
	and Bruno Haible  <bruno@clisp.org>

	* NEWS: Describe interface changes to human, xstrtol.
	* lib/human.h: Include <xstrtol.h>.
	(human_options): Return enum strtol_error, not int.  Remove
	bool arg; take int * instead.
	* lib/human.c: Don't include "gettext.h".
	(_): Remove; no longer used.
	Don't include <xstrtol.h>, since human.h does it.
	(human_options): Adjust to abovementioned interface changes.
	Do not report error to stderr; that's now the caller's
	responsibility.
	* lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
	interface change.
	* lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
	Str, Argument_type_string.  All uses changed.  Put " argument"
	in diagnostics to make them clearer.  Change wording of suffix
	message for clarity.
	(STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
	Argument_type_string.
	(STRTOL_FATAL_WARN): Remove; no longer used.
	* modules/human (Depends-on): Remove gettext-h.

2007-08-06  Simon Josefsson  <simon@josefsson.org>

	* build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.

2007-07-31  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
	are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
	Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.

2007-07-31  Bruno Haible  <bruno@clisp.org>

	* lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
	Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.

2007-07-30  Bruno Haible  <bruno@clisp.org>

	* modules/base64 (License): Use the synonymous term "LGPLv2+".
	* modules/c-ctype (License): Likewise.
	* modules/c-strcase (License): Likewise.
	* modules/check-version (License): Likewise.
	* modules/iconv (License): Likewise.
	* modules/iconv_open (License): Likewise.
	* modules/read-file (License): Likewise.
	* modules/striconv (License): Likewise.
	* modules/strverscmp (License): Likewise.
	* modules/vasprintf (License): Likewise.
	* modules/crypto/des (License): Likewise.
	* modules/crypto/gc (License): Likewise.
	* modules/crypto/gc-arcfour (License): Likewise.
	* modules/crypto/gc-arctwo (License): Likewise.
	* modules/crypto/gc-des (License): Likewise.
	* modules/crypto/gc-hmac-md5 (License): Likewise.
	* modules/crypto/gc-hmac-sha1 (License): Likewise.
	* modules/crypto/gc-md2 (License): Likewise.
	* modules/crypto/gc-md4 (License): Likewise.
	* modules/crypto/gc-md5 (License): Likewise.
	* modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
	* modules/crypto/gc-random (License): Likewise.
	* modules/crypto/gc-rijndael (License): Likewise.
	* modules/crypto/gc-sha1 (License): Likewise.
	* modules/crypto/md2 (License): Likewise.
	* modules/crypto/md4 (License): Likewise.

2007-07-30  Jim Meyering  <jim@meyering.net>

	* lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
	set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
	it has valid stat data.  This bug would cause du not to count the
	sizes of inaccessible directories.
	Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
	in <http://bugzilla.redhat.com/250077>.

2007-07-25  Peter O'Gorman  <peter@pogma.com>
	    Bruno Haible  <bruno@clisp.org>

	* m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
	really works. Needed because AIX 4.3 "xlc -E" doesn't understand
	#include_next, gives a diagnostic about it, but reports no error in
	the exit code.
	Reported by Gary V. Vaughan <gary@thewrittenword.com>.

2007-07-24  Ben Pfaff  <blp@gnu.org>

	Improve name: "count-one-bits" is better than "popcount".
	* MODULES.html.sh: Update name.
	* lib/popcount.h: Renamed lib/count-one-bits.h.
	(popcount): Renamed count_one_bits.
	(popcountl): Renamed count_one_bits_l.
	(popcountll): Renamed count_one_bits_ll.
	* m4/popcount.m4: Renamed m4/count-one-bits.m4.
	* modules/popcount: Renamed module/count-one-bits.
	* modules/popcount-tests: Renamed module/count-one-bits-tests.
	* tests/test-popcount.c: Renamed tests/test-count-one-bits.c.

2007-07-23  Ben Pfaff  <blp@gnu.org>

	* lib/popcount.h (popcount32): Reduce size of constants, to allow
	better code generation, and add U to large constants to avoid
	warnings, in non-GCC case.
	Suggested by Bruno Haible.

2007-07-23  Ben Pfaff  <blp@gnu.org>

	* lib/popcount.h: Use verify_true instead of if...abort.
	* modules/popcount: Depend on verify module.
	Suggested by Jim Meyering.

2007-07-23  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Create a .cvsignore file also when the
	directory is not yet in CVS but the toplevel directory is. When
	creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
	Reported by Karl Berry.

2007-07-22  Ben Pfaff  <blp@gnu.org>

	* lib/popcount.h: Use faster, branchless algorithm for non-GCC
	case.
	Suggested by Eric Blake.

2007-07-22  Ben Pfaff  <blp@gnu.org>

	New module: popcount.
	* MODULES.html.sh: Add popcount.
	* modules/popcount: New file.
	* modules/popcount-tests: New file.
	* tests/test-popcount.c: New file.
	* lib/popcount.h: New file.
	* m4/popcount.m4: New file.

2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>

	* build-aux/announce-gen: Update to GPLv3.

	* build-aux/config.guess: Update from config.

2007-07-21  Bruno Haible  <bruno@clisp.org>

	* lib/error.c (_) [ENABLE_NLS]: Define to gettext.
	* lib/verror.c (_) [ENABLE_NLS]: Likewise.

2007-07-20  Jim Meyering  <jim@meyering.net>

	* check-module: Diagnose a self-dependency.

2007-07-19  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Don't abort if pobase or po_domain is
	empty.
	Reported by Eric Blake.

2007-07-18  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: New options --po-base, --po-domain.
	(func_usage): Document them.
	(pobase, po_domain): New variables.
	(func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
	DEFAULT_TEXT_DOMAIN.
	(func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
	(func_import): Consider pobase and po_domain. Create a po/ directory.
	(func_create_testdir): Set pobase and po_domain to empty.
	* build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
	* build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.

2007-07-18  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_get_automake_snippet): Synthesize also an
	EXTRA_DIST augmentation for files in build-aux/.

2007-07-16  Bruno Haible  <bruno@clisp.org>

	* modules/lseek (License): Use the synonymous term "LGPLv2+".
	* modules/getdelim (License): Likewise.

2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	* modules/arpa_inet (License): Use the synonymous term LGPLv2+.
	* modules/d-type (License): Likewise.
	* modules/extensions (License): Likewise.
	* modules/fnmatch (License): Likewise.
	* modules/fseeko (License): Likewise.
	* modules/getaddrinfo (License): Likewise.
	* modules/getline (License): Likewise.
	* modules/getlogin_r (License): Likewise.
	* modules/getpass (License): Likewise.
	* modules/gettimeofday (License): Likewise.
	* modules/glob (License): Likewise.
	* modules/inet_ntop (License): Likewise.
	* modules/malloc (License): Likewise.
	* modules/malloca (License): Likewise.
	* modules/memmem (License): Likewise.
	* modules/mempcpy (License): Likewise.
	* modules/memset (License): Likewise.
	* modules/minmax (License): Likewise.
	* modules/mktime (License): Likewise.
	* modules/netinet_in (License): Likewise.
	* modules/pathmax (License): Likewise.
	* modules/poll (License): Likewise.
	* modules/regex (License): Likewise.
	* modules/snprintf (License): Likewise.
	* modules/stdbool (License): Likewise.
	* modules/stdint (License): Likewise.
	* modules/stdio (License): Likewise.
	* modules/strcase (License): Likewise.
	* modules/strcasestr (License): Likewise.
	* modules/strdup (License): Likewise.
	* modules/string (License): Likewise.
	* modules/strndup (License): Likewise.
	* modules/strnlen (License): Likewise.
	* modules/strpbrk (License): Likewise.
	* modules/strptime (License): Likewise.
	* modules/strsep (License): Likewise.
	* modules/sys_select (License): Likewise.
	* modules/sys_socket (License): Likewise.
	* modules/sys_stat (License): Likewise.
	* modules/sys_time (License): Likewise.
	* modules/time (License): Likewise.
	* modules/time_r (License): Likewise.
	* modules/timegm (License): Likewise.
	* modules/unistd (License): Likewise.
	* modules/vsnprintf (License): Likewise.
	* modules/wctype (License): Likewise.

2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* modules/argz (License): LGPLv2+.

2007-07-15  Karl Berry  <karl@gnu.org>

	* doc/gnulib.texi: revise node structure per new fdl.texi.

2007-07-14  Bruno Haible  <bruno@clisp.org>

	* lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
	the output file.
	* lib/uniname/uninames.h: Regenerated.

2007-07-14  Karl Berry  <karl@gnu.org>

	* doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
	omitting sectioning and index commands.

2007-07-13  Bruno Haible  <bruno@clisp.org>

	New gnulib-tool option --more-symlinks.
	* gnulib-tool (func_usage): Document --more-symlinks.
	(do_copyrights): New variable.
	Recognize option --more-symlinks.
	(func_import): Don't add a copyright notice transform to
	sed_transform_lib_file if do_copyrights is empty.

2007-07-13  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (decimal_point_char): Define also if
	(NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
	&& !NEED_PRINTF_DIRECTIVE_A.
	Reported by Clemens Koller <clemens.koller@anagramm.de> via
	Gary V. Vaughan <gary@gnu.org>.

2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/inttypes_.h: Undo previous change, since it was fixed
	in a different way in the 2007-07-02 fix to m4/inttypes.m4.

2007-07-13  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
	misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.

2007-07-13  Jim Meyering  <jim@meyering.net>

	df: Don't fail for Tru64's "file-on-file mount".
	* m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
	so we fall through and use statfs instead.  Details here:
	<http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
	Reported by Albert Chin.

2007-07-13  Bruno Haible  <bruno@clisp.org>

	* modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
	* modules/configmake (License): Likewise.
	* modules/gettext (License): Likewise.
	* modules/gettext-h (License): Likewise.
	* modules/include_next (License): Likewise.
	* modules/link-warning (License): Likewise.
	* modules/localcharset (License): Likewise.
	* modules/localename (License): Likewise.
	* modules/lock (License): Likewise.
	* modules/relocatable-lib-lgpl (License): Likewise.
	* modules/size_max (License): Likewise.
	* modules/vasnprintf (License): Likewise.
	* modules/wchar (License): Likewise.
	* modules/xsize (License): Likewise.

2007-07-13  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
	(func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".

2007-07-12  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
	in the modules files.

2007-07-11  Karl Berry  <karl@gnu.org>

	* MODULES.html.sh (func_module): use
	 sed -e '\|^'"${includefile}"'$|d'
	 instead of /.../d, to avoid errors on $includefile's containing /.

2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	* gnulib-tool (func_import): Avoid duplication of --avoid
	statements
	(func_dest_tmpfilename,func_create_testdir): Translate `-' in file
	names to `_' in variable names.

2007-07-10  Eric Blake  <ebb9@byu.net>

	* lib/version-etc.c (version_etc_va): Default to GPLv3+.
	* NEWS: Document this change.

2007-07-08  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 5.0.
	* lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
	U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
	U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
	U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
	U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
	U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
	U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
	U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
	U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
	U+10A3F, U+1D242..U+1D244.
	(nonspacing_table_ind): Update.
	(uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
	U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.

2007-07-08  Bruno Haible  <bruno@clisp.org>

	Update to Unicode 5.0.
	* lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
	code transform. Extend the name index field of unicode_name_to_code and
	unicode_code_to_name from 16 to 24 bits.
	* lib/uniname/uniname.c (unicode_character_name,
	unicode_name_character): Add the range 0x12xxx to the code transform.
	* lib/uniname/uninames.h: Regenerated.
	* tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.

2007-07-07  Bruno Haible  <bruno@clisp.org>

	* modules/wcwidth-tests: New file.
	* tests/test-wcwidth.c: New file.

	Work around MacOS X wcwidth() bug.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
	* lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
	(rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
	original wcwidth in non-UTF-8 locales.
	* modules/wcwidth (Depends-on): Add localcharset, streq,
	uniwidth/width.
	* doc/functions/wcwidth.texi: Update.

2007-07-07  Bruno Haible  <bruno@clisp.org>

	* lib/wchar_.h: Include the GL_LINK_WARNING macro.
	(wcwidth): New declaration.
	* m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
	macros.
	(gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
	here. Prepare for creating <wchar.h> unconditionally.
	* modules/wchar (Depends-on): Add link-warning.
	(Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
	REPLACE_WCWIDTH, and GL_LINK_WARNING.
	* lib/wcwidth.h: Remove file.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
	HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
	* modules/wcwidth (Files): Remove lib/wcwidth.h.
	(configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
	(Include): Replace wcwidth.h with <wchar.h>.
	* lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
	* lib/mbchar.h: Don't include wcwidth.h.
	* lib/mbswidth.c: Likewise.
	* NEWS: Mention the change.

2007-07-07  Bruno Haible  <bruno@clisp.org>

	* lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
	* lib/wcwidth.h: Don't include wctype.h. Replace inline function
	definition with an external declaration.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
	defined as a function. Remove AC_C_INLINE requirement.
	* modules/wcwidth (Files): Add lib/wcwidth.c.
	(Makefile.am): Remove redundant statement.

2007-07-07  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (Unicode string functions): Add the new modules.

	* tests/uniwidth/test-u32-strwidth.c: New file.
	* modules/uniwidth/u32-strwidth-tests: New file.

	* lib/uniwidth/u32-strwidth.c: New file.
	* modules/uniwidth/u32-strwidth: New file.

	* tests/uniwidth/test-u16-strwidth.c: New file.
	* modules/uniwidth/u16-strwidth-tests: New file.

	* lib/uniwidth/u16-strwidth.c: New file.
	* modules/uniwidth/u16-strwidth: New file.

	* tests/uniwidth/test-u8-strwidth.c: New file.
	* modules/uniwidth/u8-strwidth-tests: New file.

	* lib/uniwidth/u8-strwidth.c: New file.
	* modules/uniwidth/u8-strwidth: New file.

	* tests/uniwidth/test-u32-width.c: New file.
	* modules/uniwidth/u32-width-tests: New file.

	* lib/uniwidth/u32-width.c: New file.
	* modules/uniwidth/u32-width: New file.

	* tests/uniwidth/test-u16-width.c: New file.
	* modules/uniwidth/u16-width-tests: New file.

	* lib/uniwidth/u16-width.c: New file.
	* modules/uniwidth/u16-width: New file.

	* tests/uniwidth/test-u8-width.c: New file.
	* modules/uniwidth/u8-width-tests: New file.

	* lib/uniwidth/u8-width.c: New file.
	* modules/uniwidth/u8-width: New file.

	* tests/uniwidth/test-uc_width.c: New file.
	* modules/uniwidth/width-tests: New file.

	* lib/uniwidth/width.c: New file, from GNU libiconv.
	* lib/uniwidth/cjk.h: New file, from GNU libiconv.
	* modules/uniwidth/width: New file.

	* lib/uniwidth.h: New file, from GNU libiconv.
	* modules/uniwidth/base: New file.

2007-07-07  Bruno Haible  <bruno@clisp.org>

	* lib/uniname.h: New file, from GNU gettext.
	* lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
	* lib/uniname/uninames.h: New file, from GNU gettext.
	* lib/uniname/uniname.c: New file, from GNU gettext.
	* tests/uniname/test-uninames.sh: New file.
	* tests/uniname/test-uninames.c: New file, from GNU gettext.
	* tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
	* modules/uniname/base: New file.
	* modules/uniname/uniname: New file.
	* modules/uniname/uniname-tests: New file.
	* MODULES.html.sh (Unicode string functions): Add the new modules.

2007-07-06  Bruno Haible  <bruno@clisp.org>

	* doc/Makefile (TEXI2HTML): Specify a --reference-limit.

2007-07-06  Bruno Haible  <bruno@clisp.org>

	* lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
	a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
	includes <cygwin/sys_time.h> which includes <sys/select.h> which
	include <sys/time.h>.
	Reported by Eric Blake.

2007-07-06  Eric Blake  <ebb9@byu.net>

	Fix testing canonicalize on cygwin.
	* modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
	Revert patch from 2007-06-19.
	* tests/test-canonicalize-lgpl.c (main): Instead, skip test when
	canonicalize module is also in use.
	* tests/test-canonicalize.c: New file.
	* tests/test-canonicalize.sh: Likewise.
	* modules/canonicalize-tests: Likewise.

2007-07-06  Jim Meyering  <jim@meyering.net>

	* lib/getugroups.c (getugroups): Detect getgrent failure.
	Adjust comment to reflect reality: this function may return -1.

2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>

	* build-aux/bootstrap (TP_URL,get_translations): Update to use
	the new TP address.
	(usage): Fix typo
	(gnulib_mk): New variable.

2007-07-05  Jim Meyering  <jim@meyering.net>

	Don't let endgrent clobber errno, no matter how improbable.
	* lib/getugroups.c (getugroups): Save and restore errno around
	endgrent call.

	Close the group DB even when failing with 2^31 or more members.
	* lib/getugroups.c (getugroups): Don't return without calling endgrent.

2007-07-04  Jim Meyering  <jim@meyering.net>

	* lib/getugroups.h: New file.
	* lib/getugroups.c: Include "getugroups.h".
	Remove uses of "register" keyword.
	Move local variable, "cp", down into scope where used.
	Give "username" parameter the "const" attribute.
	* modules/getugroups (Files): Add lib/getugroups.h

2007-07-04  Karl Berry  <karl@gnu.org>

	* MODULES.html.sh (func_all_modules): Complete rename of
	gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.

2007-07-02  Bruno Haible  <bruno@clisp.org>

	* m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
	mode, when inttypes.h comes from gnulib.
	Reported by Joel E. Denny <jdenny@ces.clemson.edu>.

2007-07-02  Simon Josefsson  <simon@josefsson.org>

	* NEWS: Mention lgpl module name change.

	* modules/lgpl-2.1: Renamed from lgpl.

	* NEWS: Mention gpl module name change.

	* modules/gpl-3.0: New file, based on gpl-2.0.

	* modules/gpl-2.0: Renamed from gpl.

	* modules/gpl: Fix filename, doc/gpl.texi is now found at
	doc/gpl-2.0.texi.

2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
	#define __STDC_LIMIT_MACROS temporarily while including
	<stdint.h>, so that __STDC_LIMIT_MACROS is defined.
	Problem reported by Joel E. Denny in
	<http://lists.gnu.org/r/bug-gnulib/2007-07/msg00008.html>.

2007-07-01  Bruno Haible  <bruno@clisp.org>

	* lib/unistdio.h: New file.
	* lib/unistdio/u-asnprintf.h: New file.
	* lib/unistdio/u-asprintf.h: New file.
	* lib/unistdio/u-printf-args.c: New file.
	* lib/unistdio/u-printf-args.h: New file.
	* lib/unistdio/u-printf-parse.h: New file.
	* lib/unistdio/u-snprintf.h: New file.
	* lib/unistdio/u-sprintf.h: New file.
	* lib/unistdio/u-vasprintf.h: New file.
	* lib/unistdio/u-vsnprintf.h: New file.
	* lib/unistdio/u-vsprintf.h: New file.
	* lib/unistdio/ulc-asnprintf.c: New file.
	* lib/unistdio/ulc-asprintf.c: New file.
	* lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
	* lib/unistdio/ulc-printf-parse.c: New file.
	* lib/unistdio/ulc-snprintf.c: New file.
	* lib/unistdio/ulc-sprintf.c: New file.
	* lib/unistdio/ulc-vasnprintf.c: New file.
	* lib/unistdio/ulc-vasprintf.c: New file.
	* lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
	* lib/unistdio/ulc-vsnprintf.c: New file.
	* lib/unistdio/ulc-vsprintf.c: New file.
	* lib/unistdio/u8-asnprintf.c: New file.
	* lib/unistdio/u8-asprintf.c: New file.
	* lib/unistdio/u8-printf-parse.c: New file.
	* lib/unistdio/u8-snprintf.c: New file.
	* lib/unistdio/u8-sprintf.c: New file.
	* lib/unistdio/u8-vasnprintf.c: New file.
	* lib/unistdio/u8-vasprintf.c: New file.
	* lib/unistdio/u8-vsnprintf.c: New file.
	* lib/unistdio/u8-vsprintf.c: New file.
	* lib/unistdio/u8-u8-asnprintf.c: New file.
	* lib/unistdio/u8-u8-asprintf.c: New file.
	* lib/unistdio/u8-u8-snprintf.c: New file.
	* lib/unistdio/u8-u8-sprintf.c: New file.
	* lib/unistdio/u8-u8-vasnprintf.c: New file.
	* lib/unistdio/u8-u8-vasprintf.c: New file.
	* lib/unistdio/u8-u8-vsnprintf.c: New file.
	* lib/unistdio/u8-u8-vsprintf.c: New file.
	* lib/unistdio/u16-asnprintf.c: New file.
	* lib/unistdio/u16-asprintf.c: New file.
	* lib/unistdio/u16-printf-parse.c: New file.
	* lib/unistdio/u16-snprintf.c: New file.
	* lib/unistdio/u16-sprintf.c: New file.
	* lib/unistdio/u16-vasnprintf.c: New file.
	* lib/unistdio/u16-vasprintf.c: New file.
	* lib/unistdio/u16-vsnprintf.c: New file.
	* lib/unistdio/u16-vsprintf.c: New file.
	* lib/unistdio/u16-u16-asnprintf.c: New file.
	* lib/unistdio/u16-u16-asprintf.c: New file.
	* lib/unistdio/u16-u16-snprintf.c: New file.
	* lib/unistdio/u16-u16-sprintf.c: New file.
	* lib/unistdio/u16-u16-vasnprintf.c: New file.
	* lib/unistdio/u16-u16-vasprintf.c: New file.
	* lib/unistdio/u16-u16-vsnprintf.c: New file.
	* lib/unistdio/u16-u16-vsprintf.c: New file.
	* lib/unistdio/u32-asnprintf.c: New file.
	* lib/unistdio/u32-asprintf.c: New file.
	* lib/unistdio/u32-printf-parse.c: New file.
	* lib/unistdio/u32-snprintf.c: New file.
	* lib/unistdio/u32-sprintf.c: New file.
	* lib/unistdio/u32-vasnprintf.c: New file.
	* lib/unistdio/u32-vasprintf.c: New file.
	* lib/unistdio/u32-vsnprintf.c: New file.
	* lib/unistdio/u32-vsprintf.c: New file.
	* lib/unistdio/u32-u32-asnprintf.c: New file.
	* lib/unistdio/u32-u32-asprintf.c: New file.
	* lib/unistdio/u32-u32-snprintf.c: New file.
	* lib/unistdio/u32-u32-sprintf.c: New file.
	* lib/unistdio/u32-u32-vasnprintf.c: New file.
	* lib/unistdio/u32-u32-vasprintf.c: New file.
	* lib/unistdio/u32-u32-vsnprintf.c: New file.
	* lib/unistdio/u32-u32-vsprintf.c: New file.
	* tests/unistdio/test-ulc-asnprintf1.c: New file.
	* tests/unistdio/test-ulc-asnprintf1.h: New file.
	* tests/unistdio/test-ulc-printf1.h: New file.
	* tests/unistdio/test-ulc-vasnprintf1.c: New file.
	* tests/unistdio/test-ulc-vasnprintf2.c: New file.
	* tests/unistdio/test-ulc-vasnprintf2.sh: New file.
	* tests/unistdio/test-ulc-vasnprintf3.c: New file.
	* tests/unistdio/test-ulc-vasnprintf3.sh: New file.
	* tests/unistdio/test-ulc-vasprintf1.c: New file.
	* tests/unistdio/test-ulc-vsnprintf1.c: New file.
	* tests/unistdio/test-ulc-vsprintf1.c: New file.
	* tests/unistdio/test-u8-asnprintf1.c: New file.
	* tests/unistdio/test-u8-asnprintf1.h: New file.
	* tests/unistdio/test-u8-printf1.h: New file.
	* tests/unistdio/test-u8-vasnprintf1.c: New file.
	* tests/unistdio/test-u8-vasnprintf2.c: New file.
	* tests/unistdio/test-u8-vasnprintf2.sh: New file.
	* tests/unistdio/test-u8-vasnprintf3.c: New file.
	* tests/unistdio/test-u8-vasnprintf3.sh: New file.
	* tests/unistdio/test-u8-vasprintf1.c: New file.
	* tests/unistdio/test-u8-vsnprintf1.c: New file.
	* tests/unistdio/test-u8-vsprintf1.c: New file.
	* tests/unistdio/test-u16-asnprintf1.c: New file.
	* tests/unistdio/test-u16-asnprintf1.h: New file.
	* tests/unistdio/test-u16-printf1.h: New file.
	* tests/unistdio/test-u16-vasnprintf1.c: New file.
	* tests/unistdio/test-u16-vasnprintf2.c: New file.
	* tests/unistdio/test-u16-vasnprintf2.sh: New file.
	* tests/unistdio/test-u16-vasnprintf3.c: New file.
	* tests/unistdio/test-u16-vasnprintf3.sh: New file.
	* tests/unistdio/test-u16-vasprintf1.c: New file.
	* tests/unistdio/test-u16-vsnprintf1.c: New file.
	* tests/unistdio/test-u16-vsprintf1.c: New file.
	* tests/unistdio/test-u32-asnprintf1.c: New file.
	* tests/unistdio/test-u32-asnprintf1.h: New file.
	* tests/unistdio/test-u32-printf1.h: New file.
	* tests/unistdio/test-u32-vasnprintf1.c: New file.
	* tests/unistdio/test-u32-vasnprintf2.c: New file.
	* tests/unistdio/test-u32-vasnprintf2.sh: New file.
	* tests/unistdio/test-u32-vasnprintf3.c: New file.
	* tests/unistdio/test-u32-vasnprintf3.sh: New file.
	* tests/unistdio/test-u32-vasprintf1.c: New file.
	* tests/unistdio/test-u32-vsnprintf1.c: New file.
	* tests/unistdio/test-u32-vsprintf1.c: New file.
	* modules/unistdio/base: New file.
	* modules/unistdio/u-printf-args: New file.
	* modules/unistdio/ulc-asnprintf: New file.
	* modules/unistdio/ulc-asprintf: New file.
	* modules/unistdio/ulc-fprintf: New file.
	* modules/unistdio/ulc-printf-parse: New file.
	* modules/unistdio/ulc-snprintf: New file.
	* modules/unistdio/ulc-sprintf: New file.
	* modules/unistdio/ulc-vasnprintf: New file.
	* modules/unistdio/ulc-vasprintf: New file.
	* modules/unistdio/ulc-vfprintf: New file.
	* modules/unistdio/ulc-vsnprintf: New file.
	* modules/unistdio/ulc-vsprintf: New file.
	* modules/unistdio/u8-asnprintf: New file.
	* modules/unistdio/u8-asprintf: New file.
	* modules/unistdio/u8-printf-parse: New file.
	* modules/unistdio/u8-snprintf: New file.
	* modules/unistdio/u8-sprintf: New file.
	* modules/unistdio/u8-vasnprintf: New file.
	* modules/unistdio/u8-vasprintf: New file.
	* modules/unistdio/u8-vsnprintf: New file.
	* modules/unistdio/u8-vsprintf: New file.
	* modules/unistdio/u8-u8-asnprintf: New file.
	* modules/unistdio/u8-u8-asprintf: New file.
	* modules/unistdio/u8-u8-snprintf: New file.
	* modules/unistdio/u8-u8-sprintf: New file.
	* modules/unistdio/u8-u8-vasnprintf: New file.
	* modules/unistdio/u8-u8-vasprintf: New file.
	* modules/unistdio/u8-u8-vsnprintf: New file.
	* modules/unistdio/u8-u8-vsprintf: New file.
	* modules/unistdio/u16-asnprintf: New file.
	* modules/unistdio/u16-asprintf: New file.
	* modules/unistdio/u16-printf-parse: New file.
	* modules/unistdio/u16-snprintf: New file.
	* modules/unistdio/u16-sprintf: New file.
	* modules/unistdio/u16-vasnprintf: New file.
	* modules/unistdio/u16-vasprintf: New file.
	* modules/unistdio/u16-vsnprintf: New file.
	* modules/unistdio/u16-vsprintf: New file.
	* modules/unistdio/u16-u16-asnprintf: New file.
	* modules/unistdio/u16-u16-asprintf: New file.
	* modules/unistdio/u16-u16-snprintf: New file.
	* modules/unistdio/u16-u16-sprintf: New file.
	* modules/unistdio/u16-u16-vasnprintf: New file.
	* modules/unistdio/u16-u16-vasprintf: New file.
	* modules/unistdio/u16-u16-vsnprintf: New file.
	* modules/unistdio/u16-u16-vsprintf: New file.
	* modules/unistdio/u32-asnprintf: New file.
	* modules/unistdio/u32-asprintf: New file.
	* modules/unistdio/u32-printf-parse: New file.
	* modules/unistdio/u32-snprintf: New file.
	* modules/unistdio/u32-sprintf: New file.
	* modules/unistdio/u32-vasnprintf: New file.
	* modules/unistdio/u32-vasprintf: New file.
	* modules/unistdio/u32-vsnprintf: New file.
	* modules/unistdio/u32-vsprintf: New file.
	* modules/unistdio/u32-u32-asnprintf: New file.
	* modules/unistdio/u32-u32-asprintf: New file.
	* modules/unistdio/u32-u32-snprintf: New file.
	* modules/unistdio/u32-u32-sprintf: New file.
	* modules/unistdio/u32-u32-vasnprintf: New file.
	* modules/unistdio/u32-u32-vasprintf: New file.
	* modules/unistdio/u32-u32-vsnprintf: New file.
	* modules/unistdio/u32-u32-vsprintf: New file.
	* modules/unistdio/ulc-asnprintf-tests: New file.
	* modules/unistdio/ulc-vasnprintf-tests: New file.
	* modules/unistdio/ulc-vasprintf-tests: New file.
	* modules/unistdio/ulc-vsnprintf-tests: New file.
	* modules/unistdio/ulc-vsprintf-tests: New file.
	* modules/unistdio/u8-asnprintf-tests: New file.
	* modules/unistdio/u8-vasnprintf-tests: New file.
	* modules/unistdio/u8-vasprintf-tests: New file.
	* modules/unistdio/u8-vsnprintf-tests: New file.
	* modules/unistdio/u8-vsprintf-tests: New file.
	* modules/unistdio/u16-asnprintf-tests: New file.
	* modules/unistdio/u16-vasnprintf-tests: New file.
	* modules/unistdio/u16-vasprintf-tests: New file.
	* modules/unistdio/u16-vsnprintf-tests: New file.
	* modules/unistdio/u16-vsprintf-tests: New file.
	* modules/unistdio/u32-asnprintf-tests: New file.
	* modules/unistdio/u32-vasnprintf-tests: New file.
	* modules/unistdio/u32-vasprintf-tests: New file.
	* modules/unistdio/u32-vsnprintf-tests: New file.
	* modules/unistdio/u32-vsprintf-tests: New file.
	* MODULES.html.sh (Unicode string functions): Add the new modules.

2007-07-01  Bruno Haible  <bruno@clisp.org>

	* lib/sprintf.c (sprintf): Limit the available length estimation,
	to avoid address wraparound.
	* lib/vsprintf.c (vsprintf): Likewise.
	* modules/sprintf-posix (Dependencies): Add stdint.
	* modules/vsprintf-posix (Dependencies): Likewise.

2007-07-01  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
	Windows PATH as well. Conservative double-quoting. Comments.

2007-07-01  Bruno Haible  <bruno@clisp.org>
	    Eric Blake  <ebb9@byu.net>
	    Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (self_abspathname): Fix algorithm to cope with
	empty components in $PATH, denoting '.'.

2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool: Fix indentation.
	(func_create_megatestdir): Likewise.
	Report by Bruno Haible.

2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Sync from Automake.
	* build-aux/gnupload: Fix shell portability issues with for loops.
	Report by Karl Berry.

2007-06-29  Simon Josefsson  <simon@josefsson.org>

	* build-aux/maint.mk (POURL): Use translationproject.org.

2007-06-27  Simon Josefsson  <simon@josefsson.org>
	    Bruno Haible  <bruno@clisp.org>

	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
	before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
	explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
	(gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
	HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.

2007-06-27  Bruno Haible  <bruno@clisp.org>

	* build-aux/config.rpath: Upgrade to libtool-1.5.24.
	* build-aux/config.libpath: Upgrade to libtool-1.5.24.

2007-06-26  Karl Berry  <karl@gnu.org>

	* MODULES.html.sh: remove xreadlink-with-size.

2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
	method that I hope also handles the double-include problem noted
	by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2007-05/msg00186.html>.

2007-06-23  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
	Don't let the 'mostlyclean' target fail if the last subdirectory could
	not be removed.
	Reported by Karl Berry.

2007-06-23  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (echo): Add a speedier workaround for ksh.
	* tests/test-echo.sh: Likewise.

2007-06-23  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
	* tests/test-echo.sh: Likewise.

2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (IFS): Initialize early, so we don't set it to
	empty later.
	(self_abspathname): Rewrite algorithm to set it, reindent.
	(func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
	(func_create_megatestdir): Merge some sed scripts.

2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
	exposed by Sun Studio 11 cc on Solaris 8.

2007-06-22  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (echo): Ensure the echo primitive does not interpret
	backslashes.
	* tests/test-echo.sh: New file.

2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_add_or_update, func_create_testdir): Do not
	simplify `sed_replace_build_aux' scripts, they are portable but
	echoing them with `echo' is not.
	Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.

2007-06-21  Karl Berry  <karl@gnu.org>

	* config/srclist.txt: guess we can't handle the licenses via
	srclist at the moment.

2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh: Add include_next.
	* modules/include_next: New file.

2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
	INCLUDE_NEXT.
	(gl_CHECK_NEXT_HEADERS): New macro.
	* m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
	the obsolescent gl_ABSOLUTE_HEADER.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
	* m4/float_h.m4 (gl_FLOAT_H): Likewise.
	* m4/iconv_h.m4 (gl_ICONV_H): Likewise.
	* m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
	* m4/locale_h.m4 (gl_LOCALE_H): Likewise.
	* m4/math_h.m4 (gl_MATH_H): Likewise.
	* m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
	* m4/search_h.m4 (gl_SEARCH_H): Likewise.
	* m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
	* m4/stdint.m4 (gl_STDINT_H): Likewise.
	* m4/stdio_h.m4 (gl_STDIO_H): Likewise.
	* m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
	* m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
	* m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
	* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
	* m4/sysexits.m4 (gl_SYSEXITS): Likewise.
	* m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
	* m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
	* m4/wchar.m4 (gl_WCHAR_H): Likewise.
	* m4/wctype.m4 (gl_WCTYPE_H): Likewise.
	* m4/inttypes.m4 (gl_INTTYPES_H): Define
	_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
	builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
	* m4/stdint.m4 (gl_STDINT_H): Likewise, for
	_GL_JUST_INCLUDE_SYSTEM_STDINT_H.
	* lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
	rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
	* lib/float_.h: Likewise.
	* lib/inttypes_.h: Likewise.
	* lib/math_.h: Likewise.
	* lib/search_.h: Likewise.
	* lib/signal_.h: Likewise.
	* lib/stdint_.h: Likewise.
	* lib/stdio_.h: Likewise.
	* lib/stdlib_.h: Likewise.
	* lib/string_.h: Likewise.
	* lib/sys_stat_.h: Likewise.
	* lib/sys_time_.h: Likewise.
	* lib/time_.h: Likewise.
	* lib/unistd_.h: Likewise.
	* lib/wchar_.h: Likewise.
	* lib/wctype_.h: Likewise.
	* lib/dirent_.h: Likewise.
	* lib/iconv_.h: Likewise.
	* lib/locale_.h: Likewise.
	* lib/netinet_in_.h: Likewise.
	* lib/sys_select_.h: Likewise.
	* lib/sys_socket_.h: Likewise.
	* lib/sysexits_.h: Likewise.
	* modules/fcntl (Depends-on): Depend on include_next, not
	absolute_header.
	(Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
	HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
	* modules/fchdir: Likewise.
	* modules/float: Likewise.
	* modules/iconv_open: Likewise.
	* modules/inttypes: Likewise.
	* modules/locale: Likewise.
	* modules/math: Likewise.
	* modules/netinet_in: Likewise.
	* modules/search: Likewise.
	* modules/signal: Likewise.
	* modules/stdint: Likewise.
	* modules/stdio: Likewise.
	* modules/stdlib: Likewise.
	* modules/string: Likewise.
	* modules/sys_select: Likewise.
	* modules/sys_socket: Likewise.
	* modules/sys_stat: Likewise.
	* modules/sys_time: Likewise.
	* modules/sysexits: Likewise.
	* modules/time: Likewise.
	* modules/unistd: Likewise.
	* modules/wchar: Likewise.
	* modules/wctype: Likewise.
	* modules/sys_stat: Change maintainer to "all".
	* modules/unistd: Likewise.

2007-06-20  Karl Berry  <karl@gnu.org>

	* config/srclist.txt: track www changes in license files.

2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>

	* build-aux/bootstrap: Remove stray dot.
	Make sure build_aux settings are honored when linking
	gnulib_extra_files.

2007-06-19  Eric Blake  <ebb9@byu.net>

	* modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
	Allow compilation on cygwin.

2007-06-19  Jim Meyering  <jim@meyering.net>

	xreadlink-with-size: Remove module.  No longer used.
	Ex-callers now use xreadlink or mreadlink-with-size.
	* modules/xreadlink-with-size: Remove module.
	* lib/xreadlink-with-size.c: Remove file.
	* lib/xreadlink.h (xreadlink_with_size): Remove prototype.
	(xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
	just before the function definition *is* accurate.

	Eliminate one way canonicalize_filename_mode could exit.
	* lib/canonicalize.c (canonicalize_filename_mode):
	Use mreadlink_with_size, not xreadlink_with_size.

2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>

	Detect porting problems to FreeBSD/arm, which has time_t wider than
	long int.  Original problem reported for GNU diff by Xin Li in
	<http://lists.gnu.org/r/bug-gnu-utils/2007-06/msg00091.html>.
	* modules/getdate (Depends-on): Add intprops, verify.
	* lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
	is an integer type no wider than long int.

2007-06-18  Jim Meyering  <jim@meyering.net>

	New module: mreadlink-with-size.
	* MODULES.html.sh: Add mreadlink-with-size.
	* modules/mreadlink-with-size: New module
	* modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
	not xreadlink-with-size.
	* lib/mreadlink-with-size.c, lib/mreadlink.h: New files.

2007-06-16  Bruno Haible  <bruno@clisp.org>

	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
	* doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
	Reported by Gary V. Vaughan <gary@gnu.org>.

2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>

	Revamp lchown so that it lives in unistd.h where it belongs.
	* lib/lchown.h: Remove.
	* lib/dirchownmod.c: Don't include lib/lchown.h.
	* lib/fchownat.c: Likewise.
	* lib/openat.c: Likewise.
	* lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
	does not follow symlinks.
	(EOPNOTSUPP): Define if not defined.
	* lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
	is defined to 0.
	(lchown): New decl.
	* m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
	Do not check for lchown decl.
	Set REPLACE_LCHOWN.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
	REPLACE_LCHOWN.
	* modules/chown: Make it clear it follows symlinks.
	* modules/lchown: Make it clear it doesn't follow symlinks.
	(Files): Remove lib/lchown.h
	(Depends-on): Add unistd.
	(configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
	(Include): Include <unistd.h>, not "lchown.h".
	* modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
	REPLACE_LCHOWN.

2007-06-15  Jim Meyering  <jim@meyering.net>

	Change license (GPL to LGPL) of fsusage and dependents.
	* modules/fsusage (License): Change to LGPL.
	* modules/full-read (License): Likewise.
	* modules/full-write (License): Likewise.
	* modules/safe-read (License): Likewise.
	* modules/safe-write (License): Likewise.

2007-06-14  Ben Pfaff  <blp@gnu.org>

	Missing part of allocsa -> malloca transition.
	* modules/relocatable-prog-wrapper: gl_ALLOCSA should be
	gl_MALLOCA.

2007-06-12  Bruno Haible  <bruno@clisp.org>

	* m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
	to ia64, x86_64, i386.
	Reported by Eric Blake.

2007-06-12  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
	cross-compiling to x86_64.

2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
	glitch reported by Ralf Wildenhues in
	<http://lists.gnu.org/r/bug-gnulib/2007-06/msg00114.html>.

	* m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
	Vin Shelton.

2007-06-11  Bruno Haible  <bruno@clisp.org>

	* lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
	replacement string.
	Reported by Eric Blake.

2007-06-10  Bruno Haible  <bruno@clisp.org>

	Prepare vasnprintf code for use with Unicode strings.
	* lib/printf-args.h (PRINTF_FETCHARGS): New macro.
	(arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
	TYPE_U32_STRING.
	(argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
	a_u32_string variants.
	(PRINTF_FETCHARGS): Renamed from printf_fetchargs.
	* lib/printf-args.c: Don't include config.h and the specification
	header if PRINTF_FETCHARGS is already defined.
	(PRINTF_FETCHARGS): Renamed from printf_fetchargs.
	(PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
	TYPE_U16_STRING, TYPE_U32_STRING.
	* lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
	u16_directive, u16_directives, u32_directive, u32_directives): New
	types.
	(ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
	New declarations.
	* lib/printf-parse.c: Don't include config.h and the specification
	header if PRINTF_PARSE is already defined. Eliminate the set of
	parameters for WIDE_CHAR_VERSION; the user of this file must provide
	them now. Include c-ctype.h.
	(PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
	directive and CHAR_T_ONLY_ASCII.
	* lib/vasnprintf.c: Don't include config.h and the specification header
	if VASNPRINTF is already defined.
	(DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
	(VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
	DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
	type. Handle the case that TCHAR_T and FCHAR_T are not of the same
	size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
	add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
	code accordingly.
	(VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
	pad_ourselves also in this case, with the 'c' and 's' directives, and
	with a different notion of "width".
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.

2007-06-10  Bruno Haible  <bruno@clisp.org>

	* modules/unistr/u32-mbsnlen: New file.
	* lib/unistr/u32-mbsnlen.c: New file.

	* modules/unistr/u16-mbsnlen: New file.
	* lib/unistr/u16-mbsnlen.c: New file.

	* modules/unistr/u8-mbsnlen: New file.
	* lib/unistr/u8-mbsnlen.c: New file.

	* lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
	declarations.

2007-06-10  Bruno Haible  <bruno@clisp.org>

	* lib/string_.h (mbsnlen): New declaration.
	* lib/mbsnlen.c: New file.
	* m4/mbsnlen.m4: New file.
	* modules/mbsnlen: New file.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
	* modules/string (string.h): Substitute GNULIB_MBSNLEN.
	* MODULES.html.sh (Internationalization functions): Add mbsnlen.

2007-06-10  Bruno Haible  <bruno@clisp.org>

	* lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.

2007-06-10  Bruno Haible  <bruno@clisp.org>

	* lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
	* lib/mbuiter.h: Likewise.

2007-06-10  Bruno Haible  <bruno@clisp.org>

	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
	declaration.

2007-06-10  Karl Berry  <karl@gnu.org>

	* config/srclist.txt: remove gettext entries, Bruno prefers
	to update individually.

2007-06-10  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
	'maxlen'. Ensure only length + width bytes are allocated, not
	length + 1 + width.

2007-06-09  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
	(CHAR_T): Remove macro.
	(VASNPRINTF): Update.

2007-06-09  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (Unicode string functions): Add the new modules.

	* modules/uniconv/u32-conv-to-enc: New file.
	* lib/uniconv/u32-conv-to-enc.c: New file.
	* modules/uniconv/u32-conv-to-enc-tests: New file.
	* tests/uniconv/test-u32-conv-to-enc.c: New file.

	* modules/uniconv/u16-conv-to-enc: New file.
	* lib/uniconv/u16-conv-to-enc.c: New file.
	* lib/uniconv/u-conv-to-enc.h: New file.
	* modules/uniconv/u16-conv-to-enc-tests: New file.
	* tests/uniconv/test-u16-conv-to-enc.c: New file.

	* modules/uniconv/u8-conv-to-enc: New file.
	* lib/uniconv/u8-conv-to-enc.c: New file.
	* modules/uniconv/u8-conv-to-enc-tests: New file.
	* tests/uniconv/test-u8-conv-to-enc.c: New file.

	* lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
	u32_conv_to_encoding): New declarations.

2007-06-09  Bruno Haible  <bruno@clisp.org>

	* tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.

2007-06-09  Bruno Haible  <bruno@clisp.org>

	Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
	* modules/malloca: Renamed from modules/allocsa, updated.
	* lib/malloca.h: Renamed from lib/allocsa.h, updated.
	* lib/malloca.c: Renamed from lib/allocsa.c, updated.
	* lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
	* m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
	* modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
	* tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
	* modules/xmalloca: Renamed from modules/xallocsa, updated.
	* lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
	* lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
	* modules/c-strcasestr (Depends-on): Update.
	* lib/c-strcasestr.c: Update.
	* modules/c-strstr (Depends-on): Update.
	* lib/c-strstr.c: Update.
	* modules/canonicalize-lgpl (Depends-on): Update.
	* lib/canonicalize-lgpl.c: Update.
	* modules/clean-temp (Depends-on): Update.
	* lib/clean-temp.c: Update.
	* modules/csharpcomp (Depends-on): Update.
	* lib/csharpcomp.c: Update.
	* modules/csharpexec (Depends-on): Update.
	* lib/csharpexec.c: Update.
	* modules/javacomp (Depends-on): Update.
	* lib/javacomp.c: Update.
	* modules/javaexec (Depends-on): Update.
	* lib/javaexec.c: Update.
	* modules/mbscasestr (Depends-on): Update.
	* lib/mbscasestr.c: Update.
	* modules/mbsstr (Depends-on): Update.
	* lib/mbsstr.c: Update.
	* modules/setenv (Depends-on): Update.
	* lib/setenv.c: Update.
	* modules/strcasestr (Depends-on): Update.
	* lib/strcasestr.c: Update.
	* modules/striconveha (Depends-on): Update.
	* lib/striconveha.c: Update.
	* modules/relocatable-prog-wrapper (Files): Update.
	* lib/relocwrapper.c: Update.
	* build-aux/install-reloc: Update.
	* MODULES.html.sh (Memory management functions <stdlib.h>): Update.

2007-06-08  Bruno Haible  <bruno@clisp.org>

	Port to uClibc.
	* lib/fbufmode.c (fbufmode): Add special code for uClibc.
	* lib/fpurge.c (fpurge): Likewise.
	* lib/freading.c (freading): Likewise.
	* lib/fseeko.c (rpl_fseeko): Likewise.
	* lib/fseterr.c (fseterr): Likewise.
	* lib/fwriting.c (fwriting): Likewise.
	* tests/test-fflush.c (main): Avoid a failure on uClibc.

2007-06-08  Bruno Haible  <bruno@clisp.org>

	* m4/intlmacosx.m4: New file, extracted from gettext.m4.
	* m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
	* modules/gettext (Files): Add m4/intlmacosx.m4.

2007-06-07  Bruno Haible  <bruno@clisp.org>

	* modules/localename-tests: New file.
	* tests/test-localename.c: New file.

	New module 'localename'.
	* lib/localename.h: New file.
	* lib/localename.c: New file, from GNU gettext.
	* m4/localename.m4: New file.
	* modules/localename: New file.

2007-06-07  Bruno Haible  <bruno@clisp.org>

	Work around the lack of <wchar.h> on some builds of uClibc.
	* doc/headers/wchar.texi: Update.
	* lib/wchar_.h: Include <wchar.h> only if it exists.
	* m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
	* m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
	(gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
	doesn't exist.
	* modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
	* modules/mbfile (Depends-on): Add wchar.
	* modules/mbiter (Depends-on): Likewise.
	* modules/mbuiter (Depends-on): Likewise.
	Reported by Simon Josefsson.

2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>

	Work around problem reported by Steven M. Schweda in
	<http://lists.gnu.org/r/bug-tar/2007-06/msg00002.html>:
	Tru64 5.1B with the Compaq compiler environment installed declares
	an 'isblank' function but does not define it in the C library.
	* lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
	* lib/regex_internal.h (isblank): Likewise.
	* m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
	* m4/regex.m4 (gl_PREREQ_REGEX): Likewise.

2007-06-05  Bruno Haible  <bruno@clisp.org>

	Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
	ia64.
	* modules/printf-safe: New file.
	* modules/fprintf-posix (Depends-on): Add printf-safe.
	* modules/printf-posix (Depends-on): Likewise.
	* modules/snprintf-posix (Depends-on): Likewise.
	* modules/sprintf-posix (Depends-on): Likewise.
	* modules/vasnprintf-posix (Depends-on): Likewise.
	* modules/vasprintf-posix (Depends-on): Likewise.
	* modules/vfprintf-posix (Depends-on): Likewise.
	* modules/vprintf-posix (Depends-on): Likewise.
	* modules/vsnprintf-posix (Depends-on): Likewise.
	* modules/vsprintf-posix (Depends-on): Likewise.
	* m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
	AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
	non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
	"no" on i386, x86_64, ia64.
	* tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
	(test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
	on i386, x86_64, ia64.
	* tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
	(test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
	on i386, x86_64, ia64.
	* tests/test-vasnprintf-posix.c: Include float.h.
	(LDBL80_WORDS): New macro.
	(test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
	on i386, x86_64, ia64.
	* tests/test-vasprintf-posix.c: Include float.h.
	(LDBL80_WORDS): New macro.
	(test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
	on i386, x86_64, ia64.
	* tests/test-snprintf-posix.c: Include float.h.
	* tests/test-sprintf-posix.c: Likewise.
	* tests/test-vsnprintf-posix.c: Likewise.
	* tests/test-vsprintf-posix.c: Likewise.

2007-06-05  Bruno Haible  <bruno@clisp.org>

	Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
	* m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
	non-IEEE numbers on i386, x86_64, ia64.
	(gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
	* lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
	* tests/test-isnanl.h: Include float.h.
	(main): Check also non-IEEE numbers on i386, x86_64, ia64.

2007-06-05  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
	also the %a / %A. Handle the %a / %A code before this extra handling.

2007-06-05  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
	NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.

2007-06-05  Bruno Haible  <bruno@clisp.org>

	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
	typo in variable name.

2007-06-05  Eric Blake  <ebb9@byu.net>

	* m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
	Reported by Simon Josefsson.

2007-06-04  Bruno Haible  <bruno@clisp.org>

	Avoid test failures on some PowerPC platforms.
	* tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
	Define differently for PowerPC.
	* tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
	Reported by Gary V. Vaughan <gary@gnu.org>.

2007-06-02  Bruno Haible  <bruno@clisp.org>

	Fix test-stdint failure on FreeBSD/ia64.
	* m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
	PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
	WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
	* doc/headers/stdint.texi: Update.

2007-06-01  Bruno Haible  <bruno@clisp.org>

	* tests/test-binary-io.c (main): Pass a third argument to open().
	Reported by Gary V. Vaughan <gary@gnu.org>.

2007-06-01  Bruno Haible  <bruno@clisp.org>

	* doc/functions/frexpl.texi: Update for mingw.

2007-06-01  Bruno Haible  <bruno@clisp.org>

	* tests/test-lseek.c (main): Disable test of errno for invalid third
	argument.
	* doc/functions/lseek.texi: Update.
	Reported by Gary V. Vaughan <gary@gnu.org>.

2007-05-28  Bruno Haible  <bruno@clisp.org>

	* m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.

2007-05-31  Eric Blake  <ebb9@byu.net>

	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
	cross compiling.

2007-05-30  Eric Blake  <ebb9@byu.net>
	and Bruno Haible  <bruno@clisp.org>

	Work around mingw test failures exposed by m4-1.4.9b.
	* m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
	* tests/test-unistd.c: Disable uid_t and git_t tests for the
	moment.

2007-05-30  Bruno Haible  <bruno@clisp.org>

	* tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
	assuming that they are closed. Needed on HP-UX 11.

2007-05-29  Bruno Haible  <bruno@clisp.org>

	Fix a problem with #include_next.
	* lib/dirent_.h: Split the double-inclusion guard.
	* lib/fcntl_.h: Likewise.
	* lib/float_.h: Likewise.
	* lib/iconv_.h: Likewise.
	* lib/inttypes_.h: Likewise.
	* lib/locale_.h: Likewise.
	* lib/math_.h: Likewise.
	* lib/netinet_in_.h: Likewise.
	* lib/search_.h: Likewise.
	* lib/signal_.h: Likewise.
	* lib/stdint_.h: Likewise.
	* lib/stdio_.h: Likewise.
	* lib/stdlib_.h: Likewise.
	* lib/string_.h: Likewise.
	* lib/sys_select_.h: Likewise.
	* lib/sys_socket_.h: Likewise.
	* lib/sys_stat_.h: Likewise.
	* lib/sys_time_.h: Likewise.
	* lib/sysexits_.h: Likewise.
	* lib/time_.h: Likewise.
	* lib/unistd_.h: Likewise.
	* lib/wchar_.h: Likewise.
	* lib/wctype_.h: Likewise.

2007-05-29  Bruno Haible  <bruno@clisp.org>

	* tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
	for the moment.

2007-05-29  Bruno Haible  <bruno@clisp.org>

	* m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
	invocation.
	Reported by Eric Blake.

2007-05-29  Bruno Haible  <bruno@clisp.org>

	* m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
	compiling case.

2007-05-29  Eric Blake  <ebb9@byu.net>
	    Bruno Haible  <bruno@clisp.org>

	* m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
	cross compiles.

2007-05-28  Eric Blake  <ebb9@byu.net>

	* modules/closein-tests (test_closein_LDADD): Support test on
	cygwin with libtool.

2007-05-28  Bruno Haible  <bruno@clisp.org>

	* tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
	* tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
	* tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
	* tests/uniconv/test-u32-conv-from-enc.c: Likewise.
	* tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
	* tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
	* tests/uniconv/test-u8-conv-from-enc.c: Likewise.
	* tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
	* tests/uniconv/test-u8-strconv-to-enc.c: Likewise.

2007-05-28  Eric Blake  <ebb9@byu.net>

	Unconditionally include <config.h> in unit tests.
	* tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
	* tests/test-allocsa.c, tests/test-arcfour.c,
	tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
	tests/test-array_list.c, tests/test-array_oset.c,
	tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
	test-avltreehash_list.c, test-base64.c, test-binary-io.c,
	test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
	test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
	test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
	test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
	test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
	test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
	test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
	test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
	test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
	test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
	test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
	test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
	test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
	test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
	test-md5.c, test-memmem.c, test-printf-posix.c,
	test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
	test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
	test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
	test-strcasestr.c, test-striconv.c, test-striconveh.c,
	test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
	test-vasnprintf-posix2.c, test-vasnprintf.c,
	test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
	test-vfprintf-posix.c, test-vprintf-posix.c,
	test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
	test-xvasprintf.c: Likewise.

2007-05-28  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Remember the --with-tests command-line
	option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
	Reported by Eric Blake.

2007-05-28  Bruno Haible  <bruno@clisp.org>

	* modules/ftell-tests: New file.
	* tests/test-ftell.c: New file, based on tests/test-ftello.c.
	* tests/test-ftell.sh: New file, based on tests/test-ftello.sh.

	* lib/ftell.c: New file.
	* modules/ftell: New file.
	* m4/ftell.m4: New file.
	* doc/functions/ftell.texi: Update.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
	REPLACE_FTELL.
	* lib/stdio_.h (rpl_ftell): New declaration.
	* modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
	REPLACE_FTELL.

2007-05-28  Eric Blake  <ebb9@byu.net>

	* lib/allocsa.h (safe_alloca): Avoid compiler warning.

2007-05-28  Bruno Haible  <bruno@clisp.org>

	* modules/fseek-tests: New file.
	* tests/test-fseek.c: New file, based on tests/test-fseeko.c.
	* tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.

	* lib/fseek.c: New file.
	* modules/fseek: New file.
	* m4/fseek.m4: New file.
	* doc/functions/fseek.texi: Update.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
	REPLACE_FSEEK.
	* lib/stdio_.h (rpl_fseek): New declaration.
	* modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
	REPLACE_FSEEK.

2007-05-28  Bruno Haible  <bruno@clisp.org>

	* lib/stdio_.h (fflush): More comments.

2007-05-28  Bruno Haible  <bruno@clisp.org>

	* m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
	runtime test.

2007-05-28  Eric Blake  <ebb9@byu.net>

	Improve lseek module.
	* lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
	* lib/unistd_.h (lseek): Scale back link warning message.
	* tests/test-lseek.c: Beef up test.
	* tests/test-lseek.sh: Exercise more facets of lseek.
	Reported by Bruno Haible.

2007-05-28  Bruno Haible  <bruno@clisp.org>

	* tests/test-unistd.c: Test all the types that <unistd.h> is expected
	to define.

2007-05-27  Bruno Haible  <bruno@clisp.org>

	* m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.

2007-05-27  Bruno Haible  <bruno@clisp.org>

	* modules/openmp: New file.
	* m4/openmp.m4: New file, taken from autoconf's CVS with changes by
	Noah Misch.

2007-05-26  Bruno Haible  <bruno@clisp.org>

	* modules/chdir-long (Depends-on): Add fchdir.
	* modules/chdir-safer (Depends-on): Likewise.
	* modules/fts (Depends-on): Likewise.
	* modules/fts-lgpl (Depends-on): Likewise.
	* modules/openat (Depends-on): Likewise.
	* modules/savewd (Depends-on): Likewise.

2007-05-24  Eric Blake  <ebb9@byu.net>

	Fix lseek on mingw.
	* modules/lseek: New module.
	* m4/lseek.m4: New file.
	* lib/lseek.c: New file.
	* modules/lseek-tests: New file.
	* tests/test-lseek.c: New file.
	* tests/test-lseek.sh: New file.
	* MODULES.html.sh: Document lseek module.
	* modules/fflush (Depends-on): Add lseek, fseeko.
	* modules/fseeko (Depends-on): Likewise.
	* modules/ftello (Depends-on): Likewise.
	* m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
	broken.
	* m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
	broken.
	* m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
	* lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
	* lib/ftello.c (rpl_ftello): Likewise.
	* tests/test-fseeko.c (main): Test this.
	* tests/test-fseeko.sh: Likewise.
	* tests/test-ftello.c (main): Likewise.
	* tests/test-ftello.sh: Likewise.
	* lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
	implies replacing fseek.
	* modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
	HAVE_FTELLO.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
	* modules/unistd (Makefile.am): Likewise.
	* lib/unistd_.h (lseek): Declare a replacement.
	* doc/functions/lseek.texi (lseek): Document this fix.
	* doc/functions/fseek.texi (fseek): Likewise.
	* doc/functions/ftell.texi (ftell): Likewise.

2007-05-24  Bruno Haible  <bruno@clisp.org>

	* tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
	in the printed representation of a NaN.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	Reported by Eric Blake.

2007-05-23  Eric Blake  <ebb9@byu.net>

	Fix fseeko/ftello on cygwin 1.5.24.
	* doc/functions/fseeko.texi (fseeko): Document the fix.
	* doc/functions/ftello.texi (ftello): Document the fix.
	* doc/functions/stdin.texi (stdin): Document the cygwin bug.
	* doc/functions/stdout.text (stdout): New file.
	* doc/functions/stderr.text (stderr): New file.
	* doc/gnulib.texi (Function Substitutes): Use new files.
	* tests/test-fseeko.c (main): Check for broken fseeko on cygwin
	prior to 1.7.0.
	* tests/test-ftello.c (main): Likewise for ftello.
	* tests/test-fseeko.sh: New file.
	* tests/test-ftello.sh: New file.
	* modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
	with seekable stdin.
	* modules/ftello-tests (Makefile.am): Likewise for test-ftello.
	* m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
	(gl_REPLACE_FSEEKO): New macro.
	* m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
	* modules/fseeko (Files): Distribute fseeko.c.
	* modules/ftello (Files): Distribute ftello.c.
	* lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
	mode.
	* lib/ftello.c (rpl_ftello): New file.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
	fseeko, ftello.
	(gl_STDIN_LARGE_OFFSET): New macro.
	* modules/stdio (Makefile.am): Perform the replacement.
	* lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.

2007-05-23  Bruno Haible  <bruno@clisp.org>

	* lib/stdio_.h (fseeko, ftello): Provide a link warning only if
	GNULIB_POSIXCHECK is defined.

2007-05-21  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
	Check also the output for NaN arguments. When cross-compiling, guess
	no on IRIX.
	* lib/vasnprintf.c: Update comments.
	* tests/test-vasnprintf-posix.c (strisnan): New function.
	(test_function): Use it.
	* tests/test-vasprintf-posix.c (strisnan): New function.
	(test_function): Use it.
	* tests/test-snprintf-posix.h (strisnan): New function.
	(test_function): Use it.
	* tests/test-sprintf-posix.h (strisnan): New function.
	(test_function): Use it.
	Reported by Eric Blake.

2007-05-20  Bruno Haible  <bruno@clisp.org>

	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
	numbers that fails on BeOS.
	* doc/functions/frexpl.texi: Update.

2007-05-20  Jim Meyering  <jim@meyering.net>

	* NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
	forced upon us by glibc-2.6.

2007-05-20  Bruno Haible  <bruno@clisp.org>

	Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
	* m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
	(gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
	* lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
	NEED_PRINTF_INFINITE.
	(is_infinitel): New function.
	(VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
	gl_PREREQ_VASNPRINTF_INFINITE.
	(gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
	gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
	gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
	gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
	gl_PREREQ_VASNPRINTF_INFINITE.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
	* doc/functions/fprintf.texi: Update.
	* doc/functions/printf.texi: Update.
	* doc/functions/snprintf.texi: Update.
	* doc/functions/sprintf.texi: Update.
	* doc/functions/vfprintf.texi: Update.
	* doc/functions/vprintf.texi: Update.
	* doc/functions/vsnprintf.texi: Update.
	* doc/functions/vsprintf.texi: Update.

2007-05-20  Bruno Haible  <bruno@clisp.org>

	* m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
	was not found in libc.
	* m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.

2007-05-20  Bruno Haible  <bruno@clisp.org>

	* tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
	printed as "-nan" instead of "nan".
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	Needed for HP-UX 11.

2007-05-20  Jim Meyering  <jim@meyering.net>

	Fix buggy test for the fchownat-deref bug.
	* m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
	symlink required for the run-test.  Without it, this test would
	always declare that fchownat doesn't work, and client code would
	unnecessarily use the replacement function with fixed libc.
	(gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
	Reported by Greg Schafer.

2007-05-19  Bruno Haible  <bruno@clisp.org>

	* m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
	(gl_FUNC_ISNANF_NO_LIBM): Invoke it.
	* lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
	Needed for IRIX 6.5 and Solaris 2.5.1.

2007-05-19  Bruno Haible  <bruno@clisp.org>

	* tests/test-vasnprintf-posix.c (have_minus_zero): New function.
	(test_function): Skip tests involving -0.0 on platforms where
	-0.0 = 0.0.
	* tests/test-vasprintf-posix.c (have_minus_zero): New function.
	(test_function): Skip tests involving -0.0 on platforms where
	-0.0 = 0.0.
	* tests/test-snprintf-posix.h (have_minus_zero): New function.
	(test_function): Skip tests involving -0.0 on platforms where
	-0.0 = 0.0.
	* tests/test-sprintf-posix.h (have_minus_zero): New function.
	(test_function): Skip tests involving -0.0 on platforms where
	-0.0 = 0.0.
	* tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
	tests.
	* tests/test-printf-posix.h (test_function): Likewise.
	* tests/test-printf-posix.output: Remove all -0.0 related results.
	Needed for IRIX 6.5.

2007-05-19  Bruno Haible  <bruno@clisp.org>

	* tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
	printed as "nan0x7fffffff" instead of "nan".
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-fprintf-posix.h (NaN): Remove macro.
	(test_function): Remove all NaN related tests.
	* tests/test-printf-posix.h (NaN): Remove macro.
	(test_function): Remove all NaN related tests.
	* tests/test-printf-posix.output: Remove all NaN related results.
	Needed for IRIX 6.5.

2007-05-19  Bruno Haible  <bruno@clisp.org>

	* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.

2007-05-19  Bruno Haible  <bruno@clisp.org>

	* lib/float_.h: New file.
	* m4/float_h.m4: New file.
	* modules/float: New file.
	* modules/isnanl (Dependencies): Add float.
	* modules/isnanl-nolibm (Dependencies): Likewise.
	* modules/mathl (Dependencies): Likewise.
	* modules/printf-frexpl (Dependencies): Likewise.
	* modules/signbit (Dependencies): Likewise.
	* modules/vasnprintf (Dependencies): Likewise.
	* doc/headers/float.texi: Update.

2007-05-19  Jim Meyering  <jim@meyering.net>

	* lib/utimens.c (gl_futimens): Rename from futimens,
	now that glibc-2.6 declares futimens.
	* lib/utimens.h: Likewise.

2007-05-19  Bruno Haible  <bruno@clisp.org>

	Avoid test failures on mingw.
	* tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
	* tests/test-printf-posix.sh: Likewise.
	* tests/test-vfprintf-posix.sh: Likewise.
	* tests/test-vprintf-posix.sh: Likewise.

2007-05-19  Bruno Haible  <bruno@clisp.org>

	Fix *printf result for NaN, Inf, -0.0 on mingw.
	* m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
	* lib/vasnprintf.c: Include math.h and isnan.h.
	(is_infinite_or_zero): New function.
	(VASNPRINTF): Fix also the handling of infinite or zero 'double'
	values in the %f, %F, %e, %E, %g, %G directives.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
	gl_PRINTF_INFINITE and test its result. Invoke
	gl_PREREQ_VASNPRINTF_INFINITE.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
	* doc/functions/fprintf.texi: Update.
	* doc/functions/printf.texi: Update.
	* doc/functions/snprintf.texi: Update.
	* doc/functions/sprintf.texi: Update.
	* doc/functions/vfprintf.texi: Update.
	* doc/functions/vprintf.texi: Update.
	* doc/functions/vsnprintf.texi: Update.
	* doc/functions/vsprintf.texi: Update.

2007-05-19  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
	(scale10_round_decimal_long_double): Inline scale10_round_long_double.
	Instead of multiplying with 10^k, set extra_zeroes to k.
	(scale10_round_long_double): Remove function.

2007-05-18  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
	introduced on 2007-05-06.

2007-05-18  Bruno Haible  <bruno@clisp.org>

	* tests/test-vasnprintf-posix.c (test_function): Also test the %e and
	%g directives.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.

2007-05-18  Bruno Haible  <bruno@clisp.org>

	* tests/test-vasnprintf-posix.c (SIZEOF): New macro.
	(strmatch): New function.
	(test_function): Test the %f directive on numbers of various exponents.
	* tests/test-vasprintf-posix.c (SIZEOF): New macro.
	(strmatch): New function.
	(test_function): Test the %f directive on numbers of various exponents.
	* tests/test-snprintf-posix.h (strmatch): New function.
	(test_function): Test the %f directive on numbers of various exponents.
	* tests/test-sprintf-posix.h (strmatch): New function.
	(test_function): Test the %f directive on numbers of various exponents.
	* tests/test-snprintf-posix.c (SIZEOF): New macro.
	* tests/test-sprintf-posix.c (SIZEOF): New macro.
	* tests/test-vsnprintf-posix.c (SIZEOF): New macro.
	* tests/test-vsprintf-posix.c (SIZEOF): New macro.

2007-05-18  Bruno Haible  <bruno@clisp.org>

	Add support for 'long double' number output.
	* m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
	* lib/vasnprintf.c: Include math.h and float+.h.
	(mp_limb_t): New type.
	(GMP_LIMB_BITS): New macro.
	(mp_twolimb_t): New type.
	(GMP_TWOLIMB_BITS): New macro.
	(mpn_t): New type.
	(multiply, divide, convert_to_decimal, decode_long_double,
	scale10_round_long_double, scale10_round_decimal_long_double,
	floorlog10l): New functions.
	(VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
	for the %f, %F, %e, %E, %g, %G directives.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
	gl_PRINTF_LONG_DOUBLE and test its result. Invoke
	gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
	* modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
	* modules/snprintf-posix (Depends-on): Likewise.
	* modules/sprintf-posix (Depends-on): Likewise.
	* modules/vasnprintf-posix (Depends-on): Likewise.
	* modules/vasprintf-posix (Depends-on): Likewise.
	* modules/vfprintf-posix (Depends-on): Likewise.
	* modules/vsnprintf-posix (Depends-on): Likewise.
	* modules/vsprintf-posix (Depends-on): Likewise.
	* modules/vasnprintf (Files): Add lib/float+.h.
	* doc/functions/fprintf.texi: Update.
	* doc/functions/printf.texi: Update.
	* doc/functions/snprintf.texi: Update.
	* doc/functions/sprintf.texi: Update.
	* doc/functions/vfprintf.texi: Update.
	* doc/functions/vprintf.texi: Update.
	* doc/functions/vsnprintf.texi: Update.
	* doc/functions/vsprintf.texi: Update.

2007-05-18  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.

2007-05-18  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
	for printing 64-bit integers. Needed for mingw.

2007-05-18  Bruno Haible  <bruno@clisp.org>

	* m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
	gl_FUNC_FREXPL_WORKS.
	* modules/printf-frexpl (Files): Add m4/frexpl.m4.

2007-05-18  Bruno Haible  <bruno@clisp.org>

	* modules/frexpl-nolibm-tests: New file.

	* modules/frexpl-nolibm: New file.
	* m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.

2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/dirent_.h: Prefer #include_next <foo.h> to #include
	@ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
	GCC 4.2, which otherwise issues a lot of warnings.
	* lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
	* lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
	Likewise.
	* modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
	* modules/iconv_open (iconv.h): Likewise.
	* modules/locale (locale.h): Likewise.
	* modules/netinet_in (netinet/in.h): Likewise.
	* modules/sys_select (sys_select.h): Likewise.
	* modules/sys_socket (sys/socket.h): Likewise.
	* modules/sys_stat (sys/stat.h): Likewise.
	* modules/sysexits (sysexits.h): Likewise.
	* modules/unistd (unistd.h): Likewise.

2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* modules/closein-tests (Makefile.am): Distribute
	`test-closein.sh'.

2007-05-17  Bruno Haible  <bruno@clisp.org>

	* tests/test-printf-posix.output: Renamed from
	tests/test-fprintf-posix.out.
	* modules/fprintf-posix-tests: Update.
	* modules/printf-posix-tests: Update.
	* modules/vfprintf-posix-tests: Update.
	* modules/vprintf-posix-tests: Update.
	* tests/test-fprintf-posix.sh: Update.
	* tests/test-printf-posix.sh: Update.
	* tests/test-vfprintf-posix.sh: Update.
	* tests/test-vprintf-posix.sh: Update.
	Reported by Ralf Wildenhues.

2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/fcntl_.h: Prefer #include_next <foo.h> to #include
	@ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
	GCC 4.2, which otherwise issues a lot of warnings.
	* lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
	* lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
	* lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
	* lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
	it should no longer be needed.
	* lib/string_.h: Likewise.
	* modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
	* modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
	* modules/inttypes (inttypes.h): Likewise.
	* modules/math (math.h): Likewise.
	* modules/search (search.h): Likewise.
	* modules/signal (signal.h): Likewise.
	* modules/stdint (stdint.h): Likewise.
	* modules/stdio (stdio.h): Likewise.
	* modules/stdlib (stdlib.h): Likewise.
	* modules/string (string.h): Likewise.
	* modules/sys_time (sys/time.h): Likewise.
	* modules/time (time.h): Likewise.
	* modules/wchar (wchar.h): Likewise.
	* modules/wctype (wtype.h): Likewise.

2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)

	* doc/gnulib-tool.texi (CVS Issues): Fix typo.

2007-05-13  Bruno Haible  <bruno@clisp.org>

	* stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
	* stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
	* strsep.m4 (gl_FUNC_STRSEP): Likewise.
	* strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
	(gl_PREREQ_STRTOK_R): Don't require it here.

2007-05-13  Bruno Haible  <bruno@clisp.org>

	* lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
	when used in C++ mode.

2007-05-12  Bruno Haible  <bruno@clisp.org>

	* lib/linebuffer.h: Tweak doc.
	* lib/linebuffer.c: Likewise.

2007-05-12  James Youngman  <jay@gnu.org>

	* lib/linebuffer.c (readlinebuffer_delim): New function,
	like readlinebuffer, but use a caller-specified delimiter.
	(readlinebuffer): Just call readlinebuffer_delim with '\n'
	as the delimiter.
	* lib/linebuffer.h (readlinebuffer_delim): Declare it.

2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	* m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
	* modules/openat (Files): Remove openat-die.c.
	(Depends-on): Add openat-die.
	* modules/openat-die: New module.

2007-05-06  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
	Update with info about Cygwin.
	* doc/functions/fprintf.texi: Update.
	* doc/functions/printf.texi: Update.
	* doc/functions/snprintf.texi: Update.
	* doc/functions/sprintf.texi: Update.
	* doc/functions/vfprintf.texi: Update.
	* doc/functions/vprintf.texi: Update.
	* doc/functions/vsnprintf.texi: Update.
	* doc/functions/vsprintf.texi: Update.
	Reported by Eric Blake.

2007-05-06  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
	padding ourselves for the floating-point directives.
	* m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
	gl_PRINTF_FLAG_ZERO and test its result. Invoke
	gl_PREREQ_VASNPRINTF_FLAG_ZERO.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
	* tests/test-snprintf-posix.h (test_function): Also check the width
	and some flags in the %f directive.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasnprintf-posix.c (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* doc/functions/fprintf.texi: Update.
	* doc/functions/printf.texi: Update.
	* doc/functions/snprintf.texi: Update.
	* doc/functions/sprintf.texi: Update.
	* doc/functions/vfprintf.texi: Update.
	* doc/functions/vprintf.texi: Update.
	* doc/functions/vsnprintf.texi: Update.
	* doc/functions/vsprintf.texi: Update.

2007-05-06  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
	pass the ' flag character to sprintf or snprintf.
	* m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
	gl_PRINTF_FLAG_GROUPING and test its result. Invoke
	gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
	* tests/test-snprintf-posix.h (test_function): Also check the grouping
	flag.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-vasnprintf-posix.c (test_function): Likewise.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* doc/functions/fprintf.texi: Update.
	* doc/functions/printf.texi: Update.
	* doc/functions/snprintf.texi: Update.
	* doc/functions/sprintf.texi: Update.
	* doc/functions/vfprintf.texi: Update.
	* doc/functions/vprintf.texi: Update.
	* doc/functions/vsnprintf.texi: Update.
	* doc/functions/vsprintf.texi: Update.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* tests/test-argp-2.sh (func_compare): Drop .exe suffix.

2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
	comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.

2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
	readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
	<http://lists.gnu.org/r/bug-gnulib/2007-05/msg00021.html>.

2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp-help.c (struct hol_entry): New member `ord'.
	(HOL_ENTRY_PTRCMP): Use ord for comparison
	(hol_sort): Initialize ord.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
	Reported by Eric Blake.
	* doc/gnulib.texi (Function Substitutes): Update.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* doc/functions.texi: Remove file, now redundant through
	doc/functions/*.texi.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* modules/argp (Depends-on): Add sleep.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* modules/sleep-tests: New file.
	* tests/test-sleep.c: New file.

	* modules/sleep: New file.
	* lib/sleep.c: New file.
	* m4/sleep.m4: New file.
	* lib/unistd_.h (sleep): New declaration.
	* m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
	HAVE_SLEEP.
	* modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
	* doc/functions/sleep.texi: Document the sleep module.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* lib/sigprocmask.h: Remove file.
	* lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
	* lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
	* m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
	HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
	* m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
	gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
	(gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
	HAVE_SIGSET_T as a shell variable.
	* modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
	HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
	* modules/sigprocmask (Files): Remove lib/sigprocmask.h.
	(Depends-on): Add signal. Remove verify.
	(configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
	(Include): Mention <signal.h> instead of sigprocmask.h.
	* NEWS: Mention the change.
	* lib/fatal-signal.c: Don't include sigprocmask.h.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* modules/signal: New file.
	* lib/signal_.h: New file.
	* m4/signal_h.m4: New file.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
	* m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
	* modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
	HAVE_WCTYPE_CTMP_BUG into wctype.h.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
	configure time.
	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
	HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
	* modules/sys_stat (Makefile.am): Substitute their values into
	sys/stat.h.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
	* m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
	* modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* doc/header/assert.texi: Undo last change: don't mention the gnulib
	'assert' module here.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* doc/functions/*.texi: New files.
	* doc/functions/google-ranking.txt: New file.
	* doc/gnulib.texi (Function Substitutes): New chapter.
	(ctime, inet_ntoa): Remove sections.
	* doc/ctime.texi: Remove file.
	* doc/inet_ntoa.texi: Remove file.
	* doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
	dependencies.
	(%.info): New rule, specifying a --reference-limit.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
	the portability of 'mkdir' to mingw systems.

2007-05-01  Bruno Haible  <bruno@clisp.org>

	* doc/headers/google-ranking.txt: New file.

2007-04-30  Eric Blake  <ebb9@byu.net>

	Prefer fseeko to fseek.
	* modules/getpass (Depends-on): Add fseeko.
	* lib/getpass.c (getpass): Use fseeko, not fseek.

2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
	assumes the sorting is stable, while most qsort implementations
	are not.  Use argument addresses to ensure they never compare as
	equal.

	* tests/test-argp-2.sh (usage-indent test): Fix output
	(func_compare): Restore diff options
	* tests/test-argp.c: Restore #include "progname.h"

2007-04-29  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
	gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
	* modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
	(configure.ac): Define CHECK_SNPRINTF_POSIX.
	(TESTS, check_PROGRAMS): Add test-snprintf.
	* modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
	(configure.ac): Define CHECK_VSNPRINTF_POSIX.
	(TESTS, check_PROGRAMS): Add test-vsnprintf.
	* tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
	assertions that fail on HP-UX, OSF/1, or IRIX.
	* tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.

2007-04-29  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (posix_functions): Remove 'contents'.

2007-04-29  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (gendocs_template_min): new entry.

2007-04-29  Bruno Haible  <bruno@clisp.org>

	Work around fpurge bug on BSD systems.
	* modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
	* m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
	* lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
	fpurge to rpl_fpurge if the system already has this function.
	* lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
	the case where the system already has this function. Correct invariants
	on BSD systems.
	* lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
	BSD systems.

2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
	proposed by Sven Verdoolaege.

	* tests/test-argp.c: Fix option ordering.  Test deeply clustered
	options.
	* tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
	(usage and help tests): Update

2007-04-29  Bruno Haible  <bruno@clisp.org>

	* tests/test-fflush.c (main): Use a file of size 17, not 10.
	Print more information in case of failure. Disable a test on BeOS.

2007-04-29  Bruno Haible  <bruno@clisp.org>

	* tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
	This helps debugging on systems on which no gdb is available.

2007-04-29  Bruno Haible  <bruno@clisp.org>

	* lib/freading.h: Improve comments.
	* lib/fwriting.h: Likewise.
	* tests/test-freading.c (main): Don't check freading immediately after
	repositioning. Needed for glibc.

2007-04-29  Bruno Haible  <bruno@clisp.org>

	* lib/freading.c (freading): Trivial simplification.

2007-04-28  Bruno Haible  <bruno@clisp.org>

	* tests/test-fwriting.c (main): Also test the interaction between
	fflush and fwriting.
	* modules/fwriting-tests (Depends-on): Add fflush.

	* tests/test-freading.c (main): Also test the interaction between
	fflush and freading.
	* modules/freading-tests (Depends-on): Add fflush.

2007-04-28  Bruno Haible  <bruno@clisp.org>

	* lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
	fseeko and ftello.
	Suggested by Eric Blake.

2007-04-28  Jim Meyering  <jim@meyering.net>

	Avoid false-negative in gl_STDINT_H's C99 conformance test.
	* m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
	to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.

2007-04-27  Eric Blake  <ebb9@byu.net>

	* doc/headers/assert.texi (assert.h): Document assert module use.

2007-04-27  Bruno Haible  <bruno@clisp.org>

	* doc/headers/*.texi: New files.
	* doc/gnulib.texi (Header File Substitutes): New chapter.
	* doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
	dependencies.
	(standards.info ,standards.html, standards.dvi): Update dependencies.
	(mostlyclean, clean): New targets.

2007-04-27  Bruno Haible  <bruno@clisp.org>

	* lib/sysexits_.h: Renamed from lib/sysexit_.h.
	* modules/sysexits (Files, Makefile.am): Update.

	* lib/sys_socket_.h: Renamed from lib/socket_.h.
	* modules/sys_socket (Files, Makefile.am): Update.

	* lib/sys_stat_.h: Renamed from lib/stat_.h.
	* modules/sys_stat (Files, Makefile.am): Update.

2007-04-27  Eric Blake  <ebb9@byu.net>

	* lib/freading.h: Improve comments.
	* lib/fwriting.h: Likewise.
	* lib/fflush.c: Likewise.

	Fix closein for mingw.
	* modules/closein-tests: Add tests for closein.
	* tests/test-closein.c: New file.
	* tests/test-closein.sh: Likewise.
	* lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
	* lib/closein.c (close_stdin): Don't fflush non-seekable streams.

2007-04-27  Bruno Haible  <bruno@clisp.org>

	* lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
	version is < 6.
	* lib/math_.h [__DECC]: Likewise.
	* lib/stdio_.h [__DECC]: Likewise.
	* lib/stdlib_.h [__DECC]: Likewise.
	* lib/string_.h [__DECC]: Likewise.
	* lib/time_.h [__DECC]: Likewise.
	* lib/wchar_.h [__DECC]: Likewise.
	* lib/wctype_.h [__DECC]: Likewise.

2007-04-27  Bruno Haible  <bruno@clisp.org>

	* tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.

2007-04-27  Bruno Haible  <bruno@clisp.org>

	* lib/fflush.c: Add comments.
	* modules/fpurge-tests (Depends-on): Add fflush.
	* modules/freadable-tests (Depends-on): Likewise.
	* modules/fwritable-tests (Depends-on): Likewise.

2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>

	* m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
	SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
	Report by Bruno Haible <bruno@clisp.org>.

2007-04-26  Eric Blake  <ebb9@byu.net>

	Fix fflush on mingw.
	* modules/fflush (Depends-on): Add freading.
	* lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
	but unread data.

2007-04-26  Eric Blake  <ebb9@byu.net>
	and Bruno Haible  <bruno@clisp.org>

	Implement freading and fwriting.
	* lib/freading.c: New file.
	* lib/freading.h: Likewise.
	* m4/freading.m4: Likewise.
	* modules/freading: Likewise.
	* modules/freading-tests: Likewise.
	* tests/test-freading.c: Likewise.
	* lib/fwriting.c: New file.
	* lib/fwriting.h: Likewise.
	* m4/fwriting.m4: Likewise.
	* modules/fwriting: Likewise.
	* modules/fwriting-tests: Likewise.
	* tests/test-fwriting.c: Likewise.
	* MODULES.html.sh (File stream based Input/Output): Mention them.

2007-04-26  Bruno Haible  <bruno@clisp.org>

	* lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
	'long' when we assume it.
	Suggested by Eric Blake.

2007-04-26  Bruno Haible  <bruno@clisp.org>

	Ensure fseeko, ftello are declared on glibc systems.
	* modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
	* modules/fseeko (configure.ac-early): Likewise.
	* modules/ftello (configure.ac-early): Likewise.
	* m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
	AC_FUNC_FSEEKO for this.
	* m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
	(gl_CHECK_FSEEKO): Remove macro.

2007-04-26  Bruno Haible  <bruno@clisp.org>

	* tests/test-fflush.c (main): Also check the ftell result after
	fflush and fseek/fseeko.
	* lib/fflush.c (rpl_fflush): For BSD implementations, update the
	file descriptor position cache in the stream.
	* lib/fseeko.c (rpl_fseeko): Likewise.

2007-04-26  Bruno Haible  <bruno@clisp.org>

	* modules/fflush-tests (Depends-on): Add fseeko.

2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
	    Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lib/argz_.h: ensure error_t definition is obtained in same
	mechanism system argz.h would have.
	* m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
	argz facilities are known bad.  Err on the side of caution if
	cross-compiling.

2007-04-25  Eric Blake  <ebb9@byu.net>

	* lib/fpurge.c (includes): Use stdlib.h for free.
	* tests/test-fflush.c (main): Also test fflush-fseeko.

2007-04-25  Bruno Haible  <bruno@clisp.org>

	Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
	* lib/fseeko.c: New file.
	* lib/stdio_.h: Include <sys/types.h> when off_t is needed.
	(fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
	* m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
	gl_FUNC_FSEEKO.
	(gl_FUNC_FSEEKO): Invoke it.
	* m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
	gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
	* modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.

2007-04-25  Bruno Haible  <bruno@clisp.org>

	* modules/fflush (Depends-on): Add ftello.

2007-04-25  Bruno Haible  <bruno@clisp.org>

	* modules/ftello-tests: New file.
	* tests/test-ftello.c: New file.

	* modules/ftello: New file.
	* m4/ftello.m4: New file.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
	HAVE_FTELLO.
	* lib/stdio_.h (ftello): New declaration.
	* modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
	HAVE_FTELLO.

2007-04-25  Bruno Haible  <bruno@clisp.org>

	* modules/fseeko-tests: New file.
	* tests/test-fseeko.c: New file.

	* modules/fseeko: New file.
	* m4/fseeko.m4: New file.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
	HAVE_FSEEKO.
	* lib/stdio_.h (fseeko): New declaration.
	* modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
	HAVE_FSEEKO.

2007-04-25  Bruno Haible  <bruno@clisp.org>

	* lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.

2007-04-25  Bruno Haible  <bruno@clisp.org>

	* lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
	* tests/test-stdio.c: Check that the various SEEK_* macros are defined.
	* tests/test-unistd.c: Likewise.
	* tests/test-fcntl.c: Likewise.

2007-04-23  Eric Blake  <ebb9@byu.net>

	* lib/fflush.c: Fix missing include.
	Reported by Bruno Haible.

2007-04-23  Bruno Haible  <bruno@clisp.org>

	* lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
	Reported by Eric Blake.

2007-04-23  Bruno Haible  <bruno@clisp.org>

	* lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.

2007-04-23  Bruno Haible  <bruno@clisp.org>

	* lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.

2007-04-23  Bruno Haible  <bruno@clisp.org>

	* tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
	Needed on HP-UX 11.

2007-04-16  Eric Blake  <ebb9@byu.net>

	Make fflush rely on fpurge.
	* lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
	open coding all variants.
	* modules/fflush (Depends-on): Add fpurge and unistd.
	* modules/fflush-tests (Depends-on): Unistd is no longer extra.
	* m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.

	Fix --with-tests compilation on cygwin.
	* modules/argmatch-tests (Makefile.am): List gnulib library first
	in LDADD.
	* modules/argp-tests (Makefile.am): Likewise.
	* modules/array-list-tests (Makefile.am): Likewise.
	* modules/array-oset-tests (Makefile.am): Likewise.
	* modules/avltree-list-tests (Makefile.am): Likewise.
	* modules/avltree-oset-tests (Makefile.am): Likewise.
	* modules/avltreehash-list-tests (Makefile.am): Likewise.
	* modules/carray-list-tests (Makefile.am): Likewise.
	* modules/dirname-tests (Makefile.am): Likewise.
	* modules/frexp-tests (Makefile.am): Likewise.
	* modules/isnanl-tests (Makefile.am): Likewise.
	* modules/linked-list-tests (Makefile.am): Likewise.
	* modules/linkedhash-list-tests (Makefile.am): Likewise.
	* modules/lock-tests (Makefile.am): Likewise.
	* modules/rbtree-list-tests (Makefile.am): Likewise.
	* modules/rbtree-oset-tests (Makefile.am): Likewise.
	* modules/rbtreehash-list-tests (Makefile.am): Likewise.
	* modules/tls-tests (Makefile.am): Likewise.
	* modules/tsearch-tests (Makefile.am): Likewise.
	* modules/xvasprintf-tests (Makefile.am): Likewise.

	Fix fpurge for cygwin.
	* lib/fpurge.c (fpurge): Fix order of operation flub, and return a
	value.
	* modules/fpurge-tests (Depends-on): Clean up trash.

2007-04-16  Simon Josefsson  <simon@josefsson.org>

	* lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.

	* m4/autobuild.m4: Re-indent.

2007-04-13  Bruno Haible  <bruno@clisp.org>

	* modules/fpurge-tests: New file.
	* tests/test-fpurge.c: New file.

	* modules/fpurge: New file.
	* lib/fpurge.h: New file.
	* lib/fpurge.c: New file.
	* m4/fpurge.m4: New file.

2007-04-13  Bruno Haible  <bruno@clisp.org>

	* modules/fbufmode-tests: New file.
	* tests/test-fbufmode.c: New file.

	* modules/fbufmode: New file.
	* lib/fbufmode.h: New file.
	* lib/fbufmode.c: New file.
	* m4/fbufmode.m4: New file.

2007-04-13  Bruno Haible  <bruno@clisp.org>

	* modules/fwritable-tests: New file.
	* tests/test-fwritable.c: New file.

	* modules/fwritable: New file.
	* lib/fwritable.h: New file.
	* lib/fwritable.c: New file.
	* m4/fwritable.m4: New file.

2007-04-13  Bruno Haible  <bruno@clisp.org>

	* modules/freadable-tests: New file.
	* tests/test-freadable.c: New file.

	* modules/freadable: New file.
	* lib/freadable.h: New file.
	* lib/freadable.c: New file.
	* m4/freadable.m4: New file.

2007-04-13  Bruno Haible  <bruno@clisp.org>

	* modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
	MOSTLYCLEANFILES.

2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>

	* build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
	gzip bootstrap.conf to avoid dragging in i18n machinery.
	(gnulib_tool_option): Use it.

2007-04-13  Bruno Haible  <bruno@clisp.org>

	* tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
	%F directives.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-fprintf-posix.h (test_function): Likewise.
	* tests/test-printf-posix.h (test_function): Likewise.
	* tests/test-fprintf-posix.out: Likewise.

2007-04-13  Bruno Haible  <bruno@clisp.org>

	* modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
	* modules/tls-tests (configure.ac): Likewise.
	Reported by Arto C. Nirkko <anirkko@insel.ch>.

2007-04-13  Bruno Haible  <bruno@clisp.org>

	* lib/tls.c (glthread_tls_get): Fix return type.
	Patch by Arto C. Nirkko <anirkko@insel.ch>.

2007-04-12  Eric Blake  <ebb9@byu.net>

	* modules/gettime (Depends-on): Remove gettime.
	Reported by Dmitry V. Levin.

2007-04-12  Bruno Haible  <bruno@clisp.org>

	* modules/fflush (Include): Mention <stdio.h>.
	* modules/strtoimax (Include): Mention <inttypes.h>.
	* modules/strtoumax (Include): Likewise.

2007-04-12  Eric Blake  <ebb9@byu.net>

	* .cvsignore: New file.
	* .gitignore: Likewise.

2007-04-12  Bruno Haible  <bruno@clisp.org>

	* modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
	not before, since $(LDADD) often contains libgnu.a.
	* modules/striconv-tests (test_striconv_LDADD): Likewise.
	* modules/striconveh-tests (test_striconveh_LDADD): Likewise.
	* modules/striconveha-tests (test_striconveha_LDADD): Likewise.
	Needed on Cygwin.

2007-04-12  Eric Blake  <ebb9@byu.net>

	Work around glibc's failure to flush stdin on fclose.
	* lib/closein.c (close_stdin): Flush stdin before closing.

	Work around glibc's failure to reset seekable stdin on exit.
	* modules/closein: New module.
	* lib/closein.c: New file.
	* lib/closein.h: Likewise.
	* m4/closein.m4: Likewise.
	* MODULES.html.sh (File stream based Input/Output): Document it.

2007-04-12  Simon Josefsson  <simon@josefsson.org>

	* gnulib-tool: Rename generated 'autobuild' script to
	'do-autobuild' in --create-megatestdir output.

	* doc/gnulib.texi (Build robot for gnulib): Fix.

2007-04-12  Simon Josefsson  <simon@josefsson.org>

	* modules/sysexits (Depends-on): Add absolute-header.

2007-04-12  Eric Blake  <ebb9@byu.net>

	No need to preserve errno on success.
	* lib/fflush.c (rpl_fflush): Simplify errno tracking.
	Reported by Bruno Haible.

2007-04-12  Simon Josefsson  <simon@josefsson.org>

	* MODULES.html.sh (Support for maintaining and releasing
	projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.

2007-04-12  Simon Josefsson  <simon@josefsson.org>

	* gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.

2007-04-12  Simon Josefsson  <simon@josefsson.org>

	* modules/autobuild: New module.

	* m4/autobuild.m4: New file.

2007-04-11  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
	%f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
	gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
	gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
	gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
	gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
	gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
	gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
	gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
	gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
	gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
	gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
	gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
	gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
	gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
	gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
	gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
	gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
	Reported by Eric Blake.

2007-04-11  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.

2007-04-10  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
	for NaN and Infinity. Needed on FreeBSD 6.1.
	* tests/test-vasnprintf-posix.c (test_function): Undo last change
	regarding results for "%010a" of Infinity and NaN.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-fprintf-posix.h (test_function): Likewise.
	* tests/test-printf-posix.h (test_function): Likewise.
	* tests/test-fprintf-posix.out: Likewise.

2007-04-10  Bruno Haible  <bruno@clisp.org>

	* modules/locale-tests: New file.
	* tests/test-locale.c: New file.

	* modules/locale: New file.
	* lib/locale_.h: New file.
	* m4/locale_h.m4: New file.

2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	* m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
	be determined, test for availability of the copysignf, copysign,
	copysignl functions.
	* lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
	* lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
	* lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.

2007-04-09  Eric Blake  <ebb9@byu.net>

	* lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
	* modules/stdio (Makefile.am): Support fflush.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
	* modules/fflush: New file.
	* lib/fflush.c: Likewise.
	* m4/fflush.m4: Likewise.
	* modules/fflush-tests: New test.
	* tests/test-fflush.c: Likewise.
	* MODULES.html.sh (Input/output <stdio.h>): Document new module.

2007-04-06  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
	(VASNPRINTF): Use signbit for faster determination whether to print a
	minus sign.
	* modules/vasnprintf (Files): Remove lib/float+.h.
	* modules/fprintf-posix (Depends-on): Add signbit.
	* modules/snprintf-posix (Depends-on): Likewise.
	* modules/sprintf-posix (Depends-on): Likewise.
	* modules/vasnprintf-posix (Depends-on): Likewise.
	* modules/vasprintf-posix (Depends-on): Likewise.
	* modules/vfprintf-posix (Depends-on): Likewise.
	* modules/vsnprintf-posix (Depends-on): Likewise.
	* modules/vsprintf-posix (Depends-on): Likewise.

2007-04-06  Bruno Haible  <bruno@clisp.org>

	* tests/test-frexp.c (main): Test also the sign bit of zero results.
	* tests/test-frexpl.c (main): Likewise.
	* tests/test-ldexpl.c (main): Likewise.
	* modules/frexp-tests (Depends-on): Add signbit.
	* modules/frexpl-tests (Depdends-on): Likewise.
	* modules/ldexpl-tests (Depdends-on): Likewise.

2007-04-06  Bruno Haible  <bruno@clisp.org>

	* modules/signbit-tests: New file.
	* tests/test-signbit.c: New file.

	* modules/signbit: New file.
	* lib/signbitf.c: New file.
	* lib/signbitd.c: New file.
	* lib/signbitl.c: New file.
	* m4/signbit.m4: New file.
	* lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
	(signbit): New macro.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
	REPLACE_SIGNBIT.
	* modules/math (Makefile.am): Substitute also GNULIB_SIGNBIT and
	REPLACE_FREXPL into math.h.

2007-04-06  Bruno Haible  <bruno@clisp.org>

	* modules/isnanf-nolibm-tests: New file.
	* tests/test-isnanf.c: New file.

	* modules/isnanf-nolibm: New file.
	* lib/isnanf.h: New file.
	* lib/isnanf.c: New file.
	* lib/isnan.c: Consider the USE_FLOAT macro.
	* m4/isnanf.m4: New file.

2007-04-06  Bruno Haible  <bruno@clisp.org>

	* modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
	(Link): New section.

	* modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.

2007-04-06  Bruno Haible  <bruno@clisp.org>

	Assume the 'long double' type.
	* m4/longdouble.m4: Remove file.
	* config/srclist.txt: Don't mention longdouble.m4.
	* lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
	* lib/float+.h: Likewise.
	* lib/frexp.c: Likewise.
	* lib/printf-args.h: Likewise.
	* lib/printf-args.c: Likewise.
	* lib/printf-frexp.c: Likewise.
	* lib/printf-parse.c: Likewise.
	* lib/vasnprintf.c: Likewise.
	* m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
	* m4/intl.m4: Likewise.
	* m4/isnanl.m4: Likewise.
	* m4/printf.m4: Likewise.
	* m4/printf-frexpl.m4: Likewise.
	* m4/vasnprintf.m4: Likewise.
	* modules/allocsa (Files): Remove m4/longdouble.m4.
	* modules/gettext (Files): Likewise.
	* modules/relocatable-prog-wrapper (Files): Likewise.
	* modules/vasnprintf (Files): Likewise.
	* modules/isnanl (Files): Likewise.
	(Include): Simplify.
	* modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
	(Include): Simplify.
	* modules/printf-frexpl (Files): Remove m4/longdouble.m4.
	(Include): Simplify.
	* modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
	(configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
	* modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
	(configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
	* modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
	(configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
	* modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
	(configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
	* modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
	(configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
	* modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
	(configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
	* tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
	* tests/test-isnanl.c: Likewise.
	* tests/test-snprintf-posix.h: Likewise.
	* tests/test-sprintf-posix.h: Likewise.
	* tests/test-vasnprintf-posix.c: Likewise.
	* tests/test-vasnprintf-posix2.c: Likewise.
	* tests/test-vasprintf-posix.c: Likewise.

2007-04-06  Bruno Haible  <bruno@clisp.org>

	Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
	* lib/math_.h [__DECC]: Include the overridden include file through
	#include_next, outside the double-inclusion guard.
	* lib/stdio_.h [__DECC]: Likewise.
	* lib/stdlib_.h [__DECC]: Likewise.
	* lib/string_.h [__DECC]: Likewise.
	* lib/time_.h [__DECC]: Likewise.
	* lib/wchar_.h [__DECC]: Likewise.
	* lib/wctype_.h [__DECC]: Likewise.
	* lib/inttypes_.h [__DECC]: Likewise.
	Reported by Albert Chin <china@thewrittenword.com> in
	<http://lists.gnu.org/r/bug-gnulib/2007-04/msg00088.html>.

2007-04-04  Eric Blake  <ebb9@byu.net>

	* m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
	1.5.x.

2007-04-04  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
	rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.

2007-04-04  Bruno Haible  <bruno@clisp.org>

	* tests/test-vasnprintf-posix.c (test_function): Allow two possible
	results for "%010a" of Infinity and NaN.
	* tests/test-vasprintf-posix.c (test_function): Likewise.
	* tests/test-snprintf-posix.h (test_function): Likewise.
	* tests/test-sprintf-posix.h (test_function): Likewise.
	* tests/test-fprintf-posix.h (test_function): Remove these tests.
	* tests/test-printf-posix.h (test_function): Likewise.
	* tests/test-fprintf-posix.out: Update.
	Needed for FreeBSD 6.1.

2007-04-04  Bruno Haible  <bruno@clisp.org>

	* DEPENDENCIES: Remove mentions of tar and gzip, since they are not
	directly used by the gnulib modules nor by gnulib-tool.

2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>

	* DEPENDENCIES: Give overall description of version dependency
	desirability.  Use more-typical names for apps.
	Add shell, coreutils, diffutils, grep, tar, gzip.

2007-04-04  Simon Josefsson  <simon@josefsson.org>

	* MODULES.html.sh: Rename crypto modules.  Remove iconvme.

2007-04-04  Karl Berry  <karl@gnu.org>

	* MODULES.html.sh (func_module): missing '.

2007-04-03  Bruno Haible  <bruno@clisp.org>

	* modules/argmatch-tests (Makefile.am): New variable
	test_argmatch_LDADD.
	* modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
	* modules/array-list-tests (Makefile.am): New variable
	test_array_list_LDADD.
	* modules/array-oset-tests (Makefile.am): New variable
	test_array_oset_LDADD.
	* modules/avltree-list-tests (Makefile.am): New variable
	test_avltree_list_LDADD.
	* modules/avltree-oset-tests (Makefile.am): New variable
	test_avltree_oset_LDADD.
	* modules/avltreehash-list-tests (Makefile.am): New variable
	test_avltreehash_list_LDADD.
	* modules/canonicalize-lgpl-tests (Makefile.am): New variable
	test_canonicalize_lgpl_LDADD.
	* modules/carray-list-tests (Makefile.am): New variable
	test_carray_list_LDADD.
	* modules/dirname-tests (Makefile.am): New variable
	test_dirname_LDADD.
	* modules/linked-list-tests (Makefile.am): New variable
	test_linked_list_LDADD.
	* modules/linkedhash-list-tests (Makefile.am): New variable
	test_linkedhash_list_LDADD.
	* modules/rbtree-list-tests (Makefile.am): New variable
	test_rbtree_list_LDADD.
	* modules/rbtree-oset-tests (Makefile.am): New variable
	test_rbtree_oset_LDADD.
	* modules/rbtreehash-list-tests (Makefile.am): New variable
	test_rbtreehash_list_LDADD.
	* modules/xvasprintf-tests (Makefile.am): New variable
	test_xvasprintf_LDADD.
	Reported by Eric Blake.

2007-04-03  Eric Blake  <ebb9@byu.net>

	* DEPENDENCIES: Weaken m4 requirements.

2007-04-03  Bruno Haible  <bruno@clisp.org>

	* modules/frexp-tests (configure.ac): Remove AC_SUBST.
	* modules/isnanl-tests (configure.ac): Likewise.

2007-04-03  Ben Pfaff  <blp@gnu.org>

	* modules/iconv_open: Add $(srcdir)/ to source directory
	references in Makefile fragments that call gperf, to fix VPATH
	builds.

2007-04-03  Bruno Haible  <bruno@clisp.org>

	* modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
	* lib/ldexpl.c: Undo last change.

2007-04-03  Bruno Haible  <bruno@clisp.org>

	* modules/printf-frexpl (Depends-on): Undo last change.
	(Files): Add m4/ldexpl.m4.

2007-04-03  Bruno Haible  <bruno@clisp.org>

	* m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
	* modules/isnanl (Link): New section.

	* m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
	* modules/frexp (Link): New section.

	* m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
	* modules/frexpl (Link): New section.

	* m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
	* modules/ldexpl (Link): New section.

2007-04-03  Bruno Haible  <bruno@clisp.org>

	* modules/TEMPLATE-EXTENDED: New file.
	* gnulib-tool (func_all_modules, func_verify_module): Exclude it.

2007-04-03  Bruno Haible  <bruno@clisp.org>

	* DEPENDENCIES: New file.
	Suggested by Simon Josefsson.

2007-04-03  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib.texi: Escape @.

2007-04-03  James Youngman  <jay@gnu.org>
	and Paul Eggert  <eggert@cs.ucla.edu>

	* lib/stat-time.h (get_stat_birthtime): Check for zero-valued
	birthtime on all systems that have birthtime, not just those which
	use st_birthtimensec rather than st_birthtim.  Putting zero in
	st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
	that the birth time is not available for files on an NFS mount.

2007-04-03  Simon Josefsson  <simon@josefsson.org>

	* modules/memxor: Move back from crypto/, suggested by Bruno.
	* modules/crypto/hmac-sha1: Fix memxor dependency.

	* modules/crypto/gc: Moved from ../.

2007-04-02  Eric Blake  <ebb9@byu.net>

	* lib/ldexpl.c (includes): Avoid libm.

	* modules/printf-frexpl (Depends-on): Depend on ldexpl.

2007-04-02  Bruno Haible  <bruno@clisp.org>

	* lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
	on IRIX.

2007-04-02  Bruno Haible  <bruno@clisp.org>

	* m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
	x86 or x86_64 platforms running MacOS X.
	Reported by Ryan Schmidt <@ryandesign.com>.

2007-04-02  Bruno Haible  <bruno@clisp.org>

	* m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
	i386.

2007-04-01  Simon Josefsson  <simon@josefsson.org>

	* modules/crypto/arcfour: Moved from ../.
	* modules/crypto/arcfour-tests: Moved from ../.
	* modules/crypto/arctwo: Moved from ../.
	* modules/crypto/arctwo-tests: Moved from ../.
	* modules/crypto/des: Moved from ../.
	* modules/crypto/des-tests: Moved from ../.
	* modules/crypto/gc-arcfour: Moved from ../.
	* modules/crypto/gc-arcfour-tests: Moved from ../.
	* modules/crypto/gc-arctwo: Moved from ../.
	* modules/crypto/gc-arctwo-tests: Moved from ../.
	* modules/crypto/gc-des: Moved from ../.
	* modules/crypto/gc-des-tests: Moved from ../.
	* modules/crypto/gc-hmac-md5: Moved from ../.
	* modules/crypto/gc-hmac-md5-tests: Moved from ../.
	* modules/crypto/gc-hmac-sha1: Moved from ../.
	* modules/crypto/gc-hmac-sha1-tests: Moved from ../.
	* modules/crypto/gc-md2: Moved from ../.
	* modules/crypto/gc-md2-tests: Moved from ../.
	* modules/crypto/gc-md4: Moved from ../.
	* modules/crypto/gc-md4-tests: Moved from ../.
	* modules/crypto/gc-md5: Moved from ../.
	* modules/crypto/gc-md5-tests: Moved from ../.
	* modules/crypto/gc-pbkdf2-sha1: Moved from ../.
	* modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
	* modules/crypto/gc-random: Moved from ../.
	* modules/crypto/gc-rijndael: Moved from ../.
	* modules/crypto/gc-rijndael-tests: Moved from ../.
	* modules/crypto/gc-sha1: Moved from ../.
	* modules/crypto/gc-sha1-tests: Moved from ../.
	* modules/crypto/gc-tests: Moved from ../.
	* modules/crypto/hmac-md5: Moved from ../.
	* modules/crypto/hmac-md5-tests: Moved from ../.
	* modules/crypto/hmac-sha1: Moved from ../.
	* modules/crypto/hmac-sha1-tests: Moved from ../.
	* modules/crypto/md2: Moved from ../.
	* modules/crypto/md2-tests: Moved from ../.
	* modules/crypto/md4: Moved from ../.
	* modules/crypto/md4-tests: Moved from ../.
	* modules/crypto/md5: Moved from ../.
	* modules/crypto/md5-tests: Moved from ../.
	* modules/crypto/memxor: Moved from ../.
	* modules/crypto/rijndael: Moved from ../.
	* modules/crypto/rijndael-tests: Moved from ../.
	* modules/crypto/sha1: Moved from ../.

2007-03-30  James Youngman  <jay@gnu.org>

	* tests/test-stat-time.c (prepare_test): use chmod() rather than
	rename() to change the ctime of a file (because ctime is unaffected
	by rename on jfs2 on AIX 5.1).
	(main): Start by doing cleanup, in case a previous run failed leaving
	test files behind.

2007-03-31  Bruno Haible  <bruno@clisp.org>

	Support old proprietary implementations of iconv.
	* modules/iconv_open: New file.
	* lib/iconv_.h: New file.
	* m4/iconv_h.m4: New file.
	* lib/iconv_open.c: New file.
	* lib/iconv_open-aix.gperf: New file.
	* lib/iconv_open-hpux.gperf: New file.
	* lib/iconv_open-irix.gperf: New file.
	* lib/iconv_open-osf.gperf: New file.
	* m4/iconv_open.m4: New file.
	* modules/linebreak (Depends-on): Add iconv_open.
	* modules/striconv (Depends-on): Likewise.
	* modules/striconveh (Depends-on): Likewise.
	* modules/unicodeio (Depends-on): Likewise.
	* lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
	(iconv_t)(-1).
	* lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
	conversion if cd is (iconv_t)(-1).
	(mem_iconveh, str_iconveh): Don't fail just because a direct conversion
	is not possible.

2007-03-31  Bruno Haible  <bruno@clisp.org>

	* tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
	work on Solaris either. Protect also second use of "autodetect_jp".

2007-03-31  Bruno Haible  <bruno@clisp.org>

	* m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
	the function is not present.

2007-03-31  Bruno Haible  <bruno@clisp.org>

	* m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
	the function is not present.

2007-03-31  Bruno Haible  <bruno@clisp.org>

	* m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
	a bug in HP-UX iconv_open().

2007-03-31  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (func_module): Don't show gnulib-common.m4.
	(Mathematics <math.h>): New section, add fpieee.
	(Input/output <stdio.h>): Add fseterr.
	(Mathematics <math.h>): New section, add printf-frexp.
	(Container data structures): Add sublist.
	(Core language properties): Add fpucw, inline.
	(Functions for greatest-width integer types <inttypes.h>): Add
	imaxabs, imaxdiv, inttypes.
	(Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
	isnanl-nolibm, ldexp.
	(Mathematics <math.h>): New section, add printf-frexpl.
	(Support for systems lacking POSIX:2001): Add fprintf-posix,
	printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
	sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
	vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
	(Unicode string functions): Add unistr/u*-mbtoucr.
	(Java): Add javacomp-script, javaexec-script.
	(C#): Add csharpcomp-script, csharpexec-script.
	(Support for building libraries and executables): Add havelib,
	relocatable-*.
	(Support for maintaining and releasing projects): Renamed from
	'Support for maintaining and release projects'. Add announce-gen.

2007-03-31  Bruno Haible  <bruno@clisp.org>

	* README: Talk primarily about git.
	(git and CVS): Renamed from CVS.
	* doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
	gnulib is available through git.
	* doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.

2007-03-30  Bruno Haible  <bruno@clisp.org>

	* lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
	* lib/poll_.h: Likewise.
	* lib/stat_.h: Likewise.
	* lib/sys_time_.h: Likewise.
	* lib/sysexit_.h: Likewise.
	* lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
	* lib/stdbool_.h: Likewise.
	* lib/byteswap_.h: Add double-inclusion guard.

2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>

	* lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.

2007-03-30  Karl Berry  <karl@gnu.org>

	* config/srclist-update: double space after USA in the license
	substitution, since that's how it's usually (?) written.

2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/write-any-file.c (can_write_any_file): Fix else-else bug
	reported by Bruno Haible.

2007-03-29  Bruno Haible  <bruno@clisp.org>

	* m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
	a bug in AIX iconv().

2007-03-29  Bruno Haible  <bruno@clisp.org>

	* modules/ldexpl-tests: New file.
	* tests/test-ldexpl.c: New file.

2007-03-29  Bruno Haible  <bruno@clisp.org>

	* lib/ldexpl.c: Include fpucw.h.
	(ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
	multiplication.
	* modules/ldexpl (Depends-on): Add fpucw.

2007-03-29  Bruno Haible  <bruno@clisp.org>

	* modules/ldexpl: New file.
	* m4/ldexpl.m4: New file.
	* lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
	set.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
	REPLACE_LDEXPL.
	* modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
	REPLACE_LDEXPL.
	* m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
	gl_FUNC_LDEXPL_WORKS.
	* m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
	* modules/mathl (Files): Remove lib/ldexpl.c.
	(Depends-on): Add ldexpl.

2007-03-29  Bruno Haible  <bruno@clisp.org>

	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.

2007-03-29  Bruno Haible  <bruno@clisp.org>

	* tests/test-striconveh.c (main): Don't assume that a direct conversion
	between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
	and possibly also HP-UX.
	* tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
	work on AIX, IRIX, HP-UX, OSF/1.
	* tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
	* tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.

2007-03-29  Bruno Haible  <bruno@clisp.org>

	* tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.

2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
	to work around a problem on OSF/1 5.1 reported by Bruno Haible.

2007-03-29  Eric Blake  <ebb9@byu.net>

	* lib/acl-internal.h: Remove redundant include.
	(ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
	Cygwin when a file is locked.

2007-03-29  Bruno Haible  <bruno@clisp.org>

	* lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
	file.
	* lib/asprintf.c [IN_LIBASPRINTF]: Likewise.

2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
	try to remove a parent directory if the child couldn't be removed
	(except for the first rmdir, which could fail because the child
	doesn't exist).  Problem reported by Jeff Blaine in
	<http://lists.gnu.org/r/bug-tar/2007-03/msg00014.html>.

2007-03-28  Bruno Haible  <bruno@clisp.org>

	* lib/striconveh.c (utf8conv_carefully): New function.
	(mem_cd_iconveh_internal): Invoke it.

2007-03-28  Bruno Haible  <bruno@clisp.org>

	* lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
	of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
	input.
	* modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
	utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
	unistr/u8-uctomb.

2007-03-28  Bruno Haible  <bruno@clisp.org>

	* modules/unistr/u8-mbtoucr: New file.
	* lib/unistr/u8-mbtoucr.c: New file.
	* modules/unistr/u16-mbtoucr: New file.
	* lib/unistr/u16-mbtoucr.c: New file.
	* modules/unistr/u16-mbtoucr: New file.
	* lib/unistr/u16-mbtoucr.c: New file.
	* lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.

2007-03-27  Simon Josefsson  <simon@josefsson.org>
	    Bruno Haible  <bruno@clisp.org>

	* m4/vasprintf.m4: Convert AC_SUBST into shell variable for
	REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
	AC_REQUIRE([gl_STDIO_H_DEFAULTS]).

	* m4/stdio_h.m4: Add stubs for vasprintf too.

	* modules/stdio: Support vasprintf in sed command.

	* modules/vasprintf: Depend on stdio for prototypes.  Remove
	vasprintf.h.  Add stdio module indicator.

	* lib/stdio_.h: Declare asprintf and vasprintf, based on
	vasprintf.h.

	* lib/vasprintf.h: File removed.

	* lib/asprintf.c: Use stdio.h instead of vasprintf.h.
	* lib/vasprintf.c: Ditto.
	* lib/xvasprintf.c: Ditto.
	* tests/test-vasprintf-posix.c: Ditto.
	* tests/test-vasprintf.c: Ditto.

2007-03-27  Bruno Haible  <bruno@clisp.org>

	Make vasnprintf multithread-safe.
	* lib/vasnprintf.c (decimal_point_char): New function.
	(VASNPRINTF): Use it.
	Suggested by Simon Josefsson.

2007-03-27  Eric Blake  <ebb9@byu.net>

	Support sub-second birthtime on cygwin.
	* m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
	* lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
	(get_stat_birthtime): Also work with st_birthtim.

2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/stat-time.h (USE_BIRTHTIME): Remove.
	(get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
	(get_stat_birthtime_ns): Do not try to use "spare" fields.
	(get_stat_birthtime_ns): Simplify compile-time tests.
	(get_stat_birthtime): Change the API to look like
	get_stat_mtime etc., except return a negative tv_nsec on error.
	* m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
	Don't check for "spare" fields.
	(gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
	or for struct stat.st_birthtime, as these tests aren't used.
	* tests/test-stat-time.c (test_birthtime): Adjust to new API.

2007-03-27  Bruno Haible  <bruno@clisp.org>

	* lib/stat-time.h: Include <sys/stat.h>.

2007-03-27  James Youngman  <jay@gnu.org>

	* lib/stat-time.h (get_stat_birthtime): New function for
	  retrieving st_birthtime as provided by UFS2 (hence *BSD).
	* m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
	  and its variants.
	* modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
	* modules/stat-time-test: New file.
	* tests/test-stat-time.c: New test, devised by Bruno Haible.

2007-03-26  Bruno Haible  <bruno@clisp.org>

	Better support of signalling NaNs.
	* lib/atanl.c: Include isnanl.h.
	(atanl): Perform test for NaN at the beginning of the function and
	through a call to isnanl.
	* lib/cosl.c: Include isnanl.h.
	(cosl): Perform test for NaN at the beginning of the function and
	through a call to isnanl.
	* lib/ldexpl.c: Include isnanl.h.
	(ldexpl): Perform test for NaN through a call to isnanl.
	* lib/logl.c: Include isnanl.h.
	(logl): Perform test for NaN at the beginning of the function and
	through a call to isnanl.
	* lib/sinl.c: Include isnanl.h.
	(sinl): Perform test for NaN at the beginning of the function and
	through a call to isnanl.
	* lib/sqrtl.c: Include isnanl.h.
	(sqrtl): Perform test for NaN at the beginning of the function and
	through a call to isnanl.
	* lib/tanl.c: Include isnanl.h.
	(tanl): Perform test for NaN at the beginning of the function and
	through a call to isnanl.
	* lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
	* modules/mathl (Depends-on): Add isnanl.

2007-03-26  Eric Blake  <ebb9@byu.net>

	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
	regression in logic sense of previous patch.

2007-03-26  Bruno Haible  <bruno@clisp.org>

	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
	unportable shell command "if ! ...".
	Reported by Ralf Wildenhues.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
	<sysexits.h> file, and only add EX_CONFIG.
	* m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
	absolute file name and whether it is sufficient. Substitute also
	HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
	* modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
	ABSOLUTE_SYSEXITS_H into sysexits.h.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
	hints is NULL.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
	* lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c: Include langinfo.h.
	(VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
	multithread-safe.
	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
	* m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
	* m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
	Reported by Simon Josefsson.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
	(PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
	* modules/vasnprintf (Depends-on): Add stdint.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* modules/fpieee: New file.
	* m4/fpieee.m4: New file.
	* modules/isnan-nolibm (Depends-on): Add fpieee.
	* modules/isnanl-nolibm (Depends-on): Add fpieee.
	* modules/isnanl (Depends-on): Add fpieee.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	Avoid test failures on IRIX 6.5.
	* tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
	(main): Use it.
	* tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
	macros.
	(main): Use them.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
	(gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
	exists but doesn't work.
	* lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
	is set. Don't provide a prototype if REPLACE_FREXPL is not set.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
	* modules/math (Makefile.am): Substitute also REPLACE_FREXPL into
	math.h.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
	returns inf. Needed on IRIX 6.5.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* tests/test-frexpl.c: Include isnanl-nolibm.h.
	(main): Use isnanl instead of x != x idiom.
	* modules/frexpl-tests (Depends-on): Add isnanl-nolibm.

	* tests/test-frexp.c: Include isnan.h.
	(main): Use isnan instead of x != x idiom.
	* modules/frexp-tests (Depends-on): Add isnan-nolibm.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* tests/test-frexp.c (NaN): New function/macro.
	(main): Use it instead of 0.0 / 0.0.
	* tests/test-isnan.c (NaN): New function/macro.
	(main): Use it instead of 0.0 / 0.0.
	* tests/test-vasnprintf-posix.c (NaN): New function/macro.
	(test_function): Use it instead of 0.0 / 0.0.
	* tests/test-vasprintf-posix.c (NaN): New function/macro.
	(test_function): Use it instead of 0.0 / 0.0.
	* tests/test-snprintf-posix.h (NaN): New function/macro.
	(test_function): Use it instead of 0.0 / 0.0.
	* tests/test-sprintf-posix.h (NaN): New function/macro.
	(test_function): Use it instead of 0.0 / 0.0.
	* tests/test-fprintf-posix.h (NaN): New function/macro.
	(test_function): Use it instead of 0.0 / 0.0.
	* tests/test-printf-posix.h (NaN): New function/macro.
	(test_function): Use it instead of 0.0 / 0.0.

	* lib/isnan.c (FUNC): Work around a DEC C compiler bug.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* lib/regexec.c (merge_state_with_log): Make static.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* lib/trigl.c (kernel_rem_pio2): Make static.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* lib/sincosl.c (sincosl_table): Make static.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
	if the compiler does not support C99.

2007-03-25  Bruno Haible  <bruno@clisp.org>

	* modules/time (Makefile.am): Ensure all rule action lines start with a
	tab.

2007-03-24  Bruno Haible  <bruno@clisp.org>

	* modules/tsearch-tests: New file.
	* tests/test-tsearch.sh: New file.
	* tests/test-tsearch.c: New file, mostly copied from glibc.

	* modules/search-tests: New file.
	* tests/test-search.c: New file.

	* modules/search: New file.
	* lib/search_.h: New file, incorporating lib/tsearch.h.
	* m4/search_h.m4: New file.
	* lib/tsearch.h: Remove file.
	* lib/tsearch.c: Include search.h instead of tsearch.h.
	* m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
	HAVE_TSEARCH.
	* modules/tsearch (Files): Remove lib/tsearch.h.
	(Depends-on): Add search.
	(configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
	(Include): Change tsearch.h into search.h.

2007-03-24  Bruno Haible  <bruno@clisp.org>

	* modules/fpucw: New file.
	* lib/fpucw.h: New file.
	* lib/frexp.c: Include fpucw.h.
	(DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
	(FUNC): Use them.
	* lib/printf-frexp.c: Include fpucw.h.
	(DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
	(FUNC): Use them.
	* lib/vasnprintf.c: Include fpucw.h.
	(VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
	'long double' calculations.
	* tests/test-frexpl.c: Include fpucw.h.
	(main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
	* tests/test-printf-frexpl.c: Include fpucw.h.
	(main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
	* modules/frexpl (Depends-on): Add fpucw.
	* modules/printf-frexpl (Depends-on): Likewise.
	* modules/fprintf-posix (Depends-on): Likewise.
	* modules/snprintf-posix (Depends-on): Likewise.
	* modules/sprintf-posix (Depends-on): Likewise.
	* modules/vasnprintf-posix (Depends-on): Likewise.
	* modules/vasprintf-posix (Depends-on): Likewise.
	* modules/vfprintf-posix (Depends-on): Likewise.
	* modules/vsnprintf-posix (Depends-on): Likewise.
	* modules/vsprintf-posix (Depends-on): Likewise.
	* modules/frexpl-tests (Depends-on): Likewise.
	* modules/printf-frexpl-tests (Depends-on): Likewise.

2007-03-24  Bruno Haible  <bruno@clisp.org>

	* lib/float+.h: New file.
	* lib/isnan.c: Include float+.h.
	(SIZE): New macro.
	(FUNC): Compare only SIZE bytes of the value.
	* lib/vasnprintf.c: Include float+.h.
	(VASNPRINTF): When comparing against +0.0L or +0.0, compare only
	SIZEOF_LDBL or SIZEOF_DBL bytes.
	* modules/isnan-nolibm (Files): Add lib/float+.h.
	* modules/isnanl-nolibm (Files): Add lib/float+.h.
	* modules/isnanl (Files): Add lib/float+.h.
	* modules/vasnprintf (Files): Add lib/float+.h.

2007-03-24  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
	include isnanl-nolibm.h.

2007-03-24  Bruno Haible  <bruno@clisp.org>

	* tests/test-read-file.c (main): Don't produce spurious output for
	expected situations. Make the test fail if it encountered unexpected
	results.

2007-03-24  Bruno Haible  <bruno@clisp.org>

	* m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
	since its fr_FR.ISO8859-1 locale wouldn't pass the tests.

2007-03-24  Bruno Haible  <bruno@clisp.org>

	* m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.

2007-03-24  Bruno Haible  <bruno@clisp.org>

	* modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
	utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.

	* modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
	* modules/utf8-ucs4: Turn into a symbolic link to module
	unistr/u8-mbtouc.

	* modules/unistr/u8-mbtouc-unsafe: Add source files from module
	utf8-ucs4-unsafe.
	* modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
	unistr/u8-mbtouc-unsafe.

	* modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
	* modules/utf16-ucs4: Turn into a symbolic link to module
	unistr/u16-mbtouc.

	* modules/unistr/u16-mbtouc-unsafe: Add source files from module
	utf16-ucs4-unsafe.
	* modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
	unistr/u16-mbtouc-unsafe.

	* modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
	* modules/ucs4-utf8: Turn into a symbolic link to module
	unistr/u8-ubtomb.

	* modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
	* modules/ucs4-utf16: Turn into a symbolic link to module
	unistr/u16-ubtomb.

2007-03-24  Bruno Haible  <bruno@clisp.org>

	* lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
	Enable the function only if HAVE_INLINE.
	* lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
	lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
	* lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
	Enable the function only if HAVE_INLINE.
	* lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
	lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
	* lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
	Enable the function only if HAVE_INLINE.
	* lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
	Enable the function only if HAVE_INLINE.
	* modules/utf8-ucs4: Update.
	* modules/utf8-ucs4-unsafe: Update.
	* modules/utf16-ucs4: Update.
	* modules/utf16-ucs4-unsafe: Update.
	* modules/ucs4-utf8: Update.
	* modules/ucs4-utf16: Update.

2007-03-24  Bruno Haible  <bruno@clisp.org>

	* lib/utf8-ucs4.h: Remove file.
	* lib/utf8-ucs4-unsafe.h: Remove file.
	* lib/utf16-ucs4.h: Remove file.
	* lib/utf16-ucs4-unsafe.h: Remove file.
	* lib/ucs4-utf8.h: Remove file.
	* lib/ucs4-utf16.h: Remove file.
	* lib/unistr.h: Include their previous contents.
	* m4/utf-ucs4.m4: Remove file.
	* m4/ucs4-utf.m4: Remove file.
	* modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
	(Depends-on): Add unistr/base.
	(configure.ac): Remove gl_UTF_UCS4.
	(Makefile.am): Update.
	(Include): Change to unistr.h.
	* modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
	(Depends-on): Add unistr/base.
	(configure.ac): Remove gl_UTF_UCS4.
	(Makefile.am): Update.
	(Include): Change to unistr.h.
	* modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
	(Depends-on): Add unistr/base.
	(configure.ac): Remove gl_UTF_UCS4.
	(Makefile.am): Update.
	(Include): Change to unistr.h.
	* modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
	(Depends-on): Add unistr/base.
	(configure.ac): Remove gl_UTF_UCS4.
	(Makefile.am): Update.
	(Include): Change to unistr.h.
	* modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
	(Depends-on): Add unistr/base.
	(configure.ac): Remove gl_UCS4_UTF.
	(Makefile.am): Update.
	(Include): Change to unistr.h.
	* modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
	(Depends-on): Add unistr/base.
	(configure.ac): Remove gl_UCS4_UTF.
	(Makefile.am): Update.
	(Include): Change to unistr.h.
	* lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
	* lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
	utf8-ucs4-unsafe.h.
	* lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
	* lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
	utf16-ucs4-unsafe.h.
	* lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
	* lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
	* lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
	* lib/unistr/u8-strchr.c: Likewise.
	* lib/unistr/u8-strrchr.c: Likewise.
	* lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
	* lib/unistr/u16-strchr.c: Likewise.
	* lib/unistr/u16-strrchr.c: Likewise.
	* lib/striconveh.c: Update.
	* lib/linebreak.c: Update.

2007-03-24  Bruno Haible  <bruno@clisp.org>

	* lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
	arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.

2007-03-22  Bruno Haible  <bruno@clisp.org>

	* lib/strptime.c (__strptime_internal): Use ANSI C syntax.

2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh (File system functions): New module write-any-file.
	* modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
	* m4/write-any-file.m4: New files.

2007-03-23  Eric Blake  <ebb9@byu.net>

	* gnulib-tool: Rearrange space-tab sequences, since some editors
	like to eat them.

2007-03-23  Eric Blake  <ebb9@byu.net>

	* lib/version-etc.c (version_etc_va): Update license wording to
	be more concise.  Recommended by Richard Stallman.

2007-03-22  Bruno Haible  <bruno@clisp.org>

	* lib/poll.c (MSG_PEEK): New fallback definition.

2007-03-22  Bruno Haible  <bruno@clisp.org>

	* modules/sys_socket-tests (configure.ac): Check for shutdown function.
	* tests/test-sys_socket.c (a): Test only if shutdown() exists.
	(main): Update.
	Fixes a compilation error on BeOS.

2007-03-22  Bruno Haible  <bruno@clisp.org>

	* modules/frexpl-tests: New file.
	* tests/test-frexpl.c: New file.

	* modules/frexpl: New file.
	* m4/frexpl.m4: New file.
	* modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
	* lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
	* modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
	(Depends-on): Add frexpl. Remove isnanl-nolibm.
	* m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.

2007-03-22  Bruno Haible  <bruno@clisp.org>

	* lib/frexpl.c: Share code with lib/frexp.c.
	* modules/mathl (Files): Add lib/frexp.c.
	(Depends-on): Add isnanl-nolibm.

2007-03-22  Bruno Haible  <bruno@clisp.org>

	* modules/printf-frexp (Files): Add m4/frexp.m4.
	* m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
	only if the found frexp function actually works.

2007-03-22  Bruno Haible  <bruno@clisp.org>

	* lib/frexp.c: Remove older implementation that uses divisions.

2007-03-21  Bruno Haible  <bruno@clisp.org>

	* modules/frexp-tests: New file.
	* tests/test-frexp.c: New file.

	* modules/frexp: New file.
	* lib/frexp.c: New file.
	* m4/frexp.m4: New file.
	* lib/math_.h (frexp): New declaration.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
	REPLACE_FREXP.
	* modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.

2007-03-21  Bruno Haible  <bruno@clisp.org>

	* modules/isnanl-tests: New file.
	* tests/test-isnanl.c: New file.

	* modules/isnanl: New file.
	* lib/isnanl.h: New file.
	* m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
	(gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
	gl_FUNC_ISNANL_WORKS.
	(gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
	New macros.

2007-03-21  Bruno Haible  <bruno@clisp.org>

	* modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
	lib/isnanl.h.
	(Include): Update.
	* lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
	* lib/vasnprintf.c: Update.
	* modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
	tests/test-isnanl.h, remove tests/test-isnanl.c.
	(Makefile.am): Update.
	* tests/test-isnanl-nolibm.c: New file.
	* tests/test-isnanl.h: New file.
	* tests/test-isnanl.c: Remove file.

2007-03-21  Jim Meyering  <jim@meyering.net>

	When trying to open ".", treat ESTALE like EACCES.
	* lib/savewd.c (savewd_save): Resort to forking not just upon
	failure with EACCES, but also when errno is ESTALE.

2007-03-20  Bruno Haible  <bruno@clisp.org>

	* lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
	Needed on AIX 5.1. Reported by Matthew Woehlke.

2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Suggestions by Bruno Haible:
	* lib/acl-internal.h: Include "gettext.h" rather than rolling
	our own.
	(ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
	* modules/acl (Depends-on): Add gettext.

2007-03-19  Bruno Haible  <bruno@clisp.org>

	* modules/iconvme: Remove file.
	* lib/iconvme.h: Remove file.
	* lib/iconvme.c: Remove file.
	* m4/iconvme.m4: Remove file.

2007-03-19  Bruno Haible  <bruno@clisp.org>

	* doc/relocatable-maint.texi: Break long shell script line.
	Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.

2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	Add limited support for Solaris 10 ZFS-style ACLs: just enough to
	handle file_has_acl.
	* lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
	* lib/acl.c: Move header inclusions and related macro defns into
	lib/acl-internal.h.
	(S_ISLNK): Remove defn, since that's now done for us.
	(file_has_acl): Move to lib/file-has-acl.c.
	Call acl_trivial if available.  This is the crucial part of the fix.
	(acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
	shared within the library.  Rewrite a bit, partly to make it compatible
	with the GNU coding style.
	* m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
	Remove unnecessary double-quotes.
	Don't test for acl_to_text; the build will catch that.
	Replace acl_entries if it doesn't exist and it is needed.
	Check for -lsec and acl_trivial (as used on Solaris 10).
	* modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
	lib/file-has-acl.c.
	(Depends-on): Add sys_stat, for S_ISLNK.

2007-03-19  Ben Pfaff  <blp@gnu.org>

	* doc/gnulib.texi: Fix typos.
	Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.

2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
	If size is zero here, buf must be zero.

2007-03-19  Simon Josefsson  <simon@josefsson.org>

	* des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
	<bruno@clisp.org>.

2007-03-18  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
	Suggested by Eric Blake.

2007-03-18  Ben Pfaff  <blp@gnu.org>

	* doc/relocatable.texi: Recommend using as prefix a directory
	that does not exist and will never be created.  Based on
	discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
	and others.

2007-03-17  Bruno Haible  <bruno@clisp.org>

	* lib/fchownat.c: Include lchown.h.

2007-03-17  Bruno Haible  <bruno@clisp.org>

	Fix endless loop when the given allocated size was > INT_MAX.
	* lib/vasnprintf.c (EOVERFLOW): New fallback definition.
	(VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
	larger than INT_MAX, or when it grow to a value larger than INT_MAX.
	* lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
	* lib/sprintf.c (sprintf): Likewise.

2007-03-17  Bruno Haible  <bruno@clisp.org>

	* tests/test-argp-2.sh (func_compare): Output a context diff.

2007-03-17  Bruno Haible  <bruno@clisp.org>

	* m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
	locale's decimal-point character.

2007-03-17  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
	before comparing it. Needed because on some platforms (e.g. x86) a
	'long double' occupies less bytes than sizeof (long double).

2007-03-17  Bruno Haible  <bruno@clisp.org>

	* tests/test-crc.c (main): Make printf statements 64-bit clean.
	* tests/test-gc-pbkdf2-sha1.c (main): Likewise.
	* tests/test-getaddrinfo.c (simple): Likewise.
	* tests/test-read-file.c (main): Likewise.

2007-03-17  Bruno Haible  <bruno@clisp.org>

	* tests/test-dirname.c (main): Make printf statements 64-bit clean.

2007-03-17  Bruno Haible  <bruno@clisp.org>

	* tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
	unused variable.

2007-03-17  Bruno Haible  <bruno@clisp.org>

	* tests/test-c-strcasecmp.c: Include c-strcase.h.
	* tests/test-c-strncasecmp.c: Likewise.

2007-03-17  Bruno Haible  <bruno@clisp.org>

	* modules/stdlib (Depends-on): Add unistd.
	* lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
	Needed for MacOS X 10.3.

2007-03-17  Bruno Haible  <bruno@clisp.org>

	* lib/unistr/u-strdup.h: Include <stdlib.h>.

2007-03-17  Bruno Haible  <bruno@clisp.org>

	* lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.

2007-03-17  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Update .cvsignore and .gitignore files
	to reflect files copied from gnulib (with or without modifications).
	Suggested by Jim Meyering.

2007-03-17  Eric Blake  <ebb9@byu.net>

	* NEWS: Document stdlib change from 2007-02-18.

2007-03-17  Jim Meyering  <jim@meyering.net>

	Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
	* build-aux/bootstrap: Put ""s around use of $build_aux, in case
	someone uses a name containing shell meta-characters.
	Reported by Alfred M. Szmidt.

	* build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.

2007-03-16  Alfred M. Szmidt  <ams@gnu.org>

	* build-aux/bootstrap (with_gettext): New variable.  Run autopoint
	and copy gettext configuration files only if configure.ac contains
	a use of AM_GNU_GETTEXT_VERSION.

2007-03-16  Alfred M. Szmidt  <ams@gnu.org>

	* build-aux/bootstrap (gnulib_name): New variable.
	(gnulib_tool_options): Use it.

2007-03-13  Simon Josefsson  <simon@josefsson.org>

	* tests/test-des.c: Use new namespace.

2007-03-15  Bruno Haible  <bruno@clisp.org>

	* lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
	Reported by James Youngman <jay@gnu.org>.

2007-03-15  Bruno Haible  <bruno@clisp.org>

	* lib/glob.c (glob): Add 'restrict' so that prototype matches the
	declared prototype. Needed with cc on OSF/1 5.1.

2007-03-15  Bruno Haible  <bruno@clisp.org>

	* lib/gl_list.h (gl_listelement_dispose_fn): New type.
	(gl_list_create_empty, gl_list_create): Add dispose_fn argument.
	(struct gl_list_implementation): Add dispose_fn argument to the
	'create_empty', 'create' methods.
	(struct gl_list_impl_base): Add field 'dispose_fn'.
	* lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
	argument.
	* lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
	dispose_fn argument.
	(gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
	dispose_fn on the dropped values.
	* lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
	dispose_fn argument.
	(gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
	dropped values.
	* lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
	(gl_tree_remove_node): Call dispose_fn on the dropped value.
	* lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
	(gl_tree_remove_node): Call dispose_fn on the dropped value.
	* lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
	argument.
	(gl_tree_list_free): Call dispose_fn on the dropped values.
	* lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
	the dropped values.
	* lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
	Add dispose_fn argument.
	(gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
	Call dispose_fn on the dropped values.
	* lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
	Add dispose_fn argument.
	(gl_sublist_create): Initialize the 'dispose_fn' field.
	* lib/clean-temp.c (create_temp_dir, register_fd): Update.
	* tests/test-array_list.c (main): Update.
	* tests/test-carray_list.c (main): Update.
	* tests/test-avltree_list.c (main): Update.
	* tests/test-rbtree_list.c (main): Update.
	* tests/test-avltreehash_list.c (main): Update.
	* tests/test-rbtreehash_list.c (main): Update.
	* tests/test-linked_list.c (main): Update.
	* tests/test-linkedhash_list.c (main): Update.
	* tests/test-array_oset.c (main): Update.

2007-03-15  Bruno Haible  <bruno@clisp.org>

	* lib/gl_oset.h (gl_setelement_dispose_fn): New type.
	(gl_oset_create_empty): Add dispose_fn argument.
	(struct gl_oset_implementation): Add dispose_fn argument to
	'create_empty' method.
	(struct gl_oset_impl_base): Add dispose_fn field.
	* lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
	* lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
	(gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
	values.
	* lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
	(gl_tree_oset_free): Call dispose_fn on the dropped values.
	* lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
	dropped value.
	* lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
	dropped value.
	* tests/test-array_oset.c (main): Update.
	* tests/test-avltree_oset.c (main): Update.
	* tests/test-rbtree_oset.c (main): Update.
	* lib/gl_anytreehash_list1.h (add_to_bucket): Update.

2007-03-13  Bruno Haible  <bruno@clisp.org>

	* tests/test-stdbool.c (i): Update after last patch.

2007-03-12  Bruno Haible  <bruno@clisp.org>

	* lib/quotearg.c: Include <wctype.h> early, before the definition of
	the iswprint macro. Needed on Solaris 2.5.1.

2007-03-12  Bruno Haible  <bruno@clisp.org>

	* tests/test-printf-frexp.c (main): Declare x as volatile.

2007-03-12  Simon Josefsson  <simon@josefsson.org>

	* doc/gnulib.texi (Build robot for gnulib): New section.

2007-03-12  Jim Meyering  <jim@meyering.net>

	* build-aux/bootstrap: New file.
	* build-aux/bootstrap.conf: New file, from coreutils.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.

2007-03-12  Simon Josefsson  <simon@josefsson.org>

	* lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
	avoid collisions with 'des_setkey'.  Reported by Bruno Haible
	<bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
	compile, set LOCALE_TR_UTF8 to 'none' instead of empty.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
	formula. Needed for SunPRO C 5.0.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* modules/long-options (Depends-on): Add getopt.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* modules/modechange (Depends-on): Add stdbool.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* modules/i-ring (Depends-on): Add stdbool.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* modules/gc-des (Depends-on): Add stdbool.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (sprintf): Undefine.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
	initializers in SunPRO C and Compaq C compilers.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
	decrementing code ANSI C compliant.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
	Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
	<stdbool.h> substitute doesn't pass.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.

2007-03-11  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_megatestdir): Create also an autobuild
	script, for submission to autobuild.josefsson.org.

2007-03-10  Bruno Haible  <bruno@clisp.org>

	* modules/canonicalize-lgpl-tests: New file.
	* tests/test-canonicalize-lgpl.sh: New file.
	* tests/test-canonicalize-lgpl.c: New file.

	* modules/c-strcase-tests: New file.
	* tests/test-c-strcase.sh: New file.
	* tests/test-c-strcasecmp.c: New file.
	* tests/test-c-strncasecmp.c: New file.

	* modules/atexit-tests: New file.
	* tests/test-atexit.sh: New file.
	* tests/test-atexit.c: New file.

2007-03-10  Bruno Haible  <bruno@clisp.org>

	* tests/test-binary-io.sh: Use temporary filenames that are not so
	likely to clash with those of other tests (in a parallel make).
	* tests/test-binary-io.c: Likewise.

2007-03-10  Bruno Haible  <bruno@clisp.org>

	* lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
	fallback; use #error instead.
	Suggested by Simon Josefsson.

2007-03-10  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
	CLEANFILES. Put spaces in each line of $cleaned_files, not only the
	first and the last.

2007-03-10  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h (uint_least64_t): Fix typo in last patch.

2007-03-10  Bruno Haible  <bruno@clisp.org>

	* modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
	"make distcheck".
	* modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
	* modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
	* modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.

2007-03-10  Bruno Haible  <bruno@clisp.org>

	* modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
	variable.
	* modules/dirname-tests (test_dirname_SOURCES): Remove redundant
	variable.

2007-03-09  Eric Blake  <ebb9@byu.net>
	and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)

	* lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
	types are not being provided by gnulib.
	(GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
	types are supported.

2007-03-10  Bruno Haible  <bruno@clisp.org>

	* lib/stdio_.h (__attribute__): New macro.
	(fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
	vsprintf): Specify __attribute__ __format__ for GCC.
	Suggested by Eric Blake.

2007-03-09  Bruno Haible  <bruno@clisp.org>

	* modules/printf-posix-tests: New file.
	* tests/test-printf-posix.sh: New file.
	* tests/test-printf-posix.c: New file.

	* modules/printf-posix: New file.
	* lib/printf.c: New file.
	* m4/printf-posix-rpl.m4: New file.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
	REPLACE_PRINTF.
	* lib/stdio_.h (printf): New declaration.
	(format, __format__, ____printf____, ____scanf____, ____strftime____,
	____strfmon____): New macros.
	* modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
	REPLACE_PRINTF.

2007-03-09  Bruno Haible  <bruno@clisp.org>

	* tests/test-vasnprintf-posix2.sh: New file.
	* tests/test-vasnprintf-posix2.c: New file.
	* modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
	(configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
	(Makefile.am): Activate test-vasnprintf-posix2.sh.

	* lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
	a locale dependent decimal point, rather than always '.'.

2007-03-09  Eric Blake  <ebb9@byu.net>

	* lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
	spite of platforms like Tandem/NSK that define it to -1.

2007-03-08  Bruno Haible  <bruno@clisp.org>

	* modules/vprintf-posix-tests: New file.
	* tests/test-vprintf-posix.sh: New file.
	* tests/test-vprintf-posix.c: New file.
	* tests/test-printf-posix.h: New file.

	* modules/vprintf-posix: New file.
	* lib/vprintf.c: New file.
	* m4/vprintf-posix.m4: New file.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
	REPLACE_VPRINTF.
	* lib/stdio_.h (vprintf): New declaration.
	* modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
	REPLACE_VPRINTF.

2007-03-08  Bruno Haible  <bruno@clisp.org>

	* modules/fprintf-posix-tests: New file.
	* tests/test-fprintf-posix.sh: New file.
	* tests/test-fprintf-posix.c: New file.

	* modules/fprintf-posix: New file.
	* lib/fprintf.c: New file.
	* m4/fprintf-posix.m4: New file.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
	REPLACE_FPRINTF.
	* lib/stdio_.h (fprintf): New declaration.
	* modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
	REPLACE_FPRINTF.

2007-03-08  Bruno Haible  <bruno@clisp.org>

	* modules/vfprintf-posix-tests: New file.
	* tests/test-vfprintf-posix.sh: New file.
	* tests/test-vfprintf-posix.c: New file.
	* tests/test-fprintf-posix.h: New file.
	* tests/test-fprintf-posix.out: New file.

	* modules/vfprintf-posix: New file.
	* lib/vfprintf.c: New file.
	* m4/vfprintf-posix.m4: New file.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
	REPLACE_VFPRINTF.
	* lib/stdio_.h (vfprintf): New declaration.
	* modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
	REPLACE_VFPRINTF.

2007-03-08  Bruno Haible  <bruno@clisp.org>

	* lib/stdio_.h: Treat __need___FILE like __need_FILE.

2007-03-08  Bruno Haible  <bruno@clisp.org>

	* m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
	instead of 'expr' invocations.
	* m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
	* m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
	* m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
	Suggested by Paul Eggert.

2007-03-08  Bruno Haible  <bruno@clisp.org>

	* modules/fseterr-tests: New file.
	* tests/test-fseterr.c: New file.

	* modules/fseterr: New file.
	* lib/fseterr.h: New file.
	* lib/fseterr.c: New file.

2007-03-08  Bruno Haible  <bruno@clisp.org>

	* lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
	* lib/getopt_.h: Likewise.
	* lib/mbswidth.h: Likewise.
	* lib/setenv.h: Likewise.
	* lib/vasnprintf.h: Likewise.
	* lib/vasprintf.h: Likewise.
	* lib/verror.h: Likewise.
	* lib/xsetenv.h: Likewise.
	* lib/xvasprintf.h: Likewise.

2007-03-08  Jim Meyering  <jim@meyering.net>

	* users.txt: Add parted.

	* ChangeLog: Restore 1500 lines mistakenly removed from the end.

2007-03-07  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4: Make the shell script snippets copy&pastable.

2007-03-02  Bruno Haible  <bruno@clisp.org>

	* lib/netinet_in_.h: New file.
	* m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
	is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
	* modules/netinet_in (Files): Add lib/netinet_in_.h.
	(Depends-on): Add absolute-header.
	(Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
	into netinet/in.h.

2007-03-03  Bruno Haible  <bruno@clisp.org>

	* lib/sys_select_.h: New file.
	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
	is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
	* modules/sys_select (Files): Add lib/sys_select_.h.
	(Depends-on): Add absolute-header.
	(Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
	into sys/select.h.

2007-03-02  Bruno Haible  <bruno@clisp.org>

	* lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
	before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
	values.
	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
	<sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
	HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
	* modules/sys_socket (Depends-on): Add absolute-header.
	(Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
	HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
	(Include): Remove requirement of inclusion of <sys/types.h>.

2007-03-02  Bruno Haible  <bruno@clisp.org>

	* lib/byteswap_.h (bswap_32): Fix formula.

2007-03-06  Bruno Haible  <bruno@clisp.org>

	* modules/sprintf-posix-tests: New file.
	* tests/test-sprintf-posix.c: New file.

	* modules/sprintf-posix: New file.
	* lib/sprintf.c: New file.
	* m4/sprintf-posix.m4: New file.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
	REPLACE_SPRINTF.
	* lib/stdio_.h (sprintf): New declaration.
	* modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
	REPLACE_SPRINTF.

2007-03-06  Bruno Haible  <bruno@clisp.org>

	* modules/vsprintf-posix-tests: New file.
	* tests/test-vsprintf-posix.c: New file.
	* tests/test-sprintf-posix.h: New file.

	* modules/vsprintf-posix: New file.
	* lib/vsprintf.c: New file.
	* m4/vsprintf-posix.m4: New file.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
	REPLACE_VSPRINTF.
	* lib/stdio_.h (vsprintf): New declaration.
	* modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
	REPLACE_VSPRINTF.

2007-03-06  Bruno Haible  <bruno@clisp.org>

	* modules/vsnprintf (Depend-on): Remove minmax.

2007-03-06  Bruno Haible  <bruno@clisp.org>

	* modules/snprintf-posix-tests: New file.
	* tests/test-snprintf-posix.c: New file.

	* modules/snprintf-posix: New file.
	* m4/snprintf-posix.m4: New file.
	* m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
	gl_FUNC_SNPRINTF.
	(gl_FUNC_SNPRINTF): Invoke it.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
	* lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
	is set.
	* modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.

2007-03-06  Bruno Haible  <bruno@clisp.org>

	* modules/vsnprintf-posix-tests: New file.
	* tests/test-vsnprintf-posix.c: New file.
	* tests/test-snprintf-posix.h: New file.

	* modules/vsnprintf-posix: New file.
	* m4/vsnprintf-posix.m4: New file.
	* m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
	gl_FUNC_VSNPRINTF.
	(gl_FUNC_VSNPRINTF): Invoke it.
	* m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
	* lib/stdio_.h (vsnprintf): Define as a replacement if
	REPLACE_VSNPRINTF is set.
	* modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.

2007-03-06  Bruno Haible  <bruno@clisp.org>

	* m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
	* m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.

2007-03-06  Bruno Haible  <bruno@clisp.org>

	* lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
	(asinl): Declare also if HAVE_DECL_ASINL is set.
	(atanl): Declare also if HAVE_DECL_ATANL is set.
	(ceill): Declare also if HAVE_DECL_CEILL is set.
	(cosl): Declare also if HAVE_DECL_COSL is set.
	(expl): Declare also if HAVE_DECL_EXPL is set.
	(floorl): Declare also if HAVE_DECL_FLOORL is set.
	(frexpl): Declare also if HAVE_DECL_FREXPL is set.
	(ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
	(logl): Declare also if HAVE_DECL_LOGL is set.
	(sinl): Declare also if HAVE_DECL_SINL is set.
	(sqrtl): Declare also if HAVE_DECL_SQRTL is set.
	(tanl): Declare also if HAVE_DECL_TANL is set.
	* modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
	* m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
	* m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
	declaration of frexpl, ldexpl.
	* modules/printf-frexpl (Depends-on): Add math.
	* lib/printf-frexp.c (frexpl, ldexpl): Undo last change.

2007-03-05  Bruno Haible  <bruno@clisp.org>

	* m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
	frexpl and ldexpl are declared.
	* lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.

2007-03-05  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_get_automake_snippet): Don't synthesize an
	EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.

2007-03-05  Bruno Haible  <bruno@clisp.org>

	* lib/stdio_.h: Include <stddef.h>.

2007-03-05  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.

2007-03-05  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
	NetBSD 4, from Ralf Wildenhues.

2007-03-04  Bruno Haible  <bruno@clisp.org>

	* lib/vasprintf.h: Update #if logic for the case when the functions
	exist but are overridden.

2007-03-04  Bruno Haible  <bruno@clisp.org>

	* m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
	implementations: glibc-2.4 and MacOS X 10.3.
	* tests/test-vasnprintf-posix.c (test_function): Test also the case
	that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
	* tests/test-vasprintf-posix.c (test_function): Likewise.

2007-03-04  Bruno Haible  <bruno@clisp.org>

	* modules/vasprintf-posix-tests: New file.
	* tests/test-vasprintf-posix.c: New file.

	* modules/vasprintf-posix: New file.
	* lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
	defined.
	* m4/vasprintf-posix.m4: New file.
	* m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
	gl_FUNC_VASPRINTF.
	(gl_FUNC_VASPRINTF): Invoke it.
	* m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
	here.
	* m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.

2007-03-04  Bruno Haible  <bruno@clisp.org>

	* lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
	REPLACE_GETTIMEOFDAY.
	* modules/sys_time (Makefile.am): Likewise.
	* m4/sys_time_h.m4: Likewise.
	* m4/gettimeofday.m4: Likewise.

2007-03-04  Bruno Haible  <bruno@clisp.org>

	* modules/vasnprintf-posix-tests: New file.
	* tests/test-vasnprintf-posix.c: New file.

	* modules/vasnprintf-posix: New file.
	* lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
	printf-frexpl.h.
	(VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
	* lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
	REPLACE_VASNPRINTF is defined.
	* m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
	gl_FUNC_VASNPRINTF.
	(gl_FUNC_VASNPRINTF): Invoke it.
	* m4/vasnprintf-posix.m4: New file.
	* m4/printf.m4: New file.

2007-03-04  Bruno Haible  <bruno@clisp.org>

	Compile progreloc.c only if --enable-relocatable is specified.
	* m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
	if --enable-relocatable was specified.
	* modules/relocatable-prog (Makefile.am): Remove progreloc.c from
	lib_SOURCES.

2007-03-04  Jim Meyering  <jim@meyering.net>

	* lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
	Use it consistently, rather than enumerating errno constants.

2007-03-04  Bruno Haible  <bruno@clisp.org>

	* modules/xvasprintf-tests: New file.
	* tests/test-xvasprintf.c: New file.

	* modules/vasprintf-tests: New file.
	* tests/test-vasprintf.c: New file.

	* modules/vasnprintf-tests: New file.
	* tests/test-vasnprintf.c: New file.

	* modules/vsnprintf-tests: New file.
	* tests/test-vsnprintf.c: New file.

	* modules/snprintf-tests: New file.
	* tests/test-snprintf.c: New file.

2007-03-04  Bruno Haible  <bruno@clisp.org>

	Compile relocatable.c only if --enable-relocatable is specified.
	* m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
	gl_RELOCATABLE_LIBRARY.
	(gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
	* m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
	(gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
	gl_RELOCATABLE_LIBRARY.
	* modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
	(Makefile.am): Remove lib_SOURCES.
	* modules/relocatable-lib-lgpl (configure.ac): Invoke
	gl_RELOCATABLE_LIBRARY.
	(Makefile.am): Remove lib_SOURCES.
	* modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
	always.
	* modules/relocatable-prog-wrapper (configure.ac): Invoke
	gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.

2007-03-04  Bruno Haible  <bruno@clisp.org>

	* modules/argmatch-tests: New file.
	* tests/test-argmatch.c: New file.

	* tests/test-allocsa.c (main): Halve the number of loop runs.

	* modules/alloca-opt-tests: New file.
	* tests/test-alloca-opt.c: New file.

2007-03-04  Jim Meyering  <jim@meyering.net>

	Work around difference between Linux ACLs and Solaris 10 ZFS.
	* lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
	for EINVAL.

2007-03-03  Bruno Haible  <bruno@clisp.org>

	* modules/relocatable-prog (Depends-on): Add back progreloc's
	dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.

2007-03-03  Bruno Haible  <bruno@clisp.org>

	* modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
	* modules/relocatable-lib: New file.

2007-03-03  Bruno Haible  <bruno@clisp.org>

	* modules/relocatable-prog: Renamed from modules/relocatable.
	* doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.

2007-03-03  Bruno Haible  <bruno@clisp.org>

	* modules/relocatable-script (Files): Add doc/relocatable.texi,
	m4/relocatable-lib.m4.
	(Depends-on): Remove 'relocatable'.
	(configure.ac): Add gl_RELOCATABLE_NOP.

2007-03-03  Bruno Haible  <bruno@clisp.org>

	* modules/relocatable-prog-wrapper: New file.
	* modules/relocatable (Depends-on): Add it. Remove all other
	dependencies except progname.
	(Files): Remove build-aux/install-reloc, lib/relocwrapper.c.

	* m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
	(gl_FUNC_STRERROR): Nop.
	* lib/strerror.c: Compile the file only if !HAVE_STRERROR.

	* m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
	* lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.

	* m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
	(gl_FUNC_READLINK): Update.

	* m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.

2007-03-03  Bruno Haible  <bruno@clisp.org>

	* lib/xreadlink.c: Include <unistd.h> unconditionally.
	* modules/xreadlink (Depends-on): Add unistd.
	* modules/xreadlink-with-size (Depends-on): Likewise.

2007-03-03  Bruno Haible  <bruno@clisp.org>

	* m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
	extracted from gt_FUNC_SETENV.
	(gt_FUNC_SETENV): Remove macro.
	* modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
	remove gt_FUNC_SETENV.

2007-03-03  Bruno Haible  <bruno@clisp.org>

	* m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
	ENABLE_RELOCATABLE here.
	* m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.

2007-03-03  Bruno Haible  <bruno@clisp.org>

	* modules/rbtreehash-list-tests (Depends-on): Add progname.
	* tests/test-rbtreehash_list.c: Include progname.h.
	(main): Call set_program_name.

	* modules/rbtree-oset-tests (Depends-on): Add progname.
	* tests/test-rbtree_oset.c: Include progname.h.
	(main): Call set_program_name.

	* modules/rbtree-list-tests (Depends-on): Add progname.
	* tests/test-rbtree_list.c: Include progname.h.
	(main): Call set_program_name.

	* modules/linked-list-tests (Depends-on): Add progname.
	* tests/test-linked_list.c: Include progname.h.
	(main): Call set_program_name.

2007-03-03  Bruno Haible  <bruno@clisp.org>

	* lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
	All uses of __restrict changed to _Restrict_.
	* lib/glob_.h (__restrict): Remove macro.

2007-03-02  Bruno Haible  <bruno@clisp.org>

	* modules/gettext (configure.ac): Require gettext infrastructure
	from version 0.16.1.

2007-03-02  Bruno Haible  <bruno@clisp.org>

	* modules/linkedhash-list-tests (Depends-on): Add progname.
	* tests/test-linkedhash_list.c: Include progname.h.
	(main): Call set_program_name.

	* modules/carray-list-tests (Depends-on): Add progname.
	* tests/test-carray_list.c: Include progname.h.
	(main): Call set_program_name.

	* modules/avltreehash-list-tests (Depends-on): Add progname.
	* tests/test-avltreehash_list.c: Include progname.h.
	(main): Call set_program_name.

	* modules/avltree-oset-tests (Depends-on): Add progname.
	* tests/test-avltree_oset.c: Include progname.h.
	(main): Call set_program_name.

	* modules/avltree-list-tests (Depends-on): Add progname.
	* tests/test-avltree_list.c: Include progname.h.
	(main): Call set_program_name.

	* modules/array-oset-tests (Depends-on): Add progname.
	* tests/test-array_oset.c: Include progname.h.
	(main): Call set_program_name.

	* modules/array-list-tests (Depends-on): Add progname.
	* tests/test-array_list.c: Include progname.h.
	(main): Call set_program_name.

	* modules/argp-tests (Depends-on): Add progname.
	* tests/test-argp.c: Include argp.h first. Include progname.h.
	(main): Call set_program_name.

2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/gnulib-tool.texi (Initial import): Reword description of
	_FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
	limited effect even if defined after the first system include.

2007-03-01  Bruno Haible  <bruno@clisp.org>

	* build-aux/config.libpath: Update to libtool-1.5.22.
	Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.

2007-03-01  Bruno Haible  <bruno@clisp.org>

	* doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
	foo_CFLAGS.
	Reported by Ralf Wildenhues.

2007-03-01  Bruno Haible  <bruno@clisp.org>

	* build-aux/install-reloc: Remove object files left over by some
	compilers.
	Reported by Ralf Wildenhues.

2007-03-01  Bruno Haible  <bruno@clisp.org>

	* build-aux/install-reloc: Break long lines.

2007-03-01  Bruno Haible  <bruno@clisp.org>

	* doc/relocatable.texi: Document that it may not work on OpenBSD.
	Reported by Ralf Wildenhues.

2007-03-01  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-tool.texi (Initial import): Remove paragraph about
	include ordering constraints.

2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2007-02/msg00136.html>.
	* doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
	as another example.
	* lib/time_.h: Fix misspelling.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
	Require gl_HEADER_TIME_H_DEFAULTS.
	* m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
	* m4/time_r.m4 (gl_TIME_R): Likewise.
	* m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.

2007-03-01  Bruno Haible  <bruno@clisp.org>

	* m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
	* m4/utimens.m4 (gl_UTIMENS): Likewise.

2007-03-01  Jim Meyering  <jim@meyering.net>

	* modules/xreadlink (Maintainer): Add my name.
	* modules/xreadlink-with-size (Depends-on): Alphabetize.

2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
	    Bruno Haible  <bruno@clisp.org>

	* build-aux/install-reloc: Compile also c-ctype.c.
	* build-aux/relocatable.sh.in: New file.
	* doc/relocatable.texi: New file.
	* doc/relocatable-maint.texi: New file.
	* doc/gnulib.texi: Include relocatable-maint.texi.
	* lib/progreloc.c: Include unistd.h unconditionally.
	* lib/relocwrapper.c: Include unistd.h unconditionally.
	Include c-ctype.h.
	(add_dotbin): Use c_tolower.
	* m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
	(gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
	(gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
	* m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
	to m4/relocatable-lib.m4.
	(gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
	RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
	(gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
	require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
	SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
	* modules/relocatable: New file.
	* modules/relocatable-lib: New file.
	* modules/relocatable-script: New file.

2007-02-28  Bruno Haible  <bruno@clisp.org>

	Import --enable-relocatable infrastructure.
	* build-aux/config.libpath: New file, from GNU gettext.
	* build-aux/install-reloc: New file, from GNU gettext.
	* build-aux/reloc-ldflags: New file, from GNU gettext.
	* lib/relocatable.h: New file, from GNU gettext.
	* lib/relocatable.c: New file, from GNU gettext.
	* lib/relocwrapper.c: New file, from GNU gettext.
	* m4/relocatable.m4: New file, from GNU gettext.

2007-02-28  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (File system functions): Add xreadlink-with-size.

	* modules/xreadlink: New file, from GNU gettext with modifications.
	* lib/xreadlink.c: New file, from GNU gettext.
	* lib/xreadlink.h: Add comments.
	(xreadlink): New declaration.

	* modules/xreadlink-with-size: Renamed from modules/xreadlink.
	(Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
	lib/xreadlink-with-size.c.
	(configure.ac): Remove gl_XREADLINK invocation.
	(Makefile.am): Augment lib_SOURCES.
	* m4/xreadlink.m4: Remove file.
	* lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
	(xreadlink_with_size): Renamed from xreadink.
	* lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
	* modules/canonicalize (Depends-on): Replace xreadlink with
	xreadlink-with-size.
	* lib/canonicalize.c (canonicalize_filename_mode): Update.

2007-02-25  Jim Meyering  <jim@meyering.net>

	* build-aux/announce-gen: When complaining about excess arguments,
	list them.

2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>

	* README: Document signed integer overflow situation more
	accurately.

2007-02-25  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
	'a' or 'A' conversion.

2007-02-25  Bruno Haible  <bruno@clisp.org>

	* modules/filename: Renamed from modules/pathname.
	(Files): Replace lib/pathname.h with lib/filename.h. Replace
	lib/concatpath.c with lib/concat-filename.c.
	(Makefile.am): Update.
	(Include): Replace pathname.h with filename.h.
	* lib/filename.h: Renamed from lib/pathname.h.
	(concatenated_filename): Renamed from concatenated_pathname.
	* lib/concat-filename.c: Renamed from lib/concatpath.c.
	(concatenated_filename): Renamed from concatenated_pathname.
	* lib/findprog.c: Include filename.h instead of pathname.h.
	(find_in_path): Update.
	* lib/javacomp.c: Include filename.h instead of pathname.h.
	(is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
	is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
	is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
	is_oldgcj_14_13_usable, is_javac_usable): Update.
	* lib/javaexec.c: Include filename.h instead of pathname.h.
	(execute_java_class): Update.
	* modules/findprog: Update.
	* modules/javacomp: Update.
	* modules/javaexec: Update.
	* MODULES.html.sh (File system functions): Add 'filename', remove
	'pathname'.

2007-02-25  Bruno Haible  <bruno@clisp.org>

	* modules/printf-frexpl-tests: New file.
	* tests/test-printf-frexpl.c: New file.

	* modules/printf-frexpl: New file.
	* lib/printf-frexpl.h: New file.
	* lib/printf-frexpl.c: New file.
	* m4/printf-frexpl.m4: New file.

2007-02-25  Bruno Haible  <bruno@clisp.org>

	* modules/printf-frexp-tests: New file.
	* tests/test-printf-frexp.c: New file.

	* modules/printf-frexp: New file.
	* lib/printf-frexp.h: New file.
	* lib/printf-frexp.c: New file.
	* m4/printf-frexp.m4: New file.

2007-02-25  Bruno Haible  <bruno@clisp.org>

	Assume automake >= 1.10 for the tests.
	* modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
	* modules/arctwo-tests: Likewise.
	* modules/argp-tests: Likewise.
	* modules/avltree-list-tests: Likewise.
	* modules/avltree-oset-tests: Likewise.
	* modules/avltreehash-list-tests: Likewise.
	* modules/carray-list-tests: Likewise.
	* modules/crc-tests: Likewise.
	* modules/des-tests: Likewise.
	* modules/gc-arcfour-tests: Likewise.
	* modules/gc-arctwo-tests: Likewise.
	* modules/gc-des-tests: Likewise.
	* modules/gc-hmac-md5-tests: Likewise.
	* modules/gc-hmac-sha1-tests: Likewise.
	* modules/gc-md2-tests: Likewise.
	* modules/gc-md4-tests: Likewise.
	* modules/gc-md5-tests: Likewise.
	* modules/gc-pbkdf2-sha1-tests: Likewise.
	* modules/gc-rijndael-tests: Likewise.
	* modules/gc-sha1-tests: Likewise.
	* modules/gc-tests: Likewise.
	* modules/getaddrinfo-tests: Likewise.
	* modules/hmac-md5-tests: Likewise.
	* modules/hmac-sha1-tests: Likewise.
	* modules/linked-list-tests: Likewise.
	* modules/linkedhash-list-tests: Likewise.
	* modules/lock-tests: Likewise.
	* modules/md2-tests: Likewise.
	* modules/md4-tests: Likewise.
	* modules/md5-tests: Likewise.
	* modules/rbtree-list-tests: Likewise.
	* modules/rbtree-oset-tests: Likewise.
	* modules/rbtreehash-list-tests: Likewise.
	* modules/read-file-tests: Likewise.
	* modules/rijndael-tests: Likewise.
	* modules/stdint-tests: Likewise.
	* modules/tls-tests: Likewise.

2007-02-24  Bruno Haible  <bruno@clisp.org>

	* lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
	* m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
	function; instead check whether isnan with a double argument links.
	* m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
	function; instead check whether isnan with a 'long double' argument
	links.
	Reported by Eric Blake <ebb9@byu.net>.

2007-02-24  Bruno Haible  <bruno@clisp.org>

	* lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
	defined.
	* lib/isnanl.c: Remove all code. Just include isnan.c.
	* modules/isnanl-nolibm (Files): Add lib/isnan.c.

2007-02-25  Jim Meyering  <jim@meyering.net>

	Avoid conflicting types for 'unsetenv' on FreeBSD.
	* lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
	conflicting with FreeBSD's (5.0 and 6.1) function declaration
	in stdlib.h.

2007-02-24  Bruno Haible  <bruno@clisp.org>

	* modules/isnanl-nolibm-tests: New file.
	* tests/test-isnanl.c: New file.

	* modules/isnanl-nolibm: New file.
	* lib/isnanl.h: New file.
	* lib/isnanl.c: New file.
	* m4/isnanl.m4: New file.

2007-02-24  Bruno Haible  <bruno@clisp.org>

	* modules/isnan-nolibm-tests: New file.
	* tests/test-isnan.c: New file.

	* modules/isnan-nolibm: New file.
	* lib/isnan.h: New file.
	* lib/isnan.c: New file.
	* m4/isnan.m4: New file.

2007-02-24  Bruno Haible  <bruno@clisp.org>

	* lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
	assume that an exponent fits in 20 bits.

2007-02-24  Jim Meyering  <jim@meyering.net>

	* m4/regex.m4: Update the description of the configure-time option,
	--without-included-regex, to state accurately what the defaults are,
	and perhaps to give people an idea why using this option is risky.

2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
	loops on small arguments.  This attempts to avoid the problem
	Bruno Haible reported for AIX 4.3.2 in
	<http://lists.gnu.org/r/bug-gnulib/2007-02/msg00309.html>.

2007-02-23  Bruno Haible  <bruno@clisp.org>

	* m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
	Needed for help2man.

2007-02-23  Karl Berry  <karl@gnu.org>

	* doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
	exists, foo.h should be cvs-ignored, not committed.

2007-02-23  Eric Blake  <ebb9@byu.net>

	* lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
	* lib/stat-time.h (includes): Likewise.
	* lib/utimecmp.c (includes): Likewise.
	* lib/utimens.h (includes): Likewise.
	* lib/getdate.y (includes): Also include "timespec.h" for use
	internal to the module.
	* modules/utimens (Depends-on): Revert yesterday's patch.
	* modules/nanosleep (Depends-on): Add missing dependency.

2007-02-22  Bruno Haible  <bruno@clisp.org>

	* lib/glob.c: Don't include getlogin_r.h.

2007-02-22  Jim Meyering  <jim@meyering.net>

	* modules/utimens (Depends-on): Add timespec, required for
	utimens.h's inclusion of timespec.h.

2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getcwd.c (__getcwd): Undo previous change; it mishandled
	long unreadable paths in GNU/Linux.  Problem reported by Andreas
	Schwab in
	<http://lists.gnu.org/r/bug-gnulib/2007-02/msg00261.html>.
	I'll try to think of a better way to fix the Solaris problem.

	* lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
	like glibc; on Solaris 10, it fails with errno == EINVAL.
	POSIX says the behavior is unspecified if the first argument is NULL,
	so play it safe and never pass NULL to the system getcwd.

2007-02-21  Jim Meyering  <jim@meyering.net>

	* lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
	of gettimeofday.  It would conflict with the one now always
	provided via sys_time_.h.  Reported by Matthew Woehlke, as
	an IRIX 6.5 build failure.

2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>

	Minor fixups to port to Solaris 10 with Sun C 5.8.
	* lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
	* modules/getcwd (Depends-on): Add dirfd.
	* lib/putenv.c (putenv): #undef it.
	(rpl_putenv): New decl.
	(malloc, free): Include <stdlib.h> rather than prototyping separately.

2007-02-20  Bruno Haible  <bruno@clisp.org>

	* modules/stdio-tests: New file.
	* tests/test-stdio.c: New file.

	* modules/vsnprintf (Files): Remove lib/vsnprintf.h.
	(Depends-on): Add stdio.
	(configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
	(Include): Use <stdio.h> instead of vsnprintf.h.
	* m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
	HAVE_DECL_VSNPRINTF.
	* lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.

	* modules/snprintf (Files): Remove lib/snprintf.h.
	(Depends-on): Add stdio.
	(configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
	(Include): Use <stdio.h> instead of snprintf.h.
	* m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
	HAVE_DECL_SNPRINTF.
	* lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
	* lib/getaddrinfo.c: Likewise.

	* modules/stdio: New file.
	* lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
	* lib/snprintf.h: Remove file.
	* lib/vsnprintf.h: Remove file.
	* lib/.cppi-disable: Remove snprintf.h.
	* m4/stdio_h.m4: New file.
	* MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.

2007-02-20  Jim Meyering  <jim@meyering.net>

	* lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
	used by e.g., mingw.  From Bruno Haible.

2007-02-19  Bruno Haible  <bruno@clisp.org>

	* lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
	warnings.
	Reported by Ben Pfaff <blp@cs.stanford.edu>.

2007-02-19  Bruno Haible  <bruno@clisp.org>

	* m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
	from mingw users.

2007-02-19  Bruno Haible  <bruno@clisp.org>

	* lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
	warnings.
	Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.

2007-02-19  Jim Meyering  <jim@meyering.net>

	Don't use FD after a successful "fdopendir (fd)".
	* lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
	Reset it by calling dirfd on the just-obtained DIR*.

	* m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
	Prompted by a report from Bruno Haible that mingw lacks ftruncate.

2007-02-18  Bruno Haible  <bruno@clisp.org>

	* lib/readlink.c: Include <unistd.h>.
	* m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
	HAVE_READLINK.
	* modules/readlink (Depends-on): Add unistd.
	(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
	(Include): Add <unistd.h>.

	* lib/getlogin_r.h: Remove file.
	* lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
	* m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
	(gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
	HAVE_DECL_GETLOGIN_R.
	* modules/getlogin_r (Files): Remove lib/getlogin_r.h.
	(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
	(Include): Use <unistd.h> instead of getlogin_r.h.

	* lib/getcwd.h: Remove file.
	* lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
	* lib/xgetcwd.c: Likewise.
	* m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
	REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
	* modules/getcwd (Files): Remove lib/getcwd.h.
	(Depends-on): Add unistd.
	(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
	(Include): Use <unistd.h> instad of getcwd.h.

	* lib/ftruncate.c: Include <unistd.h> first.
	* m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
	Set HAVE_FTRUNCATE.
	* modules/ftruncate (Depends-on): Add unistd.
	(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.

	* lib/fchdir.c: Include <unistd.h> first.
	* lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
	of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
	* modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
	(Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.

	* lib/dup2.c: Include <unistd.h> first.
	* m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
	HAVE_DUP2.
	* modules/dup2 (Depends-on): Add unistd.
	(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.

	* lib/chown.c: Include <unistd.h> first. Undefine chown later.
	* m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
	REPLACE_CHOWN. Don't define chown as a macro here.
	* modules/chown (Depends-on): Add unistd.
	(configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.

	* lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
	Add definition for GL_LINK_WARNING.
	(chown, dup2): New declarations.
	(fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
	link warning.
	(ftruncate): New declaration.
	(getcwd): New declaration, taken from old getcwd.h.
	(getlogin_r): New declaration, taken from old getlogin_r.h.
	(readlink): New declaration.
	* m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
	set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
	(gl_PREREQ_UNISTD): Remove macro.
	(gl_UNISTD_MODULE_INDICATOR): New macro.
	(gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
	many new variables. Don't set UNISTD_H.
	* modules/unistd (Description): Change.
	(Depends-on): Add link-warning.
	(configure.ac): Update.
	(Makefile.am): Create unistd.h always. Substitute many new variables
	into it.

2007-02-18  Bruno Haible  <bruno@clisp.org>

	* lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
	* modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
	HAVE_GETSUBOPT.
	* m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
	GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
	* lib/getsubopt.h: Remove file.
	* modules/getsubopt (Files): Remove lib/getsubopt.h.
	(Depends-on): Add stdlib.
	(configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
	(Includes): Use <stdlib.h> instead of getsubopt.h.
	* m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
	Set HAVE_GETSUBOPT.
	* lib/getsubopt.c: Don't include getsubopt.h.

2007-02-18  Bruno Haible  <bruno@clisp.org>

	* modules/fchdir (Depends-on): Add dup2.

2007-02-18  Bruno Haible  <bruno@clisp.org>

	* lib/stdlib_.h: Handle glibc's special invocation convention
	specially.

2007-02-18  Bruno Haible  <bruno@clisp.org>

	* modules/stdlib-tests: New file.
	* tests/test-stdlib.c: New file.

	* modules/mkstemp (Files): Remove lib/mkstemp.h.
	(Depends-on): Add stdlib.
	(configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
	(Includes): Use <stdlib.h> instead of mkstemp.h.
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
	REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
	* lib/mkstemp.c: Don't include mkstemp.h.
	* lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
	* lib/stdlib--.h: Don't include mkstemp.h.

	* modules/mkdtemp (Files): Remove lib/mkdtemp.h.
	(Depends-on): Add stdlib.
	(configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
	(Includes): Use <stdlib.h> instead of mkdtemp.h.
	* m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
	HAVE_MKDTEMP.
	* lib/mkdtemp.c: Don't include mkdtemp.h.
	* lib/clean-temp.c: Don't include mkdtemp.h.

	* modules/exit (Files): Remove lib/exit.h.
	(Depends-on): Add stdlib.
	(Makefile.am): Remove lib_SOURCES.
	(Include): Use <stdlib.h> instead of exit.h.
	* lib/argmatch.c: Don't include exit.h.
	* lib/execute.c: Likewise.
	* lib/pagealign_alloc.c: Likewise.
	* lib/pipe.c: Likewise.
	* lib/wait-process.c: Likewise.
	* lib/copy-file.c: Include <stdlib.h> instead of exit.h.
	* lib/exitfail.c: Likewise.
	* lib/savewd.c: Likewise.
	* lib/xsetenv.c: Likewise.

	* modules/stdlib: New file.
	* lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
	and extra comments about mkstemp().
	* lib/exit.h: Remove file.
	* lib/mkdtemp.h: Remove file.
	* lib/mkstemp.h: Remove file.
	* m4/stdlib_h.m4: New file.
	* MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.

2007-02-18  Bruno Haible  <bruno@clisp.org>

	* modules/math-tests: New file.
	* tests/test-math.c: New file.

	* modules/math: New file.
	* modules/mathl (Files): Remove lib/mathl.h.
	(Depends-on): Add math.
	(Makefile.am): Don't mention mathl.h.
	(Include): Use <math.h> instead of mathl.h.
	* lib/math_.h: New file.
	* lib/mathl.h: Remove file.
	* lib/acosl.c: Include <config.h> and <math.h> first. Don't include
	mathl.h.
	* lib/asinl.c: Likewise.
	* lib/atanl.c: Likewise.
	* lib/ceill.c: Likewise.
	* lib/cosl.c: Likewise.
	* lib/expl.c: Likewise.
	* lib/floorl.c: Likewise.
	* lib/frexpl.c: Likewise.
	* lib/ldexpl.c: Likewise.
	* lib/logl.c: Likewise.
	* lib/sincosl.c: Likewise.
	* lib/sinl.c: Likewise.
	* lib/sqrtl.c: Likewise.
	* lib/tanl.c: Likewise.
	* lib/trigl.c: Likewise.
	* m4/math_h.m4: New file.
	* MODULES.html.sh (Mathematics): Add math.

2007-02-17  Bruno Haible  <bruno@clisp.org>

	* modules/wctype-tests: New file.
	* tests/test-wctype.c: New file.

	* modules/wchar-tests: New file.
	* tests/test-wchar.c: New file.

	* modules/unistd-tests: New file.
	* tests/test-unistd.c: New file.

	* modules/time-tests: New file.
	* tests/test-time.c: New file.

	* modules/sysexits-tests: New file.
	* tests/test-sysexits.c: New file.

	* modules/sys_time-tests: New file.
	* tests/test-sys_time.c: New file.

	* modules/sys_stat-tests: New file.
	* tests/test-sys_stat.c: New file.

	* modules/sys_socket-tests: New file.
	* tests/test-sys_socket.c: New file.

	* modules/sys_select-tests: New file.
	* tests/test-sys_select.c: New file.

	* modules/string-tests: New file.
	* tests/test-string.c: New file.

	* modules/stdbool-tests: New file.
	* tests/test-stdbool.c: New file.

	* modules/netinet_in-tests: New file.
	* tests/test-netinet_in.c: New file.

	* modules/inttypes-tests: New file.
	* tests/test-inttypes.c: New file.

	* modules/fcntl-tests: New file.
	* tests/test-fcntl.c: New file.

	* modules/byteswap-tests: New file.
	* tests/test-byteswap.c: New file.

	* modules/arpa_inet-tests: New file.
	* tests/test-arpa_inet.c: New file.

2007-02-17  Bruno Haible  <bruno@clisp.org>

	* lib/inttypes_.h: Add definition for GL_LINK_WARNING.
	(imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
	if the corresponding module is not enabled. Emit link warnings if
	the function is used nevertheless.
	* m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
	Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
	HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
	(gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
	* modules/inttypes (Depends-on): Add link-warning.
	(Makefile.am): Copy the contents of build-aux/link-warning.h into
	inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
	GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
	* modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
	* modules/imaxdiv (configure.ac): Likewise.
	* modules/strtoimax (configure.ac): Likewise.
	* modules/strtoumax (configure.ac): Likewise.

2007-02-17  Bruno Haible  <bruno@clisp.org>

	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
	gl_STRING_MODULE_INDICATOR_DEFAULTS.
	(gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
	(gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.

2007-02-17  Bruno Haible  <bruno@clisp.org>

	* modules/link-warning: New file.
	* build-aux/link-warning.h: New file, extracted from lib/string_.h.
	* lib/string_.h (GL_LINK_WARNING): Remove definition.
	* modules/string (Depends-on): Add link-warning.
	(Makefile.am): Copy the contents of build-aux/link-warning.h into
	string.h.
	* MODULES.html.sh (Support for building libraries and executables): Add
	link-warning.

2007-02-17  Bruno Haible  <bruno@clisp.org>

	* lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
	strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
	strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
	long lines.

2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
	    Bruno Haible  <bruno@clisp.org>

	* modules/tmpfile: New file.
	* lib/tmpfile.c: New file.
	* m4/tmpfile.m4: New file.
	* MODULES.html.sh (func_all_modules): New section "Input/output".

2007-02-15  Bruno Haible  <bruno@clisp.org>

	* lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
	(supports_delete_on_close): New function.
	(open_temp, fopen_temp): Use _O_TEMPORARY when supported.

2007-02-14  Bruno Haible  <bruno@clisp.org>

	* modules/mbspcasecmp-tests: New file.
	* tests/test-mbspcasecmp.sh: New file.
	* tests/test-mbspcasecmp.c: New file.

	New module mbspcasecmp.
	* modules/mbspcasecmp: New file.
	* lib/mbspcasecmp.c: New file.
	* lib/string_.h (strncasecmp): Change warning message.
	(mbspcasecmp): New declaration.
	* m4/mbspcasecmp.m4: New file.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
	GNULIB_MBSPCASECMP.
	* modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
	* MODULES.html.sh (Internationalization functions): Add mbspcasecmp.

2007-02-14  Bruno Haible  <bruno@clisp.org>

	* modules/mbsncasecmp-tests: New file.
	* tests/test-mbsncasecmp.sh: New file.
	* tests/test-mbsncasecmp.c: New file.

	New module mbsncasecmp.
	* modules/mbsncasecmp: New file.
	* lib/mbsncasecmp.c: New file.
	* lib/string_.h (mbsncasecmp): New declaration.
	* m4/mbsncasecmp.m4: New file.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
	GNULIB_MBSNCASECMP.
	* modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
	* MODULES.html.sh (Internationalization functions): Add mbsncasecmp.

2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/exclude.c (FNM_EXTMATCH): Define if system does not.
	Verify that it doesn't overlap with our flags.
	(fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
	do not have the desired effect in multibyte locales; instead, use
	mbscasecmp.
	* modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
	Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
	we don't require GNU fnmatch ourselves (if our users require it, they
	should do so explicitly).

	Fix regex code so it doesn't rely on strcasecmp.
	* lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
	Otherwise, include gnulib's langinfo.h.
	* lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
	undesirable behavior in non-C locales.  Instead, rely on localecharset.
	* m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
	* modules/regex (FILES): Remove m4/codeset.m4.
	(Depends-on): Add localcharset.  Remove strcase.

2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
	* m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.

2007-02-13  Bruno Haible  <bruno@clisp.org>

	* m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2007-02-12  Bruno Haible  <bruno@clisp.org>

	* lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
	strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
	GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
	time warning rather than a link error.

2007-02-12  Bruno Haible  <bruno@clisp.org>

	* m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
	* m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/string_.h (strncasecmp): Fix typo: this macro takes 3
	args, not 2.

2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>

	New module 'time', so that apps can include <time.h> as per
	POSIX and GNU instead of separate include files like time_r.h
	and timegm.h.  This implementation tries out a simpler approach
	for replacing decls in standard include files (as compared to
	the string module), somewhat as an experiment.

	* config/srclist.txt: Comment out mktime.c for now.
	* doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
	since it doesn't apply any more.  Use generic wording instead.
	* MODULES.html.sh (Support for systems lacking POSIX:2001): New module
	'time'.
	* lib/time_.h, m4/time_h.m4, modules/time: New files.
	* lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
	* lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
	Don't include <sys/types.h>; no longer needed since we assume C89.
	* lib/mktime.c: Don't include "time_r.h"; no longer needed.
	* lib/strftime.c: Likewise.
	* lib/time_r.c: Likewise.
	* lib/nanosleep.c (nanosleep): #undef after include files, not before.
	* lib/nanosleep.c: Include <time.h> first, to check interface.
	* lib/strptime.c: Likewise.
	* lib/time_r.c: Likewise.
	* lib/timegm.c: Likewise.
	* lib/strptime.c: Don't include strptime.h or time_r.h; no longer
	needed.
	* lib/timegm.c: Don't include timegm.h; no longer needed.
	* lib/timespec.h: Don't include <sys/time.h> before <time.h>;
	time.h now handles any problems in that area.
	(struct timespec, nanosleep): Remove; time.h now arranges for these.
	* lib/xnanosleep.c: Don't include timespec.h; no longer needed now
	that time.h defines struct timespec.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
	Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
	handles that.
	* m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
	* m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
	needed.  Set REPLACE_LOCALTIME.
	* m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
	* m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
	(gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
	nanosleep; time_h.m4 now does that.  Don't require
	gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
	module handles this now.
	* modules/getdate (Depends-on): Remove timespec.  Add time.
	* modules/nanosleep (Depends-on): Likewise.
	* modules/stat-time (Depends-on): Likewise.
	* modules/nanosleep (Include): Include time.h, not timespec.h.
	* modules/strptime (Files): Remove lib/strptime.h.
	(Depends-on): Add extensions, time.
	(Include): Include time.h, not strptime.h.
	* modules/time_r (Files): Remove lib/time_r.h.
	(Depends-on): Add time.
	(Include): Include time.h, not time_r.h.
	* modules/timegm: Likewise.
	* modules/timespec (Description): Now does timespec-related decls
	of our own, instead of struct timespec itself.
	(Depends-on): Add time; remove extensions.
	(Maintainer): Add self.
	* modules/utimecmp (Depends-on): Add time; remove timespec.
	* modules/utimens (Depends-on): Likewise.
	* modules/xnanosleep (Depends-on): Likewise.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	* lib/c-strstr.c: Include allocsa.h.
	(knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
	* lib/c-strcasestr.c: Include allocsa.h.
	(knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
	* lib/strcasestr.c: Include allocsa.h.
	(knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
	* lib/mbsstr.c: Include allocsa.h.
	(knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
	allocsa/freesa instead of malloc/free.
	* lib/mbscasestr.c: Include allocsa.h.
	(knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
	allocsa/freesa instead of malloc/free.
	* modules/c-strstr (Depends-on): Add allocsa.
	* modules/c-strcasestr (Depends-on): Likewise.
	* modules/strcasestr (Depends-on): Likewise.
	* modules/mbsstr (Depends-on): Likewise.
	* modules/mbscasestr (Depends-on): Likewise.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	* lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.

	* modules/mbsspn-tests: New file.
	* tests/test-mbsspn.sh: New file.
	* tests/test-mbsspn.c: New file.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	* lib/mbspbrk.c (mbspbrk): Remove unneeded cast.

	* modules/mbspbrk-tests: New file.
	* tests/test-mbspbrk.sh: New file.
	* tests/test-mbspbrk.c: New file.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	* lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
	unneeded cast.

	* modules/mbscspn-tests: New file.
	* tests/test-mbscspn.sh: New file.
	* tests/test-mbscspn.c: New file.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	* modules/mbscasecmp-tests: New file.
	* tests/test-mbscasecmp.sh: New file.
	* tests/test-mbscasecmp.c: New file.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	Ensure O(n) worst-case complexity of mbscasestr.
	* lib/mbscasestr.c: Include stdbool.h.
	(knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
	functions.
	(mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
	the bookkeeping indicates that it's worth it.
	* modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.

	* modules/mbscasestr-tests: New file.
	* tests/test-mbscasestr1.c: New file.
	* tests/test-mbscasestr2.sh: New file.
	* tests/test-mbscasestr2.c: New file.
	* tests/test-mbscasestr3.sh: New file.
	* tests/test-mbscasestr3.c: New file.
	* tests/test-mbscasestr4.sh: New file.
	* tests/test-mbscasestr4.c: New file.
	* m4/locale-tr.m4: New file.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	Ensure O(n) worst-case complexity of mbsstr.
	* lib/mbsstr.c: Include stdbool.h.
	(knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
	functions.
	(mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
	bookkeeping indicates that it's worth it.
	* modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.

	* modules/mbsstr-tests: New file.
	* tests/test-mbsstr1.c: New file.
	* tests/test-mbsstr2.sh: New file.
	* tests/test-mbsstr2.c: New file.
	* tests/test-mbsstr3.sh: New file.
	* tests/test-mbsstr3.c: New file.
	* m4/locale-fr.m4: New file.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	* lib/mbsrchr.c (mbsrchr): Fix bug.

	* modules/mbsrchr-tests: New file.
	* tests/test-mbsrchr.sh: New file.
	* tests/test-mbsrchr.c: New file.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	* lib/mbschr.c (mbschr): Fix bug.

	* modules/mbschr-tests: New file.
	* tests/test-mbschr.sh: New file.
	* tests/test-mbschr.c: New file.
	* m4/locale-zh.m4: New file.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	Support for copying multibyte string iterators.
	* lib/mbiter.h: Include <string.h>.
	(mbiter_multi_copy): New function.
	(mbi_copy): New macro.
	* lib/mbuiter.h: Include <string.h>.
	(mbuiter_multi_copy): New function.
	(mbui_copy): New macro.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	New module mbslen.
	* modules/mbslen: New file.
	* lib/mbslen.c: New file.
	* lib/string_.h (mbslen): New declaration.
	* m4/mbslen.m4: New file.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
	GNULIB_MBSLEN.
	* modules/string (string.h): Also substitute GNULIB_MBSLEN.
	* MODULES.html.sh (Internationalization functions): Add mbslen.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	Ensure O(n) worst-case complexity of strcasestr substitute.
	* lib/strcasestr.c: Include stdbool.h.
	(knuth_morris_pratt): New function.
	(strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
	bookkeeping indicates that it's worth it.
	* modules/strcasestr (Depends-on): Add stdbool, strnlen.

	* modules/strcasestr-tests: New file.
	* tests/test-strcasestr.c: New file.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	Ensure O(n) worst-case complexity of c_strcasestr.
	* lib/c-strcasestr.c: Include stdbool.h, string.h.
	(knuth_morris_pratt): New function.
	(c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
	the bookkeeping indicates that it's worth it.
	* modules/c-strcasestr (Depends-on): Add stdbool, strnlen.

	* modules/c-strcasestr-tests: New file.
	* tests/test-c-strcasestr.c: New file.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	Ensure O(n) worst-case complexity of c_strstr.
	* lib/c-strstr.c: Include stdbool.h, string.h.
	(knuth_morris_pratt): New function.
	(c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
	bookkeeping indicates that it's worth it.
	* modules/c-strstr (Depends-on): Add stdbool, strnlen.

	* lib/c-strstr.c: Complete rewrite for maintainability.

	* modules/c-strstr-tests: New file.
	* tests/test-c-strstr.c: New file.

2007-02-11  Bruno Haible  <bruno@clisp.org>

	* m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
	5.2.1 and earlier, whereby \055 was treated just like the range
	delimiter '-'.
	Reported by Joel E. Denny <jdenny@ces.clemson.edu>.

2007-02-08  Bruno Haible  <bruno@clisp.org>

	* modules/regex (Depends-on): Add stdbool.
	Reported by Dalibor Topic <robilad@kaffe.org>.

2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
	Prefer returning from main to exiting from it.
	Remove unnecessary parens after sizeof.

2007-02-05  Bruno Haible  <bruno@clisp.org>

	New module mbssep.
	* modules/mbssep: New file.
	* lib/mbssep.c: New file.
	* lib/string_.h (strsep): Add a conditional link warning.
	(mbssep): New declaration.
	* m4/mbssep.m4: New file.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
	GNULIB_MBSSEP.
	* modules/string (string.h): Also substitute GNULIB_MBSSEP.
	* MODULES.html.sh (Internationalization functions): Add mbssep.

2007-02-05  Bruno Haible  <bruno@clisp.org>

	* lib/strsep.c (strsep): Fix actions in case of no delimiters.
	Optimize search in case of 1 delimiter.

2007-02-05  Paolo Bonzini  <bonzini@gnu.org>

	* lib/acl.h: Include sys/types.h before sys/acl.h.

2007-02-05  Paolo Bonzini  <bonzini@gnu.org>

	Merge upstream fix for glibc bugzilla #3957:

	2007-02-05  Jakub Jelinek  <jakub@redhat.com>

	* lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
	bit for RE_HAT_LISTS_NOT_NEWLINE.
	(build_charclass_op): Remove bogus comment.

2007-02-05  Simon Josefsson  <simon@josefsson.org>

	* lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.

2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
	* lib/memmem.c [!defined _LIBC]: Include config.h.

2007-02-04  Bruno Haible  <bruno@clisp.org>

	* lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
	warning message.

2007-02-04  Bruno Haible  <bruno@clisp.org>

	New module mbstok_r.
	* modules/mbstok_r: New file.
	* lib/mbstok_r.c: New file.
	* lib/string_.h (strtok_r): Change argument names to match the
	comments. Add a conditional link warning.
	(mbstok_r): New declaration.
	* m4/mbstok_r.m4: New file.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
	GNULIB_MBSTOK_R.
	* modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
	* MODULES.html.sh (Internationalization functions): Add mbstok_r.

2007-02-04  Bruno Haible  <bruno@clisp.org>

	New module mbsspn.
	* modules/mbsspn: New file.
	* lib/mbsspn.c: New file.
	* lib/string_.h (strspn): Add a conditional link warning.
	(mbsspn): New declaration.
	* m4/mbsspn.m4: New file.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
	GNULIB_MBSSPN.
	* modules/string (string.h): Also substitute GNULIB_MBSSPN.
	* MODULES.html.sh (Internationalization functions): Add mbsspn.

2007-02-04  Bruno Haible  <bruno@clisp.org>

	New module mbspbrk.
	* modules/mbspbrk: New file.
	* lib/mbspbrk.c: New file.
	* lib/string_.h (strpbrk): Add a conditional link warning.
	(mbspbrk): New declaration.
	* m4/mbspbrk.m4: New file.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
	GNULIB_MBSPBRK.
	* modules/string (string.h): Also substitute GNULIB_MBSPBRK.
	* MODULES.html.sh (Internationalization functions): Add mbspbrk.

2007-02-04  Bruno Haible  <bruno@clisp.org>

	New module mbscspn.
	* modules/mbscspn: New file.
	* lib/mbscspn.c: New file.
	* lib/string_.h (strcspn): Add a conditional link warning.
	(mbscspn): New declaration.
	* m4/mbscspn.m4: New file.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
	GNULIB_MBSCSPN.
	* modules/string (string.h): Also substitute GNULIB_MBSCSPN.
	* MODULES.html.sh (Internationalization functions): Add mbscspn.

2007-02-04  Bruno Haible  <bruno@clisp.org>

	New module mbscasestr, reduced goal of strcasestr.
	* modules/mbscasestr: New file.
	* lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
	(mbscasestr): Renamed from strcasestr.
	* lib/strcasestr.c: Don't include mbuiter.h.
	(strcasestr): Remove support for multibyte locales.
	* lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
	Change the conditional link warning.
	(mbscasestr): New declaration.
	* m4/mbscasestr.m4: New file.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
	the system does not have strcasestr. Set HAVE_STRCASESTR instead of
	REPLACE_STRCASESTR.
	(gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
	HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
	(gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
	* modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
	Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
	* modules/strcasestr (Files): Remove m4/mbrtowc.m4.
	(Depends-on): Remove mbuiter.
	* MODULES.html.sh (Internationalization functions): Add mbscasestr.

2007-02-04  Bruno Haible  <bruno@clisp.org>

	Simplify handling of strncasecmp.
	* lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
	the conditional link warning.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
	HAVE_STRCASECMP, not REPLACE_STRCASECMP.
	(gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
	* modules/strcase (configure.ac): Don't invoke
	gl_STRING_MODULE_INDICATOR.
	* modules/string (string.h): Don't substitute GNULIB_STRCASE.

2007-02-04  Bruno Haible  <bruno@clisp.org>

	New module mbscasecmp, reduced goal of strcasecmp.
	* modules/mbscasecmp: New file.
	* lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
	(mbscasecmp): Renamed from strcasecmp.
	* lib/strcasecmp.c: Don't include mbuiter.h.
	(strcasecmp): Remove support for multibyte locales.
	* lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
	Change the conditional link warning.
	(mbscasecmp): New declaration.
	* m4/mbscasecmp.m4: New file.
	* m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
	the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
	REPLACE_STRCASECMP.
	(gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
	GNULIB_MBSCASECMP.
	* modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
	Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
	* modules/strcase (Files): Remove m4/mbrtowc.m4.
	(Depends-on): Remove mbuiter.
	* MODULES.html.sh (Internationalization functions): Add mbscasecmp.

2007-02-04  Bruno Haible  <bruno@clisp.org>

	New module mbsstr. Remove module strstr.
	* modules/mbsstr: New file.
	* modules/strstr: Remove file.
	* lib/mbsstr.c: Renamed from lib/strstr.c.
	(mbsstr): Renamed from strstr.
	* lib/string_.h (strstr): Remove declaration. Change the conditional
	link warning.
	(mbsstr): New declaration.
	* m4/mbsstr.m4: New file.
	* m4/strstr.m4: Remove file.
	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
	REPLACE_STRSTR.
	(gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
	Don't initialize GNULIB_STRSTR.
	* modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
	substitute GNULIB_STRSTR and REPLACE_STRSTR.
	* MODULES.html.sh (Internationalization functions): Add mbsstr.
	(Support for systems lacking ANSI C 89): Remove strstr.

2007-02-04  Bruno Haible  <bruno@clisp.org>

	New module mbsrchr.
	* modules/mbsrchr: New file.
	* lib/mbsrchr.c: New file.
	* lib/string_.h (strrchr): Add a conditional link warning.
	(mbsrchr): New declaration.
	* m4/mbsrchr.m4: New file.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
	GNULIB_MBSRCHR.
	* modules/string (string.h): Also substitute GNULIB_MBSRCHR.
	* MODULES.html.sh (Internationalization functions): Add mbsrchr.

2007-02-04  Bruno Haible  <bruno@clisp.org>

	New module mbschr.
	* modules/mbschr: New file.
	* lib/mbschr.c: New file.
	* lib/string_.h (strchr): Add a conditional link warning.
	(mbschr): New declaration.
	* m4/mbschr.m4: New file.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
	GNULIB_MBSCHR.
	* modules/string (string.h): Also substitute GNULIB_MBSCHR.
	* MODULES.html.sh (Internationalization functions): Add mbschr.

2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/stdbool_.h: Mention that bool bit-fields aren't supported.

	* modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.

2007-02-04  Bruno Haible  <bruno@clisp.org>

	New module description section 'configure.ac-early'.
	* gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
	(func_get_autoconf_early_snippet): New function.
	(func_import, func_create_testdir): Use it. Remove special cases for
	modules 'extensions' and 'lock'.
	* modules/extensions (configure.ac-early): Require
	gl_USE_SYSTEM_EXTENSIONS.
	* modules/lock (configure.ac-early): Require gl_LOCK_EARLY.

2007-02-04  Bruno Haible  <bruno@clisp.org>

	Make use of gcj-4.3's -fsource and -ftarget option.
	* m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
	and if so try the options -fsource and -ftarget.
	* lib/javacomp.c (compile_using_gcj): Add fsource_option,
	source_version, ftarget_option, target_version arguments.
	(is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
	(is_envjavac_oldgcj_14_14_usable): Renamed from
	is_envjavac_gcj_14_14_usable.
	(is_envjavac_oldgcj_14_13_usable): Renamed from
	is_envjavac_gcj_14_13_usable.
	(is_gcj_present): Update.
	(is_gcj_43, is_gcj43_usable): New functions.
	(is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
	(is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
	(compile_java_class): Test whether gcj is in version >= 4.3, and if so
	try the options -fsource and -ftarget.

2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
	checking code.  Set N = ceil (1.5 * N) rather than to a slightly
	larger value.

2007-02-03  Jim Meyering  <jim@meyering.net>

	Give tools a better chance to allocate space for very large buffers.
	* lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.

	Make pwd and readlink work also when run with an unreadable parent dir
	on systems with openat support.
	* lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
	provided getcwd function, even when we have openat support.
	Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.

2007-02-02  Bruno Haible  <bruno@clisp.org>

	* lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
	strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
	error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
	portability problems if one of these functions is only used on specific
	platforms.
	Reported by Paul Eggert.

2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid mempcpy in the regex code, as the string.h mempcpy stuff
	is causing more trouble than it's curing.
	* lib/regex_internal.h (__mempcpy): Remove.
	* lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
	(and make the code a tad smaller to boot).
	* m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.

2007-02-02  Jim Meyering  <jim@meyering.net>

	* modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
	section, not in the Makefile.am: one.

2007-02-02  Eric Blake  <ebb9@byu.net>

	* lib/strchrnul.c: Always include config.h first.

	* modules/mountlist (Depends-on): Revert 2007-01-31 change,
	gnulib strstr is not necessary here.

2007-02-02  Simon Josefsson  <simon@josefsson.org>

	* m4/socklen.m4: Fix typo.

2007-02-02  Eric Blake  <ebb9@byu.net>

	* modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
	* modules/netinet_in (Makefile.am): Likewise.

2007-02-01  Bruno Haible  <bruno@clisp.org>

	* lib/string_.h (GL_LINK_WARNING): New macro.
	(strcasecmp, strstr, strcasestr): If provided by the system,
	conditionally define as a macro that leads to a warning instead of to
	an error.
	(strncasecmp): Conditionally define as a macro that leads to a warning.

2007-02-01  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.

2007-02-01  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (Unicode string functions): Update after 2007-01-27
	renamings.

2007-02-01  Eric Blake  <ebb9@byu.net>

	* modules/regex (Depends-on): Revert dependence on mempcpy.
	* lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
	module's definition of mempcpy.
	Reported by Paul Eggert.

2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/string_.h: If the gnulib module XYZ is not present, undefine
	the symbol XYZ before redefining it.  This fixes a problem with
	programs that don't use XYZ, when compiled on systems that define
	XYZ to something else.

2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/mkdir-p.c (make_dir_parents): Close a race condition that
	occurs when "mkdir -m foo" creates a setgid directory that is (1)
	writeable to group or other and (2) is intended to have a special
	mode bit that is set or cleared.  In such a case, the directory
	should be neither group- nor other-writeable until the special
	mode bits are right.

2007-01-31  Eric Blake  <ebb9@byu.net>

	* modules/mountlist (Depends-on): Add strstr.

	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
	bug.
	* modules/string (Makefile.am): Remove redundant replacement.
	* modules/regex (Depends-on): Add mempcpy.

2007-01-31  Bruno Haible  <bruno@clisp.org>

	New module description field 'Link'.
	* gnulib-tool (func_usage): Document --extract-link-directive.
	(sed_extract_prog): Recognize 'Link' directive.
	(func_get_link_directive): New function.
	(func_import): Show summary of link directives.
	Handle --extract-link-directive option.
	* modules/acl (Link): New section.
	* modules/clock-time (Link): New section.
	* modules/euidaccess (Link): New section.
	* modules/gettext (Link): New section.
	* modules/iconv (Link): New section.
	* modules/lock (Link): New section.
	* modules/nanosleep (Link): New section.
	* modules/readline (Link): New section.

2007-01-27  Bruno Haible  <bruno@clisp.org>

	Enforce the use of gnulib modules for unportable <string.h> functions.
	* m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
	(gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
	(gl_HEADER_STRING_H_BODY): Require it.
	* lib/string_.h: If the gnulib module XYZ is not present, redefine
	the symbol XYZ to one that gives a link error.
	* modules/string (Makefile.am): Also substitute the GNULIB_* variables.
	* modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
	* modules/mempcpy (configure.ac): Likewise.
	* modules/memrchr (configure.ac): Likewise.
	* modules/stpcpy (configure.ac): Likewise.
	* modules/stpncpy (configure.ac): Likewise.
	* modules/strcase (configure.ac): Likewise.
	* modules/strcasestr (configure.ac): Likewise.
	* modules/strchrnul (configure.ac): Likewise.
	* modules/strdup (configure.ac): Likewise.
	* modules/strndup (configure.ac): Likewise.
	* modules/strnlen (configure.ac): Likewise.
	* modules/strpbrk (configure.ac): Likewise.
	* modules/strsep (configure.ac): Likewise.
	* modules/strstr (configure.ac): Likewise.
	* modules/strtok_r (configure.ac): Likewise.

2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)

	* lib/gai_strerror.c (values): Add EAI_OVERFLOW.

2007-01-30  Jim Meyering  <jim@meyering.net>

	* lib/mpsort.c (mpsort): Remove spurious "return" in void function.

2007-01-29  Bruno Haible  <bruno@clisp.org>

	* lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
	* lib/execute.c: Likewise.
	* lib/pipe.c: Likewise.
	* lib/printf-args.h: Likewise.
	* lib/printf-args.c: Likewise.
	* lib/printf-parse.c: Likewise.
	* lib/vasnprintf.c: Likewise.

2007-01-29  Eric Blake  <ebb9@byu.net>

	* lib/memrchr.c: Assume <string.h> unconditionally, to pull in
	declaration.

2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/strptime.h (strptime): Use 'restrict' for args where
	POSIX requires this.
	* lib/strptime.c (strptime): Likewise.
	Change license notice from LGPL to GPL, since gnulib-tool will
	change this as needed.
	Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
	defined.
	Include "strptime.h" first, to check interface.
	Do not #undef _LIBC and _NL_CURRENT.
	Do not include <stdlib.h>; no longer needed.
	Include "time_r.h" and declare ptime_locale_status
	only if _LIBC is not defined.
	(__P): Remove unused macro.
	(match_string): Bring back glibc version, but use it only if _LIBC
	is defined.
	(__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
	Remove unnecessary assertion and abort() call.
	Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
	* m4/strptime.m4: Fix serial number comment.
	(gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
	* modules/strptime (Files): Add m4/tm_gmtoff.m4.
	(Depends-on): Add time_r.

2007-01-29  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add
	strptime.
	* modules/strptime (Depends-on): Add stdbool.
	* lib/strptime.h: Include <time.h> always. Add comments.

2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>

	* modules/strptime: New file.
	* lib/strptime.h: New file.
	* lib/strptime.c: New file.
	* m4/strptime.m4: New file.

2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh: New module mpsort.
	* lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.

	* lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
	a circularity problem with HP-UX ia64 reported by Bob Proulx in
	<http://lists.gnu.org/r/bug-gnulib/2007-01/msg00394.html>.
	All uses changed.
	(_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
	All uses changed.
	* lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
	to _Restrict_.
	* lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
	the parameter matches the prototype.

2007-01-28  Jim Meyering  <jim@meyering.net>

	* modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
	sys/time.h here, reverting that part of the previous patch:
	<http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.

2007-01-28  Bruno Haible  <bruno@clisp.org>

	* modules/sys_time (Makefile.am): Build sys/time.h only when it's the
	value of $(SYS_TIME_H).
	[MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
	remove it conditionally, too. [added by Jim Meyering]
	* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
	(gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
	GETTIMEOFDAY_REPLACEMENT to 1.

2007-01-28  Bruno Haible  <bruno@clisp.org>

	* m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
	(gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
	* m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
	Set UNISTD_H instead of UNISTD_H2.
	* modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).

2007-01-28  Bruno Haible  <bruno@clisp.org>

	* modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
	* m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.

2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
	(func_create_testdir): Ensure C locale for `grep' and `tr'
	character ranges.
	(func_create_megatestdir): Avoid one `grep'.  Fix bug in
	ACLOCAL_AMFLAGS parsing state machine.

2007-01-27  Bruno Haible  <bruno@clisp.org>

	* modules/unistr/base: Update.

2007-01-27  Bruno Haible  <bruno@clisp.org>

	Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
	u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
	* modules/unistr/u32-mbtouc-unsafe: Renamed from
	modules/unistr/u32-mbtouc.
	* lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
	* lib/unistr.h: Update.
	* lib/linebreak.c: Update.
	* modules/unistr/u32-mbtouc: Renamed from
	modules/unistr/u32-mbtouc-safe.
	* lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
	* lib/unistr.h: Update.
	* lib/unistr/u32-to-u8.c: Update.
	* lib/unistr/u32-to-u16.c: Update.

2007-01-27  Bruno Haible  <bruno@clisp.org>

	Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
	u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
	* modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
	* lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
	* lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
	* modules/unistr/u16-mbtouc-unsafe: Renamed from
	modules/unistr/u16-mbtouc.
	* lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
	* lib/unistr.h: Update.
	* lib/linebreak.c: Update.
	* modules/linebreak: Update.
	* modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
	* lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
	* lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
	* modules/unistr/u16-mbtouc: Renamed from
	modules/unistr/u16-mbtouc-safe.
	* lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
	* lib/unistr.h: Update.
	* lib/unistr/u16-to-u8.c: Update.
	* modules/unistr/u16-to-u8: Update.
	* lib/unistr/u16-to-u32.c: Update.
	* modules/unistr/u16-to-u32: Update.

2007-01-27  Bruno Haible  <bruno@clisp.org>

	Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
	u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
	* modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
	* lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
	* lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
	* modules/unistr/u8-mbtouc-unsafe: Renamed from
	modules/unistr/u8-mbtouc.
	* lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
	* lib/unistr.h: Update.
	* lib/striconveh.c: Update.
	* modules/striconveh: Update.
	* lib/linebreak.c: Update.
	* modules/linebreak: Update.
	* modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
	* lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
	* lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
	* modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
	* lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
	* lib/unistr.h: Update.
	* lib/striconveh.c: Update.
	* modules/striconveh: Update.
	* lib/unistr/u8-to-u16.c: Update.
	* modules/unistr/u8-to-u16: Update.
	* lib/unistr/u8-to-u32.c: Update.
	* modules/unistr/u8-to-u32: Update.

2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Sync from Libtool.
	* lib/argz.c: Do not include strings.h nor memory.h, include
	string.h unconditionally.  Patch by Simon Josefsson.

2007-01-27  Bruno Haible  <bruno@clisp.org>

	* m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
	from gl_HEADER_STRING_H_BODY.
	(gl_HEADER_STRING_H_BODY): Require it.
	* m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
	* m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
	* m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
	* m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
	* m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
	* m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
	* m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
	* m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
	* m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
	* m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
	* m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
	* m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
	* m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.

2007-01-27  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
	check_PROGRAMS into noinst_PROGRAMS.
	(func_emit_tests_Makefile_am): Likewise. Also don't initialize
	check_PROGRAMS in this case.
	(func_import): Set for_test to false.
	(func_create_testdir): Set for_test to true.

2007-01-27  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
	    Bruno Haible  <bruno@clisp.org>

	* modules/strcasestr (Files): Remove lib/strcasestr.h.
	(Depends-on): Add string.
	(Includes): Use <string.h> instead of strcasestr.h.
	* modules/string (Makefile.am): Also substitute the value of
	REPLACE_STRCASESTR.
	* m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
	assume strcasestr is declared in <string.h> not <strings.h>. Also
	set REPLACE_STRCASESTR.
	* m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
	REPLACE_STRCASESTR.
	* lib/strcasestr.h: Remove file.
	* lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
	* lib/string_.h (strcasestr): New declaration.

2007-01-27  Bruno Haible  <bruno@clisp.org>

	* lib/string_.h: Use 'extern'.

2007-01-27  Jim Meyering  <jim@meyering.net>

	* lib/regex_internal.c (re_string_reconstruct): Remove declaration
	of set-but-not-used local, "q".

	* lib/mempcpy.c: Include <config.h> before <string.h>.
	This fixes a compilation error on HP-UX, due to the system's
	"restrict"-using mempcpy prototype.

2007-01-26  Bruno Haible  <bruno@clisp.org>

	Small optimization.
	* lib/javacomp.c: Include c-strstr.h.
	 (is_envjavac_gcj): Use c_strstr instead of strstr.
	* modules/javacomp (Depends-on): Add c-strstr, remove strstr.

2007-01-26  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (Unicode string functions): Add the new modules.

	* modules/uniconv/u32-strconv-to-locale: New file.
	* lib/uniconv/u32-strconv-to-locale.c: New file.

	* modules/uniconv/u16-strconv-to-locale: New file.
	* lib/uniconv/u16-strconv-to-locale.c: New file.

	* modules/uniconv/u8-strconv-to-locale: New file.
	* lib/uniconv/u8-strconv-to-locale.c: New file.

	* modules/uniconv/u32-strconv-from-locale: New file.
	* lib/uniconv/u32-strconv-from-locale.c: New file.

	* modules/uniconv/u16-strconv-from-locale: New file.
	* lib/uniconv/u16-strconv-from-locale.c: New file.

	* modules/uniconv/u8-strconv-from-locale: New file.
	* lib/uniconv/u8-strconv-from-locale.c: New file.

	* modules/uniconv/u32-strconv-to-enc: New file.
	* lib/uniconv/u32-strconv-to-enc.c: New file.
	* modules/uniconv/u32-strconv-to-enc-tests: New file.
	* tests/uniconv/test-u32-strconv-to-enc.c: New file.

	* modules/uniconv/u16-strconv-to-enc: New file.
	* lib/uniconv/u16-strconv-to-enc.c: New file.
	* lib/uniconv/u-strconv-to-enc.h: New file.
	* modules/uniconv/u16-strconv-to-enc-tests: New file.
	* tests/uniconv/test-u16-strconv-to-enc.c: New file.

	* modules/uniconv/u8-strconv-to-enc: New file.
	* lib/uniconv/u8-strconv-to-enc.c: New file.
	* modules/uniconv/u8-strconv-to-enc-tests: New file.
	* tests/uniconv/test-u8-strconv-to-enc.c: New file.

	* modules/uniconv/u32-strconv-from-enc: New file.
	* lib/uniconv/u32-strconv-from-enc.c: New file.
	* modules/uniconv/u32-strconv-from-enc-tests: New file.
	* tests/uniconv/test-u32-strconv-from-enc.c: New file.

	* modules/uniconv/u16-strconv-from-enc: New file.
	* lib/uniconv/u16-strconv-from-enc.c: New file.
	* modules/uniconv/u16-strconv-from-enc-tests: New file.
	* tests/uniconv/test-u16-strconv-from-enc.c: New file.

	* modules/uniconv/u8-strconv-from-enc: New file.
	* lib/uniconv/u8-strconv-from-enc.c: New file.
	* lib/uniconv/u-strconv-from-enc.h: New file.
	* modules/uniconv/u8-strconv-from-enc-tests: New file.
	* tests/uniconv/test-u8-strconv-from-enc.c: New file.

	* modules/uniconv/u32-conv-from-enc: New file.
	* lib/uniconv/u32-conv-from-enc.c: New file.
	* modules/uniconv/u32-conv-from-enc-tests: New file.
	* tests/uniconv/test-u32-conv-from-enc.c: New file.

	* modules/uniconv/u16-conv-from-enc: New file.
	* lib/uniconv/u16-conv-from-enc.c: New file.
	* lib/uniconv/u-conv-from-enc.h: New file.
	* modules/uniconv/u16-conv-from-enc-tests: New file.
	* tests/uniconv/test-u16-conv-from-enc.c: New file.

	* modules/uniconv/u8-conv-from-enc: New file.
	* lib/uniconv/u8-conv-from-enc.c: New file.
	* modules/uniconv/u8-conv-from-enc-tests: New file.
	* tests/uniconv/test-u8-conv-from-enc.c: New file.

	* modules/uniconv/base: New file.
	* lib/uniconv.h: New file.

2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/gnulib-tool.texi (Initial import): Update to match current
	behavior with strdup module.
	* lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
	* lib/memmem.h: Remove; all uses removed.  This is now done
	by <string.h>.
	* lib/mempcpy.h: Likewise.
	* lib/memrchr.h: Likewise.
	* lib/stpcpy.h: Likewise.
	* lib/stpncpy.h: Likewise.
	* lib/strcase.h: Likewise.
	* lib/strchrnul.h: Likewise.
	* lib/strdup.h: Likewise.
	* lib/strndup.h: Likewise.
	* lib/strnlen.h: Likewise.
	* lib/strpbrk.h: Likewise.
	* lib/strsep.h: Likewise.
	* lib/strstr.h: Likewise.
	* lib/strtok_r.h: Likewise.
	* lib/string_.h: New file.
	* lib/argp-namefrob.h: Don't include no-longer-existent include files.
	Rely on <string.h> instead.
	* lib/canon-host.c: Likewise.
	* lib/chdir-long.c: Likewise.
	* lib/concatpath.c: Likewise.
	* lib/exclude.c: Likewise.
	* lib/fchdir.c: Likewise.
	* lib/getaddrinfo.c: Likewise.
	* lib/getcwd.c: Likewise.
	* lib/getsubopt.c: Likewise.
	* lib/glob.c: Likewise.
	* lib/hard-locale.c: Likewise.
	* lib/iconvme.c: Likewise.
	* lib/javacomp.c: Likewise.
	* lib/mempcpy.c: Likewise.
	* lib/memrchr.c: Likewise.
	* lib/regex_internal.h: Likewise.
	* lib/stpncpy.c: Likewise.
	* lib/strcasecmp.c: Likewise.
	* lib/strchrnul.c: Likewise.
	* lib/strdup.c: Likewise.
	* lib/striconv.c: Likewise.
	* lib/striconveh.c: Likewise.
	* lib/striconveha.c: Likewise.
	* lib/strncasecmp.c: Likewise.
	* lib/strndup.c: Likewise.
	* lib/strnlen.c: Likewise.
	* lib/strsep.c: Likewise.
	* lib/strstr.c: Likewise.
	* lib/strtok_r.c: Likewise.
	* lib/userspec.c: Likewise.
	* lib/w32spawn.h: Likewise.
	* lib/xstrndup.c: Likewise.
	* lib/mountlist.c (strstr): Remove decl.
	* m4/string_h.m4: New file.
	* m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
	* m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
	* m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
	* m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
	* m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
	* m4/strcase.m4 (gl_FUNC_STRCASECMP):
	Set REPLACE_STRCASECMP if necessary.
	(gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
	* m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
	* m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
	* m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
	HAVE_DECL_STRDUP if necessary.
	(gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
	since gl_FUNC_STRNDUP does that now.
	* m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
	Check for decl here...
	(gl_PREREQ_STRNLEN): ... not here.
	* m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
	* m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
	* m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
	* m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
	necessary.
	* modules/string: New file.
	* modules/memmem (Files): Remove special-purpose include file.
	(Depends-on): Add string.
	(Include): Include <string.h>, not the removed file.
	* modules/mempcpy: Likewise.
	* modules/memrchr: Likewise.
	* modules/stpcpy: Likewise.
	* modules/stpncpy: Likewise.
	* modules/strcase: Likewise.
	* modules/strchrnul: Likewise.
	* modules/strdup: Likewise.
	* modules/strndup: Likewise.
	* modules/strnlen: Likewise.
	* modules/strpbrk: Likewise.
	* modules/strsep: Likewise.
	* modules/strstr: Likewise.
	* modules/strtok_r: Likewise.
	* tests/test-dirname.c: Don't include "strdup.h", since
	<string.h> now suffices.
	* tests/test-memmem.c: Don't include "memmem.h", since
	<string.h> now suffices.

2007-01-25  Bruno Haible  <bruno@clisp.org>

	* lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
	*resultp is 0.

	* lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
	* lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
	* lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
	* lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.

	* modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
	* modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
	* modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
	* modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
	* modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
	* modules/unistr/u32-to-u16 (Depends-on): Add missing modules.

2007-01-24  Bruno Haible  <bruno@clisp.org>

	Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
	<http://lists.gnu.org/r/bug-gnulib/2006-10/msg00279.html>.
	* m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
	* m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
	gl_FUNC_FTS_CORE.
	(gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
	* m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
	AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
	* m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
	* m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
	* m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
	gl_FUNC_FCHOWNAT.
	* m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
	gl_FUNC_STRFTIME.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
	Reported by Ralf Wildenhues.

2007-01-24  Bruno Haible  <bruno@clisp.org>

	Drop AC_REQUIRE calls that are redundant with the module dependencies.
	* m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
	gl_GETADDRINFO.
	* m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
	gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
	* m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.

2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
	Don't use 'exit'; just return from 'main'.
	(_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.

	* lib/fnmatch_.h: Readjust white space and comments to match
	glibc, to avoid spurious diffs.

2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
	2004-12-01 change by Jakub Jelinek, since this code won't compile
	if !LIBC.  Problem reported by Bob Proulx.

2007-01-23  Bruno Haible  <bruno@clisp.org>

	* lib/striconveh.c: Include c-strcaseeq.h.
	(mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
	* modules/striconveh (Depends-on): Add c-strcaseeq.

2007-01-23  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (String handling): Add streq, c-strcaseeq.

	* modules/c-strcaseeq: New file.
	* lib/c-strcaseeq.h: New file.

	* modules/streq: New file.
	* lib/streq.h: New file.

2007-01-23  Bruno Haible  <bruno@clisp.org>

	* modules/striconveha-tests: New file.
	* tests/test-striconveha.c: New file.

	* lib/striconveha.h: Include <stdbool.h>.
	(mem_iconveha, str_iconveha): Add 'transliterate' argument.
	* lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
	(mem_iconveha_notranslit): Renamed from mem_iconveha.
	(mem_iconveha): New function.
	(str_iconveha_notranslit): Renamed from str_iconveha.
	(str_iconveha): New function.
	* modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
	c-strcase.

2007-01-23  Bruno Haible  <bruno@clisp.org>

	* lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
	encodings without forgiving before trying any encoding with handler.
	(str_iconveha): Try all encodings without forgiving before trying any
	encoding with handler.

2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	Import the following changes from libc.

	2005-10-14  Ulrich Drepper  <drepper@redhat.com>

	* lib/fnmatch_loop.c: Adjust for changed secondary hash function.

	2004-12-01  Jakub Jelinek  <jakub@redhat.com>

	* lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
	normal_bracket label.

	2004-09-01  Jakub Jelinek  <jakub@redhat.com>

	[BZ #361]
	* lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
	to normal_bracket after fetching the next character.

2007-01-22  Bruno Haible  <bruno@clisp.org>

	* lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
	argument.
	* lib/striconveh.c (iconv_carefully_1): New function.
	(mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
	argument.
	(str_cd_iconveh): Update.
	* lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
	* lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
	* tests/test-striconveh.c (MAGIC): New macro.
	(new_offsets): New function.
	(main): Test call with and without offsets.

2007-01-22  Bruno Haible  <bruno@clisp.org>

	* modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
	* modules/sys_select (Makefile.am): Likewise.
	* modules/sys_socket (Makefile.am): Likewise.
	* modules/sys_time (Makefile.am): Likewise.

2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/gettimeofday (License): Change from GPL to LGPL, since
	gettimeofday is a library function.

2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	* lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.

2007-01-21  Bruno Haible  <bruno@clisp.org>

	* m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.

2007-01-21  Bruno Haible  <bruno@clisp.org>

	* modules/striconveha: New file.
	* lib/striconveha.h: New file.
	* lib/striconveha.c: New file.
	* MODULES.html.sh (Internationalization functions): Add striconveha.
	* lib/striconv.c (str_iconv): Optimize the case of an empty input
	string.
	* lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.

2007-01-21  Bruno Haible  <bruno@clisp.org>

	* lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
	* lib/striconveh.c (str_iconveh): Likewise.

2007-01-21  Bruno Haible  <bruno@clisp.org>

	* lib/striconveh.h (mem_iconveh): New declaration.
	* lib/striconveh.c (mem_iconveh): New function.
	* tests/test-striconveh.c (main): Add tests for mem_iconveh.

2007-01-21  Bruno Haible  <bruno@clisp.org>

	* lib/xstriconv.h (xmem_cd_iconv): Change specification.

	* lib/striconveh.h (mem_cd_iconveh): Change specification.
	* lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
	original result buffer.
	(str_cd_iconveh): Update.
	* tests/test-striconveh.c (main): Update.

	* lib/striconv.h (mem_cd_iconv): Change specification.
	* lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
	result buffer.
	(str_cd_iconv): Update.
	* tests/test-striconv.c (main): Update.

2007-01-21  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Fix test whether sed is GNU sed supporting --posix.

2007-01-20  Jim Meyering  <jim@meyering.net>

	* lib/userspec.c (parse_with_separator): If a user or group string
	starts with "+", skip the corresponding name-to-ID look-up, since
	such a look-up must fail: user and group names may not include "+".

2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/poll.c: Include sys/time.h and time.h unconditionally,
	since we now assume the sys_time module.
	* m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
	check for sys/time.h; no longer needed.
	* modules/poll (Depends-on): Depend on sys_time.

2007-01-18  Bruno Haible  <bruno@clisp.org>

	* m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
	* m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.

	* m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
	gettimeofday.

	* tests/test-gettimeofday.c: Include <time.h>.
	(dummy): Remove variable.

	* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
	gl_HEADER_SYS_TIME_H.
	(gl_HEADER_SYS_TIME_H): New macro.

	* lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
	HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
	gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
	HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
	* m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
	GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
	and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
	* modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
	instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
	GETTIMEOFDAY_CLOBBERS_LOCALTIME.

	* m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
	last change; it caused a compilation error when cross-compiling to
	Cygwin.

2007-01-18  Jim Meyering  <jim@meyering.net>

	Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
	* modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
	than the race-prone "test -d sys || mkdir sys".
	(configure.ac): Use AC_PROG_MKDIR_P.
	* modules/sys_select: Likewise.
	* modules/sys_socket: Likewise.
	* modules/sys_time: Likewise.

2007-01-18  Eric Blake  <ebb9@byu.net>

	* m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
	replace gettimeofday.
	* lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
	name, to avoid infinite recursion.

2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh (Support for systems lacking POSIX:2001): New
	module sys_time.
	* lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
	assume timespec.h defines struct timeval.
	* lib/settime.c: Likewise.
	* lib/utimens.c: Likewise.
	* lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
	since we now assume the gettimeofday module.
	* lib/tempname.c (__gen_tempname): Likewise.
	* lib/gettimeofday.h: Remove.
	* lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
	Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
	Include <time.h>, for 'time()'.
	(localtime_buffer_addr): Also use this workaround if
	TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
	to simplify the uses.  All uses changed.
	(localtime, gmtime, tzset, gettimeofday): Reformat slightly so
	that #undef is inside {}, and 'const' follows type name consistently.
	(tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
	(gettimeofday): Do not use the maximum possible value for
	tv->tv_usec, since that might break usages other than ls.c.
	Instead, we'll leave ls.c alone.  This undoes today's patch
	by Bruno.  Add a compile-time warning for 1s-clock resolution;
	we've never observed the problem but might as well keep the
	canary.
	* lib/nanosleep.c: Include timespec.h first, for interface check.
	* lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
	now assume the sys_time module.
	* lib/tempname.c: Likewise.
	* lib/timespec.h: Likewise.
	* lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
	needed.
	* lib/strftime.c: Likewise.
	* lib/timespec.h: Likewise.
	* lib/posixtm.c: Include posixtm.h first, for interface check.
	Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
	* lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
	* lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
	* lib/sys_time_.h: New file.
	* lib/timespec.h (struct timespec): Use long int, not long.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
	(gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
	Remove obsolescent call to AC_HEADER_TIME.
	* m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
	* m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
	* m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
	Likewise.
	* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
	* m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
	into the sys_time module.  Check for gettimeofday just once.
	Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
	for gettimeofday signature to just check the signature.  Merely
	compile it, since linking doesn't test signature.  Improve test for
	whether gettimeofday.o is actually needed.
	(gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
	AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
	AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
	and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
	(gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
	GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
	job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
	* m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
	than worrying about sys/time.h.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
	Don't bother worrying about TIME_WITH_SYS_TIME.
	* m4/stat-time.m4 (gl_STAT_TIME): Likewise.
	* m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
	* m4/sys_time_h.m4: New file.
	* m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
	Don't include sys/time.h.  Return from main rather than exiting.
	Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
	all uses changed.
	* modules/gethrxtime (Depends-on): Add sys_time.
	* modules/gettime (Depends-on): Likewise.
	* modules/gettimeofday (Depends-on): Likewise.
	* modules/nanosleep (Depends-on): Likewise.
	* modules/settime (Depends-on): Likewise.
	* modules/tempname (Depends-on): Likewise.
	* modules/utimens (Depends-on): Likewise.
	* modules/gettimeofday (Files): Remove lib/gettimeofday.h.
	(Include): Change back to <sys/time.h>.
	(Maintainer): Add self.
	* modules/sys_time: New file.
	* modules/tempname (Depends-on): Add gettimeofday.
	* tests/test-gettimeofday.c: Include <sys/time.h>
	rather than gettimeofday.h.

2007-01-17  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_get_license): Revert last patch. Instead, let
	the license default to GPL.
	(func_create_testdir): Don't complain if a module is LGPL and its
	tests module depends on GPLed modules.

2007-01-17  Bruno Haible  <bruno@clisp.org>

	* lib/gettimeofday.c (gettimeofday): Add code for the case
	HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
	maximum possible value for tv->tv_usec, rather than the minimum one.

2005-10-08  Martin Lambers  <marlam@marlam.de>
2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2007-01-16  Bruno Haible  <bruno@clisp.org>

	* modules/gettimeofday (Files): Add lib/gettimeofday.h.
	(configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
	gl_FUNC_GETTIMEOFDAY.
	(Include): Add gettimeofday.h.
	* m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
	(AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
	(gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
	GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
	(gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
	* lib/gettimeofday.h: New file.
	* lib/gettimeofday.c: Include <sys/timeb.h>.
	(localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
	only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
	(rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
	fall back on time().

	* tests/test-gettimeofday.c: New file.
	* modules/gettimeofday-tests: New file.

2007-01-16  Eric Blake  <ebb9@byu.net>

	* modules/fnmatch (Depends-on): Depend on wchar.
	* lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
	* m4/fnmatch.m4: Likewise.
	* modules/mbchar (Makefile.am): Assume <wchar.h>.
	* m4/mbchar.m4: Likewise.
	* modules/mbswidth (Depends-on): Depend on wchar.
	* lib/mbswidth.c: Assume <wchar.h>.
	* m4/mbswidth.m4: Likewise.
	* modules/quotearg (Depends-on): Depend on wchar.
	* lib/quotearg.c: Assume <wchar.h>.
	* m4/quotearg.m4: Likewise.
	* modules/regex (Depends-on): Depend on wchar.
	* lib/regex_internal.h: Assume <wchar.h>.
	* m4/regex.m4: Likewise.
	* modules/stdint (Depends-on): Depend on wchar.
	* lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
	* m4/stdint.m4: Likewise.
	* tests/test-stdint.c [HAVE_WINT_T]: Likewise.
	* modules/strftime (Depends-on): Depend on wchar.
	* lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
	* modules/strtol (Depends-on): Depend on wchar.
	* lib/strtol.c: Assume <wchar.h>.
	* modules/wcwidth (Depends-on): Depend on wchar.
	* lib/wcwidth.h: Assume <wchar.h>.
	* m4/wcwidth.m4: Likewise.

2007-01-16  Bruno Haible  <bruno@clisp.org>

	* modules/csharpexec-script: New, created from...
	* modules/csharpexec: ... this.

2007-01-16  Paolo Bonzini  <bonzini@gnu.org>

	* modules/javaexec-script: New, created from...
	* modules/javaexec: ... this.

2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	* modules/poll (Dependencies): Add sys_select.

2007-01-15  Jim Meyering  <jim@meyering.net>

	* m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
	redefinition bug when using both <utmp.h> and <utmpx.h> headers.
	* lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
	<http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.

2007-01-15  Bruno Haible  <bruno@clisp.org>

	* modules/striconveh: New file.
	* lib/striconveh.h: New file.
	* lib/striconveh.c: New file.
	* MODULES.html.sh (Internationalization functions): Add striconveh.

	* modules/striconveh-tests: New file.
	* tests/test-striconveh.c: New file.

2007-01-15  Bruno Haible  <bruno@clisp.org>

	* lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
	not from GNU libiconv or GNU libc.

2007-01-15  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-intro.texi (Copyright): Explain the different license
	terms for module descriptions, autoconf macros, tests, documentation.

2007-01-14  Bruno Haible  <bruno@clisp.org>

	* modules/striconv-tests: New file.
	* tests/test-striconv.c: New file.

2007-01-14  Bruno Haible  <bruno@clisp.org>

	* modules/iconv-tests: New file.
	* tests/test-iconv.c: New file.

2007-01-14  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_get_license): For test modules, use the license of
	the main module.

2007-01-14  Bruno Haible  <bruno@clisp.org>

	* modules/iconv (Include): Clarify that <iconv.h> can only be included
	if iconv is found to exist.

2007-01-14  Bruno Haible  <bruno@clisp.org>

	* modules/c-ctype-tests: New file.
	* tests/test-c-ctype.c: New file.

2007-01-14  Bruno Haible  <bruno@clisp.org>

	* modules/binary-io-tests: New file.
	* tests/test-binary-io.sh: New file.
	* tests/test-binary-io.c: New file.

2007-01-14  Bruno Haible  <bruno@clisp.org>

	* modules/array-oset-tests: New file.
	* tests/test-array_oset.c: New file.

2007-01-14  Bruno Haible  <bruno@clisp.org>

	* modules/array-list-tests: New file.
	* tests/test-array_list.c: New file.

2007-01-14  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Don't unnecessarily run configure
	and make.
	Reported by Simon Josefsson in
	<http://lists.gnu.org/r/bug-gnulib/2007-01/msg00139.html>

2007-01-14  Bruno Haible  <bruno@clisp.org>

	* modules/allocsa-tests: New file.
	* tests/test-allocsa.c: New file.

2007-01-14  Bruno Haible  <bruno@clisp.org>

	* modules/fchdir (Depends-on): Add absolute-header.
	* modules/unistd (Depends-on): Likewise.

2006-12-30  Bruno Haible  <bruno@clisp.org>

	* modules/fchdir: New file.
	* modules/unistd (Files): Add lib/unistd_.h.
	(Makefile.am): Generate unistd.h from unistd_.h.
	* lib/fchdir.c: New file.
	* lib/dirent_.h: New file.
	* lib/unistd_.h: New file.
	* lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
	* m4/fchdir.m4: New file.
	* m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
	(gl_HEADER_UNISTD): Invoke it.
	* lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
	function.
	* lib/backupfile.c (opendir, closedir): Undefine.
	* lib/chown.c (open, close): Undefine.
	* lib/clean-temp.c (open, close): Undefine.
	* lib/copy-file.c (open, close): Undefine.
	* lib/execute.c (open, close): Undefine.
	* lib/fsusage.c (open, close): Undefine.
	* lib/gc-gnulib.c (open, close): Undefine.
	* lib/getcwd.c (opendir, closedir): Undefine.
	* lib/glob.c (opendir, closedir): Undefine.
	* lib/javacomp.c (open, close): Undefine.
	* lib/mountlist.c (open, close, opendir, closedir): Undefine.
	* lib/openat-proc.c (open, close): Undefine.
	* lib/pagealign_alloc.c (open, close): Undefine.
	* lib/pipe.c (open, close): Undefine.
	* lib/progreloc.c (open, close): Undefine.
	* lib/savedir.c (opendir, closedir): Undefine.
	* lib/utime.c (open, close): Undefine.
	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.

2007-01-10  Bruno Haible  <bruno@clisp.org>

	* lib/striconv.c (mem_cd_iconv): Align the temporary buffer.

2007-01-12  Eric Blake  <ebb9@byu.net>

	Provide a robust <wchar.h>.  Further simplifications are now
	possible in other modules, but not included here.
	* modules/wchar: New module.
	* m4/wchar.m4: New file.
	* lib/wchar_.h: Likewise.
	* modules/mbchar (Depends-on): Depend on wchar, as the first use
	of the new module.
	* MODULES.html.sh (Extended multibyte and wide character utilities):
	New section.

2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
	to a reasonable default for memory allocation.
	(xreadlink): Don't allocate a huge buffer, to work around a buggy
	file system that reports garbage st_size values for symlinks.
	Problem reported by Liyang Hu.

2007-01-11  Simon Josefsson  <simon@josefsson.org>

	* gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
	Emacs .#* auto-save files).

2007-01-11  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_all_modules): Exclude all files inside the CVS
	directory.

2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>

	Use @...@ consistently in lib/wctype_.h.
	* lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
	on it being set to 1 or 0.
	* m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
	go back to AC_SUBSTing it.
	* modules/wctype (Makefile.am): Undo previous change.

2007-01-10  Eric Blake  <ebb9@byu.net>

	* lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
	* m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
	* modules/wctype (Makefile.am): Likewise.
	Reported by Chris McGuire.

2007-01-10  Jim Meyering  <jim@meyering.net>

	fts.c: a small readability/maintainability improvement
	* lib/fts.c (fts_read): Make this code slightly more readable and
	maintainable by hoisting the "sp->fts_cur = p" assignments to
	immediately follow the statements that set P.  Derived from
	the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.

2007-01-10  Eric Blake  <ebb9@byu.net>

	* lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
	<wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
	* m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
	Reported by Chris McGuire.

2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_all_modules): Use POSIX conforming escaping
	in sed script.

2007-01-09  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh: Accept options --cvs-urls, --git-urls.
	(repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
	variables.
	(func_module): Use them.

2007-01-09  Bruno Haible  <bruno@clisp.org>

	* modules/unistr/base: New file.
	* lib/unistr.h: New file.

	* modules/unistr/u8-to-u16: New file.
	* lib/unistr/u8-to-u16.c: New file.

	* modules/unistr/u8-to-u32: New file.
	* lib/unistr/u8-to-u32.c: New file.

	* modules/unistr/u16-to-u8: New file.
	* lib/unistr/u16-to-u8.c: New file.

	* modules/unistr/u16-to-u32: New file.
	* lib/unistr/u16-to-u32.c: New file.

	* modules/unistr/u32-to-u8: New file.
	* lib/unistr/u32-to-u8.c: New file.

	* modules/unistr/u32-to-u16: New file.
	* lib/unistr/u32-to-u16.c: New file.

	* modules/unistr/u8-check: New file.
	* modules/unistr/u16-check: New file.
	* modules/unistr/u32-check: New file.
	* lib/unistr/u8-check.c: New file.
	* lib/unistr/u16-check.c: New file.
	* lib/unistr/u32-check.c: New file.

	* modules/unistr/u8-chr: New file.
	* modules/unistr/u16-chr: New file.
	* modules/unistr/u32-chr: New file.
	* lib/unistr/u8-chr.c: New file.
	* lib/unistr/u16-chr.c: New file.
	* lib/unistr/u32-chr.c: New file.

	* modules/unistr/u8-cmp: New file.
	* modules/unistr/u16-cmp: New file.
	* modules/unistr/u32-cmp: New file.
	* lib/unistr/u8-cmp.c: New file.
	* lib/unistr/u16-cmp.c: New file.
	* lib/unistr/u32-cmp.c: New file.

	* modules/unistr/u8-cpy: New file.
	* modules/unistr/u16-cpy: New file.
	* modules/unistr/u32-cpy: New file.
	* lib/unistr/u8-cpy.c: New file.
	* lib/unistr/u16-cpy.c: New file.
	* lib/unistr/u32-cpy.c: New file.
	* lib/unistr/u-cpy.h: New file.

	* modules/unistr/u8-cpy-alloc: New file.
	* modules/unistr/u16-cpy-alloc: New file.
	* modules/unistr/u32-cpy-alloc: New file.
	* lib/unistr/u8-cpy-alloc.c: New file.
	* lib/unistr/u16-cpy-alloc.c: New file.
	* lib/unistr/u32-cpy-alloc.c: New file.
	* lib/unistr/u-cpy-alloc.h: New file.

	* modules/unistr/u8-endswith: New file.
	* modules/unistr/u16-endswith: New file.
	* modules/unistr/u32-endswith: New file.
	* lib/unistr/u8-endswith.c: New file.
	* lib/unistr/u16-endswith.c: New file.
	* lib/unistr/u32-endswith.c: New file.
	* lib/unistr/u-endswith.h: New file.

	* modules/unistr/u8-mblen: New file.
	* modules/unistr/u16-mblen: New file.
	* modules/unistr/u32-mblen: New file.
	* lib/unistr/u8-mblen.c: New file.
	* lib/unistr/u16-mblen.c: New file.
	* lib/unistr/u32-mblen.c: New file.

	* modules/unistr/u8-mbtouc: New file.
	* modules/unistr/u16-mbtouc: New file.
	* modules/unistr/u32-mbtouc: New file.
	* lib/unistr/u8-mbtouc.c: New file.
	* lib/unistr/u16-mbtouc.c: New file.
	* lib/unistr/u32-mbtouc.c: New file.

	* modules/unistr/u8-mbtouc-safe: New file.
	* modules/unistr/u16-mbtouc-safe: New file.
	* modules/unistr/u32-mbtouc-safe: New file.
	* lib/unistr/u8-mbtouc-safe.c: New file.
	* lib/unistr/u16-mbtouc-safe.c: New file.
	* lib/unistr/u32-mbtouc-safe.c: New file.

	* modules/unistr/u8-move: New file.
	* modules/unistr/u16-move: New file.
	* modules/unistr/u32-move: New file.
	* lib/unistr/u8-move.c: New file.
	* lib/unistr/u16-move.c: New file.
	* lib/unistr/u32-move.c: New file.
	* lib/unistr/u-move.h: New file.

	* modules/unistr/u8-next: New file.
	* modules/unistr/u16-next: New file.
	* modules/unistr/u32-next: New file.
	* lib/unistr/u8-next.c: New file.
	* lib/unistr/u16-next.c: New file.
	* lib/unistr/u32-next.c: New file.

	* modules/unistr/u8-prev: New file.
	* modules/unistr/u16-prev: New file.
	* modules/unistr/u32-prev: New file.
	* lib/unistr/u8-prev.c: New file.
	* lib/unistr/u16-prev.c: New file.
	* lib/unistr/u32-prev.c: New file.

	* modules/unistr/u8-set: New file.
	* modules/unistr/u16-set: New file.
	* modules/unistr/u32-set: New file.
	* lib/unistr/u8-set.c: New file.
	* lib/unistr/u16-set.c: New file.
	* lib/unistr/u32-set.c: New file.
	* lib/unistr/u-set.h: New file.

	* modules/unistr/u8-startswith: New file.
	* modules/unistr/u16-startswith: New file.
	* modules/unistr/u32-startswith: New file.
	* lib/unistr/u8-startswith.c: New file.
	* lib/unistr/u16-startswith.c: New file.
	* lib/unistr/u32-startswith.c: New file.
	* lib/unistr/u-startswith.h: New file.

	* modules/unistr/u8-stpcpy: New file.
	* modules/unistr/u16-stpcpy: New file.
	* modules/unistr/u32-stpcpy: New file.
	* lib/unistr/u8-stpcpy.c: New file.
	* lib/unistr/u16-stpcpy.c: New file.
	* lib/unistr/u32-stpcpy.c: New file.
	* lib/unistr/u-stpcpy.h: New file.

	* modules/unistr/u8-stpncpy: New file.
	* modules/unistr/u16-stpncpy: New file.
	* modules/unistr/u32-stpncpy: New file.
	* lib/unistr/u8-stpncpy.c: New file.
	* lib/unistr/u16-stpncpy.c: New file.
	* lib/unistr/u32-stpncpy.c: New file.
	* lib/unistr/u-stpncpy.h: New file.

	* modules/unistr/u8-strcat: New file.
	* modules/unistr/u16-strcat: New file.
	* modules/unistr/u32-strcat: New file.
	* lib/unistr/u8-strcat.c: New file.
	* lib/unistr/u16-strcat.c: New file.
	* lib/unistr/u32-strcat.c: New file.
	* lib/unistr/u-strcat.h: New file.

	* modules/unistr/u8-strchr: New file.
	* modules/unistr/u16-strchr: New file.
	* modules/unistr/u32-strchr: New file.
	* lib/unistr/u8-strchr.c: New file.
	* lib/unistr/u16-strchr.c: New file.
	* lib/unistr/u32-strchr.c: New file.

	* modules/unistr/u8-strcmp: New file.
	* modules/unistr/u16-strcmp: New file.
	* modules/unistr/u32-strcmp: New file.
	* lib/unistr/u8-strcmp.c: New file.
	* lib/unistr/u16-strcmp.c: New file.
	* lib/unistr/u32-strcmp.c: New file.

	* modules/unistr/u8-strcpy: New file.
	* modules/unistr/u16-strcpy: New file.
	* modules/unistr/u32-strcpy: New file.
	* lib/unistr/u8-strcpy.c: New file.
	* lib/unistr/u16-strcpy.c: New file.
	* lib/unistr/u32-strcpy.c: New file.
	* lib/unistr/u-strcpy.h: New file.

	* modules/unistr/u8-strcspn: New file.
	* modules/unistr/u16-strcspn: New file.
	* modules/unistr/u32-strcspn: New file.
	* lib/unistr/u8-strcspn.c: New file.
	* lib/unistr/u16-strcspn.c: New file.
	* lib/unistr/u32-strcspn.c: New file.
	* lib/unistr/u-strcspn.h: New file.

	* modules/unistr/u8-strdup: New file.
	* modules/unistr/u16-strdup: New file.
	* modules/unistr/u32-strdup: New file.
	* lib/unistr/u8-strdup.c: New file.
	* lib/unistr/u16-strdup.c: New file.
	* lib/unistr/u32-strdup.c: New file.
	* lib/unistr/u-strdup.h: New file.

	* modules/unistr/u8-strlen: New file.
	* modules/unistr/u16-strlen: New file.
	* modules/unistr/u32-strlen: New file.
	* lib/unistr/u8-strlen.c: New file.
	* lib/unistr/u16-strlen.c: New file.
	* lib/unistr/u32-strlen.c: New file.
	* lib/unistr/u-strlen.h: New file.

	* modules/unistr/u8-strmblen: New file.
	* modules/unistr/u16-strmblen: New file.
	* modules/unistr/u32-strmblen: New file.
	* lib/unistr/u8-strmblen.c: New file.
	* lib/unistr/u16-strmblen.c: New file.
	* lib/unistr/u32-strmblen.c: New file.

	* modules/unistr/u8-strmbtouc: New file.
	* modules/unistr/u16-strmbtouc: New file.
	* modules/unistr/u32-strmbtouc: New file.
	* lib/unistr/u8-strmbtouc.c: New file.
	* lib/unistr/u16-strmbtouc.c: New file.
	* lib/unistr/u32-strmbtouc.c: New file.

	* modules/unistr/u8-strncat: New file.
	* modules/unistr/u16-strncat: New file.
	* modules/unistr/u32-strncat: New file.
	* lib/unistr/u8-strncat.c: New file.
	* lib/unistr/u16-strncat.c: New file.
	* lib/unistr/u32-strncat.c: New file.
	* lib/unistr/u-strncat.h: New file.

	* modules/unistr/u8-strncmp: New file.
	* modules/unistr/u16-strncmp: New file.
	* modules/unistr/u32-strncmp: New file.
	* lib/unistr/u8-strncmp.c: New file.
	* lib/unistr/u16-strncmp.c: New file.
	* lib/unistr/u32-strncmp.c: New file.

	* modules/unistr/u8-strncpy: New file.
	* modules/unistr/u16-strncpy: New file.
	* modules/unistr/u32-strncpy: New file.
	* lib/unistr/u8-strncpy.c: New file.
	* lib/unistr/u16-strncpy.c: New file.
	* lib/unistr/u32-strncpy.c: New file.
	* lib/unistr/u-strncpy.h: New file.

	* modules/unistr/u8-strnlen: New file.
	* modules/unistr/u16-strnlen: New file.
	* modules/unistr/u32-strnlen: New file.
	* lib/unistr/u8-strnlen.c: New file.
	* lib/unistr/u16-strnlen.c: New file.
	* lib/unistr/u32-strnlen.c: New file.
	* lib/unistr/u-strnlen.h: New file.

	* modules/unistr/u8-strpbrk: New file.
	* modules/unistr/u16-strpbrk: New file.
	* modules/unistr/u32-strpbrk: New file.
	* lib/unistr/u8-strpbrk.c: New file.
	* lib/unistr/u16-strpbrk.c: New file.
	* lib/unistr/u32-strpbrk.c: New file.
	* lib/unistr/u-strpbrk.h: New file.

	* modules/unistr/u8-strrchr: New file.
	* modules/unistr/u16-strrchr: New file.
	* modules/unistr/u32-strrchr: New file.
	* lib/unistr/u8-strrchr.c: New file.
	* lib/unistr/u16-strrchr.c: New file.
	* lib/unistr/u32-strrchr.c: New file.

	* modules/unistr/u8-strspn: New file.
	* modules/unistr/u16-strspn: New file.
	* modules/unistr/u32-strspn: New file.
	* lib/unistr/u8-strspn.c: New file.
	* lib/unistr/u16-strspn.c: New file.
	* lib/unistr/u32-strspn.c: New file.
	* lib/unistr/u-strspn.h: New file.

	* modules/unistr/u8-strstr: New file.
	* modules/unistr/u16-strstr: New file.
	* modules/unistr/u32-strstr: New file.
	* lib/unistr/u8-strstr.c: New file.
	* lib/unistr/u16-strstr.c: New file.
	* lib/unistr/u32-strstr.c: New file.
	* lib/unistr/u-strstr.h: New file.

	* modules/unistr/u8-strtok: New file.
	* modules/unistr/u16-strtok: New file.
	* modules/unistr/u32-strtok: New file.
	* lib/unistr/u8-strtok.c: New file.
	* lib/unistr/u16-strtok.c: New file.
	* lib/unistr/u32-strtok.c: New file.
	* lib/unistr/u-strtok.h: New file.

	* modules/unistr/u8-uctomb: New file.
	* modules/unistr/u16-uctomb: New file.
	* modules/unistr/u32-uctomb: New file.
	* lib/unistr/u8-uctomb.c: New file.
	* lib/unistr/u16-uctomb.c: New file.
	* lib/unistr/u32-uctomb.c: New file.

	* MODULES.html.sh (Unicode string functions): Add the new modules.

2007-01-08  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_all_modules): Use find, not ls, to traverse the
	modules directory. Filter out CVS, ChangeLog, COPYING, README also from
	subdirectories.

2007-01-08  Karl Berry  <karl@gnu.org>

	* doc/error.texi: mention that main() fns must set program_name
	when progname is used.

2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
	WCTYPE_H is empty, for the benefit of builds from non-distclean
	directories.  Problem reported by Eric Blake in
	<http://lists.gnu.org/r/bug-gnulib/2007-01/msg00157.html>.

2007-01-08  Bruno Haible  <bruno@clisp.org>

	* m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
	PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
	* lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
	PROVIDE_CANONICALIZE_FILENAME_MODE.
	* modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.

2007-01-08  Bruno Haible  <bruno@clisp.org>

	* m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
	* lib/fts_.h (_LGPL_PACKAGE): Remove macro.
	Use !GNULIB_FTS instead of _LGPL_PACKAGE.
	* lib/fts.c: Likewise.
	* modules/fts (configure.ac): Use gl_MODULE_INDICATOR.

2006-12-25  Bruno Haible  <bruno@clisp.org>

	* modules/utf8-ucs4-safe: New file.
	* lib/utf8-ucs4-safe.h: New file.
	* lib/unistr/utf8-ucs4-safe.c: New file.

	* modules/utf16-ucs4-safe: New file.
	* lib/utf16-ucs4-safe.h: New file.
	* lib/unistr/utf16-ucs4-safe.c: New file.

	* MODULES.html.sh (Unicode string functions): Add the new modules.

2007-01-08  Bruno Haible  <bruno@clisp.org>

	* modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
	(Depends-on): Add unitypes.
	* lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
	(u8_mbtouc_aux): Move out to separate file.
	(u8_mbtouc): Use ucs4_t, uint8_t types.
	* lib/unistr/utf8-ucs4.c: New file.

	* modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
	(Depends-on): Add unitypes.
	* lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
	(u16_mbtouc_aux): Move out to separate file.
	(u16_mbtouc): Use ucs4_t, uint16_t types.
	* lib/unistr/utf16-ucs4.c: New file.

	* modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
	(Depends-on): Add unitypes.
	* lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
	(u8_uctomb_aux): Move out to separate file.
	(u8_uctomb): Use ucs4_t, uint8_t types.
	* lib/unistr/ucs4-utf8.c: New file.

	* modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
	(Depends-on): Add unitypes.
	* lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
	(u16_uctomb_aux): Move out to separate file.
	(u16_uctomb): Use ucs4_t, uint16_t types.
	* lib/unistr/ucs4-utf16.c: New file.

2006-12-25  Bruno Haible  <bruno@clisp.org>

	* modules/unitypes: New file.
	* lib/unitypes.h: New file.
	* MODULES.html.sh (func_all_modules): New section "Unicode string
	functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
	this section. Add unitypes.

2007-01-08  Bruno Haible  <bruno@clisp.org>

	Avoid variable names that conflict with those from libtool.
	* m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
	AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
	shlibext to acl_shlibext, libname_spec to acl_libname_spec,
	library_names_spec to acl_library_names_spec, hardcode_* to
	acl_hardcode_*.
	Reported by Ralf Wildenhues.

2007-01-08  Bruno Haible  <bruno@clisp.org>

	* m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
	definition.
	* m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
	definition.
	* m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
	* m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
	definition.
	* m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
	definition.
	* m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
	* m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
	* m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
	* m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
	definition.
	* m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
	definition.
	* m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
	* lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
	GC_USE_<algorithm>.
	* lib/gc-libgcrypt.c: Likewise.
	* modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
	* modules/gc-arctwo (configure.ac): Likewise.
	* modules/gc-des (configure.ac): Likewise.
	* modules/gc-hmac-md5 (configure.ac): Likewise.
	* modules/gc-hmac-sha1 (configure.ac): Likewise.
	* modules/gc-md2 (configure.ac): Likewise.
	* modules/gc-md4 (configure.ac): Likewise.
	* modules/gc-md5 (configure.ac): Likewise.
	* modules/gc-random (configure.ac): Likewise.
	* modules/gc-rijndael (configure.ac): Likewise.
	* modules/gc-sha1 (configure.ac): Likewise.

2007-01-08  Bruno Haible  <bruno@clisp.org>

	* m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
	macro definition.
	* m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
	definition.
	* m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
	definition.
	* modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
	* modules/fcntl-safer (configure.ac): Likewise.
	* modules/fopen-safer (configure.ac): Likewise.
	* modules/fwriteerror (configure.ac): Likewise. Remove explicit
	GNULIB_FWRITEERROR macro definition.

2007-01-08  Bruno Haible  <bruno@clisp.org>

	* m4/gnulib-common.m4: New file.
	* gnulib-tool (func_get_autoconf_snippet): Undo last change.
	(func_get_filelist): Add m4/gnulib-common.m4.

2007-01-08  Bruno Haible  <bruno@clisp.org>

	* m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
	command.

2007-01-08  Jim Meyering  <jim@meyering.net>

	Use a more robust test for a "can't happen" condition.
	* lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
	narrowed the st_size value.  Presuming the "can't happen" condition
	is true, that narrowing could conceivably convert an invalid st_size
	value into a valid one.  Instead, use a change based on Matthew
	Woehlke's original patch.

	Slight readability improvement: use an assert-like macro
	in place of literal "abort ()" uses.
	* lib/fts.c (fts_assert): Define.
	(fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
	Use this macro instead of a bare 'abort'.

2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>

	Don't worry about using IRIX 5.3's wctype.h broken definitions;
	simply work around them.
	* lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
	(iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
	(iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
	declaring.
	Don't bother to define as macros, since the standard doesn't require it.
	* m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
	longer worry about IRIX 5.3.
	(HAVE_WCTYPE_CTMP_BUG): Remove.

2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
	not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
	* m4/wctype.m4 (gl_WCTYPE_H): Likewise.
	Problems reported by Georg Schwarz for IRIX 5.3.

	* gnulib-tool (autoconf_minversion): Take the maximum version number
	found, not the minimum.  Problem reported by James Youngman.

2007-01-03  Karl Berry  <karl@gnu.org>

	* doc/error.texi: new file, explaining interaction with progname.
	* doc/gnulib.texi: include it.  Update copyright.

2007-01-03  Simon Josefsson  <simon@josefsson.org>

	* gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
	AC_CANONICAL_HOST, to improve autobuild outputs.

2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
	    Yoann Vandoorselaere <yoann.v@prelude-ids.com>

	* lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
	sockets, server sockets, and other file descriptors.  Count errors
	to compute the return value.  Reorder the code a bit to be easier
	to follow.  Don't set event bits that were not requested (except
	POLLERR and POLLHUP).

2007-01-01  Bruno Haible  <bruno@clisp.org>

	* modules/lchmod (Include): Require lchmod.h, not lchown.h.

2007-01-03  Jim Meyering  <jim@meyering.net>

	* modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.

2007-01-02  Bruno Haible  <bruno@clisp.org>

	* modules/settime (Include): Require timespec.h.
	* modules/nanosleep (Include): Likewise.

2007-01-01  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_copyright_notice): Bump year.
	(func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.

2007-01-01  Bruno Haible  <bruno@clisp.org>

	Improve support for OpenBSD.
	* build-aux/config.rpath (libname_spec): Export.
	(library_names_spec): New variable. Export.
	* m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
	library_names_spec from the config.rpath output. Locate shared library
	through the name pattern in library_names_spec.

2007-01-01  Eric Blake  <ebb9@byu.net>

	* lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.

2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>

	* gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
	Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
	assume the C locale, and avoid an "eval" that could cause trouble.
	Problem with SORT reported by Bob Proulx.

	* lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
	Define.  Trivial patch from Henning Nielsen Lund, originally
	sent to bug-grep@gnu.org today.

2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
	struct stat.  Problem reported by Henning Nielsen Lund.
	* lib/acl.c: Include acl.h first, to check interface.  Don't
	bother to include sys/types.h and sys/stat.h again.

2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>

	Import the following change from libc; problem reported by
	Sven Verdoolaege.

	2005-10-13  Ulrich Drepper  <drepper@redhat.com>

	[BZ #1373]
	* lib/argp.h: Remove __NTH for __argp_usage inline function.

2006-12-28  Jim Meyering  <jim@meyering.net>

	* build-aux/announce-gen: Do not assume that the package
	builds any of tar.gz, tar.bz2, and .xdelta files.
	Suggestion from Simon Josefsson.

2006-12-28  Simon Josefsson  <simon@josefsson.org>

	* modules/announce-gen: New file.

2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/mbchar.h: Just include <wctype.h>; the wctype module
	handles its gotchas now.
	* lib/mbswidth.c: Likewise.
	* lib/wcwidth.h: Likewise.
	* m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
	and iswcntrl; the wctype module does this stuff now.
	* m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
	* modules/mbchar (Depends-on): Add wctype.
	* modules/mbswidth (Depends-on): Likewise.
	* modules/wcwidth (Depends-on): Likewise.

2006-12-27  Eric Blake  <ebb9@byu.net>

	* lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
	module uses more than what <wctype.h> is required to provide.

2006-12-26  Eric Blake  <ebb9@byu.net>

	* gnulib-tool (sed_extract_prog): Avoid space-tab.

2006-12-26  Eric Blake  <ebb9@byu.net>

	* modules/absolute-header: New module.
	* modules/fcntl (Depends-on): Depend on it.
	* modules/inttypes (Depends-on): Likewise.
	* modules/stdint (Depends-on): Likewise.
	* modules/sys_stat (Depends-on): Likewise.
	* modules/wctype (Depends-on): Likewise.
	* MODULES.html.sh (Support for building libraries and
	executables): Document it.

2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>

	* gnulib-tool (SED): Remove, undoing previous change.
	The problem was that it broke coreutils on Solaris, because
	"sed --posix" leaked into a makefile.
	(sed): New alias, if 'alias' and GNU sed.

2006-12-24  Jim Meyering  <jim@meyering.net>

	Work around an fchownat bug in glibc-2.4:
	http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
	This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
	in spite of the -P option.
	* m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
	New macros.
	(gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
	* modules/openat (Files): Add lib/fchownat.c.
	* lib/openat.c (fchownat): Don't define here.  Move to...
	* lib/fchownat.c: ...this new file.

2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>

	Fix bug reported by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2006-12/msg00228.html>
	where quotearg.c didn't compile on Mac OS X 10.2 because it
	lacks <wchar.h> and wint_t.
	* lib/wctype_.h (__wctype_wint_t): New type.
	Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
	(iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
	(iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
	Arg is now of type __wctype_wint_t, not wint_t.
	* m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
	substitute HAVE_WINT_T.
	* modules/wctype (Files): Add m4/wint_t.m4.
	(wctype.h): Substitute HAVE_WINT_T.

2006-12-23  Bruno Haible  <bruno@clisp.org>

	* lib/safe-read.h [C++]: Wrap declarations in extern "C".

2006-12-23  Bruno Haible  <bruno@clisp.org>

	* lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
	S_ISLNK.
	Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
	mingw.

2006-12-22  Bruno Haible  <bruno@clisp.org>

	* lib/copy-file.c: Include acl.h.
	(copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
	Close the file descriptors only after being done with copy_acl.
	* modules/copy-file (Depends-on): Add acl.

2006-12-22  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (SED): New variable.
	Use $SED instead of sed everywhere.

2006-12-22  Bruno Haible  <bruno@clisp.org>

	* modules/no-c++: New file.
	* m4/no-c++.m4: New file.
	* MODULES.html.sh (Support for building libraries and executables):
	Add no-c++.

2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
	Include <limits.h>, and use its INT_MAX to rewrite the
	j loop so that it does not overflow 'int'.  Problem reported by
	Ralf Wildenhues in
	<http://lists.gnu.org/r/bug-gnulib/2006-12/msg00084.html>.
	Play it safe by shifting left by 1 rather than multiplying by 2,
	as GCC is less likely to optimize this away when the value
	is signed (when it assumes overflow leads to undefined behavior).
	Also, don't assume time_t uses two's complement.

2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh: New module wctype.
	* lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
	* lib/fnmatch.c: Don't bother to include <wchar.h> before
	<wctype.h>, since the new wctype module should fix this.
	* lib/quotearg.c: Include <wctype.h> unconditionally, since
	the wctype module should arrange for it.
	* lib/regex_internal.h: Likewise.
	* m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
	since the wctype module should handle this now.
	* m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
	* modules/fnmatch (Depends-on): Add wctype.
	* modules/quotearg (Depends-on): Likewise.
	* modules/regex (Depends-on): Likewise.

2006-12-19  Bruno Haible  <bruno@clisp.org>

	* lib/strdup.h [C++]: Wrap definitions in extern "C".
	Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.

2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* modules/savewd (Depends-on): Fix dependency on fcntl.

2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
	conforms to C99, rather than relying on the user's environment
	setting of STDINT_H.

2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
	and Eric Blake  <ebb9@byu.net>

	* lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
	This is more consistent with the other defines here.
	* m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
	Port to z/OS.  Problem reported by Paul Gilmartin.
	Change local vars to use gl_ prefix rather than ac_.
	Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
	with other defines.
	* modules/double-slash-root: New module.
	* modules/dirname (Files): Remove m4/double-slash-root.m4.
	(Depends-on): Add double-slash-root.
	* MODULES.html.sh (File system functions): Mention new module.

2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
	(yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
	This is for the benefit of gzip, which doesn't do i18n.

2006-12-12  Jim Meyering  <jim@meyering.net>

	* m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
	Reported by Andreas Schwab <schwab@suse.de>.

2006-12-12  Bruno Haible  <bruno@clisp.org>

	Merge these changes.
	2006-09-05  Bruno Haible  <bruno@clisp.org>
	* lib/iconvme.c (iconv_string): No need to save and restore errno when
	iconv_alloc succeeded.
	(iconv_alloc): Don't assume that malloc() or realloc(), when failing,
	sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
	test for " && dest " at the end - dest is always != NULL there. Call
	iconv with 4xNULL arguments initially, to reset the state. Call iconv
	with 2xNULL arguments, also to flush the state storage. Handle the
	IRIX iconv behaviour. Realloc the final result, to throw away unused
	memory.

2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
	and fchmodat unconditionally, since glibc 2.4 has them.
	Problem reported by Arkadiusz Miskiewicz.

2006-12-10  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Show the include files only for those
	modules that are copied and specified.
	Reported by Karl Berry.

2006-12-08  Jim Meyering  <jim@meyering.net>

	* build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
	Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.

	* build-aux/announce-gen: Add two new options, both optional:
	--bootstrap-tools=TOOL_LIST
	      a comma-separated list of tools, e.g.,
	      autoconf,automake,bison,gnulib
	--gnulib-snapshot-date=DATE
	      if gnulib is in the bootstrap tool list,
	      then report this as the snapshot date.
	      If not specified, use the current date/time.
	      If you specify a date here, be sure it's UTC.

2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* tests/test-argp-2.sh: Fix test to match actual output.
	(func_compare): Fix sed script to be portable.

2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
	workaround for this case.  It is not autoconfigured now; offhand
	it's hard to see how to autoconfigure it.

2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/mkdir-p.c (make_dir_parents): Fix race condition when making
	a directory that is about to be chowned.  Such a directory's
	initial file permissions should permit the owner only and this
	should not be changed until after the chown, since the group and
	other bits would be incorrect if they granted permission before
	the chown.

	Fix porting problem for iswctype reported by Georg Schwarz in:
	http://lists.gnu.org/r/bug-coreutils/2006-12/msg00017.html
	* lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
	* lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
	* m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
	* m4/regex.m4 (gl_PREREQ_REGEX): Likewise.

2006-12-03  Jim Meyering  <jim@meyering.net>

	* lib/fts.c (fts_load): Don't set sp->fts_dev here, since
	p->fts_statp may not yet be defined.
	(fts_read): Instead, set it in the caller, once p->fts_statp is
	sure to be defined, and corresponds to a top-level directory.
	This bug made du -x fail.  Here's the coreutils test case:
	http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
	Reported by Mike Frysinger.

2006-12-01  Jim Meyering  <jim@meyering.net>

	* modules/savewd (Depends-on): Add fcntl_h to avoid self-test
	build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
	Reported by Simon Josefsson.

2006-11-30  Jim Meyering  <jim@meyering.net>

	* m4/warning.m4: Use the all-permissive copyright notice
	recommended by RMS (rather than LGPL).
	* m4/vararrays.m4: Likewise.
	* m4/flexmember.m4: Likewise.

2006-11-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am): Initialize also
	noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
	using +=.
	Reported by Simon Josefsson <simon@josefsson.org>.

2006-11-28  James Youngman  <jay@gnu.org>

	* README: Advise users that they might find the bug-gnulib@gnu.org
	and autotools-announce@gnu.org mailing lists useful.

2006-11-28  Bruno Haible  <bruno@clisp.org>

	* m4/ptrdiff_max.m4: Remove file.

2006-11-21  Bruno Haible  <bruno@clisp.org>

	* m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
	_AC_COMPUTE_INT.
	(AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
	* m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
	_AC_COMPUTE_INT.
	(AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
	* m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
	_AC_COMPUTE_INT.
	(AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.

2006-11-28  Jim Meyering  <jim@meyering.net>

	* lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
	warning from "gcc -Wshadow" about shadowing the builtin.

2006-11-27  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
	_AC_COMPUTE_INT.
	(AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.

2006-11-27  Bruno Haible  <bruno@clisp.org>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.

2006-11-26  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am): Initialize also
	noinst_LTLIBRARIES.

2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	* lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
	if compiling with "gcc -ansi".

2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>

	Fix some incompatibilities with gcc -ansi -pedantic.
	* lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
	if compiling pedantically with GCC, unless it's C99 or later.
	Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
	it mishandles gcc -ansi -pedantic as well.
	* lib/regex_internal.h (re_token_t): Don't use enum bitfields
	if gcc -pedantic.
	* lib/regexec.c (check_node_accept_bytes): Don't use auto
	initializers for struct if -pedantic, unless it's C99 or later.

2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)

	* m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
	Don't close an fd more than once. Identical atimes indicate
	success, not failure.

2006-11-22  Robinson Mittmann  <bob@hoplon.com>  (tiny change)

	* lib/sincosl.c (kernel_sinl): Fix typo in threshold.

2006-11-23  Jim Meyering  <jim@meyering.net>

	* build-aux/announce-gen: New file.  From coreutils.

2006-11-22  Jim Meyering  <jim@meyering.net>

	Work around a compile-time error from the HP-UX 11.00 /bin/cc.
	* lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
	(fts_read): Use a temporary to narrow the overused st_size member
	before using it in a switch statement.  Reported by Matthew Woehlke.

	* m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
	* m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.

2006-11-20  Bruno Haible  <bruno@clisp.org>

	* gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
	changequote instead of pairs of brackets.
	Reported by Andreas Schwab <schwab@suse.de>.

2006-11-21  Jim Meyering  <jim@meyering.net>

	* lib/fts.c (fts_safe_changedir): Move a declaration "up",
	so as to remain compatible with older compilers.
	Patch from Michael Deutschmann.

2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh (File system functions): Add openat.

	* lib/openat.h (rpl_fstatat): New macro, if
	[HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
	(fstatat): Define to rpl_fstatat under the same conditions,
	unless COMPILING_FSTATAT.
	* m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
	seems to have the bug.
	* lib/fstatat.c: New file.
	* modules/openat (Files): Add it.

2006-11-20  Bruno Haible  <bruno@clisp.org>

	* Makefile: New file.

2006-11-20  Jim Meyering  <jim@meyering.net>

	The beginnings of syntax-related checks for gnulib.
	* lib/Makefile: New file.
	* lib/t-idcache: New script.  Ensure that the two halves of
	idcache.c stay in sync.

	* lib/idcache.c: Adjust comments in user- and group- portions to
	be more accurate, and to be consistent with one another.

2006-11-20  Jim Meyering  <jim@meyering.net>

	* lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
	continue using the flexible array member (thus, this module performs
	half as many malloc calls), with the addition that...
	(getgroup, getuser): Consistently record a non-match via an empty
	"name" string, and map an empty string match to a NULL return value.
	* modules/idcache (Depends-on): Re-add flexmember.

	* lib/idcache.c (getuser): Remove all uses of the register keyword.
	(getuidbyname, getgroup, getgidbyname): Likewise.

	Use cleaner syntax: NULL rather than 0.
	* lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.

2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/idcache.c: Undo most recent patch, dated 2006-11-06.
	It mishandled the case where the group was missing.
	Problem reported by Greg Schafer.
	* modules/idcache: Likewise.

2006-11-18  Jim Meyering  <jim@meyering.net>

	* check-module (%exempt_header): Add exception for some
	conditionally-included headers.

	* modules/i-ring (Depends-on): Add verify.
	(License): Change to LGPL.

2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/getaddrinfo (Depends-on): Remove inttostr; add snprintf.
	* lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
	and inttostr.h.  Use snprintf rather than uinttostr, so that
	LGPLed code doesn't depend on GPLed.

2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/inline (License): Change from GPL to LGPL.

2006-11-17  Jim Meyering  <jim@meyering.net>

	* modules/d-type (License): Switch to LGPL.

2006-11-15  Bruno Haible  <bruno@clisp.org>

	* m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.

2006-11-15  Eric Blake  <ebb9@byu.net>

	* m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
	the module dependency.

2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
	    Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Add license consistency check.

2006-11-15  Eric Blake  <ebb9@byu.net>

	* m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
	random "(cached)" in configure output.

2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
	test for conforming inttypes.h is both announced and cached.

	* MODULES.html.sh (seen_modules, seen_files): New variables.
	(func_module): Rewrite to use a few less gnulib-tool and sed
	invocations.  Avoid a couple of quadratic algorithms for ...
	(missed_modules, missed_files): ... these, with ...
	(func_append, func_tmpdir): ... these new functions, from
	gnulib-tool.  Analogously, install traps for cleanup.

	* tests/test-gc.c (main): Remove unused variables.
	* tests/test-read-file.c: Include stdlib.h, for 'free'.

2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/inttostr (License): Change to LGPL.

2006-11-14  Eric Blake  <ebb9@byu.net>

	* modules/tempname (License): Change to LGPL.

2006-11-14  Eric Blake  <ebb9@byu.net>

	* doc/functions.texi (Function Portability): *printf functions on
	Cygwin now understand all POSIX size specifiers.

2006-11-14  Bruno Haible  <bruno@clisp.org>

	* modules/c-ctype (License): Change to LGPL.

2006-11-12  Bruno Haible  <bruno@clisp.org>

	* m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
	AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
	for GNOME libraries, for which the include files are installed in
	subdirectories of $prefix/include.

2006-11-12  Bruno Haible  <bruno@clisp.org>

	* m4/lib-link.m4: Require at least autoconf-2.54.
	(AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
	name to underscores for the --with option.

2006-11-13  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Set gl_source_base correctly in
	the tests directory.
	Reported by Ralf Wildenhues.

2006-11-13  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
	(func_emit_initmacro_end): Undo the override here.
	(func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
	Works around the famous automake error in coreutils.

2006-11-13  Eric Blake  <ebb9@byu.net>

	* lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
	element, not its node.

2006-11-12  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
	'$(top_srcdir)/build-aux/', taking into account the real auxdir.

2006-11-12  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: New option --local-symlink.
	(func_usage): Document it.
	(lsymbolic): New variable.
	(func_import, func_create_testdir): If --symlink was not specified,
	test whether --local-symlink was specified and the file comes from
	the local_gnulib_dir.

2006-11-12  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_ln): New function.
	(func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".

2006-11-12  Bruno Haible  <bruno@clisp.org>

	Finish support for source files in subdirectories.
	* gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
	are in subdirectories, set uses_subdirs and add 'subdir-objects' to
	AUTOMAKE_OPTIONS.
	(func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.

2006-11-12  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_get_automake_snippet): Synthesize also an
	EXTRA_lib_SOURCES augmentation.
	(func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.

2006-11-12  Jim Meyering  <jim@meyering.net>

	Make fts (in FTS_CWDFD mode) more efficient by caching a few open
	file descriptors.  This also averts a failure on systems with
	native openat support when a traversed directory lacks "x" access.
	* lib/fts_.h: Include "i-ring.h"
	(struct FTS) [fts_fd_ring]: New member.
	* lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
	(FCHDIR): Add parentheses.
	(fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
	(cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
	When descending, rather than simply closing the previous
	fts_cwd_fd value, push that file descriptor onto the ring.
	(same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
	(fts_open): Initialize the new fd_ring member.
	(fts_close): Clear the ring.
	(fts_safe_changedir): When possible, use our new fd_ring to skip
	the diropen and fstat and dev/ino comparison that would normally
	accompany a virtual `chdir ("..")'.

	* modules/fts (Depends-on): Add i-ring.
	* modules/i-ring: New module.
	* lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
	* m4/i-ring.m4: New file.

2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_create_testdir): Fix replacement of
	`build-aux' in configure.ac.  Run autotools in gltests
	subdirectory.
	(func_create_testdir, func_create_megatestdir, test): There is
	no need for '--force' in most autotool invocations in a new
	tree.  Actually fail the whole test if any of the tools, or the
	configure or make stages fail.

	Sync from Automake.
	* build-aux/gnupload: Revert last change.  Add pointer to upload
	instructions of the GNU Maintenance Instructions.
	Suggestion by Karl Berry.

2006-11-10  Jim Meyering  <jim@meyering.net>

	* lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.

2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
	(dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
	(bind_textdomain_codeset) [! ENABLE_NLS]:
	Evaluate all the arguments.  That way, callers get compatible behavior
	if the arguments have side effects.  Also, it avoids some GCC
	diagnostics in some cases; Joel E. Denny reported problems when Bison
	was configured with --enable-gcc-warnigs.

2006-11-10  Jim Meyering  <jim@meyering.net>

	* m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
	relevant options in CFLAGS (like -O, -fno-inline) are taken into
	account.

2006-11-10  Jim Meyering  <jim@meyering.net>

	* modules/inline: New file/module.
	* modules/xalloc (Files): Remove m4/inline.m4.
	(Depends-on): Add inline, instead.
	* modules/oset: Likewise.
	* modules/list: Likewise.

2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
	Problem reported by Matthew Woehlke.

2006-11-09  Bruno Haible  <bruno@clisp.org>

	* lib/tempname.c (gen_tempname): Remove variant that invokes
	__gen_tempname.
	* m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
	__gen_tempname.

2006-11-08  Bruno Haible  <bruno@clisp.org>

	* m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
	to 'yes' instead of 'cross-compiling'.

2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/quotearg.h (quotearg_free): New decl.
	* lib/quotearg.c (quotearg_free): New function.
	(slot0, nslots, slotvec0, slotvec):
	Now file-scope so that quotearg_free can get at them.

2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Sync from Automake.
	* build-aux/gnupload: Add missing 'gnu' to example URL.
	Report by Karl Berry.

2006-11-08  Bruno Haible  <bruno@clisp.org>

	* m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
	Suggested by Paul Eggert.

2006-11-08  Jim Meyering  <jim@meyering.net>

	* lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
	It's already included if !_LIBC.
	(fts_safe_changedir): Add a comment.

2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
	Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
	Matthew Woehlke.

	* lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
	definitions up, to avoid colliding with change below.
	(static_inline) [HAVE_INLINE]: New macro.
	(xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
	Provide extern decls when !HAVE_INLINE.  Do not define unless
	static_inline is defined, either by us or by xmalloc.c.  Use
	static_inline rather than static inline.
	(XCALLOC): Optimize sizeof(T) = 1 case.
	* lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.

2006-11-07  Bruno Haible  <bruno@clisp.org>

	* lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
	* m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
	AC_C_INLINE.
	* modules/xalloc (Files): Add m4/inline.m4.

2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* README: Fix typo.
	* doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
	(Miscellanous Notes): ...from this.

2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
	Mention that offsetof should be used instead of sizeof.
	From Bruno Haible.

2006-11-07  Bruno Haible  <bruno@clisp.org>

	* lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.

2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>

	Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
	* lib/gl_anyavltree_list2.h (create_subtree_with_contents):
	(gl_tree_create, gl_tree_add_first, gl_tree_add_last):
	(gl_tree_add_before, gl_tree_add_after):
	Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
	* lib/gl_anyhash_list2.h (hash_resize): Likewise.
	* lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
	(gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
	(gl_linked_add_after, gl_linked_add_at): Likewise.
	* lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
	(gl_tree_create, gl_tree_add_first, gl_tree_add_last):
	(gl_tree_add_before, gl_tree_add_after): Likewise.
	* lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
	* lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
	* lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.

2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lib/gl_oset.h: Use C comment style, not C++ comment style.

2006-11-06  Bruno Haible  <bruno@clisp.org>

	* m4/inline.m4: New file.
	* m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
	* modules/list (Files): Add m4/inline.m4.
	* modules/oset (Files): Likewise.

2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/idcache.c: Include <stddef.h>, for offsetof.
	(struct userid.name): Change from char * to a flexible array member.
	All uses changed.
	* modules/idcache (Depends-on): Add flexmember.

	* MODULES.html.sh (Core language properties): New module flexmember.
	* modules/flexmember, m4/flexmember.m4: New files.

	* lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
	inline functions that are identical with the old xnmalloc_inline,
	xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
	that we can avoid some unnecessary integer multiplications and
	divisions in the common case where the element size is known at
	compile time.
	(XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
	needed.
	(xnboundedmalloc): Remove.
	(XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
	arguments, for consistency with rest of this header.
	(xcharalloc): Rewrite using XNMALLOC.
	* lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
	(xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
	versions have been moved to lib/xalloc.h and renamed to be the
	non-*_inline versions.
	(xmalloc, xrealloc): Implement without reference to the xnmalloc
	and xnrealloc functions, since those functions are now inline and
	now call us.
	(x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
	renaming described above.
	* m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
	xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
	captures the dependency in AC_C_INLINE.

	New module canonicalize-lgpl, proposed by Charles Wilson in
	<http://lists.gnu.org/r/bug-gnulib/2006-11/msg00020.html>
	with a few small changes afterwards.
	* MODULES.html.sh (File system functions): New module
	canonicalize-lgpl.
	* lib/canonicalize.h: Add comments for canonicalize_filename_mode
	and canonicalize_file_name.
	* lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
	* modules/canonicalize-lgpl: New files.

2006-11-05  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import, func_create_testdir): Create directories
	also for files in subdirectories of lib/.

2006-11-05  Bruno Haible  <bruno@clisp.org>

	* lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
	ANSI C compliant.

2006-11-03  Bruno Haible  <bruno@clisp.org>

	Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
	* m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
	* lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
	(xnboundedmalloc): New inline function.
	* lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
	* lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
	xmalloc.
	* lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
	xmalloc.
	* lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
	* lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
	* lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
	xmalloc.
	(gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
	* lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
	xmalloc.
	* lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
	gl_tree_add_after): Use XMALLOC instead of xmalloc.
	* lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
	xmalloc.
	(gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
	* lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
	gl_tree_add_after): Use XMALLOC instead of xmalloc.
	* lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
	* lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
	* lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
	* lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.

2006-11-03  Bruno Haible  <bruno@clisp.org>

	* lib/c-ctype.h [C++]: Define functions without name mangling.
	* lib/fwriteerror.h [C++]: Likewise.
	* lib/gcd.h [C++]: Likewise.
	* lib/linebreak.h [C++]: Likewise.

2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
	(CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
	Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
	* m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
	Check for functions and headers just once.
	Check for declaration of canonicalize_file_name.
	Define PROVIDE_CANONICALIZE_FILENAME_MODE.

2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>

	* gnulib-tool (func_import): Fix typo in actioncmd.

2006-11-02  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_get_automake_snippet): Interpret a backslash-
	newline sequence in the Makefile.am snippet as a space, like "make"
	does.
	Reported by Roger Persson <perrog@gmail.com>.

2006-11-01  Bruno Haible  <bruno@clisp.org>

	* m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
	already declared in <string.h>.
	* lib/strcase.h (strncasecmp): Don't declare it if yes.

2006-11-01  Bruno Haible  <bruno@clisp.org>

	* m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
	* lib/strcase.h: Include <string.h>.
	(strcasecmp): Define to rpl_strcasecmp here.

2006-11-01  Bruno Haible  <bruno@clisp.org>

	* lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.

2006-11-01  Eric Blake  <ebb9@byu.net>

	* lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.

	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.

2006-10-29  Bruno Haible  <bruno@clisp.org>

	Make it compile in C++ mode.
	* lib/full-write.c (full_rw): Add a cast.

2006-11-01  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
	be POSIX compliant.
	Reported by Roger Persson <perrog@gmail.com>.

2006-11-01  Eric Blake  <ebb9@byu.net>

	* lib/getopt_.h: Fix comments.

2006-10-31  Eric Blake  <ebb9@byu.net>

	* modules/tmpdir (Depends-on): Add sys_stat.
	* modules/mkdtemp (Depends-on): Add tempname, drop unistd.
	* lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
	* lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
	* m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
	tempname.

2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid some C++ diagnostics reported by Bruno Haible.
	* lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
	xmalloc.
	(quotearg_alloc): Use xcharalloc rather than xmalloc.
	(struct slotvec): Move to top level.
	(quotearg_n_options): Rewrite to avoid xmalloc.
	* lib/xalloc.h (xcharalloc): New function.
	* (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
	[defined __cplusplus]: Add function template that provides result
	type propagation.  This part of the change is from Bruno Haible.

2006-10-29  Bruno Haible  <bruno@clisp.org>

	Make it compile in C++ mode.
	* lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
	* lib/strnlen1.c (strnlen1): Cast memchr result.
	* lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
	* lib/clean-temp.c (string_equals, string_hash): Add casts.
	(create_temp_dir): Rename local variable 'template'.
	(compile_csharp_using_sscli): Add cast.
	* lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
	* lib/findprog.c (find_in_path): Likewise.
	* lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
	* lib/wait-process.c (register_slave_subprocess): Likewise.

2006-10-22  Bruno Haible  <bruno@clisp.org>

	* modules/tsearch: New file.
	* lib/tsearch.h: New file.
	* lib/tsearch.c: New file, from glibc-2.5 with small modifications.
	* m4/tsearch.m4: New file.
	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.

2006-10-29  Eric Blake  <ebb9@byu.net>

	* lib/arcfour.c: Assume config.h.
	* lib/arctwo.c: Likewise.
	* lib/base64.c: Likewise.
	* lib/check-version.c: Likewise.
	* lib/crc.c: Likewise.
	* lib/des.c: Likewise.
	* lib/gc-gnulib.c: Likewise.
	* lib/gc-libgcrypt.c: Likewise.
	* lib/gc-pbkdf2-sha1.c: Likewise.
	* lib/getaddrinfo.c: Likewise.
	* lib/getdelim.c: Likewise.
	* lib/getline.c: Likewise.
	* lib/hmac-md5.c: Likewise.
	* lib/hmac-sha1.c: Likewise.
	* lib/iconvme.c: Likewise.
	* lib/md2.c: Likewise.
	* lib/md4.c: Likewise.
	* lib/memxor.c: Likewise.
	* lib/read-file.c: Likewise.
	* lib/readline.c: Likewise.
	* lib/rijndael-alg-fst.c: Likewise.
	* lib/rijndael-api-fst.c: Likewise.
	* lib/xgetdomainname.c: Likewise.

2006-10-28  Eric Blake  <ebb9@byu.net>

	* lib/xstrndup.c: Assume config.h.

2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>

	Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
	stat-macros.h is now for our own macros, whereas stat_h is for
	macros in the <sys/stat.h> name space.
	* lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
	(STAT_MACROS_H): Remove.
	(S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
	(S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
	(S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
	(S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
	(S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
	(S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
	Move these macros to ...
	* lib/stat_.h: here.  Don't include stat-macros.h.
	* lib/canonicalize.c: Don't include stat-macros.h.
	* lib/chown.c: Likewise.
	* lib/euidaccess.c: Likewise.
	* lib/file-type.c: Likewise.
	* lib/filemode.c: Likewise.
	* lib/glob.c: Likewise.
	* lib/isapipe.c: Likewise.
	* lib/lchown.c: Likewise.
	* lib/lstat.c: Likewise.
	* lib/mkdir-p.c: Likewise.
	* lib/rmdir.c: Likewise.
	* m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
	unless mkdir isn't declared, to speed up 'configure'.
	Always create sys/stat.h, since it's unlikely any real sys/stat.h
	would define all the S_* symbols.
	* modules/canonicalize (Depends-on):
	Depend on sys_stat, not stat-macros.
	* modules/chown: Likewise.
	* modules/euidaccess: Likewise.
	* modules/filemode: Likewise.
	* modules/file-type: Likewise.
	* modules/glob: Likewise.
	* modules/isapipe: Likewise.
	* modules/lchown: Likewise.
	* modules/lstat: Likewise.
	* modules/mkancesdirs: Likewise.
	* modules/rmdir: Likewise.
	* modules/mkdir-p (Depends-on): Also depend on sys_stat.
	* modules/modechange: Likewise.
	* modules/stat-macros (Files): Remove m4/stat-macros.m4.
	(configure.ac): Remove gl_STAT_MACROS.
	* modules/sys_stat (Depends-on): Remove stat-macros.

2006-10-27  Bruno Haible  <bruno@clisp.org>

	* m4/signed.m4: Remove file.
	* m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
	invocation.
	* modules/vasnprintf (Files): Remove m4/signed.m4.

2006-10-27  Bruno Haible  <bruno@clisp.org>

	Update to GNU gettext 0.16.
	* modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
	m4/inttypes-h.m4, m4/signed.m4.
	* m4/gettext.m4: Update to GNU gettext 0.16.
	* m4/intl.m4: New file, from GNU gettext.
	* m4/intldir.m4: New file, from GNU gettext.
	* config/srclist.txt: Update

2006-10-27  Eric Blake  <ebb9@byu.net>

	* MODULES.html.sh: Document tempname.
	* modules/mkstemp (Depends-on): Add tempname, and drop transitive
	dependencies.
	(Files): Move lib/tempname.c...
	* modules/tempname: ...to this new module.
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
	(gl_PREREQ_TEMPNAME): Move...
	* m4/tempname.m4: ...to this new file.
	* lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
	* modules/sys_stat (Depends-on): Add stat-macros.
	* lib/stat_.h (includes): Pick up stat macros.
	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
	if stat macros are broken.
	* lib/tempname.c (includes): No need to include "stat-macros.h".
	(__gen_tempname) [!_LIBC]: Expose as gen_tempname.
	(direxists, __path_search) [!_LIBC]: Don't compile these in
	gnulib; the tmpdir module covers that.
	* lib/tempname.h: New file.

2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>

	* COPYING: Explain how gnulib-tool converts licence headers.
	Almost all wording by Eric Blake.

2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/mbchar.h (is_basic_table): Make read-only.
	* lib/mbchar.c (is_basic_table): Likewise.
	Reported by John Darrington.

2006-10-25  Bruno Haible  <bruno@clisp.org>

	* lib/progname.h (set_program_name): Undefine before defining.

2006-10-25  Bruno Haible  <bruno@clisp.org>

	* lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
	false for non-gcc C++ compilers.
	Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.

2006-10-24  Bruno Haible  <bruno@clisp.org>

	* lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
	iconv implementations like Irix iconv.

2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/vararrays: New file.
	* m4/vararrays.m4: New file, taken from diffutils.
	* MODULES.html.sh: New module vararrays.

2006-10-24  Karl Berry  <karl@gnu.org>

	* doc/gnulib-intro.texi: --- instead of --; non-naive naive.
	Don't call GNU Unix.

2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* users.txt: Add Libtool.

	Sync from Libtool:

	2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
	to gnulib's policy of including config.h unconditionally.

2006-10-24  Bruno Haible  <bruno@clisp.org>

	* modules/wcwidth (Files): Add m4/wint_t.m4.
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
	* lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.

2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getdate.y (yyerror): Make the arguments pointer-to-const,
	to pacify GCC with some -W flags enabled.  Problem reported by
	Bruno Haible.

2006-10-24  Jim Meyering  <jim@meyering.net>

	* MODULES.html.sh: Remove uinttostr.  It's not a module.
	Reported by Karl Berry.

2006-10-23  Bruno Haible  <bruno@clisp.org>

	* lib/fts.c (fts_build): Move variable declaration, for C89 compliance.

2006-10-24  Bruno Haible  <bruno@clisp.org>

	* lib/gl_list.h: Use C comment style, not C++ comment style.

2006-10-23  Eric Blake  <ebb9@byu.net>

	* lib/getaddrinfo.c (includes): Add missing include.

2006-10-23  Bruno Haible  <bruno@clisp.org>
	    Paul Eggert  <eggert@cs.ucla.edu>

	Ability to rename obstack_free.
	* lib/obstack.h (__obstack_free): New macro. Declare instead of
	obstack_free.
	(obstack_free): Invoke the __obstack_free macro.
	* lib/obstack.c (obstack_free): Use __obstack_free macro.

2006-10-23  Bruno Haible  <bruno@clisp.org>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
	__argc, __argv from the declaration. (They are defined as macros on
	mingw.)

2006-10-22  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-intro.texi: New file.
	* doc/gnulib.texi: Include it.

2006-10-21  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
	"Introduction", "Miscellanous Notes", "Particular Modules".

2006-10-21  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
	Change mostlyclean-local rule to avoid sh syntax error from bash
	versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.

2006-10-23  Jim Meyering  <jim@meyering.net>

	* lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
	in place of snprintf.

	* modules/inttostr (Files): Add lib/uinttostr.c.
	* lib/uinttostr.c (inttostr): New file/function.
	* lib/inttostr.h (uinttostr): Declare.
	* m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
	* MODULES.html.sh (Numeric conversion functions <stdlib.h>):
	Add uinttostr.
	* modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.

2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/canonicalize.c (ELOOP): Define if not already defined.
	Problem reported by Bruno Haible in
	<http://lists.gnu.org/r/bug-gnulib/2006-10/msg00282.html>.

2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
	Problem reported by Perry Smith and Ville Laurikari.

	* lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
	uses.

2006-10-19  Bruno Haible  <bruno@clisp.org>

	* lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
	for mingw.

2006-10-19  Bruno Haible  <bruno@clisp.org>

	* lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
	Needed for mingw.

2006-10-19  Bruno Haible  <bruno@clisp.org>

	* m4/size_max.m4 (gl_SIZE_MAX): Cache the result.

2006-10-19  Bruno Haible  <bruno@clisp.org>

	* m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
	it.

2006-10-19  Bruno Haible  <bruno@clisp.org>

	* m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
	invocation.

2006-10-19  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Don't include ftruncate and
	mountlist by default.

2006-10-16  Bruno Haible  <bruno@clisp.org>

	* lib/c-strstr.c: Include c-strstr.h.

2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>

	* gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
	in a slash.

2006-10-18  Bruno Haible  <bruno@clisp.org>

	* lib/lock.h [C++]: Wrap definitions in extern "C".

2006-10-18  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
	gl_LIBOBJS list.

2006-10-18  Bruno Haible  <bruno@clisp.org>

	* lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.

2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/xstrtol.h: Include gettext.h.
	(_STRTOL_ERROR): Wrap English-language formats inside gettext.
	Problem reported by Eric Blake.
	* modules/xstrtol (Depends-on): Add gettext-h.

2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)

	* lib/strftime.c (advance): New macro.
	(add): Use it to avoid adding 0 to a FILE *.  FILE can be an
	incomplete type, so you can't add 0 to it.  Problem and patch
	reported by Eelco Dolstra for dietlibc.

2006-10-18  Jim Meyering  <jim@meyering.net>

	* lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
	type for a local, and rename it: s/up/user_proc/.

2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/readutmp.c (desirable_utmp_entry): Implement new flag:
	READ_UTMP_USER_PROCESS.
	* lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag

2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/localcharset.c: Do not check HAVE_SETLOCALE.
	* m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.

2006-10-17  Eric Blake  <ebb9@byu.net>

	* lib/sigprocmask.c (sigprocmask): Fix typo.

	* m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.

	* modules/clean-temp (Makefile.am): Don't add to make output...
	(configure.ac): ...instead define SIGNAL_SAFE_LIST inside
	config.h.

2006-10-17  Bruno Haible  <bruno@clisp.org>

	* lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
	differently if DEFAULT_TEXT_DOMAIN is set.

2006-10-16  Bruno Haible  <bruno@clisp.org>

	* lib/clean-temp.c: Include fwriteerror.h.

2006-10-16  Bruno Haible  <bruno@clisp.org>

	* getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.

2006-10-16  Bruno Haible  <bruno@clisp.org>

	* m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
	* lib/sigprocmask.h: Include <sys/types.h>.
	(sigset_t): Use the system's definition if present.

2006-10-17  Eric Blake  <ebb9@byu.net>

	* lib/xvasprintf.c (includes): Assume config.h.
	* lib/xasprintf.c (includes): Likewise.

2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
	at least as wide as intmax_t.

2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>

	(Imported from Automake.)
	* build-aux/gnupload: Update to version 1.1 of directive file.

2006-10-16  Eric Blake  <ebb9@byu.net>

	* modules/configmake (Makefile.am): Add pkglibexecdir support, to
	match Automake 1.10a.

2006-10-14  Bruno Haible  <bruno@clisp.org>

	* modules/sigprocmask: New file.
	* lib/sigprocmask.h: New file.
	* lib/sigprocmask.c: New file.
	* m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
	gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
	request sigprocmask.o.
	(gl_PREREQ_SIGPROCMASK): New macro.
	* modules/fatal-signal (Files): Remove m4/signalblocking.m4.
	(Depends-on): Add sigprocmask.
	* m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
	gt_SIGNALBLOCKING. Test for 'raise' only once.
	* lib/fatal-signal.c: Include sigprocmask.h.
	(fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
	unblock_fatal_signals): Define always.
	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add
	sigprocmask.

2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from Automake.
	* build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
	which incorrectly sets the mode of an existing destination
	directory.  In some cases the unpatched install-sh could do the
	equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
	system.  We hope this is rare in practice, but it's clearly worth
	fixing.  Problem reported by Alex Unleashed in
	<http://lists.gnu.org/r/bug-autoconf/2006-10/msg00012.html>.
	Also, don't bother to check for -m bugs unless we're using -m;
	suggested by Stepan Kasal.

2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Sync from Automake.
	* build-aux/depcomp (gcc3): Put dependency extraction flags before the
	`-c' flag, so they appear at the same position as in %FASTDEP%
	mode in depend2.am.  Fixes build failure for FreeBSD's c89,
	which ignores unknown options only after the first non-option.
	Bug report against M4 by Nelson H. F. Beebe.

2006-10-13  Jim Meyering  <jim@meyering.net>

	Fix a bug in yesterday's change.
	* lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
	p->fts_statp->st_dev would be used uninitialized.
	Ensures that we always call fts_stat on the very first entry.
	Miklos Szeredi reported that find -xdev stopped working.

2006-10-12  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_get_automake_snippet): Append an automatically
	computed EXTRA_DIST augmentation.
	* modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
	* modules/alloca-opt (Makefile.am): Likewise.
	* modules/allocsa (Makefile.am): Likewise.
	* modules/arcfour (Makefile.am): Likewise.
	* modules/arctwo (Makefile.am): Likewise.
	* modules/argmatch (Makefile.am): Likewise.
	* modules/argz (Makefile.am): Likewise.
	* modules/atexit (Makefile.am): Likewise.
	* modules/backupfile (Makefile.am): Likewise.
	* modules/byteswap (Makefile.am): Likewise.
	* modules/c-strtod (Makefile.am): Likewise.
	* modules/c-strtold (Makefile.am): Likewise.
	* modules/calloc (Makefile.am): Likewise.
	* modules/canon-host (Makefile.am): Likewise.
	* modules/canonicalize (Makefile.am): Likewise.
	* modules/chdir-long (Makefile.am): Likewise.
	* modules/chdir-safer (Makefile.am): Likewise.
	* modules/check-version (Makefile.am): Likewise.
	* modules/chown (Makefile.am): Likewise.
	* modules/cloexec (Makefile.am): Likewise.
	* modules/close-stream (Makefile.am): Likewise.
	* modules/closeout (Makefile.am): Likewise.
	* modules/crc (Makefile.am): Likewise.
	* modules/csharpexec (Makefile.am): Likewise.
	* modules/cycle-check (Makefile.am): Likewise.
	* modules/des (Makefile.am): Likewise.
	* modules/dev-ino (Makefile.am): Likewise.
	* modules/dirfd (Makefile.am): Likewise.
	* modules/dirname (Makefile.am): Likewise.
	* modules/dup2 (Makefile.am): Likewise.
	* modules/eealloc (Makefile.am): Likewise.
	* modules/error (Makefile.am): Likewise.
	* modules/euidaccess (Makefile.am): Likewise.
	* modules/exclude (Makefile.am): Likewise.
	* modules/exitfail (Makefile.am): Likewise.
	* modules/fcntl-safer (Makefile.am): Likewise.
	* modules/fcntl (Makefile.am): Likewise.
	* modules/file-type (Makefile.am): Likewise.
	* modules/fileblocks (Makefile.am): Likewise.
	* modules/filemode (Makefile.am): Likewise.
	* modules/filenamecat (Makefile.am): Likewise.
	* modules/fnmatch (Makefile.am): Likewise.
	* modules/fopen-safer (Makefile.am): Likewise.
	* modules/fpending (Makefile.am): Likewise.
	* modules/fprintftime (Makefile.am): Likewise.
	* modules/free (Makefile.am): Likewise.
	* modules/fsusage (Makefile.am): Likewise.
	* modules/ftruncate (Makefile.am): Likewise.
	* modules/fts (Makefile.am): Likewise.
	* modules/gc-arcfour (Makefile.am): Likewise.
	* modules/gc-des (Makefile.am): Likewise.
	* modules/gc-hmac-md5 (Makefile.am): Likewise.
	* modules/gc-hmac-sha1 (Makefile.am): Likewise.
	* modules/gc-md4 (Makefile.am): Likewise.
	* modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
	* modules/gc-sha1 (Makefile.am): Likewise.
	* modules/gc (Makefile.am): Likewise.
	* modules/getaddrinfo (Makefile.am): Likewise.
	* modules/getcwd (Makefile.am): Likewise.
	* modules/getdelim (Makefile.am): Likewise.
	* modules/getdomainname (Makefile.am): Likewise.
	* modules/getgroups (Makefile.am): Likewise.
	* modules/gethostname (Makefile.am): Likewise.
	* modules/gethrxtime (Makefile.am): Likewise.
	* modules/getline (Makefile.am): Likewise.
	* modules/getloadavg (Makefile.am): Likewise.
	* modules/getlogin_r (Makefile.am): Likewise.
	* modules/getndelim2 (Makefile.am): Likewise.
	* modules/getopt (Makefile.am): Likewise.
	* modules/getpagesize (Makefile.am): Likewise.
	* modules/getpass-gnu (Makefile.am): Likewise.
	* modules/getpass (Makefile.am): Likewise.
	* modules/getsubopt (Makefile.am): Likewise.
	* modules/gettime (Makefile.am): Likewise.
	* modules/gettimeofday (Makefile.am): Likewise.
	* modules/getugroups (Makefile.am): Likewise.
	* modules/getusershell (Makefile.am): Likewise.
	* modules/glob (Makefile.am): Likewise.
	* modules/group-member (Makefile.am): Likewise.
	* modules/hard-locale (Makefile.am): Likewise.
	* modules/hash (Makefile.am): Likewise.
	* modules/hmac-md5 (Makefile.am): Likewise.
	* modules/hmac-sha1 (Makefile.am): Likewise.
	* modules/human (Makefile.am): Likewise.
	* modules/idcache (Makefile.am): Likewise.
	* modules/imaxabs (Makefile.am): Likewise.
	* modules/imaxdiv (Makefile.am): Likewise.
	* modules/inet_ntop (Makefile.am): Likewise.
	* modules/inet_pton (Makefile.am): Likewise.
	* modules/intprops (Makefile.am): Likewise.
	* modules/inttostr (Makefile.am): Likewise.
	* modules/inttypes (Makefile.am): Likewise.
	* modules/isapipe (Makefile.am): Likewise.
	* modules/javaversion (Makefile.am): Likewise.
	* modules/lchmod (Makefile.am): Likewise.
	* modules/lchown (Makefile.am): Likewise.
	* modules/localcharset (Makefile.am): Likewise.
	* modules/long-options (Makefile.am): Likewise.
	* modules/lstat (Makefile.am): Likewise.
	* modules/malloc (Makefile.am): Likewise.
	* modules/mathl (Makefile.am): Likewise.
	* modules/mbchar (Makefile.am): Likewise.
	* modules/md2 (Makefile.am): Likewise.
	* modules/md4 (Makefile.am): Likewise.
	* modules/md5 (Makefile.am): Likewise.
	* modules/memcasecmp (Makefile.am): Likewise.
	* modules/memchr (Makefile.am): Likewise.
	* modules/memcmp (Makefile.am): Likewise.
	* modules/memcoll (Makefile.am): Likewise.
	* modules/memcpy (Makefile.am): Likewise.
	* modules/memmem (Makefile.am): Likewise.
	* modules/memmove (Makefile.am): Likewise.
	* modules/mempcpy (Makefile.am): Likewise.
	* modules/memrchr (Makefile.am): Likewise.
	* modules/memset (Makefile.am): Likewise.
	* modules/memxor (Makefile.am): Likewise.
	* modules/mkancesdirs (Makefile.am): Likewise.
	* modules/mkdir-p (Makefile.am): Likewise.
	* modules/mkdir (Makefile.am): Likewise.
	* modules/mkdtemp (Makefile.am): Likewise.
	* modules/mkstemp (Makefile.am): Likewise.
	* modules/mktime (Makefile.am): Likewise.
	* modules/modechange (Makefile.am): Likewise.
	* modules/mountlist (Makefile.am): Likewise.
	* modules/nanosleep (Makefile.am): Likewise.
	* modules/obstack (Makefile.am): Likewise.
	* modules/openat (Makefile.am): Likewise.
	* modules/pagealign_alloc (Makefile.am): Likewise.
	* modules/pathmax (Makefile.am): Likewise.
	* modules/physmem (Makefile.am): Likewise.
	* modules/poll (Makefile.am): Likewise.
	* modules/posixtm (Makefile.am): Likewise.
	* modules/posixver (Makefile.am): Likewise.
	* modules/putenv (Makefile.am): Likewise.
	* modules/quote (Makefile.am): Likewise.
	* modules/quotearg (Makefile.am): Likewise.
	* modules/raise (Makefile.am): Likewise.
	* modules/read-file (Makefile.am): Likewise.
	* modules/readline (Makefile.am): Likewise.
	* modules/readlink (Makefile.am): Likewise.
	* modules/readtokens (Makefile.am): Likewise.
	* modules/readutmp (Makefile.am): Likewise.
	* modules/realloc (Makefile.am): Likewise.
	* modules/regex (Makefile.am): Likewise.
	* modules/rename-dest-slash (Makefile.am): Likewise.
	* modules/rename (Makefile.am): Likewise.
	* modules/rijndael (Makefile.am): Likewise.
	* modules/rmdir (Makefile.am): Likewise.
	* modules/rpmatch (Makefile.am): Likewise.
	* modules/safe-read (Makefile.am): Likewise.
	* modules/safe-write (Makefile.am): Likewise.
	* modules/same-inode (Makefile.am): Likewise.
	* modules/same (Makefile.am): Likewise.
	* modules/save-cwd (Makefile.am): Likewise.
	* modules/savedir (Makefile.am): Likewise.
	* modules/setenv (Makefile.am): Likewise.
	* modules/settime (Makefile.am): Likewise.
	* modules/sha1 (Makefile.am): Likewise.
	* modules/sig2str (Makefile.am): Likewise.
	* modules/snprintf (Makefile.am): Likewise.
	* modules/stat-macros (Makefile.am): Likewise.
	* modules/stat-time (Makefile.am): Likewise.
	* modules/stdbool (Makefile.am): Likewise.
	* modules/stdint (Makefile.am): Likewise.
	* modules/stdlib-safer (Makefile.am): Likewise.
	* modules/stpcpy (Makefile.am): Likewise.
	* modules/stpncpy (Makefile.am): Likewise.
	* modules/strcase (Makefile.am): Likewise.
	* modules/strcasestr (Makefile.am): Likewise.
	* modules/strchrnul (Makefile.am): Likewise.
	* modules/strcspn (Makefile.am): Likewise.
	* modules/strdup (Makefile.am): Likewise.
	* modules/strerror (Makefile.am): Likewise.
	* modules/strftime (Makefile.am): Likewise.
	* modules/strndup (Makefile.am): Likewise.
	* modules/strnlen (Makefile.am): Likewise.
	* modules/strpbrk (Makefile.am): Likewise.
	* modules/strsep (Makefile.am): Likewise.
	* modules/strstr (Makefile.am): Likewise.
	* modules/strtod (Makefile.am): Likewise.
	* modules/strtoimax (Makefile.am): Likewise.
	* modules/strtok_r (Makefile.am): Likewise.
	* modules/strtol (Makefile.am): Likewise.
	* modules/strtoll (Makefile.am): Likewise.
	* modules/strtoul (Makefile.am): Likewise.
	* modules/strtoull (Makefile.am): Likewise.
	* modules/strtoumax (Makefile.am): Likewise.
	* modules/strverscmp (Makefile.am): Likewise.
	* modules/sys_socket (Makefile.am): Likewise.
	* modules/sys_stat (Makefile.am): Likewise.
	* modules/sysexits (Makefile.am): Likewise.
	* modules/time_r (Makefile.am): Likewise.
	* modules/timegm (Makefile.am): Likewise.
	* modules/timespec (Makefile.am): Likewise.
	* modules/tmpfile-safer (Makefile.am): Likewise.
	* modules/trim (Makefile.am): Likewise.
	* modules/unistd-safer (Makefile.am): Likewise.
	* modules/unlinkdir (Makefile.am): Likewise.
	* modules/unlocked-io (Makefile.am): Likewise.
	* modules/userspec (Makefile.am): Likewise.
	* modules/utime (Makefile.am): Likewise.
	* modules/utimecmp (Makefile.am): Likewise.
	* modules/utimens (Makefile.am): Likewise.
	* modules/vasnprintf (Makefile.am): Likewise.
	* modules/vasprintf (Makefile.am): Likewise.
	* modules/vsnprintf (Makefile.am): Likewise.
	* modules/xalloc (Makefile.am): Likewise.
	* modules/xgetcwd (Makefile.am): Likewise.
	* modules/xnanosleep (Makefile.am): Likewise.
	* modules/xreadlink (Makefile.am): Likewise.
	* modules/xstrtod (Makefile.am): Likewise.
	* modules/xstrtol (Makefile.am): Likewise.
	* modules/xstrtold (Makefile.am): Likewise.
	* modules/yesno (Makefile.am): Likewise.
	* modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.

2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/error (Makefile.am): Distribute files through
	EXTRA_DIST, not lib_SOURCES.

2006-10-12  Eric Blake  <ebb9@byu.net>

	* modules/error (Makefile.am): Distribute files in /lib.
	* modules/obstack (Makefile.am): Likewise.

2006-10-12  Bruno Haible  <bruno@clisp.org>

	* modules/acl (Makefile.am): Distribute all files in lib/ through
	EXTRA_DIST.
	* modules/arcfour (Makefile.am): Likewise.
	* modules/arctwo (Makefile.am): Likewise.
	* modules/argmatch (Makefile.am): Likewise.
	* modules/argz (Makefile.am): Likewise.
	* modules/atexit (Makefile.am): Likewise.
	* modules/backupfile (Makefile.am): Likewise.
	* modules/c-strtod (Makefile.am): Likewise.
	* modules/c-strtold (Makefile.am): Likewise.
	* modules/calloc (Makefile.am): Likewise.
	* modules/canon-host (Makefile.am): Likewise.
	* modules/canonicalize (Makefile.am): Likewise.
	* modules/chdir-long (Makefile.am): Likewise.
	* modules/chdir-safer (Makefile.am): Likewise.
	* modules/check-version (Makefile.am): Likewise.
	* modules/chown (Makefile.am): Likewise.
	* modules/cloexec (Makefile.am): Likewise.
	* modules/close-stream (Makefile.am): Likewise.
	* modules/closeout (Makefile.am): Likewise.
	* modules/crc (Makefile.am): Likewise.
	* modules/cycle-check (Makefile.am): Likewise.
	* modules/des (Makefile.am): Likewise.
	* modules/dirfd (Makefile.am): Likewise.
	* modules/dirname (Makefile.am): Likewise.
	* modules/dup2 (Makefile.am): Likewise.
	* modules/euidaccess (Makefile.am): Likewise.
	* modules/exclude (Makefile.am): Likewise.
	* modules/exitfail (Makefile.am): Likewise.
	* modules/fcntl-safer (Makefile.am): Likewise.
	* modules/file-type (Makefile.am): Likewise.
	* modules/fileblocks (Makefile.am): Likewise.
	* modules/filemode (Makefile.am): Likewise.
	* modules/filenamecat (Makefile.am): Likewise.
	* modules/fnmatch (Makefile.am): Likewise.
	* modules/fopen-safer (Makefile.am): Likewise.
	* modules/fpending (Makefile.am): Likewise.
	* modules/fprintftime (Makefile.am): Likewise.
	* modules/free (Makefile.am): Likewise.
	* modules/fsusage (Makefile.am): Likewise.
	* modules/ftruncate (Makefile.am): Likewise.
	* modules/fts (Makefile.am): Likewise.
	* modules/gc (Makefile.am): Likewise.
	* modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
	* modules/getaddrinfo (Makefile.am): Likewise.
	* modules/getcwd (Makefile.am): Likewise.
	* modules/getdelim (Makefile.am): Likewise.
	* modules/getdomainname (Makefile.am): Likewise.
	* modules/getgroups (Makefile.am): Likewise.
	* modules/gethostname (Makefile.am): Likewise.
	* modules/gethrxtime (Makefile.am): Likewise.
	* modules/getline (Makefile.am): Likewise.
	* modules/getloadavg (Makefile.am): Likewise.
	* modules/getlogin_r (Makefile.am): Likewise.
	* modules/getopt (Makefile.am): Likewise.
	* modules/getpass (Makefile.am): Likewise.
	* modules/getpass-gnu (Makefile.am): Likewise.
	* modules/getsubopt (Makefile.am): Likewise.
	* modules/gettime (Makefile.am): Likewise.
	* modules/gettimeofday (Makefile.am): Likewise.
	* modules/getugroups (Makefile.am): Likewise.
	* modules/getusershell (Makefile.am): Likewise.
	* modules/glob (Makefile.am): Likewise.
	* modules/group-member (Makefile.am): Likewise.
	* modules/hard-locale (Makefile.am): Likewise.
	* modules/hash (Makefile.am): Likewise.
	* modules/hmac-md5 (Makefile.am): Likewise.
	* modules/hmac-sha1 (Makefile.am): Likewise.
	* modules/human (Makefile.am): Likewise.
	* modules/idcache (Makefile.am): Likewise.
	* modules/imaxabs (Makefile.am): Likewise.
	* modules/imaxdiv (Makefile.am): Likewise.
	* modules/inet_ntop (Makefile.am): Likewise.
	* modules/inet_pton (Makefile.am): Likewise.
	* modules/inttostr (Makefile.am): Likewise.
	* modules/isapipe (Makefile.am): Likewise.
	* modules/lchown (Makefile.am): Likewise.
	* modules/long-options (Makefile.am): Likewise.
	* modules/lstat (Makefile.am): Likewise.
	* modules/malloc (Makefile.am): Likewise.
	* modules/mathl (Makefile.am): Likewise.
	* modules/mbchar (Makefile.am): Likewise.
	* modules/md2 (Makefile.am): Likewise.
	* modules/md4 (Makefile.am): Likewise.
	* modules/md5 (Makefile.am): Likewise.
	* modules/memcasecmp (Makefile.am): Likewise.
	* modules/memchr (Makefile.am): Likewise.
	* modules/memcmp (Makefile.am): Likewise.
	* modules/memcoll (Makefile.am): Likewise.
	* modules/memcpy (Makefile.am): Likewise.
	* modules/memmem (Makefile.am): Likewise.
	* modules/memmove (Makefile.am): Likewise.
	* modules/mempcpy (Makefile.am): Likewise.
	* modules/memrchr (Makefile.am): Likewise.
	* modules/memset (Makefile.am): Likewise.
	* modules/memxor (Makefile.am): Likewise.
	* modules/mkancesdirs (Makefile.am): Likewise.
	* modules/mkdir (Makefile.am): Likewise.
	* modules/mkdir-p (Makefile.am): Likewise.
	* modules/mkdtemp (Makefile.am): Likewise.
	* modules/mkstemp (Makefile.am): Likewise.
	* modules/mktime (Makefile.am): Likewise.
	* modules/modechange (Makefile.am): Likewise.
	* modules/mountlist (Makefile.am): Likewise.
	* modules/nanosleep (Makefile.am): Likewise.
	* modules/openat (Makefile.am): Likewise.
	* modules/pagealign_alloc (Makefile.am): Likewise.
	* modules/physmem (Makefile.am): Likewise.
	* modules/poll (Makefile.am): Likewise.
	* modules/posixtm (Makefile.am): Likewise.
	* modules/posixver (Makefile.am): Likewise.
	* modules/putenv (Makefile.am): Likewise.
	* modules/quote (Makefile.am): Likewise.
	* modules/quotearg (Makefile.am): Likewise.
	* modules/raise (Makefile.am): Likewise.
	* modules/read-file (Makefile.am): Likewise.
	* modules/readline (Makefile.am): Likewise.
	* modules/readlink (Makefile.am): Likewise.
	* modules/readtokens (Makefile.am): Likewise.
	* modules/readutmp (Makefile.am): Likewise.
	* modules/realloc (Makefile.am): Likewise.
	* modules/regex (Makefile.am): Likewise.
	* modules/rename (Makefile.am): Likewise.
	* modules/rename-dest-slash (Makefile.am): Likewise.
	* modules/rijndael (Makefile.am): Likewise.
	* modules/rmdir (Makefile.am): Likewise.
	* modules/rpmatch (Makefile.am): Likewise.
	* modules/safe-read (Makefile.am): Likewise.
	* modules/safe-write (Makefile.am): Likewise.
	* modules/same (Makefile.am): Likewise.
	* modules/save-cwd (Makefile.am): Likewise.
	* modules/savedir (Makefile.am): Likewise.
	* modules/setenv (Makefile.am): Likewise.
	* modules/settime (Makefile.am): Likewise.
	* modules/sha1 (Makefile.am): Likewise.
	* modules/sig2str (Makefile.am): Likewise.
	* modules/snprintf (Makefile.am): Likewise.
	* modules/stdlib-safer (Makefile.am): Likewise.
	* modules/stpcpy (Makefile.am): Likewise.
	* modules/stpncpy (Makefile.am): Likewise.
	* modules/strcase (Makefile.am): Likewise.
	* modules/strcasestr (Makefile.am): Likewise.
	* modules/strchrnul (Makefile.am): Likewise.
	* modules/strcspn (Makefile.am): Likewise.
	* modules/strdup (Makefile.am): Likewise.
	* modules/strerror (Makefile.am): Likewise.
	* modules/strftime (Makefile.am): Likewise.
	* modules/strndup (Makefile.am): Likewise.
	* modules/strnlen (Makefile.am): Likewise.
	* modules/strpbrk (Makefile.am): Likewise.
	* modules/strsep (Makefile.am): Likewise.
	* modules/strstr (Makefile.am): Likewise.
	* modules/strtod (Makefile.am): Likewise.
	* modules/strtoimax (Makefile.am): Likewise.
	* modules/strtok_r (Makefile.am): Likewise.
	* modules/strtol (Makefile.am): Likewise.
	* modules/strtoll (Makefile.am): Likewise.
	* modules/strtoul (Makefile.am): Likewise.
	* modules/strtoull (Makefile.am): Likewise.
	* modules/strtoumax (Makefile.am): Likewise.
	* modules/strverscmp (Makefile.am): Likewise.
	* modules/time_r (Makefile.am): Likewise.
	* modules/timegm (Makefile.am): Likewise.
	* modules/tmpfile-safer (Makefile.am): Likewise.
	* modules/unistd-safer (Makefile.am): Likewise.
	* modules/unlinkdir (Makefile.am): Likewise.
	* modules/userspec (Makefile.am): Likewise.
	* modules/utime (Makefile.am): Likewise.
	* modules/utimecmp (Makefile.am): Likewise.
	* modules/utimens (Makefile.am): Likewise.
	* modules/vasnprintf (Makefile.am): Likewise.
	* modules/vasprintf (Makefile.am): Likewise.
	* modules/vsnprintf (Makefile.am): Likewise.
	* modules/xalloc (Makefile.am): Likewise.
	* modules/xgetcwd (Makefile.am): Likewise.
	* modules/xnanosleep (Makefile.am): Likewise.
	* modules/xreadlink (Makefile.am): Likewise.
	* modules/xstrtod (Makefile.am): Likewise.
	* modules/xstrtol (Makefile.am): Likewise.
	* modules/xstrtold (Makefile.am): Likewise.
	* modules/yesno (Makefile.am): Likewise.

2006-10-12  Jim Meyering  <jim@meyering.net>

	* m4/getloadavg.m4: Revert the change below.

	* m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
	lib/getloadavg.c using "ls -L", not "test -f".  The latter would
	fail with a symlink, which is what coreutils' ./bootstrap now
	creates by default.

2006-10-12  Bruno Haible  <bruno@clisp.org>

	* lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
	mingw.
	(_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
	MSVC and mingw explicitly.

2006-10-11  Simon Josefsson  <jas@extundo.com>
	    Bruno Haible  <bruno@clisp.org>

	Add support for multiple gnulib-tool invocations in the scope of a
	single configure.ac file.
	* gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
	use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
	with the same contents as the _LIBADD variable.
	(func_emit_initmacro_start, func_emit_initmacro_end,
	func_emit_initmacro_done): New functions.
	(func_import, func_create_testdir): Invoke them. Allow the identifiers
	gl_LIBOBJS and gl_LTLIBOBJS.

2006-10-11  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
	(func_create_testdir): Don't create po/Makefile.am, don't invoke
	autoreconf. Instead, invoke autopoint explicitly but move back the
	*.m4 files from gnulib.

2006-10-11  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_usage): Make module names after --create-testdir
	optional.
	(func_create_testdir): If no module was specified, use nearly all
	modules.

2006-10-12  Jim Meyering  <jim@meyering.net>

	Big performance improvement for fts-based tools that use FTS_NOSTAT.
	Avoid spurious inode-mismatch problems on non-POSIX file systems.
	Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
	* lib/fts_.h (FTS_DEFER_STAT): Define new flag.
	(FTS_OPTIONMASK): Extend the mask to reflect this addition.
	* lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
	(FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
	(fts_set_stat_required): New function.
	(fts_open): Defer the calls to fts_stat, if possible or requested.
	Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
	into fts_stat itself.
	(fts_read): Perform any required (deferred) fts_stat call.
	(fts_build): Likewise, for the directory we're about to open and read.
	In the readdir loop, carefully decide whether each entry will require
	an eventual call to fts_stat, using dirent.d_type info if available.
	(fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
	a command line argument into this function.  Update all callers.
	Map a return value of FTS_DOT to FTS_D for a command line argument.
	* modules/fts (Depends-on): Add d-type.  Alphabetize.
	Thanks to Miklos Szeredi for his tenacity and for the initial
	bug report about "find" failing on a FUSE-based file system.

	* lib/fts.c (fts_open): Use consistent indentation.

2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
	gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
	reported by Jim Meyering.  All uses of cache variables renamed
	to match Autoconf's.
	(gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
	the other one.

	* m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
	Fix misspelling in diagnostic.

2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
	defined.  Problem reported by Matthew Woehlke.

	* lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
	Add support for Tandem NonStop R series.
	(_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
	Use new macro.

	* lib/rename-dest-slash.c: Include stdbool.h but not string.h.
	(has_trailing_slash): Omit size arg; all callers changed.
	Omit 'inline', since it doesn't help performance and we'd
	need to configure it.
	Don't count //, ///, etc. as having a trailing slash.
	As a side effect, this removes a C99ism reported by Matthew Woehlke.
	(rpl_rename_dest_slash): On failure, use rename's errno rather
	than (in some cases) an incorrect or junk errno.
	Simplify code by removing need to compute length; this does
	cause it to make two passes instead of one over the file name,
	but it's worth it.

	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
	change, since Autoconf's version may no longer be appropriate now
	that we are using CVS Autoconf's version.  Add support for Tandem.

2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	* lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
	HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
	* m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
	gl_AC_TYPE_LONG_LONG.

	* lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
	instead of HAVE_LONG_LONG.
	* lib/printf-args.c (printf_fetchargs): Likewise.
	* lib/printf-parse.c (PRINTF_PARSE): Likewise.
	* lib/vasnprintf.c (VASNPRINTF): Likewise.
	* m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
	gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
	gl_AC_TYPE_LONG_LONG.

2006-10-11  Bruno Haible  <bruno@clisp.org>

	* m4/longlong.m4: Add comments.
	* m4/ulonglong.m4: Likewise.

2006-10-10  Bruno Haible  <bruno@clisp.org>

	Make it possible to #define stpcpy, strdup to aliases.
	* lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
	* lib/strdup.c (strdup) [!_LIBC]: Don't undefine.

2006-10-10  Bruno Haible  <bruno@clisp.org>

	Make it possible to #define gcd to an alias.
	* lib/gcd.c: Include config.h.

2006-10-10  Bruno Haible  <bruno@clisp.org>

	Make it possible to #define c_isascii to an alias.
	* lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
	defined. Undefine the macros before defining them, to avoid gcc
	warnings.
	* lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
	define NO_C_CTYPE_MACROS early.

2006-10-10  Bruno Haible  <bruno@clisp.org>

	Make it possible to #define set_program_name to an alias.
	* lib/progname.c: Don't undefine set_program_name; instead, undefine
	ENABLE_RELOCATABLE early.

2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	Port to Tandem NSK OSS, which has 64-bit signed int but at most
	32-bit unsigned int.  Problem reported by Matthew Woehlke in:
	http://lists.gnu.org/r/bug-coreutils/2006-10/msg00062.html
	More generally, don't assume that 64-bit signed int is available
	if unsigned int is, and vice versa.
	* lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
	unsigned symbols, not on their signed counterparts.
	* lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
	(UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
	(UINT64_C, UINTMAX_C):
	Likewise.
	* lib/strtoimax.c (strtoll): Depend on signed symbols, not their
	unsigned counterparts.
	(Have_long_long, Unsigned): New macros.
	(Int): Renamed from INT.
	(strtoimax): Use the new macros.
	* m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
	and substitute HAVE_UNSIGNED_LONG_LONG_INT.
	* modules/inttypes (inttypes.h): Substitute
	HAVE_UNSIGNED_LONG_LONG_INT.
	* modules/stdint (stdint.h): Likewise.
	(Files): Add m4/ulonglong.m4.

2006-10-10  Bruno Haible  <bruno@clisp.org>

	Fix a gcc -Wshadow warning.
	* lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
	to 'bucket'.
	* lib/gl_anylinked_list2.h (gl_linked_search_from_to,
	gl_linked_indexof_from_to): Likewise.
	* lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
	Likewise.
	* lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
	Likewise.
	* lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
	Reported by Eric Blake.

2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
	for NetBSD.  Problem reported by Bruno Haible.

2006-10-09  Jim Meyering  <jim@meyering.net>

	* lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
	Patch from Bruno Haible.

2006-10-09  Jim Meyering  <jim@meyering.net>

	* lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
	to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
	Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d

2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>

	Don't include <config.h> twice; this doesn't work in some cases,
	e.g., when config.h has "#define intmax_t long long int" and
	we include <config.h>, <inttypes.h>, <config.h> in that order.
	Problem reported by Matthew Woehlke in:
	http://lists.gnu.org/r/bug-coreutils/2006-10/msg00073.html
	* lib/fprintftime.c: Don't include config.h or fprintftime.h.
	* lib/fts-cycle.c: Don't include config.h.
	* lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
	* lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
	Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
	and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
	inttypes.h.
	* lib/xstrtoumax.c: Likewise.
	* lib/xstrtol.c: Include config.h and xstrtol.h after defining
	__strtol and the like, so that this module is more like its siblings.
	(STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
	Remove; no longer needed now that we assume gnulib inttypes.h.

2006-10-08  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
	option.

2006-10-07  Jim Meyering  <jim@meyering.net>

	* modules/inttypes (inttypes.h): Revert what seems to have been
	an inadvertent part of today's change: use "|", not "/" in the
	substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).

2006-10-07  Bruno Haible  <bruno@clisp.org>

	* modules/sublist: New file.

2006-10-07  Bruno Haible  <bruno@clisp.org>

	* modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
	* modules/argz (argz.h): Likewise.
	* modules/arpa_inet (arpa/inet.h): Likewise.
	* modules/byteswap (byteswap.h): Likewise.
	* modules/configmake (configmake.h): Likewise.
	* modules/fcntl (fcntl.h): Likewise.
	* modules/fnmatch (fnmatch.h): Likewise.
	* modules/getopt (getopt.h): Likewise.
	* modules/glob (glob.h): Likewise.
	* modules/inttypes (inttypes.h): Likewise.
	* modules/netinet_in (netinet/in.h): Likewise.
	* modules/poll (poll.h): Likewise.
	* modules/stdbool (stdbool.h): Likewise.
	* modules/stdint (stdint.h): Likewise.
	* modules/sys_select (sys/select.h): Likewise.
	* modules/sys_socket (sys/socket.h): Likewise.
	* modules/sys_stat (sys/stat.h): Likewise.
	* modules/sysexits (sysexits.h): Likewise.
	* modules/unistd (unistd.h): Likewise.
	* gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
	Add a "DO NOT EDIT" comment to the generated file.
	(func_import): Likewise for gnulib-comp.m4.

2006-10-07  Bruno Haible  <bruno@clisp.org>

	* lib/gl_sublist.h: New file.
	* lib/gl_sublist.c: New file.

2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
	name (relative to the original working directory) and the file
	name component (relative to the temporary working directory).  All
	callers changed.
	* lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
	* lib/mkdir-p.c (make_dir_parents): Likewise.
	* lib/mkdir-p.h (make_dir_parents): Likewise.

2006-10-06  Eric Blake  <ebb9@byu.net>

	Define several macros for use by the clean-temp module.
	* m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
	* m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
	* m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.

	* lib/clean-temp.h (close_stream_temp): New declaration.
	* lib/clean-temp.c (includes): Pull in headers according to what
	other modules are in use.
	(close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.

2006-10-06  Bruno Haible  <bruno@clisp.org>

	* lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
	instead of fopen, fwriteerror.

2006-10-06  Bruno Haible  <bruno@clisp.org>

	* lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
	cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
	int.
	* lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
	cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
	Return an error indicator.
	Suggested by Eric Blake.

2006-10-06  Bruno Haible  <bruno@clisp.org>

	* lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
	Reported by Eric Blake.

2006-10-06  Bruno Haible  <bruno@clisp.org>

	* modules/closeout (Description): Mention stderr too.

2006-10-06  Bruno Haible  <bruno@clisp.org>
	and Paul Eggert  <eggert@cs.ucla.edu>

	* lib/closeout.c (close_stdout): Also close stderr.
	* lib/closeout.h: Update comment.

2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>

	Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
	<http://lists.gnu.org/r/bug-coreutils/2006-10/msg00063.html>.
	* lib/dirchownmod.c: Include lchown.h.
	* lib/lchown.c: Don't include files that lchown.h now includes.
	Don't declare chown, since lchown.h now does that.
	* lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
	(lchown): Define to rpl_chown if lchown is declared but
	does not exist.  Declare using a prototype if lchown is not
	declared.  Add a copyright notice.
	* lib/mkstemp.h: Include <unistd.h>.
	* lib/openat.c: Include lchown.h.

	* lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
	we now test for that separately.
	* lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
	rather than O_NOFOLLOW, when testing whether it's possible to
	avoid a race condition reliably.
	* lib/savewd.c (savewd_chdir): Likewise.

	Remove macros that are no longer needed now that stdint.h is
	reliable.
	* lib/fsusage.c (UINTMAX_MAX): Remove.
	* lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
	* lib/utimecmp.c (SIZE_MAX): Remove.

	* m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.

	* m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
	of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
	O_NOATIME works.

2006-10-05  Bruno Haible  <bruno@clisp.org>

	* lib/gl_list.h (gl_sortedlist_search_from_to,
	gl_sortedlist_indexof_from_to): New declarations.
	(gl_list_implementation): New fields sortedlist_search_from_to,
	sortedlist_indexof_from_to.
	(gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
	inline functions.
	* lib/gl_list.c (gl_sortedlist_search_from_to,
	gl_sortedlist_indexof_from_to): New functions.
	* lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
	function.
	(gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
	(gl_array_sortedlist_search_from_to): New function.
	(gl_array_list_implementation): Update.
	* lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
	function.
	(gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
	(gl_carray_sortedlist_search_from_to): New function.
	(gl_carray_list_implementation): Update.
	* lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
	gl_linked_sortedlist_indexof_from_to): New functions.
	* lib/gl_linked_list.c (gl_linked_list_implementation): Update.
	* lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
	* lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
	gl_tree_sortedlist_indexof_from_to): New functions.
	* lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
	* lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
	Update.
	* lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
	* lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
	Update.

2006-10-05  Bruno Haible  <bruno@clisp.org>

	* lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
	gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
	(struct gl_list_implementation): Add fields search_from_to,
	indexof_from_to. Remove fields search, indexof.
	(gl_list_search): Use the search_from_to method.
	(gl_list_search_from, gl_list_search_from_to): New functions.
	(gl_list_indexof): Use the indexof_from_to method.
	(gl_list_indexof_from, gl_list_indexof_from_to): New functions.
	* lib/gl_list.c (gl_list_search): Use the search_from_to method.
	(gl_list_search_from, gl_list_search_from_to): New functions.
	(gl_list_indexof): Use the indexof_from_to method.
	(gl_list_indexof_from, gl_list_indexof_from_to): New functions.
	* lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
	gl_array_indexof. Add start_index, end_index arguments.
	(gl_array_search_from_to): Renamed from gl_array_search. Add
	start_index, end_index arguments.
	(gl_array_remove, gl_array_list_implementation): Update.
	* lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
	gl_carray_indexof. Add start_index, end_index arguments.
	(gl_carray_search_from_to): Renamed from gl_carray_search. Add
	start_index, end_index arguments.
	(gl_carray_remove, gl_carray_list_implementation): Update.
	* lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
	gl_linked_search. Add start_index, end_index arguments.
	(gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
	start_index, end_index arguments.
	(gl_linked_remove): Update.
	* lib/gl_linked_list.c (gl_linked_list_implementation): Update.
	* lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
	* lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
	field to 'size_t'.
	* lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
	gl_tree_search. Add start_index, end_index arguments.
	(gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
	start_index, end_index arguments.
	(gl_tree_remove): Update.
	* lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
	* lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
	* lib/gl_anytreehash_list1.h (compare_position_threshold): New
	function.
	* lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
	gl_tree_search. Add start_index, end_index arguments.
	(gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
	start_index, end_index arguments.
	* lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
	Update.
	* lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.

2006-10-05  Bruno Haible  <bruno@clisp.org>

	* modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.

	* lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
	fwriteerror_temp): New declarations.
	* lib/clean-temp.c (uintptr_t): Provide fallback definition.
	(descriptors): New variable.
	(cleanup): First, close the descriptors.
	(register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
	fclose_temp, fwriteerror_temp): New functions.

2006-10-04  Jim Meyering  <jim@meyering.net>

	* lib/fts.c (fts_open): Tiny comment change.

2006-10-04  Bruno Haible  <bruno@clisp.org>

	Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
	* m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
	gl_LOCK_BODY.
	(gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
	(gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
	gl_LOCK_EARLY_BODY.
	(gl_LOCK): Require gl_LOCK_BODY.

2006-10-04  Bruno Haible  <bruno@clisp.org>

	* lib/gl_oset.h (gl_setelement_threshold_fn): New type.
	(gl_oset_search_atleast): New declaration.
	(struct gl_oset_implementation): Add field 'search_atleast'.
	(gl_oset_search_atleast): New inline function.
	* lib/gl_oset.c (gl_oset_search_atleast): New function.
	* lib/gl_array_oset.c (gl_array_search_atleast): New function.
	(gl_array_oset_implementation): Update.
	* lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
	* lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
	* lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.

2006-10-04  Bruno Haible  <bruno@clisp.org>

	* lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.

2006-10-03  Bruno Haible  <bruno@clisp.org>

	* lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
	from gl_avltreehash_list_implementation.

2006-10-03  Bruno Haible  <bruno@clisp.org>

	* lib/gl_oset.c (gl_oset_add): Fix return type.

2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)

	* lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.

2006-10-02  Eric Blake  <ebb9@byu.net>

	* modules/strnlen (Depends-on): Add extensions.

2006-10-02  Eric Blake  <ebb9@byu.net>

	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
	definition in 2.60+.

2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>

	* lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
	checks.

2006-10-02  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
	to the AUTOMAKE_OPTIONS.
	Reported by Jim Meyering.

2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>

	Work around bug in Solaris 10 /proc file system:
	/proc/self/fd/NNN/.. isn't the parent directory of
	the directory whose file descriptor is NNN.  This needs to
	be worked around at run time, not compile time, since a
	program might be built on Solaris 8, where things work, and
	run on Solaris 10.
	* lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
	to use the following interface instead:
	(OPENAT_BUFFER_SIZE): New macro.
	(openat_proc_name): New function.
	* lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
	* lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
	Likewise.
	* lib/openat-proc.c: New file.
	* modules/openat (Files): Add lib/openat-proc.c.
	(Depends-on): Add same-inode, stdbool.
	* m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).

2006-09-29  Bruno Haible  <bruno@clisp.org>

	* lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
	* lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
	argument. Set stdout_closed before testing for ferror, not after.
	(fwriteerror, fwriteerror_no_ebadf): New functions.

2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.

2006-09-28  Paolo Bonzini  <bonzini@gnu.org>

	* lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
	* m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.

2006-09-28  Jim Meyering  <jim@meyering.net>

	* lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
	Include <unistd.h>.

2006-09-28  Bruno Haible  <bruno@clisp.org>

	* modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
	* modules/linkedhash-list (Depends-on): Likewise.
	* modules/rbtreehash-list (Depends-on): Likewise.

2006-09-28  Bruno Haible  <bruno@clisp.org>

	* lib/strndup.h: Simplify the redefinition of strndup.
	(_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
	* m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.

2006-09-28  Bruno Haible  <bruno@clisp.org>

	* lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
	* lib/gl_linkedhash_list.c: Likewise.
	* lib/gl_rbtreehash_list.c: Likewise.

2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
	getaddrinfo.

	* lib/__fpending.h: Don't include <stdio_ext.h> unless
	HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
	it causes <stdio_ext.h> to cause a compile-time error.
	Problem reported by Nelson H. F. Beebe.
	* lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
	of HAVE_DECL___PENDING.

	* m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
	* m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
	declaration.

2006-09-27  Jim Meyering  <jim@meyering.net>

	This file could end up with a definition for a function
	named __strndup, rather than rpl_strndup on a system with
	incomplete weak_alias support.
	* lib/strndup.c (strndup): Rename from __strndup.
	Remove #defines that used to map __strndup to strndup.
	Don't use K&R prototypes.
	Remove LIBC-related code, since this file is not sync'd with glibc.
	* lib/strndup.h: Revamp, accordingly.
	* m4/strndup.m4: Modernize.

2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/savewd (Depends-on): Add 'raise'.
	* lib/savewd.c: Include <signal.h>, for 'raise'.

2006-09-26  Jim Meyering  <jim@meyering.net>

	* m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
	when we detect Darwin 8.7.0's acl_get_file bug.
	Rearrange to perform the new (below) run-test while $LIBS
	contains any acl-related library.  Set USE_ACL at the end.
	(gl_ACL_GET_FILE): New function.

2006-09-26  Eric Blake  <ebb9@byu.net>

	* lib/verror.c: Include <config.h> unconditionally.

2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/clock-time (Maintainer): Add self.
	* modules/getlogin_r (Depends-on): Add extensions.

2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* modules/clock-time: New module.
	* modules/nanosleep (Depends-on): Add clock-time.
	* modules/gethrxtime (Depends-on): Likewise.
	* modules/gettime (Depends-on): Likewise.
	* modules/settime (Depends-on): Likewise.

	* modules/fts-lgpl: Depend on openat.
	* modules/mkancesdirs: Depend on savewd.
	* modules/mkdir-p: Likewise.

2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.

	* m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
	`gl_have_arbitrary_file_name_length_limit' to
	`gl_cv_have_arbitrary_file_name_length_limit', so that caching
	actually works between configure runs.

2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	    Bruno Haible  <bruno@clisp.org>

	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.

2006-09-25  Jim Meyering  <jim@meyering.net>

	* m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
	This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.

2006-09-25  Eric Blake  <ebb9@byu.net>

	* gnulib-tool (func_import, func_create_testdir): Fix typos in
	exec's in 2006-09-18 patch when shuffling fds.

2006-09-25  Bruno Haible  <bruno@clisp.org>

	* m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
	Reported by Jim Meyering.

2006-09-24  Jim Meyering  <jim@meyering.net>

	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
	compare a pointer against a literal "0".  That caused failures with
	at least HP-UX's hpcc.

2006-09-22  Simon Josefsson  <jas@extundo.com>

	* modules/gc-sha1:
	* modules/gc-md4:
	* modules/gc-hmac-sha1:
	* modules/gc-hmac-md5:
	* modules/gc-des:
	* modules/gc-arcfour: Distribute more files.

2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
	(gl_linked_iterator_from_to): Initialize struct completely.
	* lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
	(gl_tree_iterator_from_to): Likewise
	* lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
	* lib/gl_array_list.c [lint] (gl_array_iterator)
	(gl_array_iterator_from_to): Likewise.
	* lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
	* lib/gl_carray_list.c [lint] (gl_carray_iterator)
	(gl_carray_iterator_from_to): Likewise.

	* lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
	* lib/md4.c (md4_process_block): Remove unused variable.
	* lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
	parentheses for clarity.

2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* modules/bison-i18n (Depends-on): Add gettext.

2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
	* m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
	* m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
	also add missing comma that caused broken test.
	* m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
	stdlib.h, for `abort'.
	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
	variables.
	* m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
	include unistd.h if present, for `rmdir'.
	* m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
	variables.
	* m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
	in the process include standard headers for prototypes.
	* m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
	gets declared on GNU/Linux.
	* m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
	unistd.h, for `rmdir'.
	* m4/time_r.m4 (gl_TIME_R): Avoid unused variables.

	* m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
	always true.
	* m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.

	* m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.

2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_version): Create output all at once.  This
	may help avoid triggering unnecessary SIGPIPEs, and at any
	rate it doesn't hurt.

2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	    Bruno Haible  <bruno@clisp.org>

	* m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
	* m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
	* m4/signed.m4 (bh_C_SIGNED): Likewise.

	* m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
	(gl_FUNC_VASPRINTF): Invoke it.

2006-09-22  Bruno Haible  <bruno@clisp.org>

	* m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
	getloadavg.c as first argument.

2006-09-22  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import, func_create_testdir): Set gl_source_base
	at the beginning of the gl_INIT macro.
	* modules/getloadavg (configure.ac): Pass $gl_source_base to
	gl_GETLOADAVG.

2006-09-22  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_megatestdir): Don't include the config-h
	module.
	Suggested by Ralf Wildenhues.

2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>

	Import this patch from libc:

	2006-09-06  Jakub Jelinek  <jakub@redhat.com>

	* lib/regex_internal.c (re_string_reconstruct): Handle
	offset < pstr->valid_raw_len && pstr->offsets_needed case.
	Ensure no bytes read before raw_mbs array.  Pass a saved copy of
	pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
	re_string_context_at.

	* m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
	now requires it.
	(gl_PREREQ_REGEX): Don't check for locale.h any more, since
	gl_REGEX now does it for us.
	(gl_REGEX): Add test taken from
	http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.

	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
	Check that large offsets work.  Modernize Autoconf usages.
	Prefer "yes" to mean a good thing rather than a bad.
	Don't put "#define mkstemp" in config.h, as this might interfere
	with standard system headers that "#define mkstemp mkstemp64".

	* modules/mkstemp (Depends-on): Add extensions, so that
	mkstemp is visible on some platforms.
	(Makefile.am): Add mkstemp.h to EXTRA_DIST.
	(Include): Change to "mkstemp.h" from <stdlib.h>.
	(Files): Add mkstemp.h.

	* lib/mkstemp.h: New file, since some standard headers
	#define mkstemp.
	* lib/mkstemp.c: Revamp to put the !_LIBC code together.
	Include "mkstemp.h".
	Make the _LIBC code resemble glibc original more,
	e.g., use K&R style.
	* lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
	(mkstemp): Remove, since mkstemp.h does this for us.
	* lib/stdlib--.h: Include mkstemp.h.

	Import this patch from libc:

	2006-04-07  Ulrich Drepper  <drepper@redhat.com>

	* lib/tempname.c (__gen_tempname): Change attempts_min
	into a macro.  Use preprocessor to decide how to initialize
	attempts [Coverity CID 67].

2006-09-20  Bruno Haible  <bruno@clisp.org>

	* lib/mkdtemp.c: Import from libc.
	2006-04-07  Ulrich Drepper  <drepper@redhat.com>
		* sysdeps/posix/tempname.c (__gen_tempname): Change
		attempts_min into a macro.  Use preprocessor to decide how to
		initialize attempts [Coverity CID 67].
	2001-11-27  Paul Eggert  <eggert@twinsun.com>
		* sysdeps/posix/tempname.c (__gen_tempname): Try at least
		ATTEMPTS_MIN or TMP_MAX times, whichever is greater.

2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_exit): New function, to allow to pass the
	exit status portably through the trap.  Use everywhere.
	(--help, --version): Signal a write error.
	(trap): catch SIGPIPE, for write errors.
	Exit at the end of the trap, with the correct exit status.

2006-09-19  Karl Berry  <karl@gnu.org>

	* doc/gnulib.texi: note about the license texinfo files.

2006-09-19  Eric Blake  <ebb9@byu.net>

	* gnulib-tool: Avoid space-tab.

2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
	that prevented coreutils 6.1 from building.  Problem reported
	by Petter Reinholdtsen.

2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>

	* gnulib-tool (avoidlist): Fix typo that broke options like
	--avoid=lock that are used by coreutils bootstrap.

2006-09-18  Mark D. Baushke  <mdb@gnu.org>

	* m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
	more systematically.

2006-09-18  Jim Meyering  <jim@meyering.net>

	* lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.

2006-09-18  Bruno Haible  <bruno@clisp.org>

	* modules/inttypes (Files): Remove m4/inttypes-h.m4.

2006-09-18  Bruno Haible  <bruno@clisp.org>

	* m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
	* m4/inttypes-pri.m4: Require autoconf >= 2.52.
	(gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
	ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
	* m4/gettext.m4: Require autoconf >= 2.52.
	(gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
	* m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
	of gl_cv_header_inttypes_h.

2006-09-18  Bruno Haible  <bruno@clisp.org>

	* lib/javaversion.c: Include configmake.h.

2006-09-18  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import, func_create_testdir): Use exec tricks to
	avoid that the while loops be executed in a subshell.

2006-09-18  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (func_module): Break long lines.
	Suggested by Bruce Korb <bkorb@gnu.org>.

2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Speed up by a factor of 1.12.
	* gnulib-tool (nl): New variable.
	(func_import): Rewrite include directive extraction to only read each
	directive once.

2006-09-17  Bruno Haible  <bruno@clisp.org>

	* modules/javaversion (Makefile.am): Remove DEFS setting.
	(Depends-on): Add configmake, for PKGDATADIR definition.

2006-09-17  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Rewrite all files at once.

2006-09-17  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_append): New function, stolen from libtool.m4.
	(func_modules_transitive_closure, func_modules_add_dummy,
	func_modules_to_filelist, func_import, func_create_testdir,
	func_create_megatestdir, ...): Use it wherever possible.
	Suggested by Ralf Wildenhues.

2006-09-16  Karl Berry  <karl@gnu.org>

	* doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
	to avoid sectioning errors.
	* doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
	[ifinfo]: blank line after @center-ed titles.
	* doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
	Spell FSF address consistently with others.
	(These changes approved by rms.)

2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Speed up by a factor of 1.61.
	* gnulib-tool (func_modules_transitive_closure): Rewrite to not check
	already checked module names again.

2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Speed up by a factor of 1.13.
	* gnulib-tool (func_import): Rewrite all old_files at once; likewise
	for new_files, and the input to func_add_or_update.

2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
	func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.

2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/mkancesdirs (Depends-on): Add fcntl.
	* modules/savewd: New file.
	* MODULES.html.sh (File system functions): Add savewd.

	* modules/configmake (Makefile.am): Add support for the
	Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.

2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/savewd.m4: New file.

2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
	(dirchownmod): New arg FD.  All callers changed.
	Use FD rather than opening the directory ourself, as opening is
	now the caller's responsibility.
	* lib/dirchownmod.h: Likewise.
	* lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
	hosts that require <sys/types.h> before <sys/stat.h>.  Include
	fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
	(test_dir): Remove.
	(mkancesdirs): Return length of prefix of FILE that has already
	been made, or -2 if there is a child doing the work.  Redo
	algorithm so that it is O(N) rather than O(N**2).  Optimize away
	".", and treat ".." specially since it might stray back into
	already-created areas.  Use a subprocess if necessary.  New arg
	WD; all users changed.  MAKE_DIR function should now return 1
	if it creates a directory that is not readable.  Return -2 if
	a child process is spun off.
	* lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
	Adjust signature to match code.
	* lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
	(make_dir_parents): Use a subprocess if necessary.  New arg WD;
	all users changed.
	* lib/savewd.c, lib/savewd.h: New files.

2006-09-15  Jim Meyering  <jim@meyering.net>

	* modules/rename-dest-slash: New module.
	* MODULES.html.sh (posix_compat): Add it here.

	* modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.

2006-09-15  Jim Meyering  <jim@meyering.net>

	* m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
	file.

	* m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.

2006-09-15  Jim Meyering  <jim@meyering.net>

	* lib/rename-dest-slash.c (has_trailing_slash): Use
	FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
	(rpl_rename_dest_slash): Perform the cheaper trailing slash
	test before testing whether SRC is a directory.
	Suggestions from Bruno Haible.

	Avoid a warning about an unused variable.
	* lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
	into the #ifdef block where it's used.

	* lib/rename-dest-slash.c: New file.

2006-09-14  Bruno Haible  <bruno@clisp.org>

	* lib/allocsa.c: Include <config.h> unconditionally.
	* lib/asnprintf.c: Likewise.
	* lib/asprintf.c: Likewise.
	* lib/c-strcasecmp.c: Likewise.
	* lib/c-strcasestr.c: Likewise.
	* lib/c-strncasecmp.c: Likewise.
	* lib/c-strstr.c: Likewise.
	* lib/classpath.c: Likewise.
	* lib/clean-temp.c: Likewise.
	* lib/concatpath.c: Likewise.
	* lib/copy-file.c: Likewise.
	* lib/csharpcomp.c: Likewise.
	* lib/csharpexec.c: Likewise.
	* lib/execute.c: Likewise.
	* lib/fatal-signal.c: Likewise.
	* lib/findprog.c: Likewise.
	* lib/fwriteerror.c: Likewise.
	* lib/gl_array_list.c: Likewise.
	* lib/gl_array_oset.c: Likewise.
	* lib/gl_avltree_list.c: Likewise.
	* lib/gl_avltree_oset.c: Likewise.
	* lib/gl_avltreehash_list.c: Likewise.
	* lib/gl_carray_list.c: Likewise.
	* lib/gl_linked_list.c: Likewise.
	* lib/gl_linkedhash_list.c: Likewise.
	* lib/gl_list.c: Likewise.
	* lib/gl_oset.c: Likewise.
	* lib/gl_rbtree_list.c: Likewise.
	* lib/gl_rbtree_oset.c: Likewise.
	* lib/gl_rbtreehash_list.c: Likewise.
	* lib/imaxabs.c: Likewise.
	* lib/imaxdiv.c: Likewise.
	* lib/javacomp.c: Likewise.
	* lib/javaexec.c: Likewise.
	* lib/javaversion.c: Likewise.
	* lib/linebreak.c: Likewise.
	* lib/localcharset.c: Likewise.
	* lib/lock.c: Likewise.
	* lib/mbchar.c: Likewise.
	* lib/mbswidth.c: Likewise.
	* lib/mkdtemp.c: Likewise.
	* lib/pipe.c: Likewise.
	* lib/printf-args.c: Likewise.
	* lib/printf-parse.c: Likewise.
	* lib/progname.c: Likewise.
	* lib/progreloc.c: Likewise.
	* lib/readlink.c: Likewise.
	* lib/sh-quote.c: Likewise.
	* lib/stpcpy.c: Likewise.
	* lib/stpncpy.c: Likewise.
	* lib/strcasecmp.c: Likewise.
	* lib/strcasestr.c: Likewise.
	* lib/strcspn.c: Likewise.
	* lib/striconv.c: Likewise.
	* lib/strncasecmp.c: Likewise.
	* lib/strnlen1.c: Likewise.
	* lib/strstr.c: Likewise.
	* lib/strtok_r.c: Likewise.
	* lib/tls.c: Likewise.
	* lib/tmpdir.c: Likewise.
	* lib/unicodeio.c: Likewise.
	* lib/unsetenv.c: Likewise.
	* lib/vasnprintf.c: Likewise.
	* lib/vasprintf.c: Likewise.
	* lib/wait-process.c: Likewise.
	* lib/xallocsa.c: Likewise.
	* lib/xsetenv.c: Likewise.
	* lib/xstriconv.c: Likewise.

2006-09-13  Simon Josefsson  <jas@extundo.com>

	* m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
	that internally, suggested by Ralf Wildenhues
	<Ralf.Wildenhues@gmx.de>.

2006-09-13  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
	@LIBOBJS@.
	Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/_fpending.c: Include <config.h> unconditionally, since we no
	longer worry about uses that don't define HAVE_CONFIG_H.
	* lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
	* lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
	* lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
	* lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
	* lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
	* lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
	* lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
	* lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
	* lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
	* lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
	* lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
	* lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
	* lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
	* lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
	* lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
	* lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
	* lib/getusershell.c, lib/glob.c, lib/group-member.c:
	* lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
	* lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
	* lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
	* lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
	* lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
	* lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
	* lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
	* lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
	* lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
	* lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
	* lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
	* lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
	* lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
	* lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
	* lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
	* lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
	* lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
	* lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
	* lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
	* lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
	* lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
	* lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
	* lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
	* lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
	Likewise.

2006-09-13  Eric Blake  <ebb9@byu.net>

	* lib/getopt.c: Fix typo in last commit.

2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp-help.c (argp_doc): Make sure NULL is not passed to
	dgettext.

2006-09-12  Jim Meyering  <jim@meyering.net>

	* lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
	compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
	Reported by Nelson H. F. Beebe.

2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
	program_invocation_name and program_invocation_short_name are
	initialized.
	* lib/argp-namefrob.h: Move declarations of program_invocation_name
	and program_invocation_short_name to argp.h, so they are visible
	to user programs.
	* lib/argp.h: Likewise

2006-09-10  Bruno Haible  <bruno@clisp.org>

	* modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
	m4/inttypes_h.m4, m4/uintmax_t.m4.

2006-09-10  Bruno Haible  <bruno@clisp.org>

	* m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
	gl_AC_TYPE_UINTMAX_T.

2006-09-10  Bruno Haible  <bruno@clisp.org>

	* lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.

2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
	convention.  Text proposed by Bruno Haible.
	(struct argp_option): Document the use of N_() wrappers.

	* lib/argp-help.c (argp_doc): Split the untranslated doc string on
	'\v', and translate the two parts separately, instead of feeding
	the whole string to gettext.  This allows to exclude
	'\v' from the strings visible to the translator by writing doc
	strings as N_("..") "\v" N_("..").

2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Undo latest change; the bug was fixed.

2006-09-09  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
	assignments if building a library without libtool.
	(func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
	in func_emit_lib_Makefile_am.
	(func_import): When building a static library libfoo.a, arrange to
	define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
	(func_create_testdir): Likewise.
	* modules/gc (configure.ac, Makefile.am): If building statically,
	augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
	* modules/iconvme (configure.ac, Makefile.am): Likewise.
	* modules/striconv (configure.ac, Makefile.am): Likewise.
	Based on a suggestion by Ralf Wildenhues.

2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
	Check for unistd.h too, since Autoconf doesn't assume POSIX.
	Also:

	2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
	Add year_2050_test to catch glibc bug 2821
	<http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.

	2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
	Prefer #ifdef to #if.

	2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
	Return from 'main' instead of calling 'exit'.

2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/mktime.c (guess_time_tm): Fix bug where mktime
	returned the maximum time_t value rather than (time_t) -1.
	Problem originally reported by William Bardwell
	<http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.

	* lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
	Moved to here ...
	* lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
	... from here.

2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Temporarily comment out mktime.c until glibc bug
	2821 is fixed.

2006-09-08  Jim Meyering  <jim@meyering.net>

	Don't make generated files read-only.  That would bother too many
	people.  However, do retain the ability to work when targets are
	read-only: remove the destination and temporary files before writing
	them (when generated via sed or echo), or by using the -f option for
	both cp and mv commands.  Suggestion to use -f from Paul Eggert.
	* modules/alloca-opt, modules/argz, modules/arpa_inet:
	* modules/byteswap, modules/configmake, modules/fcntl:
	* modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
	* modules/localcharset, modules/netinet_in, modules/poll:
	* modules/stdbool, modules/stdint, modules/sys_select:
	* modules/sys_socket, modules/sys_stat, modules/sysexits:

2006-09-08  Jim Meyering  <jim@meyering.net>

	Avoid new build failure on FreeBSD 6.0.
	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
	<sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
	Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.

2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.

2006-09-07  Jim Meyering  <jim@meyering.net>

	Fix global typo in last change: use chmod u-w, not chmod u-x.
	Spotted by Paul Eggert and Bruce Korb.
	* modules/alloca-opt, modules/argz, modules/arpa_inet:
	* modules/byteswap, modules/configmake, modules/fcntl:
	* modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
	* modules/localcharset, modules/netinet_in, modules/poll:
	* modules/stdbool, modules/stdint, modules/sys_select:
	* modules/sys_socket, modules/sys_stat, modules/sysexits:

2006-09-06  Jim Meyering  <jim@meyering.net>

	Make generated files be read-only.
	* modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
	Ensure that each generated file is now read-only.
	* modules/argz: Likewise.
	* modules/arpa_inet: Likewise.
	* modules/byteswap: Likewise.
	* modules/configmake: Likewise.
	* modules/fcntl: Likewise.
	* modules/fnmatch: Likewise.
	* modules/getopt: Likewise.
	* modules/glob: Likewise.
	* modules/inttypes: Likewise.
	* modules/netinet_in: Likewise.
	* modules/poll: Likewise.
	* modules/stdbool: Likewise.
	* modules/stdint: Likewise.
	* modules/sys_select: Likewise.
	* modules/sys_socket: Likewise.
	* modules/sys_stat: Likewise.
	* modules/sysexits: Likewise.
	* modules/localcharset: Same as above, but continue using temporary
	file named "t-$@" (why different?) rather than the "$@-t" used
	everywhere else.

	* modules/sysexits (Makefile.am): Replace literal occurrences
	of "sysexit.h" more readable, and more consistent, "$@".

2006-09-06  Bruno Haible  <bruno@clisp.org>

	* modules/striconv: New file.
	* modules/xstriconv: New file.
	* MODULES.html.sh (Internationalization functions): Add striconv,
	xstriconv.

2006-09-06  Bruno Haible  <bruno@clisp.org>

	* modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
	* modules/iconvme (Makefile.am): Likewise. Also handle the case of
	not using libtool correctly.

2006-09-06  Bruno Haible  <bruno@clisp.org>

	* lib/striconv.h: New file.
	* lib/striconv.c: New file, merging iconvme.c with GNU gettext's
	iconvstring.c.
	* lib/xstriconv.h: New file.
	* lib/xstriconv.c: New file.

2006-09-06  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am): Initialize also
	lib_..._LDFLAGS.

2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lib/argz_.h: Sync from Libtool.

	2006-09-04  George Bosilca <bosilca@cs.utk.edu>
		and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

	* lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.

2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>

	* modules/trim: New file.

2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>

	* lib/trim.h: New file.
	* lib/trim.c: New file.

2006-09-05  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (String handling): Add trim.

2006-09-04  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (signed.m4, gettext.m4): changes not propagated
	until next release.

2006-09-03  Bruno Haible  <bruno@clisp.org>

	* m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
	correctly.

2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
	not gl_GETLOADAVG.  Omit unneeded semicolons.
	Problems reported by Ralf Wildenhues in
	<http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.
	(gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
	at the end, which is the usual gnulib style.

	* m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
	of doing all the work ourselves.
	* m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
	sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.

2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
	Problem reported by Ralf Wildenhues in
	<http://lists.gnu.org/r/bug-gnulib/2006-09/msg00000.html>.

	* lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
	HAVE_STRUCT_STATFS_F_FSTYPENAME.

2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>

	* gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
	yesterday's patch by changing test -n to test -z.

2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/getloadavg (Files): Add m4/getloadavg.m4.
	(configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
	the former is now obsolescent.

	* modules/chdir-long (Depends-on): Add fcntl.

2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
	obsolescent, and programs should use gnulib instead.
	* m4/getloadavg.m4: New file, with contents taken from Autoconf
	but with prefixes changed.

2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
	or stdbool.h, because they might not exist while configuring.

	* lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
	Don't include unistd.h or limits.h; not needed, since chdir-long.h
	does that for us.
	(O_DIRECTORY): Remove.

2006-08-31  Eric Blake  <ebb9@byu.net>

	* gnulib-tool: Don't let emacs change spaces to TAB.

2006-08-31  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: When calling func_import more than once, do it in a
	subshell.
	Reported by Eric Blake <ebb9@byu.net>.

2006-08-31  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (nl): Remove variable.
	(sed_transform_lib_file): Use more robust test for config-h module.
	(func_import): Fix typo in 2006-08-25 patch.

2006-08-31  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
	specified, augment Makefile.am variables instead of assigning them.

2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	Work around a bug in both the Linux and SunOS 64-bit kernels:
	nanosleep mishandles sleeps for longer than 2**31 seconds.
	Problem reported by Frank v Waveren in
	<http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
	Check for nanosleep bug.
	(LIB_NANOSLEEP): Append clock_gettime library if needed.

2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	Work around a bug in both the Linux and SunOS 64-bit kernels:
	nanosleep mishandles sleeps for longer than 2**31 seconds.
	Problem reported by Frank v Waveren in
	<http://lists.gnu.org/r/bug-coreutils/2006-08/msg00298.html>.
	* lib/nanosleep.c (BILLION): New constant.
	(getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
	(rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
	implementation.

2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/nanosleep (Depends-on): Add gettime.

2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
	and Simon Josefsson  <jas@extundo.com>
	and Oskar Liljeblad  <oskar@osk.mine.nu>

	* MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
	* gnulib-tool (func_import): New license type 'unmodifiable license
	text'.
	* modules/fdl: Use it.  Longer description.
	* module/gpl, module/lgpl: New files.

2006-08-30  Jim Meyering  <jim@meyering.net>

	* lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
	shadowing the parameter.

2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Sync from Libtool:

	2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
	sharing with gnulib.  Report by Eric Blake.

2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/isapipe: New file.
	* MODULES.html.sh (File descriptor based Input/Output): Add isapipe.

2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/configmake (Makefile.am): Add a comment, and omit
	the CONFIGMAKE_ prefix from generated macro names.  Suggested
	by Bruno Haible.

2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/isapipe.m4: New file.

2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/isapipe.c, lib/isapipe.h: New files.

2006-08-29  Jim Meyering  <jim@meyering.net>

	* modules/configmake (Makefile.am): Make configmake.h depend on
	Makefile.  Otherwise, a stale configmake.h could hang around.

2006-08-29  Eric Blake  <ebb9@byu.net>

	* lib/error.c (error_at_line, print_errno_message): Match libc, after
	resolution of upstream bug 3044.

2006-08-29  Bruno Haible  <bruno@clisp.org>

	* modules/localcharset (Depends-on): Add configmake.
	(Makefile.am): Remove setting of LIBDIR through DEFS.

2006-08-29  Bruno Haible  <bruno@clisp.org>

	* lib/localcharset.c: Include configmake.h in order to get LIBDIR
	defined.

2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/fcntl: New file.
	* modules/chdir-safer (Depends-on): Add fcntl.
	* modules/fts: Likewise.
	* modules/mkdir-p: Likewise.

	* modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
	This undoes the most recent change, since we're now addressing the
	problem in a different way.

	* gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
	into output, since the output might be called Makefile.am even
	if $makefile_name is something different.
	(func_import): Use $makefile_am rather than
	${makefile_name-Makefile.am}, to fix a bug where makefile_name was
	empty.

	* modules/inttypes (Files): Add m4/inttypes-h.m4.

2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
	* m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
	recent change to stdint.m4, since we're now addressing the problem in a
	different way.

2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/fcntl_h.m4: New file.

2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/fcntl_.h: New file.
	* lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
	the fcntl module.
	* lib/dirchownmod.c: Likewise.
	* lib/fts.c: Likewise.

	* lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
	Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
	* lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
	just before including <inttypes.h>, to avoid circular inclusion.

2006-08-28  Jim Meyering  <jim@meyering.net>

	* doc/visibility.texi: Actually read and correct the grammar of the
	sentence affected by yesterday's change.

2006-08-28  Eric Blake  <ebb9@byu.net>

	* modules/inttypes (Makefile.am): Fix sed error when inttypes.h
	needs wrapper.

2006-08-28  Eric Blake  <ebb9@byu.net>

	* m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.

2006-08-28  Eric Blake  <ebb9@byu.net>

	* m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.

2006-08-28  Bruno Haible  <bruno@clisp.org>

	* modules/c-strstr: New file, from GNU gettext.
	* MODULES.html.sh (String handling): Add c-strstr.

2006-08-28  Bruno Haible  <bruno@clisp.org>

	* m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
	macros.
	Reported by Eric Blake.

2006-08-28  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (EOVERFLOW): Remove definition.
	(VASNPRINTF): Return a string of length > INT_MAX without failing.
	* lib/vasprintf.c: Include errno.h, limits.h.
	(EOVERFLOW): New fallback definition.
	(vasprintf): Test here whether the string length is > INT_MAX.
	* lib/vsnprintf.c: Include errno.h, limits.h.
	(EOVERFLOW): New fallback definition.
	(vsnprintf): Fix bug when generated string was too long for the buffer.
	Test here whether the string length is > INT_MAX.

2006-08-28  Bruno Haible  <bruno@clisp.org>

	* lib/inttypes_.h (SCNX*): Remove definitions.
	Reported by Eric Blake.

2006-08-28  Bruno Haible  <bruno@clisp.org>

	* lib/c-strstr.h: New file, from GNU gettext.
	* lib/c-strstr.c: New file, from GNU gettext.

2006-08-28  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Reorder some statements.

2006-08-28  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: New option --makefile-name.
	(func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
	$makefile_name.
	(func_import): Write $makefile_name to the cache file, and read it from
	there unless explicitly specified. Use $makefile_name as file name
	instead of Makefile.am. Adjust the recommendations accordingly.

2006-08-28  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_verify_module): Check against misapplying patch.

2006-08-28  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_relativize, func_relconcat): New functions.
	Give an error if --local-dir is given with --update.
	Remove trailing slashes from $local_gnulib_dir.
	(func_import): Store the relativized $local_gnulib_dir in
	gnulib-cache.m4, and read it from there if not specified explicitly.

2006-08-28  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
	is the current directory. Respect also $local_gnulib_dir.

2006-08-28  Bruno Haible  <bruno@clisp.org>
	    Simon Josefsson  <jas@extundo.com>

	BeOS portability.
	* lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.

2006-08-27  Jim Meyering  <jim@meyering.net>

	* doc/visibility.texi: Remove duplicate word: "pointer".

2006-08-26  Bruno Haible  <bruno@clisp.org>

	* modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
	Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
	(Makefile.am): Create inttypes.h from inttypes_.h.
	* modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.

	* modules/imaxabs: New file.

	* modules/imaxdiv: New file.

2006-08-26  Bruno Haible  <bruno@clisp.org>

	* m4/inttypes.m4: New file.
	* m4/_inttypes_h.m4: Remove file.
	* m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
	PRI_MACROS_BROKEN.
	* m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.

	* m4/imaxabs.m4: New file.

	* m4/imaxdiv.m4: New file.

2006-08-26  Bruno Haible  <bruno@clisp.org>

	* lib/inttypes_.h: New file.
	* lib/inttypes.h: Remove file.
	* lib/stdint_.h: Include <inttypes.h> through its absolute filename.

	* lib/imaxabs.c: New file.

	* lib/imaxdiv.c: New file.

2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	New config-h module, so that "make" output needn't be cluttered
	by -DHAVE_CONFIG_H.
	* MODULES.html.sh (Support for building libraries and executables):
	Add config-h.
	* modules/config-h: New file.
	* gnulib-tool (nl, sed_transform_lib_file): New vars.
	(func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
	the config-h module is used.

	New configmake module, so that "make" output needn't be cluttered
	by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
	* MODULES.html.sh (Support for building libraries and executables):
	Add configmake.
	* modules/configmake: New file.

2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/config-h.m4: New file.

2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Add elisp-comp.

2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh (Support for building libraries and executables):
	Add elisp-comp.
	* build-aux/elisp-comp: New file.
	* modules/elisp-comp: New file.

2006-08-24  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Use non-default values of
	sourcebase and m4base.

2006-08-24  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
	HTML structure.

2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/openat (Depends-on): Add lchown.

2006-08-23  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import, func_create_testdir): Emit an invocation
	of gl_LOCK_EARLY instead of gl_LOCK.

2006-08-23  Bruno Haible  <bruno@clisp.org>

	* m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
	on OSF/1 to no.
	Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.

2006-08-23  Bruno Haible  <bruno@clisp.org>

	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
	as unusable.

	* m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
	(gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
	(gl_LOCK): New macro.

2006-08-22  Simon Josefsson  <jas@extundo.com>

	* modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
	to md5 module.

2006-08-22  Simon Josefsson  <jas@extundo.com>

	* MODULES.html.sh: Add "Support for maintaining and release
	projects".

	* build-aux/gnupload: New file, from coreutils.

2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid the need for AC_LIBSOURCES in m4 macros.
	* modules/arcfour (EXTRA_DIST): Add arcfour.h.
	* modules/arctwo (EXTRA_DIST): Add arctwo.h.
	* modules/check-version (EXTRA_DIST): Add check-version.h.
	* modules/crc (EXTRA_DIST): Add crc.h.
	* modules/des (EXTRA_DIST): Add des.h.
	* modules/gc (EXTRA_DIST): Add gc.h.
	* modules/getdelim (EXTRA_DIST): Add getdelim.h.
	* modules/getline (EXTRA_DIST): Add getline.h.
	* modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
	* modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
	* modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
	* modules/md2 (EXTRA_DIST): Add md2.h.
	* modules/md4 (EXTRA_DIST): Add md4.h.
	* modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
	* modules/read-file (EXTRA_DIST): Add read-file.h.
	* modules/readline (EXTRA_DIST): Add readline.h.
	* modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
	rijndael-api-fst.h.

2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/rijndael.m4 (gl_ARCFOUR):
	* m4/arctwo.m4 (gl_ARCTWO):
	* m4/check-version.m4 (gl_CHECK_VERSION):
	* m4/crc.m4 (gl_CRC):
	* m4/des.m4 (gl_DES):
	* m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
	* m4/gc.m4 (gl_GC):
	* m4/getdelim.m4 (gl_FUNC_GETDELIM):
	* m4/getline.m4 (gl_FUNC_GETLINE):
	* m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
	* m4/hmac-md5.m4 (gl_HMAC_MD5):
	* m4/hmac-sha1.m4 (gl_HMAC_SHA1):
	* m4/md2.m4 (gl_MD2):
	* m4/md4.m4 (gl_MD4):
	* m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
	* m4/read-file.m4 (gl_FUNC_READ_FILE):
	* m4/readline.m4 (gl_FUNC_READLINE):
	* m4/rijndael.m4 (gl_RIJNDAEL):
	Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
	to get the necessary .h files and whatnot.

2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Remove gnupload, since coreutils now syncs from
	gnulib rather than the other way around.
	* config/srclistvars.sh (COREUTILS): Remove.

2006-08-22  Jim Meyering  <jim@meyering.net>

	* modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.

	* modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.

2006-08-22  Eric Blake  <ebb9@byu.net>

	* modules/regexprops-generic: New file.
	* MODULES.html.sh (Support for building documentation): List it.

2006-08-22  Eric Blake  <ebb9@byu.net>

	* m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
	* m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
	* m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
	* m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.

2006-08-22  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
	and lib_LTLIBRARIES like the other lib_* variables.

2006-08-22  Bruno Haible  <bruno@clisp.org>

	* build-aux/x-to-1.in: New file, from GNU gettext.

2006-08-22  Bruno Haible  <bruno@clisp.org>

	* m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
	<utmpx.h> exists.

2006-08-22  Bruno Haible  <bruno@clisp.org>

	* lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
	<utmpx.h> exists.

2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	BeOS portability.
	* lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
	exist.
	Problem reported by Bruno Haible.

2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	Avoid the need for AC_LIBSOURCES in m4 macros.
	* modules/acl (EXTRA_DIST): Add acl.h.
	* modules/argmatch (Files): Add m4/argmatch.m4.
	(configure.ac): Add gl_ARGMATCH.
	(EXTRA_DIST): Renamed from lib_SOURCES, for
	consistency with the other modules.  Remove argmatch.c.
	* modules/backupfile (EXTRA_DIST): Add backupfile.h.
	* modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
	* modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
	* modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
	* modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
	* modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
	* modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
	* modules/cloexec (EXTRA_DIST): Add cloexec.h.
	* modules/close-stream (EXTRA_DIST): Add close-stream.h.
	* modules/closeout (EXTRA_DIST): Add closeout.h.
	* modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
	* modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
	* modules/dirfd (EXTRA_DIST): Add dirfd.h.
	* modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
	dirname.h; remove basename.c and stripslash.c.
	* modules/exclude (EXTRA_DIST): Add exclude.h.
	* modules/exitfail (EXTRA_DIST): Add exitfail.h.
	* modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
	* modules/file-type (EXTRA_DIST): Add file-type.h.
	* modules/filemode (EXTRA_DIST): Add filemode.h.
	* modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
	* modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
	* modules/fpending (EXTRA_DIST): Add __fpending.h.
	* modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
	* modules/fsusage (EXTRA_DIST): Add fsusage.h.
	* modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
	* modules/getcwd (EXTRA_DIST): Add getcwd.h.
	* modules/getdate (EXTRA_DIST): Add getdate.c.
	* modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
	* modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
	* modules/getpass (EXTRA_DIST): Add getpass.h.
	* modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
	* modules/group-member (EXTRA_DIST): Add group-member.h.
	* modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
	* modules/hash (EXTRA_DIST): Add hash.h.
	* modules/human (EXTRA_DIST): Add human.h.
	* modules/inttypes (EXTRA_DIST): Add inttypes.h.
	* modules/lchmod (EXTRA_DIST): Add lchmod.h.
	* modules/lchown (EXTRA_DIST): Add lchown.h.
	* modules/long-options (EXTRA_DIST): Add long-options.h.
	* modules/lstat (EXTRA_DIST): Add lstat.h.
	* modules/md5 (EXTRA_DIST): Add memcasecmp.h.
	* modules/memcoll (EXTRA_DIST): Add memcoll.h.
	* modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
	* modules/memrchr (EXTRA_DIST): Add memrchr.h.
	* modules/memxor (EXTRA_DIST): Add memxor.h.
	* modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
	* modules/mkdir-p (EXTRA_DIST): Add modechange.h.
	* modules/mountlist (EXTRA_DIST): Add mountlist.h.
	* modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
	* modules/pathmax (EXTRA_DIST): Add pathmax.h.
	* modules/physmem (EXTRA_DIST): Add physmem.h.
	* modules/posixtm (EXTRA_DIST): Add posixtm.h.
	* modules/posixver (EXTRA_DIST): Add posixver.h.
	* modules/quote (EXTRA_DIST): Add quote.h.
	* modules/quotearg (EXTRA_DIST): Add quotearg.h.
	* modules/readtokens (EXTRA_DIST): Add readtokens.h.
	* modules/readutmp (EXTRA_DIST): Add readutmp.h.
	* modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
	regex_internal.h regexec.c.
	* modules/safe-read (EXTRA_DIST): Add safe-read.h.
	* modules/safe-write (EXTRA_DIST): Add safe-write.h.
	* modules/same (EXTRA_DIST): Add same.h.
	* modules/same-inode (EXTRA_DIST): Add same-inode.h.
	* modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
	* modules/savedir (EXTRA_DIST): Add savedir.h.
	* modules/sha1 (EXTRA_DIST): Add sha1.h.
	* modules/sig2str (EXTRA_DIST): Add sig2str.h.
	* modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
	* modules/stat-time (EXTRA_DIST): Add stat-time.h.
	* modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
	* modules/strdup (EXTRA_DIST): Add strdup.h.
	* modules/strftime (EXTRA_DIST): Add strftime.h.
	* modules/strndup (EXTRA_DIST): Add strndup.h.
	* modules/strnlen (EXTRA_DIST): Add strnlen.h.
	* modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
	* modules/time_r (EXTRA_DIST): Add time_r.h.
	* modules/timespec (EXTRA_DIST): Add timespec.h.
	* modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
	* modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
	* modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
	* modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
	* modules/userspec (EXTRA_DIST): Add userspec.h.
	* modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
	* modules/utimens (EXTRA_DIST): Add utimens.h.
	* modules/xalloc (EXTRA_DIST): Add xalloc.h.
	* modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
	* modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
	* modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
	* modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
	* modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
	* modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
	* modules/yesno (EXTRA_DIST): Add yesno.h.

2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.

	* m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
	* m4/dev-ino.m4, same-inode.m4: Remove.

	* m4/_inttypes_h.m4 (gl_INTTYPES_H):
	* m4/acl.m4 (AC_FUNC_ACL):
	* m4/backupfile.m4 (gl_BACKUPFILE):
	* m4/c-strtod.m4 (gl_C99_STRTOLD):
	* m4/canon-host.m4 (gl_CANON_HOST):
	* m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
	* m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
	* m4/chdir-safer.m4 (gl_CHDIR_SAFER):
	* m4/cloexec.m4 (gl_CLOEXEC):
	* m4/close-stream.m4 (gl_CLOSE_STREAM):
	* m4/closeout.m4 (gl_CLOSEOUT):
	* m4/dirfd.m4 (gl_FUNC_DIRFD):
	* m4/dirname.m4 (gl_DIRNAME):
	* m4/exclude.m4 (gl_EXCLUDE):
	* m4/exitfail.m4 (gl_EXITFAIL):
	* m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
	* m4/file-type.m4 (gl_FILE_TYPE):
	* m4/filemode.m4 (gl_FILEMODE):
	* m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
	* m4/fpending.m4 (gl_FUNC_FPENDING):
	* m4/fprintftime.m4 (gl_FPRINTFTIME):
	* m4/fts.m4 (gl_FUNC_FTS):
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
	* m4/getdate.m4 (gl_GETDATE):
	* m4/gethrxtime.m4 (gl_GETHRXTIME):
	* m4/getpagesize.m4 (gl_GETPAGESIZE):
	* m4/getpass.m4 (gl_FUNC_GETPASS):
	* m4/gettime.m4 (gl_GETTIME):
	* m4/getugroups.m4 (gl_GETUGROUPS):
	* m4/glob.m4 (gl_GLOB_SUBSTITUTE):
	* m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
	* m4/hard-locale.m4 (gl_HARD_LOCALE):
	* m4/hash.m4 (gl_HASH):
	* m4/idcache.m4 (gl_IDCACHE):
	* m4/lchmod.m4 (gl_FUNC_LCHMOD):
	* m4/lchown.m4 (gl_FUNC_LCHOWN):
	* m4/long-options.m4 (gl_LONG_OPTIONS):
	* m4/lstat.m4 (gl_FUNC_LSTAT):
	* m4/md5.m4 (gl_MD5):
	* m4/memcasecmp.m4 (gl_MEMCASECMP):
	* m4/memcoll.m4 (gl_MEMCOLL):
	* m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
	* m4/memrchr.m4 (gl_FUNC_MEMRCHR):
	* m4/memxor.m4 (gl_MEMXOR):
	* m4/mkancesdirs.m4 (gl_MKANCESDIRS):
	* m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
	* m4/modechange.m4 (gl_MODECHANGE):
	* m4/mountlist.m4 (gl_MOUNTLIST):
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
	* m4/openat.m4 (gl_FUNC_OPENAT):
	* m4/pathmax.m4 (gl_PATHMAX):
	* m4/physmem.m4 (gl_PHYSMEM):
	* m4/posixtm.m4 (gl_POSIXTM):
	* m4/posixver.m4 (gl_POSIXVER):
	* m4/quote.m4 (gl_QUOTE):
	* m4/quotearg.m4 (gl_QUOTEARG):
	* m4/readtokens.m4 (gl_READTOKENS):
	* m4/readutmp.m4 (gl_READUTMP):
	* m4/regex.m4 (gl_REGEX):
	* m4/safe-read.m4 (gl_SAFE_READ):
	* m4/safe-write.m4 (gl_SAFE_WRITE):
	* m4/same.m4 (gl_SAME):
	* m4/save-cwd.m4 (gl_SAVE_CWD):
	* m4/savedir.m4 (gl_SAVEDIR):
	* m4/settime.m4 (gl_SETTIME):
	* m4/sha1.m4 (gl_SHA1):
	* m4/sig2str.m4 (gl_FUNC_SIG2STR):
	* m4/stat-macros.m4 (gl_STAT_MACROS):
	* m4/stat-time.m4 (gl_STAT_TIME):
	* m4/stdio-safer.m4 (gl_FOPEN_SAFER):
	* m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
	* m4/strdup.m4 (gl_FUNC_STRDUP):
	* m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
	* m4/strndup.m4 (gl_FUNC_STRNDUP):
	* m4/strnlen.m4 (gl_FUNC_STRNLEN):
	* m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
	* m4/time_r.m4 (gl_TIME_R):
	* m4/timespec.m4 (gl_TIMESPEC):
	* m4/unistd-safer.m4 (gl_UNISTD_SAFER):
	* m4/unlinkdir.m4 (gl_UNLINKDIR):
	* m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
	* m4/userspec.m4 (gl_USERSPEC):
	* m4/utimecmp.m4 (gl_UTIMECMP):
	* m4/utimens.m4 (gl_UTIMENS):
	* m4/xalloc.m4 (gl_XALLOC):
	* m4/xgetcwd.m4 (gl_XGETCWD):
	* m4/xnanosleep.m4 (gl_XNANOSLEEP):
	* m4/xreadlink.m4 (gl_XREADLINK):
	* m4/xstrtod.m4 (gl_XSTRTOD):
	* m4/yesno.m4 (gl_YESNO):
	Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
	to get the necessary .h files and whatnot.

2006-08-21  Mark D. Baushke  <mdb@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
	/bin/sh understanding of '!' conditional negation.

2006-08-21  Jim Meyering  <jim@meyering.net>

	* modules/openat (Depends-on): Really alphabetize.

	* modules/acl (Depends-on): Add error and quote.

	* check-module (find_included_lib_files): Add at-func.c to the
	ok-to-include-more-than-once white list.

	* modules/openat (Depends-on): Add lstat.  Alphabetize.

2006-08-21  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
	Emit a pkgdata_DATA variable only if some snippets add contents to it.
	Reported by Martin Lambers <marlam@marlam.de>.

2006-08-21  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
	specify an installation location, don't emit a noinst_LIBRARIES or
	noinst_LTLIBRARIES assignment.

2006-08-21  Bruno Haible  <bruno@clisp.org>

	BeOS portability.
	* modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
	BeOS has mbrtowc() but no <wctype.h>.

2006-08-21  Bruno Haible  <bruno@clisp.org>

	BeOS portability.
	* m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
	exist.

2006-08-21  Bruno Haible  <bruno@clisp.org>

	BeOS portability.
	* lib/mbchar.h: Include <wctype.h> only if it exists.

2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	Remove files that are no longer needed by their respective modules.
	* m4/obstack.m4: Remove.
	* m4/strerror_r.m4: Remove.
	* m4/uint32_t.m4: Remove.
	* m4/uintptr_t.m4: Remove.
	* m4/ullong_max.m4: Remove.
	* m4/xstrtoimax.m4: Remove.
	* m4/xstrtoumax.m4: Remove.

	* m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
	gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
	dependencies now capture this.

	* m4/cycle-check.m4 (gl_CYCLE_CHECK):
	Do not use AC_LIBSOURCES, since gnulib modules now do this.
	* m4/fsusage.m4 (gl_FSUSAGE): Likewise.
	* m4/human.m4 (gl_HUMAN): Likewise.
	* m4/inttostr.m4 (gl_INTTOSTR): Likewise.
	* m4/xstrtol.m4 (gl_XSTRTOL): Likewise.

	* m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.

	* m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
	gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
	stdint.
	* m4/human.m4 (gl_HUMAN): Likewise.
	* m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
	* m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
	* m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
	* m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
	* m4/xstrtol (gl_XSTRTOL): Likewise.

	* m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
	AC_TYPE_LONG_LONG_INT.
	* m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
	* m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
	* m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
	* m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.

	* m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
	on stdbool.

	* m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
	(gl_PREREQ_XSTRTOUL): Remove.

	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.

	* m4/posixver.m4: Fix comment since head -1 now works even in POSIX
	mode.

2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	Add and change modules to make it easier for coreutils to use
	gnulib-tool.
	* modules/backupfile (Files): Remove m4/d-ino.m4.
	(Depends-on): Add d-ino.
	* modules/cycle-check (Depends-on): Add stdint.
	(lib_SOURCES): Add cycle-check.h.
	* modules/d-ino: New module.
	* modules/d-type: New module.
	* modules/error (Files): Remove m4/strerror_r.m4.
	* modules/filemode (Files): Add m4/st_dm_mode.m4.
	* modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
	m4/inttypes_h.m4, m4/uintmax_t.m4.
	(Depends-on): Add stdint.
	(lib_SOURCES): Add fsusage.h.
	* modules/getcwd (Files): Remove d-ino.m4.
	(Depends-on): Add d-ino.
	* modules/getndelim2 (Depends-on): Add stdint.
	* modules/glob (Files): Remove m4/d-type.m4.
	(Depends-on): Add d-type.
	* modules/host-os: New module.
	* modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
	m4/inttypes_h.m4, m4/uintmax_t.m4.
	* Depends-on: Add stdint.
	(lib_SOURCES): Add human.h.
	* modules/inttostr (Files): Remove m4/intmax_t.m4,
	m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
	m4/uintmax_t.m4, m4/ulonglong.m4.
	(Depends-on): Add stdint.
	(EXTRA_DIST): Add inttostr.h.
	* modules/lchmod: New module.
	* modules/link-follow: New module.
	* modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
	(Depends-on): Add lchmod.
	* modules/mkstemp (Files): Remove m4/ulonglong.m4,
	m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
	(Depends-on): Add stdint.
	* modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
	m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
	(Depends-on): Add stdint.
	(configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
	* modules/perl: New module.
	* modules/regex (Depends-on): Add stdint.
	* modules/rmdir-errno: New module.
	* modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
	m4/intmax_t.m4.
	(Depends-on): Add stdint.
	* modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
	m4/uintmax_t.m4.
	(Depends-on): Add stdint.
	* modules/unlink-busy: New module.
	* modules/utimecmp (Depends-on): Add stdint.
	* modules/uptime: New module.
	* modules/winsz-ioctl: New module.
	* modules/winsz-termios: New module.
	* modules/xnanosleep (Depends-on): Add nanosleep.
	* modules/ullong_max: Remove.
	* modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
	(configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
	* modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
	m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
	(Depends-on): Add inttypes.
	(lib_SOURCES): Add xstrtol.h.
	* modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
	(configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
	* MODULES.html.sh: Move 'assert' into the assert section.
	Move 'dummy' into the linking section.
	Remove ullong_max.
	Add section for compatibility checks for POSIX:2001 functions,
	and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
	winsz-ioctl, and winsz-termios into it.
	Add lchmod.
	Add top-level Misc section and put host-os, perl, and uptime
	into it.

2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/cycle-check.h: Include <stdint.h> unconditionally, since we
	now assume the stdint module.  Do not include inttypes.h.
	* lib/fsusage.h: Likewise.
	* lib/getndelim2.c: Likewise.
	* lib/human.h: Likewise.
	* lib/inttostr.h: Likewise.
	* lib/obstack.c: Likewise.
	* lib/regex_internal.h: Likewise.
	* lib/tempname.c: Likewise.
	* lib/utimecmp.c: Likewise.
	* lib/xstrtol.h: Likewise.

	* lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.

	* lib/strtoimax.c: Adjust to macro name changes in Autoconf,
	e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
	* lib/xtime.h: Likewise.

2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/openat (Files): Add lib/fchmodat.c.
	Fixes problem reported by Jay Youngman.

2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/fchmodat.c: New file, from coreutils.  This was inadvertently
	omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.

2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
	    Bruno Haible  <bruno@clisp.org>

	* m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
	and is a script that invokes bison. Tighten the code. Add comments.

2006-08-18  Jim Meyering  <jim@meyering.net>

	* m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
	CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
	gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
	failed to link due to unresolved clock_gettime on a linux-2.4.x system.

2006-08-18  Bruno Haible  <bruno@clisp.org>

	* modules/bison-i18n: New file.
	* MODULES.html.sh (Internationalization functions): Add it.

2006-08-18  Bruno Haible  <bruno@clisp.org>

	* m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
	sys/statvfs.h. When getmntinfo was found, check its declaration and
	set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.

2006-08-18  Bruno Haible  <bruno@clisp.org>

	* m4/bison-i18n.m4: New file, from bison.

2006-08-18  Bruno Haible  <bruno@clisp.org>

	* lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
	(ME_DUMMY): Treat "kernfs" as a dummy.
	(read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.

2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	Update from coreutils.

	2006-08-15  Jim Meyering  <jim@meyering.net>

	* m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.

	2006-01-17  Jim Meyering  <jim@meyering.net>

	* m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.

	2006-01-11  Jim Meyering  <jim@meyering.net>

	* m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
	Check for the lchmod function.

2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	Update from coreutils.

	* lib/__fpending.h: Add copyright notice.
	* lib/fprintftime.h: Likewise.
	* lib/savedir.c: Use (C) in copyright notice.
	* lib/savedir.h: Likewise.

	2006-08-15  Jim Meyering  <jim@meyering.net>

	* lib/at-func.c: New file, with the logic of all emulated at-functions.
	* lib/openat-priv.h: Include <errno.h> and define ENOSYS,
	in support of the EXPECTED_ERRNO macro.
	* lib/openat.c (fstatat, unlinkat, fchownat): Remove function
	definitions.  Instead, define the appropriate symbols and include
	"at-func.c".
	* lib/mkdirat.c (mkdirat): Likewise.
	* lib/fchmodat.c (fchmodat): Likewise.
	(ENOSYS): Remove definition.
	* lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
	it.  Don't include "unistd--.h" -- it wasn't ever used.

	2006-01-17  Jim Meyering  <jim@meyering.net>

	Rewrite fts.c not to change the current working directory,
	by using openat, fstatat, fdopendir, etc..

	* lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
	(HAVE_OPENAT_SUPPORT): Define.
	[_LIBC] (fchdir): Don't undef or define; no longer used.
	(FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
	Now, this `function' always succeeds, and consumes its file descriptor
	parameter -- so callers must not close such FDs.  Update callers.
	(diropen_fd, opendirat, cwd_advance_fd): New functions.
	(diropen): Add parameter, SP.  Adjust all callers.
	Implement using diropen_fd, rather than open.
	(fts_open): Initialize new member, fts_cwd_fd.
	Remove fts_rft-setting code.
	(fts_close): Close fts_cwd_fd, if necessary.
	(__opendir2): Define in terms of opendir or opendirat,
	depending on whether the FST_NOCHDIR flag is set.
	(fts_build): Since fts_safe_changedir consumes its FD, and since
	this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
	and close the dup'd file descriptor upon failure.
	(fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
	(fts_safe_changedir): Tweak semantics to reflect that this function
	now calls cwd_advance_fd and hence consumes its FD argument.
	* lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
	[struct FTS] (fts_rft): Remove now-unused member.
	[struct FTS] (fts_cycle.state): Improve comment.

	* lib/openat.c (openat_needs_fchdir): New function.
	* lib/openat.h (openat_needs_fchdir): Declare it.

2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
	Problem and fix reported by Pádraig Brady in
	<http://lists.gnu.org/r/bug-coreutils/2006-08/msg00099.html>.

2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.

2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/memcoll.c (memcoll): Optimize for the common case where the
	arguments are bytewise equal.

2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/regexprops-generic.texi: Add a copyright notice.

2006-08-15  Bruno Haible  <bruno@clisp.org>

	* modules/tmpdir (License): Change to LGPL.

2006-08-15  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
	module.

2006-08-14  Simon Josefsson  <jas@extundo.com>

	* config/srclist.txt: Add gnupload.

2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	Change copyright notice from LGPL 2 to GPL 2, since that's the
	standard form used in the gnulib repository.
	* tests/test-lock.c: Likewise.
	* tests/test-stdint.c: Likewise.
	* tests/test-tls.c: Likewise.

	* users.txt: Add bison, diffutils, libprelude, prelude-lml,
	prelude-manager.  User shorter URLs for GNU projects, without '?'.
	Add copyright notice.

	* check-module: Add copyright notice.  Output a copyright
	notice if "--version" is specified.
	* modules/COPYING: New file.
	* tests/test-getaddrinfo.c: Add copyright notice.
	* tests/test-verify.c: Likewise.

2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	Change copyright notice from LGPL 2 to GPL 2, since that's the
	standard form used in the gnulib repository.
	* lib/lock.c: LGPL -> GPL.
	* lib/lock.h: Likewise.
	* lib/strnlen1.c: Likewise.
	* lib/strnlen1.h: Likewise.
	* lib/tls.c: Likewise.
	* lib/tls.h: Likewise.
	* lib/tmpdir.c: Likewise.

	* lib/TODO: Remove; this belongs only in coreutils.

2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	Add copyright notices to long-enough files that lack them, since
	otherwise the files aren't clearly free.  Use the same notice that
	getdate.texi already uses.
	* doc/alloca-opt.texi: Add copyright notice.
	* doc/alloca.texi: Likewise.
	* doc/ctime.texi: Likewise.
	* doc/functions.texi: Likewise.
	* doc/gcd.texi: Likewise.
	* doc/gnulib-tool.texi: Likewise.
	* doc/inet_ntoa.texi: Likewise.
	* doc/visibility.texi: Likewise.

	* doc/getdate.texi: Update FDL version from 1.1 to 1.2.
	* doc/quote.texi: Add copyright notice.

	* doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
	4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
	was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
	Mention SunOS 5.11.  Mention that everything before SunOS 5.7
	is now obsolete, and give a pointer to the Sun list.
	Add copyright notice.

2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclistvars.sh: Add copyright notice.

2006-08-14  Eric Blake  <ebb9@byu.net>

	Import the following change from libc:

	2006-08-12  Ulrich Drepper  <drepper@redhat.com>

	Upstream bug 2997.
	* lib/misc/error.c: Add space between program name and message if file
	name is missing.

2006-08-12  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
	remove, these originate in gnulib now.

2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* doc/Makefile (standards.info standards.html standards.dvi):
	Also depend on make-stds.texi.

2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
	HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.

	* lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
	in wchar_t.  Problem reported by Eric Blake.

	* lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
	LEN is smaller than SIZE.  Suggested by Bruno Haible.
	Also, help the compiler to keep LEN in a register.

2006-08-11  Eric Blake  <ebb9@byu.net>

	* users.txt: Sort.  Add tar.

2006-08-11  Bruno Haible  <bruno@clisp.org>

	* users.txt: New file.

2006-08-11  Bruno Haible  <bruno@clisp.org>

	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
	before <wchar.h>. Needed for OSF/1 and BSD/OS.

2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/snprintf (Depends-on): Remove minmax.
	(Maintainer): Add self and Bruno.

2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/.cppi-disable: Add snprintf.h, socket_.h.
	* lib/snprintf.c: Include <errno.h> and <limits.h>.
	(EOVERFLOW): Define if the system does not.
	Do not include "minmax.h"; it wasn't used.
	(snprintf): Don't assume size_t promotes to an unsigned type.
	Fix bug when generated string was too long for the buffer: the
	buffer's contents are supposed to be the initial prefix of the
	output.  Don't assume vasnprintf returns EOVERFLOW if the size
	exceeds INT_MAX; do the check ourselves.

	Import the following changes from libc:

	2006-06-02  Jakub Jelinek  <jakub@redhat.com>

	* lib/posix/regex_internal.c (re_string_skip_chars): If no character
	has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
	set wc to the byte which couldn't be converted.
	(re_string_reconstruct): Don't clear valid_raw_len before calling
	re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
	tip_context using re_string_context_at.

	2006-05-02  Ulrich Drepper  <drepper@redhat.com>

	* lib/posix/regex.h: g++ still cannot handled [restrict].

	2006-04-21  Ulrich Drepper  <drepper@redhat.com>

	* lib/posix/regex.h: Remove special handling for VMS.

2006-08-10  Jim Meyering  <jim@meyering.net>

	* modules/same-inode: New module.
	* modules/dev-ino: New module.
	* modules/cycle-check: Depend on these modules, rather than simply
	including their .h files.
	(Makefile.am): Don't list cycle-check.[ch] here, now that they're
	required via m4/cycle-check.m4.
	* modules/same: Depend on new same-inode module, rather than
	including same-inode.h.
	* modules/chdir-safer: New file.

	* modules/chown (Depends-on): Add stat-macros.

2006-08-10  Jim Meyering  <jim@meyering.net>

	* m4/cycle-check.m4: New file.
	Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
	* m4/dev-ino.m4, m4/same-inode.m4: New files.

2006-08-10  Eric Blake  <ebb9@byu.net>

	* modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
	in from original proposal.

2006-08-10  Eric Blake  <ebb9@byu.net>
	and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_import): Detect unexpanded macros in gnulib
	namespace.

2006-08-10  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Detect unexpanded macros here
	as well.

2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.

	2006-07-19  Mike Frysinger  <vapier@gentoo.org>

	* lib/mountlist.c [ME_REMOTE]: Filter out cifs.
	Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.

2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/restrict: Remove; no longer needed now that we assume
	Autoconf 2.59 or later.
	* MODULES.html.sh: Remove 'restrict'.
	* modules/argp (Depends-on): Remove 'restrict'.
	* modules/base64 (Depends-on): Likewise.
	* modules/gc (Depends-on): Likewise.
	* modules/getaddrinfo (Depends-on): Likewise.
	* modules/glob (Depends-on): Likewise.
	* modules/inet_ntop (Depends-on): Likewise.
	* modules/inet_pton (Depends-on): Likewise.
	* modules/memxor (Depends-on): Likewise.
	* modules/regex (Depends-on): Likewise.
	* modules/strtok_r (Depends-on): Likewise.
	* modules/time_r (Depends-on): Likewise.

2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
	* m4/gc.m4 (gl_PREREQ_GC): Likewise.
	* m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
	* m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
	* m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
	* m4/memxor.m4 (gl_MEMXOR): Likewise.
	* m4/restrict.m4: Remove; no longer needed.  All remaining uses of
	gl_C_RESTRICT replaced by AC_C_RESTRICT.

	Merge from coreutils.
	* m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
	gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
	* m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
	* m4/time_r.m4 (gl_TIME_R): Likewise.

2006-08-09  Karl Berry  <karl@gnu.org>

	* config/srclist.txt: no more gettext-tools, per Bruno.

2006-08-08  Eric Blake  <ebb9@byu.net>

	* modules/verror: New module.
	* MODULES.html.sh: Document it.

2006-08-08  Eric Blake  <ebb9@byu.net>

	* lib/verror.h, lib/verror.c: New files.

2006-08-08  Eric Blake  <ebb9@byu.net>

	* lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
	verror_at_line output complies with GNU Coding Standards even when
	file is NULL.

2006-08-07  Bruno Haible  <bruno@clisp.org>

	* lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
	versions of AIX.
	Reported by Ralf Wildenhues.

2006-08-07  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
	in an AC_DEFUN. Needed so that the autoconf snippets can use
	AC_REQUIRE.

2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
	Initialize pkgdata_DATA.
	* modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
	overriding it.

2006-08-06  Eric Blake  <ebb9@byu.net>

	* lib/error.h: Fold in some upstream changes from glibc.
	* lib/error.c: Likewise.

2006-08-04  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
	Make the mostlyclean-local rule depend on mostlyclean-generic.
	Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.

2006-07-31  Bruno Haible  <bruno@clisp.org>

	* m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
	<stdlib.h>, <string.h>.

2006-07-30  Bruno Haible  <bruno@clisp.org>

	* modules/readlink (License): Change to LGPL.

2006-07-30  Bruno Haible  <bruno@clisp.org>

	* modules/javaversion (Makefile.am): Distribute javaversion.java and
	javaversion.class. Also install javaversion.class in $(pkgdatadir) and
	set PKGDATADIR to point to it.

2006-07-30  Bruno Haible  <bruno@clisp.org>

	* modules/csharpexec (configure.ac): Comment out macro invocation.
	* modules/javaexec (configure.ac): Likewise.
	* modules/javacomp-script (configure.ac): Likewise.

	* modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.

2006-07-30  Bruno Haible  <bruno@clisp.org>

	* modules/clean-temp (Depends-on): Add linkedhash-list, remove
	linked-list.

2006-07-30  Bruno Haible  <bruno@clisp.org>

	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.

2006-07-30  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
	Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
	get removed.

2006-07-29  Bruno Haible  <bruno@clisp.org>

	Make it possible for gnulib-tool to work with locally modified or
	augmented gnulib repositories.
	* gnulib-tool (func_usage): Document --local-dir option.
	(local_gnulib_dir): New variable.
	Handle --local-dir option.
	(func_lookup_file): New function.
	(func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
	(func_get_description, func_get_filelist, func_get_description,
	func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
	func_get_automake_snippet, func_get_include_directive,
	func_get_license, func_get_maintainer): Use func_lookup_file.
	(func_import, func_create_testdir): Use func_lookup_file.

2006-07-29  Bruno Haible  <bruno@clisp.org>

	* modules/setenv (Depends-on): Add unistd.

2006-07-29  Bruno Haible  <bruno@clisp.org>

	* lib/setenv.c: Undo unintended modification done on 2006-02-27.

2006-07-29  Bruno Haible  <bruno@clisp.org>

	* lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.

2006-07-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (import, update): If there is no Makefile.am, look at
	aclocal.m4, instead of bailing out.

2006-07-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
	Categorize the options by when they are useful.

2006-07-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_usage): Document option --no-libtool.
	Handle option --no-libtool.
	(func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
	for changed semantics of $libtool variable.
	(func_import): Likewise. If libtool is not used, show this through
	an option --no-libtool.
	(func_create_testdir): Update.

2006-07-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Extend error message about missing
	--doc-base.

2006-07-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Don't create the $docbase directory if
	there is no file to store there.

2006-07-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (autoconf_minversion): If a --dir option is given and
	relevant, look for configure.ac there, not in the current directory.
	Also use a simple search for AC_PREREQ, not "autoconf --trace".

2006-07-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (SORT): New variable.
	(func_usage): Undocument --assume-autoconf option.
	Remove --assume-autoconf option handling.
	(autoconf_minversion): Determine from the contents of configure.ac.
	(func_import): Remove autoconf_minversion handling.
	Suggested by Eric Blake.

2006-07-29  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.

2006-07-29  Bruno Haible  <bruno@clisp.org>

	* config/srclist.txt (*setenv.[ch]): Remove rules.

2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	* m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.

2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	* lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
	arpa/inet.h.

2006-07-28  Simon Josefsson  <jas@extundo.com>

	* modules/inet_ntop (Depends-on): Depend on arpa_inet.
	* modules/inet_pton (Depends-on): Likewise.

2006-07-28  Simon Josefsson  <jas@extundo.com>

	* m4/netinet_in_h.m4: New file.

2006-07-28  Simon Josefsson  <jas@extundo.com>

	* lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
	#include's.

2006-07-28  Simon Josefsson  <jas@extundo.com>

	* lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
	#include's.

2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/modechange.c (mode_compile): Numeric modes now affect setuid and
	setgid on directories only if they set these bits.
	* lib/modechange.h: Remove obsolete comment about masks.

2006-07-28  Eric Blake  <ebb9@byu.net>

	* lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
	macro expansion.

2006-07-28  Bruno Haible  <bruno@clisp.org>

	* lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.

2006-07-28  Bruno Haible  <bruno@clisp.org>

	* m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.

2006-07-28  Bruno Haible  <bruno@clisp.org>

	* lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
	iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
	Define fallbacks.
	Avoids link error on FreeBSD 4.x.
	Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.

	* lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
	encoding.
	* lib/mbswidth.c (iswcntrl): Likewise.

2006-07-27  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
	test.

2006-07-27  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
	__STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
	defined.

2006-07-26  Eric Blake  <ebb9@byu.net>

	* m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.

2006-07-26  Eric Blake  <ebb9@byu.net>

	* lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
	like mingw that lack mkstemp.
	* lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
	avoid compilation warning on mingw.

2006-07-26  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
	INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
	INT_FAST*_MIN, INTPTR_MIN.

2006-07-25  Bruno Haible  <bruno@clisp.org>

	* modules/version-etc (Depends-on): Add stdarg.

2006-07-25  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
	complex commands.

2006-07-25  Bruno Haible  <bruno@clisp.org>

	* lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
	defined in <stdarg.h> or config.h.

2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
	(gl_STDIO_SAFER): Remove.

2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh (File stream based Input/Output):
	Add fopen-safer, tmpfile-safer; remove stdio-safer.
	* modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
	* modules/fopen-safer, modules/tmpfile-safer: New files.
	* modules/stdio-safer: Remove.

2006-07-24  Bruno Haible  <bruno@clisp.org>

	* modules/tmpdir: New file.
	* MODULES.html.sh (File system functions): Add it.

2006-07-24  Bruno Haible  <bruno@clisp.org>

	* modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
	getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.

2006-07-24  Bruno Haible  <bruno@clisp.org>

	* modules/clean-temp: New file.

2006-07-24  Bruno Haible  <bruno@clisp.org>

	* m4/tmpdir.m4: New file, from GNU gettext.

2006-07-24  Bruno Haible  <bruno@clisp.org>

	* lib/tmpdir.h: New file, from GNU gettext.
	* lib/tmpdir.c: New file, from GNU gettext.

2006-07-24  Bruno Haible  <bruno@clisp.org>

	* lib/clean-temp.h: New file, from GNU gettext.
	* lib/clean-temp.c: New file, from GNU gettext.

2006-07-23  Eric Blake  <ebb9@byu.net>

	* modules/stdio-safer (Files): Add tmpfile-safer.c.
	(Depends-on): Add binary-io.

2006-07-23  Eric Blake  <ebb9@byu.net>

	* m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.

2006-07-23  Eric Blake  <ebb9@byu.net>

	* lib/tmpfile-safer.c: New file.
	* lib/stdio-safer.h (fopen_safer): Add prototype.
	* lib/stdio--.h (tmpfile): Make safer.

2006-07-23  Bruno Haible  <bruno@clisp.org>

	* lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
	(gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
	gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
	gl_linked_remove_at): Use it.

2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
	and Simon Josefsson <jas@extundo.com>

	* lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.

	* lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.

2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/close-stream: New file.
	* modules/closeout (Description): Make it clear that it exits
	with a diagnostic on error.
	(Depends-on): Add close-stream.  Remove fpending, stdbool.
	* MODULES.html.sh (File stream based Input/Output): Add close-stream.

2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/close-stream.m4: New file.

2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/close-stream.c, lib/close-stream.h: New files.

2006-07-22  Bruno Haible  <bruno@clisp.org>

	Merge from GNU gettext 0.15.

	2006-05-01  Bruno Haible  <bruno@clisp.org>

		* build-aux/javacomp.sh.in: Update for changed javacomp.m4.

	2006-07-22  Bruno Haible  <bruno@clisp.org>

		* modules/javaversion: New file.
		* MODULES.html.sh (Java): Add javaversion.

	2006-03-12  Bruno Haible  <bruno@clisp.org>

		* build-aux/javaexec.sh.in: Update for changed javaexec.m4.

	2005-12-04  Bruno Haible  <bruno@clisp.org>

		* build-aux/csharpexec.sh.in: Add support for 'clix' launcher
		(untested).

	2006-06-21  Bruno Haible  <bruno@clisp.org>

		Avoid warnings from recent versions of mcs.
		* build-aux/csharpcomp.sh.in (options_mcs): Don't use options
		-o, -L, -r any more. Use options documented since mcs-1.0
		instead. Similarly for -g.

	2005-12-04  Bruno Haible  <bruno@clisp.org>

		* build-aux/csharpcomp.sh.in: Suffix for resources is
		.resources, not .resource.

	2005-07-09  Bruno Haible  <bruno@clisp.org>

		* build-aux/csharpcomp.sh.in (options_csc): For -l option,
		add a .dll suffix.
		Reported by Mark Junker <mjscod@gmx.de>.

	2006-07-22  Bruno Haible  <bruno@clisp.org>

		* modules/gettext: Upgrade to gettext-0.15.
		(Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
		m4/visibility.m4.
		Replace m4/inttypes.m4 with m4/inttypes-h.m4.

2006-07-22  Bruno Haible  <bruno@clisp.org>

	Merge from GNU gettext 0.15.

	2006-03-25  Bruno Haible  <bruno@clisp.org>

		* lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.

	2006-07-21  Bruno Haible  <bruno@clisp.org>

		* javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
		"1.1".

	2006-05-09  Bruno Haible  <bruno@clisp.org>

		* javacomp.m4 (gt_JAVACOMP): On Cygwin, set
		CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
		for the conftestver execution.

	2006-05-01  Bruno Haible  <bruno@clisp.org>

		* javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
		optional target-version argument. Verify that the compiler
		groks source of the specified source-version, or add -source
		option as necessary. Verify that the compiler produces
		bytecode in the specified target-version, or add -target and
		-source options as necessary. Make the result of the test
		available as variable CONF_JAVAC. Also log error output in
		config.log.

	2006-03-11  Bruno Haible  <bruno@clisp.org>

		* javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.

	2006-05-09  Bruno Haible  <bruno@clisp.org>

		* javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
		CLASSPATH_SEPARATOR to a semicolon.

	2006-03-12  Bruno Haible  <bruno@clisp.org>

		* javaexec.m4 (gt_JAVAEXEC): Make the result of the test
		available as variable CONF_JAVA, for subsequent autoconf
		tests. Also log error output in config.log.

	2006-07-19  Bruno Haible  <bruno@clisp.org>

		* getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
		that getline works on glibc2 systems. Needed to avoid trouble
		in relocatable.c.
		Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.

	2005-12-04  Bruno Haible  <bruno@clisp.org>

		* csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
		launcher (untested).

	2005-12-04  Bruno Haible  <bruno@clisp.org>

		* csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.

	2006-07-22  Bruno Haible  <bruno@clisp.org>

		* gettext.m4: Update from GNU gettext-0.15.
		* nls.m4: Likewise.
		* po.m4: Likewise.
		* inttypes-pri.m4: Likewise.
		* inttypes-h.m4: Renamed from inttypes.m4.
		(gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.

2006-07-22  Bruno Haible  <bruno@clisp.org>

	Merge from GNU gettext 0.15.

	2005-07-05  Bruno Haible  <bruno@clisp.org>

		* printf-args.c (printf_fetchargs): Work around broken
		definition of wint_t on mingw.

	2005-02-12  Bruno Haible  <bruno@clisp.org>

		* xallocsa.h: Add extern "C" for C++.

	2006-05-17  Bruno Haible  <bruno@clisp.org>

		Cygwin portability.
		* progreloc.c (WIN32_NATIVE): Renamed from WIN32.

	2006-04-30  Bruno Haible  <bruno@clisp.org>

		* progreloc.c: Include <mach-o/dyld.h> if available.
		(find_executable): Use _NSGetExecutablePath when possible.

	2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>

		* progreloc.c (maybe_executable) [CYGWIN]: Use the access()
		function.

	2005-12-29  Bruno Haible  <bruno@clisp.org>

		* progreloc.c (set_program_name_and_installdir): Fix
		compilation error.

	2005-12-04  Bruno Haible  <bruno@clisp.org>

		Cygwin portability.
		* progreloc.c: Include <windows.h> also on Cygwin.
		(find_executable): Add support for Cygwin.
		(set_program_name_and_installdir): Handle also platforms with
		nonempty EXEEXT.

	2006-07-11  Bruno Haible  <bruno@clisp.org>

		* javacomp.c: Fix a comment.
		Reported by Jim Meyering.

	2006-04-30  Bruno Haible  <bruno@clisp.org>

		* javacomp.h (compile_java_class): Add source_version,
		target_version arguments.
		* javacomp.c: Rewritten to choose only a compiler that
		respects the specified source_version and target_version.

	2006-06-27  Bruno Haible  <bruno@clisp.org>

		Assume correct S_ISDIR macro.
		* mkdtemp.c: Remove test of STAT_MACROS_BROKEN.

	2006-07-22  Bruno Haible  <bruno@clisp.org>

		* javaversion.h: New file, from GNU gettext.
		* javaversion.c: New file, from GNU gettext.
		* javaversion.java: New file, from GNU gettext.
		* javaversion.class: New file, from GNU gettext.

	2006-05-17  Bruno Haible  <bruno@clisp.org>

		Cygwin portability.
		* javaexec.c (execute_java_class): Test for jview program
		also on Cygwin.

	2006-04-09  Bruno Haible  <bruno@clisp.org>

		* fatal-signal.c: Don't include string.h.
		(at_fatal_signal): Use a copying loop instead of memcpy.

	2005-12-04  Bruno Haible  <bruno@clisp.org>

		* csharpexec.c: Add support for 'clix' launcher (untested).
		(execute_csharp_using_sscli): New function.
		(execute_csharp_program): Call it.

	2006-06-21  Bruno Haible  <bruno@clisp.org>

		Avoid warnings from recent versions of mcs.
		* csharpcomp.c (compile_csharp_using_mono): Don't use options
		-o, -L, -r any more. Use options documented since mcs-1.0
		instead. Similarly for -g.

	2005-07-09  Bruno Haible  <bruno@clisp.org>

		* csharpcomp.c (compile_csharp_using_sscli): For -l option,
		add a .dll suffix.
		Reported by Mark Junker <mjscod@gmx.de>.

	2006-06-17  Bruno Haible  <bruno@clisp.org>

		* config.charset: Update for NetBSD 3.0.

	2006-05-17  Bruno Haible  <bruno@clisp.org>

		Cygwin portability.
		* localcharset.c (WIN32_NATIVE): Renamed from WIN32.

	2006-05-16  Bruno Haible  <bruno@clisp.org>

		* localcharset.c [CYGWIN]: Include <windows.h>.
		(get_charset_aliases): For Cygwin, return the same CPxxx
		aliases list as under WIN32.
		(locale_charset) [CYGWIN]: Try to retrieve the encoding from
		the environment variables. Fall back to GetACP().

	2006-04-05  Bruno Haible  <bruno@clisp.org>

		* config.charset: Update Juan Manuel Guerrero's address.

	2005-02-12  Bruno Haible  <bruno@clisp.org>

		* allocsa.h: Add extern "C" for C++.

	2005-02-10  Bruno Haible  <bruno@clisp.org>

		* allocsa.h (sa_alignof): Define differently with AIX xlc, to
		avoid a bug of this compiler on AIX 3.2.5 dealing with enums.

	2006-07-22  Bruno Haible  <bruno@clisp.org>

		* gettext.h: Update to GNU gettext-0.15.

2006-07-22  Bruno Haible  <bruno@clisp.org>

	* config/srclist.txt: Resync printf-args.c, vasnprintf.c,
	localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
	lib-prefix.m4, longdouble.m4, ssize_t.m4.

2006-07-21  Eric Blake  <ebb9@byu.net>

	* modules/stdlib-safer: New file.
	* MODULES.html.sh (File stream based Input/Output): Add
	stdlib-safer.

2006-07-21  Eric Blake  <ebb9@byu.net>

	* lib/stdlib-safer.h: New file from coreutils, required by
	stdlib--.h.

2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>

	* gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.

2006-07-20  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Recognize new option --assume-autoconf.
	(autoconf_minversion): New variable.
	(func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.

2006-07-20  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (func_all_modules): Add a missing func_begin_table.

2006-07-19  Derek R. Price  <derek@ximbiot.com>

	* lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
	Reindent and repaginate.

2006-07-19  Derek Price  <derek@ximbiot.com>

	* doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
	Correct grammar.

2006-07-17  Bruno Haible  <bruno@clisp.org>

	* modules/list: New file.
	* modules/array-list: New file.
	* modules/carray-list, modules/carray-list-tests: New files.
	* modules/linked-list, modules/linked-list-tests: New files.
	* modules/avltree-list, modules/avltree-list-tests: New files.
	* modules/rbtree-list, modules/rbtree-list-tests: New files.
	* modules/linkedhash-list, modules/linkedhash-list-tests: New files.
	* modules/avltreehash-list, modules/avltreehash-list-tests: New files.
	* modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
	* modules/oset: New file.
	* modules/array-oset: New file.
	* modules/avltree-oset, modules/avltree-oset-tests: New files.
	* modules/rbtree-oset, modules/rbtree-oset-tests: New files.
	* tests/test-carray_list.c: New file.
	* tests/test-linked_list.c: New file.
	* tests/test-avltree_list.c: New file.
	* tests/test-rbtree_list.c: New file.
	* tests/test-linkedhash_list.c: New file.
	* tests/test-avltreehash_list.c: New file.
	* tests/test-rbtreehash_list.c: New file.
	* tests/test-avltree_oset.c: New file.
	* tests/test-rbtree_oset.c: New file.
	* MODULES.html.sh (Container data structures): New section.

2006-07-17  Bruno Haible  <bruno@clisp.org>

	* m4/gl_list.m4: New file.

2006-07-17  Bruno Haible  <bruno@clisp.org>

	* lib/gl_list.h: New file.
	* lib/gl_list.c: New file.
	* lib/gl_array_list.h: New file.
	* lib/gl_array_list.c: New file.
	* lib/gl_carray_list.h: New file.
	* lib/gl_carray_list.c: New file.
	* lib/gl_linked_list.h: New file.
	* lib/gl_linked_list.c: New file.
	* lib/gl_anylinked_list1.h: New file.
	* lib/gl_anylinked_list2.h: New file.
	* lib/gl_avltree_list.h: New file.
	* lib/gl_avltree_list.c: New file.
	* lib/gl_anyavltree_list1.h: New file.
	* lib/gl_anyavltree_list2.h: New file.
	* lib/gl_rbtree_list.h: New file.
	* lib/gl_rbtree_list.c: New file.
	* lib/gl_anyrbtree_list1.h: New file.
	* lib/gl_anyrbtree_list2.h: New file.
	* lib/gl_anytree_list1.h: New file.
	* lib/gl_anytree_list2.h: New file.
	* lib/gl_linkedhash_list.h: New file.
	* lib/gl_linkedhash_list.c: New file.
	* lib/gl_anyhash_list1.h: New file.
	* lib/gl_anyhash_list2.h: New file.
	* lib/gl_avltreehash_list.h: New file.
	* lib/gl_avltreehash_list.c: New file.
	* lib/gl_rbtreehash_list.h: New file.
	* lib/gl_rbtreehash_list.c: New file.
	* lib/gl_anytreehash_list1.h: New file.
	* lib/gl_anytreehash_list2.h: New file.

	* lib/gl_oset.h: New file.
	* lib/gl_oset.c: New file.
	* lib/gl_array_oset.h: New file.
	* lib/gl_array_oset.c: New file.
	* lib/gl_avltree_oset.h: New file.
	* lib/gl_avltree_oset.c: New file.
	* lib/gl_rbtree_oset.h: New file.
	* lib/gl_rbtree_oset.c: New file.
	* lib/gl_anytree_oset.h: New file.

2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/mkancesdirs.m4: New file.
	* m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
	dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
	no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
	it.

2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
	* lib/mkancesdirs.h: New files.
	* lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
	unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
	save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
	(make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
	MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
	callers changed.  Revamp internals significantly, by not
	attempting to create directories that are temporarily more
	permissive than the final results.  Do not attempt to use
	save_cwd/restore_cwd; it isn't worth it for mkdir and install.
	This removes some race conditions, fixes some bugs, and simplifies
	things.  Use new dirchownmod function to do owner and mode changes.
	* lib/mkdir-p.h: Likewise.
	* lib/modechange.c (octal_to_mode): New function.
	(struct mode_change): New member mentioned.
	(make_node_op_equals): New arg mentioned.  All callers changed.
	(mode_compile): Keep track of which mode bits the user has explicitly
	mentioned.
	(mode_adjust): New arg DIR, so that we implement the X op correctly.
	New arg PMODE_BITS, to keep track of which mode bits the user
	mentioned; it treats S_ISUID and S_ISGID speciall.
	All callers changed.
	* lib/modechange.h: Likewise.

2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh: Add mkancestors.
	* modules/mkancesdirs: New module.
	* modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
	lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
	The chdir-safer and afs files are now orphans; I'll remove them
	unless someone speaks up.
	Add lib/dirchownmod.c, lib/dirchownmod.h.
	(Depends-on): Remove alloca, chown, save-cwd, dirname.
	Add lchown, mkancesdirs.
	(Maintainer): Add self.

2006-07-15  Karl Berry  <karl@gnu.org>

	* gnulib-tool: help message wording/arrangement.

2006-07-14  Simon Josefsson  <jas@extundo.com>

	* doc/gnulib.texi (Libtool and Windows): New section.

2006-07-12  Simon Josefsson  <jas@extundo.com>

	* modules/gendocs (License): Fix license, approved by Karl.

2006-07-12  Eric Blake  <ebb9@byu.net>

	* MODULES.html.sh: Add gendocs.

2006-07-11  Eric Blake  <ebb9@byu.net>

	* modules/fdl: New module, to install doc/fdl.texi.
	* MODULES.html.sh: Add new section for documentation modules.
	* gnulib-tool: Avoid space-tab.
	(--doc-base): New option, to manage files from doc.

2006-07-11  Eric Blake  <ebb9@byu.net>

	* m4/absolute-header.m4: Fix comments to match recent change.

2006-07-11  Eric Blake  <ebb9@byu.net>

	* gnulib-tool: List --doc-base before --tests-base.

2006-07-11  Derek R. Price  <derek@ximbiot.com>

	* lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.

2006-07-11  Bruno Haible  <bruno@clisp.org>

	* README: Mention where to put documentation.

2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.

2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
	to stdint.m4.

2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
	absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
	"no/such/file/stdint.h" when there is no such file, so that
	the resulting C code can be parsed by dodgy compilers.
	Problems reported by Bob Proulx.

2006-07-10  Derek R. Price  <derek@ximbiot.com>

	* lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
	Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
	macros into the GNU _D_EXACT_NAMLEN.
	* lib/savedir.c:  Likewise.
	(savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.

2006-07-10  Derek R. Price  <derek@ximbiot.com>
	and Paul Eggert  <eggert@cs.ucla.edu>

	* m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
	* m4/savedir.m4:
	Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
	macros into the GNU _D_EXACT_NAMLEN.

2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
	around the absolute name, to work around a problem with the HP-UX
	11.23 native C compiler, reported by Bob Proulx.

2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/maintain.texi, make-stds.texi: Sync from
	<http://savannah.gnu.org/projects/gnustandards>.

2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>

	* build-aux/depcomp, build-aux/install-sh: Sync from Automake.

2006-07-09  Jim Meyering  <jim@meyering.net>

	* m4/glob.m4: Remove a doubled word in a comment.

2006-07-09  Jim Meyering  <jim@meyering.net>

	* lib/argp-pv.c: Remove a doubled word in a comment.
	* lib/check-version.c (check_version): Likewise.
	* lib/javacomp.c (compile_java_class): Likewise.

2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>

	* gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
	for the benefit of people using Autoconf 2.60.  If you want to
	support older Autoconf versions you can copy m4/onceonly_2_57.m4
	(or m4/onceonly.m4, if pre-2.57) manually.

2006-07-08  Jim Meyering  <jim@meyering.net>

	* m4/link-follow.m4: Remove one of two adjacent "whether"s in a
	comment.
	* m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
	* m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
	comment.

2006-07-08  Jim Meyering  <jim@meyering.net>

	* lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.

2006-07-07  Simon Josefsson  <jas@extundo.com>

	* tests/test-crc.c: Change expected crc value, the test vector
	were probably computed using the old broken crc.c?

2006-07-06  Simon Josefsson  <jas@extundo.com>

	* modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
	now the canonical place for the M4 file).

	* modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
	from the sys_socket dependency now.

	* modules/inet_pton (Files): Ditto.

	* modules/inet_ntop (Files): Ditto.

2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)

	* modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
	not gl_PREREQ_GETUSERSHELL.

2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
	with only one argument, for Autoconf 2.60.
	* m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
	expand to nothing, so add a shell command to avoid syntax error.
	* m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.

2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lib/strtod.c (strtod): cast the argument of tolower to unsigned char.

2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
	no longer needed.  Check for isblank decl.
	* m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
	* m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
	of existence.

2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getloadavg.c: Use __VMS, not VMS.
	* lib/getopt.c: Likewise.
	* lib/getpagesize.h: Likewise.
	* lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
	and probably does not work.

2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/.cppi-disable: Add wcwidth.
	* lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
	(isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
	(ISGRAPH): Remove.  All uses changed to isgraph.
	(FOLD) [!defined _LIBC]: Remove special case.
	* lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
	* lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
	HAVE_ISBLANK.
	* lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
	case.

2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)

	* lib/getaddrinfo.c: Changes to compile under MSVC6: changed
	'#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
	brackets.  Other minor changes to suppress some compiler
	warnings.

2006-07-06  Derek R. Price  <derek@ximbiot.com>
	and Paul Eggert  <eggert@cs.ucla.edu>

	* m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
	of invoking obsolescent AC_HEADER_DIRENT macro.
	* m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
	* m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
	* m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
	* m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
	* m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
	* m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
	* m4/savedir.m4 (gl_SAVEDIR): Likewise.
	* m4/readdir.m4: Remove; no longer needed.

2006-07-06  Derek R. Price  <derek@ximbiot.com>
	and Paul Eggert  <eggert@cs.ucla.edu>

	* lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
	Don't worry about this obsolete case any more.
	(HAVE_DIR): Remove.  All uses removed; we now assume you can read
	directories.
	* lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
	worry about this obsolete case any more.
	* lib/fts.c: Likewise.
	* lib/getcwd.c: Likewise.
	* lib/glob.h: Likewise.
	* lib/savedir.c: Likewise.

2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
	rather than AC_CHECK_DECLS for strtoimax and strtoumax.
	* m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
	needed.
	All uses removed.
	* m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
	* m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
	* m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
	needed.
	* m4/getdate.m4 (gl_GETDATE): Likewise.
	* m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
	* m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
	* m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
	* m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
	* m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
	* m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
	needed.

2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/memcasecmp.c: Include <limits.h>.
	(memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
	* lib/strtod.c (strtod): Don't assume isspace works on negative chars.
	Don't assume isdigit succeeds only on '0' through '9'.

2006-07-05  Eric Blake  <ebb9@byu.net>

	* modules/getaddrinfo (Depends-on): Add snprintf.

2006-07-05  Eric Blake  <ebb9@byu.net>

	* m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
	to avoid 'header present but could not be compiled' on cygwin.

2006-07-05  Eric Blake  <ebb9@byu.net>

	* lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
	missing from netdb.h.
	* lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.

2006-07-05  Derek R. Price  <derek@ximbiot.com>

	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
	no longer needed.
	* m4/exclude.m4 (gl_EXCLUDE): Likewise.
	* m4/getdate.m4 (gl_GETDATE): Likewise.
	* m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
	* m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
	* m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
	* m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.

2006-07-05  Derek R. Price  <derek@ximbiot.com>

	* lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
	All uses of is_space replaced by isspace.
	* lib/exit.h: Don't talk about STDC_HEADERS.
	* lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
	(ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
	(ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
	replaced by isprint etc.
	* lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
	* lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
	* lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
	* lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
	* lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
	* lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.

2006-07-05  Bruno Haible  <bruno@clisp.org>

	* m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
	the function exists, before testing against AIX.
	Reported by Martin Lambers <marlam@marlam.de>.

2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/cycle-check (lib_SOURCES): Add same-inode.h.
	From Mark D. Baushke.

2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
	to the absolute name, not just one, to bypass Sun C 5.8's
	"warning: #include of /usr/include/... may be non-portable".

2006-07-04  Eric Blake  <ebb9@byu.net>

	* modules/dirname-tests: New test module.
	* tests/test-dirname.c: New file, replacing dirname.c
	TEST_DIRNAME section that was recently deleted.

2006-07-04  Bruno Haible  <bruno@clisp.org>

	Assume ANSI C header files and <ctype.h> functions.
	* lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
	(mbsnwidth): Use isprint, iscntrl instead.

2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from coreutils.
	* MODULES.html.sh: Add xstrtold.
	* modules/xstrtold: New file.
	* modules/cycle-check (Files): Add lib/same-inode.h.
	* modules/dirname (Files): Add m4/double-slash-root.m4.
	* modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
	* modules/mkdir-p (Files): Add lib/same-inode.h.
	* modules/same (Files): Add lib/same-inode.h.

2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/absolute-header.m4: Renamed from full-header-path.m4.
	This is to keep the terminology clean; POSIX talks about
	"absolute pathnames", not "full pathnames", but the GNU
	Coding Standards say to use "path" for something else;
	so use "absolute" to keep both sides happy.
	(gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
	Set gl_absolute_header, not gl_full_header_path.
	Set gl_cv_absolute_<header>, not gl_full_path_<header>.
	Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
	All uses changed.

	Merge from coreutils.

	2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
	Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
	want to require the building of c-strtod.o.
	* m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
	needs -lm directly.
	* m4/xstrtod.m4 (gl_XSTRTOLD): New macro.

	2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
	--as-needed option if available.  Problem reported by Albert Chin in
	<http://lists.gnu.org/r/bug-gnulib/2006-06/msg00114.html>.
	However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
	cc merely issues a bunch of annoying warnings for --as-needed
	(this problem was reported by Bob Proulx).  Also, try linking with
	-lm to detect a bug in binutils 2.16 (this problem was reported
	by Ralf Wildenhues).

	2006-06-18  Jim Meyering  <jim@meyering.net>

	Test for a bug that causes glibc's getcwd to suffer a failed assertion.
	* m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
	macro.
	* m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
	also check for glibc-2.4's abort-inducing bug.

	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
	Low-probability clean-up should be to use rmdir to get rid of
	the just-created directory, not unlink.

	* m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
	configure fail, and request a bug report to inform us about it.
	Add a comment that, barring reports to the contrary, in 2007 we'll
	assume ftruncate is universally available.

	2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.

	2006-03-12  Jim Meyering  <jim@meyering.net>

	* m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
	* m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
	* m4/same.m4 (gl_SAME): Likewise.
	* m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.

	2006-03-11  Eric Blake  <ebb9@byu.net>

	* m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
	* m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
	* m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
	(FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.

2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
	MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
	reported by Mark D. Baushke, one in
	<http://lists.gnu.org/r/bug-gnulib/2006-07/msg00015.html>.

	Merge from coreutils.

	* lib/.cppi-disable: Add stdint_.h.
	* lib/.cvsignore: Add stdint.h.

	2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
	both double and long double versions.
	(XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
	* lib/xstrtold.c: New file.
	* lib/xstrtod.h (xstrtold): New decl.

	2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/filemode.c (setst): Remove.
	(strmode): Rewrite to avoid setst.  This makes the code shorter,
	(arguably) clearer, and the generated code is a bit smaller on my
	Debian GNU/Linux stable x86 host.

	2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/filemode.c: Include "filemode.h" first, to test the interface.
	Assume that filemode.h includes sys/types.h and sys/stat.h.
	(HAVE_ST_DM_MODE): New macro, moved here from ls.c.
	(ftypelet): Reorder to put common cases first, for efficiency.
	Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
	to do 'M'.
	(strmode): Renamed from mode_string, and now stores 12 bytes instead
	of 10, for compatibility with FreeBSD.  All callers changed.
	(filemodestring): Now stores 12 bytes instead of 10, and sets file
	types that can't be deduced solely from st_mode.  First arg is now a
	const pointer.
	* lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
	(strmode): Renamed from mode_string.
	(filemodestring): New decl.
	* lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
	(S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
	needed.
	(S_ISPORT, S_ISWHT): New macros, if not already defined.

	2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
	fsusage.h now does that.  Include fsusage.h first, to test interface.
	Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
	at most one method (the old code could have generated decls that
	didn't conform to C89, not that this was ever exercised).
	* lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.

	2006-03-19  Jim Meyering  <jim@meyering.net>

	Work even in a chroot where d_ino values for entries in "/"
	don't match the stat.st_ino values for the same names.
	* lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
	number, iterate through all entries again, using lstat instead.
	Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
	Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.

	* lib/getcwd.c (__getcwd): Clarify a comment.
	Use memcpy in place of a call to strcpy.

	2006-03-12  Jim Meyering  <jim@meyering.net>

	* lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
	matches that of the current directory (which we're about to chdir ".."
	out of), then save the dev-ino of the parent, instead.

	* lib/same-inode.h (SAME_INODE): New file/macro.
	* lib/chdir-safer.c (SAME_INODE): Remove definition.
	Include "same-inode.h", instead.
	* lib/same.c: Likewise.
	* lib/cycle-check.h: Include "same-inode.h".
	(CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
	* lib/cycle-check.c (SAME_INODE): Remove definition.
	* lib/root-dev-ino.h: Include "same-inode.h".

	2006-03-11  Eric Blake  <ebb9@byu.net>

	* lib/same.c (same_name): s/base_name/last_component/
	* lib/backupfile.c (check_extension, numbered_backup): Likewise.
	* lib/filenamecat.c (file_name_concat): Likewise.

	2006-03-11  Eric Blake  <ebb9@byu.net>,
		    Paul Eggert  <eggert@cs.ucla.edu>

	* lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
	[FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
	drive prefix.
	(IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
	platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
	(last_component): New method.
	* lib/dirname.c (dir_len): Determine when drive letters need a
	subsequent slash.  Preserve // when it is special.
	(dir_name): Don't append dot when drive letter is absolute.
	[TEST_DIRNAME]: Move into a full-blown gnulib test.
	* lib/basename.c (base_name): New semantics - malloc the result.
	Preserve // when it is special.  Preserve relative files that look
	like drive letters.
	(base_len): Preserve // when it is special.
	(last_component): New method, similar to old base_name semantics.
	* lib/stripslash.c (strip_trailing_slashes): Use last_component, not
	base_name.  Strip redundant slashes from ///.

2006-07-03  Jim Meyering  <jim@meyering.net>

	* lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
	macro is used before the first cycle_check call.

2006-07-03  Eric Blake  <ebb9@byu.net>

	* modules/dirname (Depends-on): Add xstrndup.

2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
	test cases, so that config.log is a bit easier to follow.

2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
	both are 64 bits, since this seems to be the tradition, and this
	prevents gcc -Wformat from warning about usages with PRIuMAX.  If
	we ever run into a host that prefers long long to long in this
	case, we'll need another configure-time test.  Problem reported by
	Jim Meyering.

2006-07-02  Eric Blake  <ebb9@byu.net>

	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.

2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/inttypes (Depends-on): No longer depends on stdint.
	* modules/stdint (Description): Say more about assumptions.
	Say that the fast types might differ.  Say macros are used.
	(Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
	(Makefile.am): Revise list of substituted symbols to match
	new stdint.m4.
	* modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
	(configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
	* tests/test-stdint.c (verify_same_types)
	[! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
	the code conforms to C99/C89.
	Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
	Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.

2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
	but fix a bug, by requiring at least 64 bits.
	* m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
	* m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
	AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
	* m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.

	* m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
	changes.  Make 2.59 a prerequisite.  Check and substitute for
	HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
	inttypes.h.  Do not use special include files; just use the
	defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
	way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
	HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
	uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
	int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
	uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
	int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
	uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
	uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
	UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
	INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
	UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
	UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
	UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
	UINT_LEAST64_MAX, 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, INT_FAST64_MIN, INT_FAST64_MAX,
	UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
	INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
	SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
	WINT_MAX.  Check for C99 conformance more strictly, by detecting
	bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
	not check for things that C99 does not require, e.g., int8_t.  If
	a test isn't needed unless <stdint.h> isn't working, and is
	unlikely to be needed for any other reason, then don't do it
	unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
	size_t, since we assume C89 freestanding at least.  Do not check
	for sig_atomic_t, wchar_t, or wint_t, since the code now does
	the right thing even if the types are not defined.  Instead use:
	(gl_STDINT_TYPE_PROPERTIES): New macro.
	(gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
	testing whether <sys/types.h> clashes, as Autoconf does this for
	us now.  All uses removed.
	(gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
	(gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
	(gl_CHECK_TYPE_SAME):
	Remove; no longer needed.
	(gl_STDINT_BITSIZEOF): Don't bother to check whether the type
	exists, since we'll return 0 anyway in that case.
	(gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.

2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
	possible collision with system files.
	(<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
	__STDC_CONSTANT_MACROS)]: Do not include, since we don't need
	WCHAR_MIN and WCHAR_MAX in this case.
	(<stddef.h>): Do not include; no longer needed.
	(<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
	(defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
	(<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
	!@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
	&& (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
	(__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
	__c99]: Define, to work around IRIX <stdint.h> incompatibility.
	(@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
	!defined(__c99))]: Include in this case too, since it's harmless
	now.
	(<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
	dangerous to do so.
	(@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
	@HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
	(_STDINT_MIN, _STDINT_MAX): New macros.
	(int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
	(uint64_t, int_least8_t, uint_least8_t, int_least16_t):
	(uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
	(uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
	(uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
	(uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
	macros, not typedefs; this simplifies things quite a bit.
	Use long int for all types narrower than int64_t.
	(intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
	Define in terms of long long int or int64_t or long int,
	not int64_t or int32_t.  This saves some compile-time testing.
	(INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
	(INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
	(UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
	(INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
	(INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
	(INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, 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):
	(INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
	(INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
	(PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
	(SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
	undef any previous version and define our own version, for
	simplicity and consistency with the new macros for types.
	(PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
	(SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
	Simplify definitions by using _STDINT_MIN and _STDINT_MAX
	where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
	@SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
	@WINT_T_SUFFIX@ to keep things simple here.
	(UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
	Simplify by assuming typical 8/16/32/64 host, since we're
	already doing that elsewhere anyway.
	Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
	and assume long long int is 64 bits if available.  This
	speeds up 'configure'.

2006-07-01  Eric Blake  <ebb9@byu.net>

	* m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
	Reported by Andreas Buening.

2006-07-01  Eric Blake  <ebb9@byu.net>

	* m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.

2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)

	* lib/getaddrinfo.c: fixed typo

2006-06-29  Jim Meyering  <jim@meyering.net>

	* modules/strftime (Maintainer): Add my name, since with the
	FPRINTFTIME changes strftime.c has forked from glibc.

2006-06-29  Eric Blake  <ebb9@byu.net>

	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.

2006-06-29  Eric Blake  <ebb9@byu.net>

	* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.

2006-06-29  Eric Blake  <ebb9@byu.net>

	* lib/stat_.h: New file.

2006-06-29  Eric Blake  <ebb9@byu.net>

	* lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
	unused static function.

2006-06-29  Eric Blake  <ebb9@byu.net>

	* doc/functions.texi (Function Portability): Document missing lstat
	on mingw.

2006-06-29  Eric Blake  <ebb9@byu.net>

	* MODULES.html.sh: Add sys_stat.
	* modules/sys_stat: New module.
	* modules/mkstemp (Depends-on): Add sys_stat.

2006-06-29  Derek R. Price  <derek@ximbiot.com>

	* m4/strftime.m4: Don't call AC_FUNC_STRFTIME.

2006-06-29  Derek R. Price  <derek@ximbiot.com>

	* m4/c-bs-a.m4: Removed.

2006-06-29  Derek R. Price  <derek@ximbiot.com>

	* lib/strftime.c: Assume strftime() exists.

2006-06-29  Derek Price  <derek@ximbiot.com>

	* modules/c-bs-a: Removed - \a is C89.
	* MODULES.html.sh: Remove c-bs-a.

2006-06-29  Bruno Haible  <bruno@clisp.org>

	* modules/wcwidth (License): Change to LGPL.

2006-06-28  Simon Josefsson  <jas@extundo.com>

	* tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
	on _WIN32.

	* modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
	getnameinfo.

2006-06-28  Simon Josefsson  <jas@extundo.com>

	* m4/getaddrinfo.m4: Look for getnameinfo prototypes too.

2006-06-28  Simon Josefsson  <jas@extundo.com>

	* lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
	functions there.  It will succeed on Windows XP, but on Windows
	2000 and (presumably) earlier, it will fail, and use the internal
	re-implementation.
	(use_win32_p): New function.
	(getaddrinfo): Use strtoul on servname, to support numeric ports.
	Support AI_NUMERICSERV to disable getservbyname.
	(getnameinfo): New function, only supports
	NI_NUMERICHOST|NI_NUMERICSERV for now.

	* lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
	only have some of them.  Add AI_NUMERICSERV.  Add prototype for
	getnameinfo.

2006-06-28  Eric Blake  <ebb9@byu.net>

	* modules/wcwidth: New file.
	* modules/mbchar (Depends-on): Add wcwidth.
	* modules/mbswidth (Depends-on): Add wcwidth.
	* MODULES.html.sh: Add wcwidth.

2006-06-28  Eric Blake  <ebb9@byu.net>

	* m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.

2006-06-28  Eric Blake  <ebb9@byu.net>

	* lib/xvasprintf.h: Fix comments.

2006-06-28  Eric Blake  <ebb9@byu.net>

	* lib/mbchar.h (wcwidth): Include wcwidth.h.
	* lib/mbswidth.c (wcwidth): Move from here...
	* lib/wcwidth.h: ...to this new file.

2006-06-28  Derek R. Price  <derek@ximbiot.com>

	* m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.

	* m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
	it's obsolete.
	* m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.

2006-06-28  Derek R. Price  <derek@ximbiot.com>

	* lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
	Autoconf 2.60 says this stuff was obsolete.

2006-06-28  Bruno Haible  <bruno@clisp.org>

	* modules/wcwidth (Files): Add m4/wchar_t.m4.

2006-06-28  Bruno Haible  <bruno@clisp.org>

	* m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
	gt_TYPE_WCHAR_T.

2006-06-28  Bruno Haible  <bruno@clisp.org>

	* lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
	declaration for wcwidth.
	* lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.

2006-06-28  Bruno Haible  <bruno@clisp.org>

	* lib/mkdtemp.c [MINGW]: Include <io.h>.
	(mkdir): Define using _mkdir.

2006-06-28  Bruno Haible  <bruno@clisp.org>

	* lib/getaddrinfo.h: Fix POSIX URL.
	* lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
	_WIN32.
	(use_win32_p): Make static.
	(getaddrinfo): Reject service name if it is empty or does not consist
	solely of decimal digits, or if its value is > 65535.
	(getnameinfo): Remove useless casts.

2006-06-27  Simon Josefsson  <jas@extundo.com>

	* modules/sys_select: New file, suggested by Bruno Haible, Paul
	Eggert and Martin Lambers.

2006-06-27  Simon Josefsson  <jas@extundo.com>

	* m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
	Eggert and Martin Lambers.

2006-06-27  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
	result to 0, not to empty.
	Reported by Martin Neitzel <neitzel@sco.gaertner.de>.

2006-06-27  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.

2006-06-26  Simon Josefsson  <jas@extundo.com>

	* m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
	present.

2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
	bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
	<http://lists.gnu.org/r/bug-gnulib/2006-06/msg00181.html>.

2006-06-26  Mark D. Baushke  <mdb@gnu.org>

	* m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.

2006-06-26  Bruno Haible  <bruno@clisp.org>

	* modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.

2006-06-26  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.

2006-06-26  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
	SGI C compiler in pre-C99 mode.
	Suggested by Mark D. Baushke and Larry Jones.

2006-06-26  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
	WCHAR_MAX.
	Reported by Mark D. Baushke and Larry Jones.

2006-06-26  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
	in pre-C99 mode.
	Suggested by Mark D. Baushke and Larry Jones.

2006-06-23  Simon Josefsson  <jas@extundo.com>
	    Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
	Emit mostlyclean-local rule.
	(func_emit_tests_Makefile_am): Likewise.
	* modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.

2006-06-23  Mark D. Baushke  <mdb@gnu.org>

	* lib/stdint_.h: Treat BSD/OS like OpenBSD.

2006-06-23  Bruno Haible  <bruno@clisp.org>

	* tests/test-stdint.c: Update to match ISO C 99 Technical
	Corrigendum 1.

2006-06-23  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.

2006-06-23  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h: Treat IRIX like OpenBSD.

2006-06-23  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
	ISO C 99 Technical Corrigendum 1.

2006-06-22  Simon Josefsson  <jas@extundo.com>

	* m4/sockpfaf.m4: Include winsock2.h too, to make it work under
	MinGW.

2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/glob.c (collated_compare): Remove 'const' uses that weren't
	needed.  Some compiler complained about some of them.  Problem reported
	by Larry Jones in
	<http://lists.gnu.org/r/bug-gnulib/2006-06/msg00172.html>.

2006-06-21  Simon Josefsson  <jas@extundo.com>

	* tests/test-getaddrinfo.c: New file.

	* modules/getaddrinfo-tests: New file.

	* MODULES.html.sh: Add inet_pton.

	* modules/inet_pton: New file.

2006-06-21  Simon Josefsson  <jas@extundo.com>

	* m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
	-lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
	of using the (limited) gnulib implementation on Windows XP.

	* m4/inet_pton.m4: New file.

2006-06-21  Simon Josefsson  <jas@extundo.com>

	* lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
	variable.

	* lib/socket_.h: Don't define WINVER.

	* lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
	slightly modified to work in gnulib.

2006-06-21  Simon Josefsson  <jas@extundo.com>

	* doc/gnulib.texi (Windows sockets): Add.

2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/read-file.c (fread_file): Start with buffer allocation of
	0 bytes rather than 1 byte; this simplifies the code.
	Don't invoke feof; it's not needed.  Refactor to avoid duplicate
	code to free buffer and save/restore errno.
	(internal_read_file): Remove unused local.

2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
	<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
	Problem reported by Denis Excoffier in
	<http://lists.gnu.org/r/bug-tar/2006-06/msg00023.html>.

2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	* modules/sys_socket, modules/socklen: Include sys/types since
	FreeBSD 4.x's sys/socket.h needs it.

2006-06-19  Simon Josefsson  <jas@extundo.com>

	* lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.

2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.

2006-06-19  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
	and FULL_PATH_INTTYPES_H in angle brackets.
	Reported by Mark D. Baushke <mdb@gnu.org>.

2006-06-17  Eric Blake  <ebb9@byu.net>

	* m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
	errno.

2006-06-17  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
	<sys/inttypes.h>.

2006-06-17  Bruno Haible  <bruno@clisp.org>

	* m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
	whether errno is declared. Assume <errno.h> declares errno.

2006-06-17  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.

2006-06-17  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
	problem on Solaris 2.5.1.

2006-06-16  Eric Blake  <ebb9@byu.net>

	* lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
	* lib/unicodeio.c [!defined errno]: Likewise.
	* lib/strtol.c [!defined errno]: Likewise.
	* lib/strtod.c [!defined errno]: Likewise.

2006-06-15  Eric Blake  <ebb9@byu.net>

	* m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.

2006-06-15  Eric Blake  <ebb9@byu.net>

	* config/srclist.txt (ssize_t.m4): Lose sync.

2006-06-15  Bruno Haible  <bruno@clisp.org>

	* modules/stdint (Files): Include m4/full-header-path.m4,
	m4/size_max.m4, m4/wchar_t.m4.
	(Makefile.am): Many more substitutions.
	* modules/stdint-tests: New file.
	* tests/test-stdint.c: New file.

2006-06-15  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
	(gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
	gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
	gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
	gl_CHECK_TYPE_SAME): New macros.

2006-06-15  Bruno Haible  <bruno@clisp.org>

	* m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.

2006-06-15  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h: Rewritten to be fully auto-configured.
	Fixes bug on HP-UX/IA64.

2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getdate.y (__attribute__): Don't define if already defined.
	Problem reported by Larry Jones.
	* lib/utimens.c (__attribute__): Likewise.

2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
	reported by Andreas Schwab.

2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	    Bruno Haible  <bruno@clisp.org>

	* m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
	check for the declaration of strnlen and a run test that exposes the
	AIX 5.1 strnlen bug.  In the failure case, #define strndup to
	rpl_strndup.

2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
	    Bruno Haible  <bruno@clisp.org>

	* lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.

2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
	compile test, for Tru64 4.0D.

2006-05-28  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (printf-args.c): lose sync.

2006-05-26  Martin Lambers  <marlam@marlam.de>

	* lib/getpass.c: Updates the test for the native W32 API, and adds
	missing includes, thus fixing compilation warnings.

2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/exclude.c (exclude_fnmatch): New function.
	(excluded_file_name): Call exclude_fnmatch.
	* lib/exclude.h (excluded_file_name): New prototype

2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/tempname.c (small_open, large_open): New macros.
	(__open, __open64) [!_LIBC]: Remove.
	(__gen_tempname): Use small_open and large_open instead of __open
	and __open64.  This fixes a portability bug on HP-UX 11.11i
	reported by Simon Wing-Tang in
	<http://lists.gnu.org/r/bug-coreutils/2006-05/msg00114.html>.

2006-05-24  Bruno Haible  <bruno@clisp.org>

	* lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
	TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
	Reported by Thorsten Maerz <torte@netztorte.de> via
	Aaron Stone <aaron@serendipity.cx>.

2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
	gl_ rather than jm_.  Link, don't run, so that cross-compiles are
	allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
	and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
	not really conditional on the cache.
	(gl_PREREQ_NANOSLEEP): Check for sys/select.h.

2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
	Use the usual Autoconf way to include <time.h> and/or sys/time.h.
	(my_usleep): Don't mishandle maximum value.

2006-05-19  Jim Meyering  <jim@meyering.net>

	* lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.

2006-05-17  Bruno Haible  <bruno@clisp.org>

	Cygwin portability.
	* lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.

2006-05-17  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h: Fix recognition of Cygwin.

2006-05-15  Bruno Haible  <bruno@clisp.org>

	* build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
	on libtool patch by Ralf Wildenhues.

2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
	test for C99 conformance; (bool) 0.5 is an integer constant
	expression, but (bool) -0.5 is not.  Problem reported by Fedor
	Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.

2006-05-11  Simon Josefsson  <jas@extundo.com>

	* m4/xvasprintf.m4: Fix obvious typo.

2006-05-11  Jim Meyering  <jim@meyering.net>

	* lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
	James Lemley.

2006-05-10  Simon Josefsson  <jas@extundo.com>

	* lib/md4.c: Typo fix, update copyright years.
	(K1, K2): Don't use L because it turn computations into 64-bit on
	64-bit platforms.

2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/crc.c (crc32_update): Remove unnecessary L suffix.
	* lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
	unwanted sign propagation, e.g., on hosts with 64-bit int.
	There still are some problems with reeelly weird theoretical hosts
	(e.g., 33-bit int) but it's not worth worrying about now.
	* lib/sha1.c (rol): Likewise.
	(K1, K2, K3, K4): Remove unnecessary L suffix.

2006-05-10  Bruno Haible  <bruno@clisp.org>

	* lib/des.c: Cast to avoid warnings.

2006-05-09  Bruno Haible  <bruno@clisp.org>

	* modules/xvasprintf (Files): Add m4/xvasprintf.m4.
	(Depends-on): Depend also on xsize, stdarg.
	(configure.ac): Add gl_XVASPRINTF.

2006-05-09  Bruno Haible  <bruno@clisp.org>

	* m4/xvasprintf.m4: New file.

2006-05-09  Bruno Haible  <bruno@clisp.org>

	* lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
	(EOVERFLOW): Define fallback value.
	(xstrcat): New function.
	(xvasprintf): Recognize the special case of a string concatenation.

2006-05-08  Eric Blake  <ebb9@byu.net>

	* gnulib-tool (func_version): Base copyright year on CVS date.
	(func_emit_copyright_notice): New function.
	(func_emit_lib_Makefile_am): Use it.
	(func_emit_tests_Makefile_am): Likewise.
	(func_import): Likewise.

2006-05-08  Bruno Haible  <bruno@clisp.org>

	* modules/stdarg: New file.
	* MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.

2006-05-08  Bruno Haible  <bruno@clisp.org>

	* m4/stdarg.m4: New file, from GNU gettext.

2006-05-08  Bruno Haible  <bruno@clisp.org>

	* config/srclist.txt (build-aux/config.rpath): different from latest
	release.

2006-05-08  Bruno Haible  <bruno@clisp.org>

	* build-aux/config.rpath: Add support for Sun C 5.9 on Linux.

2006-05-05  Jim Meyering  <jim@meyering.net>

	* m4/warning.m4: New file, derived from bison's file by the same name.

2006-05-03  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h: Shorter URL.
	* lib/inttypes.h: Likewise.

2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/inttypes (Maintainer): Change from Derek Price to 'all'.

2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/verify.h: Document the internals better.  Most of this change
	was written by Bruno Haible.

2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/verify.texi: New file, partly based on a proposal by
	Bruno Haible.

2006-05-02  Bruno Haible  <bruno@clisp.org>

	* m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
	test from here...
	* m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.

2006-04-29  Bruno Haible  <bruno@clisp.org>

	* lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
	Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.

2006-04-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Make --update option actually work.

2006-04-29  Bruno Haible  <bruno@clisp.org>

	* doc/gcd.texi: New file.
	* doc/gnulib.texi: Include it.

2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getdate.y (get_date): When adding relative date, start with the
	initial time, not with the result of the first mktime call.

2006-04-25  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Output the include directives in three
	blocks, sorted separately.
	Reported by Ben Pfaff <blp@cs.stanford.edu>.

2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
	to define main with arguments, for C++.  Reported by Eric Blake.
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
	Prefer 'int main ()' to 'int main (void)', for C++.
	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
	for 'main', for C99 and C++.

2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
	Don't assume that exit status -1 is valid.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
	* m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
	* m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
	* m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
	* m4/rename.m4 (vb_FUNC_RENAME): Likewise.
	* m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
	not AC_TRY_RUN.  Use return, not exit.  Don't assume that
	functions can be used without declaring them, or that you can
	exit with status -1.
	* m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.

2006-04-24  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (longdouble.m4): sync lost.

2006-04-24  Eric Blake  <ebb9@byu.net>

	* m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.

2006-04-24  Bruno Haible  <bruno@clisp.org>

	* m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
	poll() implementation in AIX.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2006-04-24  Bruno Haible  <bruno@clisp.org>

	* m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
	assigned exactly once.

2006-04-23  Claudio Fontana  <claudio@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	* modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
	* gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
	for AM_CPPFLAGS.

2006-04-23  Bruno Haible  <bruno@clisp.org>

	* modules/copy-file: Depend on unistd.
	* modules/execute: Likewise.
	* modules/fatal-signal: Likewise.
	* modules/findprog: Likewise.
	* modules/mkdtemp : Likewise.
	* modules/pipe: Likewise.
	* modules/wait-process: Likewise.

2006-04-23  Bruno Haible  <bruno@clisp.org>

	* lib/fwriteerror.c (fwriteerror): Call fclose also when an error
	condition was already detected.
	Reported by Ben Pfaff <blp@cs.stanford.edu>.

2006-04-23  Bruno Haible  <bruno@clisp.org>

	* lib/copy-file.c: Include <unistd.h> unconditionally.
	* lib/execute.c: Likewise.
	* lib/fatal-signal.c: Likewise.
	* lib/findprog.c: Likewise.
	* lib/mkdtemp.c: Likewise.
	* lib/pipe.h: Likewise.
	* lib/pipe.c: Likewise.
	* lib/wait-process.h: Likewise.

2006-04-23  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_usage): Fix --import description. Document
	--update.
	(func_import): Create temporary file in a temporary directory, if
	--dry-run is specified. Silence errors from 'grep' when there are no
	m4 files in $m4dir.
	(func_create_testdir): Silence errors from 'grep' when there are no
	m4 files in $m4dir.
	Reported by Karl Berry <karl@freefriends.org>.

2006-04-20  Bruno Haible  <bruno@clisp.org>

	* m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
	one argument, so that the code will be portable to Autoconf 2.60.
	* m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
	* m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
	* m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.

2006-04-19  Derek Price  <derek@ximbiot.com>
	    Eric Blake  <ebb9@byu.net>

	* m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
	rather than "/full/path.h".  Update comment to match.  Shorten &
	generalize m4_translit call via AS_TR_CPP.

2006-04-19  Derek Price  <derek@ximbiot.com>
	    Eric Blake  <ebb9@byu.net>

	* lib/inttypes.h: Correct grammar in comment.

2006-04-18  Derek Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* modules/inttypes: New file.
	* modules/strtoimax, modules/strtoumax: Depend on inttypes.

2006-04-18  Derek Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
	New files.

2006-04-18  Derek Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* lib/inttypes.h: New file.
	* lib/strtoimax.c: Assume <inttypes.h>.

2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/utimens.c (futimens): glibc futimesat messes up if /proc
	isn't mounted.  Problem reported by Kir Kolyshkin.

2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
	RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
	Derek R. Price.
	* lib/regex.h (RE_DUP_MAX): Update comment to match current
	implementation.

2006-04-12  Eric Blake  <ebb9@byu.net>

	* modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
	is now done automatically by the corresponding Autoconf macro.

2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
	time_r.h.

2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>

	Merge regex changes from libc, removing some of our
	POSIX-conformance changes that were rejected and redoing them in a
	less-intrusive way.

	* lib/regcomp.c (re_compile_internal, init_dfa):
	Length arg is now size_t, not Idx.  All uses changed.
	(peek_token): Forward decl now says internal_function.
	(__re_error_msgid, __re_error_msgid_idx):
	Now static rather than extern with attribute_hidden.
	(re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
	For some reason libc prefers K&R style defns for external functions.
	(regerror) [!defined _LIBC]: Likewise.
	(re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
	(seek_collating_symbol_entry, lookup_collation_sequence_value):
	(build_range_exp, build_collating_symbol):
	Use K&R-style defn.
	(re_compile_fastmap): Use '\0' to memset, not 0.
	(utf8_sb_map): Make the calculations more obvious.
	(init_dfa, parse_bracket_exp, build_charclass_op):
	Call calloc and cast result, as glibc does.
	(init_word_char, fetch_token, peek_token, peek_token_bracket):
	(build_range_exp, build_collating_symbol):
	Now internal functions.

	* lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.

	* lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
	_REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
	Don't depend on VMS; depend on __VMS instead, for POSIX
	namespace cleanness.
	(regoff_t): Define to ssize_t, not long int.

	Remove the REG_ macros named below.  Instead, make the old names
	(e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
	__USE_GNU_REGEX.
	(REG_BACKSLASH_ESCAPE_IN_LISTS):
	(REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
	(REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
	(REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
	(REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
	(REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
	(REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
	(REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
	(REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
	(REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
	(REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
	(REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
	(REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
	(REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
	(REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
	(REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
	(REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
	(REG_NREGS):
	Remove.  All uses replaced by the old RE_* names.
	(RE_BACKSLASH_ESCAPE_IN_LISTS):
	(RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
	(RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
	(RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
	(RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
	(RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
	(RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
	(RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
	(RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
	(RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
	(RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
	Don't bother having these macros be independent of each others'
	values, since they no longer exist in the POSIX name space.

	Rename the following member names back to their old names,
	unless !__USE_GNU_REGEX.  All uses changed back.
	(buffer): Renamed from re_buffer.
	(allocated): Renamed from re_allocated.
	(used): Renamed from re_used.
	(syntax): Renamed from re_syntax.
	(fastmap): Renamed from re_fastmap.
	(translate): Renamed from re_translate.
	(can_be_null): Renamed from re_can_be_null.
	(regs_allocated): Renamed from re_regs_allocated.
	(fastmap_accurate): Renamed from re_fastmap_accurate.
	(no_sub): Renamed from re_no_sub.
	(not_bol): Renamed from re_not_bol.
	(not_eol): Renamed from re_not_eol.
	(newline_anchor): Renamed from re_newline_anchor.
	(num_regs): Renamed from rm_num_regs.
	(start): Renamed from rm_start.
	(end): Renamed from rm_end.

	(free_state): Move up a bit.

	* lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
	#define to be empty.
	(ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
	when that is what is intended.
	(SBC_MAX): Define to UCHAR_MAX + 1, not 256.
	(__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
	(MAX): New macro.
	(re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
	All uses changed back to re_malloc, etc.  It's now the caller's
	responsibility to check for overflow; all callers changed.
	(re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
	(re_x2nrealloc): Remove.
	(free_state): Remove decl.

	* lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
	(re_set_registers, re_exec):
	Use K&R-style defn.

	2006-01-31  Roland McGrath  <roland@redhat.com>

	* lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
	Reported by Mike Frysinger <vapier@gentoo.org>.

	2006-01-15  Andreas Jaeger  <aj@suse.de>

	[BZ #1950]
	* lib/regex_internal.c (re_string_reconstruct): Adjust for
	build_wcs_upper_buffer change.
	(build_wcs_upper_buffer): Change return type.

	2005-12-10  Ulrich Drepper  <drepper@redhat.com>

	* lib/regex_internal.h: Include <stdint.h> if available.

	2005-12-06  Paolo Bonzini  <bonzini@gnu.org>

	* lib/regex_internal.h (SIZE_MAX): Provide a default definition.

	2005-10-14  Ulrich Drepper  <drepper@redhat.com>

	* lib/regcomp.c: Adjust for changed secondary hash function.

	2005-09-30  Ulrich Drepper  <drepper@redhat.com>

	* lib/regex.h: Pretty printing.
	Clean up namespace a bit.

	2005-09-30  Jakub Jelinek  <jakub@redhat.com>

	* lib/regexec.c (update_cur_sifted_state, check_arrival,
	check_arrival_add_next_nodes): Avoid using uninitialized variable.

	2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
		    Ulrich Drepper  <drepper@redhat.com>

	[BZ #1302]
	* lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
	changed.
	(bitset_word_t): Renamed from bitset_word.  All uses changed.

	2005-09-22  Ulrich Drepper  <drepper@redhat.com>

	[BZ #281]
	* lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
	* lib/regcomp.c: Remove unnecessary uses of
	unsigned RE_TRANSLATE_TYPE.
	* lib/regex_internal.h: Likewise.
	* lib/regex_internal.c: Likewise.
	* lib/regexec.c: Likewise.
	Based on a patch by Stepan Kasal <kasal@ucw.cz>.

	2005-09-07  Ulrich Drepper  <drepper@redhat.com>

	* lib/regexec.c (find_recover_state): Remove unnecessary
	initialization.
	(transit_state_bkref): Make DFA a const pointer.
	(get_subexp): Likewise.
	(check_arrival): Likewise.
	(update_cur_sifted_state): Likewise.
	(re_search_internal): Likewise.
	(prune_impossible_nodes): Likewise.
	(acquire_init_state_context): Likewise.
	(proceed_next_node): Likewise.
	(set_regs): Likewise.
	(free_fail_stack_return): Likewise.
	(check_arrival_expand_ecl): Mark DFA parameter as const.
	(check_arrival_expand_ecl_sub): Likewise.
	(check_subexp_limits): Likewise.
	(sub_epsilon_src_nodes):  Likewise.
	(add_epsilon_src_nodes):  Likewise.
	(merge_state_array): Likewise.
	(update_regs): Likewise.
	(build_trtable): Likewise.
	(sift_states_backward): Mark MCTX parameter as const.
	(build_sifted_states): Likewise.
	(update_cur_sifted_state): Likewise.
	(sift_states_mkref): Likewise.
	(check_arrival_expand_ecl): Mark eclosure as const.
	(check_dst_limits_calc_pos_1): Likewise.
	* lib/regex_internal.h (re_match_context_t): Make dfa a const
	pointer.

	2005-09-06  Ulrich Drepper  <drepper@redhat.com>

	* lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
	(transit_state_sb): Likewise.
	(transit_state_mb): Likewise.
	(sift_states_iter_mb): Likewise.
	(check_arrival_add_next_nodes): Likewise.
	(check_node_accept_bytes): Change first parameter to pointer-to-const.
	[_LIBC] (re_search_2_stub): Use mempcpy.

	* lib/regex_internal.c (re_string_reconstruct): Avoid calling
	mbrtowc for very simple UTF-8 case.

	* lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
	a pointer-to-const.
	(re_acquire_state_context): Likewise.
	* lib/regex_internal.h: Adjust prototypes.

	* lib/regex.c: Prevent using C++ compilers.

	* lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
	(re_acquire_state_context): Likewise.

2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/regex (Depends-on): Add ssize_t.

2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/regex.m4 (gl_REGEX): Check for new glibc interface to
	translation table.

2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/gnulib-tool.texi (Modified imports): pathname -> file name.

2006-03-29  Mark D. Baushke  <mdb@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h: On OpenBSD, don't redefine types already included in
	<sys/types.h> and <inttypes.h>.

2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
	`__error_t_defined', so argp.h will not typedef the former.

2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
	REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
	glibc names.  Even if glibc is changed to conform to POSIX, the
	traditional names will be available anyway, since regex depends on
	the extensions module.  Also, fix a longstanding typo in the
	implementation of Spencer ERE test #75 from grep 2.3.  Problems
	reported by Emanuele Giaquinta.  Also, change sense of cached
	variable, so that the message makes sense.

2006-03-24  Simon Josefsson  <jas@extundo.com>

	* lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
	including some doc fixes.
	(base64_encode_alloc): Fix +1 bug on allocation failures.

2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lib/base64.c (base64_encode): Do not read past end of array with
	unsanitized input on systems with CHAR_BIT > 8.

2006-03-24  Eric Blake  <ebb9@byu.net>

	* lib/time_r.c (copy_string_result): Remove, as it is no longer used.

2006-03-22  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (*setenv.[ch]): get from coreutils.
	* config/srclistvars.sh (COREUTILS): new var.

2006-03-17  Jim Meyering  <jim@meyering.net>

	* m4/regex.m4 (gl_REGEX): Fix typo in last change:
	s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.

2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
	no longer needs it.  Instead, check that regoff_t is as least
	as wide as ptrdiff_t.

	Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
	so that our regex.h stays compatible with the installed regex.
	This is helpful for installers who configure --without-included-regex.
	Problem reported by Emanuele Giaquinta.

2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
	Typedef to long int, not to off_, as POSIX will likely change
	in that direction.

2006-03-15  Eric Blake  <ebb9@byu.net>

	* m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.

2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp-help.c (validate_uparams): Fix typo
	* lib/argp-parse.c (argp_default_options): Consistently begin help
	messages with a lowercase letter.

2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
	overrun buffers and shouldn't be used (much as gets shouldn't be
	used).
	* lib/time_r.c (asctime_r, ctime_r): Likewise.

2006-03-08  Simon Josefsson  <jas@extundo.com>

	* m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
	suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2006-03-08  Simon Josefsson  <jas@extundo.com>

	* m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
	$target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2006-03-08  Simon Josefsson  <jas@extundo.com>

	* lib/gc-gnulib.c (randomize): Don't open files called 'no', they
	signal that configure disabled the device.

2006-03-08  Simon Josefsson  <jas@extundo.com>

	* build-aux/maint.mk: Fix refresh-po, to handle no translated
	languages.

2006-03-07  Simon Josefsson  <jas@extundo.com>

	* modules/getopt (Depends-on): Add unistd.

	* modules/unistd: New file.

2006-03-07  Simon Josefsson  <jas@extundo.com>

	* modules/gc-random: New file.

2006-03-07  Simon Josefsson  <jas@extundo.com>

	* m4/unistd_h.m4: New file.

2006-03-07  Simon Josefsson  <jas@extundo.com>

	* m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
	test to be side-effect free by storing the result in the cache
	variable gl_cv_lib_readline, and moving the assignment of
	LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
	From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2006-03-07  Simon Josefsson  <jas@extundo.com>

	* m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
	error on missing devices (the functions will return an error).

	* m4/gc.m4: Move random stuff to gc-random.m4

2006-03-07  Simon Josefsson  <jas@extundo.com>

	* lib/unistd_.h: New file.

2006-03-07  Simon Josefsson  <jas@extundo.com>

	* lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.

2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
	Problem reported by Juan Manuel Guerrero.

2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/c-stack.c: Include unistd.h unconditionally, since we now assume
	the unistd module.
	* lib/getlogin_r.c: Likewise.
	* lib/getlogin_r.h: Likewise.
	* lib/glob.c: Likewise.
	* lib/pagealign_alloc.c: Likewise.
	* lib/unistd_.h: Remove; no longer needed.

2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh (Support for systems lacking POSIX:2001):
	Add unistd.
	* modules/c-stack (Depends-on): Add unistd.
	* modules/getlogin_r: Likewise.
	* modules/glob: Likewise.
	* modules/pagealign_alloc: Likewise.
	* modules/unistd (Files): Remove lib/unistd_.h.
	(EXTRA_DIST): Remove.
	(unistd.h): Create using 'echo' rather than 'cp', so that we don't
	need unistd_.h.
	(MOSTLYCLEANFILES): Remove unistd.h-t.

2006-03-03  Simon Josefsson  <jas@extundo.com>

	* build-aux/maint.mk: Add several syntax checks from CoreUtils.

2006-03-03  Simon Josefsson  <jas@extundo.com>

	* build-aux/maint.mk: Add refresh-po rule, based on ideas from
	libidn and bison.

2006-03-03  Simon Josefsson  <jas@extundo.com>

	* build-aux/maint.mk: Add indent target.

2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)

	* m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
	our replacement poll.h in any case, to avoid a differing
	declaration from a system header.  Seen on AIX.

2006-03-01  Simon Josefsson  <jas@extundo.com>

	* lib/readline.c: Fix typo, tiny patch from Stepan Kasal
	<kasal@ucw.cz>.

2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/gettime (Depends-on): Add extensions module.
	* modules/nanosleep (Depends-on): Likewise.
	* modules/settime (Depends-on): Likewise.

2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
	not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
	pedantically.
	* m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
	* m4/timespec.m4 (gl_TIMESPEC): Likewise.

	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
	not "==".  Reported by Ralf Wildenhues.

2006-03-01  Karl Berry  <karl@gnu.org>

	* doc/Copyright/request-*: new files, synced from gnuorg.

2006-03-01  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (Copyright/*): new entries.

2006-02-28  Simon Josefsson  <jas@extundo.com>

	* lib/getopt.c: Protect #include of unistd.h, for MSVS.

2006-02-27  Simon Josefsson  <jas@extundo.com>

	* lib/base64.h: Indent #define's.  From Jim Meyering
	<jim@meyering.net>.

2006-02-27  Jim Meyering  <jim@meyering.net>

	Revert the change of 2006-02-24, so these files can continue
	to be sync'd from gettext.
	* lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
	of `config.h'.

2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/intprops: New file.
	* MODULES.html.sh (Numeric conversion functions <stdlib.h>):
	Add intprops.
	* modules/getloadavg (Files): Remove lib/intprops.h.
	(Depends-on): Add intprops.
	* modules/human: Likewise.
	* modules/inttostr: Likewise.
	* modules/openat: Likewise.
	* modules/sig2str: Likewise.
	* modules/userspec: Likewise.
	* modules/utimecmp: Likewise.
	* modules/xnanosleep: Likewise.
	* modules/xstrtol: Likewise.

2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)

	* modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
	* modules/lock-tests (TESTS): Use $(EXEEXT).
	* modules/tls-tests: Likewise.
	* modules/argp-tests: Likewise.
	(check_PROGRAMS): New var, replacing...
	(noinst_PROGRAMS, test_argp_SOURCES): Remove.

2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
	`config.h'.

2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/glob.c: Say "invalid" rather than "illegal" in comments.

2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Sync from coreutils.
	* m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
	gl_CHDIR_SAFER.

2006-02-22  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.
	* m4/chdir-safer.m4: New file.

2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
	AT_FDCWD exceeds INT_MAX.
	* lib/openat.h (AT_FDCWD): Likewise.

2006-02-17  Eric Blake  <address@hidden>

	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.

2006-02-16  Simon Josefsson  <jas@extundo.com>

	* modules/getaddrinfo (Depends-on): Add sys_socket.

2006-02-15  Simon Josefsson  <jas@extundo.com>

	* build-aux/maint.mk: Add dsyntax-check rule.

2006-02-15  Eric Blake  <ebb9@byu.net>

	* m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
	winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
	'present but cannot compile' warnings on cygwin.
	* m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
	use ws2tcpip.h if sys/socket.h works.
	* m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
	(gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.

2006-02-14  Simon Josefsson  <jas@extundo.com>

	* modules/maintainer-makefile (Files): Rename.

	* build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
	and (the local) Makefile.cfg to maint-cfg.mk.

	* build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
	to the latter.

	* modules/maintainer-makefile: New module.

	* build-aux/Makefile.maint: New file, from GNU CoreUtils, although
	severaly stripped to make it possible to build it up from scratch
	with reliable tests.

	* build-aux/GNUmakefile: New file, from GNU CoreUtils with some
	fixes to permit overriding the default actions when configure and
	makefile are not available.

2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.
	* modules/lstat (Depends-on): Don't depend on xalloc.
	(License): Change from GPL to LGPL, since this is now simply a
	replacement for a libc function.

2006-02-14  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.

	Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
	failure on deficient systems, and simplify gnulib lgpl dependencies.
	* lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
	xmalloc/lstat combination.  Based on a patch from Bruno Haible.

	* lib/xalloc-die.c: Remove unused definition of N_.

2006-02-14  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.
	* m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
	AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
	$ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
	double-quote uses of that variable, to accommodate the rare case in
	which getmntent is available in none of the libraries checked.  This
	happens at least on FreeBSD 5.0.

2006-02-13  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool (Usage): Fix --import, from
	karl@freefriends.org (Karl Berry).

2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12

2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp-namefrob.h: Restore changes accidentally lost during the
	"autoupdate" on 2005-12-12.

2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/closeout (Depends-on): Remove atexit.

2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
	ints to 0 or 1, as this isn't true for the stdbool.h substitute.

2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
	__EXTENSIONS__ if this causes compilation to fail.  Problem
	reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
	c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.

2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/fnmatch.c (L_): Renamed from L, to work around a bug in
	Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
	<http://lists.gnu.org/r/bug-gnulib/2006-01/msg00074.html>.
	All uses changed.

2006-01-26  Simon Josefsson  <jas@extundo.com>

	* lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
	prototype is visible on mingw32.

	* lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
	for mingw32.

	* lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
	mingw32).

2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
	attempt to open for write; this always fails, at least on POSIX
	hosts.  This reinstates the 2006-01-09 change, which was
	inadvertently removed.

2006-01-26  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
	Reported by Paul Eggert.

2006-01-26  Bruno Haible  <bruno@clisp.org>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* lib/stdbool_.h (_Bool)
	[(! (defined __cplusplus || defined __BEOS__)
	  && !defined __GNUC__
	  && !(defined __HP_cc || defined __xlc__
	       || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
	       || defined __sgi))]:
	#define to signed char in these cases too; this simplifies
	the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
	etc., separately) and makes it more conservative.

2006-01-25  Simon Josefsson  <jas@extundo.com>

	* m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
	-lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
	ws2tcpip.h with WINVER=0x0501.  All for mingw32.

2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp-namefrob.h: Bugfix. Remove stray #

2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
	so that we test the test.
	Check for yet another HP-UX cc bug involving *bool |= bool.

2006-01-25  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (vasnprintf.c): sync lost.

2006-01-25  Jim Meyering  <jim@meyering.net>

	Sync from the stable (b5) branch of coreutils:

	* lib/fts.c (fts_children): Don't let close() clobber errno from
	failed fchdir().

	* lib/fts.c (fts_stat): When following a symlink-to-directory,
	don't necessarily interpret stat-fails+lstat-succeeds as indicating
	a dangling symlink.  That can also happen at least for ELOOP.
	The fix: return FTS_SLNONE only when the stat errno is ENOENT.
	FYI, this bug predates the inclusion of fts.c in coreutils.

	* lib/fts.c (fts_open): Put new maxarglen declaration and uses
	in their own block, so pre-c99 compilers don't object.

	Avoid the double-free (first in fts_read, second in fts_close) that
	would occur when an `active' directory is made inaccessible (e.g.,
	via chmod a-x) during a traversal.
	* lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
	before returning.  Reproduce this failure by
	mkdir -p a/b; cd a; chmod a-x . b
	Reported by Stavros Passas.

2006-01-25  Jim Meyering  <jim@meyering.net>

	* lib/fileblocks.c: Remove more useless parentheses.
	* lib/readutmp.h: Likewise.

2006-01-25  Bruno Haible  <bruno@clisp.org>

	* lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
	warnings.
	Reported by Paul Eggert.

2006-01-25  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
	rid of a trap command. For Solaris sh.
	Reported by Mark D. Baushke <mdb@gnu.org>.

2006-01-24  Simon Josefsson  <jas@extundo.com>

	* lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
	Bruno.

2006-01-24  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (argp-namefrob.h): sync lost.

2006-01-24  Jim Meyering  <jim@meyering.net>

	* modules/openat (Files): Add lib/intprops.h.
	From Mark D. Baushke.

2006-01-24  Jim Meyering  <jim@meyering.net>

	* m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
	Reported by Mark D. Baushke.

2006-01-24  Jim Meyering  <jim@meyering.net>

	* lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.

2006-01-24  Bruno Haible  <bruno@clisp.org>

	* modules/strnlen (Maintainer): Change from glibc to all.

2006-01-24  Bruno Haible  <bruno@clisp.org>

	* m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
	Patch by Paul Eggert.

2006-01-24  Bruno Haible  <bruno@clisp.org>

	* lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
	already has it.
	Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
	2005-11-26.

	* lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
	'signed char' to avoid problems with the built-in _Bool type.
	Reported by Paul Eggert on 2005-11-26.

2006-01-24  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Avoid constructing complicated sed
	expressions inside backquote.
	Report and solution by Mark D. Baushke <mdb@gnu.org>.

2006-01-23  Ulrich Drepper  <drepper@redhat.com>

	These changes imported from libc.
	* lib/getopt.c: Use __fxprintf instead of inline stream orientation
	test and two separate function calls.
	* lib/strndup.c (__strndup): Add libc_hidden_def.

2006-01-23  Simon Josefsson  <jas@extundo.com>

	* modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
	Remove the test_*_SOURCES variable: automake infers it by default.
	* modules/tls-tests: Likewise.

2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	Work around porting bugs reported by Dieter in
	<http://lists.gnu.org/r/bug-bison/2006-01/msg00049.html>.
	* lib/getopt.c (_NOPROTO): Remove; no longer needed.
	Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
	Include "getopt.h" first, to check interface.
	(getenv): Declare only if defined HAVE_DECL_GETENV &&
	!HAVE_DECL_GETENV.
	* lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
	(__strndup): Revert to K&R-style function dfns, the glibc style.
	* lib/strnlen.c: Don't claim it's taken from glibc; it's not.
	(strnlen, __strnlen): Remove #defines and #undefs; not needed.
	Include strnlen.h first, to get prototype properly.
	(strnlen): Renamed from __strnlen.
	Remove weak alias.

2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.

2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Adjust to reflect glibc reorganization.
	This affects only comments.

2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)

	 * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
	 Reported by Bruce Korb <bkorb@gnu.org>.

2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
	to pacify gcc -Wswitch-default.

2006-01-22  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
	temporary buffer for sprintf, take into account the precision also
	for 'd', 'i', 'u', 'o', 'x', 'X'.

2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	* modules/argp-tests: New module
	* tests/test-argp.c: New file
	* tests/test-argp-2.sh: New file

2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp-help.c (usage_long_opt): Do not print DOC options.
	(__argp_base_name): Removed
	* lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
	typo.
	(__argp_base_name): Provide macro definition or extern declaration
	depending on the configuration

2006-01-20  Simon Josefsson  <jas@extundo.com>

	* modules/inet_ntop (Depends-on): Depend on sys_socket.

2006-01-20  Simon Josefsson  <jas@extundo.com>

	* lib/inet_ntop.h: Unconditionally include sys/socket.h.

2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
	rather than -Xlinker -z -Xlinker ignore, as it's more portable.
	Suggested by Bruno Haible.

2006-01-20  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
	until changes propagate, I guess.

2006-01-19  Simon Josefsson  <jas@extundo.com>

	* m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.

2006-01-19  Simon Josefsson  <jas@extundo.com>

	* lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.

2006-01-19  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool: Set check_PROGRAMS.

	* modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
	modules/des-tests, modules/gc-arcfour-tests,
	modules/gc-arctwo-tests, modules/gc-des-tests,
	modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
	modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
	modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
	modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
	modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
	modules/md5-tests, modules/readline, modules/rijndael-tests: Use
	check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
	test_*_SOURCES.

2006-01-18  Simon Josefsson  <jas@extundo.com>

	* modules/socklen (Depends-on): Depend on sys_socket.

2006-01-18  Simon Josefsson  <jas@extundo.com>

	* modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
	modules/des-tests, modules/gc-arcfour-tests,
	modules/gc-arctwo-tests, modules/gc-des-tests,
	modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
	modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
	modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
	modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
	modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
	modules/md5-tests, modules/readline, modules/rijndael-tests: Add
	$(EXEEXT) to automake TESTS variable, for mingw32.

2006-01-17  Simon Josefsson  <jas@extundo.com>

	* modules/socklen (Include): Need sys/socket.h.

2006-01-17  Bruno Haible  <bruno@clisp.org>

	* modules/ssize_t (Include): Add <sys/types.h>.

2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
	it's not portable and it doesn't work with cross-compiles.
	Problem reported by Bruno Haible.  Fix missing-$ typo in
	'test "gl_cv_ignore_unused_libraries" ...' that prevented
	-zignore from being used with Sun's C compiler.

2006-01-12  Simon Josefsson  <jas@extundo.com>

	* lib/base64.c: Fix warning, reported by Bruno Haible
	<bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.

2006-01-12  Bruno Haible  <bruno@clisp.org>

	* modules/ldd: New file.
	* build-aux/ldd.sh.in: New file.
	* MODULES.html.sh (Support for building libraries and executables): Add
	ldd.

2006-01-12  Bruno Haible  <bruno@clisp.org>

	* m4/ldd.m4: New file.

2006-01-12  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import, func_create_testdir): Don't go into an
	endless loop while replacing $auxdir with build-aux.

2006-01-11  Simon Josefsson  <jas@extundo.com>

	* lib/stdint_.h (SIZE_MAX): Add missing (.

2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.
	* lib/md5.c: Fix commentary typos.
	(alignof, UNALIGNED_P): No need for a GCC-specific version.
	* lib/md5.h (__attribute__): Remove; unused.
	* lib/sha1.c: Fix commentary to match md5 better.
	* lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
	so that we don't need to worry about alignment.  All uses changed.
	This merges the 2005-10-28 md5 change into sha1.

2006-01-11  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.
	* lib/md5.c (OP): Fix spacing.

2006-01-11  Bruno Haible  <bruno@clisp.org>

	Ensure automatic ordering between gl_LOCK and gl_ARGP.
	* m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
	(gl_LOCK): New macro, requiring gl_LOCK_BODY.

2006-01-11  Bruno Haible  <bruno@clisp.org>

	Ensure automatic ordering between gl_LOCK and gl_ARGP.
	* gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
	the "early" section as well.

2006-01-11  Bruno Haible  <bruno@clisp.org>

	Avoid "ar: no archive members specified" error on MacOS X.
	* gnulib-tool (func_modules_add_dummy): New function.
	(func_import, func_create_testdir): Invoke it.

2006-01-11  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import, func_create_testdir): Replace build-aux
	with $auxdir in AC_CONFIG_FILES statements.

2006-01-11  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
	Initialize also noinst_HEADERS to empty.

2006-01-11  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
	variables.
	(func_create_megatestdir): Call aclocal, autoconf, automake here, not
	autoreconf.

2006-01-11  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
	overridable by the user.
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2006-01-10  Simon Josefsson  <jas@extundo.com>

	* modules/sys_socket: New file.

2006-01-10  Simon Josefsson  <jas@extundo.com>

	* m4/sys_socket_h.m4: New file.

2006-01-10  Simon Josefsson  <jas@extundo.com>

	* lib/socket_.h: New file.

2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/readutmp (Maintainer): Add myself.

2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
	the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
	People who are still concerned with buggy memcmp implementations
	can invoke gl_FUNC_MEMCMP themselves.

2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regex_internal.h (BITSET_WORD_BITS):
	Work around a bug in 64-bit PGC (before version 6.1-2), where the
	preprocessor mishandles large unsigned values as if they were signed.
	Problem reported by Claudio Fontana in
	<http://lists.gnu.org/r/bug-gnulib/2005-12/msg00061.html>.

2006-01-10  Jim Meyering  <jim@meyering.net>

	Avoid the double-free (first in fts_read, second in fts_close) that
	would occur when an `active' directory is made inaccessible (e.g.,
	via chmod a-x) during a traversal.
	* lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
	before returning.  Reproduce this failure by
	mkdir -p a/b; cd a; chmod a-x . b
	Reported by Stavros Passas.

	Sync from coreutils.
	* lib/sha1.c: Tweak grammar in a comment.

2006-01-10  Jim Meyering  <jim@meyering.net>

	* m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
	Patch by Joerg Sonnenberger.

2006-01-10  Bruno Haible  <bruno@clisp.org>

	* modules/readutmp: Depend on module free.
	* modules/strtok_r: Depend on module restrict.

2006-01-10  Bruno Haible  <bruno@clisp.org>

	* modules/gettext (configure.ac): Add an invocation of
	AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.

2006-01-10  Bruno Haible  <bruno@clisp.org>

	* m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
	Reported by Werner Lemberg <wl@gnu.org>.

2006-01-10  Bruno Haible  <bruno@clisp.org>

	* lib/localcharset.c: Update from GNU gettext.

2006-01-10  Bruno Haible  <bruno@clisp.org>

	* lib/argp.h (__const): Remove macro. Use const instead.
	* lib/argp-fmtstream.h (__const): Likewise.
	* lib/glob_.h (__const): Remove macro.
	* lib/glob-libc.h: Use const instead of __const.

2006-01-10  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
	variable.
	Needed to avoid an automake error regarding the 'gettext' module.

2006-01-09  Simon Josefsson  <jas@extundo.com>

	* modules/inet_ntop (Depends-on): Add restrict.

2006-01-09  Simon Josefsson  <jas@extundo.com>

	* modules/gc-rijndael-tests (License): Put under LGPL.

	* modules/gc-des-tests (License): Likewise.

	* modules/gc-arcfour-tests (License): Likewise.

	* modules/gc-arctwo-tests (License): Likewise.

	* modules/gc-pbkdf2-sha1-tests (License): Likewise.

	* modules/gc-hmac-sha1-tests (Files): Likewise.

	* modules/gc-hmac-md5-tests (License): Likewise.

	* modules/gc-sha1-tests (License): Likewise.

	* modules/gc-md5-tests (License): Likewise.

	* modules/gc-md4-tests (License): Likewise.

	* modules/gc-md2-tests (License): Likewise.

	* modules/gc-tests (License): Likewise.

	* modules/des-tests (License): Likewise.

	* modules/md4-tests (License): Likewise.

	* modules/md2-tests (License): Likewise.

2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils:

	* MODULES.html.sh (build_lib): New section, with new lib-ignore module.
	* modules/lib-ignore: New file.
	* modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
	chdir-safer.m4, lchmod.m4.
	* modules/openat: Add mkdirat.c, openat-priv.h.

2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.
	* m4/lib-ignore.m4: New file.
	* m4/lchmod.m4: New file.

2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.
	* lib/chdir-long.c (cdb_free): Don't bother trying to open directory
	for write access: POSIX says that must fail.
	* lib/fts.c (diropen): Likewise.
	* lib/save-cwd.c (save_cwd): Likewise.
	* lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
	well, for minor improvements on hosts that lack O_DIRECTORY.
	* lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
	Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
	Fall back on chown if open failed with EACCES.

	* lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
	Report an error at compile-time if only a 1-second nominal clock
	resolution is found.

	* lib/lchmod.h: New file.
	* lib/mkdir-p.c: Include lchmod.h, lchown.h.
	(make_dir_parents): Use lchown rather than chown, and
	lchmod rather than chmod.

	* lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
	dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
	"proc" reported by n0dalus.

	* lib/mountlist.c: Include <limits.h>.
	(dev_from_mount_options)
	[defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
	New function.  It no longer assumes "dev=" has the System V meaning
	on Linux (since it doesn't).  It also parses "dev=" more carefully.
	(read_file_system_list)
	[defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
	MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
	dev= in that case.

	* lib/posixtm.h (PDS_PRE_2000): New macro.
	* lib/posixtm.c (year): Arg is now syntax_bits rather than
	allow_century.  All usages changed.  Reject dates outside the range
	1969-1999 if PDS_PRE_2000 is used.

2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.
	* doc/getdate.texi (General date syntax): Invalid dates are rejected.
	(Time of day items): Mention the possibility of leap seconds.
	Problem reported by Dr. David Alan Gilbert.

2006-01-09  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.

	* lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.

	* lib/chdir-safer.h, lib/chdir-safer.c: New files.

	* lib/modechange.c (mode_compile): Reject an invalid mode string
	that starts with an octal digit.  From Andreas Gruenbacher.

	* lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
	and dup to open_safer and dup_safer, respectively.
	(openat_permissive): Fix typo in comment.

	* lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
	"gettext.h"; either no longer needed or are guaranteed by openat.h.
	(_): Remove; no longer needed.
	(openat): Renamed from rpl_openat; no need for rpl_openat
	since openat.h renames openat for us.
	Replace most of the body with a call to openat_permissive,
	to avoid duplicate code.
	Port to (probably hypothetical) environments were mode_t is
	wider than int.
	(openat_permissive): Require mode arg, so that we can check
	types better.  Put it just after flags.  Change cwd failure
	indicator from pointer-to-bool to pointer-to-errno-value.
	All callers changed.
	Invoke openat_save_fail and/or openat_restore_fail if
	cwd_errno is null, so that openat can call us.
	(openat_permissive, fdopendir, fstatat, unlinkat):
	Simplify errno handling to avoid some duplicate code,
	as it's OK to set errno on success.
	* lib/openat.h: Revamp code so that function macros depend on
	__OPENAT_PREFIX only, not also on AT_FDCWD.
	(openat_ro): Remove.  Caller changed to use openat_permissive.
	(openat_permissive): Now a macro, if not a function.
	(openat_restore_fail, openat_save_fail): Now always functions,
	since mkdirat needs them even if __OPENAT_PREFIX is defined.

	* lib/openat-priv.h: New file, defining macros used by mkdirat.c
	and openat.c.
	* lib/mkdirat.c: Include openat-priv.h.
	Remove definitions of macros defined therein.
	* lib/openat.c: Likewise.

	* lib/mkdirat.c (mkdirat): New file and function.
	* lib/openat.h (mkdirat): Declare.

	* lib/openat.c (fdopendir): Don't change errno when returning non-NULL.

	* lib/openat.h (openat_permissive): Declare.
	(openat_ro): Define.

	* lib/openat.c (EXPECTED_ERRNO): New macro.
	(openat_permissive): New function -- used in remove.c rewrite.
	(all functions): Set errno just before returning, only if there
	was an actual failure.
	Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.

	Emulate openat-family functions using Linux's procfs, if possible.
	Idea and some code based on Ulrich Drepper's glibc changes.

	* lib/openat.c: (BUILD_PROC_NAME): New macro.
	Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
	(rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
	before falling back on save_cwd and restore_cwd.
	(fdopendir, fstatat, unlinkat): Likewise.

	* lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
	skipping the save_cwd...restore_cwd overhead, if FILE is absolute.

	* lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
	as second argument to va_arg.  Otherwise, some versions of gcc
	warn that `if this code is reached, the program will abort'.

2006-01-09  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.
	* m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
	Require openat-priv.h.

2006-01-09  Bruno Haible  <bruno@clisp.org>

	* modules/strnlen (Include): Use strnlen.h.

2006-01-09  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.

2006-01-09  Bruno Haible  <bruno@clisp.org>

	* lib/sysexit_.h (EX_OK): New macro.
	Suggested by Martin Lambers <marlam@marlam.de>.

2006-01-09  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
	don't define _STDINT_H_NEED_SIGNED_INT_TYPES.

2006-01-09  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h (SIZE_MAX): Write the value without involving negative
	numbers.

2006-01-09  Bruno Haible  <bruno@clisp.org>

	* lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
	* lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
	* lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
	* lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.

2006-01-09  Bruno Haible  <bruno@clisp.org>

	* build-aux/javacomp.sh.in: New file, moved from lib/.
	* modules/javacomp-script (Files): Update.
	(configure.ac): Add AC_CONFIG_FILES invocation.
	(EXTRA_DIST): Remove variable.

	* build-aux/javaexec.sh.in: New file, moved from lib/.
	* modules/javaexec (Files): Update.
	(configure.ac): Add AC_CONFIG_FILES invocation.
	(EXTRA_DIST): Remove javaexec.sh.in.

	* build-aux/csharpcomp.sh.in: New file, moved from lib/.
	* modules/csharpcomp-script (Files): Update.
	(configure.ac): Add AC_CONFIG_FILES invocation.
	(EXTRA_DIST): Remove variable.

	* build-aux/csharpexec.sh.in: New file, moved from lib/.
	* modules/csharpexec (Files): Update.
	(configure.ac): Add AC_CONFIG_FILES invocation.
	(EXTRA_DIST): Remove csharpexec.sh.in.

2006-01-09  Andreas Gruenbacher  <agruen@suse.de>

	Sync from coreutils.

	Add POSIX ACL support
	* lib/acl.h (copy_acl, set_acl): Add declarations.
	* lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
	systems other than Linux.
	(chmod_or_fchmod): New function: use fchmod when possible,
	and chmod otherwise.
	(file_has_acl): Add a POSIX ACL implementation, with a
	Linux-specific subcase.
	(copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
	S_ISVTX from one file to another.  Fall back to fchmod/chmod when
	acls are unsupported.
	(set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
	S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
	are unsupported.

2006-01-09  Andreas Gruenbacher  <agruen@suse.de>

	Sync from coreutils.
	* m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.

2006-01-07  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
	gl_EARLY.

2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/strftime.c (tzname): Don't declare if it is already #defined.
	Problem reported for Mingw by Mark Junker.

2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>

	* README: Gnulib normally doesn't generate a tarball.

2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
	long int, not int, for nanosecond counts, so that people who are
	used to POSIX struct timespec won't be surprised.  Reported by Jim
	Meyering.

2005-12-28  Bruno Haible  <bruno@clisp.org>

	* build-aux/config.rpath: Update from GNU gettext.

2005-12-16  Jim Meyering  <jim@meyering.net>

	* modules/fprintftime: New module.
	* MODULES.html.sh (Date and time <time.h>): Add fprintftime.

2005-12-16  Jim Meyering  <jim@meyering.net>

	* m4/fprintftime.m4: New file.

2005-12-16  Jim Meyering  <jim@meyering.net>

	* lib/fprintftime.c, lib/fprintftime.h: New files.

2005-12-15  Simon Josefsson  <jas@extundo.com>

	* modules/socklen (configure.ac): Fix M4 macro name, to align with
	new m4/socklen.m4.

2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	* m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
	HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME

2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
	* lib/argp-help.c (fill_in_uparams): Check if the constructed
	struct uparams is valid. Fall back to the default values if it is
	not.

2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	* modules/argp (Files): Add argp-pin.c
	(Depends-on): dirname
	(lib_SOURCES): Add argp-pin.c

2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	* m4/argp.m4:  Check if program_invocation_name and
	program_invocation_short_name are declared and define appropriate
	macros if they are not.

2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp-help.c (__argp_base_name): New function
	(__argp_short_program_name): Rewrite using __argp_base_name
	* lib/argp-namefrob.h: Define program_invocation_name and
	program_invocation_short_name if requested
	(__argp_base_name): Add prototype
	* lib/argp-parse.c (argp_def): Use gettext wrappers
	(argp_default_parser): Use __argp_base_name
	* lib/argp-pin.c: New file. Defines program_invocation_name and
	program_invocation_short_name on systems that lack them.

2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/stat-time.m4 (gl_STAT_TIME): Add check for
	TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
	porting problem reported by Georg Schwarz in
	<http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.

2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
	TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
	porting problem reported by Georg Schwarz in
	<http://lists.gnu.org/r/bug-coreutils/2005-12/msg00083.html>.

2005-12-05  Bruno Haible  <bruno@clisp.org>

	* lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
	* lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
	Reported by Mark Junker <mjscod@gmx.de>.

2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
	Use implementation from Albert Chin, with some
	comments/corrections by Stepan Kasal and myself.

2005-12-02  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Accept GPLed build tool modules when
	--lgpl is given.
	* modules/csharpcomp-script: New file.
	* modules/csharpcomp: Depend on it.
	* modules/javacomp-script: New file.
	* modules/javacomp: Depend on it.
	Suggested by Simon Josefsson.

2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
	statement, to work around an HP-UX 10.20 compiler bug reported by
	Peter O'Gorman.

2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/savedir (Depends-on): Add openat.

2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
	(uintmax_t) [defined uintmax_t]: Do not declare.
	(SIZE_MAX) [defined SIZE_MAX]: Do not define.
	This works around a problem if intmax_t.m4 and/or uintmax_t.m4
	and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
	(SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
	sake of portability to weird hosts that C allows (though we don't
	know of any practical examples).

	* lib/savedir.h (fdsavedir): New decl.
	* lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
	contains most of the former guts of savedir.
	(savedir): Use savedirstream.
	Include "openat.h".

2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/obstack (Files): Add m4/ulonglong.m4.
	Problem reported by Davide Angelocola.

2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
	coreutils no longer futzes with rounding modes.

2005-11-14  Jim Meyering  <jim@meyering.net>

	* lib/mkstemp-safer.c: Include <config.h>, required for possible
	replacement of mkstemp.

2005-11-10  Simon Josefsson  <jas@extundo.com>

	* lib/readline.c: Remove EOL.

2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/gethrxtime (Depends-on): Add gettime.

2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
	or gettimeofday; no longer needed.

2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
	time business.
	(gethrxtime) [! (HAVE_NANOUPTIME
	|| (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
	|| HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
	our own approximation.

2005-11-08  Eric Blake  <ebb9@byu.net>

	* lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.

2005-11-08  Eric Blake  <ebb9@byu.net>

	* lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.

2005-11-04  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Implement --update mode.

2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>

	Fix porting problem reported by Theodoros V. Kalamatianos.
	* lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
	Don't assume that futimes failing means we must fail.

2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
	variables to suggest the intended function of the PATH_MAX check.

2005-10-30  Kean Johnston  <jkj@sco.com>

	Trivial changes to support SCO systems.
	* m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
	as PATH_MAX.
	* m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
	where __ptr is null when no I/O is pending.

2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
	leave errno alone.  Problem reported by Dmitry V. Levin.

2005-10-28  Simon Josefsson  <jas@extundo.com>

	* tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
	Test more.

	* tests/test-gc-md2.c, tests/test-md2.c: New files.

	* modules/md2, modules/md2-tests: New files.

2005-10-28  Simon Josefsson  <jas@extundo.com>

	* m4/inet_ntop.m4: More tests.

	* m4/gc-md2.m4, md2.m4: New file.

2005-10-28  Simon Josefsson  <jas@extundo.com>

	* lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
	"restrict" keywords, as per POSIX.  Protect the function
	declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
	Don't use K&R prototypes.  Check the sprintf return values.
	Re-define EAFNOSUPPORT if not present.  Indent.

	* lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
	suggested by Bruno Haible <bruno@clisp.org>.

	* lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.

	* lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.

	* lib/gc-libgcrypt.c: Add MD2 (which is not available through
	libgcrypt).

	* lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.

	* lib/md2.h, lib/md2.c: New files.

2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
	errno alone.  Problem reported by Frederic Jolliton.

2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/verify (License): Change from GPL to LGPL.  This is a
	tiny module and there are apparently near-equivalents that are
	under the BSD license.

2005-10-24  Simon Josefsson  <jas@extundo.com>

	* modules/sha1: Relicense to LGPL.

2005-10-24  Simon Josefsson  <jas@extundo.com>

	* lib/md4.h: Shrink buffer size, now that we changed the type.

2005-10-23  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool (func_import): Fix --tests-base.

2005-10-22  Simon Josefsson  <jas@extundo.com>

	* modules/arcfour (Depends-on): Need stdint.

2005-10-22  Simon Josefsson  <jas@extundo.com>

	* m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
	suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.

2005-10-22  Simon Josefsson  <jas@extundo.com>

	* lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
	suggested by Bruno Haible <bruno@clisp.org>.

2005-10-22  Simon Josefsson  <jas@extundo.com>

	* lib/crc.h: Include stddef.h, for size_t.

2005-10-22  Simon Josefsson  <jas@extundo.com>

	* lib/arcfour.h, arcfour.c: Use fixed size indices in the
	arcfour_context struct (simplify test vector testing in GNU
	Shishi).

2005-10-21  Simon Josefsson  <jas@extundo.com>

	* modules/des, modules/des-tests: New files.

	* modules/gc-des, modules/gc-des-tests: New files.

	* tests/test-des.c, tests/test-gc-des.c: New file.

2005-10-21  Simon Josefsson  <jas@extundo.com>

	* modules/arctwo, modules/arctwo-tests: New files.

	* tests/test-arctwo.c: New file.

	* modules/gc-arctwo, modules/gc-arctwo-tests: New files.

	* tests/test-gc-arctwo.c: New file.

2005-10-21  Simon Josefsson  <jas@extundo.com>

	* m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
	Bruno Haible <bruno@clisp.org>.

	* m4/gc-des.m4: New file.

2005-10-21  Simon Josefsson  <jas@extundo.com>

	* m4/arctwo.m4: New file.

	* m4/gc-arctwo.m4: New file.

2005-10-21  Simon Josefsson  <jas@extundo.com>

	* lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
	block.

2005-10-21  Simon Josefsson  <jas@extundo.com>

	* lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
	<bruno@clisp.org>.

	* lib/hmac-sha1.c (hmac_sha1): Likewise.

	* lib/crc.c (crc32_update): Actually use crc parameter, suggested by
	Bruno Haible <bruno@clisp.org>.

	* lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
	<bruno@clisp.org>.

2005-10-21  Simon Josefsson  <jas@extundo.com>

	* lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.

2005-10-21  Simon Josefsson  <jas@extundo.com>

	* lib/gc-gnulib.c: Support ARCTWO in CBC mode.

2005-10-21  Simon Josefsson  <jas@extundo.com>

	* lib/des.h, lib/des.c: New files.

	* lib/gc-gnulib.c: Support DES.c

2005-10-21  Simon Josefsson  <jas@extundo.com>

	* lib/arctwo.h, lib/arctwo.c: New files.

	* lib/gc-gnulib.c: Support ARCTWO.

2005-10-21  Simon Josefsson  <jas@extundo.com>

	* lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
	suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2005-10-21  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool (func_import, func_create_testdir): Define automake
	conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
	Makefile.am snippet),
	suggested by Bruno Haible <bruno@clisp.org>.

	* modules/gc (Makefile.am): Use it.

2005-10-21  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import, func_create_testdir): Add quoting to last
	patch.

2005-10-19  Simon Josefsson  <jas@extundo.com>

	* tests/test-gc-rijndael.c: New file.

	* modules/gc-rijndael, modules/gc-rijndael-test: New files.

2005-10-19  Simon Josefsson  <jas@extundo.com>

	* tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
	interface too.

2005-10-19  Simon Josefsson  <jas@extundo.com>

	* tests/test-gc-arcfour.c: New file.

	* modules/gc-arcfour, modules/gc-arcfour-tests: New files.

2005-10-19  Simon Josefsson  <jas@extundo.com>

	* modules/gc-md4, modules/gc-md4-tests: New file.

	* tests/test-gc-md4.c: New file.

2005-10-19  Simon Josefsson  <jas@extundo.com>

	* m4/gc-md4.m4: New file.

2005-10-19  Simon Josefsson  <jas@extundo.com>

	* m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
	gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
	<kasal@ucw.cz>.

2005-10-19  Simon Josefsson  <jas@extundo.com>

	* m4/gc-arcfour.m4: New file.

	* m4/gc-rijndael.m4: New file.

2005-10-19  Simon Josefsson  <jas@extundo.com>

	* lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.

2005-10-19  Simon Josefsson  <jas@extundo.com>

	* lib/gc-gnulib.c: Support ARCFOUR.

2005-10-19  Simon Josefsson  <jas@extundo.com>

	* lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
	support.

	* lib/gc.h: Add ECB enum type.

	* lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.

2005-10-18  Simon Josefsson  <jas@extundo.com>

	* tests/test-md5.c: New file.

	* modules/md5-tests: New file.

2005-10-18  Simon Josefsson  <jas@extundo.com>

	* tests/test-md4.c: New file.

	* modules/md4, modules/md4-tests: New files.

2005-10-18  Simon Josefsson  <jas@extundo.com>

	* m4/md4.m4: New file.

2005-10-18  Simon Josefsson  <jas@extundo.com>

	* lib/md4.h, lib/md4.c: New files, based on md5.?.

2005-10-17  Stepan Kasal  <kasal@ucw.cz>

	* gnulib-tool (func_create_testdir): Omit the second check whether
	BUILT_SOURCES in nonempty.

2005-10-17  Simon Josefsson  <jas@extundo.com>

	* tests/test-rijndael.c: New file.

2005-10-17  Simon Josefsson  <jas@extundo.com>

	* modules/sha1: Depend on stdint instead of md5.

	* modules/md5: Depend on stdint, remove uint32_t.

2005-10-17  Simon Josefsson  <jas@extundo.com>

	* modules/gc-sha1-tests: New file.

	* tests/test-gc-sha1.c: New file.

2005-10-17  Simon Josefsson  <jas@extundo.com>

	* m4/md5.m4: Remove call to uint32_t.m4.

2005-10-17  Simon Josefsson  <jas@extundo.com>

	* lib/sha1.c: Use uint32_t instead of md5_uint32.t

	* lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
	md5.h.

	* lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.

	* lib/md5.h: Use stdint.h and uint32_t.  Doc fix.

2005-10-17  Simon Josefsson  <jas@extundo.com>

	* lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.

2005-10-17  Simon Josefsson  <jas@extundo.com>

	* lib/gc.h, gc-libgcrypt.c: Add ciphers.

2005-10-17  Simon Josefsson  <jas@extundo.com>

	* lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.

	* lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.

2005-10-17  Bruno Haible  <bruno@clisp.org>

	* m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
	that it can also be used in a test.

2005-10-16  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_tests_Makefile_am): Also define
	TESTS_ENVIRONMENT, so that individual tests can augment it.

	* gnulib-tool (func_create_testdir): Use an intermediate target for
	building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
	macros, like $(ALLOCA_H), which cannot be passed through the command
	line.

2005-10-15  Simon Josefsson  <jas@extundo.com>

	* modules/rijndael-tests: New file.

	* modules/rijndael: New file.

2005-10-15  Simon Josefsson  <jas@extundo.com>

	* m4/rijndael.m4: New file.

2005-10-15  Simon Josefsson  <jas@extundo.com>

	* lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.

	* lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.

2005-10-14  Simon Josefsson  <jas@extundo.com>

	* tests/test-arcfour.c: New file.

	* modules/arcfour, modules/arcfour-tests: New files.

2005-10-14  Simon Josefsson  <jas@extundo.com>

	* m4/arcfour.m4: New file.

2005-10-14  Simon Josefsson  <jas@extundo.com>

	* lib/arcfour.h, lib/arcfour.c: New files.

2005-10-14  Roland McGrath  <roland@redhat.com>

	Import from libc.  [BZ #1331]
	* lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
	macro argument.
	Reported by Matej Vela <vela@debian.org>.

2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
	include <wchar.h>; no longer needed.

2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.

2005-10-14  Jakub Jelinek  <jakub@redhat.com>
	and  Ulrich Drepper  <drepper@redhat.com>

	Import from libc.
	* lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
	instead of inline stream orientation test and two separate
	function calls.  Pay no attention to USE_IN_LIBIO.

2005-10-13  Simon Josefsson  <jas@extundo.com>

	* modules/gc-hmac-md5-tests: New file.

	* tests/test-gc-hmac-sha1.c: New file.

	* tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.

	* modules/gc-hmac-md5-tests: New file.

	* tests/test-gc-md5.c: New file.

	* modules/gc-md5-tests: New file.

2005-10-13  Simon Josefsson  <jas@extundo.com>

	* lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
	Move memory allocation outside of loop.

2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/mkdir-p.c (make_dir_parents): Don't report an error if an
	intermediate directory is in a read-only file system.  Problem
	reported by Eric Blake.

2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>

	* modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.

2005-10-12  Simon Josefsson  <jas@extundo.com>

	* tests/test-hmac-sha1.c: New file.

	* modules/hmac-sha1-tests: New file.

	* modules/hmac-sha1: New file.

2005-10-12  Simon Josefsson  <jas@extundo.com>

	* modules/gc-sha1: New file.

2005-10-12  Simon Josefsson  <jas@extundo.com>

	* modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.

	* tests/test-gc-pbkdf2-sha1.c: New file.

2005-10-12  Simon Josefsson  <jas@extundo.com>

	* modules/gc-md5, modules/gc-hmac-md5: New files.

	* modules/gc (Files): Remove md5, memxor and hmac files.

2005-10-12  Simon Josefsson  <jas@extundo.com>

	* m4/gc-pbkdf2-sha1.m4: New file.

	* m4/gc-hmac-sha1.m4: New file.

	* m4/gc-sha1: New file.

	* m4/hmac-sha1.m4: New file.

2005-10-12  Simon Josefsson  <jas@extundo.com>

	* m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.

	* m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.

2005-10-12  Simon Josefsson  <jas@extundo.com>

	* lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
	suggested by Bruno Haible <bruno@clisp.org>.

2005-10-12  Simon Josefsson  <jas@extundo.com>

	* lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.

2005-10-12  Simon Josefsson  <jas@extundo.com>

	* lib/gc-pbkdf2-sha1.c: New file.

	* lib/gc.h: Add gc_pbkdf2_sha1 prototype.

2005-10-12  Simon Josefsson  <jas@extundo.com>

	* lib/gc-libgcrypt.c (gc_hmac_sha1): New function.

	* lib/gc-gnulib.c (gc_hmac_sha1): New function.

2005-10-12  Simon Josefsson  <jas@extundo.com>

	* lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
	GC_USE_HMAC_MD5, respectively.

	* lib/gc-libgcrypt.c (gc_md5): Fix assert call.
	(gc_md5): Fix typo.

	* lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.

	* lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.

	* lib/gc-gnulib.c (gc_hash_buffer): Ditto.

2005-10-12  Bruno Haible  <bruno@clisp.org>

	* m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
	Reported by Stepan Kasal <kasal@ucw.cz>.

2005-10-11  Simon Josefsson  <jas@extundo.com>

	* tests/test-crc.c: New file.

	* modules/crc, modules/crc-tests: New files.

2005-10-11  Simon Josefsson  <jas@extundo.com>

	* m4/crc.m4: New file.

2005-10-11  Simon Josefsson  <jas@extundo.com>

	* lib/gc.h: Add gc_hash and gc_hash_buffer.

	* lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.

	* lib/gc-libgcrypt.c (gc_hash_buffer): Add.

2005-10-11  Simon Josefsson  <jas@extundo.com>

	* lib/crc.h, lib/crc.c: New files.

	* lib/gc.h (gc_hash_buffer): Add doc.

2005-10-11  Bruno Haible  <bruno@clisp.org>

	* modules/c-strcasestr: New file.
	* MODULES.html.sh (String handling <string.h>): Add c-strcasestr.

2005-10-11  Bruno Haible  <bruno@clisp.org>

	* modules/c-strcase: New file.
	* MODULES.html.sh (String handling <string.h>): Add c-strcase.

2005-10-11  Bruno Haible  <bruno@clisp.org>

	* lib/strcasecmp.c: Include limits.h.
	(strcasecmp): Avoid integer overflow on exotic platforms.
	* lib/strncasecmp.c: Include limits.h.
	(strncasecmp): Avoid integer overflow on exotic platforms.
	Reported by Paul Eggert.

2005-10-11  Bruno Haible  <bruno@clisp.org>

	* lib/c-strcasestr.h: New file, from GNU gettext.
	* lib/c-strcasestr.c: New file, from GNU gettext.

2005-10-11  Bruno Haible  <bruno@clisp.org>

	* lib/c-strcase.h: New file, from GNU gettext.
	* lib/c-strcasecmp.c: New file, from GNU gettext.
	* lib/c-strncasecmp.c: New file, from GNU gettext.

2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/mempcpy (License): GPL -> LGPL.
	* modules/strchrnul (License): Likewise.
	* modules/sysexits (License): Likewise.

2005-10-08  Simon Josefsson  <jas@extundo.com>

	* config/srclist.txt: Bug 1423 is closed, but 1439 remains.

2005-10-07  Simon Josefsson  <jas@extundo.com>

	* m4/memxor.m4: Remove gl_C_RESTRICT call.

2005-10-06  Simon Josefsson  <jas@extundo.com>

	* tests/test-hmac-md5.c: New file.

	* modules/hmac-md5-tests: New file.

	* modules/hmac-md5: New file.

2005-10-06  Simon Josefsson  <jas@extundo.com>

	* m4/hmac-md5.m4: New file.

	* m4/memxor.m4: Require gl_C_RESTRICT.

2005-10-06  Simon Josefsson  <jas@extundo.com>

	* lib/memxor.c (memxor): Avoid casts and warnings.

2005-10-06  Simon Josefsson  <jas@extundo.com>

	* lib/hmac-md5.c: New file.

	* lib/hmac.h: New file.

2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
	promotes to int, not unsigned int, to catch the AIX 5.3
	compiler bug.

2005-10-05  Simon Josefsson  <jas@extundo.com>

	* modules/memxor: New file.

	* modules/iconv (Files): Move config.rpath to havelib, it is used
	there.

	* modules/havelib (Files): Add config.rpath.

2005-10-05  Simon Josefsson  <jas@extundo.com>

	* m4/memxor.m4: New file.

2005-10-05  Simon Josefsson  <jas@extundo.com>

	* lib/memxor.c (memxor): Fix compiler error.

	* lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
	<http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.

	* lib/memxor.h, lib/memxor.c: New files.

	* lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
	we assume all systems have it, suggested by Jim Meyering
	<jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
	any systems lack sys/socket.h; mingw32 is known to lack it, but we
	don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
	same reasons.

2005-10-05  Simon Josefsson  <jas@extundo.com>

	* config/srclist.txt: Add glibc bug 1423 for md5.h.

2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
	sys/socket.h, netdb.h, sys/types.h; the checks areno longer
	needed, since the source code now assumes these .h files.

2005-10-05  Derek Price  <derek@ximbiot.com>

	* lib/getdelim.c (SIZE_MAX): New macro, if not already defined.

2005-10-05  Bruno Haible  <bruno@clisp.org>

	* modules/stdint (License): Change to LGPL.

2005-10-04  Simon Josefsson  <jas@extundo.com>

	* lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
	D. Baushke" <mdb@gnu.org>.

2005-10-04  Bruno Haible  <bruno@clisp.org>

	* lib/verify.h (verify_true): Provide alternative definition for C++.

2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
	(SSIZE_MAX): New macro, if not already defined.
	(getdelim): Fix buffer overrun on 64-bit hosts with lines longer
	than 2 GiB.

2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.
	* m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
	* m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
	defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
	ULLONG_MAX doesn't work with 2.7.2.1.

2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/xreadlink (Makefile.am): Remove lib_SOURCES.
	From Ben Pfaff.

	* modules/exclude (Depends-on): Depend on verify.
	* modules/strtoimax (Depends-on): Likewise.
	* modules/utimecmp (Depends-on): Likewise.

2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/exclude.c: Include verify.h.
	(verify): Remove.  All callers changed to use verify.h's version.
	* lib/strtoimax.c: Likewise.
	* lib/utimecmp.c: Likewis.e

	Sync from coreutils.
	* lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
	getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
	* lib/.cvsignore: Add fts.h, search.h, t-fpending.
	* lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
	bother returning ENOSYS if settimeofday or stime fails; just let
	them return whatever errno they want to return.
	* lib/utimens.c: Include unistd.h, for dup2.
	(futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
	(futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.

2005-10-02  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.
	* m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
	from glibc-2.2.5 that fails for read-only files.

2005-10-02  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.
	* lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
	* lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
	`#if HAVE_CONFIG_H'.
	* lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
	Remove AT_FDCWD test.
	Do not consume the fd unless successful.
	* lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
	* lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
	block, so that we don't even try to compile it if settimeofday is
	available.  This works around a compilation failure on OSF1 V5.1,
	due to stime requiring a `long int*' while tv_sec is `int'.

2005-10-02  Alfred M. Szmidt  <ams@gnu.org>

	Sync from coreutils.
	* m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
	against `yes', rather than just testing for nonempty.

2005-10-01  Simon Josefsson  <jas@extundo.com>

	* m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
	and Darwin.

	* m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
	as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
	netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
	freeaddrinfo and gai_strerror are declared by the POSIX headers.
	Check if struct addrinfo is declared.

2005-10-01  Simon Josefsson  <jas@extundo.com>

	* lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
	Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
	AI_* and EAI_* definitions.  Protect function declarations.

2005-10-01  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.

	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
	libraries [inet nsl socket xnet].  Nelson Beebe reported that with
	native cc on Solaris 7, getaddrinfo.c requires -lsocket.
	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
	in the inet and nsl libraries.  Required on Solaris 5.7.

2005-10-01  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.
	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
	in the inet and nsl libraries.  Required on Solaris 5.7.

2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)

	* lib/getdelim.c (getdelim): Remove unused variables.

2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
	so that the code works even with ancient cpp.  Portability problem
	with GCC 2.7.2.1 reported by Thomas M.Ott.

2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/regex (Depends-on): Add strcase.

	* modules/gethostname (Licence): Change from GPL to LGPL, since
	gethostname.c is a trivial implementation of a standard library
	function.
	* modules/poll (License): Change from GPL to LGPL, since it's
	derived from LGPL code.

2005-09-27  Jim Meyering  <jim@meyering.net>

	* lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
	HAVE_CONFIG_H.

	* lib/intprops.h (signed_type_or_expr__): Define.
	(INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
	for unsigned types.

2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/verify.h (verify_expr): Remove, replacing with:
	(verify_true): New macro that returns true instead of void.
	(verify_type__): Remove.
	(verify): Use verify_true rather than verify_type__.

2005-09-26  Bruno Haible  <bruno@clisp.org>

	* modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
	is necessary.
	(lib_SOURCES): Remove mbchar.c.
	* modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
	(Files): Add m4/mbrtowc.m4.
	* modules/mbiter: Likewise.
	* modules/mbuiter: Likewise.

2005-09-26  Bruno Haible  <bruno@clisp.org>

	* m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
	compile mbchar.c if they are not both present.
	* m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
	* m4/mbiter.m4 (gl_MBITER): Likewise.
	* m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
	* m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
	* m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.

2005-09-25  Jim Meyering  <jim@meyering.net>

	* modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
	also uses socklen_t.

2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/utimens.c (ENOSYS): Define if not already defined.
	(futimens): Support having a null PATH if the file descriptor
	is nonnegative.

	* lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
	Remove.
	(__attribute): Define to empty unless GCC 3.1 or later.
	This works around a core dump on OpenBSD 3.4, which has GCC
	2.95.3, which dumps core when given __attribute__(()).  It also
	simplifies other tests, since we really don't want to bother with
	worrying about which ancient version of GCC supported what.
	Original problem reported by Yoann Vandoorselaere, with part of
	the fix suggested by Derek Price.

2005-09-24  Jim Meyering  <jim@meyering.net>

	* lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
	so we can once again use a positive bitfield width of 1 -- now we
	don't have to explain why we were using a bitfield width of 2.

2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
	and similarly for the other external symbols.  Problem reported
	by James Gallager.

	* m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
	bug reported by Jim Meyering.

	* m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
	* m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
	not needed, since socklen is a prerequisite module.

2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
	Problem reported by Eric Blake.
	(getaddrinfo): Initialize se so that it's not garbage.
	Redo internal storage allocation so that it doesn't make unportable
	assumptions about alignment.
	Fix a memory leak.

	* lib/utimens.c (futimens): Use futimesat if available.
	Prefer it to futimes since it doesn't have the futimes bug.

	* lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
	(verify): Don't use the __LINE__ trick, as it doesn't work in general.
	Instead, declare a function that returns a pointer to an array,
	and use verify_type__ to declare the size of the array.
	Problem and germ of a solution reported by Bruno Haible.
	(verify_type__): Use 2, not 1, for bitfield size, to avoid
	a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.

2005-09-23  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.
	Correct build failure (socklen_t not defined) on at least
	mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
	* m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.

2005-09-23  Jim Meyering  <jim@meyering.net>

	* modules/getaddrinfo (Depends-on): Add socklen.

2005-09-23  Bruno Haible  <bruno@clisp.org>

	* tests/test-verify.c: New file.

2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.

	* modules/argmatch (Depends-on): Add verify.
	* modules/getloadavg (Depends-on): Depend on fcntl-safer, not
	unistd-safer.
	* modules/save-cwd (Depends-on): Likewise.

	* modules/openat (Files): Add lib/openat-die.c.
	(Depends-on): Remove error, exitfail.
	Add dirname.

	* modules/verify: New file.
	* MODULES.html.sh (Diagnostics <assert.h>): New section,
	with "verify" module.

2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.

	* m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
	* m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
	* m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
	* m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
	* m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
	* m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
	* m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
	Don't bother checking for string.h, stdlib.h, unistd.h.
	* m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
	AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
	module's job.
	* m4/jm-macros.m4 (gl_MACROS): Likewise.
	* m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.

	* m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
	(gl_GETDATE): Use it.

	* m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.

2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.

	* lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
	stat-time.h.
	* lib/argmatch.h: Include verify.h
	(ARGMATCH_VERIFY): Use verify rather than rolling our own.
	(ARGMATCH_ASSERT): Remove; unused.
	* lib/canonicalize.c: Assume STDC_HEADERS.
	* lib/exclude.c: Include "strcase.h".
	* lib/regex_internal.h [!defined _LIBC]: Likewise.
	* lib/getusershell.c: Include stdio--.h rather than stdio.h
	and stdio-safer.h.
	(getusershell): Call fopen, not fopen_safer.
	* lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
	Do not include unistd-safer.h.
	(save_cwd): Don't call fd_safer; no longer needed
	now that we include fcntl--.h.

	* lib/getdate.y (relative_time): New type.
	(RELATIVE_TIME_0): New constant.
	(parser_control): Use relative_time instead of doing it ourselves.
	(%union): Add new relative_time rel member.
	(tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
	Now typeless.
	(relunit, relunit_snumber): Now of type rel.
	(zone, rel, relunit, get_date): Adjust to above changes.

	* lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
	Do not include unistd-safer.h.
	(getloadavg): Don't call fd_safer; no longer needed
	now that we include fcntl--.h.

	* lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
	(make_dir_parents): Treat ENOSYS like EEXIST.

	Improve quality of diagnostics on restore_cwd failure.
	* lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
	(make_dir_parents): Last arg is now int * (for errno), not bool *.
	* lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
	Rewrite "mkdir -p" algorithm to avoid the need for "stat"
	each time through the loop.  Do not diagnose restore_cwd failure;
	that is the caller's job (and perhaps the caller does not care).

	* lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
	(make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
	If the file already exists but is not a directory, don't bother
	to try to make its parents.
	Close potential file descriptor leak if we can't chdir("/") (!).
	Don't always return true if chdir($PWD) fails; return true only
	if the requested action was done successfully (except for the
	chdir($PWD)).
	Don't log final directory unless we actually made it.
	Refactor to avoid duplicate code to fix up permissions.
	Don't attempt to fix up parent permissions if chdir($PWD) fails.

	* lib/strftime.c (my_strftime): Rewrite the previous change slightly,
	to make it a bit faster and (I hope) clearer.
	* lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
	Fix bug in formats like %2N.

	* lib/verify.h: New file.

2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.
	* m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.

2005-09-22  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.

	* m4/lstat.m4 (gl_FUNC_LSTAT):
	Use AC_LIBSOURCES to require lstat.c and lstat.h.
	Remove obsolete comment.
	* m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
	* m4/xstrtod.m4: Likewise.

	* m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.

2005-09-22  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.

	* lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.

	* lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
	the .tm_year member, since otherwise gcc-4.0 would now warn about
	tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.

	* lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
	order to avoid an unsuppressible warning from gcc on 64-bit systems.

	* lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
	the command "date -d'2005-03-27 +1 day'" succeeds once again, even
	when run in a time zone for which daylight savings time is in effect
	for the starting date.

	* lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
	stop us from restricting permissions of just-created absolute-named
	directories.
	* lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
	to restore initial working directory.
	* lib/mkdir-p.c (make_dir_parents): New parameter:
	different_working_dir, to tell caller if/when we change the working
	directory and are unable to return to the initial one.
	* lib/mkdir-p.h (make_dir_parents): Update prototype.
	* lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
	`return false'.  This fixes a bug introduced on 2004-07-30.

	* lib/openat.c (fdopendir): Be sure to close the supplied
	file descriptor before returning.  This makes our replacement
	implementation a little closer to Solaris's, where fdopendir
	ties the file descriptor to the returned DIR* pointer.
	* lib/openat.c (unlinkat): New function.
	* lib/openat.h (unlinkat): Add prototype.
	* lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
	(openat_restore_fail): Rename from openat_restore_die.
	* lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.

	Provide an alternative to exiting immediately upon save_cwd or
	restore_cwd failure.  Now, an application can arrange e.g.,
	to perform a longjump in that case.
	* lib/openat.c: Include dirname.h.
	Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
	(rpl_openat, fdopendir, fstatat): Call openat_save_die
	and openat_restore_die rather than calling error directly.
	Don't include "error.h" or "exitfail.h"; they're no longer needed.

	* lib/openat-die.c (openat_save_die, openat_restore_die): New file.
	* lib/openat.h (openat_save_die, openat_restore_die): Declare and
	define.

	* lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
	size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
			    int utc, int nanoseconds);
	Background:
	date should not have to allocate a megabyte of virtual memory to
	handle a format argument like +%1048575T.  When implemented with
	strftime, it must allocate such a buffer, use strftime to fill it
	in, print it, then free it.
	With fprintftime, it simply prints everything and exits.
	With no need for memory allocation, that's one fewer way to fail.
	* lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
	optional field width, not before, so we accept %9:z, not %:9z.
	(my_strftime): Be sure to use L_('x') for literals.

	* lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
	* lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
	* lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
	* lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
	* lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
	* lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
	* lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
	* lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
	* lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
	* lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
	* lib/xgethostname.c, lib/xreadlink.c:
	Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.

	* lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
	* lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
	* lib/openat.h, lib/save-cwd.c, lib/tempname.c:
	Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
	and don't include <sys/file.h>).

2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)

	Sync from coreutils.

	* lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
	[__linux__]: Allocate a big enough buffer for /proc/loadavg.
	[!LDAV_DONE]: Avoid unused variable warning.

2005-09-21  Bruno Haible  <bruno@clisp.org>

	* lib/unicodeio.h (unicode_to_mb): New declaration.

2005-09-20  Derek Price  <derek@ximbiot.com>

	* lib/getaddrinfo.c: Don't include <netdb.h> included from
	getaddrinfo.h.

2005-09-20  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Remove trailing slashes from the values specified for
	--source-base, --m4-base, --tests-base, --aux-dir.
	Suggested by Simon Josefsson <jas@extundo.com>.

2005-09-20  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_all_modules, func_modules_transitive_closure,
	func_modules_to_filelist, func_import, func_create_testdir): Make all
	sorting results locale-independent, so that gnulib-cache.m4 doesn't
	change when gnulib-tool is invoked in a different locale.

2005-09-19  Simon Josefsson  <jas@extundo.com>

	* m4/socklen.m4: Fix typo.

2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	Use a consistent style for including <config.h>.
	* lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
	lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
	lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
	lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
	lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
	lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
	lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
	lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
	lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
	lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
	lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
	lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
	lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
	lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
	lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
	lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
	lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
	lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
	lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
	lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
	lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
	lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
	lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
	lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
	lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
	lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
	lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
	lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
	lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
	lib/xstrtoumax.c, lib/yesno.c:
	Standardize inclusion of config.h.
	* lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
	lib/inttostr.h:  Removed inclusion of config.h from header files.
	* lib/inttostr.c:  Adjusted in-tree users.
	* lib/timespec.h: Remove superfluous warning to include config.h.
	* lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
	lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
	lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
	lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
	config.h with HAVE_CONFIG_H.

2005-09-19  Jim Meyering  <jim@meyering.net>

	* modules/pathmax (License): Change to LGPL.

2005-09-19  Derek Price  <derek@ximbiot.com>

	* config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.

2005-09-19  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (import): Provide default for --tests-base.

2005-09-19  Bruno Haible  <bruno@clisp.org>

	* doc/quote.texi: New file, extracted from gnulib.texi.
	* doc/ctime.texi: New file, extracted from gnulib.texi.
	* doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
	* doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
	* doc/gnulib.texi: Include them.

2005-09-18  Bruno Haible  <bruno@clisp.org>

	Portability fix.
	* gnulib-tool (func_readlink): New function.
	(func_ln_if_changed): Use it.

2005-09-18  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Support --with-tests also with --import.
	(func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
	(func_import): Use variables $testsbase and $inctests. Emit a
	gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
	Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
	SUBDIRS += $testsdir.
	(func_create_testdir): Update.

2005-09-18  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Revise --dry-run implementation. Use variable $doit
	instead of $dry_run.
	(func_cp_if_changed, func_mv_if_changed): Remove functions.
	(func_ln_if_changed): Don't handle dry-run here.
	(func_import): In dry-run mode, detect more precisely which actions
	would be performed, and don't use "...ing" verbs.

2005-09-18  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
	(func_import): Use join on two temporary files instead of three nested
	loops, in order to determine which files are new or old.

2005-09-18  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Comment out code that spits out the
	new files with --dry-run.

2005-09-18  Bruno Haible  <bruno@clisp.org>

	* doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.

2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/stat-time.h: New file.
	* lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
	(MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
	in a different way.
	(timespec_cmp): New function.
	* lib/utimecmp.c: Include stat-time.h.
	(SYSCALL_RESOLUTION): Depend on whether various struct stat
	members exist, not on the obsolescent ST_MTIM_NSEC.
	(utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.

2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.

2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh (File system functions): Add stat-time.
	* modules/stat-time: New file.
	* modules/timespec (Files): Remove m4/st_mtim.m4; this
	is now done in a different way, by the stat-time module.
	* modules/utimecmp (Depends-on): Add stat-time.

2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/st_mtim.m4: Remove.  Superseded by...
	* m4/stat-time.m4: New file.
	* m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
	Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.

2005-09-15  Derek Price  <derek@ximbiot.com>

	* m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.

2005-09-15  Derek Price  <derek@ximbiot.com>

	* lib/regex_internal.h: Blank `pure' for GNUC < 3.
	* lib/regex_internal.c: Ditto, using this...
	(__GNUC_PREREQ): ...new macro.
	* lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
	using...
	(__GNUC_PREREQ): ...this new macro.

	* lib/strstr.h: Include string.h. Define strstr as a macro here.

2005-09-15  Derek Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
	changes, consolidating in...
	* lib/regex_internal.h: ...this file.

2005-09-13  Jim Meyering  <jim@meyering.net>

	* lib/canon-host.c: Filter through gnu indent and reword comments
	slightly.
	* lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.

2005-09-13  Derek Price  <derek@ximbiot.com>

	* lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
	failure.
	Reported by Jim Meyering  <jim@meyering.net>.

2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)

	* lib/base64.c: Typo.
	(base64_encode): Put b64str in initialized data section.

2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>

	Merge glibc and coreutils changes into gnulib, plus a few
	extra fixes.
	* lib/md5.c: Use #error rather than a string.
	(CYCLIC): New macro, from glibc source.  Use it instead of rol.
	* lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
	(__attribute__): Define to empty for non recent-GCC.
	(__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
	(__md5_process_bytes, __md5_read_ctx, __md5_stream):
	Renamed from their non-__ counterparts, with new macros replacing
	them if not _LIBC.  Add __THROW attribute.
	(rol): Remove.
	(struct md5_ctx): Align buffer if using GCC.
	* lib/sha1.h (struct sha1_ctx): Likewise.
	* lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
	The old name was backwards.
	(NOTSWAP): Remove; not used.
	(rol): New macro, moved here from md5.h.
	(sha1_process_block): Remove a FIXME that doesn't make sense.

2005-09-12  Derek Price  <derek@ximbiot.com>

	Return usable errors from canon-host.
	* lib/canon-host.h: New file.
	* lib/canon-host.c (canon_host): Wrap...
	(canon_host_r): ...this new function, which now relies exclusively on
	getaddrinfo.
	(ch_strerror): New function.
	(last_cherror): New global.
	* lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
	interface.
	(getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
	void *.
	(freeaddrinfo): Free ai->ai_canonname when set.

2005-09-12  Derek Price  <derek@ximbiot.com>

	Make canon-host require getaddrinfo.
	* m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
	AC_LIBSOURCE canon-host.h.  Call...
	(gl_PREREQ_CANON_HOST): ...this new function, which requires
	gl_GETADDRINFO.
	* m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.

2005-09-12  Derek Price  <derek@ximbiot.com>

	* modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
	LGPL.
	* modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.

2005-09-12  Derek Price  <derek@ximbiot.com>

	* lib/gai_strerror.c: Include config.h when available.  Include
	getaddrinfo.h before other headers to test interface.
	Reported by Larry Jones <lawrence.jones@ugs.com>.

2005-09-12  Derek Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* modules/glob (Files): Add glob-libc.h.

2005-09-12  Derek Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
	glob_.h, glob-libc.h.
	(gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.

2005-09-12  Derek Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* lib/glob-libc.h: Renamed from glob_.h.  The new version is
	taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
	protecting things that should be done only in gnulib contexts.
	* lib/glob_.h: New file, containing only the glob things needed for
	gnulib.
	(GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
	(__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
	(glob, globfree, glob_pattern_p): Now defined simply in terms of
	rpl_glob, rpl_globfree, rpl_glob_pattern_p.
	(__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
	and to respect the namespace rules better.

2005-09-08  Simon Josefsson  <jas@extundo.com>

	* modules/socklen: New file.

2005-09-08  Simon Josefsson  <jas@extundo.com>

	* m4/socklen.m4: New file.

2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/utimens (Files): Add m4/utimbuf.m4, since
	m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
	Reported by Sergey Poznyakoff.

2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
	definitions, since that's the preferred style in glibc.
	Fix a minor spacing issue, and update copyright notice to match
	glibc's.

2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Remove glibc bug 1061; it's been fixed.

2005-09-06  Simon Josefsson  <jas@extundo.com>

	* lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
	TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.

2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
	warning.

2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Add glibc bug 1302.

2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>

	Change bitset word type from unsigned int to unsigned long int,
	as this has better performance on typical 64-bit hosts.
	Port bitset code to hosts with unusual word sizes.
	* lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
	(build_collating_symbol):
	Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
	argument is a bitset.  This is merely a style issue, but it makes
	it clearer that an entire array is expected.
	(re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
	* lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
	Port to the case where bitset_word is not the same as unsigned int.
	* lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
	(bitset_not, bitset_merge, bitset_set_all, bitset_mask):
	Likewise.
	* lib/regexec.c (check_dst_limits_calc_pos_1,
	check_subexp_matching_top):
	(build_trtable, group_nodes_into_DFAstates):
	Likewise.
	* lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
	Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
	* lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
	* lib/regexec.c (group_nodes_into_DFAstates): Likewise.
	* lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
	* lib/regcomp.c (optimize_subexps, lower_subexp):
	Work even if bitset_word has holes in its bitwise representation.
	* lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
	* lib/regexec.c (check_dst_limits_calc_pos_1,
	check_subexp_matching_top):
	Likewise.
	* lib/regex_internal.c (re_string_reconstruct):
	Don't assume UCHAR_MAX == 255.
	* lib/regex_internal.h (bitset_set_all): Likewise.
	* lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
	All uses changed.
	(BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
	(bitset_word): New type, replacing 'unsigned int' for bitset uses.
	All uses changed.
	(BITSET_WORD_MAX): New macro.
	(bitset_set, bitset_clear, bitset_contain, bitset_empty):
	(bitset_set_all, bitset_copy):  Now inline functions, not macros.
	(bitset_empty, bitset_copy):
	Prefer sizeof (bitset) to multiplying it out ourselves.
	(bitset_not_merge): Remove; unused.
	(bitset_contain): Return bool, not unsigned int with one bit on.
	All callers changed.
	* lib/regexec.c (build_trtable): Don't assume bitset has no stricter
	alignment than re_node_set; do this by defining a new internal
	type struct dests_alloc and using it to allocate memory.

2005-09-05  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Fix comparison in handling of symbolic
	links.

2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)

	* modules/size_max (Makefile.am): Add size_max.h

2005-09-04  Derek Price  <derek@ximbiot.com>

	* gnulib-tool (func_import): Fix reversed $symbolic logic.

2005-09-03  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool: Fix typo.

2005-09-03  Simon Josefsson  <jas@extundo.com>

	* config/srclist.txt: Add glibc bug 1293.

2005-09-03  Derek Price  <derek@ximbiot.com>

	* m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
	From Larry Jones <lawrence.jones@ugs.com>.

2005-09-02  Simon Josefsson  <jas@extundo.com>

	* modules/socklen: New file.

2005-09-02  Simon Josefsson  <jas@extundo.com>

	* modules/havelib: New module.

	* modules/gettext, modules/iconv, modules/lock, modules/readline:
	Use havelib.

2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>

	Check for arithmetic overflow when calculating sizes, to prevent
	some buffer-overflow issues.  These patches are conservative, in the
	sense that when I couldn't determine whether an overflow was possible,
	I inserted a run-time check.
	* lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
	macros.
	(SIZE_MAX) [!defined SIZE_MAX]: New macro.
	(re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
	(re_xnrealloc, re_x2nrealloc): New inline functions.
	* lib/regcomp.c (init_dfa, analyze, build_range_exp,
	parse_bracket_exp):
	(build_equiv_class, build_charclass): Check for arithmetic overflow
	in size expression calculations.
	* lib/regex_internal.c (re_string_realloc_buffers):
	(build_wcs_upper_buffer, re_node_set_add_intersect):
	(re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
	(re_dfa_add_node, register_state): Likewise.
	* lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
	(prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
	(build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
	(match_ctx_add_subtop, match_ctx_add_sublast): Likewise.

2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
	m4/ulonglong.m4.  Problem reported by Martin Lambers.

2005-09-02  Bruno Haible  <bruno@clisp.org>

	Support for lib vs. lib64 distinction on biarch platforms.
	* m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
	(AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
	* m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.

2005-09-02  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (import): In the other first-use case, provide defaults
	as well.

2005-09-02  Bruno Haible  <bruno@clisp.org>

	* config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
	patches not yet found in the latest gettext release.

2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
	to avoid a collision with bits/local_lim.h in glibc.
	All uses changed.  Problem reported by Dmitry V. Levin in
	<http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.

	* lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
	bugs in int versus size_t comparisons.
	(re_string_context_at): Fix bug where the code assumed that
	Idx is signed.

	Use bool where appropriate.
	* lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
	All callers changed.
	(calc_eclosure_iter): Likewise, for ROOT arg.
	(parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
	(build_charclass_op): Likewise, for NON_MATCH arg.
	* lib/regex_internal.c (re_string_allocate, re_string_construct):
	(re_string_construct_common): Likewise, for ICASE arg.
	* lib/regexec.c (re_search_2_stub, re_search_stub):
	Likewise, for RET_LEN arg.
	(check_matching): Likewise, for FL_LONGEST_MATCH arg.
	(set_regs): Likewise, for FL_BACKTRACK arg.
	* lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
	(duplicate_node_closure, calc_inveclosure, calc_eclosure):
	(calc_eclosure_iter, parse_bracket_exp):
	Use bool for internal variables that are booleans.
	* lib/regexec.c (re_search_internal, check_matching,
	proceed_next_node):
	(set_regs, build_sifted_states, sift_states_bkref):
	(check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
	(expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
	(find_collation_sequence_value):
	Likewise.
	* lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
	(re_node_set_compare):
	Return bool, not int. All callers changed.
	* lib/regexec.c (check_halt_node_context, check_dst_limits):
	(build_trtable, check_node_accept): Likewise.
	* lib/regex_internal.h: Include stdbool.h.

	Fix bugs uncovered when converting to bool.
	* lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
	failure instead of charging ahead blindly.
	* lib/regex_internal.c (register_state): Likewise.
	* lib/regexec.c (re_search_2_stub): Use simpler method than boolean
	for freeing internal storage.
	(group_nodes_into_DFA_states): Use unsigned int, not int, for
	bitset pieces used as boolean, to avoid undefined behavior
	on hosts that do int overflow checking.

2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Add glibc bugs 1285-1287.

2005-09-01  Jim Meyering  <jim@meyering.net>

	* m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
	CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
	Require gl_STAT_MACROS, too.

2005-09-01  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (import): In the first-use case, provide defaults.

2005-09-01  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Remove the .tmp files.

2005-09-01  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Fix handling of symbolic links.

2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
	old glibc regex code mishandles strings longer than 2**31 bytes.
	This patch fixes this when the regex code is used in gnulib
	(i.e., outside glibc).

	This patch should not affect the use of the regex code inside
	glibc.  No doubt this problem also needs to be handled for glibc
	as well, but the result will be an incompatible change to the
	glibc ABI, and the old ABI will have to be supported too.  That
	can be the subject for another patch.

	* lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
	governing whether the rest of this patch is active.  By default,
	the macro is disabled and the patch has no effect.
	(regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
	(__re_idx_t, __re_size_t, __re_long_size_t): New types.
	(struct re_pattern_buffer, re_search, re_search_2, re_match):
	(re_match_2, re_set_registers): Use the new types.
	* lib/regex_internal.h (Idx, re_hashval_t): New types.
	(REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
	New macros.
	(re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
	(re_string_context_at, bin_tree_t, re_dfastate_t):
	(struct re_state_table_entry, state_array_t, re_sub_match_last_t):
	(re_sub_match_top_t, re_match_context_t, re_sift_context_t):
	(struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
	(re_string_char_size_at, re_string_wchar_at):
	(re_string_elem_size_at):
	Use the new types and macros to port to 64-bit hosts.
	Use unsigned types for internal values, so that the code
	mostly works even for arrays larger than SSIZE_MAX.
	* lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
	(search_duplicated_node, calc_eclosure_iter, fetch_number):
	(parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
	(build_equiv_class, build_charclass, re_compile_fastmap_iter):
	(free_dfa_content, create_initial_state, optimize_utf8, analyze):
	(optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
	(calc_inveclosure, parse_dup_op, build_range_exp):
	(build_collating_symbol, parse_bracket_exp, build_charclass_op):
	(fetch_number, create_token_tree, mark_opt_subexp):
	Likewise.
	* lib/regex_internal.c (re_string_construct_common,
	create_ci_newstate):
	(create_cd_newstate, re_string_allocate, re_string_construct):
	(re_string_realloc_buffers, build_wcs_upper_buffer):
	(re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
	(re_string_reconstruct, re_string_peek_byte_case):
	(re_string_fetch_byte_case, re_string_context_at):
	(re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
	(re_node_set_init_copy, re_node_set_add_intersect):
	(re_node_set_init_union, re_node_set_merge, re_node_set_insert):
	(re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
	(re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
	(re_acquire_state, re_acquire_state_context, register_state):
	Likewise.
	* lib/regex.c (match_ctx_init, match_ctx_add_entry,
	search_cur_bkref_entry):
	(match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
	(re_search_internal, re_search_2_stub, re_search_stub)
	(re_copy_regs, check_matching, check_halt_state_context, update_regs):
	(push_fail_stack, sift_states_iter_mb, build_sifted_states):
	(update_cur_sifted_state, check_dst_limits):
	(check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
	(check_subexp_limits, sift_states_bkref, merge_state_array):
	(check_subexp_matching_top, get_subexp, get_subexp_sub):
	(find_subexp_node, check_arrival, check_arrival_add_next_nodes):
	(check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
	(expand_bkref_cache, check_node_accept_bytes):
	(group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
	(re_search, re_match_2, re_search_2, prune_impossible_nodes):
	(acquire_init_state_context, check_halt_node_context):
	(proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
	(sift_states_backward, clean_state_log_if_needed):
	(sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
	(find_recover_state, transit_state_sb, transit_state_mb):
	(transit_state_bkref, build_trtable, match_ctx_clean):
	Likewise.
	* lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
	to work around an assumption that REG_MISSING is negative.

	* lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
	(seek_collating_symbol_entry) [defined _LIBC]:
	(lookup_collation_sequence_value) [defined _LIBC]:
	(build_range_exp, build_collating_symbol) [defined _LIBC]:
	Use prototypes rather than old-style function definitions.
	* lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
	(transit_state_sb) [0]:
	(find_collation_sequence_value) [defined _LIBC]: Likewise.

	* lib/regexec.c (re_search_internal): Simplify update of rm_so and
	rm_eo.

	* lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
	(optimize_subexps, lower_subexp):
	Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
	since the signed shift might overflow.  Use 1u<<31 instead.
	* lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
	Likewise.
	* lib/regexec.c (check_dst_limits_calc_pos_1,
	check_subexp_matching_top): Likewise.

	* lib/regcomp.c (optimize_subexps, lower_subexp):
	Use CHAR_BIT rather than 8, for clarity.
	* lib/regexec.c (check_dst_limits_calc_pos_1):
	(check_subexp_matching_top): Likewise.
	* lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
	have to worry about portability issues when shifting it left.
	Remove no-longer-needed test for table_size > 0.
	* lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
	in a word, as the resulting behavior is undefined.
	* lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
	in one case, a <= should have been an <, and in another case the
	whole test was missing.
	* lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
	the standard name CHAR_BIT.
	* lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
	this is not true on one's complement and signed-magnitude hosts.

	* lib/regex_internal.h (re_sub_match_top_t): Remove unused member
	next_last_offset.
	(struct re_dfa_t): Remove unused member states_alloc.
	* lib/regcomp.c (init_dfa): Don't initialize unused members.

2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
	_REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
	and large-file glibc and in 32-bit large-file Solaris.

2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
	lengths fit in regoff_t; this isn't true if regoff_t is the same
	width as size_t.
	* lib/regex.c (re_search_internal): 5th arg is LAST_START
	(= START + RANGE) instead of RANGE.  This avoids overflow
	problems when regoff_t is the same width as size_t.
	All callers changed.
	(re_search_2_stub): Check for overflow when adding the
	sizes of the two strings.
	(re_search_stub): Check for overflow when adding START
	to RANGE; if it occurs, substitute the extreme value.

2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.

2005-08-31  Jim Meyering  <jim@meyering.net>

	* lib/regcomp.c (search_duplicated_node): Make first pointer arg
	a pointer-to-const.
	* lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
	(register_state): Likewise.
	* lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
	(check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
	(group_nodes_into_DFAstates): Likewise.

2005-08-31  Jim Meyering  <jim@meyering.net>

	* check-module: Add a FIXME comment.

2005-08-31  Eric Blake  <ebb9@byu.net>

	* modules/unistd-safer (Files): Add unistd--.h.
	* modules/stdio-safer (Files): Add stdio--.h.

2005-08-31  Derek Price  <derek@ximbiot.com>

	* lib/getdelim.c (getdelim): Return EOF on EOF.
	Reported by Larry Jones <lawrence.jones@ugs.com>.

2005-08-31  Bruno Haible  <bruno@clisp.org>

	Avoid unnecessary diffs in the generated lib/Makefile.am.
	* gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
	the generated files.
	(func_import): Don't set cmd.

2005-08-31  Bruno Haible  <bruno@clisp.org>

	* lib/strstr.c: Include <stddef.h>, for NULL.
	* lib/strcasestr.c: Likewise.
	Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.

2005-08-31  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: New option --macro-prefix.
	(func_import): Use macro_prefix.
	(import): Handle option --macro-prefix.

2005-08-31  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (import): Rename most ac_* variables to cached_*.
	Also use new variables cached_lgpl, cached_libtool.

2005-08-31  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
	always instantiating them.

2005-08-31  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Read the previous cached settings
	from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
	earlier added by gnulib but are now dropped. Warn when a gnulib file
	overwrites a non-gnulib file.

2005-08-31  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
	gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
	projects that don't keep autogenerated files in CVS. Put into
	actioncmd only the specified modules, not the transitive closure.

2005-08-31  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
	Create directories that shall be filled.
	(import): Don't look for gl_* macros in configure.ac. Recurse across
	all directories containing a gnulib-cache.m4 files, if meaningful.

2005-08-31  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
	(import): Set seen_libtool when we see gl_LIBTOOL.

2005-08-31  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
	declaration macro definitions from generated gnulib.m4.

2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>

	* lib/iconvme.h: Add prototype for iconv_alloc.

2005-08-29  Simon Josefsson  <jas@extundo.com>

	* lib/iconvme.c: Fix errno.

2005-08-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Enclose all occurrences of $destdir in "...", so
	that it works when the directory contains spaces.

2005-08-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.

2005-08-29  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Emit more comments into gnulib.m4.
	Emit more advice.

2005-08-29  Bruno Haible  <bruno@clisp.org>
	and Stepan Kasal  <kasal@ucw.cz>

	* check-module: If more parameters are given, check each of them
	separately; add more exceptions, as noted by Jim Meyering.
	(check_module): New procedure.
	(%exempt_header): Now contains all exceptions.

2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>

	* modules/byteswap (Makefile.am): Fix rule to not assume GNU make.

2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>

	* lib/iconvme.c: Split iconv_string into iconv_alloc.

2005-08-28  Bruno Haible  <bruno@clisp.org>

	* m4/gnulib-tool.m4: New file.

2005-08-27  Jim Meyering  <jim@meyering.net>

	* modules/unistd-safer (Files): Add pipe-safer.c.
	* modules/fcntl-safer (Files): Add creat-safer.c.

2005-08-27  Jim Meyering  <jim@meyering.net>

	* m4/stdlib-safer.m4: New file.  From coreutils.
	* m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
	* m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
	AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
	* m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
	Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.

2005-08-27  Jim Meyering  <jim@meyering.net>

	* lib/fopen-safer.c: Merge minor changes from coreutils.
	* lib/dup-safer.c: Likewise.
	* lib/fd-safer.c: Likewise.

	Merge from coreutils.
	* lib/stdio--.h: New file.
	* lib/stdlib--.h: New file.
	* lib/mkstemp-safer.c: New file.

	GNU tar needs these.
	* lib/pipe-safer.c: New file.
	* lib/creat-safer.c: New file.
	* lib/fcntl--.h (creat): Define to creat_safer.
	* lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
	* lib/unistd--.h (pipe): Define to pipe_safer.
	* lib/unistd-safer.h: Declare pipe_safer.

2005-08-26  Simon Josefsson  <jas@extundo.com>

	* lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
	Haible <bruno@clisp.org>.

2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regex_internal.h: Remove all references to
	RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
	or better.
	(bitset_not, bitset_merge, bitset_not_merge):
	(bitset_mask, re_string_allocate, re_string_construct):
	(re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
	(re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
	(re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
	(re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
	(re_node_set_init_union, re_node_set_merge, re_node_set_insert):
	(re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
	(re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
	(re_acquire_state_context):
	Remove unnecessary forward decls.
	(re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
	Put __attribute at function definition,
	now that the function decl has been removed.
	* lib/regex_internal.c (re_string_peek_byte_case):
	(re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
	Likewise.

2005-08-25  Stepan Kasal  <kasal@ucw.cz>

	* m4/regex.m4: Add AC_PREREQ(2.50).
	(gl_REGEX): If --with-included-regex was given, skip the autodetection.

2005-08-25  Simon Josefsson  <jas@extundo.com>

	* m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
	__fsetlocking.

2005-08-25  Simon Josefsson  <jas@extundo.com>

	* lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
	termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
	GLIBC specific code.

2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	Make regex safe for g++.  This fixes one real bug (an "err"
	that should have been "*err").  g++ problem reported by
	Sam Steingold.
	* lib/regex_internal.h (re_calloc): New macro, consistent with
	re_malloc etc.  All callers of calloc changed to use re_calloc.
	* lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
	not int.  All callers changed.
	* lib/regcomp.c (re_compile_fastmap_iter): Don't use
	alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
	* lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
	(find_recover_state): Change "err" to "*err"; this fixes what
	appears to be a real bug.
	(check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
	versus int.

2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/regex (Depends-on): Add malloc, since the code
	assumes that !malloc(0) means failure.

2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regexec.c (set_regs): Don't alloca with an unbounded size.

	alloca modernization/simplification for regex.
	* lib/regex.c: Remove portability cruft for alloca.  This no longer
	needs to be at the start of the file, and can be moved into
	regex_internal.h and simplified.
	* lib/regex_internal.h: Include <alloca.h>.
	(__libc_use_alloca) [!defined _LIBC]: New macro.
	* lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
	now works outside glibc.

2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Add glibc bugs 1241, 1245.

2005-08-25  Jim Meyering  <jim@meyering.net>

	* lib/open-safer.c: Include <config.h>.
	Otherwise, we'd lose LARGEFILE support in any file using
	e.g. "fcntl--.h"

2005-08-25  Bruno Haible  <bruno@clisp.org>

	* m4/minmax.m4: Require autoconf 2.52.
	(gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
	of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
	alternatives of translit over the alphabet.
	Based on a patch from Stepan Kasal <kasal@ucw.cz>.

2005-08-24  Simon Josefsson  <jas@extundo.com>

	* tests/test-getpass.c: New file.

2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
	for GNU regex features.

2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
	* lib/regex.h (regerror): Likewise.

	* lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
	requires this.  (The code never needed it.)

	* lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
	All uses of recently-renamed identifiers changed to use the new,
	POSIX-compliant names.  The code will build and run just fine
	without these changes, but it's better to eat our own dog food
	and use the standard-conforming names.

	* lib/regex.h: Fix a multitude of POSIX name space violations.
	These changes have an effect only for programs that define
	_POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
	do not change anything for programs compiled in the normal way.
	Also, there is no effect on the ABI.

	(_REGEX_SOURCE): New macro.
	Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
	defined and _GNU_SOURCE is not; this fixes a name space violation.

	Rename the following macros to obey POSIX requirements.
	The old names are still visible as macros if _REGEX_SOURCE is defined.
	(REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
	RE_BACKSLASH_ESCAPE_IN_LISTS.
	(REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
	(REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
	(REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
	(REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
	(REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
	(REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
	(REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
	(REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
	(REG_INTERVALS): renamed from RE_INTERVALS.
	(REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
	(REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
	(REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
	(REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
	(REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
	(REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
	(REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
	(REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
	RE_UNMATCHED_RIGHT_PAREN_ORD.
	(REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
	(REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
	(REG_DEBUG): renamed from RE_DEBUG.
	(REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
	(REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
	unusual, since we can't clash with the POSIX REG_ICASE.
	(REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
	(REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
	(REG_NO_SUB): renamed from RE_NO_SUB.
	(REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
	(REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
	(REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
	(REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
	(REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
	(REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
	(REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
	(REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
	(REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
	(_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
	(REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
	(REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
	RE_SYNTAX_POSIX_MINIMAL_BASIC.
	(REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
	(REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
	RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
	(REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
	(REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
	(REG_REALLOCATE): Renamed from REGS_REALLOCATE.
	(REG_FIXED): Renamed from REGS_FIXED.
	(REG_NREGS): Renamed from RE_NREGS.

	(REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
	of other REG_* macros, since POSIX says the user is allowed to
	#undef these macros selectively.

	(reg_errcode_t): Update comment stating what other tables need
	to be consistent.

	Rename the following enum values to obey POSIX requirements.
	The old names are still visible as macros.
	(_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
	is not defined, since GNU is supposed to be a superset of POSIX as
	much as possible, and since we want reg_errcode_t to be a signed
	type for implementation consistency.
	(_REG_NOERROR): Renamed from REG_NOERROR.
	(_REG_NOMATCH): Renamed from REG_NOMATCH.
	(_REG_BADPAT): Renamed from REG_BADPAT.
	(_REG_ECOLLATE): Renamed from REG_ECOLLATE.
	(_REG_ECTYPE): Renamed from REG_ECTYPE.
	(_REG_EESCAPE): Renamed from REG_EESCAPE.
	(_REG_ESUBREG): Renamed from REG_ESUBREG.
	(_REG_EBRACK): Renamed from REG_EBRACK.
	(_REG_EPAREN): Renamed from REG_EPAREN.
	(_REG_EBRACE): Renamed from REG_EBRACE.
	(_REG_BADBR): Renamed from REG_BADBR.
	(_REG_ERANGE): Renamed from REG_ERANGE.
	(_REG_ESPACE): Renamed from REG_ESPACE.
	(_REG_BADRPT): Renamed from REG_BADRPT.
	(_REG_EEND): Renamed from REG_EEND.
	(_REG_ESIZE): Renamed from REG_ESIZE.
	(_REG_ERPAREN): Renamed from REG_ERPAREN.
	(REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
	(REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
	(REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
	(REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.

	(_REG_RE_NAME, _REG_RM_NAME): New macros.
	(REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
	changed.  But support the old name if the new one is not defined
	and if _REGEX_SOURCE.

	Change the following member names in struct re_pattern_buffer.
	The old names are still supported if !_REGEX_SOURCE.
	The new names are always supported, regardless of _REGEX_SOURCE.
	(re_buffer): Renamed from buffer.
	(re_allocated): Renamed from allocated.
	(re_used): Renamed from used.
	(re_syntax): Renamed from syntax.
	(re_fastmap): Renamed from fastmap.
	(re_translate): Renamed from translate.
	(re_can_be_null): Renamed from can_be_null.
	(re_regs_allocated): Renamed from regs_allocated.
	(re_fastmap_accurate): Renamed from fastmap_accurate.
	(re_no_sub): Renamed from no_sub.
	(re_not_bol): Renamed from not_bol.
	(re_not_eol): Renamed from not_eol.
	(re_newline_anchor): Renamed from newline_anchor.

	Change the following member names in struct re_registers.
	The old names are still supported if !_REGEX_SOURCE.
	The new names are always supported, regardless of _REGEX_SOURCE.
	(rm_num_regs): Renamed from num_regs.
	(rm_start): Renamed from start.
	(rm_end): Renamed from end.

	(re_set_syntax, re_compile_pattern, re_compile_fastmap):
	(re_search, re_search_2, re_match, re_match_2, re_set_registers):
	Prepend __ to parameter names.

	Undo yesterday's changes.

2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Remove glibc bug 1233 and add 1236, which
	supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
	lib/regex.c.

2005-08-24  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.
	* m4/fcntl-safer.m4: New file.

	* m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
	and object files for this module.

2005-08-24  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.
	* lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.

2005-08-24  Jim Meyering  <jim@meyering.net>

	* modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
	now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.

2005-08-24  Jim Meyering  <jim@meyering.net>

	* modules/fcntl-safer: New module.
	* modules/fts (Depends-on): Add fcntl-safer.
	* MODULES.html.sh (File descriptor based Input/Output):
	Add fcntl-safer.

2005-08-24  Bruno Haible  <bruno@clisp.org>

	Support for unit test modules.
	* modules/README: Mention tests modules.
	* modules/TEMPLATE-TESTS: New file.
	* gnulib-tool: New options --extract-tests-module, --with-tests and
	--tests-base (unused for the moment).
	(testsbase, inctests): New variables.
	(func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
	(func_verify_module): Exclude TEMPLATE-TESTS.
	(func_verify_nontests_module, func_verify_tests_module): New functions.
	(func_get_dependencies): Add implicit dependency for tests modules.
	(func_get_tests_module): New function.
	(func_modules_transitive_closure): When --with-tests was specified,
	include the unit tests as well, unless explicitly avoided.
	(func_emit_lib_Makefile_am): Ignore the tests modules here.
	(func_emit_tests_Makefile_am): New function.
	(func_create_testdir): When --with-tests was specified, emit a
	tests/ directory.
	* MODULES.html.sh (Future developments): Update.

2005-08-24  Bruno Haible  <bruno@clisp.org>

	* modules/tls-tests: New file.
	* tests/test-tls.c: New file, from GNU gettext.

2005-08-24  Bruno Haible  <bruno@clisp.org>

	* modules/lock-tests: New file.
	* tests/test-lock.c: New file, from GNU gettext.

2005-08-24  Bruno Haible  <bruno@clisp.org>

	* lib/lock.h: Add multiple inclusion guard.
	* lib/tls.h: Add multiple inclusion guard.

2005-08-24  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Add support for the --aux-dir option to
	--create-testdir, --create-megatestdir, --test, --megatest.
	(func_create_testdir, func_create_megatestdir): Optionally emit a
	AC_CONFIG_AUX_DIR directive.
	(create-testdir, create-megatestdir, test, megatest): Provide a
	default value for $auxdir.

2005-08-24  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (import): Use compound statement instead of subshell
	where possible.

2005-08-24  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (import): Change --aux-dir default to "build-aux".

2005-08-24  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_version): Update.

2005-08-24  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import, func_create_testdir,
	func_create_megatestdir): Quote all autoconf macro arguments.

2005-08-24  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_megatestdir): Call autoreconf without the
	option --force, because --force causes the aclocal.m4 of each
	subdirectory to be newer than the corresponding config.h.in.

2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
	All contents moved to gl_REGEX.
	(gl_REGEX): Don't bother checking whether lib/regex.c exists;
	assume that it does.

2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regex.h (REG_NOSYS)
	[!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
	Define, since POSIX requires it as of 2001.
	(_REG_ENOSYS)
	[! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
	New private symbol, used to keep the enum signed in all cases.
	* lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
	Youngman in
	<http://lists.gnu.org/r/bug-gnulib/2005-07/msg00132.html>.

	* lib/regex_internal.c (re_string_skip_chars, register_state):
	(calc_state_hash):
	Remove forward decls; no longer needed now that we use prototypes.
	* lib/regexec.c (acquire_init_state_context, check_halt_node_context):
	(proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
	(clean_state_log_if_needed): Likewise.

2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Add glibc bugs 1231-1233.

2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	Fix problems reported by Sam Steingold in
	<http://lists.gnu.org/r/bug-gnulib/2005-08/msg00007.html>.
	* lib/regexec.c (sift_states_bkref): Fix portability bug: the code
	assumed that reg_errcode_t is a signed type, which is not
	necessarily true if _XOPEN_SOURCE is not defined.
	* lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
	since some compilers warn about it otherwise.

2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regcomp.c (create_initial_state): Remove duplicate decl.
	(init_word_char, create_initial_state, duplicate_node_closure):
	(fetch_token, peek_token_bracket, build_range_exp):
	(build_collating_symbol): Remove forward decls; no longer needed
	now that we use prototypes.

	* lib/regcomp.c:
	(re_compile_pattern, re_set_syntax, re_compile_fastmap):
	(re_compile_fastmap_iter, regcomp, regerror, regfree):
	(re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
	(create_initial_state, optimize_utf8, analyze, postorder, preorder):
	(optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
	(link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
	(duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
	(fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
	(parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
	(build_range_exp, build_collating_symbol, parse_bracket_exp):
	(parse_bracket_element, parse_bracket_symbol, build_equiv_class):
	(build_charclass, build_charclass_op, fetch_number, create_tree):
	(create_token_tree, mark_opt_subexp, duplicate_tree):
	Use prototypes rather than old-style definitions.

	* lib/regex_internal.c:
	(re_string_allocate, re_string_construct, re_string_realloc_buffers):
	(re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
	(re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
	(re_string_reconstruct, re_string_peek_byte_case):
	(re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
	(re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
	(re_node_set_init_copy, re_node_set_add_intersect):
	(re_node_set_init_union, re_node_set_merge, re_node_set_insert):
	(re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
	(re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
	(re_acquire_state, re_acquire_state_context, register_state):
	(create_ci_newstate, create_cd_newstate, free_state):
	Likewise.
	* lib/regexec.c (regexec, re_match, re_search, re_match_2,
	re_search_2):
	(re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
	(re_search_internal, prune_impossible_nodes):
	(acquire_init_state_context, check_matching, static):
	(check_halt_node_context, check_halt_state_context, proceed_next_node):
	(push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
	(update_regs, sift_states_backward, build_sifted_states):
	(clean_state_log_if_needed, merge_state_array):
	(update_cur_sifted_state, add_epsilon_src_nodes):
	(sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
	(check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
	(sift_states_iter_mb, transit_state, merge_state_with_log, static):
	(find_recover_state, check_subexp_matching_top, transit_state_mb):
	(transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
	(check_arrival, check_arrival_add_next_nodes):
	(check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
	(expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
	(check_node_accept_bytes, check_node_accept, extend_buffers):
	(match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
	(search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
	(sift_ctx_init):
	Likewise.

	* lib/regex_internal.h:
	(re_string_allocate, re_string_construct, re_string_reconstruct):
	(re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
	(build_upper_buffer, re_string_translate_buffer, re_string_destruct):
	(re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
	(re_string_context_at, re_string_peek_byte_case):
	(re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
	is defined, since we now use prototypes always.

	* lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
	C89 or better.  All uses removed.

2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Add glibc bugs 1220-1227.

2005-08-20  Jim Meyering  <jim@meyering.net>

	* lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
	of unused local, dfa.

2005-08-20  Bruno Haible  <bruno@clisp.org>

	* m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.

2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
	(re_node_set_insert_last, re_dfa_add_node):
	Rename local variables to avoid GCC shadowing warnings.

2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
	[defined lint]: Suppress bogus uninitialized-variable warnings.

	* lib/regcomp.c (duplicate_node): Return new index, not an error code,
	and let the caller return REG_ESPACE if out of space.  This
	removes an uninitialied-variable warning with GCC 4.0.1, and also
	avoids taking the address of a local variable.  All callers
	changed.

2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
	$LIBCSRC/posix/regexec.c.
	Add glibc bug 1217 for regcomp.c.

2005-08-19  Jim Meyering  <jim@meyering.net>

	* lib/regexec.c (proceed_next_node): Redo local variables to
	avoid GCC shadowing warnings.

2005-08-18  Bruno Haible  <bruno@clisp.org>

	* lib/strstr.c (strstr): Fix return value in multibyte case.
	* lib/strcasestr.c (strcasestr): Likewise.

2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regex.h: Remove useless space-before-tab.  From coreutils.

2005-08-17  Jim Meyering  <jim@meyering.net>

	Make the %s format (seconds since the epoch) work for a negative
	number and when used with a zero-padded field width, e.g. %015s.

	* lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
	label so that it precedes the code to set `digits'.  Otherwise,
	%0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
	print `00-22'.  Now, it prints `-0022', as it should.

2005-08-17  Bruno Haible  <bruno@clisp.org>

	* modules/strstr (Files): Add m4/mbrtowc.m4.
	(Depends-on): Add mbuiter.

2005-08-17  Bruno Haible  <bruno@clisp.org>

	* modules/strcasestr: New file.
	* MODULES.html.sh (String handling, based on ANSI C 89): Add
	strcasestr.

2005-08-17  Bruno Haible  <bruno@clisp.org>

	* modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.

2005-08-17  Bruno Haible  <bruno@clisp.org>

	* modules/mbuiter: New file.
	* MODULES.html.sh (Extended multibyte and wide character utilities):
	Add mbuiter.

2005-08-17  Bruno Haible  <bruno@clisp.org>

	* m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
	(gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.

2005-08-17  Bruno Haible  <bruno@clisp.org>

	* m4/strcasestr.m4: New file.

2005-08-17  Bruno Haible  <bruno@clisp.org>

	* lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
	* lib/strstr.c: Completely rewritten, with multibyte locale support.

2005-08-17  Bruno Haible  <bruno@clisp.org>

	* lib/strcasestr.h: New file.
	* lib/strcasestr.c: New file.

2005-08-17  Bruno Haible  <bruno@clisp.org>

	* lib/strcasecmp.c: Use mbuiter.h.

2005-08-17  Bruno Haible  <bruno@clisp.org>

	* lib/mbuiter.h: New file.

2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
	of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
	and gl_GETOPT are both invoked via different paths (as happens
	with GNU tar CVS because it uses both argp and getopt), the former
	wins.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* modules/tls: New file.
	* MODULES.html.sh (Multithreading): Add tls.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* modules/strnlen1: New file.
	* MODULES.html.sh (String handling): Add strnlen1.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* modules/strcase (Files): Add m4/mbrtowc.m4.
	(Depends-on): Add strnlen1, mbchar.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* modules/mbiter: New file.
	* MODULES.html.sh (Extended multibyte and wide character utilities):
	Add mbiter.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* modules/mbfile: New file.
	* MODULES.html.sh (Extended multibyte and wide character utilities):
	Add mbfile.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* modules/mbchar: New file.
	* MODULES.html.sh (Extended multibyte and wide character utilities):
	New section.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* m4/tls.m4: New file, from GNU gettext.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
	always.
	(gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* m4/mbiter.m4: New file.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* m4/mbfile.m4: New file.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* m4/mbchar.m4: New file.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* lib/tls.h: New file, from GNU gettext.
	* lib/tls.c: New file, from GNU gettext.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* lib/strnlen1.h: New file.
	* lib/strnlen1.c: New file.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
	(mbi_init): Update.
	(mbi_avail, mbi_advance): Let the iteration end before the terminating
	NUL byte, not after it.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* lib/strcase.h (strcasecmp): Add note in comments.
	* lib/strncasecmp.c: Use code from strcasecmp.c.
	* lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
	(strcasecmp): Work correctly in multibyte locales.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* lib/mbiter.h: New file.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* lib/mbfile.h: New file.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* lib/mbchar.h: New file.
	* lib/mbchar.c: New file.

2005-08-16  Bruno Haible  <bruno@clisp.org>

	* lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
	the valid ones. Makes the comparison operations transitive:
	cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
	* lib/strcasecmp.c (strcasecmp): Use mb_casecmp.

2005-08-15  Simon Josefsson  <jas@extundo.com>

	* modules/ssize_t (License): Change to 'unlimited'.

	* gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.

2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
	Add comments for each pending glibc patch.

2005-08-15  Bruno Haible  <bruno@clisp.org>

	* lib/regex.h (__restrict_arr): Don't define to __restrict if
	__cplusplus is defined.

2005-08-14  Jim Meyering  <jim@meyering.net>

	Sync from coreutils.

	* lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
	Use the hash-table-based cycle-detection code not just when
	FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
	Reported by James Youngman in
	<http://lists.gnu.org/r/bug-gnulib/2005-08/msg00011.html>.
	* lib/fts_.h: Mention that with FTS_LOGICAL, we use
	FTS_TIGHT_CYCLE_CHECK.
	* lib/fts.c (fts_cross_check) [FTS_DEBUG]:
	s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
	once again.
	* lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
	* lib/fts.c (fd_safer): Remove decl.
	Include fcntl--.h rather than unistd-safer.h
	(fts_safe_changedir): Don't call fd_safer; no longer needed
	now that we include fcntl--.h.

2005-08-12  Simon Josefsson  <jas@extundo.com>

	* modules/getndelim2: Use ssize_t module.
	* modules/getnline: Likewise.
	* modules/safe-read: Likewise.
	* modules/xreadlink: Likewise.

	* modules/ssize_t: New file.

2005-08-12  Simon Josefsson  <jas@extundo.com>

	* m4/readline.m4: Look for termcap, curses or ncurses if required.

2005-08-12  Simon Josefsson  <jas@extundo.com>

	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add
	ssize_t.

2005-08-12  Simon Josefsson  <jas@extundo.com>

	* MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
	readline, getdelim and check_version.
	(Support for systems lacking ISO C 99: Sizes of integer types):
	Add size_max.

2005-08-12  Bruno Haible  <bruno@clisp.org>

	* m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.

2005-08-11  Simon Josefsson  <jas@extundo.com>

	* modules/readline: New file.

	* modules/strnlen (Files): Add strnlen.h.

2005-08-11  Simon Josefsson  <jas@extundo.com>

	* m4/readline.m4: New file.

2005-08-11  Simon Josefsson  <jas@extundo.com>

	* lib/readline.h, readline.c: New file.

2005-08-11  Simon Josefsson  <jas@extundo.com>

	* doc/gnulib.texi (Initial import, Finishing touches): Mention
	gl_AVOID.

2005-08-11  Bruno Haible  <bruno@clisp.org>

	* lib/strnlen.h (strnlen): Change parameter name to match comment.

2005-08-10  Stepan Kasal  <kasal@ucw.cz>

	* m4/onceonly_2_57.m4: Really require Autoconf 2.57.

2005-08-10  Simon Josefsson  <jas@extundo.com>

	* tests/test-iconvme.c: New file.

2005-08-10  Simon Josefsson  <jas@extundo.com>

	* m4/strnlen.m4: New file.

	* m4/strndup.m4: Don't check for strnlen declaration, done in
	strnlen.m4.

2005-08-10  Simon Josefsson  <jas@extundo.com>

	* lib/strndup.c: Use strnlen.h.

	* lib/strnlen.h: New file.

2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)

	* README: Typos.

2005-08-02  Simon Josefsson  <jas@extundo.com>

	* modules/readline: New file.

2005-08-02  Simon Josefsson  <jas@extundo.com>

	* modules/getdelim: New file.

	* modules/getline: Rewrite, don't use getndelim2.

2005-08-02  Simon Josefsson  <jas@extundo.com>

	* m4/getline.m4: Separate out getdelim stuff into separate module.

	* m4/getdelim.m4: New file.

2005-08-02  Simon Josefsson  <jas@extundo.com>

	* lib/getline.h, getline.c: Rewrite.

	* lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.

2005-07-31  Bruno Haible  <bruno@clisp.org>

	* lib/lock.h (gl_lock_initializer): New macro.
	(gl_lock_define_initialized): Use it.
	(gl_rwlock_initializer): New macro.
	(gl_rwlock_define_initialized): Use it.
	(gl_recursive_lock_initializer): New macro.
	(gl_recursive_lock_define_initialized): Use it.

2005-07-30  Karl Berry  <karl@gnu.org>

	* doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
	Report from Ben Pfaff, regarding getopt.

2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>

	Add support to getopt for Emacs, which doesn't use LIBOBJS in the
	normal way.
	* m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
	(gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
	(gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
	(gl_GETOPT): Use the new macros.  Most of the implementation
	is moved to the new macros.  This is for programs like Emacs
	that don't want all the functionality of gl_GETOPT.

2005-07-26  Bruno Haible  <bruno@clisp.org>

	* m4/lock.m4: Update from GNU gettext.

2005-07-26  Bruno Haible  <bruno@clisp.org>

	* lib/lock.h: Update from GNU gettext.
	* lib/lock.c: Update from GNU gettext.

2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
	obsolescent AC_TRY_RUN.  Include the default includes files, for
	'exit'.

2005-07-24  Bruno Haible  <bruno@clisp.org>

	* modules/visibility: New file.
	* MODULES.html.sh (Misc): Add visibility.

2005-07-24  Bruno Haible  <bruno@clisp.org>

	* m4/visibility.m4: New file.

2005-07-24  Bruno Haible  <bruno@clisp.org>

	* doc/visibility.texi: New file.

2005-07-22  Bruno Haible  <bruno@clisp.org>

	* modules/alloca-opt (Makefile.am): Remove explicit dependency on
	$(ALLOCA_H), redundant through BUILT_SOURCES.
	* modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
	redundant through BUILT_SOURCES.
	* modules/byteswap (Makefile.am): Remove explicit dependency on
	$(BYTESWAP_H), redundant through BUILT_SOURCES.
	* modules/fnmatch (Makefile.am): Remove explicit dependency on
	$(FNMATCH_H), redundant through BUILT_SOURCES.
	* modules/getopt (Makefile.am): Remove explicit dependency on
	$(GETOPT_H), redundant through BUILT_SOURCES.
	* modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
	redundant through BUILT_SOURCES.
	* modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
	redundant through BUILT_SOURCES.
	* modules/stdbool (Makefile.am): Remove explicit dependency on
	$(STDBOOL_H), redundant through BUILT_SOURCES.
	* modules/stdint (Makefile.am): Remove explicit dependency on
	$(STDINT_H), redundant through BUILT_SOURCES.
	* modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
	Remove explicit dependency on $(SYSEXITS_H).
	Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.

2005-07-18  Simon Josefsson  <jas@extundo.com>

	* lib/check-version.c (check_version): Accept identical versions too.

2005-07-18  Bruno Haible  <bruno@clisp.org>

	* modules/lock: New file.
	* MODULES.html.sh (Multithreading): New section.

2005-07-18  Bruno Haible  <bruno@clisp.org>

	* m4/lock.m4: New file, from GNU gettext.

2005-07-18  Bruno Haible  <bruno@clisp.org>

	* lib/lock.h: New file, from GNU gettext.
	* lib/lock.c: New file, from GNU gettext.

2005-07-18  Bruno Haible  <bruno@clisp.org>

	* lib/lock.h (gl_once_t): New type.
	(gl_once_define, gl_once): New macros.
	* lib/lock.c (fresh_once): New variable.
	(glthread_once, glthread_once_call, glthread_once_singlethreaded): New
	functions.

2005-07-16  Simon Josefsson  <jas@extundo.com>

	* doc/gnulib.texi (Library version handling): Add ELF symbol collision
	workaround, suggested by Bruno.

2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/xalloc (Depends-on): Add xalloc-die.
	* modules/xvasprintf (Depends-on): Add xalloc-die.

2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/quotearg.c: Add translator comment suggested by Bruno Haible,
	with a minor change.

2005-07-15  Bruno Haible  <bruno@clisp.org>

	* m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
	When using lib/poll.c, define poll as rpl_poll.

2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/argp (Depends-on): Remove unlocked-io.

2005-07-14  Derek Price  <derek@ximbiot.com>

	* m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
	for glob symlink bug.

2005-07-14  Bruno Haible  <bruno@clisp.org>

	* m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
	Instead, test for *_unlocked function declarations directly.

2005-07-11  Simon Josefsson  <jas@extundo.com>

	* modules/size_max: New file.

	* modules/xsize: Depend on size_max module for size_max.m4.

2005-07-11  Simon Josefsson  <jas@extundo.com>

	* lib/size_max.h: New file.

2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
	copyright symbol and the year.
	* lib/version-etc.c (COPYRIGHT_YEAR): New constant.
	(version_etc_va): Use parameterized copyright notice.
	Reword to conform to the current GNU coding standards.

2005-07-11  Karl Berry  <karl@gnu.org>

	* doc/gnulib.texi (Quoting): new node.
	(Initial import): more info, from Patrice.

2005-07-11  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_usage): Document option --avoid.
	(Command line options): Handle --avoid.
	(func_acceptable): New function.
	(func_modules_transitive_closure): Use it.

2005-07-11  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
	Reported by Jim Meyering.

2005-07-10  Bruno Haible  <bruno@clisp.org>

	* m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
	Needed when size_t is smaller than 'unsigned int'.
	Reported by Paul Eggert.

2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	* modules/argp (Depends-on): Add unlocked-io

2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>

	* lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
	block of defines.

2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Comment out regcomp.c, since we have a porting
	fix now.

2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
	and Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
	in wint_t, not wchar_t.  Remove now-unnecessary cast.

2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/regex (Files): Add lib/regex_internal.c,
	lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
	(Depends-on): Add extensions.
	(Makefile.am): Remove lib_SOURCES; now done by m4 code.

2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
	pathconf.
	* m4/same.m4 (gl_SAME): Likewise.
	Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.

	* m4/regex.m4: Adjust to new libc regex implementation.
	(gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
	all the .c and .h parts of (the new) regex.
	Quote the m4 stuff better.
	Check for RE_ICASE bug of old gnulib.
	Check for REG_STARTEND of recent libc.
	Rename local variables from jm_* to gl_*.
	Quote operand of "test -f".
	Say "recent enough" version of libc, not "version 2".
	(gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
	prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
	Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
	Remove check for btowc, isascii.
	Require AM_LANGINFO_CODESET.

2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/regex.c, regex.h: Sync from libc.
	* lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
	* lib/regexec.c:
	New files, synced from libc, except that regex_internal.h
	currently has a small porting fix.

2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Add regcomp.c, regex.c, regex.h,
	regex_internal.c, regexec.c.
	Add regex_internal.h too, but as a comment, since the libc version
	is currently broken in gnulib mode.

2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>

	Support programs like Emacs that use gnulib but not gettext.
	* MODULES.html.sh (Internationalization functions): Add gettext-h.
	* modules/gettext-h: New file.
	* modules/gettext (Files): Remove lib/gettext.h.
	(Depends-on): Add gettext-h.
	(Makefile.am): Remove lib_SOURCES.
	* modules/argmatch, modules/c-stack, modules/closeout:
	* modules/copy-file, modules/csharpcomp, modules/csharpexec:
	* modules/execute, modules/file-type, modules/getaddrinfo:
	* modules/getopt, modules/human, modules/javacomp:
	* modules/javaexec, modules/mkdir-p, modules/obstack:
	* modules/openat, modules/pagealign_alloc, modules/pipe:
	* modules/quotearg, modules/regex, modules/rpmatch:
	* modules/unicodeio, modules/userspec, modules/version-etc:
	* modules/wait-process, modules/xalloc-die, modules/xmemcoll:
	* modules/xsetenv:
	Depend on gettext-h, not gettext.

2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>

	* gnulib-tool (func_import): Add support for 'public domain' license.
	* modules/alloca, modules/atexit, modules/memmove:
	Now public domain, not GPL.
	* modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
	* modules/realloc, modules/strerror, modules/strtod:
	Now LGPL, not GPL.

2005-07-05  Bruno Haible  <bruno@clisp.org>

	* m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
	autoconf CVS. Needed for mingw.

2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>

	Remove the dependency of the strftime module on the tzset module.
	* modules/strftime (Depends-on): Remove dependency on tzset.

2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>

	Remove the dependency of the strftime module on the tzset module.
	* m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
	gl_FUNC_TZSET_CLOBBER.

2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>

	Remove the dependency of the strftime module on the tzset module.
	* lib/strftime.c (my_strftime)
	[! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
	Copy the input structure, to work around some of the bug with
	Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
	Solaris releases, you should also use the tzset module, but we won't
	require it as a dependency any more since we don't want LGPLed code
	to depend on GPLed code.

2005-07-02  Jim Meyering  <jim@meyering.net>

	* m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
	* m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
	* m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
	Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.

2005-07-02  Jim Meyering  <jim@meyering.net>

	* lib/backupfile.c (backup_args): Change a `0' to NULL.

2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
	declares only 'struct timespec;' (!).

2005-07-01  Jim Meyering  <jim@meyering.net>

	* lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
	* lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
	* lib/save-cwd.c, tempname.c:
	Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
	and don't include <sys/file.h>).

2005-06-29  Jim Meyering  <jim@meyering.net>

	* lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
	type name.  Use the variable name instead.
	* lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
	Likewise.

2005-06-28  Simon Josefsson  <jas@extundo.com>

	* modules/check-version (Files): Add check-version.m4.

2005-06-28  Simon Josefsson  <jas@extundo.com>

	* m4/check-version.m4: New file, suggested by Jim Meyering
	<jim@meyering.net>.

2005-06-28  Simon Josefsson  <jas@extundo.com>

	* lib/check-version.h, lib/check-version.c: New files.

2005-06-28  Simon Josefsson  <jas@extundo.com>

	* lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
	collision with global variable.  Better indentation.  Don't
	increment buffer pointer beyond buffer end.  Based on comments
	from Paul Eggert <eggert@cs.ucla.edu>.

	* lib/base64.h: Indent.

2005-06-28  Simon Josefsson  <jas@extundo.com>

	* doc/gnulib.texi (Library version handling): New section.

2005-06-28  Jim Meyering  <jim@meyering.net>

	* check-module (find_included_lib_files): Hard-code another
	pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
	but modules/fts-lgpl (correctly) does not list those files.

	* modules/canonicalize (Files): Add lib/pathmax.h.

2005-06-25  Simon Josefsson  <jas@extundo.com>

	* modules/check-version: New file.

2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/canon-host.c (canon-host): Append trailing "," to 0 in
	initializer of struct addrinfo, as an indication that we don't
	care how many members the structure has.

2005-06-24  Derek Price  <derek@ximbiot.com>
	and Bruno Haible  <bruno@clisp.org>

	Remove stat module & update lstat.
	* m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
	AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
	* m4/stat.m4: Remove this file.

2005-06-24  Derek Price  <derek@ximbiot.com>
	and Bruno Haible  <bruno@clisp.org>

	Remove stat module & update lstat.
	* lib/stat.c: Remove this file...
	(slash_aware_lstat): ...moving this content and its support...
	* lib/lstat.c (rpl_lstat): ...into here.
	* lib/lstat.h: New file.

2005-06-24  Derek Price  <derek@ximbiot.com>
	and Bruno Haible  <bruno@clisp.org>

	Remove stat module & update lstat.
	* config/srclist.txt (libc sources): Remove stat.

2005-06-24  Derek Price  <derek@ximbiot.com>
	and Bruno Haible  <bruno@clisp.org>

	Remove stat module & update lstat.
	* MODULES.html.sh (stat): Remove.
	* MODULES.html: Regenerated.
	* modules/lstat (Description): Correct function name.
	(Files): Add "lstat.h".
	(Depends-on): Remove stat, add xalloc, stat-macros.
	* modules/stat: Remove this file.
	(Include): Add "lstat.h", remove <sys/stat.h>.

2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
	(ranged_convert): Don't save conversion in a temporary struct.
	This causes a warning with GCC 4.0.0, and anyway in the typical
	case it's not worth the extra 100 bytes or so of code.
	(ranged_convert, __mktime_internal): When calling a function via a
	pointer P, use P () rather than (*P) (), as we now assume C89 or
	better.

2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
	"who -r" failed to give output.  Problem reported by Tim Waugh.

	* lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
	(xcalloc): Use it to avoid needless tests.
	Problem reported by Jim Meyering.

2005-06-20  Derek Price  <derek@ximbiot.com>

	* m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
	unnecessary for Autoconfs > 2.59c.

2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* lib/argp.h (__option_is_short): Check upper limit of
	__key. Isprint() requires its argument to have the value
	of an unsigned char or EOF.

2005-06-16  Jim Meyering  <jim@meyering.net>

	* lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
	when either N or S is zero.

2005-06-16  Derek Price  <derek@ximbiot.com>

	* m4/bison.m4: Declare YACC & YFLAGS precious.

2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/fnmatch.c (fnmatch): If there is an encoding error in a
	multibyte string or pattern, fall back on unibyte matching.
	Problem reported by James Youngman.

2005-06-08  Bruno Haible  <bruno@clisp.org>

	* modules/csharpcomp: New file.
	* MODULES.html.sh (C#): Add csharpcomp.

2005-06-08  Bruno Haible  <bruno@clisp.org>

	* m4/csharpcomp.m4: New file, from GNU gettext.

2005-06-08  Bruno Haible  <bruno@clisp.org>

	* lib/csharpcomp.h: New file, from GNU gettext.
	* lib/csharpcomp.c: New file, from GNU gettext.
	* lib/csharpcomp.sh.in: New file, from GNU gettext.

2005-06-08  Bruno Haible  <bruno@clisp.org>

	* lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
	warning on mingw.

2005-06-07  Derek Price  <derek@ximbiot.com>

	Sync from CVS.
	* lib/glob_.h: Indent nested #ifdef.

2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.
	Use "file name" when talking about file names, instead of "filename"
	or "path", as per the GNU coding standards.
	* lib/mkdir-p.c: Renamed from makepath.c.
	(make_dir_parents): Renamed from make_path.  All callers changed.
	* lib/mkdir-p.h: Likewise.  All includers changed.
	* lib/filenamecat.c: Renamed from path-concat.c.
	(file_name_concat): Renamed from path_concat.  All callers changed.
	[TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
	* lib/filenamecat.h: Likewise.  All includers changed.
	* lib/acl.c: Don't use "path" or "filename" to mean "file name"
	in comments or local variable names.
	* lib/basename.c: Likewise.
	* lib/canonicalize.c, canonicalize.h: Likewise.
	* lib/dirname.c, dirname.h: Likewise.
	* lib/euidaccess.c: Likewise.
	* lib/exclude.c: Likewise
	* lib/fnmatch_.h, fnmatch_loop.c: Likewise.
	* lib/fsusage.c, fsuage.h: Likewise.
	* lib/fts.c, fts_.h: Likewise.
	* lib/getcwd.c: Likewise.
	* lib/getloadavg.c: Likewise.
	* lib/mkstemp.c: Likewise.
	* lib/mountlist.c, mountlist.h: Likewise.
	* lib/openat.c, openat.h: Likewise.
	* lib/readlink-stub.c: Likewise.
	* lib/readutmp.c, readutmp.h: Likewise.
	* lib/rename.c: Likewise.
	* lib/rmdir.c: Likewise.
	* lib/same.c: Likewise.
	* lib/savedir.c: Likewise.
	* lib/stripslash.c: Likewise.
	* lib/tempname.c: Likewise.
	* lib/xreadlink.c: Likewise.
	* lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
	All uses changed.
	* lib/exclude.h: Likewise.

	* lib/euidaccess.c (getuid, getgid, getuid, getegid)
	[!defined _POSIX_VERSION]: Remove decls; not needed these days.
	* lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
	[!defined _POSIX_VERSION]: Remove decls; not needed these days.
	* lib/pathmax.h: Include <limits.h> unconditionally, since other
	files have been getting away with it for years (MORE/BSD 4.3
	is extinct now).
	* lib/userspec.c (getpwnam, getgrnam, getgrgid)
	[!defined _POSIX_VERSION]: Remove decls; not needed these days.

	* lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
	Define to 256, not 255, as per modern POSIX.

2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.
	Use "file name" when talking about file names, instead of "filename"
	or "path", as per the GNU coding standards.
	* MODULES.html.sh: mkdir-p renamed from makepath.
	filenamecat renamed from path-concat.
	* modules/filenamecat: Renamed from modules/path-concat.
	(Files): filenamecat.h and filenamecat.c renamed from
	path-concat.h and path-concat.c.
	(configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
	(Include): filenamecat.h, not path-concat.h.
	* modules/mkdir-p: Renamed from modules/makepath.
	(Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
	makepath.c.
	(configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
	(Include): mkdir-p.h, not makepath.h.

2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.
	* m4/mkdir-p.m4: Renamed from makepath.m4.
	(gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
	Rename files from makepath.c to mkdir-p.c, and from
	makepath.h to mkdir-p.h.
	* m4/filenamecat.m4: Renamed from path-concat.m4.
	(gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
	Rename files from path-concat.c to filenamecat.c,
	and from path-concat.h to filenamecat.h.
	* m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
	"file name" in local variables or comments.
	* m4/rename.m4: Likewise.

2005-06-01  Bruno Haible  <bruno@clisp.org>

	* modules/csharpexec: New file.
	* MODULES.html.sh (C#): New section.

2005-06-01  Bruno Haible  <bruno@clisp.org>

	* m4/csharp.m4: New file, from GNU gettext.
	* m4/csharpexec.m4: New file, from GNU gettext.

2005-06-01  Bruno Haible  <bruno@clisp.org>

	* lib/csharpexec.h: New file, from GNU gettext.
	* lib/csharpexec.c: New file, from GNU gettext.
	* lib/csharpexec.sh.in: New file, from GNU gettext.

2005-05-31  Derek Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	Sync from cvs.
	* m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.

2005-05-31  Derek Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	Sync from cvs.
	* lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.

2005-05-29  Derek Price  <derek@ximbiot.com>

	* config/srclist.txt (glob_.h, glob.c): Add these files.

2005-05-29  Derek Price  <derek@ximbiot.com>

	* MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
	* modules/glob: New file.
	* modules/getlogin_r: Add link to POSIX spec in description.

2005-05-29  Derek Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* m4/glob.m4: New file.

2005-05-29  Derek Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* lib/glob_.h, lib/glob.c: New files.

2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/fts (Files): Remove m4/inttypes-pri.m4.
	* modules/fts-lgpl (Depends-on): Remove gettext.

2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
	and don't require gt_INTTYPES_PRI.

2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.

	* lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
	the configuration hassle isn't worth it.
	Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
	(LONGEST_MODIFIER, PRIuMAX): Remove.

2005-05-27  Bruno Haible  <bruno@clisp.org>

	* lib/getlogin_r.h: Remove second include of <stddef.h>.

2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
	_POSIX_PTHREAD_SEMANTICS for Solaris.

2005-05-25  Derek Price  <derek@ximbiot.com>

	* MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.

2005-05-25  Derek Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* modules/getlogin_r, m4/getlogin_r.m4: New files.
	* lib/getlogin_r.c, getlogin_r.h: New files.

2005-05-25  Bruno Haible  <bruno@clisp.org>
	    Derek Price  <derek@ximbiot.com>

	* lib/getlogin_r.h: Simplify API documentation.

2005-05-23  Derek Price  <derek@ximbiot.com>

	* modules/minmax (Files): Add m4/minmax.m4.
	(configure.ac): Add gl_MINMAX.

2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
	so that unistd-safer.h (GPL'ed code) need not be included.

2005-05-22  Bruno Haible  <bruno@clisp.org>

	* m4/minmax.m4: New file.
	Based on a patch by Derek Price <derek@ximbiot.com>.

2005-05-22  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
	(INT64_MIN): Fix definition.
	Suggested by Paul Eggert <eggert@cs.ucla.edu>.

	* lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
	NEED_SIGNED_INT_TYPES.

	* lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
	HAVE_SYSTEM_INTTYPES.

2005-05-22  Bruno Haible  <bruno@clisp.org>

	* lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
	Also include <sys/param.h> if it defines MIN, MAX.
	Based on a patch by Derek Price <derek@ximbiot.com>.

2005-05-21  Jim Meyering  <jim@meyering.net>

	* modules/fts (Files): Add m4/inttypes-pri.m4.
	(Depends-on): Add lstat and remove gettext.  Alphabetize.

2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	New fts module.
	* lib/fts.c: Don't include "cycle-check.h" or "hash.h".
	(setup_dir, free_dir): New functions.
	(enter_dir, leave_dir): Define trivial
	alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
	(HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
	(LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
	(struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
	Move to fts-cycle.c.
	(fts_open): Use setup_dir.
	(fts_close): Use free_dir.
	(fts_read): Have just one copy of the ENTER_DIR code rather than three.
	This adds a label and some gotos, but the alternatives were messier.
	Check for memory allocation failure when entering a dir.
	(fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
	* lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
	(FTS): New member fts_cycle, that is a union that contains the
	old active_dir_ht and cycle_state.  All uses changed to mention
	fts_cycle.ht and fts_cycle.state.
	* lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
	fts.c, with the following changes:
	(setup_dir, free_dir): New functions.
	(enter_dir): Now returns bool.  Return true if successful, false
	if memory exhausted.  All callers changed.
	Do not bother partly cleaning up on
	memory allocation failure; that is free_dir's job.
	However, free ad if hash_insert fails, to avoid memory leak.
	(enter_dir, leave_dir): Accommodate change to FTS by inspecting
	fts->fts_options to see which union member to use.

2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
	(gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.

2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh (File system functions): Add fts, fts-lgpl.

2005-05-20  Jim Meyering  <jim@meyering.net>

	* lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
	Now a macro, to pacify GCC.

2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)

	* m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
	of -1.

2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)

	* lib/chown.c (rpl_chown): Return -1 on failure.

2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
	Don't check for stddef.h.
	* m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
	don't use its results.
	Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
	since we include them unconditionally.  Don't require
	AM_STDBOOL_H, since stdbool is a prerequisite.
	Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
	since we assume C89 or better.
	Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
	as we don't use their results.
	Don't check for fchdir, memmove, memset, strrchr, as we use
	them unconditionally.
	* m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
	GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.

2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/canonicalize.c: Include canonicalize.h first, to test interface.
	Include <stddef.h> unconditionally, since we assume C89 now.
	All uses of PTR_INT_TYPE replaced by ptrdiff_t.
	* lib/fts.c: Include fts_.h first, to check interface.
	Do not include intprops.h; no longer needed.
	Include cycle-check.h and hash.h, since fts_.h no longer does.
	Remove unnecessary casts of closedir to void.
	(fts_build): Use a simpler method (not involving TYPE_SIGNED) to
	decide whether to decrement nlinks.
	* lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
	(FTS): Use struct hash_table * instead of Hash_table, so that
	we no longer need to include hash.h here.

2005-05-18  Jim Meyering  <jim@meyering.net>

	* modules/dirfd (License): Change to LGPL.  Most of the code
	is already in the public domain.

2005-05-18  Jim Meyering  <jim@meyering.net>

	* m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
	Reported by Yoann Vandoorselaere.

2005-05-17  Jim Meyering  <jim@meyering.net>

	* m4/fts.m4: New file, from coreutils.

2005-05-17  Jim Meyering  <jim@meyering.net>

	* lib/fts.c, lib/fts_.h: New files, from coreutils.

2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.
	* m4/unlinkdir.m4: New file.

2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.
	* lib/unlinkdir.c, lib/unlinkdir.h: New files.
	* lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
	lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
	White space changes only.
	* lib/makepath.c (make_path): Port to hosts where leading "//" is
	special.
	* lib/yesno.c: Include getline.h, not ctype.h.
	(yesno): Don't remove leading white space; POSIX doesn't allow it.
	Use getline to remove arbitrary restriction on response length.

2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist-update: Spell out "Street" in FSF postal
	mail address; this is the style the FSF seems to prefer.

	* build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
	build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
	this updates FSF postal mail address.

	Sync from coreutils.
	* modules/unlinkdir: New file.
	* modules/yesno (Depends-on): Add getline.
	* MODULES.html.sh (File system functions): Add unlinkdir.

2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
	lib/strsep.h:
	Change the initial comment to refer to GPL, not LGPL.
	gnulib-tool will change it to LGPL as needed.

	* lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
	lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
	lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
	lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
	lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
	lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
	lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
	lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
	lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
	lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
	lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
	lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
	lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
	lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
	lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
	lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
	lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
	lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
	lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
	lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
	lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
	lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
	lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
	lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
	lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
	lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
	lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
	lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
	lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
	lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
	lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
	lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
	lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
	lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
	lib/getusershell.c, lib/group-member.c, lib/group-member.h,
	lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
	lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
	lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
	lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
	lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
	lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
	lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
	lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
	lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
	lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
	lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
	lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
	lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
	lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
	lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
	lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
	lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
	lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
	lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
	lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
	lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
	lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
	lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
	lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
	lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
	lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
	lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
	lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
	lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
	lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
	lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
	lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
	lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
	lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
	lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
	lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
	lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
	lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
	lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
	lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
	lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
	lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
	lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
	lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
	lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
	lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
	lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
	lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
	lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
	lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
	lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
	lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
	lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
	lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
	lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
	lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
	lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
	lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
	lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
	lib/yesno.c, lib/yesno.h:
	Update FSF postal mail address.

2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
	tests/test-memmem.c, tests/test-stpncpy.c:
	Update FSF postal mail address.

2005-05-13  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
	int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
	UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
	INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
	INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
	Add support for 64-bit integers in the MSVC compiler.

2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST

2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)

	* gnulib-tool (func_import): Sort and uniquify recommended includes.

2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/getdate.texi (General date syntax): Don't say that date
	date --iso-8601=ns generates acceptable dates; it doesn't yet.
	Problem reported by Nic Ferrier.

2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>

	* lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
	specified in ai_socktype. Fix invalid ai_protocol
	check. ai_protocol is usually set to 0 or depending on
	ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
	SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
	ai_socktype / ai_protocol in the returned addrinfo structure.

2005-05-10  Simon Josefsson  <jas@extundo.com>

	* m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
	Yoann Vandoorselaere <yoann.v@prelude-ids.com>.

2005-05-10  Karl Berry  <karl@gnu.org>

	* doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
	(from http://www.gnu.org/licenses).
	* doc/COPYING.LIB: also rename to COPYING.LESSER.
	* doc/COPYING.DOC: remove; per rms, only needed in doc files, so
	fdl.texi suffices.

2005-05-10  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
	(COPYING.DOC): remove.

	* config/srclist-update: new FSF address.

2005-05-10  Derek Price  <derek@ximbiot.com>

	* m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
	possible.

2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
	    Bruno Haible  <bruno@clisp.org>

	* modules/inet_ntop: New file.
	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add
	inet_ntop.

2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
	    Bruno Haible  <bruno@clisp.org>

	* m4/inet_ntop.m4: New file.

2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/inet_ntop.h: New file.
	* lib/inet_ntop.c: New file, from glibc with modifications.

2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/time_r (License): Change to LGPL.
	* modules/extensions (License): Change to LGPL.  Actually,
	the license is more permissive than that, but currently gnulib-tool
	doesn't know how to handle more-permissive licenses.

	* modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
	Problem reported by Dave Love.

2005-05-08  Jim Meyering  <jim@meyering.net>

	* lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
	blank.

2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/argmatch (Depends-on): Add stdbool.
	* modules/backupfile (Depends-on): Likewise.
	* modules/chdir-long (Depends-on): Likewise.
	* modules/closeout (Depends-on): Likewise.
	* modules/cycle-check (Depends-on): Likewise.
	* modules/dirname (Depends-on): Likewise.
	* modules/fnmatch (Depends-on): Likewise.
	* modules/fsusage (Depends-on): Likewise.
	* modules/fwriteerror (Depends-on): Likewise.
	* modules/getcwd (Depends-on): Likewise.
	* modules/getloadavg (Depends-on): Likewise.
	* modules/hard-locale (Depends-on): Likewise.
	* modules/makepath (Depends-on): Likewise.
	* modules/mountlist (Depends-on): Likewise.
	* modules/nanosleep (Depends-on): Likewise.
	* modules/posixtm (Depends-on): Likewise.
	* modules/quotearg (Depends-on): Likewise.
	* modules/readtokens (Depends-on): Likewise.
	* modules/readtokens0 (Depends-on): Likewise.
	* modules/readutmp (Depends-on): Likewise.
	* modules/save-cwd (Depends-on): Likewise.
	* modules/strftime (Depends-on): Likewise.
	* modules/userspec (Depends-on): Likewise.
	* modules/utimecmp (Depends-on): Likewise.
	* modules/xgetcwd (Depends-on): Likewise.
	* modules/xnanosleep (Depends-on): Likewise.
	* modules/xstrtod (Depends-on): Likewise.
	* modules/yesno (Depends-on): Likewise.

2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
	needless checks.

2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from coreutils.  Among other things,
	add bulletproofing for cases where stdin, stdout, or stderr are closed.
	* lib/fd-safer.c: New file.
	* lib/fcntl-safer.h, open-safer.c: Remove.
	* lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
	* lib/dup-safer.c: Include unistd-safer.h first.
	Don't include errno.h.
	(dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
	* lib/file-type.h: Don't assume invoker included sys/stat.h first.
	* lib/file-type.c: Rely on file-type.h change.
	* lib/getloadavg.c: Include unistd-safer.h.
	(getloadavg): Use safer open.
	* lib/getusershell.c: Include "stdio-safer.h".
	(getusershell): Use safer fopen.
	* lib/long-options.c (long_options): Use NULL rather than 0.
	* lib/modechange.h (mode_free): Remove; all callers changed to invoke
	'free'.
	* lib/modechange.c: Likewise.
	xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
	(MODE_DONE): New constant.
	(struct mode_change): Remove 'next' member.
	(make_node_op_equals): New function; like the old one of the
	same name, except it allocates an array.
	(mode_compile, mode_create_from_ref): Use it.
	(mode_compile): Allocate result as an array, not a linked list.
	Parse octal string ourself, so that we catch mistakes like "+0".
	(mode_adjust): Arg is an array, not a linked list.
	* lib/modechange.c: Include stat-macros.h, xalloc.h.
	(S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
	(S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
	(S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
	Remove.  This is now stat-macros.h's job.
	(talloc): Remove.  All callers replaced by xalloc, so that
	our invokers don't have to worry about reporting memory failures.
	(make_node_op_equals): Remove.
	(MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
	New constants.
	(struct mode_change): Moved here from modechange.h.
	(mode_append_entry): Remove.
	(mode_compile): Remove MASKED_OPS arg, since it encouraged
	apps to have incorrect behavior.  Use simpler algorithm for head
	and tail.  Don't futz with umask; that's now the job of mode_adjust.
	Detect more invalid usages rather than having somewhat-random behavior.
	Don't insert an "a=" action, as that leads to incorrect behavior.
	(mode_compile, mode_create_from_ref): Return NULL on error instead
	of an enum, since now there's only one way to have an error.  All
	callers changed.
	(mode_adjust): Accept new arg UMASK_VALUE, and interpret it
	at the correct time.  Simplify calculation of "+u" and its ilk.
	Don't mishandle "+X".
	(mode_free): Remove "register" and localize decls.
	* lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
	(struct mode_change): Move to modechange.c; callers don't
	need to see this stuff.
	(MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
	(MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
	(mode_change, mode_adjust): Reflect the new signatures noted above.
	* lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
	that might redefine system include files.
	(siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
	(my_usleep): Use NULL rather than (void *) 0.
	(rpl_nanosleep) [!defined SA_NOCLDSTOP]:
	Use siginterrupt to specify that system calls should be interrupted.
	(rpl_nanosleep): Move initialization of suspended closer to call of
	my_usleep.
	* lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
	* lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
	(desirable_utmp_entry): New function.
	(read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
	using x2nrealloc, to simplify logic.
	(read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
	size calculation.  Do not assume utmp file is a regular file.
	* lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
	(READ_UTMP_CHECK_PIDS): New constant.
	* lib/save-cwd.c: Include unistd-safer.h.
	(save_cwd): Use fd_safer.
	* lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
	[!_LIBC] Include "stat-macros.h" instead.
	* lib/unistd-safer.h (fd_safer): New decl.

2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/getloadavg (Depends-on): Add unistd-safer.
	* modules/getusershell (Depends-on): Add stdio-safer.
	* modules/lstat (Depends-on): Remove xalloc.
	* modules/mkstemp (Depends-on): Add stat-macros.
	* modules/modechange (Depends-on): Remove xstrtol.
	Add stat-macros, xalloc.
	* modules/save-cwd (Depends-on): Add unistd-safer.
	* modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
	* modules/unistd-safer (Files): Add lib/fd-safer.c
	(Makefile.am): Remove lib_SOURCES.

	* MODULES.html.sh (Enhancements for POSIX:2001 functions):
	Remove fcntl-safer; unistd-safer supersedes it.

2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
	AC_HEADER_STAT.
	* m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
	(gl_PREREQ_CHOWN): Remove.
	* m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
	it.  Don't require AC_HEADER_STAT.
	(gl_PREREQ_LSTAT): Remove.
	* m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
	Don't require AC_HEADER_STAT.
	* m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
	(gl_PREREQ_RMDIR): Remove.
	* m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
	mention stat-macros.h or AC_HEADER_STAT, since we'll make
	the stat-macros module a prerequisite.
	* m4/file-type.m4 (gl_FILE_TYPE): Likewise.
	* m4/filemode.m4 (gl_FILEMODE): Likewise.
	* m4/makepath.m4 (gl_MAKEPATH): Likewise.
	* m4/modechange.m4 (gl_MODECHANGE): Likewise.
	* m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
	variable names.
	* m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
	fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
	variable prefixes.
	* m4/fcntl-safer.m4: Remove.
	* m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
	* m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
	Invoke gl_PREREQ_FD_SAFER.
	(gl_PREREQ_FD_SAFER): New macro.
	* m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
	* m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
	Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
	Remove duplicate call to AC_LIBOBJ(readutmp).
	(gl_PREREQ_READUTMP): Remove.  All uses inlined.

	* m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
	MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.

2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh (Misc): Add byteswap.

2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>

	* modules/getcwd (Depends-on): Add extensions.
	* modules/openat (Depends-on): Likewise.

2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>

	* modules/byteswap: New file.

2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>

	* m4/byteswap.m4: New file.

2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>

	* lib/byteswap_.h: New file.

2005-04-25  Karl Berry  <karl@gnu.org>

	* m4/gettext.m4: Update from GNU gettext 0.14.4.

2005-04-25  Albert Chin  <china@thewrittenword.com>

	* lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
	Toolkit C bug.

2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>

	* gnulib-tool (Options): Add -s for --symlink/--symbolic.
	(func_ln_if_changed): Remove forcibly for no error message
	in case file does not exist.

2005-04-19  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool (Options): Make --symlink mean --symbolic.

2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>

	* doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.

2005-04-16  Simon Josefsson  <jas@extundo.com>

	* modules/getpass-gnu (Makefile.am): Don't mention getpass.h.

2005-04-15  Simon Josefsson  <jas@extundo.com>

	* m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.

2005-04-15  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool: Rename --symlink to --symbolic.

2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>

	* gnulib-tool: Add -s, --symlink option to gnulib-tool to make
	symbolic links to files instead of copying/moving.  Add --aux-dir,
	specifying directory relative --dir where auxiliary build tools
	are placed.

2005-04-14  Bruno Haible  <bruno@clisp.org>

	* modules/allocsa (License): Change to LGPL.
	Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.

2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
	that "UTC +1 second" continues to work.  Problem reported
	by Dmitry V. Levin.
	(relunit_snumber): New rule.
	(relunit): Use it.

2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getdate.y (universal_time_zone_table): New constant.
	(time_zone_table): Remove GMT, UT, UTC entries; they're now in
	universal_time_zone_table.
	(lookup_zone): Prefer universal_time_zone_table to
	local_time_zone_table, so that "GMT" time stamps are allowed in
	London during the summer.  Problem reported by Ian Abbott.

2005-04-12  Jim Meyering  <jim@meyering.net>

	* lib/human.c (humblock): Set *options even when returning due to
	xstrtoumax conversion failure.  Thanks to a used-uninitialized
	warning from gcc-4.

2005-04-09  Jim Meyering  <jim@meyering.net>

	* lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
	-Wuninitialized: initialize tm0.tm_year.

2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getdate.y (parser_control): rels_seen is now a boolean, not a
	count, since there's no maximum.  All uses changed.
	Add member dsts_seen.
	(local_zone): Accumulate dsts_seen rather than relying on tm_isdst
	not being INT_MAX.
	(get_date): Initialize dsts_seen, and check that it doesn't go over 1.
	Use pc_rels_seen to decide whether a date is absolute.

	* lib/getdate.y (number): Don't overwrite year.
	(get_date): Initialize pc.year.digits to 0, not 4, to enable above
	check.

2005-04-02  Simon Josefsson  <jas@extundo.com>

	* lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
	patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.

2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)

	* m4/getcwd-path-max.m4: Return success on systems such as Cygwin
	where no absolute path name can be longer than PATH_MAX.

2005-03-27  Jim Meyering  <jim@meyering.net>

	* lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.

2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
	"one's complement" -> "ones' complement" in comment, as per Knuth.
	"value of type" -> "type or expression" in comment.
	* lib/mktime.c, strftime.c: Propagate intprops.h comment nits.

2005-03-26  Jim Meyering  <jim@meyering.net>

	Comment nits.
	* lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
	Correct typos: s/or/of/.

2005-03-26  Jim Meyering  <jim@meyering.net>

	* modules/check-include-files: Move to ../ and rename to...
	* check-module: ...this.

2005-03-25  Jim Meyering  <jim@meyering.net>

	* modules/xvasprintf (Files): Add xalloc.h.

2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/gettext (Files): config/config.rpath ->
	build-aux/config.rpath
	* modules/iconv (Files): Likewise.
	Problem reported by Oskar Liljeblad.

2005-03-23  Jim Meyering  <jim@meyering.net>

	* modules/check-include-files: New script to check for
	missing dependencies, multiple includes, etc.

	* modules/c-strtold (Depends-on): Add xalloc.
	* modules/c-strtod (Depends-on): Add xalloc.
	* modules/hash (Depends-on): Add xalloc.
	(Files): Remove lib/xalloc.h.

	* modules/gethrxtime (Files): Add lib/gethrxtime.h.
	* modules/userspec (Files): Add lib/inttostr.h.

2005-03-23  Jim Meyering  <jim@meyering.net>

	* lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.

2005-03-22  Jim Meyering  <jim@meyering.net>

	* modules/stat-macros: New module.
	* modules/canonicalize, modules/euidaccess, modules/file-type,
	* modules/filemode, modules/lchown, modules/makepath,
	* modules/rmdir, modules/stat: Depend on new stat-macros module
	rather than listing lib/stat-macros.h manually.
	Don't add stat-macros.h to lib_SOURCES or list it in Files: section.

2005-03-22  Jim Meyering  <jim@meyering.net>

	* m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.

2005-03-22  Bruno Haible  <bruno@clisp.org>

	* config/srclist.txt: Replace target directory 'config' with
	'build-aux'.
	* config/config.guess, config.sub, config.rpath, depcomp, install-sh:
	* config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
	../build-aux/.

2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/chdir-long (Depends-on): Add mempcpy.

	* modules/acl, modules/backupfile, modules/c-strtod,
	modules/c-strtold, modules/canon-host, modules/canonicalize,
	modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
	modules/exclude, modules/exitfail, modules/file-type,
	modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
	modules/getdate, modules/getline, modules/getpagesize,
	modules/getpass, modules/getugroups, modules/group-member,
	modules/hard-locale, modules/hash, modules/human, modules/idcache,
	modules/inttostr, modules/long-options, modules/makepath,
	modules/md5, modules/memcasecmp, modules/memcoll,
	modules/modechange, modules/mountlist, modules/path-concat,
	modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
	modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
	modules/safe-read, modules/safe-write, modules/same, modules/savedir,
	modules/settime, modules/sha1, modules/sig2str, modules/strdup,
	modules/strftime, modules/strndup, modules/strverscmp,
	modules/timespec, modules/unlocked-io, modules/userspec,
	modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
	modules/yesno:
	Remove lib_SOURCES line from Makefile.am section, as this is now
	done automatically by the corresponding Autoconf macro.

2005-03-21  Jim Meyering  <jim@meyering.net>

	Changes imported from coreutils.

	* lib/cycle-check.c: Don't include xalloc.h.

	* lib/path-concat.c: Don't include assert.h.
	(path_concat): Remove assertion that would have triggered
	for ABASE starting with more than one slash.
	Reported by Andreas Schwab.

	* lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
	properly when ABASE is an absolute file name.
	Correct the description of this function.
	Include <assert.h>.
	Add an assertion and a test driver.
	This fixes a bug introduced on 2004-07-02.
	Andreas Schwab reported the resulting failure of cp --parents:
	http://lists.gnu.org/r/bug-coreutils/2005-01/msg00130.html

2005-03-21  Jim Meyering  <jim@meyering.net>

	* m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
	* m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.

2005-03-21  Jim Meyering  <jim@meyering.net>
	and  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
	m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
	m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
	m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
	m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
	m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
	m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
	m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
	m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
	m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
	m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
	m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
	m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
	m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
	m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
	m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
	Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
	for these modules.

2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/strftime.c (my_strftime): If the underlying strftime returns 0
	(which shouldn't happen), generate nothing instead of returning 0
	immediately, so that nstrftime (NULL, ...) doesn't return 0.

2005-03-16  Bruno Haible  <bruno@clisp.org>

	* modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
	HAVE_LONGLONG_64BIT.

2005-03-16  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
	HAVE_LONGLONG_64BIT.

2005-03-16  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
	HAVE_LONGLONG_64BIT.

2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/strftime.c (my_strftime): Prepend space to format so that we can
	reliably distinguish strftime failure from empty output on POSIX
	hosts.

2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
	(iconv_string): Don't guess a size-zero buffer, as that might cause
	buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
	result would be 'too large', where 'too large' is (heuristically)
	the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
	overflow concerns.  This will prevent some unwanted malloc failures
	when the inputs are very large.

2005-03-15  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (config.rpath): from gettext.
	* config/config.rpath: update.

2005-03-15  Bruno Haible  <bruno@clisp.org>

	* lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
	to 'negate'.

	* lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
	variable.

	* lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
	results.

2005-03-14  Simon Josefsson  <jas@extundo.com>

	* lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
	<fx@gnu.org>.

2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
	TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
	intprops.h.
	* lib/strtol.c: Likewise.

2005-03-14  Jim Meyering  <jim@meyering.net>

	* lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
	&& HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
	to be nonzero so that we (and caller) can detect the difference
	between a valid zero-length expansion and an error return, even
	when the underlying strftime fails before writing anything into
	that location.

2005-03-14  Bruno Haible  <bruno@clisp.org>

	* m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
	Update from GNU gettext 0.14.3.

2005-03-10  Jim Meyering  <jim@meyering.net>

	* m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.

2005-03-10  Jim Meyering  <jim@meyering.net>

	* lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
	so that this module works on systems without fchdir.

2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>

	Factor int-properties macros into a single file, except for
	glibc-related files.
	* lib/intprops.h: New file.
	* lib/getloadavg.c: Include it instead of limits.h.
	(INT_STRLEN_BOUND): Remove.
	* lib/human.c: Include intprops.h.
	(group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
	* lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
	302/1000.
	* lib/inttostr.h: Include intprops.h instead of limits.h.
	(INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
	* lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
	for consistency with intprops.h.
	(time_t_is_integer, twos_complement_arithmetic): Use them.
	* lib/sig2str.h: Include <signal.h>, intprops.h.
	(INT_STRLEN_BOUND): Remove.
	* lib/strftime.c (TYPE_SIGNED): Remove.
	(INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
	* lib/strtol.c: Adjust comments to match intprops.h.
	* lib/userspec.c: Include intprops.h.
	(TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
	* lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
	* lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
	instead of rolling our own expressions.
	* lib/xstrtol.c: Include xstrtol.h first, to test interface.

	* lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
	instead of int.
	(my_strftime): Do not mishandle years close to INT_MAX, by doing
	the right thing even if adding 1900 would overflow.  Similarly
	for tm_mon + 1 and tm_yday + 1.
	Make %Y always equivalent to %C%y, and similarly for %G and %g.
	(DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
	(DO_SIGNED_NUMBER): New macro.
	(my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.

2005-03-07  Bruno Haible  <bruno@clisp.org>

	* m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.

2005-03-07  Bruno Haible  <bruno@clisp.org>

	* lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.

2005-03-04  Derek R. Price  <derek@ximbiot.com>

	* gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
	(func_import): Only replace files via --import when they have actually
	changed.

2005-03-03  Derek R. Price  <derek@ximbiot.com>

	* m4/mmap-anon.m4: New file.
	* m4/pagealign_alloc.m4: New file.

2005-03-03  Derek R. Price  <derek@ximbiot.com>
	    Bruno Haible  <bruno@clisp.org>

	* modules/pagealign_alloc: New file.
	* MODULES.html.sh (Memory management functions): Add pagealign_alloc.

2005-03-03  Derek R. Price  <derek@ximbiot.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/pagealign_alloc.h: New file.
	* lib/pagealign_alloc.c: New file.

2005-03-03  Bruno Haible  <bruno@clisp.org>

	* m4/inttypes.m4, isc-posix.m4, once-only.m4:
	Use an all-permissive copyright notice, recommended by RMS.

2005-03-02  Bruno Haible  <bruno@clisp.org>

	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
	of AIX, the replacement has to be done only after <string.h> is
	included, therefore not in config.h. stpncpy.h does the replacement,
	and stpncpy.c uses it.

2005-03-02  Bruno Haible  <bruno@clisp.org>

	* lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
	stpncpy.c uses it.

2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
	The workaround isn't strictly needed for POSIX conformance, and
	it's too much of a pain to configure and maintain.  We'll ask
	people to fix their kernels instead.
	* lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
	(NANOSLEEP_BUG_WORKAROUND): Remove.
	(xnanosleep): Remove the workaround.

2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/gettime (Makefile.am): Remove lib_SOURCES line.
	Reported by Derek Price.
	(Include): Add "timespec.h".

	* modules/xnanosleep (Depends-on): Remove gethrxtime.

2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
	to detect nanosleep bug.

2005-03-01  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.

2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/gethrxtime: New file.
	* modules/xnanosleep (Files): Add m4/xnanosleep.m4.
	(Depends-on): Add gethrxtime.
	(configure.ac): Add gl_XNANOSLEEP.
	(Makefile.am): Remove lib_SOURCES line.

2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
	* m4/gettime.m4 (gl_GETTIME): Check for nanotime.

2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
	* lib/timespec.h (gettime): Return void, since it always
	succeeds now.  All uses changed.
	* lib/gettime.c (gettime): Likewise.
	[HAVE_NANOTIME]: Prefer nanotime.
	Assume gettimeofday succeeds, as POSIX requires.
	Assime time () succeeds, since other code already does.
	* lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
	(timespec_subtract): Remove.
	(NANOSLEEP_BUG_WORKAROUND): New constant.
	(xnanosleep): Use gethrxtime rather than gettime; this simplifies
	things considerably.  Use it only on GNU/Linux hosts, since the
	workaround shouldn't be needed elsewhere.

2005-02-24  Bruno Haible  <bruno@clisp.org>

	* modules/gettext (Files): Add m4/glibc2.m4.

2005-02-24  Bruno Haible  <bruno@clisp.org>

	* m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
	* m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
	* m4/progtest.m4:
	Update from GNU gettext 0.14.2.
	* m4/glibc2.m4: New file, from GNU gettext 0.14.2.

2005-02-24  Bruno Haible  <bruno@clisp.org>

	* lib/localcharset.c: Update from GNU gettext 0.14.2.
	* lib/config.charset: Update from GNU gettext 0.14.2.

2005-02-24  Bruno Haible  <bruno@clisp.org>

	* lib/gettext.h: Update from GNU gettext 0.14.2.

2005-02-23  Simon Josefsson  <jas@extundo.com>

	* m4/iconvme.m4: New file.

2005-02-23  Jim Meyering  <jim@meyering.net>

	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
	change.
	Thanks to Bruno Haible for catching it.

2005-02-22  Simon Josefsson  <jas@extundo.com>

	* modules/iconvme: New file.

	* MODULES.html.sh: Add iconvme.

2005-02-22  Simon Josefsson  <jas@extundo.com>

	* lib/iconvme.h, lib/iconvme.c: New files, from libc.

2005-02-22  Simon Josefsson  <jas@extundo.com>

	* config/srclist.txt: Sync iconvme.h, iconvme.c from libc.

2005-02-22  Jim Meyering  <jim@meyering.net>

	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
	s/ifndef/ifdef/.

2005-02-20  Neil Conway  <neilc@samurai.com>

	* lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
	returned by OSX/Darwin if the specified buffer is not large
	enough for the hostname.

2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* lib/argp-help.c (__argp_help): Create a fake struct argp_state and
	pass it to _help, otherwise the latter coredumps trying to
	dereference state.root_argp.

2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/chdir-long (Depends-on): Add memrchr.
	* modules/memrchr (Files): Add lib/memrchr.h.
	(Include): "memrchr.h".

2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.

2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/memrchr.h: New file.
	* lib/chdir-long.c: Include it.
	* lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
	Don't bother including stddef.h.

2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
	inclusion.
	Include <sys/types.h>, for dev_t.
	(ME_DUMMY, ME_REMOTE): Move from here....
	* lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
	(ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
	Dmitry V. Levin.
	Include mountlist.h first, to test the interface.

2005-01-29  Bruno Haible  <bruno@clisp.org>

	* lib/progname.c (program_name): Initialize.
	Needed when linking statically on MacOS X.

2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.
	* modules/getloadavg (Files): Remove m4/getloadavg.m4.
	(Depends-on): Add c-strtod.
	(configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.

2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>

	Sync from coreutils.
	* m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.

	Remove files that are specific to coreutils.
	* m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.

2005-01-28  Bruno Haible  <bruno@clisp.org>

	* modules/javacomp: New file.
	* MODULES.html.sh (Java): Add javacomp.

2005-01-28  Bruno Haible  <bruno@clisp.org>

	* m4/javacomp.m4: New file, from GNU gettext.

2005-01-28  Bruno Haible  <bruno@clisp.org>

	* lib/javacomp.sh.in: New file, from GNU gettext.
	* lib/javacomp.h: New file, from GNU gettext.
	* lib/javacomp.c: New file, from GNU gettext.

2005-01-26  Simon Josefsson  <jas@extundo.com>

	* lib/gai_strerror.c: Use GPL in header.

2005-01-26  Bruno Haible  <bruno@clisp.org>

	* modules/javaexec: New file.
	* MODULES.html.sh (Java): Add javaexec.

2005-01-26  Bruno Haible  <bruno@clisp.org>

	* m4/javaexec.m4: New file, from GNU gettext.

2005-01-26  Bruno Haible  <bruno@clisp.org>

	* lib/javaexec.sh.in: New file, from GNU gettext.
	* lib/javaexec.h: New file, from GNU gettext.
	* lib/javaexec.c: New file, from GNU gettext.

2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* modules/lchown (Depends-on): Remove lchown.h

2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
	must be defined if the header file was not found, in order
	to provide a replacement. Reported by Todd Vierling <tv@duh.org>

2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* lib/argp-help.c (hol_entry_help): Avoid using non-constant
	initializers for struct pentry_state.
	(__argp_error): Check return value of __asprintf
	(__argp_failure): Translate error message

	* lib/argp-parse.c: Removed braces around the expansion of N_()

2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
	backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
	c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
	clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
	dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
	exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
	file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
	free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
	getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
	getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
	getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
	gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
	group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
	idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
	link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
	makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
	memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
	memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
	modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
	path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
	posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
	readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
	restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
	savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
	sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
	stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
	strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
	strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
	strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
	time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
	uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
	unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
	utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
	xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
	xstrtol.m4, xstrtoumax.m4, yesno.m4:
	Use an all-permissive copyright notice, recommended by RMS.

2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/chdir-long (Depends-on): Remove mempcpy.

2005-01-21  Jim Meyering  <jim@meyering.net>

	* lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
	same value as for Solaris 9.

	* lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
	component length.  This included changing the parameter to be
	of type `char *' rather than `char const *'.
	* lib/chdir-long.h (chdir_long): Update prototype.

	* lib/openat.c (fdopendir, fstatat): New functions.
	* lib/openat.h: Include headers required for use of DIR and struct
	stat.
	[AT_SYMLINK_NOFOLLOW]: Define.
	(fdopendir, fstatat): Add prototypes.

2005-01-21  Bruno Haible  <bruno@clisp.org>

	* modules/classpath: New file.
	* MODULES.html.sh (Java): Add classpath.

2005-01-21  Bruno Haible  <bruno@clisp.org>

	* lib/classpath.h: New file, from GNU gettext.
	* lib/classpath.c: New file, from GNU gettext.

2005-01-20  Simon Josefsson  <jas@extundo.com>

	* modules/version-etc-fsf: New file.

2005-01-20  Simon Josefsson  <jas@extundo.com>

	* lib/version-etc-fsf.c: New file, with version_etc_copyright.
	* lib/version-etc.c: Remove version_etc_copyright.
	* lib/version-etc.h (version_etc_copyright): Use [] instead of * in
	prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.

2005-01-20  Simon Josefsson  <jas@extundo.com>

	* lib/base64.h (isbase64): Add.

	* lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
	using a unsigned prototype, don't inline.
	(base64_decode): Use it.

2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
	it.

2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/save-cwd.c (save_cwd): Remove code to support the case
	where fchdir is missing or flaky.

2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh (Command-line arguments): Add version-etc-fsf.

2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
	AC_LIBSOURCES now does this.
	* MODULES.html.sh (Sizes of integer types <limits.h>): New element,
	with new ullong_max module.

2005-01-19  Bruno Haible  <bruno@clisp.org>

	* modules/sh-quote: New file.
	* MODULES.html.sh (Executing programs): Add sh-quote.

2005-01-19  Bruno Haible  <bruno@clisp.org>

	* lib/sh-quote.h: New file, from GNU gettext.
	* lib/sh-quote.c: New file, from GNU gettext.

2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from coreutils.
	* m4/ullong_max.m4: New file.
	* m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
	(gl_MACROS): Assume localeconv exists.

2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>

	Merge changes from coreutils, as described below in several
	changelogs dated today.

	* lib/save-cwd.c: Include "save-cwd.h" before other include files.
	(O_DIRECTORY): Remove; not needed here, since "." must be
	a directory.  All uses removed.
	(save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
	universal on Suns, and we also need to test for IRIX.
	Revamp code to use 'if' rather than '#if'.
	Avoid unnecessary comparison of cwd->desc to 0.

	* lib/utimens.c (futimens): Robustify the previous patch, by checking
	for known valid error numbers rather than observed invalid ones.

2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/ullong_max: New file.

	* modules/chdir-long, modules/openat: New files.
	* modules/save-cwd (Depends-on): Depend on chdir-long.
	(Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.

2005-01-18  Jim Meyering  <jim@meyering.net>

	Merge from coreutils.
	* m4/chdir-long.m4, m4/openat.m4: New files.
	* m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
	save-cwd.h.  Add AC_LIBOBJ for save-cwd.
	* m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
	is sane and DOES follow symlinks.  Besides, testing 20 different
	systems found no broken chown implementations.
	Prompted by a change in rsync's copy of this macro.
	* m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.

	* m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.

	* m4/utimes.m4: Work around tests/touch/empty-file failure on a system
	(sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
	NULL-means-set-to-current-time semantics.
	Remove temporary file immediately, rather than waiting
	for configure's at-exit trap code to do it.

2005-01-18  Jim Meyering  <jim@meyering.net>

	* lib/version-etc.c (version_etc_copyright): Update copyright date.

	* lib/utimens.c (futimens): Account for the fact that futimes
	can also fail with errno == ENOSYS or errno == ENOENT.
	Patch from Dmitry V. Levin.

	Change the name of the robust chdir function from chdir to chdir_long.
	* lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
	(restore_cwd): Use chdir_long, not chdir.
	* lib/chdir-long.c: Renamed from chdir.c.
	* lib/chdir-long.h: Renamed from chdir.h.
	[!defined PATH_MAX]: Define chdir_long to chdir on systems like the
	Hurd.

2005-01-18  Bruno Haible  <bruno@clisp.org>

	* m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
	* m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
	* m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
	* m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
	* m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
	* m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
	* m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
	* m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
	* m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
	* m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
	* m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
	* m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
	* m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
	* m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
	Use an all-permissive copyright notice, recommended by RMS.

2005-01-18  Bob Proulx  <bob@proulx.com>

	* lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
	simplify offsetof() macro construct to avoid compile failure with
	native HP-UX 11.0 ANSI C compiler.

2005-01-17  Bruno Haible  <bruno@clisp.org>

	* lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
	redundant because stpncpy.m4 takes care of it.

2005-01-17  Bruno Haible  <bruno@clisp.org>

	* lib/progreloc.c: Include xalloc.h instead of xmalloc.h.

2005-01-17  Bruno Haible  <bruno@clisp.org>

	* lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
	used.

2005-01-17  Bruno Haible  <bruno@clisp.org>

	* lib/fwriteerror.h (fwriteerror): Change specification to include
	fclose.
	* lib/fwriteerror.c: Include <stdbool.h>.
	(fwriteerror): At the end, close the file stream. Record whether
	stdout was already closed.

2005-01-17  Bruno Haible  <bruno@clisp.org>

	* lib/execute.c (environ): Declare if needed.
	* lib/pipe.c (environ): Likewise.
	Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.

2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* modules/argp: Depend on vsnprintf

2005-01-10  Jim Meyering  <jim@meyering.net>

	* modules/closeout (Depends-on): Add atexit.

2005-01-06  Bruno Haible  <bruno@clisp.org>

	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.

2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
	definitions to be after all include files, to avoid collisions.
	Problem reported by Bob Proulx.

2005-01-04  Jim Meyering  <jim@meyering.net>

	Changes imported from coreutils.
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
	as the mkstemp template, use a temporary directory and an
	8.3-friendly template to avoid trouble on systems like DJGPP.
	Reported by Juan M. Guerrero via Stepan Kasal.
	* m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
	close. Remove the temporary directory right away, rather than waiting
	for configure's at-exit trap code to do it.
	Suggestion from Stepan Kasal.

2005-01-01  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool: Print #include directives when --import'ing.

2004-12-28  Simon Josefsson  <jas@extundo.com>

	* tests/test-base64.c: Include required header files.  Remove
	unused variables.

2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/error (Depends-on): Remove gettext.

2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
	not needed.  This removes a dependency on the gettext module.
	[defined _LIBC]: Do not include <libintl.h>; not needed.

2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
	(gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).

2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
	HAVE_DECL_STRTOLD.

2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/getdate (Depends-on): Remove alloca-opt.

2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.

2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/argp-parse.c: Include <stddef.h>.
	(alignof, alignto): New macros.
	(parser_init): Don't assume that void * is aligned sufficiently
	for struct option.

	* lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
	need to extend the stack.
	(YYINITDEPTH): New macro, so that the initial stack isn't overly
	large.

2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.

2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/regex (lib_SOURCES): Remove regex.c, undoing previous
	(2004-10-24) change.  Apparently this was a false alarm.

	* modules/getdate: Depend on alloca-opt, not alloca.

2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
	Remove now-obsolete comment about AIX.
	* lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
	(YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
	(YYMAXDEPTH): New macro.

2004-12-18  Simon Josefsson  <jas@extundo.com>

	* modules/alloca: Depend on alloca-opt, instead of duplicating it.

2004-12-18  Bruno Haible  <bruno@clisp.org>

	* m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.

2004-12-18  Bruno Haible  <bruno@clisp.org>

	* lib/fatal-signal.c (fatal_signals): Make non-const.
	(init_fatal_signals): New function.
	(uninstall_handlers, install_handlers): Ignore signals that were set to
	SIG_IGN.
	(at_fatal_signal): Call init_fatal_signals.
	(init_fatal_signal_set): Likewise. Ignore signals that were set to
	SIG_IGN.
	Reported by Paul Eggert.

2004-12-18  Bruno Haible  <bruno@clisp.org>

	* doc/alloca.texi: New file.
	* doc/alloca-opt.texi: New file.

2004-12-17  Jim Meyering  <jim@meyering.net>

	* config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
	Otherwise, install-sh could exit with improper exit status when
	exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.

2004-12-16  Simon Josefsson  <jas@extundo.com>

	* tests/test-base64.c: Add license.

2004-12-15  Stepan Kasal  <address@hidden>

	* gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.

2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/getcwd (Files): Add m4/d-ino.m4.
	Suggested by Mark D. Baushke.

2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getdate.y (textint): New member "negative".
	(time_zone_hhmm): New function.
	Expect 14 shift-reduce conflicts, not 13.
	(o_colon_minutes): New rule.
	(time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
	(yylex): Set the "negative" member of signed numbers.

2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/getdate.texi (Time of day items, Time zone items):
	Describe new formats +00:00, UTC+00:00.

2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
	spurious "-l"s.  Problem reported by Stepan Kasal.

2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
	in Autoconf 2.59.  Problem reported by Mark D. Baushke.

2004-12-04  Simon Josefsson  <jas@extundo.com>

	* modules/getaddrinfo (License): Add LGPL, reported by Yoann
	Vandoorselaere <yoann@prelude-ids.org>.

2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>

	Changes imported from coreutils.
	* m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
	exist.
	* m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.

2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>

	Changes imported from coreutils.
	* lib/hard-locale.c: Assume <locale.h> exists.
	Include "strdup.h".
	(GLIBC_VERSION): New macro.
	(hard_locale): Assume setlocale exists.
	Rewrite to avoid #ifdef.
	Use strdup rather than malloc + strcpy.
	* lib/human.c: Assume <locale.h> exists.
	(human_readable): Assume localeconv exists.

2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/hard-locale (Depends-on): Add strdup.

2004-12-01  Jakub Jelinek  <jakub@redhat.com>

	* lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
	convert T2, not T.  (Imported from libc.)

2004-11-30  Simon Josefsson  <jas@extundo.com>

	* modules/restrict (License): Change to LGPL.

2004-11-30  Simon Josefsson  <jas@extundo.com>

	* m4/restrict.m4: Add copyright and copying conditions.

2004-11-30  Simon Josefsson  <jas@extundo.com>

	* m4/base64.m4: New file.

2004-11-30  Simon Josefsson  <jas@extundo.com>

	* MODULES.html.sh (Extra functions based on ANSI C 89): Add
	base64.

	* tests/test-base64.c: New file.

	* modules/base64: New file.

2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
	Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.

	* m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.

2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getcwd.c (is_ENAMETOOLONG): New macro.
	(__getcwd.c): Don't restore errno; glibc doesn't.
	[HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
	first, falling back to our code only if its results look suspicious.
	Ensure that the resulting buffer is only as large as necessary.

	* lib/readutmp.c: Include readutmp.h first.
	Include <errno.h>, since readutmp.h no longer does that.
	* lib/readutmp.h: Don't include <errno.h>,
	<sys/param.h>, <time.h>; not needed to establish interface.
	(errno): Remove decl.
	(HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
	(UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
	UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.

2004-11-28  Simon Josefsson  <jas@extundo.com>

	* lib/base64.h, base64.c: New file.

2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.

2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
	(Depends-on): Remove pathmax, same.  Add mempcpy.
	(configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
	(Makefile.am): Append getcwd.h to lib_SOURCES.
	(Include): Add getcwd.h.
	(Maintainer): Change from Jim Meyering to "all, glibc",
	since getdate now uses intended-for-glibc code.
	* modules/xgetcwd (Files): Remove m4/getcwd.m4.
	(Depends-on): Depend on getcwd.  Do not depend on pathmax.

2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>

	Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
	HP's ANSI C compiler.
	* lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
	Declaring int functions causes warnings on some modern systems and
	shouldn't be needed to compile on ancient ones.
	* lib/same.c (MIN) [defined MIN]: Don't define, since it's already
	defined.

	* lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
	with the following changes.
	(__set_errno): Parenthesize properly.
	Include <stdbool.h>.
	(MIN, MAX, MATCHING_INO): New macros.
	(__getcwd): Define with prototype, not K&R form.
	Use heuristics to allocate default buffer on stack if possible.
	If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
	behavior, and to avoid the PATH_MAX limit when computing
	../../../../...
	Use MATCHING_INO to compare inode number to file.
	Check for arithmetic overflow in size calculations.
	Fix bug in reallocation of dot array that caused getcwd to fail
	on directories nested deeper than 75.
	Be more careful about saving errno on error.
	Do not use realloc; use only free+malloc, as this is a bit
	more flexible and avoids a needless copy operation.
	Do not inspect st_dev and st_ino for symbolic links; POSIX
	doesn't specify the latter.
	Check for closedir errors.
	Avoid needless casts.
	Use "#ifdef weak_alias" around weak_alias, to be like other
	glibc code.
	The following changes to getcwd.c have effect only when used in
	gnulib; they have no effect inside glibc proper.
	(#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
	as alloca isn't used.
	(alloca, __alloca): Likewise.
	[!_LIBC]: Include "getcwd.h", "mempcpy.h".
	Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
	unconditionally, as gnulib assumes C89 or better.
	Do not include <sys/param.h>.
	(errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
	no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
	better.
	(NULL) [!defined NULL]: Remove; we assume C89 or better.
	Include <dirent.h> in a way that is compatible with modern Autoconf.
	(_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
	New macros, if not already defined.
	Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
	Use "_LIBC", not "defined _LIBC", for consistency.
	(HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
	a mempcpy module.
	(__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
	(GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
	* lib/xgetcwd.c: David MacKenzie's old code was removed, so give
	credit only to Jim Meyering and adjust the copyright dates.
	Do not include <limits.h>, <stdio.h>, <sys/types.h>,
	<stdlib.h>, <unistd.h>, "pathmax.h".
	Instead, include "xgetcwd.h" (first) and "getcwd.h".
	(INITIAL_BUFFER_SIZE): Remove.
	(xgetcwd): Rely on getcwd, since we now depend on a reliable one.

2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
	GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
	Use the _ONCE methods, for efficiency.
	Check for fcntl.h.  In test program, include <errno.h>
	and <fcntl.h> if available.  Remove old K&R cruft from
	test program.  Check for common errors in GNU/Linux,
	OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
	don't do AC_LIBOBJ, as that's getcwd.m4's job.
	* m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
	AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
	name accordingly.
	(gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
	accommodate new getcwd.c.
	* m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
	* m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
	* m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
	that's all we need now.

2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
	argp-parse.c depends on getopt internals, that means we should
	always use our getopt, to be on the safe side.
	* m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
	order not to spoil the result of an eventual previous invocation
	of gl_GETOPT_SUBSTITUTE.

2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* lib/getopt_.h: Re-addition of __getopt_argv_const caused
	redefinition warnings. To avoid them, include the defines
	in `#if !defined __need_getopt ... #endif'. The only place
	where __getopt_argv_const is used is in definitions
	of getopt_long and getopt_long_only below, which are as well
	protected by `#ifndef __need_getopt'.
	[defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
	__need_getopt after including <stdio.h> and <unistd.h> These
	headers might have defined it.

2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/utimens.m4 (gl_UTIMENS): Check for futimes function.

2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
	(futimens): New function, which uses futimes if available.
	(futimens, utimens): Support timespec==NULL, with same semantics
	as utime and utimens.
	* lib/utimens.h (futimens): New decl.

2004-11-23  Jim Meyering  <jim@meyering.net>

	* lib/getopt_.h: Remove trailing blanks.

2004-11-23  Jim Meyering  <jim@meyering.net>

	* lib/__fpending.c: Add comment.

2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/canonicalize (Depends-on): Add xreadlink.
	Problem reported by James Youngman.

2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
	New macros.
	(getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
	optopt): Use them instead of invoking ## directly; otherwise, the
	symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.

2004-11-19  Bruno Haible  <bruno@clisp.org>

	* lib/strtok_r.c: Move comments from here...
	* lib/strtok_r.h: ... to here.

2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
	implementations that mishandle size_t overflow.

2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
	might fail.  Problem reported by Yoann Vandoorselaere.
	* lib/calloc.c (rpl_calloc): Defend against buggy calloc
	implementations that mishandle size_t overflow.

2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/canon-host (Depends-on): Add strdup.

2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.

2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/canon-host.c: Include "strdup.h".
	(canon_host): Use getaddrinfo if available, so that IPv6 works.
	Use strdup instead of malloc/strcpy to duplicate strings.

	* lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
	(human_space_before_unit): New constant.
	* lib/human.c (human_readable): Support it.

	* lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
	(xgetcwd): Set errno correctly when failing.
	Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
	the failure is actually due to a PATH_MAX problem.

	Further getopt changes to make it more likely that glibc will
	buy the changes back.
	* lib/getopt.c (POSIXLY_CORRECT): New constant.
	(getopt): Use it, so to preserve glibc semantic
	* lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
	when compiling for libc.
	* lib/getopt_.h (__getopt_argv_const): Bring it back.
	(getopt_long, getopt_long_only): Use it.

	* lib/getopt.c (_getopt_initialize, _getopt_internal_r,
	_getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
	(getopt): Argv is now char * const *, as per standard.
	(_getopt_internal_r, _getopt_internal): Argv is now char **,
	not char *__getopt_argv_const *.
	* lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
	_getopt_long_only_r): Likewise.
	* lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
	* lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
	_getopt_long_r, _getopt_long_only_r): Likewise.
	* lib/getopt_.h (__getopt_argv_const): Remove.
	(getopt): Argv is now char * const *, as per standard.

	* lib/getdate.y (tORDINAL): New token.
	(day, relunit): Allow it for relative times.
	(relative_time_table): Use tORDINAL for ordinals.

2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/getdate.texi (General date syntax): "next" is 1, not 2.
	Document that "second" isn't allowed as an ordinal number.

2004-11-16  Jim Meyering  <jim@meyering.net>

	* modules/closeout (Depends-on): Add fpending.

2004-11-15  Jim Meyering  <jim@meyering.net>

	* lib/closeout.c: Include "__fpending.h" once again.
	Include <stdbool.h>.
	(close_stdout): Don't fail just because stdout was closed initially,
	since some programs don't write to stdout in the normal course of
	operation (other than --version and --help), and we don't want this
	function to make e.g. `touch file >&-' fail.
	But do fail if it was closed and someone has tried to write to it.
	E.g., `printf foo >&-' must fail.

2004-11-13  Jim Meyering  <jim@meyering.net>

	* m4/jm-macros.m4: Do require gl_FUNC_FPENDING.

2004-11-12  Simon Josefsson  <jas@extundo.com>

	* config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
	small doc fix is still pending.

2004-11-11  Simon Josefsson  <jas@extundo.com>

	* modules/strtok_r: New file.

	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add
	strtok_r.

2004-11-11  Simon Josefsson  <jas@extundo.com>

	* m4/strtok_r.m4: New file.

	* m4/getopt.m4: Replace opterr.

2004-11-11  Simon Josefsson  <jas@extundo.com>

	* lib/strtok_r.h, strtok_r.c: New file.

2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
	of replacing opterr, getopt, etc.  This should handle the
	powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.

2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
	we can stop lying to compilers about the constness of argv when we
	are compiled outside glibc.
	(getopt, getopt_long, getopt_long_only): Use it.
	* lib/getopt.c (_getopt_initialize, _getopt_internal_r,
	_getopt_internal, getopt): Likewise.
	* lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
	_getopt_long_only_r): Likewise.
	* lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
	_getopt_long_r, _getopt_long_only_r): Likewise.

	* lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
	Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
	Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
	the other external symbols.
	(getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
	declaration, since the above renaming now works around collisions.

2004-11-11  Jim Meyering  <jim@meyering.net>

	* lib/linebreak.c: Remove trailing blanks.
	* lib/alloca_.h: Likewise.
	* lib/acosl.c: Likewise.
	* lib/euidaccess.c: Likewise.
	* lib/allocsa.h: Likewise.

2004-11-10  Simon Josefsson  <jas@extundo.com>

	* m4/getaddrinfo.m4: New file.

2004-11-10  Simon Josefsson  <jas@extundo.com>

	* lib/getaddrinfo.h, lib/getaddrinfo.c: New files.

2004-11-10  Simon Josefsson  <jas@extundo.com>

	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add
	getaddrinfo.

	* modules/getaddrinfo: New file.

2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.

2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/mktime.c (SHR): New macro, which is a portable
	substitute for >> that should work even on Crays.
	(TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
	Problem reported by Mark D. Baushke in
	<http://lists.gnu.org/r/bug-gnulib/2004-11/msg00071.html>.
	* lib/getdate.y (SHR): Likewise.
	(tm_diff): Use it.
	* lib/strftime.c (SHR): Likewise.
	(tm_diff): Use it.
	* lib/quotearg.c (struct quoting_options): Use unsigned int for
	quote_these_too, so that right shifts are well defined.  All uses
	changed.

2004-11-10  Jim Meyering  <jim@meyering.net>

	Ensure that no close failure goes unreported.
	* lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
	return early when it seems there's nothing to flush.
	Don't include __fpending.h.

2004-11-10  Jim Meyering  <jim@meyering.net>

	* modules/closeout (Depends-on): Remove fpending.

2004-11-10  Jim Meyering  <jim@meyering.net>

	* m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.

2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
	gl_FUNC_STRFTIME.
	(gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
	and AC_REQUIRE when possible, to avoid duplicate checks.
	Check for <wchar.h>.

2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.

2004-11-09  Bruno Haible  <bruno@clisp.org>

	* m4/sockpfaf.m4: New file.

2004-11-05  Bruno Haible  <bruno@clisp.org>

	* lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
	Reported by Mark D. Baushke <mdb@cvshome.org>.

2004-11-04  Bruno Haible  <bruno@clisp.org>

	2004-09-11  Bruno Haible  <bruno@clisp.org>
		* allocsa.valgrind: New file.
	2004-02-06  Bruno Haible  <bruno@clisp.org>
		* allocsa.h (sa_alignof): Define differently with HP-UX cc, to
		avoid a bug of this cc on HP-UX 10.20 dealing with enums.
		Reported by Christopher Seip <chris.seip@hp.com>.

2004-11-04  Bruno Haible  <bruno@clisp.org>

	* modules/allocsa (Files): Add lib/allocsa.valgrind.
	(Makefile.am): Distribute it.

2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
	with errno == ERANGE if the buffer is too small.
	Problem reported by Mark D. Baushke.

2004-11-03  Albert Chin  <china@thewrittenword.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
	equivalent, substitute $ac_type for equivalent type rather than
	blindly using uint32_t *always* which won't work if uint32_t is not
	available.  Define _UINT32_T to work around typedef of uint32_t if
	<sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
	2.5.1.

2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/jm-macros.m4: Sync from coreutils.
	(gl_MACROS): Check for mbrlen, for pathchk.
	(gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.

2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/xreadlink.c (MAXSIZE): New macro.
	(xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
	size does not exceed MAXSIZE.  Avoid cast.
	As suggested by Mark D. Baushke in
	<http://lists.gnu.org/r/bug-gnulib/2004-11/msg00009.html>,
	if readlink fails with buffer size just under MAXSIZE, try again
	with MAXSIZE.

2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Add mktime.c; glibc bought all our changes.

2004-11-02  Derek R. Price  <derek@ximbiot.com>
	and  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
	(get_date): Overparenthesize to avoid GCC warning.

2004-11-02  Bruno Haible  <bruno@clisp.org>

	* m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
	returns void.

2004-11-02  Bruno Haible  <bruno@clisp.org>

	* lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
	function returns void.

2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
	fflush_unlocked, flockfile, funlockfile, funlockfile,
	fputs_unlocked, putc_unlocked.

2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
	(funlockfile, fputs_unlocked, putc_unlocked): Don't define if
	already declared.

2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/getdate (Files): Add doc/getdate.texi.
	(Depends-on): Add setenv, xalloc.

2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getdate.y: Add support for TZ="foo" within a date string.
	Fix some bugs near time_t boundaries.  Reject dates with
	out-of-range components, e.g., "Sept 31".
	Include <stdlib.h>, "setenv.h", "xalloc.h".
	(ISDIGIT_LOCALE): Remove; unused.
	Note that the TZ and time functions used here are not reentrant.
	(mktime_ok, get_tz): New functions.
	(TZBUFSIZE): New constant.
	(get_date): Parse leading TZ="foo".  Reject out-of-range components;.
	This requires that we sometimes generate our own TZ="XXX..." setting.

2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>

	* doc/getdate.texi: New file, from coreutils with modifications for
	the new TZ parsing.

2004-10-27  Derek R. Price  <derek@ximbiot.com>

	* lib/mktime.c (not_equal_tm): Remove redundant check.

2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/regex (lib_SOURCES): Add regex.c.
	Reported by James Youngman in
	<http://lists.gnu.org/r/bug-gnulib/2004-10/msg00199.html>.

2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getdate.y: Use Bison 1.875 features, and some minor
	code cleanups.  This change does not affect semantics.
	Don't include <stdlib.h>; no longer needed.
	Don't include unlocked-io.h; only the "#if TEST" code uses
	stdio, and performance isn't crucial there.
	(PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
	Bison 1.875 features as described below.
	All uses of "PC." replaced by "pc->".
	(YYSTYPE): Add a forward declaration.
	(yylex, yyerror): Use full prototypes in forward decls.
	Use "%pure-parser" rather than obsolescent "%pure_parser".
	Use %parse-param and %lex-param instead of obsolescent
	YYPARSE_PARAM and YYLEX_PARAM.
	(meridian_table, month_and_day_table, time_units_table,
	relative_time_table, time_zone_table, military_table,
	lookup_zone, lookup_word, get_date):
	Use NULL instead of 0 where appropriate.
	(to_hour): Avoid abort (), to avoid a dependency on
	stdlib.h.
	(yyerror, yylex): Now accepts parser_control * arg.
	(main) [TEST]: Use '\0' rather than 0 for char.

2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.

2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
	It's now the caller's responsibility to handle the case where
	!HAVE_GETPAGESIZE && !defined getpagesize.

	* lib/mktime.c (leapyear): Arg is long int, not int.

2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.

2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>

	* gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
	missing.  Problem reported by James Youngman.

2004-10-16  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool: Fix comments.  Fix parse problem.
	(func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.

2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
	implementation of getopt_long.  Problem reported by Alexander Taler in:
	http://lists.gnu.org/r/bug-gnulib/2004-10/msg00103.html

2004-10-15  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Untabify. Initialize supplied_libname.
	(func_usage): More homogenous output.
	(func_modules_transitive_closure, func_modules_to_filelist,
	func_emit_lib_Makefile_am): New functions.
	(func_import): New function, extracted from big case statement. Use
	func_get_license, func_modules_transitive_closure,
	func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
	opt_lgpl. Don't use test -a, as it's not portable.
	(func_create_testdir): Use func_modules_transitive_closure,
	func_modules_to_filelist, func_emit_lib_Makefile_am.

2004-10-15  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.

2004-10-15  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
	the portions belonging to each module.
	Suggested by Derek Robert Price <derek@ximbiot.com>.

2004-10-12  Simon Josefsson  <jas@extundo.com>

	* lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
	(fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
	to real functions.

2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>

	* modules/vsnprintf: New file.

2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>

	* m4/vsnprintf.m4: New file.

2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>

	* lib/vsnprintf.h: New file.
	* lib/vsnprintf.c: New file.

2004-10-11  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (Support for systems lacking ISO C 99): Add
	vsnprintf.

2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).

2004-10-07  Bruno Haible  <bruno@clisp.org>

	* lib/snprintf.c (snprintf): Avoid a memory allocation if the result
	fits into the provided buffer.

2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/diacrit.c, diacrit.h: Add GPL notice.

	* lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
	notice.
	* lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
	* lib/logl.c (logl): Keep the code as similar to glibc as possible.
	This avoids a potential constant-folding bug.

2004-10-05  Bruno Haible  <bruno@clisp.org>

	* m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
	for the declaration of strsep.

2004-10-05  Bruno Haible  <bruno@clisp.org>

	* lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.

2004-10-04  Simon Josefsson  <jas@extundo.com>

	* modules/memmem: New file.
	* tests/test-memmem.c: New file.
	* MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.

2004-10-04  Simon Josefsson  <jas@extundo.com>

	* m4/memmem.m4: New file.

2004-10-04  Simon Josefsson  <jas@extundo.com>

	* lib/memmem.h: New file.
	* lib/memmem.c: New file, taken from glibc.

2004-10-04  Simon Josefsson  <jas@extundo.com>

	* lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
	'#ifdef USE_UNLOCKED_IO'.

2004-10-04  Simon Josefsson  <jas@extundo.com>

	* config/srclist.txt: Add memmem from glibc.

2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/xalloc (Files, Makefile.am): Remove xstrdup.c.

	* modules/argmatch, modules/argp, modules/closeout, modules/error,
	modules/exclude, modules/getdate, modules/getline,
	modules/getndelim2, modules/getpass, modules/getpass-gnu,
	modules/getusershell, modules/linebuffer, modules/md5,
	modules/mountlist, modules/posixtm, modules/readtokens,
	modules/readutmp, modules/regex, modules/sha1,
	modules/version-etc, modules/yesno:
	Remove dependency on unlocked-io.

2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.

	* m4/unlocked-io.m4: Add copyright notice.
	(gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.

2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
	* lib/xmalloc.c (xmemdup): Likewise.
	* lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
	XFREE): Remove these long-obsolescent macros.
	* lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
	* lib/xstrdup.c: Remove.

	* lib/regex.c (re_comp): Cast gettext return value to char *,
	Problem reported by Martin Neitzel via Mark D. Baushke.

2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
	getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
	md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
	regex.c, sha1.c, version-etc.c, yesno.c:
	Include "unlocked-io.h" only if USE_UNLOCKED_IO.
	* lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
	the includer's responsibility.

	Sync from coreutils.

	* lib/modechange.c (mode_compile): Don't decrement a pointer that
	points to the start of a string, as the C Standard says the
	resulting behavior is undefined.

	* lib/backupfile.h (enum backuptype): Rename none -> no_backups,
	simple -> simple_backups, numbered_existing ->
	numbered_existing_backups, numbered -> numbered_backups
	to avoid shadowing problems.  All uses changed.
	* lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
	* lib/backupfile.c (check_extension, numbered_backup):
	Rename locals to avoid shadowing 'basename'.
	* lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
	once.

	* lib/.cppi-disable: Add getopt_.h, getopt_int.h.
	* lib/.cvsignore: Add getopt.h.

2004-10-04  Bruno Haible  <bruno@clisp.org>

	* modules/README: New file.
	* gnulib-tool (func_all_modules, func_verify_module): modules/README is
	not a module.

2004-10-02  Jim Meyering  <jim@meyering.net>

	* lib/dirfd.h, getpagesize.h: Add copyright notice.

2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>

	* modules/strsep: New file.

2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>

	* m4/strsep.m4: New file.

2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>

	* lib/strsep.h: New file.
	* lib/strsep.c: New file.

2004-10-01  Simon Josefsson  <jas@extundo.com>

	* lib/snprintf.c (snprintf): Handle size==0.

2004-10-01  Simon Josefsson  <jas@extundo.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
	(snprintf): Declare 'args'.

2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/snprintf.c: Remove comments as to why each header is needed.

2004-10-01  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh: Add strsep.

2004-09-30  Simon Josefsson  <jas@extundo.com>

	* modules/snprintf: New file.

2004-09-30  Simon Josefsson  <jas@extundo.com>

	* m4/snprintf.m4: New file.

2004-09-30  Simon Josefsson  <jas@extundo.com>

	* lib/snprintf.h, lib/snprintf.c: New files.

2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>

	* lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
	(hol_entry_help): Never translate an empty string.
	Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
	* lib/argp.h (OPTION_NO_TRANS): New option.

2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/argp (Maintainer): Replace Simon Josefsson
	by Sergey Poznyakoff.

2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Comment-out argp/argp.h, until we get the argp
	changes merged back into glibc.

2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.

2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>

	* lib/xvasprintf.c: Include xalloc.h.
	(xvasprintf): Use xalloc_die, not xmalloc_die.

2004-09-29  Bruno Haible  <bruno@clisp.org>

	* modules/alloca-opt: New file, derived from modules/alloca.
	* modules/allocsa: Depend on alloca-opt instead of alloca.
	* modules/setenv: Likewise.
	* modules/vasnprintf: Likewise.
	* MODULES.html.sh: Add alloca-opt.

2004-09-28  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool: New parameter --lgpl, to asseert that modules are
	LGPL, and to replace license template from GPL to LGPL.

2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/dummy: Change license to LGPL.

2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/dummy.c: Change copyright notice to FSF, and license to GPL.

2004-09-24  Simon Josefsson  <jas@extundo.com>

	* modules/minmax (License): Change from GPL to LGPL.

2004-09-23  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool (--import): Typo.

2004-09-23  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.

2004-09-22  Bruno Haible  <bruno@clisp.org>

	* modules/*: Add 'License' field.
	* gnulib-tool: Accept --extract-license option.
	(func_get_license): New function.

2004-09-21  Bruno Haible  <bruno@clisp.org>

	* modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
	Reported by Simon Josefsson.

2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/inttostr (Files): Add m4/longlong.m4, since it uses
	gl_AC_TYPE_LONG_LONG.

2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Add getsubopt.c, since libc bought our changes.

2004-09-18  Simon Josefsson  <jas@extundo.com>
	and  Paul Eggert  <eggert@cs.ucla.edu>

	* gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
	calls with autoreconf.  Define GL_LIB.

2004-09-14  Karl Berry  <karl@gnu.org>

	* config/srclist.txt: unsync setenv.c, sigh.

2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
	Problem reported by Bruno Haible in:
	http://lists.gnu.org/r/bug-tar/2004-09/msg00023.html

2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Comment out argp-pvh.c.

2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
	in case some system header has #define'd it.  Problem reported by
	Soeren D. Schulze in
	<http://lists.gnu.org/r/bug-gnulib/2004-09/msg00017.html>.

2004-09-09  Karl Berry  <karl@gnu.org>

	* regex.[ch]: delete from the root.  These were supposed to be
		synced with emacs cvs, but this has not happened for about
		a year, and anyway nothing else uses emacs regex.[ch].
		bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
		lib/regex[.ch] is untouched.

2004-09-09  Bruno Haible  <bruno@clisp.org>

	* modules/vasnprintf (Files): Add m4/eoverflow.m4.

2004-09-09  Bruno Haible  <bruno@clisp.org>

	* m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
	modifications.
	* m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.

2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>

	* modules/xvasprintf: New file.
	* MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.

2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>

	* lib/xvasprintf.h: New file.
	* lib/xvasprintf.c: New file.
	* lib/xasprintf.c: New file.

2004-09-08  Bruno Haible  <bruno@clisp.org>

	* m4/stdint.m4: New file, taken from GNU clisp with modifications.

2004-09-08  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
	length is > INT_MAX.
	* lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
	more.

2004-09-08  Bruno Haible  <bruno@clisp.org>

	* lib/stdint_.h: New file, taken from GNU clisp.

2004-09-08  Bruno Haible  <bruno@clisp.org>
	    Oskar Liljeblad  <oskar@osk.mine.nu>

	* modules/stdint: New file.
	* MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.

2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	Import from coreutils.
	* lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
	strings on unbounded length.  alloca's performance benefits aren't
	that important here.
	(V_STRDUP): Remove.
	(parse_with_separator): New function, with most of the internals
	of the old parse_user_spec.  Allow user to omit both user and group,
	for compatibility with FreeBSD.
	Clone only the user name, not the entire spec.
	Do not set *uid, *gid unless entirely successful.
	Avoid memory leak in some failing cases.
	Fix regression for USER.GROUP reported by Dmitry V. Levin in
	<http://lists.gnu.org/r/bug-coreutils/2004-08/msg00102.html>
	(parse_user_spec): Rewrite to use parse_with_separator.

2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/userspec: Don't depend on alloca.

2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.

2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>

	* MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
	readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
	utimecmp, utimens, xnanosleep.  Rename sha to sha1.

2004-08-16  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool: Use sed instead of autoconf --trace, inspired by
	libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
	Add --dry-run for --import.
	Let user provided command line parameters override configure.ac
	settings.

2004-08-12  Simon Josefsson  <jas@extundo.com>

	* m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
	as discussed with Paul Eggert in threads rooted at
	<http://lists.gnu.org/r/bug-gnulib/2004-06/msg00039.html>
	and
	<http://lists.gnu.org/r/bug-gnulib/2004-07/msg00001.html>.
	Before, the test was empty, and relied on ELIDE_CODE in source
	code.)
	(gl_PREREQ_GETOPT): New macro.
	(gl_GETOPT): Use them.

2004-08-12  Simon Josefsson  <jas@extundo.com>

	* lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
	* lib/getopt_.h: Renamed from getopt.h.

2004-08-12  Simon Josefsson  <jas@extundo.com>

	* gnulib-tool: Add --source-base, --m4-base, --libtool options.
	Change default library name from libfoo to libgnu.
	Now, if you have a configure.ac that says:
		gl_SOURCE_BASE(gl)
		gl_M4_BASE(gl/m4)
		gl_MODULES(error getopt etcetera)
		gl_INIT
	you can import all you need by running:
		../gnulib/gnulib-tool --import

	* modules/getopt (Files): Rename getopt.h to getopt_.h.
	(Makefile.am): Rewrite, use logic from argz.
	(Include): Use <getopt.h> instead of "getopt.h".

2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/argp (Files): Add m4/unlocked-io.m4.
	(Depends-on): Add extensions.

2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
	uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
	Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
	Check for program_invocation_name, program_invocation_short_name,
	flockfile, funlockfile, features.h, _getopt_long_only_r.

2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
	its complicated substitute.
	* lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
	and program_invocation_name.
	(__argp_basename) [!_LIBC]: Remove; the only use was
	replaced by its body.
	(__argp_short_program_name): Change condition from
	!defined __argp_short_program_name to
	! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
	to match argp-namefrob.h.
	(__argp_failure): Don't assume strerror_r returns char *.
	* lib/argp-parse.c (N_): Define unconditionally.
	(argp_default_options): Fill out initializers with 0 to avoid
	gcc warnings.

2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
	getopt1.c.

2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from coreutils.

	* m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.

	* m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
	gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.

2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from coreutils.

	* lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
	wmemchr or wmemcpy.  Problem reported by Robert Dahlem
	for Reliant Unix 5.43.

	* lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
	(union fooround): Use uintmax_t, not long int.
	The rest is a merge from libc:
	[defined _LIBC]: Include <shlib-compat.h>.
	(_obstack) [defined _LIBC]: Remove after 2.3.4.

	* lib/settime.c (settime): Recode to avoid warning with
	Sun Forte C 6U2.

	* lib/strverscmp.c: Convert to UTF-8.

2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
	m4/uintmax_t.m4.

2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/xalloc-die: New file.
	* modules/xalloc: Remove dependencies on error, gettext, exitfail.

	* modules/md5 (Files): Add m4/uint32_t.m4.
	* modules/sha1: Renamed from modules/sha.
	(Files):
	Rename lib/sha.h to lib/sha1.h.
	Rename lib/sha.c to lib/sha1.c.
	Rename m4/sha.m4 to m4/sha1.m4.
	(lib_SOURCES): Likewise.
	(configure.ac): Rename gl_SHA to gl_SHA1.
	(Include): sha.h -> sha1.h.

2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/uint32_t.m4, m4/uintptr_t.m4: New files.
	* m4/sha1.m4: Renamed from sha.m4.
	(gl_SHA1): Renamed from gl_SHA.  All uses changed.

2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/obstack.h (obstack_empty_p):
	Don't assume that chunk->contents is suitably aligned.
	* lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
	Likewise. Problem reported by Benno in
	<http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.

	* lib/chown.c (rpl_chown): Work even if the file is writeable but not
	readable.  This could be improved further but it'd take some work.

2004-08-08  Simon Josefsson  <jas@extundo.com>

	* modules/xgethostname (Depends-on): Remove exit and error (not
	used).

	* modules/getpass-gnu: Add getpass.h.
	(Depends-on): Add stdbool.
	* modules/getpass: Add getpass.h.

2004-08-08  Simon Josefsson  <jas@extundo.com>

	* m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
	Check getpass declaration.

2004-08-08  Simon Josefsson  <jas@extundo.com>

	* lib/xgethostname.c: Don't include error.h (not used).

	* lib/getpass.h: Add.
	* lib/getpass.c: Include getpass.h first.

2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/xalloc-die.c: New file.
	* lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
	All uses removed.
	* lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
	Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
	xalloc-die.c.
	(_, N_, xalloc_die): Move to xalloc-die.c.
	* lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
	so that we needn't mess with xalloc_msg_memory_exhausted.

	* lib/sha1.h: Renamed from sha.h.
	(SHA1_H): Renamed from _SHA_H.
	(sha1_ctx): Renamed from sha_ctx.
	(sha1_init_ctx): Renamed from sha_init_ctx.
	(sha1_process_block): Renamed from sha_process_block.
	(sha1_process_bytes): Renamed from sha_process_bytes.
	(sha1_finish_ctx): Renamed from sha_finish_ctx.
	(sha1_read_ctx): Renamed from sha_read_ctx.
	(sha1_stream): Renamed from sha_stream.
	(sha1_buffer): Renamed from sha_buffer.
	* lib/sha1.c: Likewise; renamed from sha.c.
	Do not include <sys/types.h>.
	Include <stddef.h> rather than <stdlib.h>.

2004-08-08  Bruno Haible  <bruno@clisp.org>

	* lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
	FILESYSTEM_PREFIX_LEN.
	* lib/progreloc.c: Likewise.
	* lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.

2004-08-06  Simon Josefsson  <jas@extundo.com>

	* modules/progname (Depends-on): Don't depend on stdbool.

2004-08-06  Simon Josefsson  <jas@extundo.com>

	* modules/getsubopt: New file.
	* MODULES.html.sh (Support for systems lacking POSIX:2001): Add
	getsubopt.

2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>

	More merge from coreutils.

	* m4/utimens.m4, m4/utimecmp.m4: New files.
	* m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
	fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
	prereq.m4, sha.m4: Import changes from coreutils.

2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>

	More merge from coreutils.
	* modules/raise, modules/readtokens0, modules/utimens:
	* modules/utimecmp, module/xnanosleep: New files.
	* modules/strftime: Add lib/strftime.h.
	Change include from <time.h> to "strftime.h".
	* modules/yesno: Add lib/yesno.h.
	* modules/backupfile: Remove lib/addext.c.
	* modules/euidaccess: Add stat-macros.h.
	* modules/canonicalize, modules/euidaccess,
	modules/filemode, modules/lchown, modules/makepath,
	modules/rmdir, modules/stat: Likewise.

2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from tar.
	* lib/argp-help.c (make_hol, hol_append): Don't assume that
	SIZE_MAX is a valid preprocessor constant.
	(__argp_basename): Change from "#ifndef _LIBC"
	to "#ifndef __argp_short_program_name", so that
	we don't compile these functions for tar.

	More merges from coreutils.
	* lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
	* lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
	* lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
	* lib/addext.c: Remove; no longer needed.
	* lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
	lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
	lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
	lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
	lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
	lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
	lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
	lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
	lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
	lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
	lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
	lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
	lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
	lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
	lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
	lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
	lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
	Import changes from coreutils.

2004-08-05  Simon Josefsson  <jas@extundo.com>

	* m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.

2004-08-05  Simon Josefsson  <jas@extundo.com>

	* m4/getsubopt.m4: New file.

2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from coreutils.

	* m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
	* m4/getcwd-path-max.m4: New files.

	* m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
	FILESYSTEM_PREFIX_LEN ->
	FILE_SYSTEM_PREFIX_LEN.
	FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
	FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
	FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
	FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.

	* m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
	prerequisite modules now handle the DOS stuff.
	Don't check for unistd.h.

2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from coreutils.

	* lib/.gdb-history: Remove; this doesn't belong here.

	* lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
	* lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
	* lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
	* lib/getcwd.c: New files.

	* lib/dirname.h: Include <stdbool.h>.
	(FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
	for consistency with POSIX terminology.  All uses changed.
	(IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
	(strip_trailing_slashes): Use bool for booleans.
	* lib/stripslash.c (strip_trailing_slashes): Likewise.

	* lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
	sometimes returns a positive errno value even when it succeeds.
	(print_errno_message) [!LIBC]: Fall back on strerror if
	__strerror_r fails.

	* lib/path-concat.c (mempcpy): Don't define if a system header defines
	it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
	(longest_relative_suffix): New function.
	(path_concat): Use it.  Assume first argument is not NULL.
	Port to DOS.  Omit redundant separators.
	Report an error instead of returning NULL.
	Use mempcpy instead of memcpy.
	(xpath_concat): Remove: not declared or used.

	* lib/same.h: Include <stdbool.h>
	(same_name): Return bool, not int.
	* lib/same.c (same_name): Likewise.
	(errno): Don't declare; we assume C89 or better now.

	* lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
	if not already defined.

	* lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
	* lib/dup-safer.c (errno): Likewise.

2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from coreutils.
	* modules/c-strtod, modules/c-strtold, modules/canonicalize:
	* modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
	* modules/path-concat: Don't depend on strdup.

2004-08-03  Simon Josefsson  <jas@extundo.com>

	* lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
	* lib/progname.h: Don't include stdbool.h.

2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/fatal: Remove, as the "fatal" module wasn't used or working.
	* MODULES.html.sh (func_all_modules): Remove fatal.

2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.

2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
	working.

2004-08-02  Simon Josefsson  <jas@extundo.com>

	* lib/getsubopt.h: New file, with comments from Bruno Haible.
	* lib/getsubopt.c: New file, from glibc, but slightly modified based on
	suggestions from Paul Eggert <eggert@cs.ucla.edu>.

2004-08-01  Simon Josefsson  <jas@extundo.com>

	* lib/xgetdomainname.c: Include stdlib.h, for free().

2004-07-19  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (func_all_modules): Add dummy.

2004-07-16  Simon Josefsson  <jas@extundo.com>

	* modules/dummy: New file.

2004-07-16  Simon Josefsson  <jas@extundo.com>

	* lib/dummy.c: New file.

2004-07-16  Bruno Haible  <bruno@clisp.org>

	* lib/backupfile.h: Add extern "C" for C++.
	* lib/closeout.h: Likewise.
	* lib/copy-file.h: Likewise.
	* lib/findprog.h: Likewise.
	* lib/full-write.h: Likewise.
	* lib/pathname.h: Likewise.
	* lib/progname.h: Likewise.
	* lib/stpcpy.h: Likewise.
	* lib/stpncpy.h: Likewise.
	* lib/strcase.h: Likewise.
	* lib/strstr.h: Likewise.
	* lib/xalloc.h: Likewise.

	* lib/mbswidth.h: Add extern "C" for C++.
	Reported by Albert Chin-A-Young <china@thewrittenword.com>.

2004-07-13  Robert Millan  <robertmh@gnu.org>

	* m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.

2004-07-09  Simon Josefsson  <jas@extundo.com>

	* lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
	failed without this.)

2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/chown (Files): Add lib/fchown-stub.c, since
	gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).

2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/fchown-stub.c: New file.

2004-06-24  Jim Meyering  <jim@meyering.net>

	* lib/obstack.h (obstack_base): Cast to (void *), per documentation.

2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/argz: Omit "#include".

	* MODULES.html.sh (func_all_modules): Add calloc, to match
	2004-06-01 addition of calloc module.

2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/argz.m4: New file, which is autoupdated from libtool.

2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/argz.c, lib/argz_.h: New files, which are autoupdated from
	libtool.

2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist-update: Don't insist on "USA." before the
	close-comment, as libtool omits the period and puts the */ on a
	separate line.
	* config/srclist.txt: Add argz.c, argz_.h, argz.m4.
	* config/srclistvars.sh: Add LIBTOOL (for eggert only).

2004-06-22  Gary V. Vaughan  <gary@gnu.org>

	* modules/argz: New file.
	* MODULES.html.sh (func_all_modules): Add argz.

2004-06-12  Jim Meyering  <jim@meyering.net>
	and  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/hash (Files): Add lib/xalloc.h.
	* modules/pipe (Depends-on): Add wait-process.
	* modules/stat (Depends-on): Add xalloc.
	* modules/userspec (Files): Add lib/userspec.h.
	* modules/xstrtol (Depends-on): Add error.

2004-06-10  Jim Meyering  <jim@meyering.net>

	* lib/calloc.c: New file.

2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/getdate.y (yylex): Allow space between sign and number.
	Problem reported by Dan Jacobson.

2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>

	Merge from coreutils CVS.

	* m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
	makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
	putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
	strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
	xstrtol.m4: Fix copyright date and/or serial number.

	* m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
	See if we need an fchown replacement.
	(gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
	(gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
	and use the replacement function if we detect either defect.

	* m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
	gl_UTIMECMP.

2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
	and  Jim Meyering  <jim@meyering.net>

	Merge from coreutils CVS.

	* lib/stat-macros.h: New file, with contents from file-type.h
	and coreutils' system.h.
	* lib/file-type.c: Include "stat-macros.h".
	* lib/file-type.h (file_type): Move all macro definitions to new file,
	stat-macros.h.
	* modules/file-type: Add lib/stat-macros.h.

	* lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
	Wrap old code with this conditional.
	[CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
	function that does not dereference symlinks.
	* lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.

	* lib/xreadlink.c: Include xreadlink.h first, to catch .h file
	dependency problems.
	(xreadlink): Accept new arg SIZE, for efficiency.
	All decls and uses changed.
	* lib/xreadlink.h: Include <stddef.h>, for size_t.

	* lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
	gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.

	* lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
	sysexits.h.

2004-06-01  Jim Meyering  <jim@meyering.net>

	* m4/calloc.m4: New file.
	* modules/calloc: New file.

2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
	C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
	Also, fix a typo in a diagnostic.

2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
	or AC_FUNC_REALLOC.

2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/hash (Depends-on): Remove malloc, realloc.
	* modules/xalloc (Depends-on): Likewise.

	* README: Mention that the 'free' module works around the
	problem with 'free (0)'.
	Mention LIA-1 and C99.
	Add a copyright notice.

	* lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
	macros to be defined.
	(xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
	the allocator returns NULL because the requested size is zero.

2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
	var.  Add comment explaining why libc still defines it.  This
	merges the following patch from glibc:
	http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html

2004-05-20  Andreas Schwab  <schwab@suse.de>

	* m4/free.m4: Replace free if it not known to work, not the other
	way round.

2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
	present in glibc since revision 1.1 of this file.
	* lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
	obstack_alignment_mask, obstack_alloc, obstack_base,
	obstack_blank, obstack_blank_fast, obstack_chunk_size,
	obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
	obstack_grow0, obstack_init, obstack_int_grow,
	obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
	obstack_next_free, obstack_object_size, obstack_ptr_grow,
	obstack_ptr_grow_fast, obstack_room): Remove declarations of
	nonexistent functions.

2004-05-18  Karl Berry  <karl@gnu.org>

	* config/srclist.txt: break link for vasnprintf.c.

2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	Port obstack to the AS/400, where pointers are 16 bytes wide and
	you cannot cast an integer to a valid pointer.  This patch is
	currently waiting to be integrated into glibc; see
	<http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.

	* lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
	All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
	(__BPTR_ALIGN, __PTR_ALIGN): New macros.
	(struct obstack): temp member is now a union of a pointer and
	an integer, instead of an integer.  All integer uses changed.
	This does not affect the physical layout of struct obstack,
	except on hosts (like the AS/400) where the size or alignment of
	void * is greater than that of ptrdiff_t.
	(obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
	__STDC__)]: Store temporary in pointer member of union, not
	integer member.
	* lib/obstack.c: Include <stddef.h>, for offsetof.
	(struct fooalign): Remove; it doesn't need a name.
	(union fooround): Change double to long double, and add void *.
	(DEFAULT_ALIGNMENT): Use offsetof to compute.
	(DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
	not a macro.  Hence the values are always int; so remove all
	casts-to-int in uses.

2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>

	* config/srclist.txt: Break link for argp-help.c and argp-parse.c until
	we can get this patch merged into glibc.

2004-05-17  Derek R. Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* m4/argp: Depend on alloca.

2004-05-17  Derek R. Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	* lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
	freecoding.

2004-05-17  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
	precision that consists of a '.' followed by an empty digit string.
	Patch by Tor Lillqvist <tml@iki.fi>.

2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	* modules/getdate: Depend on alloca.
	* modules/setenv: Likewise.

2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
	for backward compatibility with older code.  We need our own
	alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
	it under some other name, and our alloca.h will define it.

2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
	    Derek Price  <derek@ximbiot.com>

	* lib/alloca.c: Include <alloca.h>, to get our interface.
	* lib/alloca_.h: Use __alloca on AIX, so that we don't have to
	include <alloca.h> first.  Use C89 prototype for alloca; this
	requires including <stddef.h> for size_t.  Use extern "C" if C++.
	Use #elif for simplicity, since we can assume C89 now.
	Don't try to source the system alloca.h since it will not be found
	and to prevent recursively including its replacement.
	* lib/fnmatch.c: Include <alloca.h> instead of opencoding.
	* lib/regex.c: Likewise.

2004-05-16  Derek Price  <derek@ximbiot.com>
	    Paul Eggert  <eggert@cs.ucla.edu>

	getline cleanup.  This changes the getndelim2 API: both order of
	arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
	no delimiter).

	* lib/getline.c: Don't include stddef.h or stdio.h, since our
	interface does that.
	(getline): Always use getdelim, so that we don't have two
	copies of this code.
	* lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
	if available.
	(PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
	(GETNDELIM2_MAXIMUM): New macro.
	(getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
	instead of the old practice of delim2==0.  All callers changed.
	Return -1 on overflow, instead of returning junk.
	Do not set *linesize unless allocation succeeds.
	* lib/getndelim2.h: Do not include stddef.h; no longer needed, now
	that we include sys/types.h.
	* lib/getnline.h: Likewise.
	* lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
	(getndelim2): Reorder arguments.
	* lib/getnline.c (getnline, getndelim):
	Don't discard the NMAX argument.
	(getnline): Invoke getndelim, to avoid code duplication.
	* lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
	of (size_t) -1 by callers of the getnline family.

2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
	Check for gettimeofday.
	* m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
	Check for settimeofday, stime.

2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/nanosleep.c (suspended): Change its type from int to
	sig_atomic_t volatile.
	(first_call): Make it private to rpl_nanosleep, and have it
	be zero initially as that's a bit faster.
	(my_usleep): Round up fractional times instead of truncating them,
	as this is the usual meaning for 'sleep'.

	* lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
	doesn't work.
	* lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
	(ENOSYS): Define if not defined.
	(settime): Fall back on stime if it exists and settimeofday fails.
	But don't bother with fallbacks if a method fails with errno == EPERM.

2004-05-11  Jim Meyering  <jim@meyering.net>

	Prior to this change, the save_cwd caller required read access to the
	current directory on most systems (ones with the fchdir function).

	* lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
	fails, try write-only, and finally, resort to using xgetcwd.

2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>

	* lib/obstack.c, obstack.h: Import changes from libc.

2004-05-04  Derek Price  <derek@ximbiot.com>

	* modules/argp: Remove dependency on alloca.

2004-04-28  Bruno Haible  <bruno@clisp.org>

	* lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
	also implicitly appends .exe to executables.
	* lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
	accepts Windows pathnames.
	* lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
	Treat Cygwin like Windows, since it now accepts Windows pathnames.
	* lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
	Treat Cygwin like Windows, since it now accepts Windows pathnames.
	Reported by Derek Robert Price <derek@ximbiot.com>.

2004-04-27  Derek Price  <derek@ximbiot.com>

	* m4/dos.m4 (gl_AC_DOS): Add Cygwin to list of Windows/DOS
	environments that accept backslashes and drive letters in paths.

2004-04-21  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (localcharset.c): break sync.

2004-04-20  Paul Eggert  <eggert@twinsun.com>

	* m4/host-os.m4: Add a copyright notice.

2004-04-20  Jim Meyering  <jim@meyering.net>

	* modules/dirfd: Change UTILS_ macro name prefix to gl_.
	* modules/mkstemp: Likewise.
	* modules/mkdir: Likewise.

	Change UTILS_ to gl_ in AC_DEFINE'd names.
	Change utils_- and jm_-prefixed variables, too.
	* m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
	UTILS_FUNC_MKDIR_TRAILING_SLASH.
	* m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.

	* m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
	Don't emit trailing blanks.
	Also rename jm_-prefixed variables to have gl_ prefix.

	* m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
	Also rename jm_-prefixed variables to have gl_ prefix.

	* m4/jm-macros.m4: Reflect the renamings.
	* m4/prereq.m4: Likewise.

2004-04-20  Jim Meyering  <jim@meyering.net>

	* lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
	memory.

2004-04-20  Jim Meyering  <jim@meyering.net>
	    Bruno Haible  <bruno@clisp.org>

	* lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
	memory when realloc fails.

2004-04-19  Jim Meyering  <jim@meyering.net>

	* m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
	now that readutmp.c may call `free (0)'.

2004-04-19  Bruno Haible  <bruno@clisp.org>

	* m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
	* m4/inttypes_h.m4: Likewise.
	* m4/stdint_h.m4: Likewise.
	* m4/intmax_t.m4: Likewise.
	* m4/uintmax_t.m4: Likewise.

2004-04-18  Jim Meyering  <jim@meyering.net>

	* m4/prereq.m4: Don't forbid jm_ prefix.

	* m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
	* m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
	* m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
	* m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
	* m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
	* m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
	* m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
	* m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
	* m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
	* m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
	* m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
	* m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
	* m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
	* m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
	* m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
	* m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
	* m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
	* m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
	Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.

2004-04-18  Jim Meyering  <jim@meyering.net>

	* lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
	failure, don't leak memory and do call END_UTMP_ENT.

2004-04-18  Jim Meyering  <jim@meyering.net>

	Change jm_ to gl_ in AC_DEFINE'd names.
	* modules/assert, modules/chown, modules/fpending:
	* modules/ftruncate, modules/getgroups, modules/group-member:
	* modules/lchown, modules/lstat, modules/memcmp:
	* modules/nanosleep, modules/putenv, modules/stat:
	* modules/strftime, modules/unlocked-io, modules/utime:
	* modules/xstrtoimax, modules/xstrtoumax:

2004-04-16  Jim Meyering  <jim@meyering.net>

	* m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
	coreutils' stat program.
	(gl_PREREQ): Don't require jm_PREREQ_STAT.

2004-04-12  Paul Eggert  <eggert@twinsun.com>

	* config/srclist.txt: Restore setenv.c, unsetenv.c from gettext.
	Add intmax.m4, printf-posix.m4, sig_atomic_t.m4,
	signalblocking.m4, ssize_t.m4.
	* lib/unsetenv.c: Regenerate: this subtracts 1 from the
	copyright year (!).
	* m4/printf-posix.m4: Regenerate.

	* modules/inttostr (EXTRA_DIST): Move inttostr.c here....
	(lib_SOURCES): from here.
	* modules/getopt (lib_SOURCES): Add getopt_int.h.

2004-04-12  Jim Meyering  <jim@meyering.net>

	* MODULES.html.sh (func_all_modules): Add cloexec, inttostr, free,
	tzset.

2004-04-11  Paul Eggert  <eggert@twinsun.com>

	* lib/inttostr.h: Include <limits.h> unconditionally, since we assume
	C89.
	(CHAR_BIT): Remove, since we assume C89.
	Include <stdint.h> if available, as per current Autoconf CVS advice.

2004-03-31  Jim Meyering  <jim@meyering.net>

	* m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
	Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
	* m4/xalloc.m4: Likewise.

2004-03-30  Paul Eggert  <eggert@twinsun.com>

	Merge from coreutils.

	* m4/inttostr.m4: New file.
	* m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
	Require AM_STDBOOL_H and gl_TIMESPEC instead.
	Require gl_CLOCK_TIME.
	* m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.

2004-03-30  Paul Eggert  <eggert@twinsun.com>

	* lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
	not bool, to be more consistent with Unix conventions.
	Suggested by Bruno Haible.

	Merge from coreutils.

	* modules/inttostr: New file.
	* lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
	* lib/umaxtostr.c: New files.

	* modules/getdate: Depend on timespec, stdbool, gettime.
	* lib/getdate.h: Include stdbool.h, and timespec.h instead of
	the usual <time.h> dance.
	(get_date): Change signature to support fractional time stamps.
	All callers changed.
	* lib/getdate.y: Include "getdate.h" first, as we can now
	assume C89 and don't need to worry about 'const'.
	Similarly, include "unlocked-io.h" near start, not in middle.
	Include <limits.h>.
	(textint.value): Use long int rather than int.
	(textint.digits): Use size_t rather than int.
	(BILLION, LOG10_BILLION): New constants.
	(parser_control): New member rel_ns.  Members day_ordinal,
	time_zone, month, day, hour, minutes, rel_year, rel_month,
	rel_day, rel_hour, rel_minutes, rel_seconds
	are now long int, not int.  Member seconds is now struct timespec,
	not int.  New member timespec_seen.  Members dates_seen, days_seen,
	local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
	not int.
	(%union.intval): Now long int, not int.
	New member timespec.
	(tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
	(seconds, signed_seconds, unsigned_seconds): New nonterminals.
	(spec): Now is a timespec or an item list.
	(timespec, items): New nonterminals.
	(time, rel, relunit, number, get_date):
	Add support for fractional seconds.
	(time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
	(gmtime, localtime, mktime): Remove decls; not needed with C89.
	(to_hour): First arg is now long int, not int.
	(to_year): Returns long int, not int.
	Don't treat year -70 like 70.
	(tm_diff): Returns long int, not int.
	(lookup_word): Use bool instead of int when appropriate.
	(yylex): Use size_t for count, not int.
	Detect overflow when parsing large integer constants.
	Add support for fractions.
	(get_date): Make pointers 'const' if possible.
	Use more-portable code to detect integer overflow.
	(main) [TEST]: Adjust to above changes.  Test for localtime failure.
	Don't use ctime; it's not reliable if the year has >4 digits.

	* lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
	This is for compatibility with BSD.

	* lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
	(ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
	From coreutils' system.h.

	* lib/userspec.c: Don't include "posixver.h".
	(parse_user_spec): Fall back on USER.GROUP parsing, regardless
	of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
	compatible extension.  Simplify code by removing a boolean int
	that was always nonzero if a string was nonnull.

2004-03-30  Jim Meyering  <jim@meyering.net>

	Merge from coreutils.

	Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
	* m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
	on some systems one must include <grp.h> before it.
	Reported by Christian Krackowizer.

2004-03-30  Jim Meyering  <jim@meyering.net>

	Merge from coreutils.

	* lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.

	* lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
	an empty input stream.

	* lib/readtokens.c: Include <stdbool.h>.
	(readtoken): Use `size_t' rather than int/long.
	All callers adjusted.
	Use `bool' rather than `int' where appropriate.
	Use memset rather than an explicit loop.
	Use x2nrealloc rather than xrealloc.
	Allow the use of `\0' as a delimiter.
	(readtokens): Likewise.
	* lib/readtokens.h (readtoken, readtokens): Update prototypes.

2004-03-30  Jim Meyering  <jim@meyering.net>

	* modules/realloc (Files): Remove m4/realloc.m4.
	(configure.ac): Depend on AC_FUNC_REALLOC, rather than jm_FUNC_REALLOC.
	* modules/malloc (Files): Remove m4/malloc.m4.
	(configure.ac): Depend on AC_FUNC_MALLOC, rather than jm_FUNC_MALLOC.
	* m4/realloc.m4: Remove file, since now it does no more than
	AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
	the `configure.ac' section of module/realloc.
	* m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.

2004-03-30  Bruno Haible  <bruno@clisp.org>

	* lib/getloadavg.c (getloadavg): Don't assume setlocale returns
	nonnull.

2004-03-29  Paul Eggert  <eggert@twinsun.com>

	Merge changes to getloadavg.c from coreutils and Emacs.

	* modules/getloadvg: Depend on cloexec and xalloc.
	* lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
	Define to an expression, not to the empty string.
	Include cloexec.h and xalloc.h.
	(getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
	Use set_cloexec_flag rather than rolling our own.
	* lib/cloexec.c, lib/cloexec.h: New files.

2004-03-29  Paul Eggert  <eggert@twinsun.com>

	* m4/cloexec.m4: New file.

2004-03-18  Paul Eggert  <eggert@twinsun.com>

	* lib/getopt.h: Sync with libc CVS.

2004-03-18  Paul Eggert  <eggert@twinsun.com>
	    Bruno Haible  <bruno@clisp.org>

	* m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
	mbswidth.

2004-03-18  Paul Eggert  <eggert@twinsun.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/mbswidth.h: Include <wchar.h> only if
	HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
	<wchar.h>.
	* lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.

2004-03-09  Paul Eggert  <eggert@twinsun.com>

	* modules/getopt: Add lib/getopt_int.h.
	* lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
	Sync with libc CVS.
	* lib/getopt_int.h: New file, also synced from libc.

2004-03-09  Paul Eggert  <eggert@twinsun.com>

	* config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
	* config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
	Bring back getopt.c, getopt.h, getopt1.c.

2004-03-07  Paul Eggert  <eggert@twinsun.com>

	* m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
	All uses changed.  Check for sa_sigaction member; this fixes
	a bug first reported by Jason Andrade in
	<http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.

2004-03-07  Paul Eggert  <eggert@twinsun.com>

	* lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
	'#if' expressions.  Unlike the code it replaces, it does not
	depend on (defined _SC_PAGESIZE).  However, it does depend on
	HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
	first reported by Jason Andrade in
	<http://mail.gnu.org/r/bug-textutils/2003-03/msg00027.html>.

2004-02-25  Simon Josefsson  <jas@extundo.com>

	* m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.

2004-02-25  Simon Josefsson  <jas@extundo.com>

	* lib/strdup.h: New file.
	* lib/strdup.c: Include it.
	* lib/path-concat.c: Include strdup.h. Drop strdup declaration.
	* lib/userspec.c: Include strdup.h. Drop strdup declaration.

2004-02-23  Karl Berry  <karl@gnu.org>

	* doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
	(from fencepost.gnu.org:/gd/gnuorg).

2004-02-23  Karl Berry  <karl@gnu.org>

	* config/srclistvars.sh (GNUORG) [karl]: redefine.
	* config/srclist.txt: add maintain/standards documents.

2004-02-22  Bruno Haible  <bruno@clisp.org>

	* modules/xalloc: Remove dependency on stdbool.
	Reported by Derek Robert Price <derek@ximbiot.com>.

2004-02-18  Bruno Haible  <bruno@clisp.org>

	* m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
	Reported by Derek Robert Price <derek@ximbiot.com>.

2004-02-16  Karl Berry  <karl@gnu.org>

	* config/mkinstalldirs, install-sh: update from automake.

2004-02-06  Karl Berry  <karl@gnu.org>

	* m4/po.m4: update from gettext 0.14.1.

2004-02-06  Karl Berry  <karl@gnu.org>

	* lib/config.charset: update from gettext 0.14.1.

2004-02-05  Paul Eggert  <eggert@twinsun.com>

	Add comments and code, prompted by suggestions from Bruno Haible
	for sh-quote.
	* lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
	describing the enum quoting_style values.
	* lib/quotearg.c (quotearg_alloc): New function.
	(quotearg_buffer_restyled): Treat lone { and } as special.
	Treat = as special.  Work around bug with older shells
	that "see" a '\' that is really the 2nd byte of a multibyte char.
	Quote empty string with shell_quoting_style.

2004-02-03  Bruno Haible  <bruno@clisp.org>

	* modules/pipe: New file.
	* MODULES.html.sh (func_all_modules): Add pipe.
	* m4/pipe.m4: New file, from GNU gettext.

2004-02-03  Bruno Haible  <bruno@clisp.org>

	* lib/pipe.h: New file, from GNU gettext.
	* lib/pipe.c: New file, from GNU gettext.

2004-01-27  Bruno Haible  <bruno@clisp.org>

	* modules/execute: New file.
	* MODULES.html.sh (func_all_modules): Add execute.
	* m4/execute.m4: New file, from GNU gettext.

2004-01-27  Bruno Haible  <bruno@clisp.org>

	* lib/execute.h: New file, from GNU gettext.
	* lib/execute.c: New file, from GNU gettext.
	* lib/w32spawn.h: New file, from GNU gettext.

2004-01-24  Paul Eggert  <eggert@twinsun.com>

	Merge from diffutils.

	* lib/file-type.c (file_type): Add typed memory objects.
	* lib/file-type.h (S_TYPEISTMO): New macro.

	* lib/c-stack.h (c_stack_action): Remove argv argument.
	* lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
	(die): Don't calculate message unless segv_action returns.
	(get_stack_location, min_address_from_argv, max_address_from_argv,
	volatile stack_base, volatile_stack_size): Remove.
	(segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
	that every segmentation violation is a stack overflow.  (Ouch!)
	See Debian bug 136249 (still outstanding) for more info about why
	HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.

2004-01-24  Paul Eggert  <eggert@twinsun.com>

	Exit-status fix from coreutils.

	Use exit_failure consistently in place of EXIT_FAILURE,
	so that program exit statuses are consistent on failure.

	* lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
	Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
	* lib/argmatch.h: Comment fix to match the above.
	* lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
	Now a macro referring to exit_failure, instead of a separate
	variable.  Include "exitfail.h" to get it.
	* lib/xstrtol.h: Include "exitfail.h".
	(STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.

	* lib/long-options.c (parse_long_options): Use prototype
	for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
	for clarity.

2004-01-23  Paul Eggert  <eggert@twinsun.com>

	* modules/argmatch, modules/obstack, modules/xstrtol:
	Depend on exitfail.

2004-01-21  Jim Meyering  <jim@meyering.net>

	* lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
	so as not to conflict with a different-sized __mktime_internal
	function in GNU libc.
	* lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
	Problem building statically-linked `ls' reported by Michael Brunnbauer.

2004-01-20  Karl Berry  <karl@gnu.org>

	* config/config.guess: update from config.

	* config/srclistvars.sh: GNUWWWLICENSES for karl.

2004-01-20  Bruno Haible  <bruno@clisp.org>

	Safer stack allocation.
	* modules/setenv: Depend on allocsa instead of alloca.
	* lib/setenv.c: Include allocsa.h.
	(alloca): Remove fallback definition.
	(freea): Remove macro.
	(__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
	instead of freea.

2004-01-20  Bruno Haible  <bruno@clisp.org>

	* m4/eealloc.m4: New file, from GNU gettext.

2004-01-20  Bruno Haible  <bruno@clisp.org>

	* m4/allocsa.m4: New file, from GNU gettext.

2004-01-20  Bruno Haible  <bruno@clisp.org>

	* modules/xallocsa: New file.
	* MODULES.html.sh (func_all_modules): Add xallocsa.
	* lib/xallocsa.h: New file, from GNU gettext.
	* lib/xallocsa.c: New file, from GNU gettext.

2004-01-20  Bruno Haible  <bruno@clisp.org>

	* lib/wait-process.c: On Windows, include windows.h. Needed on mingw.

2004-01-20  Bruno Haible  <bruno@clisp.org>

	* lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
	* lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
	specially.

2004-01-20  Bruno Haible  <bruno@clisp.org>

	* lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
	patch.

2004-01-20  Bruno Haible  <bruno@clisp.org>

	* lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.

2004-01-20  Bruno Haible  <bruno@clisp.org>

	* modules/eealloc: New file.
	* MODULES.html.sh (func_all_modules): Add eealloc.
	* lib/eealloc.h: New file.

2004-01-20  Bruno Haible  <bruno@clisp.org>

	* lib/binary-io.h: Avoid warnings on Cygwin.

2004-01-20  Bruno Haible  <bruno@clisp.org>

	* modules/allocsa: New file.
	* MODULES.html.sh (func_all_modules): Add allocsa.
	* lib/allocsa.h: New file, from GNU gettext.
	* lib/allocsa.c: New file, from GNU gettext.

2004-01-18  Karl Berry  <karl@gnu.org>

	* doc/gpl.texi, doc/lgpl.texi: new files.

2004-01-18  Karl Berry  <karl@gnu.org>

	* config/srclistvars.sh (GNUWWWLICENSES): new variable.
	* config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.

2004-01-18  Simon Josefsson  <jas@extundo.com>

	* modules/strdup (Files, Makefile.am): Add strdup.h.

2004-01-15  Paul Eggert  <eggert@twinsun.com>

	* modules/poll: Add BUILT_SOURCES.
	Prefer "$@" to "poll.h" in rule for building poll.h.
	All this is for consistency with alloca and fnmatch.

	* modules/same: Depend on stdbool.

2004-01-15  Paul Eggert  <eggert@twinsun.com>

	Merge from coreutils.

	* m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
	* m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
	(gl_DEFAULT_POSIX2_VERSION): Move
	the documentation from 'configure' into 'config.hin',
	so that 'configure --help' isn't burdened by it and
	we don't have to worry about its formatting there.
	Reword the documentation so that it's more succinct
	and can be run together into a single paragraph.
	* m4/same.m4 (gl_SAME): Check for pathconf.

2004-01-15  Paul Eggert  <eggert@twinsun.com>

	Merge from coreutils.

	* lib/posixver.c: Include posixver.h.

	* lib/same.c: Include <stdbool.h>, <limits.h>.
	(_POSIX_NAME_MAX): Define if not defined.
	(MIN): New macro.
	(same_name): If file names are silently truncated, report
	that the file names are the same if they are the same after
	the silent truncation.

	* lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
	conversion function.
	* lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
	include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
	longer needed.

2004-01-15  Jim Meyering  <jim@meyering.net>

	Merge from coreutils.

	* m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
	if no library is required.
	* m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
	* m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
	* m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
	(AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
	* m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
	* m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
	value, $ac_cv_search_crypt, if it's "none required".
	* m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
	* m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
	not gl_FUNC_GETLOADAVG.
	* m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
	gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.

2004-01-15  Jim Meyering  <jim@meyering.net>

	Merge from coreutils.

	* lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
	days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
	http://mail.gnu.org/r/bug-coreutils/2003-11/msg00144.html

	* lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
	optional configure-time default.

	* lib/version-etc.c (version_etc_copyright): Update copyright date.

	* lib/xreadlink.c (xreadlink): Correct outdated comment.

2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>

	Merge from coreutils.

	* m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
	value, $ac_cv_search_nanosleep, if it's "none required".

2004-01-14  Paul Eggert  <eggert@twinsun.com>

	* lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
	with like-named macro in fnmatch.c.
	(EXT): Use an internal constant instead.

	Merge fnmatch patches from glibc.
	* lib/fnmatch.c (mbsinit): Remove define.
	Add libc_hidden_ver (__fnmatch, fnmatch).
	* lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
	Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.

2004-01-14  Karl Berry  <karl@gnu.org>

	* config/install-sh: update from automake.

2004-01-13  Karl Berry  <karl@gnu.org>

	* config/install-sh: update from automake.

2004-01-09  Karl Berry  <karl@gnu.org>

	* config/install-sh: update from automake.

2004-01-05  Karl Berry  <karl@gnu.org>

	* config/config.{sub,guess}: update from config.

2003-12-31  Karl Berry  <karl@gnu.org>

	* config/depcomp: update from automake.

2003-12-14  Karl Berry  <karl@gnu.org>

	* lib/config.charset: update from gettext-runtime.

2003-12-03  Paul Eggert  <eggert@twinsun.com>

	* lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
	Bug reported by Alfred M. Szmidt.

2003-12-03  Bruno Haible  <bruno@clisp.org>

	Upgrade from gettext-0.13.
	* modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
	m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
	m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
	* m4/gettext.m4: Upgrade from gettext-0.13.
	* m4/po.m4: Upgrade from gettext-0.13.
	* m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
	* m4/intmax.m4: New file, from gettext-0.13.
	* m4/printf-posix.m4: New file, from gettext-0.13.

2003-11-29  Karl Berry  <karl@gnu.org>

	* lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.

2003-11-25  Paul Eggert  <eggert@twinsun.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/printf-parse.h: Don't include sys/types.h.
	(ARG_NONE): New macro.
	(char_directive): Change type of *arg_index fields to size_t.
	* lib/printf-parse.c: Don't include sys/types.h.
	(SSIZE_MAX): Remove macro.
	(PRINTF_PARSE): Change the type of the arg_index variables to size_t.
	Remove unnecessary overflow check.
	* lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
	fields.

2003-11-25  Bruno Haible  <bruno@clisp.org>

	* modules/vasnprintf (Files): Remove m4/ssize_t.m4.

2003-11-25  Bruno Haible  <bruno@clisp.org>

	* m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
	gt_TYPE_SSIZE_T.

2003-11-24  Paul Eggert  <eggert@twinsun.com>

	* modules/alloca: Remove dependency on xalloc.

2003-11-24  Paul Eggert  <eggert@twinsun.com>

	* lib/alloca.c: Remove dependency on xalloc module.
	(xalloc_die): Remove.
	(memory_full) [!defined emacs]: New macro.
	[!defined emacs]: Don't include xalloc.h.
	(alloca): Invoke memory_full, not xalloc_die, if malloc fails or
	address arithmetic overflows.  Change datatypes a bit to avoid
	unnecessary casts.

2003-11-22  Jim Meyering  <jim@meyering.net>

	* lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
	s/size/size_t/.

2003-11-21  Karl Berry  <karl@gnu.org>

	* config/config.{sub,guess}: update from config.

2003-11-18  Karl Berry  <karl@gnu.org>

	* config/config.{sub,guess}: update from config.

	* config/(printf-{parse,args}.[ch]): sync broken, sigh.

2003-11-17  Paul Eggert  <eggert@twinsun.com>

	* README: Mention that S+T cannot overflow if S is the size of
	an existing object and T is sufficiently small.

2003-11-17  Jim Meyering  <jim@meyering.net>

	On systems without utime and without a utimes function capable of
	dealing with a NULL struct utimbuf* argument, this utime replacement
	could -- in unusual circumstances -- leak a file descriptor.
	* lib/utime.c: Include <unistd.h> and <errno.h>.
	(utime_null): Be sure to close `fd' and to preserve errno.
	Reported by Geoff Collyer via Arnold Robbins.

2003-11-17  Bruno Haible  <bruno@clisp.org>

	* modules/vasnprintf (Files): Add m4/ssize_t.m4.
	(Depends-on): Add xsize.

2003-11-17  Bruno Haible  <bruno@clisp.org>

	* m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.

2003-11-17  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (alloca): Remove fallback definition.
	(freea): Remove definition.
	(VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
	Reported by Paul Eggert.

2003-11-16  Paul Eggert  <eggert@twinsun.com>
	    Bruno Haible  <bruno@clisp.org>

	Protect against address arithmetic overflow.
	* lib/printf-args.h: Include stddef.h.
	(arguments): Change type of field 'count' to size_t.
	* lib/printf-args.c (printf_fetchargs): Use size_t instead of
	'unsigned int' where appropriate.
	* lib/printf-parse.h: Include sys/types.h.
	(char_directive): Change type of *arg_index fields to ssize_t.
	(char_directives): Change type of fields 'count', max_*_length to
	size_t.
	* lib/printf-parse.c: Include sys/types.h and xsize.h.
	(SSIZE_MAX): Define fallback value.
	(PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
	instead of 'int' where appropriate. Check a_allocated, d_allocated
	against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
	* lib/vasnprintf.c: Include xsize.h.
	(VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
	Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
	overflow. Avoid wraparound when converting a width or precision from
	decimal to binary.

2003-11-16  Bruno Haible  <bruno@clisp.org>

	Update from GNU gettext.
	* lib/printf-parse.c: Generalize to it can be compiled for wide
	strings.
	(PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
	* lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
	(VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
	SNPRINTF): New macros.
	Don't include <alloca.h> if the file is used inside libintl.
	(local_wcslen): New function, for Solaris 2.5.1.
	(VASNPRINTF): Use it instead of wcslen.

2003-11-16  Bruno Haible  <bruno@clisp.org>

	* lib/xsize.h (xmax): New function.
	(xsum, xsum3, xsum4): Declare as "pure" functions.

2003-11-12  Paul Eggert  <eggert@twinsun.com>

	* modules/xalloc (Files): Undo latest change, since xalloc.h
	no longer needs SIZE_MAX or PTRDIFF_MAX.

2003-11-12  Paul Eggert  <eggert@twinsun.com>

	* m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
	gl_PTRDIFF_MAX.

2003-11-12  Paul Eggert  <eggert@twinsun.com>

	* lib/xstrtol.c (__xstrtol): Remove "break" immediately after
	"return", to pacify some unknown compiler.  Problem reported
	by Joerg Schilling.

2003-11-12  Paul Eggert  <eggert@twinsun.com>

	* lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
	(xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
	the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
	heuristic is just as accurate as far as we know, and it removes a
	dependency on size_max.m4 and ptrdiff_max.m4.

2003-11-11  Bruno Haible  <bruno@clisp.org>

	* modules/xsize (Files): Add m4/size_max.m4.
	* modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.

2003-11-11  Bruno Haible  <bruno@clisp.org>

	* m4/size_max.m4: New file.
	* m4/ptrdiff_max.m4: New file.
	* m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
	* m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
	(gl_XALLOC): Invoke it.

2003-11-11  Bruno Haible  <bruno@clisp.org>

	* lib/xsize.h (SIZE_MAX): Remove fallback definition.
	* lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
	defined.

2003-11-10  Paul Eggert  <eggert@twinsun.com>

	* lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
	PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
	rejected some allocations of exactly SIZE_MAX - 2 bytes.
	From Bruno Haible.
	[defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
	not (size_t) -1, since it's defined here.

2003-11-09  Karl Berry  <karl@gnu.org>

	* config/mkinstalldirs, depcomp, mdate-sh: update from automake.

2003-11-06  Paul Eggert  <eggert@twinsun.com>

	* lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
	(xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
	Reject sizes of exactly SIZE_MAX bytes.
	* lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
	is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.

2003-11-05  Bruno Haible  <bruno@clisp.org>

	* lib/xsize.h: Include limits.h, to avoid a possible collision with
	SIZE_MAX defined in <limits.h> on Solaris.

2003-11-04  Jim Meyering  <jim@meyering.net>

	* modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
	variable names, rather than @VAR@.
	* modules/poll: Likewise.

2003-11-04  Bruno Haible  <bruno@clisp.org>

	* modules/xsize: New file.
	* modules/linebreak: Depend on xsize.
	* MODULES.html.sh (func_all_modules): Add xsize.

2003-11-04  Bruno Haible  <bruno@clisp.org>

	* m4/xsize.m4: New file.

2003-11-04  Bruno Haible  <bruno@clisp.org>

	* lib/xsize.h: New file.
	* lib/linebreak.c: Include xsize.h.
	(mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
	argument for overflow.
	Suggested by Paul Eggert.

2003-11-03  Karl Berry  <karl@gnu.org>

	* config/config.{guess,sub}: update from config.

2003-11-03  Jim Meyering  <jim@meyering.net>

	* modules/userspec (lib_SOURCES): Add userspec.h.
	(Include): Add "userspec.h".
	Improve description.

2003-11-03  Jim Meyering  <jim@meyering.net>

	* lib/userspec.c: Include "userspec.h".
	* lib/userspec.h: New file.

2003-11-03  Bruno Haible  <bruno@clisp.org>

	* m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.

2003-11-03  Bruno Haible  <bruno@clisp.org>

	* lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
	available, to avoid (extremely rare) race condition.
	Suggested by Paul Eggert.

2003-11-02  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (vasprintf.c): sync broken, sigh.

2003-10-31  Paul Eggert  <eggert@twinsun.com>

	* lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
	* lib/mountlist.c (SIZE_MAX): Define if not defined already.
	(read_filesystem_list): Set and use me_type_malloced.
	Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
	whatever the type happens to be), for brevity and consistency.
	Check for size calculation overflow on Alphas running OSF/1.

2003-10-31  Jim Meyering  <jim@meyering.net>

	* lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.

	* lib/linebuffer.c: Include <string.h> for declaration of memset.

2003-10-30  Paul Eggert  <eggert@twinsun.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
	(vasprintf): Fail if the resulting length doesn't fit in an 'int'.

2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>

	* m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
	netbsd*-gnu*.  Suggested by Robert Millan.

2003-10-29  Paul Eggert  <eggert@twinsun.com>

	* modules/group-member: Depend on stdbool.

2003-10-29  Paul Eggert  <eggert@twinsun.com>

	* m4/xalloc.m4 (gl_XALLOC): Undo previous change.

2003-10-29  Paul Eggert  <eggert@twinsun.com>

	* m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
	to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
	after the 'gnu' in these cases.  This fixes some bugs in the
	previous change, and is based on suggestions by Robert Millan.

2003-10-29  Paul Eggert  <eggert@twinsun.com>

	* lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
	so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
	no longer needed.
	* lib/quotearg.c (quotearg_n_options): Use it.
	* lib/group-member.c: Include <stdbool.h>.
	(free_group_info): Arg is now const *; don't free arg.
	(get_group_info): Now returns bool and accepts struct group_info *,
	rather than returning a malloc'ed struct group_info *.
	All uses changed.  Check for overflow in internal size calculation.

	* lib/getusershell.c (readname): Simplify the code by using x2nrealloc
	rather than xmalloc/xrealloc.
	* lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
	using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
	conformance bug: the old code used a pointer after freeing the
	storage that it addressed.
	* lib/hash.c (hash_initialize): Simplify the code by using
	xalloc_oversized rather than doing it by hand.
	* lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
	the buffer preserved.  Use free and xmalloc instead.
	* lib/quotearg.c (quotearg_n_options): Likewise.
	Use a simpler test for size overflow.  Don't use xalloc_oversized
	because unsigned int might be wider than size_t (!); this suggests
	that we should switch from unsigned int to size_t for slot numbers.

2003-10-28  Paul Eggert  <eggert@twinsun.com>

	* m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
	GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
	NetBSD kernels.  Requested by Richard Stallman.

2003-10-27  Paul Eggert  <eggert@twinsun.com>

	* lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
	to allocate the returned structure.  Do not allocate a subarray,
	as x2nrealloc will do that.
	(add_exclude): Use x2nrealloc to reallocate ex->exclude,
	instead of xnrealloc.
	(add_exclude_file): Use x2realloc instead of malloc + xnrealloc.

2003-10-27  Bruno Haible  <bruno@clisp.org>

	* lib/stdbool_.h: Better support for BeOS.

2003-10-26  Paul Eggert  <eggert@twinsun.com>

	* m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
	now uses inline.

2003-10-26  Paul Eggert  <eggert@twinsun.com>

	* lib/xalloc.h (xalloc_oversized): New static inline function, for
	callers that want to do their own size-overflow checking.  Include
	<stdbool.h>, since xalloc_oversized returns bool.
	* lib/xalloc.c (array_size_overflow): Remove.  All callers changed
	to use xalloc_oversized.

	Add two functions x2realloc, x2nrealloc, for programs that grow
	arrays dynamically by doubling their sizes.
	* lib/xalloc.h (x2realloc, x2nrealloc): New decls.
	* lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
	New functions.

	Port to C99 semantics for 'inline' of external functions.
	Bug reported by Bruno Haible.
	* lib/xmalloc.c (xnmalloc_inline): New static inline function,
	with the old contents of xnmalloc.
	(xnmalloc, xmalloc): Use it.
	(xnrealloc_inline): New static inline function,
	with the old contents of xnrealloc.
	(xnrealloc, xrealloc): Use it.

	* lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
	that.

2003-10-26  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (COPYING.DOC): no longer available from
	/gd/gnuorg; don't know where the ultimate source is.

2003-10-25  Paul Eggert  <eggert@twinsun.com>

	Fix several address-calculation bugs in the hash modules,
	plus some minor code cleanup.

	* lib/hash.h: Include <stdbool.h>, for bool.
	* lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
	* lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
	hash_get_n_entries, hash_get_max_bucket_length,
	hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
	hash_rehash): Use size_t rather than unsigned.
	* lib/hash.c (struct hash_table, hash_get_n_buckets,
	hash_get_n_buckets_used, hash_get_n_entries,
	hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
	hash_get_entries, hash_do_for_each, hash_string, is_prime,
	next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
	Likewise.
	(SIZE_MAX): Define if not defined.
	(hash_get_max_bucket_length, hash_table_ok, hash_lookup,
	hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
	hash_print):
	Use const * when possible.
	(hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
	(check_tuning): Fix bug: if tuning parameters were very close to
	0 or 1, rounding errors could have caused subscript violations.
	(hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
	(hash_initialize): Add 'fail:' label
	to free table and return NULL, and use it to simplify code.
	Use calloc rather than clearing the storage ourself.
	(hash_initialize, hash_rehash): Check for arithmetic overflow in
	buffer size calculations.
	* lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
	Include <stddef.h>, for size_t.
	* lib/hash-pjw.c (hash_pjw): Likewise.
	Switch to method described by Bruno Haible.
	Include <limits.h>, for CHAR_BIT.
	(SIZE_BITS): New macro.

2003-10-23  Paul Eggert  <eggert@twinsun.com>

	* m4/getline.m4 (AM_FUNC_GETLINE):
	Don't include getndelim2.o twice into LIBOBJS; this breaks on some
	hosts.  Problem reported by Derek Robert Price in
	<http://mail.gnu.org/r/bug-gnulib/2003-10/msg00092.html>.
	This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
	* m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.

2003-10-21  Paul Eggert  <eggert@twinsun.com>

	* lib/getndelim2.c (getndelim2): When size calculation overflows,
	ceiling the allocation at NMAX bytes rather than silently
	discarding input bytes before NMAX is reached.  This makes
	a difference only if NMAX exceeds SIZE_MAX / 2.

	* lib/obstack.c: Merge from glibc.
	[defined _LIBC]: Include <obstack.h>, not "obstack.h".
	Add libc_hidden_def (_obstack_newchunk).
	(_obstack_free) [! defined _LIBC]: Remove.
	[defined _LIBC]: Make a strong alias from obstack_free, rather than
	a clone of the function body.
	(fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
	[defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.

	* lib/obstack.h: Indenting cleanup, to make it easier to merge with
	glibc.
	(obstack_grow, obstack_grow0): Remove unnecessary parentheses around
	arg to memcpy.

	* lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
	(obstack_ptr_grow_fast, obstack_int_grow_fast):
	Don't use lvalue casts, as GCC plans to remove support for them
	in GCC 3.5.  Reported by Joseph S. Myers.  This bug
	was also present in the non-GCC version, indicating that this
	code had always been buggy and had never been widely used.
	(obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
	Use the fast variant of each macro, rather than copying the
	definiens of the fast variant; that way, we'll be more likely to
	catch future bugs in the fast variants.

2003-10-20  Bruno Haible  <bruno@clisp.org>

	* modules/wait-process: New file.
	* MODULES.html.sh (func_all_modules): Add wait-process.

2003-10-20  Bruno Haible  <bruno@clisp.org>

	* m4/wait-process.m4: New file.

2003-10-20  Bruno Haible  <bruno@clisp.org>

	* lib/wait-process.h: New file, from GNU gettext.
	* lib/wait-process.c: New file, from GNU gettext.

2003-10-19  Jim Meyering  <jim@meyering.net>

	* lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
	HPUX 10.20.

2003-10-18  Karl Berry  <karl@gnu.org>

	* config/config.guess: update from config.

2003-10-16  Paul Eggert  <eggert@twinsun.com>

	* lib/getgroups.c: Include <errno.h>, <stdlib.h>.
	(getgroups): First arg is int, not size_t.
	Don't let 'free' mangle errno.

2003-10-16  Paul Eggert  <eggert@twinsun.com>

	* README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.

2003-10-16  Karl Berry  <karl@gnu.org>

	* config/config.{guess,sub}: update from config.

2003-10-16  Jim Meyering  <jim@meyering.net>

	* lib/xmalloc.c: Include <string.h>, for declarations of memset and
	memcpy.

2003-10-15  Paul Eggert  <eggert@twinsun.com>

	* lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
	(SIZE_MAX): Remove.
	(new_exclude, add_exclude_file): Initial size no longer needs to
	be a power of 2.
	(add_exclude, add_exclude_file): Use xnrealloc instead of rolling
	our own address arithmetic overflow checking.

	* lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
	(fnmatch): Do not alloca more than 2000 wide characters;
	instead, use malloc for large buffers.
	Check for address arithmetic overflow, and return -1
	with errno set to ENOMEM in that case.
	* lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
	(NEW_PATTERN): Do not alloca more than 8000 bytes;
	instead, return -1.  Check for address arithmetic overflow.

2003-10-14  Paul Eggert  <eggert@twinsun.com>

	Handle invalid suffixes and overflow independently, so that
	callers can treat them independently as needed.  Fix some bugs in
	suffix handling, e.g., "100k@" was not diagnosed as an invalid
	suffix for a human-readable blocksize.  The major caller-visible
	change is the addition of a new
	LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
	that both overflow and suffix chars were found.

	* lib/human.c (humblock): Don't check separately for invalid suffix
	char; that is xstrtoumax's job (now that its bug is fixed).
	* lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
	INTMAX_MAX]: New macros.
	* lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
	TYPE_MAXIMUM): New macros.
	(bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
	(bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
	if overflow occurs, as it's what __strtol does and it's more useful
	in practice.
	(__xstrtol): If __strtol reports some error other than ERANGE,
	reflect it to the caller as LONGINT_INVALID.  If it reports
	ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
	| LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
	* lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
	value.
	(_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
	* lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
	* lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
	[defined UINTMAX_MAX]: New macros.

2003-10-14  Bruno Haible  <bruno@clisp.org>

	* modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.

2003-10-14  Bruno Haible  <bruno@clisp.org>

	* m4/sig_atomic_t: New file, from GNU gettext.
	* m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.

2003-10-14  Bruno Haible  <bruno@clisp.org>

	* lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
	* lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
	Also use volatile where needed.

2003-10-12  Paul Eggert  <eggert@twinsun.com>

	* modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
	Change maintainer from Bruno Haible to 'all'.

2003-10-12  Paul Eggert  <eggert@twinsun.com>

	* m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.

2003-10-12  Paul Eggert  <eggert@twinsun.com>

	* lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
	(XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
	and define in terms of the other primitives.
	* lib/xmalloc.c: Include stdbool.h; do not include exit.h.
	(SIZE_MAX): Define if not already defined.
	(array_size_overflow): New function.
	(xalloc_die): Abort instead of exiting if 'error' returns.
	(xnmalloc, xnrealloc, xzalloc, xclone): New functions.
	(xmalloc, xrealloc): Use them.
	(xcalloc): Check for address arithmetic overflow.
	* lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
	a bit faster than strcpy.

2003-10-10  Simon Josefsson  <jas@extundo.com>

	* modules/argp (Depends-on): Add restrict and strcase.

2003-10-10  Simon Josefsson  <jas@extundo.com>

	* m4/argp.m4: Add AC_C_INLINE.

2003-10-08  Paul Eggert  <eggert@twinsun.com>

	Merge getpass from libc, plus a few fixes.

	* lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
	Include <stdbool.h>.
	Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
	__fsetlocking to empty.
	[_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
	do include <bits/libc-lock.h>.
	Do not include <fcntl.h>; not needed.
	[_LIBC]: Include <wchar.h>.
	(NOTCANCEL_MODE): New macro.
	(flockfile, funlockfile) [_LIBC]: New macros.
	(__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
	[!_LIBC]: New macros.
	(call_fclose): New function.
	(getpass): Use it.  Save tty stream separately; this simplifies the
	code and makes it more reliable if stdin happens to equal stdout.
	Invoke __fsetlocking on tty.
	Handle thread cancellation if needed.
	Namespace cleanup (use __tcgetattr, __getline).
	Use bool for Booleans.
	[USE_IN_LIBIO]: Handle wide streams.
	[!_LIBC]: Unconditionally do the fseek, since we don't know what
	stream might go where.

	* lib/unlocked-io.h: Include <stdio.h>, so that the caller
	doesn't have to include <stdio.h> before us.
	(clearerr_unlocked, feof_unlocked, ferror_unlocked,
	fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
	fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
	putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
	if not declared, so that we can use getpass.c code from libc without
	rewriting it.
	(flockfile, ftrylockfile, funlockfile): New macros.

2003-10-08  Paul Eggert  <eggert@twinsun.com>

	* modules/getpass: Depend on stdbool.

2003-10-08  Paul Eggert  <eggert@twinsun.com>

	* m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.

2003-10-07  Karl Berry  <karl@gnu.org>

	* config/config.{guess,sub}: update from config.

2003-10-06  Jim Meyering  <jim@meyering.net>
	    Bruno Haible  <bruno@clisp.org>

	This lets translators provide better translations for the
	"Written by ..." part of --version output.
	* lib/version-etc.h: Include stdarg.h.
	(version_etc_copyright): Declare as readonly.
	(version_etc): Make this function variadic with a NULL-terminated list
	of author name strings.
	(version_etc_va): New declaration.
	* lib/version-etc.c: Include stdarg.h, stdlib.h.
	(version_etc_copyright): Declare as readonly.
	(version_etc_va): New function. Provide a different translatable string
	for each possible number of authors < 10. Abbreviate when there are 10
	authors or more.
	(version_etc): Make this function variadic. Call version_etc_va.
	Suggestion from Gary V. Vaughan.

	* lib/long-options.h (parse_long_options): Change prototype: the
	authors string is moved to the end and becomes variadic.
	* lib/long-options.c: Include stdarg.h.
	(parse_long_options): Make this function variadic, too.
	Call version_etc_va, not version_etc.

2003-10-06  Bruno Haible  <bruno@clisp.org>

	* modules/version-etc-2: Remove file.
	* MODULES.html.sh (func_all_modules): Remove version-etc-2.

2003-10-06  Bruno Haible  <bruno@clisp.org>

	* modules/fatal-signal: New file.
	* MODULES.html.sh (func_all_modules): Add fatal-signal.

2003-10-06  Bruno Haible  <bruno@clisp.org>

	* m4/fatal-signal.m4: New file.
	* m4/signalblocking.m4: New file, from GNU gettext.

2003-10-06  Bruno Haible  <bruno@clisp.org>

	* lib/version-etc-2.h: Remove file.
	* lib/version-etc-2.c: Remove file.

2003-10-06  Bruno Haible  <bruno@clisp.org>

	* lib/fatal-signal.h: New file, from GNU gettext.
	* lib/fatal-signal.c: New file, from GNU gettext.

2003-10-05  Paul Eggert  <eggert@twinsun.com>

	* README: Rework advice for preventing empty .o files.
	Don't recommend ELIDE constructs.  Recommend <stddef.h>,
	not <sys/types.h>.

2003-10-04  Karl Berry  <karl@gnu.org>

	* lib/argp*: update from libc.

2003-10-04  Karl Berry  <karl@gnu.org>

	* config/config.{guess,sub}: update from config.

2003-10-02  Bruno Haible  <bruno@clisp.org>

	* modules/lchown (Include): Add lchown.h.
	* modules/time_r (Include): Use "..." syntax.
	* modules/xgetdomainname (Include): Add xgetdomainname.h.

2003-10-01  Simon Josefsson  <jas@extundo.com>

	* MODULES.html.sh (func_all_modules): Move gethostname from section
	'based on' to section 'lacking' POSIX:2001.

2003-10-01  Larry Jones  <lawrence.jones@eds.com>

	* lib/getpass.c (getpass): Use a no-op fseek when switching from input
	to output mode on the same stream.

2003-09-29  Paul Eggert  <eggert@twinsun.com>

	* lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
	Fix arg typo in previous patch.

2003-09-28  Jim Meyering  <jim@meyering.net>

	* lib/error.c: Correct cpp indentation.

2003-09-27  Paul Eggert  <eggert@twinsun.com>

	* modules/free: New file.

2003-09-27  Paul Eggert  <eggert@twinsun.com>

	* m4/free.m4: New file.

2003-09-27  Paul Eggert  <eggert@twinsun.com>

	* lib/minmax.h (MIN, MAX)
	[__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
	Omit the special code that used __typeof__, since we worry that
	it could be more trouble than it's worth.  See:
	http://mail.gnu.org/r/bug-gnulib/2003-01/msg00090.html
	http://mail.gnu.org/r/bug-gnulib/2003-01/msg00095.html

	* lib/free.c: New file.

2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>

	Trivial fixes to Makefile.am parts of module listings.
	* modules/strstr: Append strstr.h to lib_SOURCES.
	* modules/strcase: Likewise, for strcase.h.

2003-09-27  Karl Berry  <karl@gnu.org>

	* config/mkinstalldirs: update from automake.

2003-09-26  Paul Eggert  <eggert@twinsun.com>

	* lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
	(error_tail): Do not loop, reallocating temporary buffer, since
	the output cannot contain more wide characters than the input
	contains bytes, the size must be big enough already.  This avoids
	one potential size overflow calculation.  Check for size overflow
	when calculating temporary buffer size.  Free temporary buffer
	when done, if it was allocated with malloc; this plugs a memory
	leak.  Remove casts from void * to pointers, that are no longer
	needed now that we're assuming C89 or better.

	Merge error changes from glibc.

	* lib/error.c, error.h: Update copyright notice header to match glibc.
	* lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
	(error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
	Disable cancellation while printing error.
	* lib/error.h: Prepend __ to parameter names.

2003-09-26  Jim Meyering  <jim@meyering.net>

	* lib/error.c (error_tail): Move some declarations
	into inner scope where the local variables are used.

2003-09-26  Bruno Haible  <bruno@clisp.org>

	* m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
	stpncpy().
	Don't define stpncpy through config.h; it's now done through stpncpy.h.

2003-09-26  Bruno Haible  <bruno@clisp.org>

	* lib/stpncpy.h (gnu_stpncpy): New declaration.
	(stpncpy): Define as alias for gnu_stpncpy.
	* lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.

2003-09-25  Simon Josefsson  <jas@extundo.com>

	* lib/xgetdomainname.h: New file.
	* lib/xgetdomainname.c: New file.

2003-09-25  Simon Josefsson  <jas@extundo.com>
	    Bruno Haible  <bruno@clisp.org>

	* modules/getdomainname: New file.
	* modules/xgetdomainname: New file.
	* MODULES.html.sh (func_all_modules): Add getdomainname,
	xgetdomainname.

2003-09-25  Simon Josefsson  <jas@extundo.com>
	    Bruno Haible  <bruno@clisp.org>

	* m4/getdomainname.m4: New file.

2003-09-25  Simon Josefsson  <jas@extundo.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/getdomainname.h: New file.
	* lib/getdomainname.c: New file.

2003-09-25  Karl Berry  <karl@gnu.org>

	* lib/argp-fmtstream.c, argp-help.c: update from libc.

2003-09-25  Karl Berry  <karl@gnu.org>

	* config/install-sh: update from automake.

2003-09-25  Bruno Haible  <bruno@clisp.org>

	* modules/version-etc-2: New file, from modules/version-etc with
	modifications.
	* MODULES.html.sh (func_all_modules): Add version-etc-2.

2003-09-25  Bruno Haible  <bruno@clisp.org>

	* lib/version-etc-2.h: New file, from version-etc.h with modifications.
	* lib/version-etc-2.c: New file, from version-etc.c with modifications.

2003-09-24  Simon Josefsson  <jas@extundo.com>

	* modules/xgethostname: Add xgethostname.h.

2003-09-24  Paul Eggert  <eggert@twinsun.com>

	* lib/linebuffer.c (freebuffer): Don't free the argument, just
	the buffer associated with the argument.  Bug reported by
	Simon Josefsson.

2003-09-24  Paul Eggert  <eggert@twinsun.com>

	* README: Document assumptions that 'int' is at least 32 bits
	wide, that integer arithmetic is 2's complement without overflow,
	that there are no holes in integer values, that adding sizes of
	two nonoverlapping objects can't overflow, and that all-bits-zero
	yields scalar zero.  Fix spelling and capitalization typos.

2003-09-19  Karl Berry  <karl@gnu.org>

	* lib/argp.h: update from libc.

2003-09-17  Paul Eggert  <eggert@twinsun.com>

	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
	to avoid spurious warnings like "AC_RUN_IFELSE was called before
	gl_USE_SYSTEM_EXTENSIONS" from autoreconf.

2003-09-17  Paul Eggert  <eggert@twinsun.com>

	* gnulib-tool: Use "test -h", not "test -L", for portability
	to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
	(tags_regexp): Remove, since \| doesn't conform to POSIX.
	(sed_extract_prog): Issue s commands one-by-one, rather than
	using \| in one s command.

2003-09-16  Paul Eggert  <eggert@twinsun.com>

	* lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
	input error, instead of returning NULL the next time we are called
	(and therefore losing track of errno).

2003-09-16  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Warn about duplicated
	dependencies.

2003-09-15  Paul Eggert  <eggert@twinsun.com>

	* modules/argmatch, modules/fatal, modules/obstack,
	modules/xalloc, modules/xgethostname: Sort dependencies by
	importance, not alphabetically.

2003-09-15  Paul Eggert  <eggert@twinsun.com>

	* lib/getndelim2.c (getndelim2): Don't trash errno when a read
	fails, so that the caller gets the proper errno.

	* lib/readutmp.c (read_utmp): Likewise.
	Check for fstat error.  Close stream and free storage
	when failing.

2003-09-14  Karl Berry  <karl@gnu.org>

	* config/srclist.txt (strdup.c): disable for c89 changes.

2003-09-14  Jim Meyering  <jim@meyering.net>

	* lib/getloadavg.c: Correct cpp indentation.
	* lib/strdup.c: Likewise.
	* lib/vasnprintf.c: Likewise.

2003-09-14  Bruno Haible  <bruno@clisp.org>

	* modules/fwriteerror: New file.
	* MODULES.html.sh (func_all_modules): Add fwriteerror.

2003-09-14  Bruno Haible  <bruno@clisp.org>

	* lib/fwriteerror.h: New file.
	* lib/fwriteerror.c: New file.

2003-09-12  Paul Eggert  <eggert@twinsun.com>

	* modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
	modules/xgethostname, modules/xalloc: Depend on exit.

2003-09-12  Paul Eggert  <eggert@twinsun.com>

	* m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.

	* m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
	and AC_MINIX, too, so that their extensions are available.

	* m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
	This macro has been superseded by gl_BACKUPFILE.

	More patches to assume C89 or better.

	* m4/error.m4 (gl_ERROR): Don't check for vprintf.

	* m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
	unconditionally.
	* m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
	* m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
	Include <string.h>, <stdlib.h> unconditionally.
	* m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
	* m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
	* m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
	headers or for string.h.
	* m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
	or strtoul.

	* m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
	headers.
	* m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
	* m4/userspec.m4 (gl_USERSPEC): Likewise.
	* m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
	* m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
	* m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
	* m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
	memcpy, memset.
	(jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
	* m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
	strtol.
	* m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
	* m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
	* m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
	strtoul.

2003-09-12  Paul Eggert  <eggert@twinsun.com>

	* lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
	* lib/obstack.c [!defined _LIBC]: Likewise.
	* lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
	* lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
	* lib/exitfail.c: Don't include stdlib.h; no longer needed.

	More changes to assume C89 or better.

	* lib/error.c (error_tail): Assume vprintf.

	* lib/argmatch.c (getenv): Remove decl.
	* lib/progreloc.c (get_full_program_name): Define via prototype.
	* lib/setenv.c (clearenv): Likewise.
	* lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
	needed.
	* lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
	(malloc, memcpy): Remove decls.
	* lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
	(HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
	Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
	(memcpy): Remove macro.
	(MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
	(__P): Remove.  All uses removed.
	(PTR): Remove.  All uses changed to void *.
	(CHAR_BIT, NULL): Remove.
	(spaces, zeros, memset_space, memset_zero)
	[!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
	Remove.
	(LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
	(memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
	Define with prototype.
	Remove now-unnecessary prototype decl.
	(extra_args_spec): Assume ANSI C.  All uses changed.
	(extra_args_spec_iso): Remove.
	(my_strftime, emacs_strftimeu): Define via prototype.
	* lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
	unconditionally.
	(DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
	* lib/strtoimax.c: Include <stdlib.h> unconditionally.
	(strtoul, strtol): Remove decls.
	* lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
	LONG_MAX): Remove.
	Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
	(LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
	(LOCALE_PARAM_PROTO): New macro.
	(INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
	(INTERNAL (strtol), strtol): Define with a prototype.
	(PARAMS): Remove.  All uses removed.
	* lib/tempname.c: Include <string.h> unconditionally.
	* lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
	* lib/xgethostname.c (main): Define with a prototype.
	* lib/xmalloc.c: Include "xalloc.h" first, to check interface.
	Include <stdlib.h> unconditionally.
	(calloc, malloc, realloc, free): Remove decls.
	* lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
	Include <stdlib.h> unconditionally.  Sort include file names.
	(strtod): Remove.
	(xstrtod): Define with a prototype.
	* lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
	(strtol, strtoul): Remove decls.

2003-09-11  Paul Eggert  <eggert@twinsun.com>

	More patches to assume C89 or better.
	* m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
	* m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
	string.h, memchr, STDC_HEADERS.

2003-09-11  Paul Eggert  <eggert@twinsun.com>

	* lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
	Include <stdlib.h>, <string.h> unconditionally.
	Remove now-unnecessary cast to char *.
	* lib/strnlen.c: Include <string.h> unconditionally.
	* lib/yesno.c (yesno): Define with a prototype.

2003-09-11  Bruno Haible  <bruno@clisp.org>

	* config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.

2003-09-10  Jim Meyering  <jim@meyering.net>

	* lib/error.c: Correct indentation of cpp directives.

2003-09-10  Bruno Haible  <bruno@clisp.org>

	* m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
	* m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
	* m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
	* m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
	* m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
	<stdlib.h> and <string.h> checks.
	* m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
	* m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.

2003-09-10  Bruno Haible  <bruno@clisp.org>

	* lib/strcspn.c: Include <string.h> unconditionally.
	* lib/strpbrk.c: Include <string.h> unconditionally.
	* lib/strstr.c: Include <string.h> unconditionally.
	* lib/unicodeio.c: Include <string.h> unconditionally.
	* lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
	* lib/unsetenv.c: Likewise.
	* lib/xreadlink.c: Include <stdlib.h> unconditionally.
	* lib/yesno.c: Include <stdlib.h> unconditionally.
	(rpmatch): Add prototype.

2003-09-09  Paul Eggert  <eggert@twinsun.com>

	More patches to assume C89 or better.
	* m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
	* m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
	* m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
	or for string.h.
	* m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
	stdlib.h.
	* m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
	C headers.
	* m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
	string.h.
	* m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
	* m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
	* m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
	or for string.h.
	* m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
	* m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
	C headers.
	* m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
	memcpy.
	* m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
	* m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
	* m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
	* m4/memcoll.m4 (gl_MEMCOLL): Likewise.
	* m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
	* m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
	string.h, free.
	* m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
	* m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
	* m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
	C headers, or for string.h.
	* m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
	(gl_PREREQ_OBSTACK): Don't check for stdlib.h.
	* m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
	headers, memory.h, stdlib.h, string.h, strings.h.
	* m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
	* m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
	* m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
	strchr.
	* m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
	headers, memory.h, string.h.
	* m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
	* m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
	free.
	* m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
	headers.
	* m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
	* m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
	* m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
	* m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
	* m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.

2003-09-09  Paul Eggert  <eggert@twinsun.com>

	More K&R removal.

	* lib/acosl.c (main): Use a prototype.
	* lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
	tanl.c: Likewise.

	* lib/getloadavg.c (getloadavg, main): Define via prototypes.

	* lib/getopt.h (struct option.name): Assume C89, and use 'const'.
	(getopt, etopt_long, getopt_long_only, _getopt_internal)
	[defined __GNU_LIBRARY__]: Assume C89, so we can always declare
	with a prototype.
	* lib/getopt.c (const): Remove macro.
	Include <string.h> unconditionally.
	(my_index): Remove; all uses changed to strchr.
	(strlen): Remove decl.
	(exchange): Remove forward decl; no longer needed.
	(exchange, _getopt_initialize, _getopt_internal, getopt, main):
	Define with prototype.
	* lib/getopt1.c (const): Remove macro.
	(getopt_long, getopt_long_only, main): Define with prototype.

	* lib/getugroups.c: Include <string.h> unconditionally.

	* lib/getusershell.c: Include <stdlib.h> unconditionally.
	(getusershell, setusershell, endusershell, readname, main):
	Define with prototypes.

	* lib/group-member.c: Include group-member.h first.
	Include <stdlib.h> unconditionally.

	* lib/hard-locale.c: Include hard-locale.h first.
	Include <stdlib.h>, <string.h> unconditionally.

	* lib/hash.c (free, malloc): Remove decls.
	Include <stdlib.h> unconditionally.

	* lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
	(getenv): Do not declare.

	* lib/idcache.c: Include <string.h> unconditionally.

	* lib/long-options.c: Include long-options.h first, to test interface.
	Include <stdlib.h> unconditionally.

	* lib/makepath.c: Include makepath.h first, to test interface.
	Include <stdlib.h> and <string.h> unconditionally.

	* lib/linebuffer.c: Include <stdlib.h>.
	(free): Remove decl.

	* lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
	stddef.h. rpl_malloc returns void *, not char *.
	* lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
	prototype.

	* lib/md5.h: Include <limits.h> unconditionally.
	(UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
	(__P): Remove; all uses removed.
	* lib/md5.c: Include "md5.h" first.
	(md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
	md5_buffer, md5_process_bytes, md5_process_block):
	Define with prototypes.
	* lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
	* lib/sha.c: Include "sha.h" first.
	Include <stdlib.h>, <string.h> unconditionally.

	* lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
	* lib/memcmp.c (__ptr_t): Likewise.
	* lib/memrchr.c (__ptr_t): Likewise.
	* lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
	Include <string.h> unconditionally.
	* lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
	* lib/memchr.c: Include <stdlib.h> unconditionally.
	* lib/memchr.c (LONG_MAX): Remove.
	* lib/memrchr.c (LONG_MAX): Likewise.
	* lib/memchr.c (__memchr): Define via a prototype.
	* lib/memrchr.c (__memrchr): Likewise.
	* lib/memcmp.c (__P): Remove, and remove all uses.
	(memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
	Remove forward decls; no longer needed.
	* lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
	Use types required by C89 in prototype.

	* lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
	* lib/savedir.c: Likewise.
	* lib/mkdir.c (free): Remove decl.
	* lib/rmdir.c (rmdir): Define with a prototype.
	* lib/savedir.c: Include savedir.h first, to test interface.

	* lib/mktime.c (STDC_HEADERS): Remove.
	Include <stdlib.h>, <string.h> unconditionally.

	* lib/modechange.c: Include <stdlib.h> unconditionally.
	(malloc): Remove decl.

	* lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
	(free): Remove decl.

	* lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
	Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
	(This type really should be intptr_t, but that's a C99ism.)
	(_obstack_memcpy): Remove: all uses changed to memcpy.
	Include <string.h> unconditionally.
	(struct obstack): Assume __STDC__ for types of members
	chunkfun, freefun, extra_arg.
	(_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
	_obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
	obstack_begin, obstack_specify_allocation,
	obstack_specify_allocation_with_arg, obstack_chunkfun,
	obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
	Remove unprototyped decls and the macros that use them.
	* lib/obstack.c (POINTER): Remove.  All uses changed to void *.
	(obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
	_obstack_begin, _obstack_begin_1, _obstack_allocated_p)
	(defined __STDC__ && __STDC__)]:
	Remove nonprototyped code.
	Include <stdlib.h> unconditionally.
	(_obstack_begin, _obstack_begin_1, _obstack_newchunk,
	_obstack_allocated_p, _obstack_free, obstack_free,
	_obstack_memory_used, print_and_abort):
	Define using prototypes.
	(obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
	obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
	obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
	obstack_next_free, obstack_object_size, obstack_room) [0]:
	Remove unused, unprototyped code.

	* lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.

	* lib/physmem.c (physmem_total, physmem_available, main): Define
	with prototypes.

	* lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
	(main): Define with a prototype.

	* lib/posixver.c (getenv): Remove decl.

	* lib/putenv.c (malloc): Returns void *, not char *.
	Include <string.h> unconditionally.
	(strchr, memcpy, NULL): Do not define.

	* lib/readtokens.c: Include readtokens.h first, to test interface.
	Include <stdlib.h>, <string.h> unconditionally.
	(init_tokenbuffer): Define with a prototype.

	* lib/regex.c (PARAMS): Remove.  All uses removed.
	All uses of _RE_ARGS removed, too.
	Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
	unconditionally.
	(bzero): Assume memset exists.
	(memcmp, memcpy, NULL): Remove.
	(SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
	char, or assignments to local vars of type signed char.
	(init_syntax_once, PREFIX(extract_number_and_incr),
	PREFIX(print_partial_compiled_pattern),
	PREFIX(print_compiled_pattern), PREFIX(print_double_string),
	convert_mbs_to_wcs, print_fastmap, re_set_syntax,
	PREFIX(regex_grow_registers), PREFIX(regex_compile),
	PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
	PREFIX(insert_op2), PREFIX(at_begline_loc_p),
	PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
	wcs_compile_range, byte_compile_range, truncate_wchar,
	PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
	re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
	count_mbs_length, wcs_re_match_2_internal,
	byte_re_match_2_internal, PREFIX(group_match_null_string_p),
	PREFIX(alt_match_null_string_p),
	PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
	re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
	regfree, PREFIX(extract_number)): Define with prototype.  Remove
	now-unnecessary declaration, if any.
	(byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
	regcomp, regexec):
	Remove now-unnecessary casts among pointer types.
	* lib/regex.h (_RE_ARGS): Remove.  All uses removed.

	* lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
	(free): Remove decl.

	* lib/rpmatch.c: Include <stdlib.h> unconditionally.

	* lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
	(free): Remove decl.

	* lib/save-cwd.c: Include <stdlib.h> unconditionally.
	* lib/xgetcwd.c: Likewise.

	* lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
	(free): Remove decl.

	* lib/strchrnul.c (strchrnul): Define with a prototype.
	Fix bug: c_in was not converted to char before searching.

	The following changes are not K&R related:

	* lib/group-member.h: Include <sys/types.h>, so that this file is
	self-contained.
	* lib/makepath.h: Likewise.

	* lib/getusershell.c (readname, default_index, line_size, readname):
	Use size_t, not int, for sizes.
	(readname): If the size overflows, report an error instead of
	looping forever.

2003-09-09  Paul Eggert  <eggert@twinsun.com>

	* config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
	libc.

2003-09-09  Paul Eggert  <eggert@twinsun.com>

	* README: New section: portability guidelines.

2003-09-09  Derek Robert Price  <derek@ximbiot.com>

	* m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
	C89 spec.

2003-09-09  Derek Robert Price  <derek@ximbiot.com>

	* lib/getndelim2.c: Assume stdlib.h per the C89 spec.

2003-09-08  Paul Eggert  <eggert@twinsun.com>

	Assume C89 or better; remove K&R cruft.
	A few of these changes were first proposed by Derek Robert Price
	in <http://mail.gnu.org/r/bug-gnulib/2003-07/msg00105.html>.

	* lib/addext.c: Include <string.h> unconditionally.
	* lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
	Don't declare getenv or malloc.

	* lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
	(POINTER_TYPE, pointer): Remove; all uses changed to void *.
	(NULL): Remove.
	(find_stack_direction, alloca): Use prototypes.

	* lib/atexit.c (atexit): Define using a prototype.

	* lib/basename.c, dirname.c, stripslash.c:
	Include <string.h> unconditionally.

	* lib/bcopy.c: Include <stddef.h>.
	(bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.

	* lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.

	* lib/error.h (error, error_at_line, error_print_progname)
	[! (defined (__STDC__) && __STDC__)]: Remove decls.
	* lib/error.c: Include error.h first, to check interface.
	Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
	(VA_START): Remove; all uses changeed to va_start.
	(exit, strerror): Remove decls.
	(error_print_progname): Prototype uncondionally.
	Don't include <errno.h>; no longer needed.
	(private_strerror): Remove.
	(error_tail): Always define.
	(error, error_at_line): Assume C89 or better; always use prototypes.
	* lib/fatal.c: Include "fatal.h" first, to test interface.
	Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
	(VA_START): Remove; all uses changed to va_start.
	[! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
	this case.
	(exit): Remove decl.
	(fatal): Prototype unconditionally.  Assume va_start works.
	Abort at end, to pacify gcc.

	* lib/euidaccess.c (main): Define with a prototype.

	* lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.

	* lib/exitfail.c: Include <stdlib.h> unconditionally.

	* lib/fnmatch_.h (__P): Remove.  All uses changed to assume
	prototypes.
	* lib/fnmatch.c: Include fnmatch.h first, to test interface.
	Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
	(getenv): Remove decl.
	(fnmatch): Define using a prototype.
	* lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
	(FCT): Define using a prototype.

	* lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.

	* lib/gethostname.c: Include <stddef.h>.
	(gethostname): Define with prototype.  Length is size_t, not int.

2003-09-08  Paul Eggert  <eggert@twinsun.com>

	Assume C89 or better; remove K&R cruft.
	* m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
	* m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
	string.h, getenv, malloc.
	* m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
	headers.
	* m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
	* m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
	do not check for strerror.
	* m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
	* m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
	* m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
	do not check for doprnt or vprintf.
	* m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
	* m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.

2003-09-08  Paul Eggert  <eggert@twinsun.com>

	* lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
	getversion.c should have been removed then, but was accidentally
	preserved.

	* lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
	(utime_null): Fix typo: 'st' was sometimes called 'sb'.

2003-09-08  Karl Berry  <karl@gnu.org>

	* config/config.sub, config.guess, srclistvars.sh: update from savannah
		config, forget about prep.

	* config/depcomp, missing: update from automake.

2003-09-07  Paul Eggert  <eggert@twinsun.com>

	* modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
	<http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.

2003-09-07  Paul Eggert  <eggert@twinsun.com>

	* lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
	copy_tm_result.  Bug reported by Simon Josefsson in
	<http://mail.gnu.org/r/bug-gnulib/2003-09/msg00028.html>.

2003-09-06  Paul Eggert  <eggert@twinsun.com>

	* m4/time_r.m4: New file.
	* m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
	* m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
	is. Check for timegm declaration.
	(gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
	Do not check for gmtime_r.
	Replace mktime if __mktime_internal does not exist and if mktime
	hasn't been replaced already.

2003-09-06  Paul Eggert  <eggert@twinsun.com>

	* lib/time_r.c, lib/time_r.h: New files.

	* lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
	__localtime_r.
	(__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
	(__mktime_internal) [!defined _LIBC]: Now extern, not static.

	* lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
	__gmtime_r.
	(my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
	(__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
	Include <time_r.h>.

	* lib/timegm.c: Switch to glibc implementation, with the following
	changes:
	[defined HAVE_CONFIG_H]: Include <config.h>.
	[!defined _LIBC]: Include "timegm.h" rather than <time.h>.
	(__mktime_internal) [!defined _LIBC]: New decl.
	(__gmtime_r) [!defined _LIBC]: New macro and function.
	(timegm): Use a prototype, since gnulib assumes C89.
	Do not bother declaring tmp to be const, as it's not really usefu.
	* lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
	(timegm): Declare only if HAVE_DECL_TIMEGM.

2003-09-06  Paul Eggert  <eggert@twinsun.com>

	* MODULES.html.sh (func_all_modules): Add time_r.
	* modules/time_r: New file.
	* modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
	* modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".

2003-09-03  Paul Eggert  <eggert@twinsun.com>

	* lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
	Bug reported by Lute Kamstra in
	<http://mail.gnu.org/r/bug-gnulib/2003-09/msg00003.html>.

	* lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
	"yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
	course with correspondingly smaller numbers for tomorrow and
	yesterday.  From Tadayoshi Funaba.  Originally installed into
	sh-utils on 1999-08-07, but the patch got lost (I guess during the
	coreutils merge?).

2003-08-31  Simon Josefsson  <jas@extundo.com>

	* modules/timegm: New file.
	* MODULES.html.sh (func_all_modules): Add timegm.

2003-08-31  Simon Josefsson  <jas@extundo.com>

	* m4/timegm.m4: New file.

2003-08-31  Simon Josefsson  <jas@extundo.com>

	* lib/timegm.h: New file.
	* lib/timegm.c: New file.  Based on
	wget-1.8.2/src/http.c:mktime_from_utc.

2003-08-31  Karl Berry  <karl@gnu.org>

	* lib/argp.h: update from libc.

2003-08-28  Bruno Haible  <bruno@clisp.org>

	* m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
	This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
	followed by '#define fnmatch fnmatch_posix' gives an error.

2003-08-28  Bruno Haible  <bruno@clisp.org>

	* lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
	warning on QNX, which defines O_BINARY to 000000.

2003-08-27  Jim Meyering  <jim@meyering.net>

	* m4/mkstemp.m4: Require that the system mkstemp be able to create
	70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
	would fail after 32.  Reported by Danny Levinson.  Details here:
	http://mail.gnu.org/r/bug-coreutils/2003-08/msg00124.html

2003-08-24  Bruno Haible  <bruno@clisp.org>

	* lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
	MSVC7 <stdio.h> is included later.

2003-08-22  Simon Josefsson  <jas@extundo.com>

	* modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.

2003-08-20  Karl Berry  <karl@gnu.org>

	* m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.

2003-08-20  Bruno Haible  <bruno@clisp.org>

	* modules/progname: New file.
	* MODULES.html.sh (func_all_modules): Add progname.

2003-08-20  Bruno Haible  <bruno@clisp.org>

	* lib/progname.h: New file, from GNU gettext.
	* lib/progname.c: New file, from GNU gettext.
	* lib/progreloc.c: New file, from GNU gettext.

2003-08-19  Jim Meyering  <jim@meyering.net>

	* m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
	http://mail.gnu.org/r/bug-gnulib/2003-08/msg00155.html

2003-08-19  Bruno Haible  <bruno@clisp.org>

	* m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
	more.

2003-08-19  Bruno Haible  <bruno@clisp.org>

	* lib/xstrdup.c: Assume <string.h> exists.

2003-08-18  Paul Eggert  <eggert@twinsun.com>

	* modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
	in makefile rules.

2003-08-18  Jim Meyering  <jim@meyering.net>

	* m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
	* m4/lib-ld.m4: Likewise.

2003-08-18  Jim Meyering  <jim@meyering.net>

	* lib/setenv.h: Indent nested cpp directive.
	* lib/vasnprintf.c: Remove trailing blanks.

2003-08-17  Simon Josefsson  <jas@extundo.com>

	* modules/xstrndup: New file.
	* MODULES.html.sh (func_all_modules): Add xstrndup.

2003-08-17  Simon Josefsson  <jas@extundo.com>

	* modules/argp: Fix autoconf macro name. Add more dependencies.

2003-08-17  Simon Josefsson  <jas@extundo.com>

	* m4/xstrndup.m4: New file.

2003-08-17  Simon Josefsson  <jas@extundo.com>

	* m4/argp.m4: New file.

2003-08-17  Simon Josefsson  <jas@extundo.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/xstrndup.h: New file.
	* lib/xstrndup.c: New file.

2003-08-17  Bruno Haible  <bruno@clisp.org>

	* modules/strndup (Files, Include): Add lib/strndup.h.

2003-08-17  Bruno Haible  <bruno@clisp.org>

	* modules/euidaccess (Files): Add lib/euidaccess.h.

2003-08-17  Bruno Haible  <bruno@clisp.org>

	* lib/strndup.h: New file.

2003-08-17  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
	like AC_GNU_SOURCE.
	* modules/extensions (configure.ac): Comment out the invocation of
	gl_USE_SYSTEM_EXTENSIONS.

2003-08-16  Paul Eggert  <eggert@twinsun.com>

	Merges from coreutils, etc.
	* m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
	error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
	* m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
	fixing a typo.
	* m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
	* m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.

2003-08-16  Paul Eggert  <eggert@twinsun.com>

	Document merge from coreutils.
	* modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
	* modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
	* modules/utime: Add m4/utimes-null.m4.

2003-08-16  Paul Eggert  <eggert@twinsun.com>

	* lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
	space, undoing this 2003-08-12 change:
	<http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>

2003-08-16  Paul Eggert  <eggert@twinsun.com>

	* config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
	strtoul.c from libc, undoing this 2003-08-12 change:
	<http://mail.gnu.org/r/bug-gnulib/2003-08/msg00080.html>

2003-08-16  Jim Meyering  <jim@meyering.net>

	Merges from coreutils.
	* m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
	prefix.  Adjust cache variables similarly.  Create 500 rather than
	just 300 files, to exercise bug on Darwin6.5, too.
	* m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
	$missing_dir.
	* m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
	AM_SYS_POSIX_TERMIOS.
	Reported by mkc@mathdogs.com.
	Also change use of $am_cv_sys_posix_termios
	to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
	* m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
	and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
	* m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
	in /proc/mounts until it finds one with matching device number.  This
	is unnecessary when the FILE argument *is* a mount point.  No stat call
	is necessary in that case.  So, disable the statvfs-testing code on
	systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
	as RedHat bug# 84846.
	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
	to 1MB, so as not to render systems with no stack size limit (e.g.,
	linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
	Include <unistd.h>.  On some systems,
	it is required for the definition of _SC_PAGESIZE.

2003-08-16  Jim Meyering  <jim@meyering.net>

	Merge from coreutils.
	* lib/xstrtoimax.c: #else #if -> #elif.
	* lib/xstrtoumax.c: Likewise.

2003-08-16  Jim Meyering  <jim@meyering.net>

	* m4/utimes.m4 (gl_FUNC_UTIMES): New file.
	* m4/utimes.m4: Removed.
	* m4/utimes-null.m4: Renamed from utimes.m4.

	* m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
	to 1MB, so as not to render systems with no stack size limit (e.g.,
	linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
	Include <unistd.h>.  On some systems,
	it is required for the definition of _SC_PAGESIZE.

2003-08-16  Jim Meyering  <jim@meyering.net>
	and Paul Eggert  <eggert@cs.ucla.edu>

	Merges from coreutils, etc.

	* m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
	using the latest version from cvs.  This avoids problems with #line
	directives using a vendor (Sun) compiler.
	(jm_MACROS): Bump prerequisite from 2.52g to 2.57.
	Don't set GETGROUPS_LIB here; now it's
	done via getgroups.m4's wrapper function.
	AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
	rather than just in sh-util/configure.in, so that the
	now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
	same.
	Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
	AC_FUNC_GETLOADAVG where to find getloadavg.c.
	Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
	UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
	gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
	Remove code that is now done by the newly-required macros.
	Append $(EXEEXT) to DF_PROG.
	AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
	Do not invoke or require the following here,
	since prereq.m4 or some gnulib .m4 now does this for us:
	gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
	jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
	jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
	jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
	jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
	AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
	vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
	AC_FUNC_OBSTACK.
	Do not replace the following functions, as this is now the job
	of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
	getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
	strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
	atexit getpass, strdup, getpagesize.
	Replace 'raise'.
	Do not check for the following functions, as this is now the job
	of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
	getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
	setregid.
	(jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
	Check for sys/sysctl.h.
	(jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
	jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
	of checking for ssize_t ourselves.

	* m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
	Require every macro that gnulib/modules/* suggests for us.
	(jm_PREREQ_ADDEXT): New macro.
	(jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
	Require jm_AC_TYPE_LONG_LONG instead of invoking it.

	* m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
	(gl_PHYSMEM): Use it.
	Also check for `table' function.
	Check for new headers and functions.
	Add check for sys/sysmp.h.
	With suggestions from Kaveh Ghazi.
	Ignore headers that are present but cannot be compiled.  This
	avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
	C 5.4.

2003-08-15  Paul Eggert  <eggert@twinsun.com>

	Document merge from coreutils.
	* modules/userspec: Depend on posixver.
	* modules/strftime: Depend on tzset.

2003-08-15  Paul Eggert  <eggert@twinsun.com>

	* lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
	rather than tab, after '#' in shell-script copyright notices.
	Suggested by Bruno Haible.

2003-08-15  Paul Eggert  <eggert@twinsun.com>

	* config/srclist-update: Use three spaces, rather than tab, after '#'
	in shell-script copyright notices.  Suggested by Bruno Haible.
	Remove unnecessary parenthesization in regular expression.

2003-08-15  Jim Meyering  <jim@meyering.net>

	Merge from coreutils.
	* lib/xgethostname.c: Include <stdlib.h>.
	(xghostname): Don't exit for anything other than memory-related
	failure; just return NULL.
	* lib/userspec.c: Include "posixver.h".
	(parse_user_spec): Accept `.' as a separator only
	in pre-POSIX-200112 mode.
	* lib/strtoimax.c: Use #elif rather than #else #if.
	* lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
	Remove function, now that we can rely on a working tzset function.
	[!_LIBC]: Ensure that the required autoconf test has been run.
	[!defined _NL_CURRENT && HAVE_STRFTIME]:
	Use underlying_strftime for %r.
	* lib/sha.c: Merge in some clean-up and optimization changes from
	glibc.
	* lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
	Ensure that it is a multiple of 64.
	Rearrange loop exit tests so as to avoid performing an
	additional fread after encountering an error or EOF.
	* lib/realloc.c: Update copyright date.

2003-08-15  Jim Meyering  <jim@meyering.net>
	and Paul Eggert  <eggert@twinsun.com>

	Merge from coreutils.
	* lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
	member but strut utmpx does not.  Needed for AIX 4.3.3.
	(UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.

2003-08-15  Jim Meyering  <jim@meyering.net>
	and Paul Eggert  <eggert@cs.ucla.edu>

	Merges from coreutils, etc.
	* m4/strftime.m4 (_jm_STRFTIME_PREREQS):
	Require gl_FUNC_TZSET_CLOBBER.
	* m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
	ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
	members.

2003-08-14  Paul Eggert  <eggert@twinsun.com>

	Help the merge from coreutils.
	* m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
	(AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
	* m4/tzset.m4: Use it too.

2003-08-14  Paul Eggert  <eggert@twinsun.com>

	* modules/tzset: New file.

2003-08-14  Jim Meyering  <jim@meyering.net>

	Merges from coreutils.
	* modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
	variable names, rather than @FNMATCH_H@.
	* modules/alloca: Likewise for $(ALLOCA_H).

	* modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
	the three copies of the literal target, `fnmatch.h'.
	* modules/alloca (alloca.h): Likewise.

2003-08-14  Jim Meyering  <jim@meyering.net>

	Merge from coreutils.
	* m4/tzset.m4: New file.
	* m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
	MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
	otherwise, AIX 5.1 systems would end up using the latter.
	MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
	whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
	code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
	code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.

2003-08-14  Jim Meyering  <jim@meyering.net>

	Merge from coreutils.
	* lib/obstack.h: Whitespace changes.
	* lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
	and xcalloc return values.
	(read_filesystem_list) [MOUNTED_GETFSSTAT]:
	Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
	hang on OSF/1 5.1 for DIR on both local and remote file systems.
	Reported by (and fix confirmed by) Nelson H. F. Beebe.
	(read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
	error from mntctl.
	Use mntctl's return value to drive the entry-processing loop, since
	we can't rely on the value of the vmt_length member in the last
	entry.  On some systems doing so could result in exhausting
	virtual memory.  Based in part on a patch from Mike Jetzer.

2003-08-14  Jim Meyering  <jim@meyering.net>
	and Paul Eggert  <eggert@twinsun.com>

	Merges from coreutils, plus other fixes.
	* lib/physmem.c: Merge in portability changes from gcc/libiberty
	to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
	for credits and details.  Thanks to Kaveh Ghazi for helping
	to keep these files in sync.
	(ARRAY_SIZE): Define it.
	(physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
	* lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
	(memcasecmp): Don't assume size_t fits in unsigned int.
	Remove casts and duplicate code.
	* lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
	(memcpy): Remove definition.
	Merge in some clean-up and optimization changes from glibc.
	[BLOCKSIZE]: Move definition to top of file.
	Ensure that it is a multiple of 64.
	Rearrange loop exit tests so as to avoid performing an
	additional fread after encountering an error or EOF.
	* lib/md5.h (md5_uintptr): Define.
	* lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
	return to the initial working directory.  Preserve errno
	for caller.
	* lib/idcache.c: Include "xalloc.h".
	(xmalloc, xrealloc): Remove decls.
	(getuser): Remove casts no longer required in C89.
	* lib/human.c: Include stdio.h, for sprintf.
	* lib/group-member.c: Include "xalloc.h".
	(xmalloc, xrealloc): Remove decls.
	(get_group_info): Remove casts no longer required in C89.
	* lib/getusershell.c (readname): Remove casts no longer required in
	C89.
	* lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
	* lib/getline.c: Whitespace fix, from coreutils.

2003-08-13  Paul Eggert  <eggert@twinsun.com>

	* m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
	Check for isascii.

	* m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
	lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
	Undo previous (whitespace-only) change.

2003-08-13  Paul Eggert  <eggert@twinsun.com>

	* lib/exclude.c: Include <ctype.h>
	(IN_CTYPE_DOMAIN): New macro.
	(is_space): New fn.
	(add_exclude_file): If LINE_END is a space, ignore trailing spaces
	and empty lines.

	* lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
	Undo previous (whitespace-only) change.

2003-08-13  Paul Eggert  <eggert@twinsun.com>

	* config/srclist-update: Change update back to the old behavior,
	leaving whitespace alone.  Use one 'sed' command rather than a
	pipeline.
	(fixlicense): Now a variable, not a function.
	(remove_trailing_blanks): Remove.
	(fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
	* config/config.guess, config.sub, install-sh, missing, texinfo.tex:
	Undo previous (whitespace-only) change.

2003-08-12  Paul Eggert  <eggert@twinsun.com>

	Merge from coreutils.
	* modules/euidaccess: Add lib_SOURCES, include for new
	file euidaccess.h

2003-08-12  Paul Eggert  <eggert@twinsun.com>

	* m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
	lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
	Normalize leading white space and remove trailing white space.

	Merge from coreutils
	* m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.

	* m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
	0.12.1.  These files are now being upgraded automatically by
	../config/srclist-update.

2003-08-12  Paul Eggert  <eggert@twinsun.com>

	* lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
	Normalize leading white space and remove trailing white space.
	* lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
	notice, as per ../config/srclist-update.

	Merge from coreutils.
	* lib/euidaccess.h: New file.
	* lib/euidaccess.c: Include it.
	* lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
	vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
	* lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.

2003-08-12  Paul Eggert  <eggert@twinsun.com>

	* config/srclist-update: Add copyright notice.
	(remove_id_lines, remove_trailing_blanks): New constants.
	(fixfile): Use them to normalize spacing a bit in copied files.
	* config/config.guess, config.sub, install-sh, missing, texinfo.tex:
	Normalize leading white space and remove trailing white space.

	* config/texinfo.tex: Sync with texinfo.

	* config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
	strtoul.c from libc, to merge coreutils whitespace changes.

	* config/srclist.txt: Get the following m4 files from gettext:
	codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
	inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
	longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
	wint_t.m4.

2003-08-12  Karl Berry  <karl@gnu.org>

	* config/srclist.txt: can't sync vasnprintf.c any more, changes have
	been made.

2003-08-11  Paul Eggert  <eggert@twinsun.com>

	* modules/gnu-source, m4/gnu-source.m4:
	Remove; we're assuming Autoconf 2.54 or later now.
	Suggested by Bruno Haible.
	* MODULES.html.sh (func_all_modules): Remove gnu-source.

2003-08-11  Bruno Haible  <bruno@clisp.org>

	* m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.

2003-08-11  Bruno Haible  <bruno@clisp.org>

	* lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
	(vasnprintf): Use it instead of wcslen.

2003-08-11  Bruno Haible  <bruno@clisp.org>

	* lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
	value to ensure that _Bool promotes to int. Use #define for _Bool when
	using the Solaris C compiler. Adds comments suggested by Paul Eggert.

2003-08-10  Karl Berry  <karl@gnu.org>

	* lib/regex.h: update from libc (whitespace fix).

2003-08-09  Paul Eggert  <eggert@twinsun.com>

	Merge some files from coreutils.  These changes were
	originally made by Jim Meyering.
	* lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
	many older Unixes require this.
	* lib/alloca.c (alloca): Remove cast to argument of free;
	no longer needed in C89.
	* lib/alloca_.h, regex.h: Fix white space to match
	what GNU indent does.

2003-08-09  Paul Eggert  <eggert@twinsun.com>

	* m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
	apparently Emacs's Unicode mode got confused before my 2003-08-05
	checkin.

2003-08-08  Paul Eggert  <eggert@twinsun.com>

	* m4/extensions.m4: New file.
	* m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
	Require gl_USE_SYSTEM_EXTENSIONS.
	* m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
	Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.

2003-08-08  Paul Eggert  <eggert@twinsun.com>

	* MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
	* modules/extensions, modules/gnu-source: New files.
	* modules/timespec, modules/unlocked-io: Depend on extensions.

2003-08-07  Paul Eggert  <eggert@twinsun.com>

	* modules/restrict: New file.
	* MODULES.html.sh (func_all_modules): Add restrict.
	* modules/regex: Depend on restrict.

2003-08-07  Paul Eggert  <eggert@twinsun.com>

	* m4/restrict.m4: New file.
	* m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.

2003-08-07  Bruno Haible  <bruno@clisp.org>

	* modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
	lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).

2003-08-07  Bruno Haible  <bruno@clisp.org>

	* m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
	makes the module 'getndelim2' compatible with the module 'getline'.

2003-08-05  Paul Eggert  <eggert@twinsun.com>

	* m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
	byte with "\201" to avoid glitches when editing that source file
	with multi-gnome-terminal.

2003-08-05  Paul Eggert  <eggert@twinsun.com>

	* lib/bumpalloc.h: Remove.

2003-08-05  Paul Eggert  <eggert@twinsun.com>

	* MODULES.html.sh (func_all_modules): Remove bumpalloc.
	* modules/bumpalloc: Remove.

2003-08-04  Paul Eggert  <eggert@twinsun.com>

	* lib/getloadavg.c: Change copyright notice and spacing to conform to
	GNU coding style.

	Merge from coreutils.
	* lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
	1. From glibc.
	* lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
	from Karl Berry, implemented by Jim Meyering.
	* lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
	from Dmitry V. Levin.
	Remove anachronistic cast of xrealloc.
	* lib/fnmatch_.h (__const): Remove.  Use 'const'.
	* lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
	type. Otherwise, it wouldn't compile with at least /bin/cc on
	ymp-cray-unicos9.0.2.X.
	Combine two mostly-identical uses of alloca into one.
	Thanks to the Cray-Cyber project for access to a Cray Y-MP.

2003-08-04  Dave Love  <d.love@dl.ac.uk>

	[From Emacs.]

	* lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
	#if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
	F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
	obsolete NLIST_NAME_UNION.
	[__GNU__]: Undef BSD and FSCALE.
	[!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.

2003-08-03  Paul Eggert  <eggert@twinsun.com>

	* lib/stdbool_.h (_Bool): Make it signed char, instead of
	an enum type, so that it's guaranteed to promote to int.  See:
	<http://mail.gnu.org/r/bug-gnulib/2003-07/msg00124.html>

2003-08-03  Karl Berry  <karl@gnu.org>

	* config/depcomp: update from automake.

2003-07-31  Paul Eggert  <eggert@twinsun.com>

	* lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
	(strerror): Don't assume that a printable int fits in 14 bytes.

2003-07-31  Bruno Haible  <bruno@clisp.org>

	* modules/getpass-gnu: New file.
	* MODULES.html.sh (func_all_modules): Add getpass-gnu.

2003-07-31  Bruno Haible  <bruno@clisp.org>

	* m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.

2003-07-24  Karl Berry  <karl@gnu.org>

	* config/missing: update from automake.

2003-07-24  Derek Robert Price  <derek@ximbiot.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/getline.h (getline, getdelim): Change return type to ssize_t.
	* lib/getline.c (getline, getdelim): Likewise.
	Remove _GNU_SOURCE define; now it's defined in config.h through
	m4/getline.m4.

2003-07-23  Karl Berry  <karl@gnu.org>

	* config/config.sub: update from prep.

2003-07-22  Paul Eggert  <eggert@twinsun.com>

	* modules/xalloc (Depends-on): Add exitfail.
	* modules/xmemcoll: Likewise.

2003-07-22  Paul Eggert  <eggert@twinsun.com>

	* lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
	over-parenthesization in macros.

	Sync with coreutils.

	* lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
	required by C99.

	Use `exit_failure' for xalloc and xmemcoll instead of their own
	private exit-failure variables.
	* lib/xalloc.h (xalloc_exit_failure): Remove.
	* lib/xmalloc.c: Likewise.  Include exitfail.h.
	(xalloc_die): Use exit_failure instead of xalloc_exit_failure.
	* lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
	* lib/xmemcoll.c: Likewise.  Include exitfail.h.
	(xmemcoll): Use exit_failure instead of xalloc_exit_failure.

2003-07-20  Jim Meyering  <jim@meyering.net>

	* modules/closeout (Depends-on): Add exitfail.
	Suggestion from Bruno Haible.

2003-07-19  Karl Berry  <karl@gnu.org>

	* config/config.sub: update from prep.

2003-07-18  Paul Eggert  <eggert@twinsun.com>

	* lib/closeout.h (close_stdout_set_status, close_stdout_status):
	Remove.
	* lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
	to test that it can stand by itself.  Include "exitfail.h".
	Clients should set exit_failure instead.
	(EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.

2003-07-18  Bruno Haible  <bruno@clisp.org>

	* modules/getndelim2: New file.
	* modules/getline: Share files with module getndelim2.
	* modules/getnline: Depend on getndelim2 instead of sharing files with
	it. Add getnline.c to lib_SOURCES.
	* MODULES.html.sh (func_all_modules): Add getndelim2.

2003-07-18  Bruno Haible  <bruno@clisp.org>

	* m4/getndelim2.m4: New file.
	* m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
	invoke gl_PREREQ_GETNDELIM2.
	(gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
	gl_PREREQ_GETNDELIM2.
	* m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
	gl_GETNDELIM2.

2003-07-18  Bruno Haible  <bruno@clisp.org>

	* lib/getndelim2.h: New file.
	* lib/getndelim2.c: Make into a module of its own. Include config.h,
	getndelim2.h.
	(getndelim2): Make non-static. Change return type to ssize_t.
	* lib/getline.h: Change argument names.
	* lib/getline.c: Include getndelim2.h instead of getndelim2.c.
	* lib/getnline.c: Include getndelim2.h.

2003-07-18  Andreas Schwab  <schwab@suse.de>

	* lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.

2003-07-17  Karl Berry  <karl@gnu.org>

	* config/config.sub: update from prep.

2003-07-17  Bruno Haible  <bruno@clisp.org>

	* modules/getnline: New file.
	* modules/getline: Add lib/getndelim2.c to source file list.
	* MODULES.html.sh (func_all_modules): Add getnline.

2003-07-17  Bruno Haible  <bruno@clisp.org>

	* m4/getnline.m4: New file.

2003-07-17  Bruno Haible  <bruno@clisp.org>

	* m4/Makefile.am.in: Remove file.
	* m4/Makefile.am: Remove file.
	* m4/Makefile.in: Remove file.

2003-07-17  Bruno Haible  <bruno@clisp.org>

	* lib/getnline.h: New file.
	* lib/getnline.c: New file.
	* lib/getndelim2.c: New file, extracted from getline.c.
	(getndelim2): Renamed from getdelim2, with added nmax argument.
	* lib/getline.c: Include getndelim2.c.
	(getdelim2): Moved out to getndelim2.c.
	(getline, getdelim): Update.

2003-07-17  Bruno Haible  <bruno@clisp.org>

	* lib/Makefile.am: Remove file.
	* lib/Makefile.in: Remove file.

2003-07-17  Bruno Haible  <bruno@clisp.org>

	* configure.in: Remove file.
	* Makefile.in: Remove file.

2003-07-17  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh: Put the </BODY> right before </HTML>.

2003-07-16  Karl Berry  <karl@gnu.org>

	* config/srclist-update: was running fixlicense twice, which caused
		texinfo.tex to be nullified for some reason.  Simplify,
		$gplsrc is no longer needed as far as I can see?

2003-07-16  Jim Meyering  <jim@meyering.net>

	* modules/save-cwd: Depend on xgetcwd.  From Derek Price.

2003-07-15  Paul Eggert  <eggert@twinsun.com>

	* config/srclist.txt: Get the following files from gettext-runtime/intl
	instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
	ref-del.sin.  From Bruno Haible.
	* config/srclist-update (fixfile): Change grep pattern again, since the
	previous fix didn't work (there was another trailing $).  Use
	'[$]' to escape the $s.

2003-07-15  Karl Berry  <karl@gnu.org>

	* lib/vasnprintf.c: update from gettext.

2003-07-15  Karl Berry  <karl@gnu.org>

	* config/srclist-update (fixfile): Change grep pattern, since 'Id'
	gets expanded when surrounded by '$'.

2003-07-15  Jim Meyering  <jim@meyering.net>

	* modules/save-cwd: Don't depend on error.  From Derek Price.

2003-07-15  Jim Meyering  <jim@meyering.net>

	* lib/makepath.c (make_path): Enclose diagnostic in _(...).

2003-07-14  Simon Josefsson  <jas@extundo.com>

	* modules/mempcpy: New file.
	* MODULES.html.sh (func_all_modules): Add mempcpy.

2003-07-14  Simon Josefsson  <jas@extundo.com>

	* m4/mempcpy.m4: New file.

2003-07-14  Simon Josefsson  <jas@extundo.com>

	* lib/mempcpy.h: New file.
	* lib/mempcpy.c: New file.

2003-07-14  Paul Eggert  <eggert@twinsun.com>

	* modules/getdate, modules/posixtm: Depend on mktime.

2003-07-14  Paul Eggert  <eggert@twinsun.com>

	* lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
	sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
	unicodeio.c, unicodeio.h, unlocked-io.h:
	Switch from LGPL to GPL.

2003-07-14  Paul Eggert  <eggert@twinsun.com>

	* lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
	localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
	printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
	ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
	vasprintf.c, vasprintf.h: Regenerate.  These files are now being
	updated automatically by ../config/srclist-update.  This changes
	their license from LPGL to GPL.

2003-07-14  Paul Eggert  <eggert@twinsun.com>

	* config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
	assumed to refer to the root of the most recent stable gettext version.
	* config/srclistvars.sh: Add defaults for eggert.
	* config/srclist-update: Convert LGPL to GPL in shell scripts, too.
	Match "This program" as well as "The program".  This is needed
	for gettext.

2003-07-14  Jim Meyering  <jim@meyering.net>

	Don't emit diagnostics.  Let callers do that.
	* lib/save-cwd.c: Don't include "error.h".
	(save_cwd): Don't call error.  Ensure that errno is valid
	when returning nonzero.

	* lib/save-cwd.h (restore_cwd): Update prototype.
	* lib/save-cwd.c (restore_cwd): Remove two parameters.
	Simplify.  Don't call error upon failure.  Let callers do that.
	(save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
	when auditing is enabled.  But don't bother updating the #if.

2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>

	* lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
	it breaks C++ compilation.
	[!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.

2003-07-10  Simon Josefsson  <jas@extundo.com>

	* modules/strchrnul (Makefile.am): Add strchrnul.h.

2003-07-10  Jim Meyering  <jim@meyering.net>

	* m4/clock_time.m4: Remove trailing blank.
	* m4/intmax_t.m4: Likewise.

2003-07-10  Jim Meyering  <jim@meyering.net>

	* lib/vasnprintf.c: Remove trailing blanks.
	Make cpp indentation consistent.

2003-07-09  Paul Eggert  <eggert@twinsun.com>

	* lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
	posixver.c, strftime.c, strnlen.c, strverscmp.c:
	Switch from LGPL to GPL.

2003-07-09  Paul Eggert  <eggert@twinsun.com>

	* config/srclist.txt: Sort sublists.  Add
	$LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
	that differ from gnulib for one reason or another; we'd like this list
	to be smaller but for now let's document what we have.

2003-07-08  Paul Eggert  <eggert@twinsun.com>

	* config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
	the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
	and sweeter "eval x=$x".
	* config/srclist.txt: Get lib/argp* from glibc.

2003-07-07  Paul Eggert  <eggert@twinsun.com>

	* lib/mktime.c: Fix some boundary cases and remove need for floating
	point.

	Issue a compile-time diagnostic if time_t is floating point, or if
	two's complement arithmetic is not in effect, or if arithmetic
	right shift does not propagate the sign.  These assumptions were
	all in the original code but they weren't checked.

	(TIME_T_MIDPOINT, verify): New macros.
	(__isleap): Remove; it has integer overflow problems.
	(leapyear): New function, without those problems.
	(ydhms_tm_diff): Remove; splitting into two parts.
	(ydhms_diff): New function, containing the arithmetic part of
	the old ydhms_tm_diff function.  Issue a compile-time
	diagnostic if we are not using C99 integer division.
	Avoid casts when possible.
	(guess_time_tm): New function, containing the checking part of
	the old ydhms_tm_diff function.  Return the new value, rather than
	the difference between it and the old.  Accept a new argument T
	so that *T specifies the old value.  Check for overflow in the result.

	(__mktime_internal): Use a time_t offset, not a long int offset.
	This undoes the 2003-06-04 change, which is no longer needed now
	that we have better overflow checking.
	(localtime_offset): Likewise.

	(__mktime_internal): Avoid harmful overflow on hosts where time_t
	and long are 64-bit but int is only 32-bit.
	(ydhms_diff): Use long int to store year1 and yday1.
	Issue a compile-time diagnostic if long int is not wide enough.

	(__mktime_internal): Use long int to store adjusted year and yday.
	Use plain C rather than preprocessor commands, if that doesn't
	affect efficiency.
	Check for overflow (and try to repair) after each probe
	rather than checking only at the very end.  This avoids some bugs
	(e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
	does not equal GMT offset at maximum time).
	Use integer to check for overflow rather than floating point; this
	is more portable to non-IEEE hosts, and is a tad faster.
	When we detect that we are oscillating between two values,
	don't check whether tm_isdst has the requested value, since
	we already know the answer.  When tm_isdst has the wrong value,
	use a different heuristic to find the right one, based on the
	extreme values actually observed in practice in tz2003a,
	rather than the (overly optimistic) "previous 3 calendar quarters".

	(not_equal_tm, print_tm, check_result): Use "const T" rather than
	"T const" to accommodate glibc style.
	(check_result): Use less-confusing report format.  "long" -> "long int.
	(main): Likewise.
	Don't loop if the iteration overflows time_t.
	Allow a negative step in the iteration.

2003-07-06  Karl Berry  <karl@gnu.org>

	* config/depcomp: update from automake.
	* config/config.sub: update from prep.

2003-07-03  Karl Berry  <karl@gnu.org>

	* config/config.guess: update from prep.

2003-07-01  Paul Eggert  <eggert@twinsun.com>

	* m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
	xreadlink.c now includes it unconditionally.

2003-07-01  Paul Eggert  <eggert@twinsun.com>

	* lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
	having it depend on HAVE_SYS_TYPES_H.

2003-07-01  Bruno Haible  <bruno@clisp.org>

	* m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
	<sys/types.h> should be sufficient.
	Reported by Paul Eggert.

2003-06-26  Karl Berry  <karl@gnu.org>

	* config/depcomp: update from automake.

2003-06-26  Bruno Haible  <bruno@clisp.org>

	* modules/human: Depend on module stdbool.

2003-06-25  Bruno Haible  <bruno@clisp.org>

	* modules/readlink: New file.
	* modules/xreadlink: Depend on it.
	* MODULES.html.sh (func_all_modules): Add readlink.

2003-06-25  Bruno Haible  <bruno@clisp.org>

	* m4/readlink.m4: New file.

2003-06-25  Bruno Haible  <bruno@clisp.org>

	* lib/readlink.c: New file.

2003-06-22  Karl Berry  <karl@gnu.org>

	* config/srclist.txt: update mkinstalldirs from automake.
	* config/mkinstalldirs: update.

2003-06-22  Bruno Haible  <bruno@clisp.org>

	Portability to mingw32.
	* m4/ssize_t.m4: New file, from GNU gettext.
	* m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
	* m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.

2003-06-22  Bruno Haible  <bruno@clisp.org>

	* modules/safe-read: Add m4/ssize_t.m4.
	* modules/xreadlink: Add m4/ssize_t.m4.

2003-06-20  Bruno Haible  <bruno@clisp.org>

	Assume C89, so PARAMS isn't needed.
	* lib/unicodeio.h (PARAMS): Remove.
	* lib/unicodeio.c: Don't use PARAMS.

2003-06-18  Karl Berry  <karl@gnu.org>

	* config/config.{guess,sub}: update from prep.

2003-06-18  Jim Meyering  <jim@meyering.net>

	Merge changes from coreutils.
	* lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
	Remove explicit declarations of xmalloc and realloc.
	Include xalloc.h.
	(read_utmp): Remove anachronistic cast of xmalloc.

2003-06-17  Paul Eggert  <eggert@twinsun.com>

	Assume C89, so PARAMS isn't needed.
	* lib/backupfile.h (PARAMS): Remove.  All uses removed.
	* lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
	lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
	lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
	lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
	lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
	lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
	lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
	lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
	lib/xstrtod.h, lib/xstrtol.h: Likewise.
	* lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
	lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
	no longer needed. Anyway, config.h should always be included before any
	other file.

2003-06-11  Simon Josefsson  <jas@extundo.com>

	* modules/sysexits: New file.
	* MODULES.html.sh (func_all_modules): Add sysexits.

2003-06-11  Simon Josefsson  <jas@extundo.com>

	* lib/sysexit_.h: New file.

2003-06-11  Derek Price  <derek@ximbiot.com>

	* lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
	necessary.

2003-06-11  Bruno Haible  <bruno@clisp.org>

	* m4/sysexits.m4: New file.

2003-06-10  Simon Josefsson  <jas@extundo.com>

	* lib/argp.h: New file, from glibc.
	* lib/argp-ba.c: New file, from glibc.
	* lib/argp-eexst.c: New file, from glibc.
	* lib/argp-fmtstream.c: New file, from glibc.
	* lib/argp-fmtstream.h: New file, from glibc.
	* lib/argp-fs-xinl.c: New file, from glibc.
	* lib/argp-help.c: New file, from glibc.
	* lib/argp-namefrob.h: New file, from glibc.
	* lib/argp-parse.c: New file, from glibc.
	* lib/argp-pv.c: New file, from glibc.
	* lib/argp-pvh.c: New file, from glibc.
	* lib/argp-xinl.c: New file, from glibc.

2003-06-10  Simon Josefsson  <jas@extundo.com>

	* modules/strchrnul: New file.

2003-06-10  Simon Josefsson  <jas@extundo.com>

	* modules/argp: New file.

2003-06-10  Simon Josefsson  <jas@extundo.com>

	* m4/strchrnul.m4: New file.

2003-06-10  Simon Josefsson  <jas@extundo.com>

	* lib/strchrnul.h: New file.
	* lib/strchrnul.c: New file.

2003-06-10  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (func_all_modules): Add strchrnul and argp.

2003-06-07  Karl Berry  <karl@gnu.org>

	* config/config.{guess,sub}: update from prep.

2003-06-07  Jim Meyering  <jim@meyering.net>

	* modules/strtod: Use $(...) notation, not @...@ for
	AC_REPLACE'd variables.
	* modules/localcharset: Likewise.

2003-06-07  Jim Meyering  <jim@meyering.net>

	* lib/readtokens.h: Put `Free Software Foundation, Inc.'
	in place of my name in the copyright comment.
	Remove definition and uses of __P.

	From coreutils.
	* lib/stat.c: Don't declare xmalloc explicitly.
	Instead, include "xalloc.h".
	* lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
	xrealloc, and xcalloc return values.
	* lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
	Improve comment.
	* lib/xgetcwd.h: Remove definition/uses of PARAMS.

2003-06-07  Bruno Haible  <bruno@clisp.org>

	* modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
	avoid AC_CONFIG_LINKS.
	* modules/fnmatch (Makefile.am): Use explicit creation rule for
	fnmatch.h, to avoid AC_CONFIG_LINKS.
	* modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.

2003-06-07  Bruno Haible  <bruno@clisp.org>

	* m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
	gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
	AC_CONFIG_LINKS. Needed to allow for a different name of the lib
	directory.
	* m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
	AC_CONFIG_LINKS. Needed to allow for a different name of the lib
	directory.

2003-06-06  Jim Meyering  <jim@meyering.net>

	Merge from coreutils.
	* lib/same.c: (same_name): Declare *_basename locals to be `const'.
	Consolidate declarations and initializations of *_base* locals.

	Merge from coreutils.
	This avoids a core dump on systems without GNU putenv,
	when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
	* lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
	(unsetenv): New static function, from GNU libc.
	(rpl_putenv): Use it.

	* lib/modechange.c: Remove trailing blanks.

	Merge from coreutils.
	* lib/fsusage.c: Remove declaration of statfs.
	It conflicted with one from OSF/1 5.1 in <sys/mount.h>.

	* lib/posixtm.c: Include <stdbool.h> unconditionally.

2003-06-06  Jim Meyering  <jim@meyering.net>

	* lib/stdbool_.h: Renamed from stdbool.h.in.

2003-06-06  Jim Meyering  <jim@meyering.net>
	    Bruno Haible  <bruno@clisp.org>

	* modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
	Adjust Makefile.am snippet not to redirect directly to target.
	Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.

2003-06-05  Paul Eggert  <eggert@twinsun.com>

	* lib/mktime.c (__mktime_internal): When resolving a tm_isdst
	mismatch, look in future quarters as well as past.  This fixes a
	bug when processing fall-backwards gaps immediately after a long
	period of daylight-saving time.

	* lib/mktime.c: Assume freestanding C89 or better.
	(HAVE_LIMITS_H): Remove.  Assume it's 1.
	(__P): Remove; not used.
	(CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
	(mktime, not_equal_tm, print_tm, check_result,
	main): Use prototypes.  Use const * where appropriate.
	(main): Fix typo in testing code that uncovered by above changes.
	(Local Variables): Remove -DHAVE_LIMITS_H from compile-command.

2003-06-04  Paul Eggert  <eggert@twinsun.com>

	* m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
	locale.h, localeconv.  This merges changes from coreutils.

	* m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
	It can be removed after the next Autoconf is released.
	* m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
	needed.

2003-06-04  Paul Eggert  <eggert@twinsun.com>

	* lib/mktime.c: Fix Debian bug 177940
	<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
	(localtime_offset): Now long int, not time_t, because we want it
	to be guaranteed to be signed.  All uses changed.
	(__mktime_internal): If overflow would occur when adding offset,
	don't add it.

	Merge 'human' changes from coreutils.  Rewrite to support
	locale-specific notations like thousands separators.
	* lib/human.c: Simplify authorship notice.
	Include human.h immediately after config.h.
	<sys/types.h>, <stdio.h>: Do not include; no longer needed.
	<limits.h>: Do not include, since human.h does.
	(SIZE_MAX, UINTMAX_MAX): New macros.
	<strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
	<locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
	(HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
	(power_letter): Renamed from suffixes.
	(generate_suffix_backwards): Remove.
	(adjust_value): Now takes int style (because of human.h changes)
	and long double value (for greater precision on some platforms).
	(group_number): New function.
	(human_readable): Use it.  Use integer options, not enum.
	Put the options before the sizes in the arg list.
	Support all the new options.
	The old human_readable function has been removed;
	use inttostr.h instead.
	(human_readable, default_block_size, humblock):
	Use uintmax_t, not int, for block sizes.
	(human_readable_inexact, block_size_types): Remove.
	(block_size_opts): New constant.
	(human_options): Renamed from human_block_size, with new signature
	that allows block sizes up to UINTMAX_MAX.  All callers changed.
	* lib/human.h: Add copyright and authorship notice.
	Include <limits.h> and <stdbool.h> unconditionally.
	(PARAMS): Remove.  All uses removed.
	(LONGEST_HUMAN_READABLE): Add support for thousands separator.
	(enum human_inexact_style): Remove tag; now a nameless enum.
	(human_floor, human_ceiling, human_round_to_even): Now have
	values 2, 0, 1 rather than -1, 1, 0.
	(human_group_digits, human_suppress_point_zero, human_autoscale,
	human_base_1024, human_SI, human_B): New constants.
	(human_readable_inexact, human_block_size): Remove.
	(human_readable): Size args are now uintmax_t, not int.
	(human_options): New decl.

	* lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
	unnecessary now that we assume C89 or better.  This change
	imported from coreutils.

	* lib/mktime.c (__mktime_internal): Do not reject negative timestamps
	arbitrarily.  This is the same patch as 2003-05-28, but it got lost
	in the 2003-05-30 sync from glibc.

	.h files should stand alone, but we shouldn't include <sys/types.h>
	if we can get away with just <stddef.h>.

	* lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
	malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
	rather than <sys/types.h>, as we merely need size_t.
	* lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
	to get size_t.
	* lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
	Include <stdio.h>, to get FILE.
	* lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
	memcasecmp.h has included <stddef.h> and all we need is size_t.
	* lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
	our interface, instead of including <sys/types.h>

2003-06-04  Paul Eggert  <eggert@twinsun.com>

	* config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
	now, as glibc mktime is buggy on non-glibc systems.

2003-06-03  Karl Berry  <karl@gnu.org>

	* config/config.sub: update from prep.

2003-06-02  Paul Eggert  <eggert@twinsun.com>

	[from coreutils]
	Fix some minor time-related bugs with POSIX time arguments.
	Some valid time stamps were being rejected (notably -1, and
	time stamps before 1900 on 64-bit hosts).  And some invalid
	time stamps were being accepted, e.g. September 31.

	* lib/posixtm.h (posixtime): Return bool instead of time_t, so
	that we can return (time_t) -1 successfully.
	* lib/posixtm.c: Likewise.
	[HAVE_STDBOOL_H]: Include <stdbool.h>.
	(bool, false, true) [!HAVE_STDBOOL_H]: New type.
	(t): Remove static var.
	(year, posix_time_parse): Now takes struct tm * arg to modify, instead
	of static var.  All uses changed.
	(year): Do not reject years before 1900; they can occur with
	64-bit time_t.
	(posix_time_parse): Do not check for out-of-range components;
	that is now the caller's responsibility, since our checks were
	only approximations.
	(posixtime): Use mktime to check for out-of-range components,
	since it knows them exactly.
	If mktime returns (time_t) -1, check whether an error actually occurred
	by invoking localtime on -1.
	(main) [TEST_POSIXTIME]: Check for input data errors, and report
	posixtime failures better.
	Improve the test data (in comments only).

2003-06-02  Karl Berry  <karl@gnu.org>

	* config/mkinstalldirs (version): new variable.
	(--version): new option.
	(usage): improve message.

2003-05-30  Karl Berry  <karl@gnu.org>

	* lib/mktime.c: update from libc.

2003-05-30  Bruno Haible  <bruno@clisp.org>

	* modules/gettext: Add files m4/nls.m4 and m4/po.m4.
	* config/config.rpath: Upgrade to gettext-0.12.1.

2003-05-30  Bruno Haible  <bruno@clisp.org>

	* m4/gettext.m4: Upgrade to gettext-0.12.1.
	* m4/nls.m4: New file, from gettext-0.12.1.
	* m4/po.m4: New file, from gettext-0.12.1.
	* m4/progtest.m4: Upgrade to gettext-0.12.1.

2003-05-30  Bruno Haible  <bruno@clisp.org>

	* lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
	* lib/localcharset.h: Likewise.
	* lib/localcharset.c: Likewise.

2003-05-29  Karl Berry  <karl@gnu.org>

	* config/config.rpath: update from gettext.

2003-05-28  Paul Eggert  <eggert@twinsun.com>

	Assume the headers required for C89 freestanding compilers.
	* m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
	* m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
	* m4/human.m4 (gl_HUMAN): Likewise.
	* m4/pathmax.m4 (gl_PATHMAX): Likewise.
	* m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
	* m4/userspec.m4 (gl_USERSPEC): Likewise.
	* m4/xreadlink.m4 (gl_XREADLINK): Likewise.
	* m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
	* m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.

2003-05-28  Paul Eggert  <eggert@twinsun.com>

	Assume the headers required for C89 freestanding compilers.
	* lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
	lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
	lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
	* lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
	lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
	define, since <limits.h> is guaranteed to do that.
	* lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
	* lib/exclude.c: Include <stdbool.h> unconditionally.
	* lib/tempname.c: Include <stddef.h> unconditionally.
	* lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
	* lib/modechange.c, rpmatch.c (NULL): Don't define, since
	<stddef.h> does that.
	* lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
	* lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
	* lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
	needed.
	* lib/xstrtol.c: Likewise.
	* lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
	* lib/savedir.c: Include <stddef.h> instead of defining NULL.

	* lib/addext.c (addext): Use assignment rather than cast, to avoid
	warnings on some platforms.

	* lib/mktime.c (__mktime_internal): Do not reject negative timestamps
	arbitrarily.

2003-05-26  Jim Meyering  <jim@meyering.net>

	Merge in a change from coreutils:
	* m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
	that is guaranteed to be `no'.  Use `no_such_member' to indicate
	that condition, rather than `-1' which is slightly misleading.
	Change the name of the cache variable to have the gl_ prefix.
	Prompted by a patch from Richard Dawe for DJGPP.

2003-05-24  Karl Berry  <karl@gnu.org>

	* config/config.guess: update from prep.

2003-05-22  Karl Berry  <karl@gnu.org>

	* gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.

2003-05-20  Karl Berry  <karl@gnu.org>

	* config/config.guess: update from prep.

2003-05-18  Karl Berry  <karl@gnu.org>

	* config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
	might actually be set by the user.

	* config/depcomp, install-sh, mdate-sh: update from automake.

2003-05-17  Bruno Haible  <bruno@clisp.org>

	* m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
	invalid expansion for AC_EGREP_CPP.
	* m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
	* m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
	Suggested by Akim Demaille <akim@epita.fr> in
	http://mail.gnu.org/r/bug-autoconf/2003-05/threads.html

2003-05-12  Jim Meyering  <jim@meyering.net>

	* lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
	the space-padded-by-default conversion specifiers, %e, %k, %l.

2003-05-12  Bruno Haible  <bruno@clisp.org>

	* lib/linebreak.c (iconv_string_length): Don't return -1 just because
	the string is longer than 4 KB.

2003-05-11  Karl Berry  <karl@gnu.org>

	* config/config.{guess,sub}: update from prep.

2003-05-09  Bruno Haible  <bruno@clisp.org>

	* modules/error: Add m4/strerror_r.m4 to file list.

2003-05-03  Bruno Haible  <bruno@clisp.org>

	Upgrade to Unicode-4.0.
	* lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
	U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
	U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
	U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
	from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
	(uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
	of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
	Change width of U+E0100..U+E01EF from 1 to 0.

2003-04-25  Jim Meyering  <jim@meyering.net>

	* lib/copy-file.c (copy_file_preserving): Declare buf_size to be
	of type size_t, not int.

2003-04-25  Bruno Haible  <bruno@clisp.org>

	* lib/copy-file.c: Include <stddef.h>, for size_t.

2003-04-21  Paul Eggert  <eggert@twinsun.com>

	* m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
	code which expansion is under static control.  Patch imported from
	Akim Demaille's patch to Bison; see
	<http://mail.gnu.org/r/bison-patches/2003-03/msg00057.html>.

2003-04-14  Bruno Haible  <bruno@clisp.org>

	* m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.

2003-04-11  Jim Meyering  <jim@meyering.net>

	Merge changes from Coreutils.

	2003-03-22  Jim Meyering  <jim@meyering.net>

	* lib/strftime.c (widen): Cast alloca return value to proper type.

	2003-01-19  Ulrich Drepper  <drepper@redhat.com>

	From GNU libc.
	* lib/strftime.c (my_strftime): Handle very large width
	specifications for numeric values correctly.  Improve checks for
	overflow.

	2003-01-19  Jim Meyering  <jim@meyering.net>

	* lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
	definitions.
	(nl_get_alt_digit) [! defined my_strftime]: Define.
	(my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
	_nl_get_alt_digit and _nl_get_walt_digit.

	* lib/strftime.c (my_strftime): Merge in locale-related changes from
	libc. These changes have no effect outside of _LIBC.

2003-04-10  Bruno Haible  <bruno@clisp.org>

	* modules/findprog: New file.
	* MODULES.html.sh (func_all_modules): Add it.

2003-04-10  Bruno Haible  <bruno@clisp.org>

	* m4/findprog.m4: New file.
	* m4/eaccess.m4: New file.

2003-04-10  Bruno Haible  <bruno@clisp.org>

	* lib/findprog.h: New file, from GNU gettext.
	* lib/findprog.c: New file, from GNU gettext.

2003-04-05  Jim Meyering  <jim@meyering.net>

	Merge changes from Coreutils.

	* lib/exclude.h (PARAMS): Remove definition and uses.
	* lib/exclude.c: Remove uses of `PARAMS'.

	* lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
	Add test-cases for DOS filenames. Declare program_name.
	(main): Set up program_name.  Patch by Rich Dawe.

	* lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
	error from mntctl.
	Use mntctl's return value to drive the entry-processing loop, since
	we can't rely on the value of the vmt_length member in the last
	entry.  On some systems doing so could result in exhausting
	virtual memory.  Based in part on a patch from Mike Jetzer.

2003-04-04  Bruno Haible  <bruno@clisp.org>

	* modules/linebreak: New file.
	* MODULES.html.sh (func_all_modules): Add it.

2003-04-04  Bruno Haible  <bruno@clisp.org>

	* m4/linebreak.m4: New file.

2003-04-04  Bruno Haible  <bruno@clisp.org>

	* lib/linebreak.h: New file, from GNU gettext.
	* lib/linebreak.c: New file, from GNU gettext with slight
	modifications.
	* lib/lbrkprop.h: New file, from GNU gettext.

2003-04-03  Bruno Haible  <bruno@clisp.org>

	* modules/utf8-ucs4: New file.
	* modules/utf16-ucs4: New file.
	* modules/ucs4-utf8: New file.
	* modules/ucs4-utf16: New file.
	* MODULES.html.sh (func_all_modules): Add them.

2003-04-03  Bruno Haible  <bruno@clisp.org>

	* m4/utf-ucs4.m4: New file.
	* m4/ucs4-utf.m4: New file.

2003-04-03  Bruno Haible  <bruno@clisp.org>

	* lib/utf8-ucs4.h: New file, from GNU gettext.
	* lib/utf16-ucs4.h: New file, from GNU gettext.
	* lib/ucs4-utf8.h: New file, from GNU gettext.
	* lib/ucs4-utf16.h: New file, from GNU gettext.

2003-04-02  Bruno Haible  <bruno@clisp.org>

	* modules/binary-io: New file.
	* MODULES.html.sh (func_all_modules): Add it.

2003-04-02  Bruno Haible  <bruno@clisp.org>

	* lib/binary-io.h: New file, from GNU gettext.

2003-04-01  Bruno Haible  <bruno@clisp.org>

	* modules/pathname: New file.
	* MODULES.html.sh (func_all_modules): Add it.

2003-04-01  Bruno Haible  <bruno@clisp.org>

	* lib/pathname.h: New file, from GNU gettext.
	* lib/concatpath.c: New file, from GNU gettext.

2003-03-30  Bruno Haible  <bruno@clisp.org>

	* m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().

2003-03-30  Bruno Haible  <bruno@clisp.org>

	* lib/copy-file.c (copy_file_preserving): Don't set owner if the
	function chown() doesn't exist.

2003-03-28  Bruno Haible  <bruno@clisp.org>

	* modules/copy-file: New file.
	* MODULES.html.sh (func_all_modules): Add it.

2003-03-28  Bruno Haible  <bruno@clisp.org>

	* m4/copy-file.m4: New file.

2003-03-28  Bruno Haible  <bruno@clisp.org>

	* lib/copy-file.h: New file, from GNU gettext.
	* lib/copy-file.c: New file, from GNU gettext.

2003-03-18  Jim Meyering  <jim@meyering.net>

	* lib/quote.c (quote_n): Fix typo in comment.

2003-03-18  Bruno Haible  <bruno@clisp.org>

	* m4/onceonly.m4: Use m4_defn instead of defn, for better error
	checking.
	* m4/onceonly_2_57.m4: Likewise.

2003-03-17  Bruno Haible  <bruno@clisp.org>

	* m4/onceonly.m4: Require autoconf 2.54 or newer.
	(m4_quote): Remove macro.
	* m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.

2003-03-14  Jim Meyering  <jim@meyering.net>

	Merge changes from Coreutils.
	* lib/obstack.h (obstack_object_size): Declare temporary, __o,
	to be const, in order to avoid warnings.
	(obstack_room): Likewise.
	(obstack_empty_p): Likewise.

2003-03-14  Bruno Haible  <bruno@clisp.org>

	* m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
	AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.

2003-03-13  Paul Eggert  <eggert@twinsun.com>

	Merge changes from Bison.
	* lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
	(void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
	when compiling Bison 1.875's `bitset bset = obstack_alloc
	(bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
	* lib/hash.c: Include <stdbool.h> unconditionally.

2003-03-13  Paul Eggert  <eggert@twinsun.com>

	* m4/onceonly.m4 (m4_quote): New macro.
	(AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
	Quote AC_FOREACH variable-expansions properly.

2003-03-13  Paul Eggert  <eggert@twinsun.com>

	* doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.

2003-03-09  Paul Eggert  <eggert@twinsun.com>

	* lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
	Reported by Bruce Becker; see:
	http://mail.gnu.org/r/bug-bison/2003-03/msg00017.html

2003-03-03  Paul Eggert  <eggert@twinsun.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
	Reported by John Hughes, see
	http://mail.gnu.org/r/bug-bison/2003-02/msg00030.html

2003-02-20  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (func_all_modules): Add poll.

2003-02-19  Paolo Bonzini  <bonzini@gnu.org>

	* modules/poll: New file.

2003-02-19  Paolo Bonzini  <bonzini@gnu.org>

	* lib/poll_.h: New file.
	* lib/poll.c: New file.

2003-02-19  Paolo Bonzini  <bonzini@gnu.org>

	* m4/poll.m4: New file.

2003-02-18  Paolo Bonzini  <bonzini@gnu.org>

	* modules/mathl: New file.

2003-02-18  Paolo Bonzini  <bonzini@gnu.org>

	* lib/mathl.h: New file.
	* lib/acosl.c: New file.
	* lib/asinl.c: New file.
	* lib/atanl.c: New file.
	* lib/ceill.c: New file.
	* lib/cosl.c: New file.
	* lib/expl.c: New file.
	* lib/floorl.c: New file.
	* lib/frexpl.c: New file.
	* lib/ldexpl.c: New file.
	* lib/logl.c: New file.
	* lib/sincosl.c: New file.
	* lib/sinl.c: New file.
	* lib/sqrtl.c: New file.
	* lib/tanl.c: New file.
	* lib/trigl.c: New file.
	* lib/trigl.h: New file.

2003-02-18  Paolo Bonzini  <bonzini@gnu.org>

	* m4/mathl.m4: New file.

2003-02-18  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh (func_all_modules): Add mathl.

2003-02-17  Bruno Haible  <bruno@clisp.org>

	* modules/mkdtemp: New module.
	* MODULES.html.sh (func_all_modules): Add it.

2003-02-17  Bruno Haible  <bruno@clisp.org>

	* m4/mkdtemp.m4: New file, from GNU gettext with modifications.

2003-02-17  Bruno Haible  <bruno@clisp.org>

	* lib/mkdtemp.h: New file, from GNU gettext.
	* lib/mkdtemp.c: New file, from GNU gettext.

2003-02-02  Jim Meyering  <jim@meyering.net>

	* m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
	e.g. glibc-2.2.93.

2003-01-31  Bruno Haible  <bruno@clisp.org>

	* m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
	'rpl_rename'.
	* m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
	'rpl_strnlen'.
	* m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
	'rpl_strtod'.
	* m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
	'rpl_utime'.

2003-01-31  Bruno Haible  <bruno@clisp.org>

	* lib/rename.c: #undef rename before defining rpl_rename.
	* lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.

2003-01-30  Bruno Haible  <bruno@clisp.org>

	* modules/vasnprintf, modules/vasprintf: New modules.
	* MODULES.html.sh (func_all_modules): Add them.

2003-01-30  Bruno Haible  <bruno@clisp.org>

	* m4/signed.m4: New file, from GNU gettext.
	* m4/longdouble.m4: New file, from GNU gettext.
	* m4/wchar_t.m4: New file, from GNU gettext.
	* m4/wint_t.m4: New file, from GNU gettext.
	* m4/vasnprintf.m4: New file.
	* m4/vasprintf.m4: New file.

2003-01-30  Bruno Haible  <bruno@clisp.org>

	* lib/printf-args.h: New file, from GNU gettext.
	* lib/printf-args.c: New file, from GNU gettext.
	* lib/printf-parse.h: New file, from GNU gettext.
	* lib/printf-parse.c: New file, from GNU gettext.
	* lib/vasnprintf.h: New file, from GNU gettext.
	* lib/vasnprintf.c: New file, from GNU gettext.
	* lib/asnprintf.c: New file, from GNU gettext.
	* lib/vasprintf.h: New file, from GNU gettext with modifications.
	* lib/vasprintf.c: New file, from GNU gettext.
	* lib/asprintf.c: New file, from GNU gettext.

2003-01-29  Bruno Haible  <bruno@clisp.org>

	* modules/stpncpy: New module.
	* MODULES.html.sh (func_all_modules): Add it.

2003-01-29  Bruno Haible  <bruno@clisp.org>

	* m4/stpncpy.m4: New file.

2003-01-29  Bruno Haible  <bruno@clisp.org>

	* lib/stpncpy.h: New file, from GNU gettext with modifications.
	* lib/stpncpy.c: New file, from GNU gettext with modifications.

2003-01-28  Bruno Haible  <bruno@clisp.org>

	* modules/c-ctype: New module.
	* MODULES.html.sh (func_all_modules): Add it.

2003-01-28  Bruno Haible  <bruno@clisp.org>

	* lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
	Paul Eggert.
	* lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
	Paul Eggert.

2003-01-27  Bruno Haible  <bruno@clisp.org>

	* modules/xsetenv: New module.
	* MODULES.html.sh (func_all_modules): Add it.

2003-01-27  Bruno Haible  <bruno@clisp.org>

	* lib/xsetenv.h: New file, from GNU gettext.
	* lib/xsetenv.c: New file, from GNU gettext.

2003-01-23  Jim Meyering  <jim@meyering.net>

	* m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
	from working on systems without dirfd (at least Irix and OSF1/Tru64).

2003-01-23  Bruno Haible  <bruno@clisp.org>

	* modules/minmax: New module.
	* MODULES.html.sh (func_all_modules): Add it.

2003-01-23  Bruno Haible  <bruno@clisp.org>

	* lib/minmax.h: New file, from GNU gettext, with comments from Paul
	Eggert.

2003-01-22  Bruno Haible  <bruno@clisp.org>

	* modules/exit: New module.
	* MODULES.html.sh (func_all_modules): Add it.

2003-01-22  Bruno Haible  <bruno@clisp.org>

	* lib/exit.h: New file, from GNU gettext.

2003-01-19  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool: Recognize option --extract-maintainer.
	(func_get_maintainer): New function.
	* modules/*: Add Maintainer entry.

2003-01-16  Jim Meyering  <jim@meyering.net>

	* m4/regex.m4: The `regex' struct is both input and output.
	Initialize it before each use.  Patch by Tim Waugh.

2003-01-16  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh: Add a table of contents. Add the module name as
	leftmost column. Add hyperlinks.

2003-01-15  Bruno Haible  <bruno@clisp.org>

	* m4/md5.m4 (gl_MD5): Require AC_C_INLINE.

2003-01-15  Bruno Haible  <bruno@clisp.org>

	* m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
	* m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
	suffix.

2003-01-15  Bruno Haible  <bruno@clisp.org>

	* m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.

2003-01-15  Bruno Haible  <bruno@clisp.org>

	* lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
	* lib/strcase.h (strcasecmp, strncasecmp): Likewise.

2003-01-14  Jim Meyering  <jim@meyering.net>

	* lib/same.c (same_name): Tweak a comment.

2003-01-14  Bruno Haible  <bruno@clisp.org>

	* lib/same.c (same_name): Reorder tests so as to avoid calling stat()
	when a string comparison is sufficient.

2003-01-14  Bruno Haible  <bruno@clisp.org>

	* lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
	'unsigned int'.

2003-01-14  Bruno Haible  <bruno@clisp.org>

	* lib/hash-pjw.c: Add comment about low quality of this function.

2003-01-13  Bruno Haible  <bruno@clisp.org>

	* modules/stpcpy: Distribute lib/stpcpy.h.
	* modules/setenv: Depend on alloca. Distribute lib/setenv.h.

2003-01-13  Bruno Haible  <bruno@clisp.org>

	* modules/*: Add a description.
	* modules/strpbrk: Fix Makefile.am snippet.
	* modules/strtoimax: Fix dependencies.
	* modules/strtoumax: Likewise.

2003-01-13  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
	* modules/alloca (Makefile.am): All object files depend on alloca.h.
	* modules/stdbool (Makefile.am): All object files depend on stdbool.h.

2003-01-13  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_create_testdir): Store config/* files in the main
	directory.
	* config.rpath: Move to ...
	* config/config.rpath: ... here.
	* modules/gettext: Contains config/config.rpath, not config.rpath.
	* modules/iconv: Likewise.

2003-01-12  Paul Eggert  <eggert@twinsun.com>

	Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
	to avoid collisions with libcurses and libreadline.

	* m4/getstr.m4: Remove.
	* m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.

2003-01-12  Paul Eggert  <eggert@twinsun.com>

	Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
	to avoid collisions with libcurses and libreadline.

	* lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
	* lib/getstr.h, getstr.c: Remove.
	* lib/getline.c: Include "getline.h", to check interface.
	Move body of old getstr.c here: this defines MIN_CHUNK and
	declares getdelim2, which is renamed from getstr.
	(getline, getdelim): Adjust to renaming of getstr -> getdelim2.

	* lib/linebuffer.c (readlinebuffer): Renamed from readline.
	All uses changed.
	* lib/linebuffer.h: Likewise.
	(readline): Remove backward-compatibility macro.

2003-01-12  Paul Eggert  <eggert@twinsun.com>

	Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
	to avoid collisions with libcurses and libreadline.
	* getstr: Remove.
	* MODULES.html.sh: Remove getstr.
	* modules/getline: Depend on unlocked-io, not getstr.

2003-01-12  Jim Meyering  <jim@meyering.net>

	* lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.

2003-01-10  Bruno Haible  <bruno@clisp.org>

	* modules/alloca: Change Makefile.am requirements. Simplify Include
	requirements. Add lib/alloca_.h to file list.

2003-01-10  Bruno Haible  <bruno@clisp.org>

	* m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.

2003-01-10  Bruno Haible  <bruno@clisp.org>

	* lib/alloca_.h: New file.
	* lib/getdate.y: Unconditionally include alloca.h.
	* lib/makepath.c: Likewise.
	* lib/setenv.c: Likewise.
	* lib/userspec.c: Likewise.

2003-01-09  Karl Berry  <karl@gnu.org>

	* MODULES.html.sh: include `dirname $0` in PATH, to find
	gnulib-tool.

2003-01-09  Bruno Haible  <bruno@clisp.org>

	* modules/stdbool: Change configure.ac, Makefile.am requirements.
	Simplify Include requirements. Add lib/stdbool.h.in to file list.

2003-01-09  Bruno Haible  <bruno@clisp.org>

	* m4/stdbool.m4 (AM_STDBOOL_H): New macro.

2003-01-09  Bruno Haible  <bruno@clisp.org>

	* lib/stdbool.h.in: New file.

2003-01-09  Bruno Haible  <bruno@clisp.org>

	* gnulib-tool (func_all_modules): Ignore files ending in ~.
	* MODULES.html.sh: Likewise.

2003-01-08  Jim Meyering  <jim@meyering.net>

	* lib/full-write.c: Undefine and define-away `const' after inclusion
	of errno.h, not before.  Suggestion from Bruno Haible.

2003-01-08  Bruno Haible  <bruno@clisp.org>

	* modules/full-read: Depend on full-write.

2003-01-08  Bruno Haible  <bruno@clisp.org>

	* lib/safe-read.c: Include specification header first, to ensure its
	selfcontainedness.
	* lib/full-write.c: Likewise.

2003-01-07  Jim Meyering  <jim@meyering.net>

	* lib/full-write.c: Rework so that it may serve to define full_read,
	too.
	* lib/full-read.c: Simply #define FULL_READ and include full-write.c.

2003-01-07  Bruno Haible  <bruno@clisp.org>

	* lib/strtoimax.c: Include <stdint.h> as an alternative to
	<inttypes.h>.
	* lib/xstrtol.h: Likewise.
	* lib/xstrtoimax.c: Likewise.
	* lib/xstrtoumax.c: Likewise.
	* lib/human.h: Likewise.

	* lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
	on systems that have <inttypes.h> but not <stdint.h>.

2003-01-07  Bruno Haible  <bruno@clisp.org>

	* MODULES.html.sh: Add copyright notice.
	(missed_files): Omit CVS directory entries.
	(func_module): Make it work with sed-3.02.
	* MODULES.txt: Remove file.

2003-01-06  Jim Meyering  <jim@meyering.net>

	* lib/version-etc.c: Update year in translatable copyright string.

2003-01-03  Karl Berry  <karl@gnu.org>

	* config/config.{guess,sub}: update from prep.

2003-01-02  Karl Berry  <karl@gnu.org>

	* doc/COPYING.DOC: belatedly updated to 1.2.

2003-01-01  Karl Berry  <karl@gnu.org>

	* gnulib-tool (func_verify_module): report module name $module in
	error message, not $1.
	* gnulib-tool (create-testdir): don't complain if destdir couldn't
	be created, only if it doesn't exist.
	* gnulib-tool (last_checkin_date): don't expand the $Date here.

2002-12-31  Paul Eggert  <eggert@twinsun.com>

	* m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.

2002-12-31  Paul Eggert  <eggert@twinsun.com>

	* lib/memcoll.c (memcoll): Fall back on a simple algorithm using
	memcmp if strcoll doesn't work.

2002-12-31  Bruno Haible  <bruno@clisp.org>

	* lib/utime.c (utime_null): No need to call ftruncate if the file was
	nonempty.

2002-12-31  Bruno Haible  <bruno@clisp.org>

	* lib/memcoll.c (STRCOLL): New macro.
	(memcoll): Use it.

2002-12-31  Bruno Haible  <bruno@clisp.org>

	* lib/localcharset.h: New file.
	* lib/localcharset.c: Include it.
	* lib/unicodeio.c: Likewise.

2002-12-31  Bruno Haible  <bruno@clisp.org>

	* lib/getstr.h (getstr): Define, to avoid clash with libcurses.
	* lib/linebuffer.h (readline): Define, to avoid clash with libreadline.

2002-12-31  Bruno Haible  <bruno@clisp.org>

	* lib/getline.h: Include <stddef.h>, for size_t.

	* lib/unicodeio.h: Include <stddef.h>, for size_t.
	* lib/unicodeio.c: Don't include <stddef.h>.

2002-12-31  Bruno Haible  <bruno@clisp.org>

	* lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
	HAVE_TM_ZONE.

2002-12-24  Karl Berry  <karl@gnu.org>

	* config/config.guess: update from prep.

2002-12-24  Bruno Haible  <bruno@clisp.org>

	General infrasructure.
	* m4/README: Rewritten.
	* m4/onceonly.m4: New file.
	* m4/onceonly_2_57.m4: New file.

	Module atexit.
	* m4/atexit.m4: New file.

	Module strtod.
	* m4/strtod.m4: New file.

	Module strtol.
	* m4/strtol.m4: New file.

	Module strtoul.
	* m4/strtoul.m4: New file.

	Module memchr.
	* m4/memchr.m4: New file.

	Module memcmp.
	* m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
	(jm_FUNC_MEMCMP): Invoke it.

	Module memcpy.
	* m4/memcpy.m4: New file.

	Module memmove.
	* m4/memmove.m4: New file.

	Module memset.
	* m4/memset.m4: New file.

	Module strcspn.
	* m4/strcspn.m4: New file.

	Module strpbrk.
	* m4/strpbrk.m4: New file.

	Module strstr.
	* m4/strstr.m4: New file.

	Module strerror.
	* m4/strerror.m4: New file.

	Module mktime.
	* m4/mktime.m4: Renamed from jm-mktime.m4.
	(gl_PREREQ_MKTIME): New macro.
	(gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.

	Module malloc.
	* m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
	(jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
	Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.

	Module realloc.
	* m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
	(jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
	Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.

	Module strftime.
	* m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
	* m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
	Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
	gl_TM_GMTOFF.
	(_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.

	Module xalloc.
	* m4/xalloc.m4: New file.

	Module alloca.
	* m4/alloca.m4: New file.

	Module putenv.
	* m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
	(jm_FUNC_PUTENV): Invoke it.

	Module setenv.
	* m4/setenv.m4 (gt_FUNC_SETENV): New macro.
	(gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
	when invoked twice.
	(gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
	gt_FUNC_SETENV.

	Module memrchr.
	* m4/memrchr.m4: New file.

	Module stpcpy.
	* m4/stpcpy.m4: New file.

	Module strcase.
	* m4/strcase.m4: New file.

	Module strdup.
	* m4/strdup.m4: New file.

	Module strnlen.
	* m4/strnlen.m4: New file.

	Module strndup.
	* m4/strndup.m4: New file.

	Module xstrtod.
	* m4/xstrtod.m4: New file.

	Module xstrtol.
	* m4/xstrtol.m4: New file.

	Module getdate.
	* m4/getdate.m4: New file.

	Module unlocked-io.
	* m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
	(jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
	* m4/jm-glibc-io.m4n: Remove file.

	Module long-options.
	* m4/long-options.m4: New file.

	Module md5.
	* m4/md5.m4: New file.

	Module sha.
	* m4/sha.m4: New file.

	Module getstr.
	* m4/getstr.m4: New file.

	Module getline.
	* m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
	(AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
	<sys/types.h>, for size_t. Use the function name gnu_getline, not
	simply getline. Infoke gl_PREREQ_GETLINE.

	Module obstack.
	* m4/obstack.m4: New file.

	Module hash.
	* m4/hash.m4: New file.

	Module readtokens.
	* m4/readtokens.m4: New file.

	Module strverscmp.
	* m4/strverscmp.m4: New file.

	Module stdbool.
	* m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
	OSF/1.

	Module strtoll.
	* m4/strtoll.m4: New file.

	Module strtoull.
	* m4/strtoull.m4: New file.

	Module strtoimax.
	* m4/strtoimax.m4: New file.

	Module strtoumax.
	* m4/strtoumax.m4: New file.

	Module xstrtoimax.
	* m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
	jm_AC_PREREQ_XSTRTOIMAX.
	Moved the strtol prerequisites to strtol.m4.
	Moved the strtoll prerequisites to strtoll.m4.
	Moved the strtoimax prerequisites to strtoimax.m4.

	Module xstrtoumax.
	* m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
	jm_AC_PREREQ_XSTRTOUMAX.
	Moved the strtoul prerequisites to strtoul.m4.
	Moved the strtoull prerequisites to strtoull.m4.
	Moved the strtoumax prerequisites to strtoumax.m4.

	Module chown.
	* m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
	(jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.

	Module dup2.
	* m4/dup2.m4: New file.

	Module ftruncate.
	* m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
	(jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.

	Module getgroups.
	* m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
	(jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.

	Module gettimeofday.
	* m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
	(AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
	gl_PREREQ_GETTIMEOFDAY.

	Module mkdir.
	* m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
	(UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.

	Module mkstemp.
	* m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
	(jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
	jm_AC_TYPE_UINTMAX_T.
	(UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.

	Module stat.
	* m4/stat.m4 (gl_PREREQ_STAT): New macro.
	(jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.

	Module lstat.
	* m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
	(jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.

	Module timespec.
	* m4/timespec.m4 (gl_TIMESPEC): New macro.
	(jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
	* m4/st_mtim.m4: Indentation.

	Module nanosleep.
	* m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
	(jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
	gl_PREREQ_NANOSLEEP.

	Module regex.
	* m4/regex.m4 (jm_PREREQ_REGEX): New macro.
	(jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
	(gl_REGEX): New macro.

	Module rename.
	* m4/rename.m4 (gl_PREREQ_RENAME): New macro.
	(vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.

	Module rmdir.
	* m4/rmdir.m4: New file.

	Module utime.
	* m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
	* m4/utime.m4 (gl_PREREQ_UTIME): New macro.
	(jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.

	Module dirname.
	* m4/dirname.m4: New file.

	Module getopt.
	* m4/getopt.m4: New file.

	Module unistd-safer.
	* m4/unistd-safer.m4: New file.

	Module fnmatch.
	* m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
	declaration.
	(gl_PREREQ_FNMATCH_EXTRA): New macro.
	(gl_FUNC_FNMATCH_POSIX): New macro.
	(gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
	gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
	simply fnmatch.

	Module exclude.
	* m4/exclude.m4: New file.

	Module human.
	* m4/human.m4: New file.

	Module acl.
	* m4/acl.m4: Nop.

	Module backupfile.
	* m4/backupfile.m4: New file.
	* m4/d-ino.m4: Indentation.

	Module fsusage.
	* m4/fsusage.m4 (gl_FSUSAGE): New macro.
	(jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
	(gl_PREREQ_FSUSAGE_EXTRA): New macro.

	Module dirfd.
	* m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
	requirements.

	Module euidaccess.
	* m4/euidaccess.m4: New file.

	Module file-type.
	* m4/file-type.m4: New file.

	Module fileblocks.
	* m4/fileblocks.m4: New file.

	Module filemode.
	* m4/filemode.m4: New file.

	Module isdir.
	* m4/isdir.m4: New file.

	Module lchown.
	* m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
	(jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.

	Module makepath.
	* m4/makepath.m4: New file.

	Module modechange.
	* m4/modechange.m4: New file.

	Module mountlist.
	* m4/mountlist.m4: New file.
	* m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
	Indentation.

	Module path-concat.
	* m4/path-concat.m4: New file.

	Module pathmax.
	* m4/pathmax.m4: New file.

	Module same.
	* m4/same.m4: New file.

	Module save-cwd.
	* m4/save-cwd.m4: New file.

	Module savedir.
	* m4/savedir.m4: New file.

	Module xgetcwd.
	* m4/xgetcwd.m4: New file.
	* m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.

	Module xreadlink.
	* m4/xreadlink.m4: New file.

	Module safe-read.
	* m4/safe-read.m4: New file.

	Module safe-write.
	* m4/safe-write.m4: New file.

	Module closeout.
	* m4/closeout.m4: New file.

	Module stdio-safer.
	* m4/stdio-safer.m4: New file.

	Module getpass.
	* m4/getpass.m4: New file.

	Module getugroups.
	* m4/getugroups.m4: New file.

	Module group-member.
	* m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
	(jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.

	Module idcache.
	* m4/idcache.m4: New file.

	Module userspec.
	* m4/userspec.m4: New file.

	Module gettime.
	* m4/clock_time.m4: New file.
	* m4/gettime.m4: New file.

	Module settime.
	* m4/settime.m4: New file.

	Module posixtm.
	* m4/posixtm.m4: New file.

	Module gethostname.
	* m4/gethostname.m4: New file.

	Module canon-host.
	* m4/canon-host.m4: New file.

	Module gettext.
	* m4/codeset.m4: New file, from gettext-0.11.5.
	* m4/gettext.m4: New file, from gettext-0.11.5.
	* m4/glibc21.m4: New file, from gettext-0.11.5.
	* m4/iconv.m4: New file, from gettext-0.11.5.
	* m4/intdiv0.m4: New file, from gettext-0.11.5.
	* m4/inttypes-pri.m4: New file, from gettext-0.11.5.
	* m4/inttypes.m4: New file, from gettext-0.11.5.
	* m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
	* m4/isc-posix.m4: New file, from gettext-0.11.5.
	* m4/lcmessage.m4: New file, from gettext-0.11.5.
	* m4/lib-ld.m4: New file, from gettext-0.11.5.
	* m4/lib-link.m4: New file, from gettext-0.11.5.
	* m4/lib-prefix.m4: New file, from gettext-0.11.5.
	* m4/progtest.m4: New file, from gettext-0.11.5.
	* m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
	* m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
	* m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.

	Module localcharset.
	* m4/localcharset.m4: New file.

	Module hard-locale.
	* m4/hard-locale.m4: New file.

	Module mbswidth.
	* m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
	onceonly macros.
	* m4/mbrtowc.m4: Add comment.

	Module memcasecmp.
	* m4/memcasecmp.m4: New file.

	Module memcoll.
	* m4/memcoll.m4: New file.

	Module unicodeio.
	* m4/unicodeio.m4: New file.

	Module rpmatch.
	* m4/rpmatch.m4: New file.

	Module yesno.
	* m4/yesno.m4: New file.

	Module exitfail.
	* m4/exitfail.m4: New file.

	Module c-stack.
	* m4/c-stack.m4 (gl_C_STACK): New macro.
	(jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.

	Module error.
	* m4/error.m4 (gl_ERROR): New macro.
	(jm_PREREQ_ERROR): Use onceonly macros.

	Module fatal.
	* m4/fatal.m4: New file.

	Module getloadavg.
	* m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
	(gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.

	Module getpagesize.
	* m4/getpagesize.m4: New file.

	Module getusershell.
	* m4/getusershell.m4: New file.

	Module physmem.
	* m4/physmem.m4: New file.

	Module posixver.
	* m4/posixver.m4: New file.

	Module quotearg.
	* m4/quotearg.m4: New file.

	Module quote.
	* m4/quote.m4: New file.

	Module readutmp.
	* m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.

	Module sig2str.
	* m4/sig2str.m4: New file.

	Other.
	* m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
	ulonglong.m4.
	* m4/intmax_t.m4: New file.
	* m4/d-type.m4: Indentation.
	* m4/jm-macros.m4: Update.
	* m4/prereq.m4 (jm_PREREQ): Update.
	(jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
	(jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
	(jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
	(jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
	(jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
	(jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
	(jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
	(jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
	(jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
	(jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
	(jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
	(jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
	(jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
	(jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
	(jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
	(jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
	(jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
	(jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
	* m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.

2002-12-24  Bruno Haible  <bruno@clisp.org>

	* MODULES.txt: Update according to m4/ changes.

	Module gettext.
	* config.rpath: New file, from gettext-0.11.5.

	* modules/*: New module descriptions.
	* gnulib-tool: New file.
	* MODULES.html.sh: New file.

2002-12-21  Karl Berry  <karl@gnu.org>

	* doc/fdl.texi: update to version 1.2.

2002-12-19  Karl Berry  <karl@gnu.org>

	* config/config.guess: update from prep.

2002-12-18  Bruno Haible  <bruno@clisp.org>

	* m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
	* m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.

2002-12-17  Bruno Haible  <bruno@clisp.org>

	* m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
	stdlib.h, string.h.

2002-12-17  Bruno Haible  <bruno@clisp.org>

	* lib/canon-host.c (strdup): Remove unused declaration.

	* lib/fsusage.c: Include full_read.h.
	(get_fs_usage): Use full_read instead of safe_read.

	* lib/utime.c (utime_null): Use SAFE_READ_ERROR.

2002-12-12  Karl Berry  <karl@gnu.org>

	* config/config.guess: update from prep.

2002-12-11  Bruno Haible  <bruno@clisp.org>

	* m4/setenv.m4: New file, from gettext-0.11.5.

2002-12-11  Bruno Haible  <bruno@clisp.org>

	* lib/setenv.h: Rewritten to cope with systems that have setenv() but
	not unsetenv().
	* lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
	modifications:

	2002-12-11  Bruno Haible  <bruno@clisp.org>

		* setenv.c (alloca): Fall back to malloc.
		(freea): New macro.
		(setenv): Use freea() to free memory allocated with alloca().

	2002-11-13  Bruno Haible  <bruno@clisp.org>

		* setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
		function declarations.
		* unsetenv.c (unsetenv): Likewise.

	2002-03-04  Bruno Haible  <bruno@clisp.org>

		Portability to AIX 4.3.3.
		* unsetenv.c: New file, extracted from setenv.c.
		* setenv.c: Move the unsetenv() function to unsetenv.c.

	2001-12-20  Bruno Haible  <bruno@clisp.org>

		* setenv.c (__add_to_environ): Don't call realloc(NULL,...),
		use malloc instead. For SunOS 4.

	2001-12-11  Bruno Haible  <bruno@clisp.org>

		* setenv.c: Declare alloca.
		(compar_fn_t): New typedef.
		(KNOWN_VALUE, STORE_VALUE): Use it.

	* lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
	setenv.h.

2002-12-10  Paul Eggert  <eggert@twinsun.com>

	Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
	* lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
	Choose values that are less likely to collide with system fnmatch
	options.
	* lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
	defined (e.g., a pure POSIX system).
	(EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
	instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.

2002-12-06  Paul Eggert  <eggert@twinsun.com>

	Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
	a pain in practice to deal with generated m4 files.  This change
	goes together with the 2002-12-04 unlocked-io.h change in ../lib.

	* m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
	and jm-glibc-io.m4, as they are no longer a special case.
	* m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
	kludge and the auto-generation stuff.  Check only whether the
	functions are declared, not whether they exist, since older hosts
	that don't declare the functions can't use the optimization anyway.

2002-12-06  Jim Meyering  <jim@meyering.net>

	* lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.

	Merge in changes from libc's misc/error.c, in preparation
	for the merge of gnulib's changes back into libc.

	* lib/error.c (_): Define only if not already defined.
	Move definition to follow all #include directives.
	Include unlocked-io.h only if !_LIBC.
	[_LIBC]: Include <libio/libioP.h>.
	[USE_IN_LIBIO]: Include <libio/iolibio.h>
	(fflush): Tweak definition to use INTUSE.
	(putc): Define.

2002-12-05  Paul Eggert  <eggert@twinsun.com>

	* lib/alloca.c [defined emacs]: Include "lisp.h".
	(xalloc_die) [defined emacs]: New macro.
	(free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
	[! defined emacs]: Include <xalloc.h>.
	(POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
	(pointer): Typedef to POINTER_TYPE *.
	(malloc): Remove decl; we now always use xmalloc.
	(alloca): Use old-style definition, since Emacs needs this.
	Check for arithmetic overflow when computing combined size.

2002-12-04  Paul Eggert  <eggert@twinsun.com>

	Do not generate unlocked-io.h automatically, since it's easier to
	maintain it by hand.

	* lib/unlocked-io.h: New file, from GNU diffutils,
	but with proper copyright notice and attribution.
	* lib/gen-uio: Remove.
	* lib/Makefile.am: Add copyright notice.
	(libfetish_a_SOURCES): Add unlocked-io.h.
	(BUILT_SOURCES, all-local): Remove unlocked-io.h.
	(DISTCLEANFILES, io_functions): Remove macros.
	(EXTRA_DIST): Remove gen_uio.
	(unlocked-io.h): Remove rule.

2002-12-04  Jim Meyering  <jim@meyering.net>

	Reflect the fact that stat.c and lstat.c are no longer generated.
	* lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
	(DISTCLEANFILES): Likewise.
	(EXTRA_DIST): Likewise.
	(all_local): Don't depend on stat.c or lstat.c.
	(stat.c, lstat.c): Remove rules.
	(EXTRA_DIST): Remove xstat.in.

	* lib/xstat.in: Remove file.  Contents moved into stat.c.
	* lib/stat.c: New file.  Contents mostly from xstat.in.
	* lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
	* lib/lstat.c: New file. Simply #define LSTAT and include stat.c.

	* lib/safe-read.c: Rework so that it may serve to define safe_write,
	too.
	* lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.

2002-12-03  Jim Meyering  <jim@meyering.net>

	* lib/safe-read.c, safe-write.c: Change variable names and comments,
	but not semantics, to minimize the differences between these two files.
	(safe_read): Change comment to mention SAFE_READ_ERROR.

	* lib/safe-read.c (IS_EINTR): Define.
	(safe_read): Use IS_EINTR in place of in-function cpp directives.

2002-12-02  Jim Meyering  <jim@meyering.net>

	* lib/safe-read.c (EINTR): Define.
	(CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
	(INT_MAX): Provide fallback.
	(safe_read): Rewrite to iterate IFF the read fails with EINTR.

	* lib/safe-read.h (SAFE_READ_ERROR): Define.

2002-12-02  Bruno Haible  <bruno@clisp.org>

	* lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
	Define, taken from safe-read.c.
	(INT_MAX): Provide fallback.
	(safe_write): Rewrite to iterate IFF the write fails with EINTR.
	* lib/safe-write.h (SAFE_WRITE_ERROR): Define.

	* lib/safe-read.c (EINTR): Remove definition.
	(safe_read): Don't use EINTR if it is absent.

2002-12-01  Jim Meyering  <jim@meyering.net>

	* lib/safe-read.c: (safe_read): Also exit the loop when read returns
	zero.
	(CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.

2002-11-27  Paul Eggert  <eggert@twinsun.com>

	* lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
	hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
	with `if (! (value < limit)) abort ();', for readability.

2002-11-26  Karl Berry  <karl@gnu.org>

	* lib/strdup.c: copy from libc again, with jim's ok.
	* lib/.cppi-disable: re-add strdup.c

2002-11-25  Karl Berry  <karl@gnu.org>

	* lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
	instead of "strtol.c".

2002-11-25  Karl Berry  <karl@gnu.org>

	* config/install-sh: update from automake for variable quoting, $0 in
	error msgs, etc.

	* config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
	* config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
	entry.

2002-11-25  Jim Meyering  <jim@meyering.net>

	* lib/mktime.c: Sync from libc, now that it has the latest fix.

2002-11-24  Karl Berry  <karl@gnu.org>

	* lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
	regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.

2002-11-24  Jim Meyering  <jim@meyering.net>

	Update from coreutils:

	* lib/mktime.c: Merge in changes from libc.

	Avoid a link-time failure on some Linux systems.
	* lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
	(otherwise).
	(__mon_yday): Declare with the STATIC attribute.
	(__mktime_internal): Likewise.
	Based on a report from Greg Schafer.

2002-11-23  Jim Meyering  <jim@meyering.net>

	* lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
	Use `unsigned', not `int', as type of index.

	* lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.

	* lib/fsusage.c: Remove unneeded parentheses around operands of
	`defined'.

2002-11-22  Paul Eggert  <eggert@twinsun.com>

	* lib/quotearg.h: Allow multiple inclusion by surrounding with
	"#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
	so that we can be included first.
	(PARAMS): Remove; we now assume C89 or later.  All uses removed.
	* lib/quotearg.c: Include quotearg.h immediately after config.h.
	No need to include stddef.h or sys/types.h any more.
	Surround local include files with "", not "<>".
	Assume HAVE_LIMITS_H unconditionally, as we assume C89.
	Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
	HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
	(HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
	(mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
	(ISPRINT): Remove; no longer needed now that we assume C89.

	(clone_quoting_options, quotearg_buffer, quotearg_n_options):
	Preserve errno.

	(quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
	quotearg_char): Use SIZE_MAX rather than
	(size_t) -1 when we are talking about "infinity".

	(quotearg_buffer_restyled): Fix bug when quoting trigraphs.

2002-11-22  Paul Eggert  <eggert@twinsun.com>

	* lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
	hint that one should use `if (! x) abort ();' rather than `assert
	(x);', and anyway it's one less thing to worry about configuring.
	(hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
	hash_rehash, hash_insert): Use abort rather than assert.

2002-11-22  Bruno Haible  <bruno@clisp.org>

	* lib/safe-read.h: Assume C89. Add comments.
	(safe_read): Change return type to size_t.
	* lib/safe-read.c (safe_read): Change return type to size_t. Handle
	byte counts > SSIZE_MAX correctly.
	* lib/safe-write.h: New file.
	* lib/safe-write.c: New file.
	* lib/full-read.h: New file.
	* lib/full-read.c: New file.
	* lib/full-write.h: Assume C89. Add comments.
	* lib/full-write.c: Include safe-write.h.
	(full_write): Rewritten to use safe_write.
	Suggested by Jim Meyering and Paul Eggert.

2002-11-21  Jim Meyering  <jim@meyering.net>

	* lib/strdup.c (strdup): Tweak comment and initial #if/#include.

	Merge in changes from the coreutils.

	2002-09-25  Paul Eggert  <eggert@twinsun.com>
	* lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
	<stdint.h>.
	(UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
	(PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
	int.  Work more efficiently if X is the same width as uintmax_t.
	Do not compare X to -1, to avoid bogus compiler warning.
	(get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
	Don't assume that f_frsize and f_bsize are the same type.

	* lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
	warning on FreeBSD.

	* lib/makepath.c (make_path): Restore umask *before* creating the final
	component.
	(make_path): Minor reformatting.

	* lib/xmalloc.c: Adjust to work with new autoconf macros,
	AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
	HAVE_MALLOC/HAVE_REALLOC.

	* lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
	dummy ones.  At least on GNU/Linux systems, `auto' means something
	else.
	From Michael Stone.

2002-11-21  Bruno Haible  <bruno@clisp.org>

	Remove case insensitive option matching.
	* lib/argmatch.h (argcasematch): Remove declaration.
	(ARGCASEMATCH): Remove macro.
	(__xargmatch_internal): Remove case_sensitive argument.
	(XARGMATCH): Update.
	(XARGCASEMATCH): Remove macro.
	* lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
	case_sensitive argument.
	(argcasematch): Remove function.
	(__xargmatch_internal): Remove case_sensitive argument.
	(main): Use XARGMATCH instead of XARGCASEMATCH.

	* lib/xmalloc.c: Change compile-time error message. Add comment about
	required autoconf version.

2002-11-20  Paul Eggert  <eggert@twinsun.com>

	Merge argmatch cleanups from Bison.  Assume C89.

	* lib/argmatch.c: Include config.h here, not in argmatch.h.
	Include stdlib.h, for EXIT_FAILURE.
	Always include <string.h>, since we assume C89.
	(EXIT_FAILURE): Remove pre-C89 bug workaround.
	* lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
	Include <stddef.h> instead, since it's all we need for size_t.
	(PARAMS): Remove.  All uses removed.
	(ARRAY_CARDINALITY): Do not bother to #undef.
	(ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
	ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
	Remove unnecessary parentheses.
	(ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
	Insert necessary parentheses.
	(ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
	(ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.

2002-11-19  Bruno Haible  <bruno@clisp.org>

	* lib/mbswidth.c: Include mbswidth.h right at the beginning.
	* lib/mbswidth.h: Include <stddef.h>, for size_t.

	* lib/mbswidth.h (PARAMS): Remove macro.
	(mbswidth, mbsnwidth): Use ANSI C function declarations.
	* lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.

	* lib/gcd.h (PARAMS): Remove macro.
	(gcd): Use ANSI C function declarations.
	* lib/gcd.c (gcd): Likewise.

2002-11-15  Bruno Haible  <bruno@clisp.org>

	* lib/strcspn.c: Include <stddef.h>.
	(strcspn): Use ANSI C function declaration. Change return type to
	size_t. Use NULL.
	* lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
	(strpbrk): Use NULL.
	* lib/strpbrk.h (PARAMS): Remove macro.
	(strpbrk): Use ANSI C function declaration.
	* lib/strstr.c: Don't include <sys/types.h>.
	* lib/strstr.h (PARAMS): Remove macro.
	(strstr): Use ANSI C function declarations.

2002-11-14  Karl Berry  <karl@gnu.org>

	* config/mkinstalldirs: `do' on separate line, instead of
	`for var; do'.

2002-11-06  Bruno Haible  <bruno@clisp.org>

	* lib/gcd.h (gcd): Change argument type to 'unsigned long'.
	* lib/gcd.c (gcd): Likewise.

2002-11-05  Bruno Haible  <bruno@clisp.org>

	* lib/gcd.h: New file, from gettext-0.11.5.
	* lib/gcd.c: New file, from gettext-0.11.5.

2002-11-05  Bruno Haible  <bruno@clisp.org>

	* lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
	* lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
	* lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
	* lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.

	* lib/argmatch.c: Include gettext.h instead of <locale.h> and
	<libintl.h>.
	* lib/makepath.c: Include gettext.h instead of <locale.h> and
	<libintl.h>.

	* lib/closeout.c: Include gettext.h instead of <libintl.h>.
	* lib/human.c: Include gettext.h instead of <libintl.h>.
	* lib/quotearg.c: Include gettext.h instead of <libintl.h>.
	* lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
	* lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
	* lib/userspec.c: Include gettext.h instead of <libintl.h>.
	* lib/version-etc.c: Include gettext.h instead of <libintl.h>.
	* lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
	(textdomain): Remove definition.
	* lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.

	* lib/long-options.c: Remove include of <libintl.h> and definition of
	_.
	* lib/same.c: Remove include of <libintl.h> and definition of _.

2002-11-04  Owen Taylor  <otaylor@redhat.com>

	* lib/config.charset: A few additions for Solaris.

2002-11-04  Bruno Haible  <haible@clisp.cons.org>

	Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
	* lib/localcharset.c (locale_charset): Declare as extern "C".

2002-11-04  Bruno Haible  <haible@clisp.cons.org>

	* lib/config.charset: msdos in uk_UA uses CP1125.

2002-11-04  Bruno Haible  <bruno@clisp.org>

	* lib/stpcpy.h: New file, from GNU gettext-0.11.5.
	* lib/strcase.h: New file, from GNU gettext-0.11.5.
	* lib/strpbrk.h: New file, from GNU gettext-0.11.5.
	* lib/strstr.h: New file, from GNU gettext-0.11.5.
	* lib/xgetcwd.h: New file, from GNU gettext-0.11.5.

2002-11-04  Bruno Haible  <bruno@clisp.org>

	* lib/localcharset.c (locale_charset): Don't return an empty string.

2002-11-04  Bruno Haible  <bruno@clisp.org>

	* lib/localcharset.c (get_charset_aliases): Add more Windows specific
	aliases.

2002-11-04  Bruno Haible  <bruno@clisp.org>

	* lib/config.charset: Update for newest glibc. Add canonical names
	ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.

2002-11-04  Bruno Haible  <bruno@clisp.org>

	* lib/config.charset: Add support for NetBSD.

2002-11-04  Bruno Haible  <bruno@clisp.org>

	* lib/config.charset [msdosdjgpp]: For Russian, use CP866.

2002-11-01  Bruno Haible  <bruno@clisp.org>

	* configure.in: Add AC_CONFIG_AUX_DIR call.
	(AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
	test/Makefile.
	* Makefile.in (subdirs): Add m4, lib. Remove doc, test.

2002-09-28  Karl Berry  <karl@gnu.org>

	* config/srclist.txt: can't copy install-sh/mkinstalldirs from
	installed automake until the next release, since changes have been
	made.

2002-09-25  Karl Berry  <karl@gnu.org>

	* lib/strdup.c: copy from libc/string (via ../config/srclist*).
	* lib/getopt*: copy from libc/posix.
	* lib/gettext.h: copy from gettext.
	* lib/.cppi-disable: add strdup.c, gettext.h.

2002-09-25  Karl Berry  <karl@gnu.org>

	* config/srclist.txt: enable gettext.h check.
	* config/config.{guess,sub}: update from prep.
	* config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
		from automake 1.6.3.
	See srclist*.

2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>

	* regex.c (PATFETCH): Remove the translating fetch.
	(PATFETCH_RAW): Rename to PATFETCH.
	(set_image_of_range): New fun.
	(SET_RANGE_TABLE_WORK_AREA): Use it.
	(regex_compile): Don't translate the pattern chars so eagerly.
	Only do it when inserting an `exactn' bytecode or when handling
	a char-range.
	(mutually_exclusive_p): Avoid empty statement.

2002-07-06  Jim Meyering  <meyering@lucent.com>

	* m4/README: Don't mention Makefile.am.in.
	Outline how I've tested changes to .m4 files.  Yep, it's a pain.

2002-07-01  Jim Meyering  <meyering@lucent.com>

	* lib/c-stack.c: Include sys/time.h.
	From Volker Borchert.

2002-06-26  Paul Eggert  <eggert@twinsun.com>

	* m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.

2002-06-26  Paul Eggert  <eggert@twinsun.com>

	* lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
	New macro.  Use it uniformly instead of
	(defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
	It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
	reported by Vin Shelton.

2002-06-22  Paul Eggert  <eggert@twinsun.com>

	* lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
	Do not assume SA_SIGINFO behavior.
	Bug reported by Jim Meyering on NetBSD 1.5.2.

2002-06-22  Jim Meyering  <meyering@lucent.com>

	* m4/c-stack.m4: New file, from diffutils-2.8.2.
	* m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.

	* m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
	now that configure.ac uses AC_GNU_SOURCE.
	(jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
	* m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.

	Update to latest tools.  Suggestions from Paul Eggert.
	* m4/stdbool.m4: New file, from diffutils-2.8.2.
	* m4/gnu-source.m4: Update from diffutils-2.8.2.
	* m4/fnmatch.m4: Likewise.
	* m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
	to AC_HEADER_STDBOOL

2002-06-22  Jim Meyering  <meyering@lucent.com>

	* lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
	redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.

2002-06-22  Jim Meyering  <meyering@lucent.com>

	* lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.

	* lib/exitfail.c, exitfail.h: Likewise.
	* lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.

	* lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
	of fnmatch.h.
	(EXTRA_DIST): Add fnmatch_loop.c.
	(libfetish_a_SOURCES): Add c-stack.c and c-stack.h.

	* lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
	* lib/fnmatch.c: Update from diffutils-2.8.2.
	* lib/fnmatch_.h: New file.  From diffutils-2.8.2.
	* lib/fnmatch.h: Remove file.

2002-06-21  Jim Meyering  <meyering@lucent.com>

	* m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
	* m4/mbrtowc.m4: Likewise.

	* m4/mbstate_t.m4: Update from diffutils-2.8.2.
	* m4/mbswidth.m4: Reflect name change:
	s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
	* m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.

	* m4/lib-link.m4: Update from gettext-0.11.2.
	* m4/gettext.m4: Likewise.

	* m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
	From Alfred M. Szmidt.

2002-06-18  Paul Eggert  <eggert@twinsun.com>

	* lib/file-type.h: Report an error if neither S_ISREG nor
	S_IFREG is defined, instead of using a test specific to glibc
	2.2.  This should be safe, since POSIX requires S_ISREG and
	Unix Version 7 had S_IFREG.  We don't need to check for
	<sys/types.h> since we don't use any symbols that it defines.

2002-06-15  Richard Dawe  <richdawe@bigfoot.com>

	* lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
	$@-t, so that each temporary file name is unique and valid in the first
	8 characters, for operation under DOS.

2002-06-15  Paul Eggert  <eggert@twinsun.com>

	* m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.

2002-06-15  Jim Meyering  <meyering@lucent.com>

	Work even with DJGPP 2.03, which lacks support for symlinks.
	From Richard Dawe.
	* lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
	is defined.
	* lib/lchown.c (S_ISLNK): Likewise.

2002-06-15  Jim Meyering  <meyering@lucent.com>

	* lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
	For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
	have been included before this file.

2002-06-14  Jim Meyering  <meyering@lucent.com>

	* lib/file-type.h: Use the version from diffutils-2.8.2.
	* lib/file-type.c: Likewise.

2002-06-07  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
	They're needed at least for NetBSD 1.5.2.
	($statxfs_includes): Include those same headers.
	($statxfs_includes): Include sys/vfs.h if available.
	($statxfs_includes): Likewise for sys/statvfs.h.
	Check for the following members in both structs statfs and statvfs:
	f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.

2002-06-01  Jim Meyering  <meyering@lucent.com>

	* m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
	s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.

2002-05-28  Jim Meyering  <meyering@lucent.com>

	* m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
	Reported by Volker Borchert.

2002-05-27  Jim Meyering  <meyering@lucent.com>

	Fix a problem seen only on nonconforming systems whereby ls.c's
	use of localtime, and then of gettimeofday would cause trouble:
	the localtime call used to initialize rpl_gettimeofday's save
	mechanism would clobber ls's current local time information so
	that in any long listing the first file would always be listed
	with date 1970-01-01.  Analysis by Volker Borchert.

	* lib/gettimeofday.c (localtime): Undefine.
	(rpl_localtime): New function.

2002-05-27  Jim Meyering  <meyering@lucent.com>

	* m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
	localtime.

	* m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
	use the replacement function; it wouldn't resolve at link time.
	Reported by Volker Borchert.

2002-05-22  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
	file-type.h.
	* lib/file-type.h: New file.
	* lib/file-type.c (file_type): New file/function.  Extracted from
	diffutils.

2002-04-30  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.

2002-04-29  Paul Eggert  <eggert@twinsun.com>

	* m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.

2002-04-29  Paul Eggert  <eggert@twinsun.com>

	* m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
	Do not check for alloca.h (no longer used) or stdbool.h (was never
	used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.

2002-04-29  Paul Eggert  <eggert@twinsun.com>

	* lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.

2002-04-29  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
	* m4/prereq.m4: Add jm_PREREQ_STRNLEN.
	Use AC_FUNC_STRNLEN here instead.

	* m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
	With autoconf-2.53a, it's part of AC_PROG_CC.

2002-04-28  Paul Eggert  <eggert@twinsun.com>

	* m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
	* m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.

2002-04-28  Paul Eggert  <eggert@twinsun.com>

	* lib/sig2str.h, lib/sig2str.c: New files.
	* lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.

2002-04-28  Paul Eggert  <eggert@twinsun.com>

	* lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
	depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
	of 127, since 64 is the largest conceivable number for ancient
	nonstandard hosts.
	* lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.

2002-04-28  Jim Meyering  <meyering@lucent.com>

	* lib/sig2str.c (WTERMSIG): Remove definition (unused).

2002-04-24  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
	(jm_PREREQ): Use it.

	* m4/getloadavg.m4: Check for these headers: locale.h unistd.h
	mach/mach.h fcntl.h.
	Check for this function: setlocale.

2002-04-24  Jim Meyering  <meyering@lucent.com>

	* lib/gettext.h: New file, from Gettext.
	* lib/Makefile.am (INCLUDES): Remove -I../intl.
	(libfetish_a_SOURCES): Add gettext.h.

2002-04-16  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
	ut_pid, ut_id, ut_exit.

2002-04-16  Jim Meyering  <meyering@lucent.com>

	* lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
	(HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
	(HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.

2002-04-12  Jim Meyering  <meyering@lucent.com>

	* m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
	now-bogus check for f_type in sys/mount.h.  Instead, just test for the
	existence of the getmntinfo function.  Needed for Darwin 5.3.

	* m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
	This is necessary at least on Darwin 5.3.

	* m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
	AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
	strnlen.o in the library, and that makes some versions of ranlib
	object.

2002-04-12  Jim Meyering  <meyering@lucent.com>

	* lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.

2002-04-09  Jim Meyering  <meyering@lucent.com>

	* m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
	to be more precise.  Rather than saying we're checking whether the
	function `works', say what we're testing.
	* m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
	Reported by Bruno Haible.

2002-03-10  Jim Meyering  <meyering@lucent.com>

	* lib/makepath.c (make_path): Remove a comma from a diagnostic.
	Suggestion from Santiago Vila.

2002-03-08  Jim Meyering  <meyering@lucent.com>

	* lib/rename.c: Mention that this wrapper is needed also on
	mips-dec-ultrix4.4 systems.

2002-03-02  Jim Meyering  <meyering@lucent.com>

	* lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
	not HAVE_CLOCK_SETTIME.

2002-02-27  Paul Eggert  <eggert@twinsun.com>

	* m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
	Check for clock_settime.

2002-02-27  Paul Eggert  <eggert@twinsun.com>

	* lib/nanosleep.h: Rename to....
	* lib/timespec.h: New name for nanosleep.h.  All uses changed.

	* lib/gettime.c: New file.
	* lib/settime.c: New file.
	* lib/stime.c: Remove.

	* lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
	timespec.h.  Remove nanosleep.h.

2002-02-25  Paul Eggert  <eggert@twinsun.com>

	* m4/acl.m4: New file.
	* m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
	Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.

2002-02-25  Paul Eggert  <eggert@twinsun.com>

	* lib/acl.c, lib/acl.h: New files.
	* lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.

2002-02-24  Jim Meyering  <meyering@lucent.com>

	* lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
	prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
	cause trouble.  Reported by Nelson Beebe.

2002-02-23  Paul Eggert  <eggert@twinsun.com>

	* lib/path-concat.c (xpath_concat): Reorder code to pacify
	compilers that don't know that xalloc_die never returns.

2002-02-20  Jim Meyering  <meyering@lucent.com>

	* lib/getdate.c: Regenerate using bison-1.33.

2002-02-17  Jim Meyering  <meyering@lucent.com>

	* config/config.guess (main): Don't use `head -1'; it's no longer
	portable. Use `sed 1q' instead.

2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>

	* m4/codeset.m4: Upgrade to gettext-0.11.
	* m4/gettext.m4: Upgrade to gettext-0.11.
	* m4/glibc21.m4: Upgrade to gettext-0.11.
	* m4/iconv.m4: Upgrade to gettext-0.11.
	* m4/isc-posix.m4: Upgrade to gettext-0.11.
	* m4/lcmessage.m4: Upgrade to gettext-0.11.
	* m4/lib-ld.m4: New file, from gettext-0.11.
	* m4/lib-link.m4: New file, from gettext-0.11.
	* m4/lib-prefix.m4: New file, from gettext-0.11.
	* m4/progtest.m4: Upgrade to gettext-0.11.

2002-02-15  Paul Eggert  <eggert@twinsun.com>

	* m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
	(jm_PREREQ): Use it.

2002-02-15  Paul Eggert  <eggert@twinsun.com>

	* lib/posixver.c, lib/posixver.h: New files.
	* lib/Makefile.am (libfetish_a_SOURCES): Add them.

2002-02-02  Paul Eggert  <eggert@twinsun.com>
	    Bruno Haible  <bruno@clisp.org>

	* lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
	(fwrite_success_callback): New declaration.
	* lib/unicodeio.c (unicode_to_mb): New function, extracted from
	print_unicode_char. Call failure callback instead of error.
	(fwrite_success_callback): New function.
	(exit_failure_callback): New function.
	(fallback_failure_callback): New function.
	(print_unicode_char): Call unicode_to_mb.

2002-01-26  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
	* m4/strnlen.m4: Remove file, now that it's part of autoconf.

2002-01-26  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.

2002-01-22  Paul Eggert  <eggert@twinsun.com>

	* m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.

2002-01-22  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
	Otherwise, some versions of automake would omit the rule that makes
	Makefile from Makefile.in.

2002-01-21  Paul Eggert  <eggert@twinsun.com>

	* lib/xmemcoll.h, lib/xmemcoll.c: New files.
	* lib/Makefile.am (libfetish_a_SOURCES): Add them.
	* lib/memcoll.c: Include errno.h, and declare errno if not defined.
	(memcoll): Set errno to zero if there is no error.

	* lib/quotearg.c (quotearg_buffer_restyled):
	Fix bug with quoting buffers containing NUL when backslashing escapes.
	This bug was exposed by the other changes in this patch.
	(quotearg_n_options): New arg ARGSIZE.
	All callers changed.
	(quoting_options_from_style): New function.
	(quotearg_n_style): Use it.
	(quotearg_n_style_mem): New function.

	* lib/quotearg.h (quotearg_n_style_mem): New function.

2002-01-19  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
	Remove useless quotes: DF_PROG="df".
	* m4/strnlen.m4: New file.

2002-01-16  Paul Eggert  <eggert@twinsun.com>

	* lib/backupfile.c (ISDIGIT): Comment fix.
	* lib/getdate.y (ISDIGIT): Likewise.
	* lib/posixtm.c (ISDIGIT, year): Likewise.
	* lib/strverscmp.c (ISDIGIT): Likewise.
	* lib/userspec.c (ISDIGIT): Likewise.

2002-01-16  Jim Meyering  <meyering@lucent.com>

	* lib/getdate.y: Add three semicolons, each just before a closing
	brace. Bison (as of version 1.31) no longer papers over that mistake.

2002-01-05  Jim Meyering  <meyering@lucent.com>

	* lib/version-etc.c (version_etc_copyright): Update copyright year.

2001-12-19  Paul Eggert  <eggert@twinsun.com>

	* lib/closeout.c (close_stdout_status): If ferror (stdout), do
	not silently exit merely because the output buffer happens to
	have nothing pending.

2001-12-18  Paul Eggert  <eggert@twinsun.com>

	See the big note in ../ChangeLog.
	* lib/human.c (suffixes): Prefer K to k for 1024.
	(generate_suffix_backwards): New function.
	(human_readable_inexact): Use it.
	* lib/xstrtol.c (__xstrtol): If there is no number but there
	is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
	Accept 'K' as well as 'k'.

2001-12-15  Jim Meyering  <meyering@lucent.com>

	* lib/regex.h (__restrict_arr): Update from libc.

	* lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
	as `remote' if the name starts with `//'.  Suggested by Michael Stone.
	(STREQ): Define.

2001-12-14  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
	Suggestion from Bruno Haible.

2001-12-10  Jim Meyering  <meyering@lucent.com>

	* lib/linebuffer.c: Remove explicit declarations of xmalloc and
	xrealloc, Instead, include "xalloc.h".
	(initbuffer): Don't cast xmalloc return value to char*.
	(readline): Reword comment.
	Don't cast xrealloc return value to char*
	Return NULL, not 0.

2001-12-09  Jim Meyering  <meyering@lucent.com>

	* lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
	about `signed and unsigned type in conditional expression'.
	* lib/posixtm.c (posix_time_parse): Likewise.

	* lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.

	* lib/readtokens.c (readtoken): Declare an index to be of type unsigned
	to avoid a pedantic warning.

	* lib/getstr.c: Don't include assert.h.
	(getstr): Remove warning-evoking assertions.
	Return -1 if offset parameter is out of bounds.
	Change the type of a local from int to size_t.

	* lib/strftime.c (my_strftime_localtime_r): Include this function
	definition in the `#if ! HAVE_TM_GMTOFF' block.

	* lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
	Include xalloc.h instead.

2001-12-02  Jim Meyering  <meyering@lucent.com>

	* lib/tempname.c: Don't declare getenv, thus reverting the change of
	2001-11-18.  It's no longer necessary, now that stdlib.h is always
	included.

	* lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
	__unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.

2001-11-30  Akim Demaille  <akim@epita.fr>

	* lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
	before being defined.

2001-11-27  Paul Eggert  <eggert@twinsun.com>

	* lib/quotearg.h (quotearg_n, quotearg_n_style):
	First arg is int, not unsigned.
	* lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
	(SIZE_MAX, UINT_MAX): New macros.
	(quotearg_n_options): Abort if N is negative.
	Avoid overflow check on hosts where size_t is 64 bits and int
	is 32 bits, as overflow is impossible there.
	Fix off-by-one typo that caused unnecessary reallocation.

2001-11-27  Jim Meyering  <meyering@lucent.com>

	* lib/tempname.c: Merge with version from libc.
	* lib/regex.c: Likewise.

	* lib/tempname.c: Include stdlib.h unconditionally.  On some old
	systems for which STDC_HEADERS is 0, it was not included, resulting in
	a warning about an integer-to-pointer conversion problem with getenv.
	Reported by Volker Borchert.

2001-11-26  Jim Meyering  <meyering@lucent.com>

	* lib/gtod.h: Remove file.
	* lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
	* lib/gettimeofday.c: Don't include gtod.h.
	(GTOD_init): Remove function.
	(rpl_gettimeofday): Do its job here instead, rather than aborting.
	Suggestion from Volker Borchert.

2001-11-23  Jim Meyering  <meyering@lucent.com>

	* lib/hash.h (struct hash_table): Don't define here.  Merely declare
	it.
	* lib/hash.c (struct hash_table): Define it here instead.

2001-11-22  Jim Meyering  <meyering@lucent.com>

	* lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.

2001-11-20  Jim Meyering  <meyering@lucent.com>

	* m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
	SunOS 4.1.4 and Solaris 2.5.1 lose, too.

2001-11-19  Jim Meyering  <meyering@lucent.com>

	* m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
	directory.  Use "conftestXXXXXX" as the template.
	Suggestion from Paul Eggert.

	* m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
	immediately, so the test doesn't mistakenly hit the max-open-files
	limit.

2001-11-18  Paul Eggert  <eggert@twinsun.com>

	* lib/tempname.c (TMP_MAX): Remove; no longer needed.
	(TEMPORARIES): New macro.
	(__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
	removes an artificial limitation (e.g. HP-UX 10.20, where
	TMP_MAX is 17576).

2001-11-18  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.

2001-11-18  Jim Meyering  <meyering@lucent.com>

	* lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
	on SunOS 4.

	* lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
	files will be created before anything else.

2001-11-17  Paul Eggert  <eggert@twinsun.com>

	* m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
	WINSIZE_IN_PTEM if <termios.h> defines struct winsize.

2001-11-17  Jim Meyering  <meyering@lucent.com>

	* m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
	Prompted by a report from Bob Proulx.

	* m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
	Instead, require UTILS_FUNC_MKSTEMP.

2001-11-17  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
	Now, that's done as part of AC_FUNC_STRTOD.

2001-11-17  Jim Meyering  <meyering@lucent.com>

	* lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
	that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
	rather than group writable.  Patch by Juan F. Codagnone.

	* lib/readtokens.c: Remove explicit declarations of xmalloc and
	xrealloc, Instead, include "xalloc.h".

	* lib/mountlist.c: Include unlocked-io.h after all system headers.
	Remove explicit declarations of xmalloc, xrealloc,
	and xstrdup.  Instead, include "xalloc.h".

	* lib/argmatch.c, closeout.c, error.c, exclude.c: Include
	unlocked-io.h.
	* lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
	Likewise.
	* lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.

	* lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
	Reported by Padraig Brady.

	* lib/mkstemp.c: #undef mkstemp.
	Include config.h.
	(rpl_mkstemp): Rename from mkstemp.
	Protoize.

2001-11-16  Jim Meyering  <meyering@lucent.com>

	* lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
	(physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
	determine the amount of total physical memory, use pstat_getstatic.
	HPUX-11 doesn't define _SC_PHYS_PAGES.
	(physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
	If sysconf couldn't be used to determine the amount of available
	physical memory, use both pstat_getstatic and pstat_getdynamic.
	Based on a patch from Bob Proulx.

2001-11-10  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
	(jm_PREREQ): Use it.

2001-11-09  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4: Require autoconf-2.52f.
	(AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
	Use these AC_-prefixed names, not the AM_-prefixed ones.

	* m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.

2001-11-05  Jim Meyering  <meyering@lucent.com>

	* lib/xstat.in (slash_aware_lstat): Correct a misleading comment.

2001-11-04  Jim Meyering  <meyering@lucent.com>

	* m4/fpending.m4: Remove unused cruft that saved, set, and restored
	$DEFS.

2001-11-03  Jim Meyering  <meyering@lucent.com>

	* m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
	of AC_DEFUN.

	* m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
	know the name of the variable in the macro definition.

2001-11-03  Jim Meyering  <meyering@lucent.com>

	* lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
	in argmatch_to_argument call.

	* lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
	argument.

	* lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
	e.g., a fault due to an attempt to free a NULL pointer.

2001-11-01  Jim Meyering  <meyering@lucent.com>

	* m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
	* m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.

2001-11-01  Jim Meyering  <meyering@lucent.com>

	* lib/dirfd.c, lib/dirfd.h: New files.
	* lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.

	* lib/hash.c (hash_print) [TESTING]: Clean up.

2001-10-22  Paul Eggert  <eggert@twinsun.com>

	* lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
	to avoid a warning if -Wall.

2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>

	* README: New file
	* doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
	(per RMS's instructions, this is now the canonical source)
	* lgpl/, gpl/: New directories.

2001-10-21  Paul Eggert  <eggert@twinsun.com>

	* lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.

2001-10-21  Jim Meyering  <meyering@lucent.com>

	* lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
	this code would end up calling gettext even in packages built
	with --disable-nls.
	* lib/getopt.c (_): Likewise.
	* lib/regex.c (_): Likewise.

2001-10-20  Paul Eggert  <eggert@twinsun.com>

	* m4/error.m4 (jm_PREREQ_ERROR):
	Do not invoke AC_CHECK_FUNCS with strerror_r, as
	AC_FUNC_STRERROR_R does that.
	Check for strerror declaration.

	* m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
	are supposed to have them these days.
	(AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
	Merge changes from latest Autoconf CVS.
	Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
	and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
	POSIX decided to standardize on the int flavor of strerror_r.

2001-10-20  Paul Eggert  <eggert@twinsun.com>

	* lib/error.c (strerror_r): Do not declare unless !_LIBC.
	Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
	Use strerror_r that is only a macro, even if it is not a function.
	(strerror): Check for HAVE_DECL_STRERROR before declaring.
	(private_strerror): Use prototypes, not old-style function definition.
	(print_errno_message): New function.
	Support the POSIX 'int'-flavored strerror_r, as well as the traditional
	char*-flavored one.
	(error_tail, error, error_at_line): Use it.

2001-10-11  Jim Meyering  <meyering@lucent.com>

	* lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
	and quote_n (1, ... to avoid clobbering a buffer.

2001-10-05  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
	hash-pjw.h.
	* lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
	* lib/hash-pjw.h: New file.

2001-09-30  Jim Meyering  <meyering@lucent.com>

	* m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
	`struct fsstat' has the `f_fstypename' member.
	Use that to define FS_TYPE, which is now used to make
	the getfsstat link test tighter.

2001-09-30  Jim Meyering  <meyering@lucent.com>

	* lib/mountlist.c [MOUNTED_GETFSSTAT]:
	Include <sys/ucred.h>, for Apple Darwin.
	Include sys/mount.h and sys/fs_types.h only if available.
	(FS_TYPE): Define.
	(read_filesystem_list): Use FS_TYPE.

2001-09-29  Paul Eggert  <eggert@twinsun.com>

	* lib/exclude.c (excluded_filename): 0 -> false, since it's
	a boolean context.

2001-09-29  Jim Meyering  <meyering@lucent.com>

	* m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
	[one-argument getmntent function]): Include stdio.h before mntent.h.
	SunOS 4.1.x needs it for the declaration of `FILE'.
	Patch by Volker Borchert.

	* m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
	Check for these headers: sys/param.h sys/ucred.h sys/mount.h
	sys/fs_types.h, and make the link-test for getfsstat guard #include
	directives with appropriate #if HAVE_*_H tests so that we can
	detect getfsstat on Apple Darwin1.3.7 systems.
	Reported by Nelson Beebe.
	Fix harmless typo in cache variable name: s/getsstat/getfsstat/.

2001-09-28  Paul Eggert  <eggert@twinsun.com>

	Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
	#defines strtoimax.  Also treat the other strto* functions
	like strtoimax.

	* m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
	Check for strtoul and strtoumax,
	as those declarations are made even in the signed case.
	* m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
	Likewise, for strtol and strtoimax.

2001-09-28  Paul Eggert  <eggert@twinsun.com>

	Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
	#defines strtoimax.  Also treat the other strto* functions
	like strtoimax.

	* lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
	(strtoul): Do not declare if HAVE_DECL_STRTOUL.
	(strtoimax, strtoumax): Do not declare if already defined as a macro.

2001-09-26  Jim Meyering  <meyering@lucent.com>

	Most macros in unlocked-io.h had the wrong number of arguments.
	* lib/gen-uio: New script.
	(USE_UNLOCKED_IO): Define to 1 if not already defined.
	* lib/unlocked-io.hin: Remove file.
	* lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
	rather than trying to embed it here.
	(EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
	Reported by Padraig Brady.

2001-09-25  Volker Borchert  <bt@teknon.de>

	* lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
	`result'.

2001-09-24  Jim Meyering  <meyering@lucent.com>

	* m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.

2001-09-23  Jim Meyering  <meyering@lucent.com>

	* m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
	instead of the mere test for existence of mntent.h.  The latter
	would get a false-positive on AIX 3.4 systems.
	In the outer getmntent if-block, don't die if neither of the getmntent
	tests succeeds.  Instead, just fall through and continue with the
	remaining tests.

2001-09-23  Jim Meyering  <meyering@lucent.com>

	* lib/mountlist.c: Remove useless parentheses in #if directives.
	(MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
	the deprecated MOUNTED symbol is no longer defined in mntent.h.

2001-09-22  Jim Meyering  <meyering@lucent.com>

	* m4/gettext.m4: New file.  From gettext.
	* m4/lcmessage.m4: Sync with gettext -- this changes only comments.
	* m4/progtest.m4: Likewise
	* m4/isc-posix.m4: Decrement serial number to sync with gettext.
	* m4/glibc21.m4: Likewise.

	* m4/libintl.m4: Remove.  No longer used.

2001-09-22  Jim Meyering  <meyering@lucent.com>

	* lib/localcharset.c: Update from latest gettext.
	* lib/config.charset: Likewise.

2001-09-20  Jim Meyering  <meyering@lucent.com>

	* m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
	strtoimax.
	* m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
	strtoumax.

2001-09-20  Jim Meyering  <meyering@lucent.com>

	* lib/xstrtol.c (strtoimax): Guard declaration with
	`#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
	The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
	have their own, conflicting declaration of strtoimax in sys/inttypes.h.
	(strtoumax): Likewise, for completeness (it wasn't necessary).

2001-09-17  Paul Eggert  <eggert@twinsun.com>

	* lib/strtoimax.c (HAVE_LONG_LONG):
	Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
	(strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
	to work around bug in IBM C compiler.

2001-09-17  Jim Meyering  <meyering@lucent.com>

	* m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
	* m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
	* m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
	* m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
	* m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
	whenever the right hand side need not be expanded by the shell.

2001-09-16  Paul Eggert  <eggert@twinsun.com>

	* m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
	library.  It's not correct, as some older glibcs are buggy.
	fnmatch wasn't fixed until glibc 2.2.

	Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
	special shell magic here.

2001-09-16  Jim Meyering  <meyering@lucent.com>

	* m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
	* m4/jm-macros.m4: Require it.

2001-09-16  Jim Meyering  <meyering@lucent.com>

	* lib/mkdir.c: New file.

2001-09-15  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4: Check for help2man.

2001-09-11  Jim Meyering  <meyering@lucent.com>

	* m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
	The body, by Paul Eggert, was moved here from configure.in.
	* m4/jm-macros.m4: Require UTILS_HOST_OS.

2001-09-04  Paul Eggert  <eggert@twinsun.com>

	* m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
	(jm_PREREQ): Use it.

2001-09-04  Paul Eggert  <eggert@twinsun.com>

	* lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
	Use ssize_t, not int, to store result of readlink.
	Check for ssize_t overflow as well as size_t overflow,
	as POSIX says the result of readlink is implementation-defined
	when ssize_t overflows.
	Remove unnecessary cast to char*.
	Use free+malloc instead of realloc, as the storage doesn't need
	to be preserved and it's clearer and can be more efficient that way.
	(SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
	* lib/xreadlink.h (xreadlink): Update prototype.

2001-09-04  Paul Eggert  <eggert@twinsun.com>

	* lib/xgetcwd.c: Revert some of the previous change; intead,
	fix the HAVE_GETCWD_NULL code to behave more like the
	!HAVE_GETCWD_NULL code used to.

	Include "xalloc.h".
	(xgetcwd): Do not return NULL when memory is exhausted; instead,
	invoke xalloc_die.

2001-09-03  Paul Eggert  <eggert@twinsun.com>

	* m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
	sys/param.h, as pathmax.h includes them.

2001-09-03  Paul Eggert  <eggert@twinsun.com>

	* m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
	(jm_PREREQ_XGETCWD): New macro.

	* m4/getcwd.m4: New file.

2001-09-03  Paul Eggert  <eggert@twinsun.com>

	* lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
	like the HAVE_GETCWD_NULL code.
	Include pathmax.h if not HAVE_GETCWD.
	Do not include xalloc.h.
	(INITIAL_BUFFER_SIZE): New symbol.
	Do not use xmalloc / xrealloc, since the caller is responsible for
	handling errors.  Preserve errno around `free' during failure.
	Do not overrun buffer when using getwd.

2001-09-03  Paul Eggert  <eggert@twinsun.com>

	* lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
	__GLIBC__ && __GLIBC__ >= 2), to decide whether to use
	getcwd (NULL, 0).

2001-09-03  Paul Eggert  <eggert@twinsun.com>

	* lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
	usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
	spotted by Jim Meyering.

2001-09-03  Jim Meyering  <meyering@lucent.com>

	* lib/xreadlink.c (xreadlink): Preserve errno around `free' during
	failure.

2001-09-02  Jim Meyering  <meyering@lucent.com>

	* lib/error.c: Update from GNU libc.

2001-09-01  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
	Used by df.

2001-09-01  Jim Meyering  <meyering@lucent.com>

	* lib/xreadlink.c: New file.
	* lib/xreadlink.h: New file.
	* lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
	xreadlink.h.

	* lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
	doesn't conflict with sparc Solaris 7's definition in
	/usr/include/sys/int_types.h.

	* lib/exclude.c: Use `""', not `<>' to #include non-system header
	files.
	(fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
	and strncasecmp as r-values.  Unixware didn't have declarations.

2001-08-31  Paul Eggert  <eggert@twinsun.com>

	* lib/xstrtol.h: Add copyright notice.
	(_DECLARE_XSTRTOL): Improve quality of diagnostic for
	LONGINT_INVALID_SUFFIX_CHAR.

2001-08-31  Paul Eggert  <eggert@twinsun.com>

	* lib/xstrtol.c (strtoimax): New decl.

2001-08-31  Paul Eggert  <eggert@twinsun.com>

	* lib/xgetcwd.c: Don't include pathmax.h.
	Include stdlib.h and unistd.h if available.
	Include xalloc.h.
	(xmalloc, xstrdup, free): Remove decls.
	(xgetcwd): Don't assume sizes fit in unsigned.
	Check for overflow when computing sizes.
	Simplify reallocation code.

2001-08-31  Paul Eggert  <eggert@twinsun.com>

	* lib/savedir.c (savedir): Remove size parameter, as POSIX says that
	a directory's st_size can have an arbitrary value, so the old
	usage could waste an arbitrary amount of memory.  All uses
	changed.
	* lib/savedir.h: Update prototype.

2001-08-31  Paul Eggert  <eggert@twinsun.com>

	* lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.

	* lib/strtoimax.c: Renamed from strtoxmax.c, removing the
	old strtoimax.c.

	Also, make the following further changes to make this file's
	configuration more similar to that of strtol.c:
	(UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
	(strtoumax, uintmax_t, strtoull, strtol): Remove.
	(intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
	(strtoimax): Renamed from strtoumax.  All uses of unsigned values
	changed to signed values.

	And make the following changes as well:
	Fix copyright notice, as 1999 was missing.
	(verify): New macro.
	(strtoimax): Check sizes at compile-time, not run-time.
	Prefer strtol to strtoll if both work.
	(main): Remove; it was not that useful and was a pain to maintain.

	* lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.

2001-08-31  Jim Meyering  <meyering@lucent.com>

	* lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
	Use an initial, malloc'd, buffer of length 128 rather than
	a statically allocated one of length 1024.

2001-08-30  Paul Eggert  <eggert@twinsun.com>

	Simplify code, partly by assuming autoconf 2.52 semantics.

	* m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.

	* m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
	(jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
	All uses removed.
	(jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
	Move AC_REQUIRE to next-to-top level, to avoid confusion.
	Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
	* m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
	jm_AC_HEADER_INTTYPES_H.
	* m4/jm-macros.m4 (jm_MACROS): Likewise.

	* m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.

	* m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
	Quote first arg of AC_DEFUN.
	Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
	since they are needed to parse the include file even if we need
	only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
	* m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
	but with opposite signedness.

2001-08-30  Paul Eggert  <eggert@twinsun.com>

	Merge 'exclude' changes from tar 1.13.22.
	This fixes one or two unlikely storage allocation overflow bugs,
	but doesn't change user-visible behavior otherwise.

2001-08-30  Paul Eggert  <eggert@twinsun.com>

	* m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
	(jm_PREREQ_EXCLUDE): New macro.

2001-08-30  Paul Eggert  <eggert@twinsun.com>

	* lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
	tm to be declared.

2001-08-30  Paul Eggert  <eggert@twinsun.com>

	* lib/hash.c: Remove '2001' from copyright notice.

2001-08-30  Paul Eggert  <eggert@twinsun.com>

	* lib/full-write.h: New file.
	* lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
	* lib/full-write.c: Correct credits, as cccp.c no longer
	exists and anyway it was so heavily changed from the old cccp
	code as to be unrecognizable.  Include full-write.h.
	(full_write): Return size_t, with short writes meaning failure.
	All callers changed.  This fixes a bug with large buffers
	on 64-bit hosts.
	* lib/utime.c: Include full-write.h.

2001-08-30  Paul Eggert  <eggert@twinsun.com>

	* lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
	(<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
	(<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
	Include if available.
	(<xalloc.h>): Include
	(SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
	(verify): New macro.  Use it to verify that EXCLUDE macros do not
	collide with FNM macros.
	(struct patopts): New struct.
	(struct exclude): Use it, as exclude patterns now come with options.
	(new_exclude): Support above changes.
	(new_exclude, add_exclude_file):
	Initial size must now be a power of two to simplify overflow checking.
	(free_exclude, fnmatch_no_wildcards): New function.
	(excluded_filename): No longer requires options arg, as the options
	are determined by add_exclude.  Now returns bool, not int.
	(excluded_filename, add_exclude):
	Add support for the fancy new exclusion options.
	(add_exclude, add_exclude_file): Now takes int options arg.
	Check for arithmetic overflow when computing sizes.
	(add_exclude_file): xrealloc might modify errno, so don't
	realloc until after errno might be used.

	* lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
	New macros.
	(free_exclude): New decl.
	(add_exclude, add_exclude_file): Now takes int options arg.
	(excluded_filename): No longer requires options arg, as the options
	are determined by add_exclude.  Now returns bool, not int.

2001-08-30  Paul Eggert  <eggert@twinsun.com>

	* lib/alloca.c (alloca): Arg is of type size_t, not unsigned.

2001-08-27  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c

	* lib/version-etc.c (N_): Remove definition.
	Revert most of last change.
	Instead, simply don't mark the `Copyright...' string for translation.
	Based on advice from Paul Eggert.

	* lib/strtoxmax.c: Tweak comment.

2001-08-26  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.

	* m4/xstrtoimax.m4: New file.
	* m4/xstrtoumax.m4: Add comments explaining why we
	AC_REPLACE_FUNCS(strtol).

2001-08-26  Jim Meyering  <meyering@lucent.com>

	* lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
	of copyright with `%s' so translators don't get an untranslated
	message in 2002.
	(COPYRIGHT_YEAR): Define.
	(version_etc): Use fprintf rather than fputs.
	Suggestion from Ulrich Drepper.

	* lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.

	* lib/strtoll.c: New file, from GNU libc.
	* lib/xstrtoimax.c: New file.

	* lib/xstrtol.h: Add xstrtoimax.
	* lib/strtoumax.c: New file.  Simply include "strtoumax.c".
	* lib/strtoimax.c: New file.  Likewise, but first define
	STRTOUXMAX_SIGNED.

	* lib/strtoumax.c: Factor to work both for unsigned and signed types,
	...
	* lib/strtoxmax.c: ... then renamed to this.

2001-08-18  Paul Eggert  <eggert@twinsun.com>

	* m4/inttypes.m4: Add AC_PREREQ(2.13).
	(jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
	(jm_AC_TYPE_INTMAX_T): New macro.
	(jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.

	* m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.

	* m4/longlong.m4: Renamed from ulonglong.m4.
	* m4/inttypes.m4: Renamed from inttypes_h.m4.
	* m4/uintmax_t.m4: Removed.

2001-08-13  Paul Eggert  <eggert@twinsun.com>

	* lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
	Port to Solaris 8, where 'sed' requires a space after the 'r'
	command, and where sh dislikes "$/".  Clean up the spacing a bit.
	Redirect output to $tmp just once.

2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>

	* lib/addext.c (<errno.h>): Include.
	(errno): Declare if not defined.
	(addext): Work correctly when pathconf returns -1 and leaves
	errno alone because there is no limit.  Also, work even if
	pathconf returns a value greater than SIZE_MAX.

2001-08-12  Jim Meyering  <meyering@lucent.com>

	* m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
	d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
	fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
	group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
	jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
	link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
	mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
	prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
	rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
	strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
	utime.m4, utimes.m4, xstrtoumax.m4:
	Quote the first argument in each use of AC_DEFUN.

2001-08-12  Jim Meyering  <meyering@lucent.com>

	* lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
	Simply `return getcwd (NULL, 0);'.
	[! (defined __GLIBC__ && __GLIBC__ >= 2)]:
	Use 1300 as initial value for length, not PATH_MAX.

	* lib/pathmax.h: Clean up cpp syntax.

2001-08-12  Jim Meyering  <meyering@lucent.com>

	* lib/gettimeofday.c: New file.
	* lib/gtod.h: New file.
	* lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.

2001-08-05  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4: Require autoconf-2.52.

2001-08-04  Jim Meyering  <meyering@lucent.com>

	* lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
	stmt, to get in sync with glibc.

2001-08-03  Paul Eggert  <eggert@twinsun.com>

	The following changes are from gettext 0.10.39 as maintained by
	Bruno Haible.

	* lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
	Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
	with inverted sense.  All uses changed.

	* lib/mbswidth.c: Don't include <limits.h>.
	Include <stdlib.h> and <string.h> unconditionally.
	(iswcntrl, mbsinit, ISCNTRL): New macros.
	(mbsnwidth): Use K&R style function declarations.
	Don't bother checking for MB_LEN_MAX == 1, since the compiler
	can optimize it when MB_CUR_MAX == 1.
	The width of control characters is zero, not 1.

2001-08-03  Paul Eggert  <eggert@twinsun.com>

	The following changes are from gettext 0.10.39 as maintained by
	Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.

	* m4/codeset.m4: Upgrade to serial AM1.
	(AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
	all uses changed.  Quote first arg of AC_DEFUN.
	(am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.

	* m4/iconv.m4: Upgrade to serial AM2.
	(AM_ICONV): Renamed from jm_ICONV; all uses changed.
	Add --with-libconv-prefix.
	Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
	(am_cv_func_iconv): Renamed from jm_cv_func_iconv.
	(am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
	(am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
	* m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.

	* m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
	* m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
	* m4/glibc21.m4 (jm_GLIBC21): Likewise.
	* m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
	* m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
	* m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
	* m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
	* m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
	* m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.

	* m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
	string.h any more.

	* m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
	not the default value.

	2001-06-25  Bruno Haible  <haible@clisp.cons.org>
	* m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
	Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
	Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
	Also check for iswcntrl, used for wcwidth fallback.
	Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
	to Autoconf 2.13.

2001-08-03  Jim Meyering  <meyering@lucent.com>

	* m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
	as it was in the original.  Reported by Paul Eggert.

2001-07-16  Jim Meyering  <meyering@lucent.com>

	* m4/gettimeofday.m4: New file.
	Prompted by a report from Bernhard Baehr.

2001-07-15  Jim Meyering  <meyering@lucent.com>

	* m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
	stuff. Now it's in ../Makefile.cfg.

2001-07-15  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
	(BUILT_SOURCES): Add unlocked-io.h.
	(io_functions): Define.
	(unlocked-io.h): New rule.
	(DISTCLEANFILES): Add unlocked-io.h.
	(all-local): Depend on unlocked-io.h, to ensure it is created.

	* lib/unlocked-io.hin: New file

	* lib/regex.c: Update from glibc.

2001-07-05  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
	recommendation.
	(libfetish_a_SOURCES): Put all .h files here instead.
	Remove a thus-exposed (better checks in automake) duplicate and
	two unnecessary .h files.

2001-07-04  Jim Meyering  <meyering@lucent.com>

	* m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
	that generates jm-glibc-io.m4 so that it doesn't trigger any make
	distcheck failure.

2001-07-02  Jim Meyering  <meyering@lucent.com>

	The following changes were prompted by suggestions from Bruno Haible.

	* m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
	is now generated.
	* m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
	definition of EXTRA_DIST.
	(Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
	ensure that the generated file is created/updated whenever the list
	of $(unlocked_functions) is changed.
	(jm-glibc-io.m4): New rule.
	(unlocked-io.h): New rule -- currently unused.

2001-06-24  Jim Meyering  <meyering@lucent.com>

	* m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
	unmatched right bracket, rather than kludging it with an extra,
	falsely-matching quote in a comment.  Patch by Akim Demaille.

2001-06-11  Jim Meyering  <meyering@lucent.com>

	* lib/regex.c: Update from GNU libc.

2001-05-27  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
	Check for ut_type in struct utmp.

2001-05-27  Jim Meyering  <meyering@lucent.com>

	* lib/readutmp.h (UT_TYPE): Define.

2001-05-24  Jim Meyering  <meyering@lucent.com>

	* lib/argmatch.c: Include "quote.h".
	(argmatch_invalid): Remove explicit `' quotes.  Instead, use the
	quote function.  Reported by Göran Uddeborg.

2001-05-22  Jim Meyering  <meyering@lucent.com>

	* m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
	now that we use the package-supplied version unconditionally.
	(jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.

2001-05-21  Jim Meyering  <meyering@lucent.com>

	* m4/regex.m4: Change a couple backticks to single quotes to avoid
	shell syntax errors.

2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.

2001-05-20  Paul Eggert  <eggert@twinsun.com>

	* m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
	Don't bother to check library strftime, since
	we'll be using our own my_strftime function anyway.
	Define my_strftime instead of strftime.

2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* lib/dirname.c (dir_name): Compute append_dot using path, not newpath
	which is not yet declared.

2001-05-15  Jim Meyering  <meyering@lucent.com>

	* m4/regex.m4: Use proper quoting so brackets appear in the test
	program.
	Reported by, and with help from, Bruno Haible.

2001-05-13  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
	undefined.

2001-05-11  Paul Eggert  <eggert@twinsun.com>

	dirname code cleanup.  base_name now behaves more compatibly
	with POSIX basename when given file names that have trailing
	slashes, and similarly for dir_name.  Add new primitives
	base_len and dir_len.  Put the directory-name-related decls
	into dirname.h.

	* lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
	* lib/backupfile.c (base_name): Likewise.
	* lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
	* lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
	* lib/makepath.c (strip_trailing_slashes): Likewise.
	* lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
	ISSLASH): Likewise.
	* lib/rename.c (strip_trailing_slashes): Likewise.
	* lib/same.c (base_name): Likewise.
	* lib/stripslash.c (ISSLASH): Likewise.

	* lib/addext.c: Include <dirname.h> after size_t is defined.
	* lib/backupfile.c: Likewise.

	* lib/addext.c (addext): Use base_len to trim redundant
	trailing slashes instead of doing it ourselves.
	But do not trim the last slash if it is not redundant.

	* lib/backupfile.c (find_backup_file_name,
	max_backup_version): Use base_len instead of rolling it ourselves.
	Handle the case of "" and (on DOS) "C:" correctly.

	* lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
	needed. Include <string.h>, <dirname.h>.
	(base_name): Allow file names ending in slashes, other than names
	that are all slashes.  In this case, return the basename followed
	by the slashes.  This is more general, and can be used in places
	where the original base_name purposely had an assertion failure.
	(base_len): New function.

	* lib/dirname.c: Include <string.h> instead of <stdlib.h>.
	Do not include <assert.h>; no longer needed.
	Include xalloc.h.
	(memrchr): Remove decl.
	(dir_name_r): Remove.
	(dir_len): Renamed from dirlen.  All callers changed.
	Rewrite in terms of base_name, for simplicity and consistency.
	(dir_name): Never return NULL.  All callers changed.
	Do not include <stdlib.h> in test program; no longer needed.
	return 0; is fine for test program.

	* lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
	New macros.
	(base_name, base_len, dir_len, strip_trailing_slashes): New decls.

	* lib/path-concat.c (path_concat): Use base_len to compute
	base length, not strlen; this means we cannot rely on memcpy
	to null-terminate.

	* lib/same.c (STREQ): Remove.
	(same_name): Handle the case where the basename ends in trailing '/'.

	* lib/stripslash.c (strip_trailing_slashes): Return nonzero if
	a slash was stripped.  Do not strip the last slash after a
	file system prefix.

2001-05-11  Paul Eggert  <eggert@twinsun.com>

	* lib/Makefile.am (libfetish_a_SOURCES):
	Add strftime.c, since we now compile it on all hosts.

	* lib/strftime.c (my_strftime):
	Define to nstrftime if emacs, but only if my_strftime is not defined.
	(extra_args, extra_args_spec, extra_args_spec_iso): Rename from
	ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
	Add one more extra argument: a nanoseconds value.
	All uses changed.
	(ns): New macro.
	(my_strftime function): Add %N format.
	(emacs_strftimeu): Renamed from emacs_strftime,
	with extra ut argument.

2001-05-09  Paul Eggert  <eggert@twinsun.com>

	* m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.

2001-04-21  Jim Meyering  <meyering@lucent.com>

	* m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
	doesn't interfere.

2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* m4/ftruncate.m4: Check for chsize.
	Link with ftruncate.o unconditionally if ftruncate is missing.
	This was required when cross-compiling to i586-mingw32msvc.

2001-04-08  Jim Meyering  <meyering@lucent.com>

	* lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
	recomputed; that's necessary when the offset spans a DST transition.
	Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.

2001-04-02  Jim Meyering  <meyering@lucent.com>

	* lib/regex.h, regex.c: Update from GNU libc.

2001-03-24  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4: Require autoconf-2.49d.

2001-03-20  Bruno Haible  <haible@clisp.cons.org>

	* m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.

2001-03-19  Paul Eggert  <eggert@twinsun.com>

	* lib/version-etc.c (version_etc_copyright): Update to 2001.

2001-03-17  Jim Meyering  <meyering@lucent.com>

	* m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
	now that the version in autoconf is equivalent.
	(jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.

	* m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
	Suggestion from Akim Demaille.

	* m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
	(jm_PREREQ_TEMPNAME): New function.

2001-03-16  Paul Eggert  <eggert@twinsun.com>

	* lib/tempname.c (uint64_t): Define to uintmax_t if
	not defined, and if UINT64_MAX is not defined.
	Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
	Reported by John David Anglin.

2001-03-15  Bruno Haible  <haible@clisp.cons.org>

	* lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
	resolve alias if codeset is empty.
	* lib/config.charset (BeOS): Use wildcard syntax.

2001-03-13  Jim Meyering  <meyering@lucent.com>

	* lib/path-concat.c (path_concat)
	[FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
	concatenating e.g., `C:' and `foo'.
	From Bruno Haible.

2001-03-06  Bruno Haible  <haible@clisp.cons.org>

	* lib/localcharset.c (locale_charset): Don't use
	setlocale(LC_CTYPE,NULL). Don't return NULL.
	* lib/unicodeio.c (print_unicode_char): Simplify accordingly.

2001-03-06  Bruno Haible  <haible@clisp.cons.org>

	* lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
	support for DOS/DJGPP.

2001-03-01  Paul Eggert  <eggert@twinsun.com>

	* m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
	lacks mkstemp.  Compile our own tempname.c if we compile our own
	mkstemp.c, as mkstemp relies on tempname.

2001-03-01  Jim Meyering  <meyering@lucent.com>

	* m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
	AH_VERBATIM really does output its argument verbatim.

2001-02-28  Paul Eggert  <eggert@twinsun.com>

	* lib/Makefile.am (libfetish_a_SOURCES):
	Add dup-safer.c, fopen-safer.c.
	(noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.

	* lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
	* lib/unistd-safer.h: New files.

2001-02-25  Paul Eggert  <eggert@twinsun.com>

	The mkstemp replacement is taken from glibc 2.2.2, with some
	portability fixes for use outside glibc, as follows:

	* lib/tempname.c (struct_stat64): New macro.
	(direxists, __gen_tempname): Use it.
	This avoids a portability problem with Solaris 8.

	* lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
	(<stddef.h>, <stdint.h>, <string.h>):
	Include only if STDC_HEADERS || _LIBC.
	(<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
	(<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
	(<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
	(__set_errno): Define this macro if <errno.h> doesn't.
	(P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
	Define these macros if <stdio.h> doesn't.
	(S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
	Define these macros if <sys/stat.h>
	doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
	(stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
	__xstat64): Define if not _LIBC.
	(__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
	(__gen_tempname): Invoke gettimeofday only if
	HAVE_GETTIMEOFDAY || _LIBC;
	otherwise, fall back on plain "time".
	Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.

	* lib/mkstemp.c (__GT_FILE): Define to zero if not defined.

	* lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.

2001-02-18  Paul Eggert  <eggert@twinsun.com>

	* m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.

2001-02-17  Paul Eggert  <eggert@twinsun.com>

	* m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
	* m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
	Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
	* m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.

2001-02-17  Paul Eggert  <eggert@twinsun.com>

	* lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
	Remove workaround macros for hosts that have mbrtowc but not
	mbstate_t, as we now insist on proper declarations for both
	before using mbrtowc.

2001-02-17  Jim Meyering  <meyering@lucent.com>

	* m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
	getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
	further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
	UnixWare 7.1.1.

	* m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
	rather than AC_CACHE_VAL.

2001-02-17  Jim Meyering  <meyering@lucent.com>

	* lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
	around included file name.

	* lib/strnlen.c (__strnlen): Merge in a change from GNU libc.

	* lib/strftime.c: Update from GNU libc (the only changes were to
	comments).

2001-02-17  Jim Meyering  <meyering@lucent.com>

	* lib/regex.c: Update from libc.

2001-02-17  Bruno Haible  <haible@clisp.cons.org>

	* lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
	clash.

2001-02-16  Paul Eggert  <eggert@twinsun.com>

	* lib/alloca.c (malloc): Undef before defining, since stdlib.h
	may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
	Reported by Mark Hounschell via Paul Eggert.

2001-02-07  Jim Meyering  <meyering@lucent.com>

	* m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.

2001-02-05  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
	it includes the patch required for `large file' support with at least
	HP-UX's 10.20 /bin/cc.

2001-02-03  Jim Meyering  <meyering@lucent.com>

	* m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
	AS_IF, now that it works once again (mysteriously).
	* m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.

2001-01-30  Jim Meyering  <meyering@lucent.com>

	Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
	* m4/chown.m4: Rename conftestchown to conftest.chown.
	* m4/rename.m4: s/conftestdir/conftest.d1/ and
	s/conftestdir2/conftest.d2/.
	* m4/utimes.m4: s/conftestdata/conftest.data/
	Inspired by Pavel Roskin's change in autoconf.

2001-01-30  Bruno Haible  <haible@clisp.cons.org>

	* lib/config.charset: Update for FreeBSD 4.2.

2001-01-27  Jim Meyering  <meyering@lucent.com>

	* m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
	a use of AS_IF.
	* m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.

2001-01-26  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
	quotearg.c includes it.

2001-01-26  Jim Meyering  <meyering@lucent.com>

	* lib/quotearg.c: Include stddef.h.
	* lib/quote.c: Include stddef.h.
	Reported by Axel Kittenberger.

	* lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
	line in double quotes so that it evokes a better diagnostic.
	[HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
	Reported by Axel Kittenberger.

2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>

	* regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
	as if it was a `charset'.

2001-01-21  Bruno Haible  <haible@clisp.cons.org>

	* m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
	has const.

2001-01-21  Bruno Haible  <haible@clisp.cons.org>

	* lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
	to avoid a warning.  Add back 'const' to inptr.

2001-01-20  Jim Meyering  <meyering@lucent.com>

	Be sure that headers are checked before used in code compiled
	for the type checks.
	* m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
	In place of that, invoke jm_CHECK_ALL_TYPES.
	(jm_CHECK_ALL_HEADERS): New functions with the above checks.
	(jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
	Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
	The check for ssize_t was mistakenly run before the test for unistd.h.

	The configure-time check for stdbool.h was missing.
	* m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
	(jm_PREREQ_HASH): New function.

2001-01-17  Jim Meyering  <meyering@lucent.com>

	* m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
	for autoconf-2.49c.
	* m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.

2001-01-16  Jim Meyering  <meyering@lucent.com>

	* lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
	From Bruno Haible.

2001-01-14  Jim Meyering  <meyering@lucent.com>

	* m4/rename.m4: Use temporary directories named conftestdir{,2}, not
	foo and bar.  Create conftestdir/ in the script, not in the C code.
	Remove directories in the script, not in the C code.
	Remove conftestdir{,2} before trying to create the directory.
	Make the entire configure script fail if the mkdir fails.

2001-01-14  Jim Meyering  <meyering@lucent.com>

	* lib/rename.c: New file.  From Volker Borchert.
	Include stdlib.h, string.h or strings.h, and xalloc.h.
	Use strip_trailing_slashes rather than open-coding it.

2001-01-03  Paul Eggert  <eggert@twinsun.com>

	* lib/strftime.c: Sync with glibc time/strftime.c 1.81.

2001-01-03  Jim Meyering  <meyering@lucent.com>

	* lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
	of local `inptr' to avoid warning with some system declarations of
	iconv.

2001-01-02  Volker Borchert  <bt@teknon.de>

	* m4/rename.m4: New file.
	* m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.

2001-01-01  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
	even on systems with utmpx.h.  It's necessary for the declaration of
	utmp's ut_user member.  Reported by Andreas Jaeger.

	* m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
	available. They are required for the declarations of getgrgid and
	getpwuid resp.
	(_jm_DECL_HEADERS): Check for grp.h and pwd.h.
	Reported by Andreas Jaeger.

2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
	expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
	so `make install' also works in VPATH builds.

2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
	prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
	can be used in subdirectories.

2000-12-29  Paul Eggert  <eggert@twinsun.com>

	* lib/modechange.c: Do not assume that mode_t uses the
	traditional octal encoding.  E.g. "chmod 1 FOO" should set
	the other-execute bit of FOO even if S_IXOTH != 1.

	(SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
	WOTH, XOTH, ALLM): New macros.
	(S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
	 S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
	Use them.
	(S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
	(S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
	(mode_compile):
	No need to use uintmax_t; unsigned long is long enough.
	Don't bother to get suffix since we don't use it.

2000-12-26  Jim Meyering  <meyering@lucent.com>

	* m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
	better with autoheader.

2000-12-24  Jim Meyering  <meyering@lucent.com>

	* lib/hash.c (is_prime): Return explicit boolean values.
	(hash_get_first): Return NULL to appease Irix5.6's 89.
	Reported by Nelson Beebe.

2000-12-19  Bruno Haible  <haible@clisp.cons.org>

	* lib/localcharset.c (locale_charset): Add support for Win32.

2000-12-18  Paul Eggert  <eggert@twinsun.com>

	* lib/physmem.h, lib/physmem.c: New files.

	* lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
	(noinst_HEADERS): Add physmem.h.

	* lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
	't' for compatibility with Solaris 8 sort.

2000-12-18  Bruno Haible  <haible@clisp.cons.org>

	* lib/config.charset: Add support for BeOS.

2000-12-17  Jim Meyering  <meyering@lucent.com>

	* m4/dos.m4 (jm_AC_DOS): New file and macro.
	* m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.

2000-12-16  Jim Meyering  <meyering@lucent.com>

	This bug had a serious impact on chown: `chown N:M FILE' (for integer
	N and M) would have treated it like `chown N:N FILE'.

	* lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.

2000-12-16  Jim Meyering  <meyering@lucent.com>

	* lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
	SHELLS_FILE to a file name that's useful on djgpp systems.
	Include stdlib.h.
	(ADDITIONAL_DEFAULT_SHELLS): Define.
	(default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
	Based mostly on a patch from Prashant TR.

2000-12-16  Bruno Haible  <haible@clisp.cons.org>

	* lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
	VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
	CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.

2000-12-08  Andreas Schwab  <schwab@suse.de>

	* lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
	invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.

2000-12-07  Jim Meyering  <meyering@lucent.com>

	* lib/stripslash.c (ISSLASH): Define.
	(strip_trailing_slashes): Use ISSLASH rather than comparing against
	`/'.
	From Prashant TR.

	* lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
	(dir_name_r): Declare this function as static.
	[BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
	manifest itself on a name containing a mix of slashes and
	backslashes.
	Make this function work with names starting with a DOS-style
	drive letter and colon prefix.
	(dir_name): Append `.' if necessary.
	Based mostly on patches from Prashant TR and Eli Zaretskii.

	* lib/dirname.h (dir_name_r): Remove prototype.

2000-12-06  Paul Eggert  <eggert@twinsun.com>

	* m4/off_t-format.m4: Remove this file.
	* m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.

2000-12-06  Jim Meyering  <meyering@lucent.com>

	* m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
	replacement strtoull, we may well need the replacement strtoul, too.
	Check for declarations of strtoul and strtoull.
	Check for strtol.  Mainly as a cue to cause automake to include
	strtol.c -- that file is included by each of strtoul.c and strtoull.c.
	Check for limits.h -- strtol.c needs it.

2000-12-05  Jim Meyering  <meyering@lucent.com>

	* lib/dirname.c (dir_name_r): Add `const' in a few local declarations.

2000-12-04  Jim Meyering  <meyering@lucent.com>

	* lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
	Also include memory.h, stdlib.h, unistd.h if appropriate.
	Reported by Andreas Jaeger (conflicting declaration of malloc).

2000-12-02  Jim Meyering  <meyering@lucent.com>

	* m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
	* m4/jm-macros.m4 (jm_MACROS): require it.

2000-12-02  Jim Meyering  <meyering@lucent.com>

	* lib/closeout.h: Make idempotent, to avoid some obscure warnings.

2000-12-01  Paul Eggert  <eggert@twinsun.com>

	* lib/memrchr.c: Include <config.h> before any system include file.

2000-11-30  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.

2000-11-30  Jim Meyering  <meyering@lucent.com>

	* m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.

2000-11-29  Paul Eggert  <eggert@twinsun.com>

	* lib/dirname.c (dir_name_r): Fix typo: int -> size_t.

2000-11-26  Jim Meyering  <meyering@lucent.com>

	* lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.

2000-11-22  Paul Eggert  <eggert@twinsun.com>

	* lib/strftime.c (my_strftime): Do not invoke mbrlen with a
	size of (size_t) -1; it's not portable.

2000-11-17  Jim Meyering  <meyering@lucent.com>

	* lib/strstr.c: Update from GNU libc.

2000-11-17  Akim Demaille  <akim@epita.fr>

	* lib/obstack.h: Formatting changes.
	(obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
	prevent type checking.
	(obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
	cast the value to (void *): assigning a `foo *' to a `void *'
	variable is valid.
	(obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.

2000-11-16  Jim Meyering  <meyering@lucent.com>

	* lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.

2000-11-11  Jim Meyering  <meyering@lucent.com>

	* lib/error.c: Add a couple #includes, merging from GNU libc version.

2000-11-10  Jim Meyering  <meyering@lucent.com>

	* lib/obstack.h: Update from GNU libc.
	* lib/obstack.c: Likewise.

2000-11-08  Bruno Haible  <haible@clisp.cons.org>

	* m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.

2000-11-06  Paul Eggert  <eggert@twinsun.com>

	* lib/getusershell.c (setusershell): Use rewind rather than
	fseek/fseeko, to avoid configuration hassles with fseeko.
	Don't bother opening SHELLS_FILE if shellstream is NULL;
	it's not necessary.

2000-11-05  Jim Meyering  <meyering@lucent.com>

	* lib/makepath.h (make_dir): Declare.
	* lib/makepath.c (make_dir): Remove `static' attribute.
	Tweak a comment.

2000-11-04  Jim Meyering  <meyering@lucent.com>

	* m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.

2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>

	* lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
	last one in a bucket, advance to the next bucket.

2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>

	* lib/fnmatch.c: Do not comment out all the code if we are using
	the GNU C library, because in some cases we are replacing buggy
	code in the GNU C library itself.

2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>

	* regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
	(regex_compile): Catch bogus \(\1\).

2000-10-30  Paul Eggert  <eggert@twinsun.com>

	* lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
	(fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
	e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.

2000-10-30  Paul Eggert  <eggert@twinsun.com>

	* lib/error.h, getline.h, modechange.h:
	Remove "2000" from Copyright line, as the file hasn't been
	changed this year other than in the copyright notice.

	* lib/xalloc.h: Add "2000" to Copyright line, as this file
	was changed this year.

2000-10-29  Jim Meyering  <meyering@lucent.com>

	* m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
	renaming.
	* m4/ls-mntd-fs.m4: Likewise

2000-10-29  Jim Meyering  <meyering@lucent.com>

	* lib/xstat.in: Fix grammar in comment.

2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>

	* lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
	Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
	doesn't define __restrict_arr.

2000-10-28  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
	(jm_PREREQ_MEMCHR): New function.

2000-10-28  Jim Meyering  <meyering@lucent.com>

	* lib/memchr.c: Update from libc.
	Adjust for portability:
	[HAVE_STDLIB_H]: Include stdlib.h.
	[HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
	Undef __memchr, too.
	[!weak_alias]: Define __memchr to memchr.

	* lib/regex.c: Update from libc.
	* lib/regex.h: Likewise.
	* lib/getopt1.c: Likewise.
	* lib/memcmp.c: Likewise.

	* lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
	Avoid using fseek, when possible -- it's broken by design.
	Patch by Ulrich Drepper.

2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>

	* regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
	(re_match_2_internal, re_match_2_internal, re_match_2_internal):
	Giving in to popular pressure to shut up the compiler with casts.

2000-10-26  Jim Meyering  <meyering@lucent.com>

	* lib/strftime.c: Update from libc.

2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>

	* regex.c: More `unsigned char' -> `re_char' changes.
	Also change several `int' into `re_wchar_t'.
	(PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
	(PUSH_FAILURE_POINTER): Don't cast any more.
	(POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
	We want GCC to complain, since this piece of code makes
	re_match non-reentrant, which *should* be fixed.
	(GET_BUFFER_SPACE): Use size_t rather than unsigned long.
	(EXTEND_BUFFER): Use RETALLOC.
	(SET_LIST_BIT): Don't cast.
	(re_wchar_t): New type.
	(re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
	that those two functions will always properly return.
	(IMMEDIATE_QUIT_CHECK): Cast to void.
	(analyse_first): Use recursion rather than an explicit stack.
	(re_compile_fastmap): Can't fail anymore.
	(re_search_2): Don't check re_compile_fastmap for failure.
	(PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
	Now also sets the new value (passed in a new argument).
	(re_match_2_internal): Use it.
	Also, use a new var `reg' of type size_t when looping through regs
	rather than reuse the inappropriate `mcnt'.

2000-10-25  Jim Meyering  <meyering@lucent.com>

	* lib/obstack.c: Update from libc.

2000-10-24  Kenichi Handa  <handa@etl.go.jp>

	* regex.c (regex_compile): Change the way of handling a range from
	a char less than 256 to a char not less than 256.

2000-10-24  Andrew Innes  <andrewi@gnu.org>

	* regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
	NT-Emacs only.
	(re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
	so that re_search functions only quit when callers expect them to.

2000-10-23  Jim Meyering  <meyering@lucent.com>

	* lib/hard-locale.c (hard_locale): Revert last change -- it was simply
	wrong.  That set_locale call must not have any side effects.
	From Paul Eggert.

2000-10-22  Jim Meyering  <meyering@lucent.com>

	* lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
	[CYCLIC]: Remove now-unused definition.

	* lib/save-cwd.c (O_DIRECTORY): Define, if needed.
	(save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
	Suggestion from Ulrich Drepper.

2000-10-21  Jim Meyering  <meyering@lucent.com>

	* m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
	* m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
	* m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.

2000-10-21  Jim Meyering  <meyering@lucent.com>

	* lib/dirname.c (memrchr): Declare if necessary.
	(dir_name): Remove the restriction that there be no
	trailing slashes.  Now, this code skips past them, effectively
	ignoring them.
	[TEST_DIRNAME] (main): New unit tests.

	* lib/memrchr.c: New file from GNU libc.
	Undef __memrchr, too.
	[!weak_alias]: Define __memrchr to memrchr.
	Guard weak_alias use with `#ifdef weak_alias'.

2000-10-21  Jim Meyering  <meyering@lucent.com>

	* lib/dirname.c (dir_name_r): New function, factored out of dir_name.
	(dir_name): Use dir_name_r.
	* lib/dirname.h (dir_name_r): Declare it.

2000-10-17  Jim Meyering  <meyering@lucent.com>

	* lib/quote.h (PARAMS): Define and use.
	Reported by Akim Demaille.

	* lib/getopt.c: Update from libc.

2000-10-16  Jim Meyering  <meyering@lucent.com>

	* lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
	setlocale.
	From Jan Fedak.

2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>

	* regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.

2000-09-25  Jim Meyering  <meyering@lucent.com>

	* lib/md5.h (rol): Define (from GnuPG).

	* lib/sha.c: Give credit (GnuPG) where due.
	(M): Use rol rather than open-coding it.
	Add a FIXME comment.

2000-09-21  Jim Meyering  <meyering@lucent.com>

	* lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
	Reported by Michael Stone.

2000-09-20  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
	(noinst_HEADERS): Add sha.h.
	Based on code from Scott G. Miller and from GnuPG.

2000-09-18  Jim Meyering  <meyering@lucent.com>

	* m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
	LIBS. Otherwise, everyone ends up linking with -lelf for some
	configurations.
	Reported by Mike Stone.

2000-09-15  Jim Meyering  <meyering@lucent.com>

	* lib/regex.c: Update from libc.

2000-09-10  Jim Meyering  <meyering@lucent.com>

	* lib/getopt.c (_getopt_internal): Update from glibc.

2000-09-09  Jim Meyering  <meyering@lucent.com>

	* lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
	think it should be used as a general replacement for isascii.
	* lib/fnmatch.c: Likewise.
	* lib/mbswidth.c: Likewise
	* lib/regex.c: Likewise.

	Don't use atoi.
	* lib/userspec.c: Include sys/param.h and limits.h.
	Include xstrtol.h.
	(CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
	(UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
	(parse_user_spec): Use xstrtoul, not atoi when converting numeric
	UID, GID.  Check range.

2000-09-06  Jim Meyering  <meyering@lucent.com>

	* lib/getopt.c (_getopt_internal): Update from glibc.

2000-08-30  Jim Meyering  <meyering@lucent.com>

	* lib/strftime.c: Merge in changes from GNU libc.

2000-08-26  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4: Use jm_FUNC_FPENDING.
	* m4/fpending.m4: New file.

2000-08-26  Jim Meyering  <meyering@lucent.com>

	* lib/closeout.c: Include "__fpending.h".
	(close_stdout_status): Return right away if there's nothing to flush.

	* lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
	* lib/__fpending.c: New file.
	* lib/__fpending.h: New file.

2000-08-20  Jim Meyering  <meyering@lucent.com>

	* m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
	`#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
	utmp.h nor utmpx.h.  Reported by Eli Zaretskii.

2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>

	Improve fileutils installation on systems where running
	programs (like install) can't be unlinked.
	* m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
	* m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.

2000-08-07  Paul Eggert  <eggert@twinsun.com>

	Standardize on "memory exhausted" instead of "Memory exhausted"
	or "virtual memory exhausted".
	* lib/obstack.c (print_and_abort): Use "memory exhausted", not
	"virtual memory exhausted".
	* lib/same.c (same_name): Invoke xalloc_die instead of printing
	our own message.
	* lib/userspec.c (parse_user_spec): Likewise.
	* lib/bumpalloc.h: comment fix
	* lib/same.c, userspec.c: Include xalloc.h.

	* lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
	not char *const and pointing to a constant array.
	* lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
	(xrealloc): Comment fix.

	* lib/userspec.c (parse_user_spec):
	Don't translate a message until just before returning,
	to avoid unnecessary translation.

2000-08-07  Jim Meyering  <meyering@lucent.com>

	* lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
	chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
	fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
	getgroups.c, gethostname.c, getopt.h, group-member.c,
	hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
	linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
	memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
	pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
	stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
	strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
	utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
	yesno.c: Back out Copyright date changes for each file with no change
	this year.  This eases coordination with other programs using the same
	source code modules.  From Paul Eggert.

2000-08-06  Paul Eggert  <eggert@twinsun.com>

	* m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
	not char, for compatibility with glibc 2.1.3 strftime.c.

2000-08-03  Greg McGary  <greg@mcgary.org>

	* lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
	ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
	(EXTEND_BUFFER): Use them.

2000-08-01  Jim Meyering  <meyering@lucent.com>

	* lib/dirname.c (ISSLASH): Define.
	(BACKSLASH_IS_PATH_SEPARATOR): Define.
	(dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
	both `\' and `/' may be use as path separators.
	Based on a patch from Prashant TR.

2000-07-31  Paul Eggert  <eggert@twinsun.com>

	* lib/quotearg.c (quotearg_n_options): Don't make the initial
	slot vector a constant, since it might get modified.

2000-07-31  Jim Meyering  <meyering@lucent.com>

	* lib/xmalloc.c: Use `virtual memory exhausted', not
	`Memory exhausted'.
	* lib/obstack.c (print_and_abort): Likewise.

2000-07-30  Paul Eggert  <eggert@twinsun.com>

	* lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
	buffer, so that the caller can always quote one small
	component of a "memory exhausted" message in slot 0.
	From a suggestion by Jim Meyering.

2000-07-30  Jim Meyering  <meyering@lucent.com>

	* lib/makepath.c (make_path): Quote the other instance, too.

	* lib/quotearg.c (N_STATIC_SLOTVECS): Define.
	(STATIC_BUF_SIZE): Define.
	(quotearg_n_options): Use only statically allocated storage when
	N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
	than STATIC_BUF_SIZE.

2000-07-29  Jim Meyering  <meyering@lucent.com>

	* lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
	* lib/dirname.c (dir_name): Likewise.

	* lib/basename.c (base_name): Use ISSLASH rather than comparing against
	`/'.

	* lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
	(dir_name): Assert that there are no trailing slashes.

2000-07-29  Bruno Haible  <haible@clisp.cons.org>

	* lib/mbswidth.h (mbswidth): Add a flags argument.
	(mbswidth): New declaration.
	(MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
	* lib/mbswidth.c (mbswidth): Add a flags argument.
	(mbsnwidth): New function.

2000-07-24  Jim Meyering  <meyering@lucent.com>

	* lib/mbswidth.c: Remove useless #else.  From Bruno Haible.

2000-07-23  Paul Eggert  <eggert@twinsun.com>

	* m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.

2000-07-23  Paul Eggert  <eggert@twinsun.com>

	* lib/quotearg.c: Streamline by invoking multibyte code only if needed.
	<wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
	(MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
	(quotearg_buffer_restyled): If a unibyte locale, don't bother to
	invoke multibyte primitives.

2000-07-23  Paul Eggert  <eggert@twinsun.com>

	* lib/quotearg.c:
	Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
	so that mbstate_t is always defined.

	Do not inspect MB_LEN_MAX, since it's incorrectly defined to
	be 1 in at least one GCC installation, and this configuration
	error is likely to be common.  Ignoring MB_LEN_MAX hurts
	performance on hosts that have mbrtowc but have only unibyte
	locales, but I assume these hosts are rare.

2000-07-23  Paul Eggert  <eggert@twinsun.com>

	* lib/mbswidth.c (_XOPEN_SOURCE):
	Don't define; this causes problems on Solaris 7.
	(wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.

2000-07-23  Jim Meyering  <meyering@lucent.com>

	* m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
	too: getgrgid, getpwuid, getuid.

2000-07-23  Jim Meyering  <meyering@lucent.com>

	* lib/basename.c (base_name): Add an assertion.

2000-07-23  Bruno Haible  <haible@clisp.cons.org>

	* lib/quotearg.c: When the system forces us to redefine mbstate_t,
	shadow its mbsinit function.

2000-07-17  Bruno Haible  <haible@clisp.cons.org>

	* lib/mbswidth.h: New file.
	* lib/mbswidth.c: New file.
	* lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
	(noinst_HEADERS): Add mbswidth.h.

2000-07-17  Bruno Haible  <haible@clisp.cons.org>

	* lib/config.charset: Add support for FreeBSD. Improve support for
	HP-UX and IRIX 6.

2000-07-16  Bruno Haible  <haible@clisp.cons.org>

	* m4/mbswidth.m4: New file.
	* m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.

2000-07-15  Jim Meyering  <meyering@lucent.com>

	* lib/makepath.c: Include quote.h.
	(make_path): Convert "`%s'" in format strings to "%s", and wrap each
	corresponding argument in a `quote (...)' call.
	Give better diagnostics.

	* lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
	(noinst_HEADERS): Add quote.h.

	* lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
	from tar's src/misc.c.
	* lib/quote.h: New file.  Prototypes for same.

2000-07-14  Paul Eggert  <eggert@twinsun.com>

	From a suggestion by Bruno Haible.
	* lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
	Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
	to decide whether to define the BeOS workaround macro;
	this adjusts to the change to AC_MBSTATE_T.

2000-07-14  Jim Meyering  <meyering@lucent.com>

	* m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
	jm_AC_TYPE_UINTMAX_T.

2000-07-13  Paul Eggert  <eggert@twinsun.com>

	* lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.

	* lib/quotearg.c (quoting_style_args, quoting_style_vals,
	quotearg_buffer_restyled): Add support for
	clocale_quoting_style.  Undo previous change to
	locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
	and "{RIGHT QUOTATION MARK}" msgids.

2000-07-10  Paul Eggert  <eggert@twinsun.com>

	From a suggestion by Bruno Haible.
	* m4/mbstate_t.m4 (AC_MBSTATE_T):
	Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
	Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
	and mbstate_t, to a single-part test that simply defines mbstate_t.
	* m4/prereq.m4 (jm_PREREQ_QUOTEARG):
	s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.

2000-07-10  Jim Meyering  <meyering@lucent.com>

	* m4/strerror_r.m4: Mirror the correction made in autoconf.

	* m4/gnu-source.m4: Output to confdefs.h directly.
	Suggestion from Akim Demaille.

2000-07-09  Paul Eggert  <eggert@twinsun.com>

	The old behavior of quoting `like this' doesn't look good with
	newer, ISO-style fonts.  See:
	http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html

	Instead, quote "like this" by default.  Let the translator
	tailor the locale-specific quoting behavior by providing
	translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.

	* lib/quotearg.c (N_): New macro.
	(gettext_default): New function.
	(quotearg_buffer_restyled): Use
	gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
	gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.

2000-07-09  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
	to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.

	* m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
	* m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.

2000-07-09  Jim Meyering  <meyering@lucent.com>

	* lib/Most files: Update copyright dates to include 2000.

2000-07-08  Jim Meyering  <meyering@lucent.com>

	* lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
	if not defined.
	(xgethostname): Remove now-unnecessary #ifdef.
	Move declaration of `err' into loop where it's used.

2000-07-05  Paul Eggert  <eggert@twinsun.com>
	and Bruno Haible  <haible@clisp.cons.org>

	* m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
	only if the test for an object-type mbstate_t fails.  This
	prevents us from mistakenly reporting that mbstate_t is a
	system object type after we "#define mbstate_t int" to work
	around its lack.

2000-07-05  Paul Eggert  <eggert@twinsun.com>
	and Bruno Haible  <haible@clisp.cons.org>

	* lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.

2000-07-05  Bruno Haible  <haible@clisp.cons.org>

	* m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
	to strerror_r.
	Include <ctype.h> for use of isalpha.

2000-07-05  Bruno Haible  <haible@clisp.cons.org>

	* lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
	by allocating a larger buffer. Test the gethostname return value for
	being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
	returns an error and ENAMETOOLONG isn't defined.

2000-07-05  Bruno Haible  <haible@clisp.cons.org>

	* lib/quotearg.c (struct quoting_options): Simplify quote_these_too
	dimension.

2000-07-04  Jim Meyering  <meyering@lucent.com>

	* m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
	of the deprecated AC_CHECKING.

2000-07-04  Jim Meyering  <meyering@lucent.com>

	* lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
	Reported by Bruno Haible.

2000-07-04  Jim Meyering  <meyering@lucent.com>

	* lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
	HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
	lacks mbrtowc.

2000-07-03  Paul Eggert  <eggert@twinsun.com>

	* m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
	Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.

2000-07-03  Paul Eggert  <eggert@twinsun.com>
	and Bruno Haible  <haible@clisp.cons.org>

	* lib/quotearg.c (mbrtowc):
	Assign to *pwc, and return 1 only if result is nonzero.
	(iswprint): Use ISPRINT when substituting our own mbrtowc.

2000-07-03  Jim Meyering  <meyering@lucent.com>

	* m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.

2000-07-03  Jim Meyering  <meyering@lucent.com>

	* lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
	This is necessary to get a definition of e.g., UTMP_FILE on
	HP-UX 10.20.
	From Bob Proulx.

2000-07-02  Jim Meyering  <meyering@lucent.com>

	* m4/mbstate_t.m4: Also define mbstate_t, if necessary.

	* m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
	AC_LIBOBJ(function_name).
	* m4/chown.m4: Likewise.
	* m4/fnmatch.m4: Likewise.
	* m4/ftruncate.m4: Likewise.
	* m4/getgroups.m4: Likewise.
	* m4/getline.m4: Likewise.
	* m4/group-member.m4: Likewise.
	* m4/jm-macros.m4: Likewise.
	* m4/lstat.m4: Likewise.
	* m4/malloc.m4: Likewise.
	* m4/memcmp.m4: Likewise.
	* m4/nanosleep.m4: Likewise.
	* m4/putenv.m4: Likewise.
	* m4/realloc.m4: Likewise.
	* m4/regex.m4: Likewise.
	* m4/stat.m4: Likewise.
	* m4/strftime.m4: Likewise.

2000-07-02  Jim Meyering  <meyering@lucent.com>

	* lib/quotearg.c (mbstate_t): Don't define here.

2000-07-02  Jim Meyering  <meyering@lucent.com>

	* lib/nanosleep.c (SIGCONT): Define if not already defined.

2000-07-01  Jim Meyering  <meyering@lucent.com>

	* m4/uptime.m4: Put double quotes around use of $cross_compiling.

2000-07-01  Jim Meyering  <meyering@lucent.com>

	* m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
	problem.

2000-07-01  Bruno Haible  <haible@clisp.cons.org>

	* m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
	macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.

2000-07-01  Bruno Haible  <haible@clisp.cons.org>

	* lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
	per change in ../m4/ls-mntd-fs.m4.
	(read_filesystem_list): Ignore symbolic links.

2000-06-29  Jim Meyering  <meyering@lucent.com>

	* lib/same.c: Include <string.h> or <strings.h>, as appropriate,
	for declaration of strcmp.

	* lib/long-options.c: Include <stdlib.h>, for declaration of exit.

	* lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
	Avoid warning by casting result to `char *' to remove `const'.

2000-06-28  Jim Meyering  <meyering@lucent.com>

	* m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
	included by quotearg.c, for which we perform this test.  From
	Bruno Haible.

2000-06-27  Bruno Haible  <haible@clisp.cons.org>

	* m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
	* m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
	<utmpx.h> exists, put readutmp.o into LIBOBJS.

2000-06-27  Bruno Haible  <haible@clisp.cons.org>

	* lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.

2000-06-26  Paul Eggert  <eggert@twinsun.com>

	savedir now sets errno on failure and invokes xmalloc to get memory.
	Fix a couple of other minor bugs while we're at it.

	* lib/savedir.c (<unistd.h>): Do not include; there's no need.
	(NAMLEN): Remove macro.
	(malloc, realloc): Remove decls.
	(stpcpy): Likewise.
	("xalloc.h"): Include.
	(NAME_SIZE_DEFAULT): New macro.
	(savedir): Use xmalloc / xrealloc to allocate memory.
	Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
	Skip "" directory entries.
	Use strlen to calculate directory entry length, since the old method
	is rarely used these days and isn't worth supporting.
	Don't use a pointer after freeing it.
	Check for integer overflow when calculating allocation size.
	Use memcpy to copy entries, instead of stpcpy.
	Set errno properly when returning NULL.
	Check for readdir error.

2000-06-26  Jim Meyering  <meyering@lucent.com>

	* lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.

2000-06-25  Jim Meyering  <meyering@lucent.com>

	* m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
	Linux header bug when _XOPEN_SOURCE is defined to 500.

2000-06-25  Bruno Haible  <haible@clisp.cons.org>

	* lib/unicodeio.c (print_unicode_char): Work around ansi2knr
	deficiency.

2000-06-25  Bruno Haible  <haible@clisp.cons.org>

	* lib/getusershell.c (xmalloc, xrealloc): Remove functions.
	Include xalloc.h.
	Don't include <stdlib.h>.  Don't declare malloc, realloc.

2000-06-24  Jim Meyering  <meyering@lucent.com>

	* m4/strerror_r.m4: Revive this file -- to try out an experimental
	version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
	for which strerror does return char*, but which lacks a conveniently
	accessible declaration of the function.  If the compile-test says
	strerror_r doesn't work, then resort to a `run'-test that works on
	BeOS and segfaults on DEC Unix.

2000-06-24  Jim Meyering  <meyering@lucent.com>

	* lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.

2000-06-23  Paul Eggert  <eggert@twinsun.com>

	* m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
	* m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.

2000-06-23  Paul Eggert  <eggert@twinsun.com>

	* lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
	(mbrtowc, mbstate_t): Define substitutes if
	HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
	(iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
	not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).

2000-06-23  Jim Meyering  <meyering@lucent.com>

	* m4/afs.m4: Add missing AC_MSG_RESULT.
	Reported by Bruno Haible.

	* m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
	Suggestion from Bruno Haible.

2000-06-23  Jim Meyering  <meyering@lucent.com>

	* lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.

2000-06-21  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.

2000-06-21  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
	(noinst_HEADERS): Add getstr.h.

	* lib/getline.c (getstr): Move into a separate file.
	* lib/getstr.c (getstr): New file, extracted from getline.c, with
	the following changes: new parameter, delim2; both delim[12]
	parameters have type `int', not `char'.  The latter would lose
	with 8-bit delimiters.
	* lib/getstr.h: New file.

2000-06-21  Bruno Haible  <haible@clisp.cons.org>

	* lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
	than 1024, return a memory chunk of least possible size, instead
	of size PATH_MAX + 2. In the loop, increment the size proportionally.
	Use free/xmalloc instead of xrealloc to avoid copying for very long
	paths.

2000-06-21  Bruno Haible  <haible@clisp.cons.org>

	* lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
	the empty string.

2000-06-21  Bruno Haible  <haible@clisp.cons.org>

	* lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
	address, not strdup.  Include <stdlib.h> and don't declare free().

2000-06-19  Jim Meyering  <meyering@lucent.com>

	* lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.

2000-06-18  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.

	* m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
	`checking whether...' message to be consistent with that of the
	lstat test.

2000-06-18  Jim Meyering  <meyering@lucent.com>

	* lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
	Besides, these days every porting target provides a mkdir function.

	* lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
	needed. (this snippet comes from src/system.h).

2000-06-16  Bruno Haible  <haible@clisp.cons.org>

	* m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.

2000-06-15  Paul Eggert  <eggert@twinsun.com>

	* lib/human.c (adjust_value): New function.
	(human_readable_inexact): Apply rounding style even when
	printing approximate values.

2000-06-14  Paul Eggert  <eggert@twinsun.com>

	* lib/human.c (human_readable_inexact): Allow an input block
	size that is not a multiple of the output block size, and vice versa.
	Reported by Piergiorgio Sartor.

2000-06-14  Paul Eggert  <eggert@twinsun.com>

	* lib/getdate.y (get_date): Apply relative times after time
	zone indicator, not before.  Reported by Todd A. Jacobs.

2000-06-13  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am (all-local): Depend on lstat.c and stat.c.

	* lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.

2000-06-12  Paul Eggert  <eggert@twinsun.com>

	* lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".

2000-06-12  Jim Meyering  <meyering@lucent.com>

	* m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
	AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
	optional argument.
	* m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
	the optional argument, `lib'.

2000-06-08  Jim Meyering  <meyering@lucent.com>

	* m4/largefile.m4: Remove file (now that it's part of autoconf).

2000-06-04  Paul Eggert  <eggert@twinsun.com>

	Rewrite largefile configuration so that we don't need to run
	getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
	AC_CANONICAL_HOST in configure.in -- jmm]

	* m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
	AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
	(AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
	(AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
	CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
	All uses changed.
	Instead of inspecting the output of getconf, try to compile the
	test program without and with the macro definition.
	(AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
	for getconf.  Instead, check for the needed flags by compiling
	test programs.

2000-06-04  Paul Eggert  <eggert@twinsun.com>

	* lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.

2000-06-04  Jim Meyering  <meyering@lucent.com>

	* lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
	SunOS 4.1.4 for which gid_t is an unsigned type.

2000-06-03  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
	now that autoconf requires that.

	* m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
	#undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
	Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.

2000-06-03  Jim Meyering  <meyering@lucent.com>

	* lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.

2000-06-03  Bruno Haible  <haible@clisp.cons.org>

	* m4/glibc21.m4: New file.
	* m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.

2000-06-03  Bruno Haible  <haible@clisp.cons.org>

	* lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
	newer, don't install charset.alias.
	* lib/config.charset: Change the Linux/glibc rules so they become empty
	on glibc-2.1 or newer.

2000-06-02  Jim Meyering  <meyering@lucent.com>

	* lib/mountlist.c: Back out last change.  Instead, do this...
	* lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
	me_dummy member using the same `ignore'-testing code.
	* lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
	fs_type strings.
	From Mark D. Roth.

2000-05-29  Jim Meyering  <meyering@lucent.com>

	* lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
	mounts with the `ignore' attribute.  Based on a patch from
	Mark D. Roth.

2000-05-28  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
	jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
	* m4/stat.m4: Likewise.
	* m4/lstat.m4: Likewise.
	* m4/lstat-slash.m4: Remove file (absorbed into autoconf).

	* m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
	* m4/strerror_r.m4: Remove file (absorbed into autoconf).

2000-05-26  Jim Meyering  <meyering@lucent.com>

	* m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.

2000-05-24  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
	autoconf requires that.
	* m4/lib-check.m4: Likewise.
	* m4/jm-macros.m4: Likewise.
	* m4/strftime.m4: Likewise.

	* m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
	AC_CHECK_DECLS, now that autoconf requires that.

2000-05-22  Jim Meyering  <meyering@lucent.com>

	* m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
	* m4/lstat.m4: Likewise.

2000-05-22  Jim Meyering  <meyering@lucent.com>

	* lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.

2000-05-20  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
	(jm_PREREQ): Use it.

2000-05-18  Jim Meyering  <meyering@lucent.com>

	* lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
	back, too, since it may have been modified by allocate_entry.
	(hash_delete): Rewrite to use neither the assignment operator
	nor the comma operator in an if-expression.

2000-05-15  Paul Eggert  <eggert@twinsun.com>

	* lib/closeout.c:
	<sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
	Remove; no longer needed.
	"quotearg.h": Add include.
	(file_name): Do not bother to explicitly initialize to NULL; it's less
	efficient on some hosts.
	(close_stdout_status): Remove test as to whether stdout was already
	closed; it breaks for the case "echo x | sort >&-".
	Quote file name colons.
	Do not assume that _("write error") lacks format strings.

2000-05-15  Jim Meyering  <meyering@lucent.com>

	* lib/version-etc.c (version_etc_copyright): Update the copyright
	string used in all --version output.

2000-05-14  Jim Meyering  <meyering@lucent.com>

	* lib/closeout.c (close_stdout_set_file_name): New function.
	(close_stdout_status): Use new file-scoped global.
	Return right away if fstat says the stdout file descriptor is invalid.
	* lib/closeout.h (close_stdout_set_file_name): Declare.

2000-05-10  Jim Meyering  <meyering@lucent.com>

	* lib/closeout.c [default_exit_status]: New file-scoped variable.
	(close_stdout_set_status): New function.
	* lib/closeout.h (close_stdout_set_status): Declare.

2000-05-09  Jim Meyering  <meyering@lucent.com>

	* m4/gettext.m4: Rename this...
	* m4/libintl.m4: ...to this.

2000-05-08  Jim Meyering  <meyering@lucent.com>

	* lib/long-options.c: Don't include closeout.h.
	(parse_long_options): Don't call close_stdout for --version.

2000-05-06  Paul Eggert  <eggert@twinsun.com>

	* m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
	be 500, instead of _GNU_SOURCE to be 1, to work around glibc
	2.1.3 bug.  This avoids a clash when files like regex.c define
	_GNU_SOURCE.

2000-05-06  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
	(AC_REPLACE_FUNCS): Add strnlen.

	* m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
	* m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.

	* m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
	AC_SEARCH_LIBS call for nanosleep.
	(LIB_NANOSLEEP): Set and AC_SUBST.

2000-05-06  Jim Meyering  <meyering@lucent.com>

	* lib/strnlen.c: Undefine __strnlen and strnlen.
	[!weak_alias]: Define __strnlen to strnlen.

	* lib/atexit.c: New file, from libiberty.

2000-05-06  Jim Meyering  <meyering@lucent.com>

	* lib/closeout.c (close_stdout_status): Also check for errors on the
	stderr stream.

2000-05-05  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
	AC_SEARCH_LIBS call for clock_gettime.
	(LIB_CLOCK_GETTIME): Set and AC_SUBST.

	* m4/search-libs.m4: Update from autoconf.

	su doesn't work on Solaris 2.6.
	* m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
	<shadow.h>.  Reported by Dragos Harabor.

2000-05-05  Bruno Haible  <haible@clisp.cons.org>

	* lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
	memcpy instead of xmalloc, xrealloc, path_concat.
	(locale_charset): Treat empty environment variables as absent.
	(DIRECTORY_SEPARATOR, ISSLASH): New macros.

2000-05-04  Jim Meyering  <meyering@lucent.com>

	* lib/getopt.c: Update from glibc.
	* lib/obstack.c: Likewise.
	* lib/obstack.h: Likewise.
	* lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
	file

	* lib/regex.h: Likewise.
	* lib/strndup.c: Likewise.
	* lib/strnlen.c: New file, from glibc.

2000-05-03  Jim Meyering  <meyering@lucent.com>

	* m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.

2000-05-02  Paul Eggert  <eggert@twinsun.com>

	* m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
	this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
	compile-time test, rather than inspecting host and OS, to
	decide whether to define _LARGEFILE_SOURCE.

2000-05-01  Jim Meyering  <meyering@lucent.com>

	* m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.

	* m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
	Based on a patch from Bruno Haible.

2000-05-01  Jim Meyering  <meyering@lucent.com>

	* lib/full-write.c (full_write): Remove `FIXME' part of comment.

2000-04-29  Jim Meyering  <meyering@lucent.com>

	* lib/path-concat.c: Declare strdup only if it's not defined.
	* lib/canon-host.c: Likewise.

2000-04-28  Jim Meyering  <meyering@lucent.com>

	* lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
	avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
	is included first, then limits.h is included by locale.h by libintl.h.
	From John David Anglin.

2000-04-25  Jim Meyering  <meyering@lucent.com>

	* lib/makepath.c (S_IRWXUGO): Define.
	(make_path): Always perform explicit chmod if MODE specifies any
	of the `special' permission bits.  Prompted by a bug report against
	install from Mate Wierdl and Joost van Baal.

2000-04-18  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
	(jm_PREREQ): Use it.

2000-04-18  Jim Meyering  <meyering@lucent.com>

	* lib/README: New file.

	* lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
	getpagesize.  For BeOS.  Based on a patch from Bruno Haible.

2000-04-17  Jim Meyering  <meyering@lucent.com>

	Get it right :-)
	* m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
	actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
	Suggestion from Akim Demaille.

2000-04-17  Jim Meyering  <meyering@lucent.com>

	* lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
	the definition of it to rpl_strftime also defined-away the system's
	declaration.

2000-04-15  Jim Meyering  <meyering@lucent.com>

	Use `C' to denote so-called `contiguous' files, the same way
	that tar does.
	* lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
	(ftypelet): Use S_ISCTG.
	From Michael Deutschmann.

2000-04-14  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
	form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
	clobbered.

2000-04-14  Jim Meyering  <meyering@lucent.com>

	* lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.

2000-04-13  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
	AH_VERBATIM to insert required #ifndef into config.h.in.
	Suggestion from Akim Demaille.

2000-04-12  Jim Meyering  <meyering@lucent.com>

	* m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
	`AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
	Christian Krackowizer.

	More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
	* m4/jm-macros.m4 (_GNU_SOURCE): Define.
	(AC_SYS_LARGEFILE): Require.
	(AM_C_PROTOTYPES): Require.

2000-04-08  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
	names don't conflict.  Reported by Eli Zaretskii.

2000-04-07  Jim Meyering  <meyering@lucent.com>

	* lib/putenv.c: Move inclusion of errno.h so it follows that of
	sys/types.h, to work around system header problems on AIX 3.2.5.
	From Bruno Haible.

2000-04-07  Bruno Haible  <haible@clisp.cons.org>

	* lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
	bug.  Deal with the different error behavior of Irix iconv.

2000-04-05  Paul Eggert  <eggert@twinsun.com>

	* m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
	IRIX if the installer said otherwise.

2000-04-05  Jim Meyering  <meyering@lucent.com>

	Portability tweaks required for ultrix4.3.
	* m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
	(jm_CHECK_DECLS): Add getutent to the list of functions.
	(_jm_DECL_HEADERS): Add utmpx.h.
	From John David Anglin.

	* m4/strftime.m4: Back out the 2000-04-02 change.
	Instead of that change, simply undefine putenv in the test program.

2000-04-05  Jim Meyering  <meyering@lucent.com>

	Portability tweaks required for ultrix4.3.
	* lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
	getutent.
	* lib/readutmp.c: Include sys/types.h before sys/stat.h.
	* lib/canon-host.c: Declare strdup.
	* lib/path-concat.c: Likewise.
	From John David Anglin.

2000-04-04  Jim Meyering  <meyering@lucent.com>

	Be more DOS 8.3-friendly.
	* lib/ref-add.sin: Renamed from ref-add.sed.in.
	* lib/ref-del.sin: Renamed from ref-del.sed.in.
	* lib/Makefile.am: Reflect renaming.
	Reported by Eli Zaretskii.

	Use a temporary file name that won't clash with `charset.alias'
	in the DOS 8.3 name space.
	* lib/Makefile.am (charset_tmp): Define.
	(install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
	(uninstall-local): Likewise.
	Reported by Eli Zaretskii.

2000-04-03  Jim Meyering  <meyering@lucent.com>

	* m4/gettext.m4: Fix typo in comment.

	* m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
	textutils/configure.in).  Suggestion from Paul Eggert.
	(AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)

2000-04-02  Paul Eggert  <eggert@twinsun.com>

	* m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
	variable in the shell rather than using putenv, which isn't
	portable.  This avoids the configure-time inter-test dependency
	on the potentially-renamed putenv function.

2000-03-30  Paul Eggert  <eggert@twinsun.com>

	* m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
	before checking struct stat.st_blksize, so that
	HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.

2000-03-29  Paul Eggert  <eggert@twinsun.com>

	* m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
	since strftime.c uses HAVE_STRFTIME to decide whether to use
	the underlying strftime.

2000-03-29  Paul Eggert  <eggert@twinsun.com>

	* lib/time/strftime.c (my_strftime): Make sure we call the system
	strftime, not ourselves, when invoking the underlying strftime.

2000-03-24  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
	(charset_alias): Define.
	(install-exec-local): Factor out common code.
	(uninstall-local): Split lines longer than 80.
	(ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
	(SUFFIXES): Define.
	(.sed.in.sed): New rule.  Don't redirect directly to $@.
	(CLEANFILES): Add ref-add.sed and ref-del.sed.

2000-03-19  Bruno Haible  <haible@clisp.cons.org>

	* lib/config.charset: Output a line containing "Packages using this
	file".
	* lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
	* lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
	ref-del.sed): New rules.

2000-03-17  Jim Meyering  <meyering@lucent.com>

	* lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
	Otherwise, include <strings.h>

2000-03-17  Bruno Haible  <haible@clisp.cons.org>

	* lib/unicodeio.c (utf8_wctomb): New function.
	(print_unicode_char): Pass the Unicode character to iconv in UTF-8
	format instead of in UCS-4 with platform dependent endianness.

2000-03-10  Jim Meyering  <meyering@lucent.com>

	* m4/lib-check.m4: Look for getspnam in -lgen, too.
	From Marco Franzen.

2000-03-07  Paul Eggert  <eggert@twinsun.com>

	* lib/savedir.c (savedir): Work even if directory size is
	negative; this can happen with some screwy NFS configurations.

2000-03-06  Jim Meyering  <meyering@lucent.com>

	* lib/localcharset.c (get_charset_aliases): Don't try to free file_name
	if it's NULL (because we ran out of memory).  From Bruno Haible.

2000-03-05  Jim Meyering  <meyering@lucent.com>

	* lib/localcharset.c ("path-concat.h"): Include.
	(get_charset_aliases): Use path_concat instead of ANSI string
	concatenation.

	* lib/unicodeio.h (PARAMS): Define.
	Use it to guard prototype.

2000-03-04  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
	for lib/localcharset.c.

2000-03-04  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am (install-exec-local): Create $(libdir) before
	installing into it.
	(uninstall-local): Uncomment this rule so `make distcheck' works
	once again.

	* lib/unicodeio.c (<errno.h>): Include it.
	(errno): Declare if not defined.

	* lib/localcharset.c: Add Bruno's comment justifying use of volatile.

	* lib/config.charset: New version, incorporating remarks from a linux
	i18n mailing list.  From Bruno Haible.

2000-03-04  Bruno Haible  <haible@clisp.cons.org>

	* m4/codeset.m4: New file.
	* m4/iconv.m4: New file.
	* m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.

2000-03-03  Jim Meyering  <meyering@lucent.com>

	* m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.

2000-03-02  Jim Meyering  <meyering@lucent.com>

	* m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
	the messages come out on separate lines.

	* m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
	rather than jm_CHECK_DECLARATIONS.
	* m4/decl.m4: Remove now-unused file.

	* m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
	geteuid.

2000-03-02  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am (EXTRA_DIST): Add config.charset.

2000-03-01  Jim Meyering  <meyering@lucent.com>

	* lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
	* lib/unicodeio.c: Likewise.

2000-03-01  Bruno Haible  <haible@clisp.cons.org>

	* lib/config.charset: New file.
	* lib/localcharset.c: New file.
	* lib/unicodeio.h, lib/unicodeio.c: New files.
	* lib/Makefile.am (DEFS): Add -DLIBDIR=...
	(libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
	(noinst_HEADERS): Add unicodeio.h.
	(all-local, install-exec-local, charset.alias): New targets.

2000-02-28  Paul Eggert  <eggert@twinsun.com>

	* lib/quotearg.c (ALERT_CHAR): New macro.
	(quotearg_buffer_restyled): Use it.

2000-02-27  Jim Meyering  <meyering@lucent.com>

	* m4/check-decl.m4: Add getenv to the list.

2000-02-27  Jim Meyering  <meyering@lucent.com>

	* lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
	Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.

	* lib/backupfile.c: Guard inclusion of stdlib.h with
	`#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
	Declare malloc if needed.

	* lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
	`#ifndef HAVE_DECL..'
	now that autoconf always defines the HAVE_DECL_ symbols.
	* lib/human.c: Likewise.
	* lib/same.c: Likewise.
	* lib/strtoumax.c: Likewise.

	* lib/backupfile.c: Arrange for cpp to fail if the configure-time
	declaration check was not run.
	* lib/hash.c: Likewise.
	* lib/human.c: Likewise.
	* lib/same.c: Likewise.
	* lib/strtoumax.c: Likewise.

	* lib/userspec.c (parse_user_spec): If there is no `:' but there is a
	`.', then first look up the entire `.'-containing string as a login
	name.

2000-02-23  Jim Meyering  <meyering@lucent.com>

	* m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
	in place of my hack.

2000-02-18  Paul Eggert  <eggert@twinsun.com>

	* lib/getdate.y: Handle two-digit years with leading zeros correctly.
	(textint): New typedef.
	(parser_control): Member year changed from int to textint.
	All uses changed.
	(YYSTYPE): Removed; replaced by %union with int and textint members.
	(tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
	tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
	tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
	(tSNUMBER, tUNUMBER): Now of type <textintval>.
	(date, number, to_year): Use width of number in digits, not its value,
	to determine whether it's a 2-digit year, or a 2-digit time.
	(yylex): Store number of digits of numeric tokens.
	Reported by John Kendall.

	(parser_control): Changed from struct parser_control to typedef (for
	consistency).  All uses changed.

	(tID): Removed; not used.
	(yylex): Return '?' for unknown identifiers, rather than (unused) tID.

2000-02-14  Paul Eggert  <eggert@twinsun.com>

	* lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
	adapted from changes to grep getpagesize.h by Martin P.J. Zinser.

2000-02-12  Jim Meyering  <meyering@lucent.com>

	* lib/userspec.c (ISDIGIT): Define it.
	(isdigit): Remove definition.
	(is_number): Use ISDIGIT, not isdigit.
	<libintl.h>: Include.
	(_ and N_): Define.
	(parse_user_spec): Mark translatable strings.

2000-02-10  Jim Meyering  <meyering@lucent.com>

	With these changes, nanosleep.[ch] are finally enough like the other
	lib/* replacement files to compile on a few more losing systems.

	* lib/nanosleep.h: Don't include config.h.
	Remove prototype from declaration of nanosleep.
	(PARAMS): Remove now-unneeded definition.
	* lib/nanosleep.c: #undef nanosleep.
	(rpl_nanosleep): Rename from nanosleep.

2000-02-10  Jim Meyering  <meyering@lucent.com>

	* m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
	gnu_nanosleep to rpl_nanosleep.

2000-02-09  Jim Meyering  <meyering@lucent.com>

	* m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
	struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.

2000-02-08  Akim Demaille  <akim@epita.fr>

	* m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
	`[' and `]' and remove uses of `changequote'.
	(AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
	(AC_SYS_LARGEFILE): Likewise.
	* m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
	* m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
	of changequote.
	* m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
	* m4/readdir.m4 (jm_FUNC_READDIR): Likewise
	* m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
	* m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.

2000-02-05  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
	Remove explicit use of AC_HEADER_TIME.  It is required by
	jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
	`AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
	in autoconf whereby the expansion of the latter ended up preceding
	the expansion of its prerequisite, AC_HEADER_TIME.
	Reported by Volker Borchert.

2000-02-03  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.

2000-02-03  Jim Meyering  <meyering@lucent.com>

	* lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
	rather than with `#if HAVE_UTMPNAME'.

2000-02-02  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
	definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
	Reported by Eli Zaretskii.

2000-02-01  Jim Meyering  <meyering@lucent.com>

	* lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.

2000-01-31  Jim Meyering  <meyering@lucent.com>

	* m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
	functions.  Add the time.h and sys/time.h headers along with the
	AC_REQUIRE'ment of AC_HEADER_TIME.

2000-01-31  Jim Meyering  <meyering@lucent.com>

	* lib/nanosleep.h (nanosleep): Guard declaration with
	`#if ! HAVE_DECL_NANOSLEEP'.
	Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
	the declaration in that vendor's sys/timers.h.
	Reported by Christian Krackowizer.

	* lib/quotearg.c (ISASCII): Add #undef and move definition to follow
	inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
	(ISPRINT): Likewise.
	Reported by Tom Tromey.

2000-01-30  Jim Meyering  <meyering@lucent.com>

	* m4/lib-check.m4: Clean up some kludgy old shadow password tests.

	* m4/prereq.m4 (utmp_includes): Define.
	Check for ut_user and ut_name members in both struct utmpx
	and struct utmp.

2000-01-30  Jim Meyering  <meyering@lucent.com>

	* lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
	hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
	header files where only utmpx.ut_user is declared.

	* lib/readutmp.h (UT_USER): Define.

2000-01-29  Jim Meyering  <meyering@lucent.com>

	* m4/lib-check.m4: New file containing library-related checks from
	fileutils and sh-utils (textutils had none).

2000-01-28  Jim Meyering  <meyering@lucent.com>

	* m4/perl.m4: Change format of warning message to look more like that
	from the missing script.  Suggestion from François Pinard.

2000-01-25  Jim Meyering  <meyering@lucent.com>

	* m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
	well as time.h in the compile check.
	* m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
	Fix typo in cross-compiling case: s/yes/no/.

2000-01-23  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4: Move df-related tests here from
	fileutils/configure.in

	* m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
	(jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.

	* m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
	s/space/ac_fsusage_space/.
	(jm_FILE_SYSTEM_USAGE): Take two parameters.

	* m4/ftruncate.m4: New file (derived from part of
	fileutils/configure.in).
	* m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
	(jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.

	* m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
	AC_SUBST these here, rather than just in sh-util/configure.in, so
	that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
	all the same.
	(AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
	(AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
	(AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
	(AC_SUBST(POW_LIBM)): Likewise.
	(AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.

2000-01-23  Jim Meyering  <meyering@lucent.com>

	* lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
	obstack.c.

2000-01-22  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.

	* m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.

	* m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
	configure.in
	(AC_CHECK_HEADERS): Likewise for sh-utils.
	(AC_CHECK_HEADERS): Likewise for textutils.
	Merge the three lists of headers.

	* m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
	from fileutils' configure.in.

	* m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
	code. Moved tests into their own function (_jm_DECL_HEADERS) in
	check-decl.m4.

	* m4/check-decl.m4: Use #if rather than #ifdef.
	Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
	(jm_CHECK_DECLARATIONS): Add strtoul strtoull.
	(_jm_DECL_HEADERS): Define new function.
	(jm_CHECK_DECLARATIONS): Require it.

2000-01-22  Jim Meyering  <meyering@lucent.com>

	* lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
	[! HAVE_DECL_STRTOULL]: Declare strtoull.
	Required for some AIX systems.  Reported by Christian Krackowizer.
	[TESTING] (main): New function.

	1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
	* lib/dirname.c (dir_name): Support for DOS-style file names with drive
	letters.

	* lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
	iswprint.

	* lib/strverscmp.c (ISDIGIT): Define.
	(strverscmp): Use ISDIGIT, not isdigit.

2000-01-19  Jim Meyering  <meyering@lucent.com>

	* m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
	Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
	defines `struct timespec' in <sys/time.h>

	* m4/c-bs-a.m4: Remove uses of changequote altogether.
	Thanks to Akim for explaining.

2000-01-17  Paul Eggert  <eggert@twinsun.com>

	* lib/nanosleep.c (nanosleep):
	Don't use SA_INTERRUPT to decide whether to call sigaction, as
	POSIX.1 doesn't require SA_INTERRUPT and some systems
	(e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
	it's been part of POSIX.1 since day 1 (in 1988).

2000-01-17  Jim Meyering  <meyering@lucent.com>

	* lib/interlock: Remove unused file.  Reported by François Pinard.

2000-01-16  Paul Eggert  <eggert@twinsun.com>

	* lib/quotearg.c (quotearg_buffer_restyled): Do not quote
	alert, backslash, formfeed, and vertical tab unnecessarily in
	shell quoting style.

2000-01-16  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
	AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
	jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
	AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.

2000-01-16  Jim Meyering  <meyering@lucent.com>

	* m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
	because the latter didn't work.

2000-01-15  Jim Meyering  <meyering@lucent.com>

	* m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
	(AC_REPLACE_FUNCS): Add memcpy and memset.
	Add these, too: stime strcspn stpcpy strstr strtol strtoul.
	Add strpbrk.
	Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.

2000-01-12  Jim Meyering  <meyering@lucent.com>

	* m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
	(jm_PREREQ): Use it.
	(jm_PREREQ_READUTMP): New macro.
	(jm_PREREQ): Use it.

2000-01-11  Paul Eggert  <eggert@twinsun.com>

	Quote multibyte characters correctly.
	* m4/c-bs-a.m4: New file.
	* m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
	(jm_PREREQ): Use it.

2000-01-11  Paul Eggert  <eggert@twinsun.com>

	* m4/uintmax_t.m4: Port to autoconf 2.13.

2000-01-08  Jim Meyering  <meyering@ascend.com>

	* m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
	* m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.

2000-01-04  Jim Meyering  <meyering@ascend.com>

	* m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
	jm_STRUCT_DIRENT_D_TYPE.
	* m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
	jm_STRUCT_DIRENT_D_INO.
	* m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
	jm_STRUCT_UTIMBUF.
	* m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
	renamings.
	* m4/utime.m4: Likewise.

	* m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
	* m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.

2000-01-03  Paul Eggert  <eggert@twinsun.com>

	* m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
	(for Solaris 7) and in -lposix4 (for Solaris 2.5.1).

2000-01-02  Jim Meyering  <meyering@ascend.com>

	* m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
	remember if this is necessary.

1999-12-26  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4: Use it here.
	* m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.

1999-12-23  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4: Check for clock_gettime (moved from
	fileutils/configure.in)
	Check for gettimeofday.

1999-12-20  Jim Meyering  <meyering@ascend.com>

	* m4/strftime.m4: Remove kludge, now that I'm using the fixed
	autoconf-2.14a-1999-12-20.

1999-12-19  Jim Meyering  <meyering@ascend.com>

	* m4/lstat-slash.m4: New file.
	* m4/jm-macros.m4: Use the new macro:
	jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.

1999-12-07  Jim Meyering  <meyering@ascend.com>

	* m4/perl.m4: Require that File::Compare be available, too.
	Too many systems seem to lack it.

	* m4/strftime.m4: Add checks for most of the cpp macros tested in
	GNU's strftime.c.  Prompted by a patch from Paul Eggert.

1999-11-18  Paul Eggert  <eggert@twinsun.com>

	* m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
	problem with the QNX 4.25 shell, which doesn't propagate exit
	status of failed commands inside shell assignments.

1999-11-17  Jim Meyering  <meyering@ascend.com>

	* m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.

1999-11-07  Jim Meyering  <meyering@ascend.com>

	* m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.

1999-11-06  Jim Meyering  <meyering@ascend.com>

	* m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
	* m4/jm-macros.m4 (jm_MACROS): Use it here.

1999-11-05  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
	configure.in of textutils, fileutils, and sh-utils into this one
	(shared between those packages) file.
	Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
	AC_STRUCT_ST_BLKSIZE.

1999-11-03  Jim Meyering  <meyering@ascend.com>

	* m4/ssize_t.m4: Remove file.  No longer needed since the new version
	of AC_CHECK_TYPE checks includes unistd.h.
	* m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
	Suggestion from Akim Demaille.

1999-10-30  Jim Meyering  <meyering@ascend.com>

	* m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
	m4-quoted string.
	* m4/ls-mntd-fs.m4: Likewise.
	* m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
	* m4/jm-winsz1.m4: Likewise.

	* m4/const.m4: Remove file, since the fix made it into the experimental
	version of autoconf.
	* m4/mktime.m4: Likewise.

	* m4/check-type.m4: Remove file, now that the latest version of
	AC_CHECK_TYPE takes a third arg to specify additional #includes.

	* m4/ssize_t.m4: New file, requires experimental version of autoconf.
	* m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
	AC_CHECK_TYPE.

1999-10-04  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4: Don't require autoconf-2.14.1.

1999-09-22  Paul Eggert  <eggert@twinsun.com>

	* m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
	2.95.1 bug with HP-UX 10.20.

1999-09-17  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
	Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
	due to missing strdup (against sh-utils-2.0).

1999-08-29  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4: Require jm_BISON.
	* m4/bison.m4: New file.

1999-08-17  Paul Eggert  <eggert@twinsun.com>

	* m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
	in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.

1999-08-05  Jim Meyering  <meyering@ascend.com>

	* m4/getline.m4: Rename test file from conftestdata to conftest.data
	to avoid conflicts with `conftest' on 8+3 filesystems.
	Suggestion from Eli Zaretskii.

1999-08-04  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
	fileutils and sh-utils (textutils's getline test was inadequate).
	(AM_FUNC_GETLINE): Run this test.
	(AC_CHECK_FUNCS): Check for getdelim.
	Reported by Bob Proulx.

1999-08-02  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4: Add a comment.

1999-08-01  Paul Eggert  <eggert@twinsun.com>

	* m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
	<inttypes.h> defines strtoumax as a macro (and not as a
	function).

1999-08-01  Paul Eggert  <eggert@twinsun.com>

	* m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
	that we can shift, multiply and divide unsigned long long
	values; Ultrix cc can't do it.

1999-08-01  Paul Eggert  <eggert@twinsun.com>

	* m4/mktime.m4: New file, which is a preview of what should appear
	in the next public autoconf release.

1999-08-01  Paul Eggert  <eggert@twinsun.com>

	* m4/lfs.m4: Remove this file.
	* m4/largefile.m4: New file.  It contains the old contents of
	lfs.m4, except that all names with prefix AC_LFS have been
	changed to use the prefix AC_SYS_LARGEFILE instead, to be
	compatible with future autoconf versions.  Also, some minor m4
	quoting problems have been fixed.

1999-08-01  Paul Eggert  <eggert@twinsun.com>

	* m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
	Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
	(AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
	and simplify the shell code.

1999-08-01  Jim Meyering  <meyering@ascend.com>

	* m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
	m4.

1999-07-20  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.

1999-07-15  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.

1999-05-22  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.

1999-05-20  Jim Meyering  <meyering@ascend.com>

	* m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
	Add a colon after each `then' in case $4 is empty.

1999-05-16  Jim Meyering  <meyering@ascend.com>

	* m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.

1999-05-10  Jim Meyering  <meyering@ascend.com>

	* m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.

	* m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
	AC_FUNC_MKTIME.

1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>

	* m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.

1999-05-04  Paul Eggert  <eggert@twinsun.com>

	* m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
	not CPPFLAGS, so that linking works correctly in IRIX.

1999-04-30  Paul Eggert  <eggert@twinsun.com>

	* m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.

1999-04-20  Paul Eggert  <eggert@twinsun.com>

	* m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
	long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
	* m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
	jm_AC_TYPE_UNSIGNED_LONG_LONG.
	* m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.

	* m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.

1999-04-20  Jim Meyering  <meyering@ascend.com>

	* m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
	AC_REPLACE xstroull if necessary.  From Paul Eggert.
	(AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.

1999-04-18  Jim Meyering  <meyering@ascend.com>

	* m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
	* m4/jm-macros.m4: Use it.

1999-04-06  Jim Meyering  <meyering@ascend.com>

	* m4/strftime.m4: Remove test for %f.

1999-03-29  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
	superset of the AC_TYPE_* checks in the textutils, fileutils,
	and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
	AC_TYPE_PID_T.

1999-03-28  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4: Define GNU_PACKAGE here.
	Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
	replaced e.g., in the *.sh files of the sh-utils.

1999-03-20  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
	* m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
	Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.

1999-03-19  Jim Meyering  <meyering@ascend.com>

	* m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.

1999-03-12  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.

1999-03-07  Jim Meyering  <meyering@ascend.com>

	* m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
	declared.

1999-02-17  Jim Meyering  <meyering@ascend.com>

	* m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
	brackets in macro definition.  From Eli Zaretskii and Alain Magloire.

1999-02-07  Jim Meyering  <meyering@ascend.com>

	* m4/group-member.m4: New file -- extracted from sh-utils'
	configure.in.

	1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
	* m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.

1999-02-06  Jim Meyering  <meyering@ascend.com>

	* m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
	* m4/fnmatch.m4: Likewise.
	* m4/getgroups.m4: Likewise.
	* m4/lstat.m4: Likewise.
	* m4/malloc.m4: Likewise.
	* m4/putenv.m4: Likewise.
	* m4/realloc.m4: Likewise.
	* m4/regex.m4: Likewise.
	* m4/stat.m4: Likewise.
	* m4/strftime.m4: Likewise.
	Suggestion from Alain Magloire.

	* m4/chown.m4: Use `.$ac_objext', not `.o'.
	* m4/fnmatch.m4: Likewise.
	* m4/getgroups.m4: Likewise.
	* m4/getline.m4: Likewise.
	* m4/lstat.m4: Likewise.
	* m4/malloc.m4: Likewise.
	* m4/memcmp.m4: Likewise.
	* m4/putenv.m4: Likewise.
	* m4/realloc.m4: Likewise.
	* m4/regex.m4: Likewise.
	* m4/stat.m4: Likewise.
	* m4/strftime.m4: Likewise.
	Suggestion from Alain Magloire.

	* m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
	an argument.

	* m4/regex.m4: Add a run-time Test for proper operation of
	re_compile_pattern.

1999-01-31  Jim Meyering  <meyering@ascend.com>

	* m4/getloadavg.m4: Check for locale.h and the function, setlocale.

1999-01-30  Jim Meyering  <meyering@ascend.com>

	* m4/check-type.m4: Use 3-arg form of AC_DEFINE.

	* m4/jm-mktime.m4: Make this a wrapper around the official
	AM_FUNC_MKTIME rather than my private copy, now that the official one
	is up to date.
	* m4/mktime.m4: Remove file.

	* m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
	* m4/uptime.m4: Likewise.
	* m4/uintmax_t.m4: Likewise.

1999-01-28  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4: Use jm_AFS.
	* m4/afs.m4: New file (from fileutils' configure.in).

	* m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
	* m4/chown.m4: Likewise.
	* m4/d-ino.m4: Likewise.
	* m4/d-type.m4: Likewise.
	* m4/fnmatch.m4: Likewise.
	* m4/getgroups.m4: Likewise.
	* m4/gettext.m4: Likewise.
	* m4/jm-mktime.m4: Likewise.
	* m4/jm-winsz2.m4: Likewise.
	* m4/lcmessage.m4: Likewise.
	* m4/ls-mntd-fs.m4: Likewise.
	* m4/malloc.m4: Likewise.
	* m4/memcmp.m4: Likewise.
	* m4/putenv.m4: Likewise.
	* m4/realloc.m4: Likewise.
	* m4/st_mtim.m4: Likewise.
	* m4/strftime.m4: Likewise.

1999-01-16  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4 (ARGMATCH_DIE): Define.
	(ARGMATCH_DIE_DECL): Define.

1999-01-12  Jim Meyering  <meyering@ascend.com>

	* m4/Makefile.am.in: Rewrite to avoid using fmt.
	Reported by Lars Hecking.

1999-01-10  Jim Meyering  <meyering@ascend.com>

	* m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
	gross kludge.
	* m4/inttypes_h.m4: Likewise.
	* m4/lstat.m4: Likewise.
	* m4/malloc.m4: Likewise.
	* m4/readdir.m4: Likewise.
	* m4/realloc.m4: Likewise.
	* m4/st_dm_mode.m4: Likewise.
	* m4/stat.m4: Likewise.
	* m4/utimbuf.m4: Likewise.
	* m4/utimes.m4: Likewise.

	* m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
	AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
	comments in config.h.in are meaningful.

	* m4/jm-macros.m4: Require autoconf-2.13 here.

	* m4/regex.m4: By default, don't use the included regex.c on systems
	with glibc 2.  Suggestion from Uli Drepper.

1999-01-02  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4: Replace strcasecmp and strncasecmp.

1998-12-18  Jim Meyering  <meyering@ascend.com>

	* m4/Makefile.am.in (Makefile.am): Simplify rule.
	Based on a suggestion from Lars Hecking.

1998-11-16  Paul Eggert  <eggert@twinsun.com>

	* m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.

1998-11-16  Jim Meyering  <meyering@ascend.com>

	* m4/lfs.m4: Double-quote the `uname...` expression.

1998-11-14  Jim Meyering  <meyering@ascend.com>

	* m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
	* m4/stat.m4: Likewise.

1998-11-03  Jim Meyering  <meyering@ascend.com>

	* m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
	* m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.

1998-10-18  Jim Meyering  <meyering@ascend.com>

	* m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.

1998-10-17  Jim Meyering  <meyering@ascend.com>

	* m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
	include, though we still hard-code the `require'-like AC_CHECK_HEADERS
	calls for those previously hard-coded headers.  Instead, take a new
	parameter.
	(jm_CHECK_DECLARATIONS): Reflect interface change.
	* m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
	(jm_CHECK_DECL_LOCALTIME_R): New macro.

	* m4/mktime.m4: Test for spring-forward gap before long-running test.

1998-10-14  Jim Meyering  <meyering@ascend.com>

	* m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
	instead of "TZ=America/Vancouver".  From Paul Eggert.

1998-10-11  Jim Meyering  <meyering@ascend.com>

	* m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
	This adds a test for a recently added compatibility fix for mktime.c.
	* m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.

1998-09-27  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.

	* m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
	../configure.in, including a change from Gordon Matzigkeit to allow
	cross-compiling for the Hurd.

	* m4/glibc.m4: New file/macro to test for the GNU C Library
	versions 1 and 2.  From Gordon Matzigkeit.
	Indent.

1998-09-21  Jim Meyering  <meyering@ascend.com>

	* m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.

1998-08-18  Paul Eggert  <eggert@twinsun.com>

	Port nanosecond-resolution times to UnixWare 2.1.2 and
	pedantic Solaris 2.6.

	* m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
	AC_STRUCT_ST_MTIM.
	* m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
	Generate name of ns member, instead of just 1 or undef.
	Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.

1998-08-15  Jim Meyering  <meyering@ascend.com>

	* m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
	* m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
	* m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
	instead of jm_TYPE_SSIZE_T.

1998-08-12  Jim Meyering  <meyering@ascend.com>

	* m4/st_dm_mode.m4: New file.  From Johan Danielsson.

1998-08-02  Jim Meyering  <meyering@ascend.com>

	* m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
	in acconfig.h manually.

1998-07-31  Paul Eggert  <eggert@twinsun.com>

	* m4/st_mtim.m4: New file.

1998-07-28  Jim Meyering  <meyering@ascend.com>

	* m4/utimes.m4: Undef stat.

1998-07-25  Jim Meyering  <meyering@ascend.com>

	* m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
	* m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.

1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>

	* m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
	uid and gid actually remain unchanged.

1998-07-07  Jim Meyering  <meyering@ascend.com>

	* m4/jm-glibc-io.m4: Remove fclose_unlocked.

1998-07-04  Jim Meyering  <meyering@ascend.com>

	* m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
	to prove that this macro can be used in packages without regex.c.

1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
	is to be used.

1998-07-03  Jim Meyering  <meyering@ascend.com>

	* m4/gettext.m4: Add -lintl if it's found to be necessary.

	* m4/gettext.m4: New file -- from gettext-0.10.35.
	* m4/lcmessage.m4: Likewise.
	* m4/progtest.m4: Likewise.

	* m4/regex.m4 (jm_WITH_REGEX): New file and macro.
	* m4/jm-macros.m4: Require the new macro.

1998-06-29  Jim Meyering  <meyering@ascend.com>

	* m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
	for the definition of NGROUPS (used in a system header included
	by sys/mount.h).

1998-06-28  Jim Meyering  <meyering@ascend.com>

	* m4/ls-mntd-fs.m4: New file.
	* m4/fstypename.m4: New file.

	* m4/jm-macros.m4: Require the new macro.
	* m4/jm-glibc-io.m4: New file.

1998-05-19  Jim Meyering  <meyering@ascend.com>

	* m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
	* m4/lchown.m4: New file.

	* m4/Makefile.am.in: New file.
	* m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.

1998-05-14  Jim Meyering  <meyering@ascend.com>

	* m4/Makefile.am (EXTRA_DIST): Add them.
	* m4/jm-macros.m4: New file.
	* m4/utimbuf.m4: New file.

1998-05-12  Jim Meyering  <meyering@ascend.com>

	* m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.

1998-05-11  Jim Meyering  <meyering@ascend.com>

	* m4/isc-posix.m4: New file.

1998-05-10  Jim Meyering  <meyering@ascend.com>

	* m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.

1998-05-09  Jim Meyering  <meyering@ascend.com>

	* m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
	(EXTRA_DIST): Remove mktime.m4, now that the new version is included
	with automake.

	* m4/ssize_t.m4: New file.
	* m4/mktime.m4: Remove file -- the new automake has this now.

1998-04-26  Jim Meyering  <meyering@ascend.com>

	* m4/assert.m4: New file.
	* m4/Makefile.am (EXTRA_DIST): Add assert.m4.

1998-04-05  Jim Meyering  <meyering@ascend.com>

	* m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
	(jm_PREREQ): Use it here.

1998-03-23  Jim Meyering  <meyering@eng.ascend.com>

	* m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
	in acconfig.h.

1998-03-15  Jim Meyering  <meyering@eng.ascend.com>

	* m4/prereq.m4: New file.
	* m4/error.m4: New file.
	* m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.

1998-02-07  Jim Meyering  <meyering@eng.ascend.com>

	* m4/getline.m4: Don't set am_cv_func_working_getline before the
	cache-check for the same variable -- that defeated the purpose of
	the test; the test program was never run.  This was a problem only
	on systems with losing getline functions -- HP-UX 10.20 is one.
	Reported by Bjorn Helgaas.

1998-02-06  Jim Meyering  <meyering@eng.ascend.com>

	* m4/Makefile.am (EXTRA_DIST): Add perl.m4.

1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>

	* m4/Makefile.am (EXTRA_DIST): Add const.m4.

	* m4/const.m4: New file.  Use an initializer in this declaration
	typedef int charset[2]; const charset x;
	Reported by Bob Glickstein.

1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>

	* m4/chown.m4: Fix reversed types on -1 args to chown.
	From Kaveh Ghazi.

1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>

	* m4/check-decl.m4: s/DECLARATION_/DECL_/g.
	Add lseek and memchr.

	* m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
	T.E.Dickey <dickey@clark.net> said that some older preprocessors
	have a 20-character limit on names.

1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>

	* m4/inttypes_h.m4: New file.
	* m4/uintmax_t.m4: New file.
	* m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.


	-----

	Local Variables:
	coding: utf-8
	End:

	Copyright (C) 1997-2025 Free Software Foundation, Inc.

	Copying and distribution of this file, with or without
	modification, are permitted provided the copyright notice
	and this notice are preserved.
