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

	build: Fix "make install" in MSVC builds with --enable-shared.
	The problem was that intl-8.dll was not installed with execute permissions.

	* gettext-runtime/intl/Makefile.am (install-exec-libintl): Use $(INSTALL),
	not $(INSTALL_DATA), with libtool --mode=install.
	* INSTALL.windows: Remove constraint to use --disable-shared on MSVC.

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

	Prepare for 0.23.1 release.
	* gettext-runtime/intl/libgnuintl.in.h (LIBINTL_VERSION): Bump.
	* libtextstyle/version.sh: Update VERSION_NUMBER, RELEASE_DATE.
	* gettext-tools/libgettextpo/gettext-po.in.h (LIBGETTEXTPO_VERSION): Bump.
	* gettext-runtime/intl/Makefile.am (LTV_*): Bump to 12:2:4.
	* libtextstyle/lib/Makefile.am (LTV_*): Bump to 2:3:2.
	* gettext-tools/libgettextpo/Makefile.am (LTV_*): Bump to 5:12:5.
	* gettext-tools/misc/autopoint.in: Likewise. Accept version 0.23.1.
	* gettext-tools/configure.ac (ARCHIVE_VERSION): Bump to 0.23.1.
	* NEWS: Update.

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

	Prepare for 0.23 release.
	* gettext-runtime/doc/matrix.texi: Update from TP.
	* gettext-runtime/doc/nls.texi (STATUS): Update.
	* gettext-runtime/po/Makefile.in.in: Bump Origin version and
	GETTEXT_MACRO_VERSION.
	* gettext-runtime/m4/po.m4 (AM_PO_SUBDIRS): Bump GETTEXT_MACRO_VERSION
	accordingly.
	* gettext-runtime/m4/gettext.m4: Update comments.
	* gettext-runtime/intl/libgnuintl.in.h (LIBINTL_VERSION): Bump.
	* libtextstyle/version.sh: Update VERSION_NUMBER, RELEASE_DATE.
	* gettext-tools/libgettextpo/gettext-po.in.h (LIBGETTEXTPO_VERSION): Bump.
	* gettext-runtime/intl/Makefile.am (LTV_*): Bump to 12:1:4.
	* libtextstyle/lib/Makefile.am (LTV_*): Bump to 2:2:2.
	* gettext-tools/libgettextpo/Makefile.am (LTV_*): Bump to 5:11:5.
	* gettext-runtime/src/envsubst.c (main): Update copyright year in --version
	output.
	* gettext-runtime/src/gettext.c (main): Likewise.
	* gettext-runtime/src/gettext.sh.in (func_version): Likewise.
	* gettext-runtime/src/ngettext.c (main): Likewise.
	* gettext-tools/src/cldr-plurals.c (main): Likewise.
	* gettext-tools/src/hostname.c (main): Likewise.
	* gettext-tools/src/msgattrib.c (main): Likewise.
	* gettext-tools/src/msgcat.c (main): Likewise.
	* gettext-tools/src/msgcmp.c (main): Likewise.
	* gettext-tools/src/msgcomm.c (main): Likewise.
	* gettext-tools/src/msgconv.c (main): Likewise.
	* gettext-tools/src/msgen.c (main): Likewise.
	* gettext-tools/src/msgexec.c (main): Likewise.
	* gettext-tools/src/msgfilter.c (main): Likewise.
	* gettext-tools/src/msgfmt.c (main): Likewise.
	* gettext-tools/src/msggrep.c (main): Likewise.
	* gettext-tools/src/msginit.c (main): Likewise.
	* gettext-tools/src/msgmerge.c (main): Likewise.
	* gettext-tools/src/msgunfmt.c (main): Likewise.
	* gettext-tools/src/msguniq.c (main): Likewise.
	* gettext-tools/src/recode-sr-latin.c (main): Likewise.
	* gettext-tools/src/urlget.c (main): Likewise.
	* gettext-tools/src/xgettext.c (main): Likewise.
	* gettext-tools/misc/convert-archive.in (func_version): Likewise.
	* gettext-tools/misc/gettextize.in (func_version): Likewise.
	* gettext-tools/misc/autopoint.in: Likewise. Accept version 0.23.
	* gettext-tools/configure.ac (ARCHIVE_VERSION): Bump to 0.23.
	* NEWS, gettext-runtime/NEWS: Update.

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

	intl: Fix lang-c++ failure on MSVC, caused by last commit.
	* gettext-runtime/intl/libgnuintl.in.h (_INTL_HAS_FORCE_INLINE,
	_INTL_FORCE_INLINE): New macros.
	(_INTL_REDIRECT_INLINE): Don't define in C++ mode when _INTL_HAS_FORCE_INLINE
	is not set.

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

	intl: Avoid conflict between libintl.h and some C++ header files.
	Reported Pierre Ossman <ossman@cendio.se>
	at <https://savannah.gnu.org/bugs/?64006>.

	* gettext-runtime/intl/libgnuintl.in.h (*printf, newlocale, duplocale,
	freelocale, setlocale): Use _INTL_REDIRECT_INLINE or _INTL_ASM as alternatives
	to _INTL_REDIRECT_MACROS, avoiding conflicts with inline functions in mingw
	and MSVC <stdio.h>.

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

	intl: Avoid possible error from libintl.h in C++ mode.
	* gettext-runtime/intl/libgnuintl.in.h (gettext, dgettext, dcgettext, ngettext,
	dngettext, dcngettext, textdomain, bindtextdomain, wbindtextdomain,
	bind_textdomain_codeset): In the _INTL_REDIRECT_INLINE redirects, in C++ mode,
	avoid a compilation error if the function is globally declared in some .h file.

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

	Update the GPL and LGPL text.
	* gettext-runtime/intl/COPYING.LIB: Update from
	<https://ftp.gnu.org/gnu/Licenses/lgpl-2.1.txt>.
	* gettext-runtime/libasprintf/COPYING.LIB: Likewise.
	* gettext-runtime/libasprintf/gpl.texi: Update from gnulib/doc/gpl-2.0.texi.
	* gettext-runtime/libasprintf/lgpl.texi: Update from gnulib/doc/lgpl-2.1.texi.
	* gettext-tools/doc/gpl.texi: Update from gnulib/doc/gpl-2.0.texi.
	* gettext-tools/doc/lgpl.texi: Update from gnulib/doc/lgpl-2.1.texi.

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

	intl: Fix a memory leak.
	* gettext-runtime/intl/finddomain.c (_nl_find_domain): If there was an alias and
	_nl_explode_name or _nl_make_l10nflist fails, free the allocated memory. Avoid
	'goto'.

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

	build: Add Windows-format metainfo also to libgettextlib and libgettextsrc.
	Reported by Michele Locati <mlocati@gmail.com>
	at <https://savannah.gnu.org/bugs/index.php?66267>.

	* gettext-tools/gnulib-lib/libgettextlib.rc: New file.
	* gettext-tools/gnulib-lib/Makefile.am (EXTRA_DIST): Add it.
	(WOE32_LIBADD): New macro.
	(libgettextlib.res.lo): New rule.
	(libgettextlib_la_LIBADD, libgettextlib_la_DEPENDENCIES): Add the .res.lo file.
	* gettext-tools/src/libgettextsrc.rc: New file.
	* gettext-tools/src/Makefile.am (EXTRA_DIST): Add it.
	(WOE32_LIBADD): New macro.
	(libgettextsrc.res.lo): New rule.
	(libgettextsrc_la_LIBADD, libgettextsrc_la_DEPENDENCIES): New macros.
	* gettext-runtime/intl/libintl.rc: Update copyright year.
	* gettext-runtime/libasprintf/libasprintf.rc: Likewise.
	* gettext-tools/libgettextpo/libgettextpo.rc: Likewise.
	* libtextstyle/lib/libtextstyle.rc: Likewise.
	* windows/gettext.rc: Likewise.

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

	libintl: Remove conditionals for libglocale.
	libglocale was a short-lived project in 2005 that was never completed.

	* gettext-runtime/intl/dcigettext.c: Assume IN_LIBGLOCALE is not defined.
	* gettext-runtime/intl/libgnuintl.in.h: Likewise.
	* gettext-runtime/intl/loadmsgcat.c: Likewise.
	* gettext-runtime/intl/localealias.c: Likewise.
	* gettext-runtime/intl/plural-exp.h: Likewise.
	* gettext-runtime/intl/gettextP.h: Likewise.
	(gl_dcigettext): Remove declaration.
	* gettext-runtime/intl/Makefile.am (libgnuintl.h, libintl.h): Remove the
	IN_LIBGLOCALE handling.

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

	build: Enable Automake's dependency tracking.
	Quite often, after changing a struct defined in a .h file, I see "make check"
	fail. After "make clean; make", "make check" passes again. This wastes my time.
	Unlike 20 years ago, I don't want think about which .o files I need to erase
	and rebuild. Build times are now much smaller than they were 20 years ago,
	especially when configuring with --disable-shared and CFLAGS="-ggdb".

	* gnulib-local/modules/gettext-runtime-misc (configure.ac): Don't augment
	AUTOMAKE_OPTIONS.
	* gettext-runtime/Makefile.am (AUTOMAKE_OPTIONS): Remove 'no-dependencies'.
	* gettext-runtime/intl/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* gettext-runtime/libasprintf/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* gettext-runtime/src/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* gettext-runtime/tests/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* libtextstyle/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* libtextstyle/lib/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* gettext-tools/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* gettext-tools/gnulib-lib/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* gettext-tools/libgettextpo/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* gettext-tools/libgrep/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* gettext-tools/src/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* gettext-tools/system-tests/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* gettext-tools/tests/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* gettext-tools/tests/gnulib-lib/Makefile.am (AUTOMAKE_OPTIONS): Likewise.
	* Makefile.am (AUTOMAKE_OPTIONS): Likewise.

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

	Merge from 0.22.x branch: Prepare for 0.22.5 release.
	* gettext-runtime/intl/libgnuintl.in.h (LIBINTL_VERSION): Bump.
	* gettext-tools/libgettextpo/gettext-po.in.h (LIBGETTEXTPO_VERSION): Bump.
	* libtextstyle/version.sh: Update VERSION_NUMBER, RELEASE_DATE.
	* gettext-tools/configure.ac (ARCHIVE_VERSION): Bump to 0.22.5.
	* gettext-tools/misc/autopoint.in: Allow version 0.22.5.

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

	Update after gnulib changed.
	* gettext-runtime/intl/configure.ac: Update list of symbols to rename,
	from modules 'localename-unsafe', 'localename', and 'setlocale-null-unlocked'.

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

	intl: Improve support of Citrus/FreeBSD iconv.
	* gettext-runtime/intl/dcigettext.c (_nl_find_msg): Use //TRANSLIT with all
	iconv implementations that support it.

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

	intl: Revert "Add special hack for GCC" from 2022-06-21.
	The added option --enable-host-shared has the same effect as the
	libtool-provided option --with-pic, and gcc's Makefile.def actually
	uses --with-pic, not --enable-host-shared.

	* gettext-runtime/intl/configure.ac: Don't accept option --enable-host-shared.
	Don't set PICFLAG.
	* gettext-runtime/intl/Makefile.am (AM_CFLAGS): Remove the PICFLAG.
	* gnulib-local/modules/gettext-runtime-intl-misc (Makefile.am): Remove the
	PICFLAG from AM_CFLAGS.

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

	intl: Fix the Windows MUI code, so that it works on Windows 10.
	Reported by <lrn1986@gmail.com> at <https://savannah.gnu.org/bugs/?65128>.

	* gettext-runtime/intl/langprefs.c (_nl_language_preferences_win32_mui): Make
	GetUserPreferredUILanguages prototype with Microsoft's current documentation.
	Allow the first GetUserPreferredUILanguages call to succeed.

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

	Merge from 0.22.x branch: Prepare for 0.22.4 release.
	* gettext-runtime/intl/libgnuintl.in.h (LIBINTL_VERSION): Bump.
	* gettext-tools/libgettextpo/gettext-po.in.h (LIBGETTEXTPO_VERSION): Bump.
	* libtextstyle/version.sh: Update VERSION_NUMBER, RELEASE_DATE.
	* gettext-tools/configure.ac (ARCHIVE_VERSION): Bump to 0.22.3.
	* gettext-tools/misc/autopoint.in: Allow version 0.22.3.

2023-10-06  Bruno Haible  <bruno@clisp.org>

	Avoid crash by SIGFPE during plural form expression evaluation.
	Libraries (such as libintl and libgettextpo) should not raise signals, because
	catching such signals cannot be done in a multithread-safe way.

	* gettext-runtime/intl/plural-exp.h (enum eval_status): New enum items
	PE_INTDIV, PE_INTOVF.
	* gettext-runtime/intl/eval-plural.h (plural_eval_recurse): When a division
	argument is zero, return status PE_INTDIV instead of raising SIGFPE.
	* gettext-runtime/intl/dcigettext.c (INTDIV0_RAISES_SIGFPE): Remove macro.
	Don't include <signal.h>.
	* gettext-runtime/intl/configure.ac: Don't invoke gt_INTDIV0.
	* gettext-runtime/intl/m4/intdiv0.m4: Remove file.
	* gettext-runtime/intl/Makefile.am (ACLOCAL_AMFLAGS): Remove option '-I m4'.
	(EXTRA_DIST): Remove m4/intdiv0.m4.
	* autogen.sh: When invoking aclocal in gettext-runtime/intl, omit option
	'-I m4'.

	* gettext-tools/src/msgl-check.c: Don't include <setjmp.h>, <signal.h>.
	(plural_expression_histogram): Don't invoke install_sigfpe_handler,
	uninstall_sigfpe_handler.
	(check_plural_eval): Don't invoke setjmp, install_sigfpe_handler,
	uninstall_sigfpe_handler. Remove 'volatile' from array variable.
	Produce error message when status PE_INTDIV or PE_INTOVF occurred.
	* gettext-tools/src/plural-eval.h: Don't include <setjmp.h>.
	(sigjmp_buf, sigsetjmp, siglongjmp): Remove definitions.
	(USE_SIGINFO): Remove macro.
	(sigfpe_exit, sigfpe_code, install_sigfpe_handler, uninstall_sigfpe_handler):
	Remove declarations.
	* gettext-tools/src/plural-eval.c: Don't include <signal.h>.
	(sigfpe_exit, sigfpe_code): Remove variables.
	(sigfpe_handler, install_sigfpe_handler, uninstall_sigfpe_handler): Remove
	functions.
	* gettext-tools/configure.ac: Don't invoke gt_SIGINFO.
	* gettext-tools/m4/siginfo.m4: Remove file.
	* gettext-tools/m4/Makefile.am (EXTRA_DIST): Remove it.

2023-10-06  Bruno Haible  <bruno@clisp.org>

	Avoid crash by stack overflow during plural expression evaluation.
	* gettext-runtime/intl/plural-exp.h (enum eval_status, struct eval_result): New
	types.
	(plural_eval): Change return type to 'struct eval_result'.
	* gettext-runtime/intl/eval-plural.h (EVAL_MAXDEPTH, OK): New macros.
	(plural_eval_recurse): New function, extracted from plural_eval.
	(plural_eval): Change return type to 'struct eval_result'. Invoke
	plural_eval_recurse.
	* gettext-runtime/intl/dcigettext.c (plural_lookup): Update.
	* gettext-tools/src/plural-eval.h: Update comment.
	* gettext-tools/src/msgl-check.c (plural_expression_histogram): Update.
	(check_plural_eval): Update. Fail with an error message if the plural expression
	evaluation produced a stack overflow.
	* gettext-tools/tests/plural-3: Update.

2023-10-06  Bruno Haible  <bruno@clisp.org>

	build: Remove redundant -I options from AM_CPPFLAGS.
	https://www.gnu.org/software/automake/manual/html_node/Program-Variables.html
	documents that -I. -I$(srcdir) and -I$(top_builddir) (for config.h)
	are already part of Automake's $(DEFAULT_INCLUDES), which is used
	before $(AM_CPPFLAGS).

	* gettext-runtime/src/Makefile.am (AM_CPPFLAGS): Remove redundant -I options.
	* gettext-tools/gnulib-lib/Makefile.am (AM_CPPFLAGS): Likewise.
	* gettext-tools/libgettextpo/Makefile.am (AM_CPPFLAGS): Likewise.
	* gettext-tools/libgrep/Makefile.am (AM_CPPFLAGS): Likewise.
	* gettext-tools/src/Makefile.am (AM_CPPFLAGS): Likewise.
	* gettext-tools/system-tests/Makefile.am (AM_CPPFLAGS): Likewise.
	* gettext-tools/tests/Makefile.am (AM_CPPFLAGS): Likewise.
	* libtextstyle/adhoc-tests/Makefile.am (AM_CPPFLAGS): Likewise.
	* libtextstyle/lib/Makefile.am (AM_CPPFLAGS): Likewise.
	* gettext-runtime/intl/Makefile.am (AM_CPPFLAGS): Add comment.
	* gettext-runtime/libasprintf/Makefile.am (AM_CPPFLAGS): Likewise.

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

	Merge from 0.22.x branch: Prepare for 0.22.3 release.
	* gettext-runtime/intl/libgnuintl.in.h (LIBINTL_VERSION): Bump.
	* gettext-tools/libgettextpo/gettext-po.in.h (LIBGETTEXTPO_VERSION): Bump.
	* libtextstyle/version.sh: Update VERSION_NUMBER, RELEASE_DATE.
	* gettext-tools/configure.ac (ARCHIVE_VERSION): Bump to 0.22.3.
	* gettext-tools/misc/autopoint.in: Allow version 0.22.3.

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Avoid compiler warning from previous commit.
	* gettext-runtime/intl/localealias.c (__libc_localealias_freemem): Don't define
	outside of _LIBC.

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2022-12-27  Adhemerval Zanella Netto  <adhemerval.zanella@linaro.org>
	Move libc_freeres_ptrs and libc_subfreeres to hidden/weak functions

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2023-02-03  Wilco Dijkstra  <wilco.dijkstra@arm.com>
	Replace rawmemchr (s, '\0') with strchr

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Fix portability problem in previous commit.
	* gettext-runtime/intl/localealias.c (read_alias_file): Use
	"#pragma GCC diagnostic ..." only with new enough GCC versions.

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2022-01-25  Martin Sebor  <msebor@redhat.com>
	intl: Avoid -Wuse-after-free [BZ #26779]

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2021-12-12  Andrea Monaco  <andrea.monaco@autistici.org>
	intl/plural.y: Avoid conflicting declarations of yyerror and yylex

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2021-03-02  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
	Use 64 bit time_t stat internally

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2020-09-25  Arjun Shankar  <arjun@redhat.com>
	intl: Handle translation output codesets with suffixes [BZ #26383]

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2020-07-15  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
	Remove internal usage of extensible stat functions

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2020-07-07  Arjun Shankar  <arjun@redhat.com>
	Rewrite iconv option parsing [BZ #19519]

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2019-09-05  Florian Weimer  <fweimer@redhat.com>
	locale: Avoid zero-length array in _nl_category_names [BZ #24962]

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2018-02-15  Joseph Myers  <joseph@codesourcery.com>
	Fix -Os feof_unlocked linknamespace, localplt issues (bug 15105, bug 19463).

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Fix compilation error from previous commit.
	* gettext-runtime/intl/hash-string.h (attribute_hidden): Add fallback
	definition.

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2017-10-01  H.J. Lu  <hjl.tools@gmail.com>
	Hide internal __hash_string function [BZ #18822]

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2017-10-01  H.J. Lu  <hjl.tools@gmail.com>
	Hide internal __gettextparse function [BZ #18822]

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2017-10-01  H.J. Lu  <hjl.tools@gmail.com>
	Mark internal intl functions with attribute_hidden [BZ #18822]

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2017-10-01  H.J. Lu  <hjl.tools@gmail.com>
	Mark internal functions with attribute_hidden [BZ #18822]

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2017-08-15  Florian Weimer  <fweimer@redhat.com>
	iconv, intl, locale, wcsmbs: Remove internal_function

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2017-07-03  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
	Consolidate non cancellable close call

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2017-07-03  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
	Consolidate non cancellable read call

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2017-07-03  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
	Consolidate non cancellable open call

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Fix compilation error from previous commit.
	* gettext-runtime/intl/loadmsgcat.c (_nl_load_domain): Use free() instead of
	freea().

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2017-06-21  Florian Weimer  <fweimer@redhat.com>
	_nl_load_domain: Use calloc instead of alloca

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Remove use of alloca() for wdirname handling.
	* autogen.sh (GNULIB_MODULES_LIBINTL): Add wgetcwd-lgpl.
	* gettext-runtime/intl/dcigettext.c: Include <wchar.h>.
	(DCIGETTEXT): Allocate resolved_wdirname through malloc() instead of through
	alloca().

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Fix compilation error from previous commit.
	* gettext-runtime/intl/dcigettext.c (DCIGETTEXT) [!_LIBC]: Compute the resolved
	dirname without using __asprintf.

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commits
	2017-06-21  Florian Weimer  <fweimer@redhat.com>
	DCIGETTEXT: Use getcwd, asprintf to construct absolute pathname
	and
	2018-12-21  Florian Weimer  <fweimer@redhat.com>
	intl: Do not return NULL on asprintf failure in gettext [BZ #24018]

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2017-06-19  Florian Weimer  <fweimer@redhat.com>
	DCIGETTEXT: Do not make copy of localename

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2017-03-13  Wilco Dijkstra  <wdijkstr@arm.com>
	Remove the str(n)dup inlines from string/bits/string2.h...

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2016-09-18  Samuel Thibault  <samuel.thibault@ens-lyon.org>
	hurd: fix pathconf visibility

2023-10-01  Bruno Haible  <bruno@clisp.org>

	intl: Merge from glibc.
	Apply commit
	2015-09-08  Joseph Myers  <joseph@codesourcery.com>
	Move bits/libc-lock.h and bits/libc-lockP.h out of bits/ (bug 14912).

2023-09-22  Bruno Haible  <bruno@clisp.org>

	intl: Assume ISO C 99 or newer.
	* gettext-runtime/intl/plural-exp.h (HAVE_STRUCT_INITIALIZER): Remove macro.
	(GERMANIC_PLURAL): Assume HAVE_STRUCT_INITIALIZER is 1.
	* gettext-runtime/intl/plural-exp.c: Assume HAVE_STRUCT_INITIALIZER is 1.
	(init_germanic_plural): Remove function.
	(INIT_GERMANIC_PLURAL): Remove macro.
	(EXTRACT_PLURAL_EXPRESSION): Update.

2023-09-20  Bruno Haible  <bruno@clisp.org>

	Merge from 0.22.x branch: Prepare for 0.22.2 release.
	* gettext-runtime/intl/libgnuintl.in.h (LIBINTL_VERSION): Bump.
	* gettext-tools/libgettextpo/gettext-po.in.h (LIBGETTEXTPO_VERSION): Bump.
	* libtextstyle/version.sh: Update VERSION_NUMBER, RELEASE_DATE.
	* gettext-tools/configure.ac (ARCHIVE_VERSION): Bump to 0.22.2.
	* gettext-tools/misc/autopoint.in: Allow version 0.22.2.

2023-09-19  Bruno Haible  <bruno@clisp.org>

	Merge from 0.22.x branch: Prepare for 0.22.1 release.
	* gettext-runtime/intl/Makefile.am (LTV_*): Bump to 12:0:4.
	* gettext-runtime/intl/libgnuintl.in.h (LIBINTL_VERSION): Bump.
	* gettext-tools/libgettextpo/gettext-po.in.h (LIBGETTEXTPO_VERSION): Bump.
	* libtextstyle/version.sh: Update VERSION_NUMBER, RELEASE_DATE.
	* libtextstyle/lib/Makefile.am (LTV_*): Bump to 2:1:2.
	* gettext-tools/libgettextpo/Makefile.am (LTV_*): Bump to 5:10:5.
	* gettext-tools/configure.ac (ARCHIVE_VERSION): Bump to 0.22.1.
	* gettext-tools/misc/autopoint.in: Allow version 0.22.1.

2023-09-16  Bruno Haible  <bruno@clisp.org>

	Fix another misnomer.
	* gettext-runtime/intl/Makefile.am (AM_CPPFLAGS): Set BUILDING_LIBRARY instead
	of BUILDING_DLL.
	* gettext-runtime/intl/intl-compat.c (SHLIB_EXPORTED): Test BUILDING_LIBRARY
	instead of BUILDING_DLL.
	* gettext-runtime/intl/printf.c (SHLIB_EXPORTED): Likewise.
	* gettext-runtime/intl/setlocale.c (SHLIB_EXPORTED): Likewise.

2023-09-16  Bruno Haible  <bruno@clisp.org>

	Fix a misnomer.
	* gettext-runtime/configure.ac: Prefer the term "shared library", since the term
	"DLL" applies only to Windows.
	* gettext-runtime/intl/configure.ac: Likewise.
	* gettext-tools/configure.ac: Likewise.
	* gettext-runtime/intl/export.h (LIBINTL_SHLIB_EXPORTED): Renamed from
	LIBINTL_DLL_EXPORTED. Prefer the term "shared library", since the term "DLL"
	applies only to Windows.
	* gettext-runtime/intl/Makefile.am (AM_CPPFLAGS): Update comment.
	(libgnuintl.h): Insert LIBINTL_SHLIB_EXPORTED instead of LIBINTL_DLL_EXPORTED.
	* gettext-runtime/intl/gettextP.h: Use LIBGLOCALE_SHLIB_EXPORTED instead of
	LIBGLOCALE_DLL_EXPORTED. Use LIBINTL_SHLIB_EXPORTED instead of
	LIBINTL_DLL_EXPORTED.
	* gettext-runtime/intl/loadinfo.h (LIBINTL_SHLIB_EXPORTED): Renamed from
	LIBINTL_DLL_EXPORTED.
	* gettext-runtime/intl/intl-compat.c (SHLIB_EXPORTED): Renamed from
	DLL_EXPORTED. Prefer the term "shared library", since the term "DLL" applies
	only to Windows.
	* gettext-runtime/intl/printf.c (SHLIB_EXPORTED): Likewise.
	* gettext-runtime/intl/setlocale.c (SHLIB_EXPORTED): Likewise.
	* gettext-tools/woe32dll/export.h: Update comment.

2023-09-16  Bruno Haible  <bruno@clisp.org>

	intl: Improve support for clang.
	* gettext-runtime/intl/libgnuintl.in.h (_INTL_MAY_RETURN_STRING_ARG): Use
	__attribute__ also for clang.

2023-09-15  Bruno Haible  <bruno@clisp.org>

	intl: Don't export the symbol 'rpl_isnanf' on MSVC.
	* gettext-runtime/intl/configure.ac: Define rpl_isnanf to _libintl_isnanf.

2023-09-15  Bruno Haible  <bruno@clisp.org>

	intl: Don't export the symbol 'mbszero' on Windows platforms.
	* gettext-runtime/intl/configure.ac: Define mbszero to _libintl_mbszero.

2023-09-15  Bruno Haible  <bruno@clisp.org>

	intl: Don't export libintl_hash_string.
	* gettext-runtime/intl/hash-string.h (__hash_string): Expand to
	_libintl_hash_string, not libintl_hash_string.

2023-09-15  Bruno Haible  <bruno@clisp.org>

	intl: Fix list of exported symbols (regression 2021-06-19).
	Reported by <fxcoudert@gcc.gnu.org>
	and Christian Weisgerber <naddy@mips.inka.de>
	in <https://savannah.gnu.org/bugs/?64323>
	and <https://lists.gnu.org/archive/html/bug-gettext/2023-07/msg00005.html>.
	Analyzed by Christian Weisgerber <naddy@mips.inka.de> and
	Tijl Coosemans <tijl@FreeBSD.org>.

	* gettext-runtime/intl/Makefile.am (AM_CPPFLAGS): Set BUILDING_DLL.
	* gettext-runtime/intl/intl-compat.c: Update comments.

2023-09-15  Bruno Haible  <bruno@clisp.org>

	intl: Fix a build error on Android.
	The declaration in Android's <math.h>
	  long double frexpl(long double, int*) __RENAME_LDBL(frexp, 3, 21);
	has the effect that frexpl.o defines the symbol _libintl_frexp, not
	_libintl_frexpl, if config.h contains
	  #define frexp _libintl_frexp
	  #define frexpl _libintl_frexpl

	* gettext-runtime/intl/configure.ac:
	If REPLACE_FREXP is 1, don't redirect frexp to _libintl_frexp.
	If REPLACE_FREXPL is 1, don't redirect frexpl to _libintl_frexp.

2023-09-14  Bruno Haible  <bruno@clisp.org>

	intl: Annotate *printf functions with __attribute__ __nonnull__.
	* gettext-runtime/intl/libgnuintl.in.h (_INTL_ARG_NONNULL): New macro.
	(fprintf, vfprintf, printf, vprintf, sprintf, vsprintf, snprintf, vsnprintf,
	asprintf, vasprintf, fwprintf, vfwprintf, wprintf, vwprintf, swprintf,
	vswprintf): Annotate with _INTL_ARG_NONNULL.

2023-09-14  Bruno Haible  <bruno@clisp.org>

	intl: Annotate *printf functions with __attribute__ __format__.
	Reported by Pierre Ossman <ossman@cendio.se> at
	<https://savannah.gnu.org/bugs/?64384>.

	* gettext-runtime/intl/libgnuintl.in.h (_INTL_ATTRIBUTE_FORMAT,
	_INTL_ATTRIBUTE_SPEC_PRINTF_STANDARD, _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD):
	New macros.
	(fprintf, vfprintf, printf, vprintf, sprintf, vsprintf, snprintf, vsnprintf,
	asprintf, vasprintf): Annotate with _INTL_ATTRIBUTE_FORMAT_PRINTF_STANDARD.
	* gettext-runtime/intl/printf.c: Update comment.

2023-09-13  Bruno Haible  <bruno@clisp.org>

	intl: Don't compile relocatable.c any more.
	The library does not need relocatable.h any more since today.

	As a side effect, libintl.la gets installed again and "make uninstall" erases
	the installed libintl.{a,so} again (regressions from 2021-06-20).
	Reported by David Bohman <debohman@gmail.com> at
	<https://savannah.gnu.org/bugs/?64536>.

	* autogen.sh (GNULIB_MODULES_LIBINTL): Remove relocatable-lib-lgpl.
	* gnulib-local/modules/gettext-runtime-intl-misc (Makefile.am): Don't augment
	AM_CPPFLAGS.
	* gettext-runtime/intl/configure.ac: Don't set enable_relocatable.
	Don't define the C symbols relocate, relocate2.
	* gettext-runtime/intl/compat.c: New file.
	* gettext-runtime/intl/Makefile.am: Update comments.
	(LIBINTLSOURCES): Add compat.c.
	(compat.lo): New rule.

2023-09-13  Bruno Haible  <bruno@clisp.org>

	intl: Use a locale.alias file only on glibc systems.
	On systems without glibc, it makes no sense if libintl supports locale name
	aliases that the system's setlocale() does not support. Therefore better
	disable the locale.alias processing on these platforms.

	Also, stop installing locale.alias, because on systems without glibc we won't
	read it any more, and on systems with glibc we need to use the preinstalled
	one in /usr/share/locale/locale.alias.

	* gettext-runtime/intl/localealias.c: Don't include relocatable.h.
	(relocate, relocate2): Remove macros.
	(LOCALE_ALIAS_PATH): Define a fallback.
	(_nl_expand_alias): Simplify on systems without glibc.
	(read_alias_file, extend_alias_table, alias_compare): Don't define on systems
	without glibc.
	* gettext-runtime/intl/Makefile.am (AM_CPPFLAGS): Don't set LOCALE_ALIAS_PATH.
	(EXTRA_DIST): Remove locale.alias, ref-add.sin, ref-del.sin.
	(MOSTLYCLEANFILES): Remove ref-add.sed, red-del.sed.
	(ref-add.sed, ref-del.sed, install-data-aliasfile, installdirs-aliasfile,
	uninstall-aliasfile): Remove rules.
	* gettext-runtime/intl/locale.alias: Remove file.
	* gettext-runtime/intl/ref-add.sin: Remove file.
	* gettext-runtime/intl/ref-del.sin: Remove file.
	* gettext-tools/src/Makefile.am (aliaspath): Remove variable.
	(DEFS): Don't set LOCALE_ALIAS_PATH.
	* PACKAGING: Don't mention locale.alias.

2023-09-13  Bruno Haible  <bruno@clisp.org>

	intl: Clarify the role of locale.alias.
	This is part of the patch
	<https://sourceware.org/pipermail/libc-alpha/2023-September/151524.html>.

	* gettext-runtime/intl/localealias.c: Explain the form and the purpose of the
	locale.alias file.

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

	intl: Fix build failure with "make -j".
	Reported by Christian Weisgerber <naddy@mips.inka.de> at
	<https://lists.gnu.org/archive/html/bug-gettext/2023-09/msg00005.html>.

	* gettext-runtime/intl/Makefile.am (langprefs.lo, log.lo): Depend on gettextP.h
	and its subordinate includes.

2023-09-10  Bruno Haible  <bruno@clisp.org>

	intl: Treat C.UTF-8 locale like C locale.
	The wiki page https://sourceware.org/glibc/wiki/Proposals/C.UTF-8
	says that "Setting LC_ALL=C.UTF-8 will ignore LANGUAGE just like it
	does with LC_ALL=C." This is now implemented in glibc. Implement it
	for other platforms as well.

	* gettext-runtime/intl/dcigettext.c (DCIGETTEXT, guess_category_value): Treat
	C.<encoding> locale like the C locale.
	* gettext-runtime/NEWS: Mention it.
	* NEWS: Likewise.
	* gettext-tools/tests/intl-0: New file, based on gettext-tools/tests/intl-1.
	* gettext-tools/tests/Makefile.am (TESTS): Add it.

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

	intl: Don't export symbols from static MSVC .obj files.
	* gettext-runtime/intl/configure.ac (WOE32DLL): Set to 1 or 0, not 'yes' or
	'no'. Don't define as C macro any more.
	(DLL_VARIABLE): Test DLL_EXPORT, not _DLL.
	* gettext-runtime/intl/export.h: Use the value of WOE32DLL at configure time.
	Set LIBINTL_DLL_EXPORTED to empty on MSVC when DLL_EXPORT is not defined.
	* gettext-runtime/intl/Makefile.am (libgnuintl.h): Substitute the value of
	@WOE32DLL@.
	* gettext-runtime/intl/intl-compat.c (DLL_EXPORTED): Set to empty on MSVC when
	DLL_EXPORT is not defined.
	* gettext-runtime/intl/printf.c (DLL_EXPORTED): Likewise.
	* gettext-runtime/intl/setlocale.c (DLL_EXPORTED): Likewise.

2023-08-30  Bruno Haible  <bruno@clisp.org>

	Recognize the *-*-windows* config triplets introduced on 2023-06-26.
	* gettext-runtime/configure.ac: Treat windows* as equivalent to mingw*.
	* gettext-runtime/intl/configure.ac: Likewise.
	* gettext-runtime/libasprintf/configure.ac: Likewise.
	* gettext-tools/configure.ac: Likewise.
	* gettext-tools/m4/locale-de.m4 (gt_LOCALE_DE_UTF8): Likewise.
	* libtextstyle/configure.ac: Likewise.
	* m4/woe32-dll.m4 (gl_WOE32_DLL): Likewise.

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

	build: Move a .m4 file to where it belongs.
	* autogen.sh: Pass '-I m4' when generating gettext-runtime/intl/configure.
	* gettext-runtime/intl/m4/intdiv0.m4: Moved here from
	gettext-runtime/m4/intdiv0.m4.
	* gettext-runtime/intl/Makefile.am (ACLOCAL_AMFLAGS): Add '-I m4'.
	(EXTRA_DIST): Add m4/intdiv0.m4.
	* gettext-runtime/m4/Makefile.am (EXTRA_DIST): Remove intdiv0.m4.

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

	build: Remove redundant .m4 file.
	* gettext-runtime/intl/configure.ac: Don't invoke gl_AC_HEADER_STDINT_H.
	* gettext-runtime/m4/stdint_h.m4: Remove file.
	* gettext-runtime/m4/Makefile.am (EXTRA_DIST): Remove it.
	* Makefile.am (distcheck-hook): Don't check it.

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

	build: Simplify.
	* gettext-runtime/intl/configure.ac: Inline the gt_INTL_SUBDIR_CORE macro.
	* gettext-runtime/m4/intl.m4: Remove file.
	* gettext-runtime/m4/Makefile.am (EXTRA_DIST): Remove it.

2023-06-18  Bruno Haible  <bruno@clisp.org>

	build: Remove a .m4 file that duplicates gnulib functionality.
	* gettext-runtime/m4/printf-posix.m4: Remove file.
	* gettext-runtime/m4/Makefile.am (EXTRA_DIST): Remove it.
	* gettext-runtime/intl/configure.ac: Use gl_PRINTF_POSITIONS instead of
	gt_PRINTF_POSIX.
	* gettext-runtime/libasprintf/configure.ac: Likewise.

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

	Prepare for 0.22 release.
	* gettext-runtime/doc/matrix.texi: Update from TP.
	* gettext-runtime/doc/nls.texi (STATUS): Update.
	* gettext-runtime/intl/libgnuintl.in.h (LIBINTL_VERSION): Bump.
	* gettext-tools/libgettextpo/gettext-po.in.h (LIBGETTEXTPO_VERSION): Bump.
	* libtextstyle/version.sh: Update VERSION_NUMBER, RELEASE_DATE.
	* gettext-runtime/po/Makefile.in.in: Bump Origin version.
	* gettext-runtime/m4/gettext.m4: Update version at the first line.
	* gettext-runtime/m4/intl.m4: Likewise.
	* NEWS, libtextstyle/NEWS: Update.
	* libtextstyle/lib/Makefile.am (LTV_*): Bump to 2:0:2.
	* gettext-tools/libgettextpo/Makefile.am (LTV_*): Bump to 5:9:5.
	* gettext-tools/emacs/po-mode.el (po-mode-version-string): Bump.
	* gettext-tools/configure.ac (ARCHIVE_VERSION): Bump to 0.22.
	* gettext-tools/misc/autopoint.in: Allow version 0.22.

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

	intl: Fix translation lookup failure when wbindtextdomain is used.
	Reported by Luca Bacci <luca.bacci@outlook.com> at
	<https://savannah.gnu.org/bugs/index.php?64311>.

	The bug showed up when a call to bindtextdomain() with an absolute directory
	and a call to wbindtextdomain() for a different domain was in effect.
	Translations in the first referenced domain worked, translations in the second
	referenced domain did not.

	* gettext-runtime/intl/loadinfo.h (struct loaded_l10nfile, _nl_make_l10nflist):
	Improve comments.
	* gettext-runtime/intl/finddomain.c (_nl_loaded_domains): Likewise.
	* gettext-runtime/intl/l10nflist.c (_nl_make_l10nflist): Fix code that looks up
	the loaded_l10nfile in the given list, and make it more maintainable.
	* gettext-tools/tests/intl-6: Improve comments.
	* gettext-tools/tests/intl-6-prg.c (main): Restructure.
	* gettext-tools/tests/intl-7: New file, based on gettext-tools/tests/intl-6.
	* gettext-tools/tests/intl-6-prg.c: New file, based on
	gettext-tools/tests/intl-6-prg.c.
	* gettext-tools/tests/Makefile.am (TESTS): Add intl-7.
	(check_PROGRAMS): Add intl-7-prg.
	(intl_7_prg_SOURCES, intl_7_prg_LDADD): New variables.

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

	Fix libintl exports.
	On mingw, rpl_mbrtowc, rpl_mbsinit, hard_locale were exported.
	On Cygwin, rpl_mbrtowc, rpl_vasnprintf were exported.

	* gettext-runtime/intl/configure.ac: Map more rpl_* symbols to _libintl_*.

2023-06-04  Bruno Haible  <bruno@clisp.org>

	build: Take advantage of gcc warning options not included in -Wall.
	* autogen.sh (GNULIB_MODULES_RUNTIME_OTHER, GNULIB_MODULES_LIBINTL,
	GNULIB_MODULES_LIBASPRINTF, GNULIB_MODULES_TOOLS_OTHER): Add manywarnings.
	* m4/more-warnings.m4: New file.

	* libtextstyle/autogen.sh (GNULIB_MODULES): Add manywarnings.
	Copy also more-warnings.m4.
	* gnulib-local/modules/libxml (Makefile.am): New variable libxml_rpl_la_CFLAGS.
	* libtextstyle/gnulib-local/modules/libcroco (Makefile.am): New variable
	libcroco_rpl_la_CFLAGS.
	* libtextstyle/gnulib-local/modules/libglib (Makefile.am): New variable
	libglib_rpl_la_CFLAGS.
	* libtextstyle/configure.ac: Invoke gt_MORE_WARNINGS, gl_CC_INHIBIT_WARNINGS.
	* libtextstyle/lib/Makefile.am (AM_CFLAGS): Set to WARN_CFLAGS.
	(config.h): Do the compilations with GL_CFLAG_INHIBIT_WARNINGS.

	* gettext-runtime/configure.ac: Invoke gt_MORE_WARNINGS.
	* gettext-runtime/src/Makefile.am (AM_CFLAGS): Set to WARN_CFLAGS.
	* gnulib-local/modules/gettext-runtime-misc (Makefile.am): Add WARN_CFLAGS to
	AM_CFLAGS.

	* gettext-runtime/intl/configure.ac: Invoke gt_MORE_WARNINGS.
	* gettext-runtime/intl/Makefile.am (AM_CFLAGS): Add WARN_CFLAGS.
	* gnulib-local/modules/gettext-runtime-intl-misc (Makefile.am): Add WARN_CFLAGS
	to AM_CFLAGS.

	* gettext-runtime/libasprintf/configure.ac: Invoke gt_MORE_WARNINGS.
	* gettext-runtime/libasprintf/Makefile.am (AM_CFLAGS): Set to WARN_CFLAGS.

	* gettext-tools/configure.ac: Invoke gt_MORE_WARNINGS, gl_CC_INHIBIT_WARNINGS.
	* gettext-tools/gnulib-lib/Makefile.am (AM_CFLAGS): Set to WARN_CFLAGS.
	* gettext-tools/libgrep/Makefile.am (AM_CFLAGS): Set to WARN_CFLAGS.
	* gettext-tools/src/Makefile.am (AM_CFLAGS): Set to WARN_CFLAGS.
	* gettext-tools/libgettextpo/Makefile.am (AM_CFLAGS): Set to WARN_CFLAGS.
	(config.h): Do the compilations with GL_CFLAG_INHIBIT_WARNINGS.

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

	intl: Silence warnings "no previous prototype" and "nested extern declaration".
	* gettext-runtime/intl/gettextP.h (_nl_log_untranslated): New declaration.
	* gettext-runtime/intl/dcigettext.c: Remove nested declaration of _nl_log_untranslated.
	* gettext-runtime/intl/log.c: Include gettextP.h.

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

	intl: Silence a "no previous prototype" warning.
	* gettext-runtime/intl/langprefs.c: Include gettextP.h.

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

	intl: Improve declaration of 'struct binding'.
	* autogen.sh (GNULIB_MODULES_LIBINTL): Add flexmember.
	* gettext-runtime/intl/gettextP.h (struct binding): Use FLEXIBLE_ARRAY_MEMBER
	instead of ZERO.
	* gettext-runtime/intl/bindtextdom.c: Include flexmember.h.
	(offsetof): Remove fallback definition.
	(set_binding_values): Use FLEXNSIZEOF.

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

	intl: Support bison ≥ 3.7 better.
	* gettext-runtime/intl/Makefile.am (generate-plural): Renamed from
	$(srcdir)/plural.c.
	(plural.c, plural.h): New parallel-safe rules.
	(BUILT_SOURCES): Add plural.c, plural.h.

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

	build: Make bison rules more reliable.
	* gettext-runtime/intl/Makefile.am ($(srcdir)/plural.c): Fix sed expressions.
	* gettext-tools/src/Makefile.am (po-gram-gen.c, cldr-plural.c): Likewise.

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

	intl: Silence a gcc warning.
	* gettext-runtime/intl/localealias.c (read_alias_file): Silence a bogus
	-Wuse-after-free warning.

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

	build: Improve autoconf quoting.
	* gettext-runtime/intl/configure.ac: Fix quoting of AS_HELP_STRING argument.
	* gettext-tools/configure.ac: Likewise.

2023-03-17  Bruno Haible  <bruno@clisp.org>

	intl: Simplify use of vasnprintf from Gnulib.
	* autogen.sh (GNULIB_MODULES_LIBINTL): Use vasnprintf-posix instead of vasnprintf.
	* gettext-runtime/intl/vasnprintf.h: Remove file, moved to gnulib.
	* gettext-runtime/intl/Makefile.am (EXTRA_DIST): Remove vasnprintf.h.
	(printf.lo): Simplify dependencies accordingly.

2023-03-17  Bruno Haible  <bruno@clisp.org>

	intl: Fix bug in the exported *wprintf functions.
	* autogen.sh (GNULIB_MODULES_LIBINTL): Add vasnwprintf-posix.
	* gettext-runtime/intl/configure.ac: Hide the symbols from the gnulib modules
	isnand-nolibm, isnanl-nolibm, printf-frexp, printf-frexpl, signbit, vasnwprintf,
	frexp-nolibm, frexpl-nolibm.
	* gettext-runtime/intl/printf.c: Don't instantiate the vasnwprintf code here.
	* gettext-runtime/intl/wprintf-parse.h: Remove file, moved to gnulib.
	* gettext-runtime/intl/vasnwprintf.h: Remove file, moved to gnulib.
	* gettext-runtime/intl/Makefile.am (EXTRA_DIST): Remove wprintf-parse.h,
	vasnwprintf.h.
	(printf.lo): Simplify dependencies accordingly.

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

	intl: Fix many warnings like "warning: "glthread_lock_init" redefined".
	* gettext-runtime/intl/configure.ac: Move the renamings to the bottom of the
	config.h file. Make the glthread*_lock* renamings conditional so that they
	don't occur when these symbols are macros.

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

	Fix a comment.
	* gettext-runtime/intl/printf.c: Fix a typo in comment.

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

	intl: Simplify function prefixes.
	* gettext-runtime/intl/configure.ac: Remove macro definitions of
	_nl_locale_name_canonicalize, _nl_locale_name_from_win32_LANGID,
	_nl_locale_name_from_win32_LCID, _nl_locale_name_thread_unsafe,
	_nl_locale_name_posix, _nl_locale_name_default.
	* gettext-runtime/intl/gettextP.h: Update declarations.
	* gettext-runtime/intl/langprefs.c: Likewise.
	(_nl_language_preferences_win32_mui, _nl_language_preferences_win32_ME,
	_nl_language_preferences_win32_95, _nl_language_preferences_default): Use
	gl_ prefixed symbols instead.
	* gettext-runtime/intl/dcigettext.c (DCIGETTEXT, guess_category_value):
	Likewise.

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

	intl: Remove most of the exported _nl_* symbols, also on AIX and Solaris.
	* gettext-runtime/intl/configure.ac: Map most of the _nl_* symbols to
	_libintl_* symbols, so that they are not exported from libintl.

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

	AM_GNU_GETTEXT: Define localedir_c and localedir_c_make.
	* gettext-runtime/m4/gettext.m4 (AM_GNU_GETTEXT): Define and substitute
	localedir_c and localedir_c_make.
	* gettext-runtime/src/Makefile.am (AM_CPPFLAGS): Use $(localedir_c_make)
	instead of $(localedir). This is useful in native Windows environments.
	* gettext-runtime/intl/Makefile.am (AM_CPPFLAGS): Likewise.
	* gettext-tools/src/Makefile.am (AM_CPPFLAGS): Likewise.
	* gettext-tools/tests/Makefile.am (AM_CPPFLAGS): Likewise.
	* gettext-tools/doc/gettext.texi (AM_GNU_GETTEXT): Small updates. Mention
	localedir_c and localedir_c_make.
	* NEWS: Mention the change.

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

	Fix compilation errors with ISO C 23 compilers.
	* gettext-runtime/intl/dcigettext.c (getwd, getcwd): Assume a declaration in the
	system header files.
	* gettext-runtime/intl/gettextP.h (SWAP): Drop K&C compatibility.

2023-02-11  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* gettext-runtime/intl/configure.ac: Test also REPLACE_TWALK.
	* gettext-tools/src/po-xerror.c: Don't include "getprogname.h".
	* gnulib-local/lib/xerror.c: Likewise.
	* gnulib-local/lib/error-progname.c: Include <stdlib.h> instead of
	getprogname.h.
	* gnulib-local/lib/error.in.h.diff: Renamed from gnulib-local/lib/error.h.diff.
	* gnulib-local/Makefile.am (EXTRA_DIST): Update.
	* gnulib-local/modules/gettext-tools-misc (Makefile.am): Update comment.

2023-02-11  Bruno Haible  <bruno@clisp.org>

	intl: Fix generation of libgnuintl.h (regression from 2022-07-17).
	* gettext-runtime/intl/Makefile.am (libgnuintl.h): Use a syntax that does not
	require GNU sed.

2023-02-11  Bruno Haible  <bruno@clisp.org>

	Fix libintl exports after build system changes in gettext-runtime/intl/ (regression 2021-06-20).
	On several platforms, rpl_free was exported.
	On AIX 7, also rpl_newlocale, rpl_duplocale, rpl_freelocale.

	* gettext-runtime/intl/configure.ac: Map more rpl_* symbols to _libintl_*.

2022-10-10  Bruno Haible  <bruno@clisp.org>

	Merge from 0.21.x branch: Prepare for 0.21.1 release.
	* gettext-runtime/doc/matrix.texi: Update from TP.
	* gettext-runtime/doc/nls.texi (STATUS): Update.
	* gettext-runtime/intl/libgnuintl.in.h (LIBINTL_VERSION): Bump.
	* gettext-tools/libgettextpo/gettext-po.in.h (LIBGETTEXTPO_VERSION): Bump.
	* libtextstyle/version.sh: Update VERSION_NUMBER, RELEASE_DATE.
	* NEWS, gettext-runtime/NEWS: Update.
	* libtextstyle/lib/Makefile.am (LTV_*): Bump to 1:2:1.
	* gettext-runtime/intl/Makefile.am (LTV_*): Bump to 11:0:3.
	* gettext-tools/libgettextpo/Makefile.am (LTV_*): Bump to 5:8:5.
	* gettext-runtime/src/envsubst.c: Update copyright years of the --version output.
	* gettext-runtime/src/gettext.c: Likewise.
	* gettext-runtime/src/gettext.sh.in: Likewise.
	* gettext-runtime/src/ngettext.c: Likewise.
	* gettext-tools/misc/autopoint.in: Likewise.
	* gettext-tools/misc/convert-archive.in: Likewise.
	* gettext-tools/misc/gettextize.in: Likewise.
	* gettext-tools/src/cldr-plurals.c: Likewise.
	* gettext-tools/src/hostname.c: Likewise.
	* gettext-tools/src/msgattrib.c: Likewise.
	* gettext-tools/src/msgcat.c: Likewise.
	* gettext-tools/src/msgcmp.c: Likewise.
	* gettext-tools/src/msgcomm.c: Likewise.
	* gettext-tools/src/msgconv.c: Likewise.
	* gettext-tools/src/msgen.c: Likewise.
	* gettext-tools/src/msgexec.c: Likewise.
	* gettext-tools/src/msgfilter.c: Likewise.
	* gettext-tools/src/msgfmt.c: Likewise.
	* gettext-tools/src/msggrep.c: Likewise.
	* gettext-tools/src/msginit.c: Likewise.
	* gettext-tools/src/msgmerge.c: Likewise.
	* gettext-tools/src/msgunfmt.c: Likewise.
	* gettext-tools/src/msguniq.c: Likewise.
	* gettext-tools/src/recode-sr-latin.c: Likewise.
	* gettext-tools/src/urlget.c: Likewise.
	* gettext-tools/src/xgettext.c: Likewise.
	* gettext-tools/configure.ac (ARCHIVE_VERSION): Bump to 0.21.1.
	* gettext-tools/misc/autopoint.in: Allow version 0.21.1.

2022-09-25  Bruno Haible  <bruno@clisp.org>

	Fix a link error on MSVC/clang in --enable-shared mode.
	* gettext-runtime/intl/printf.c: Include libgnuintl.h. This ensures that the
	LIBINTL_DLL_EXPORTED marker from the libintl_*printf function declarations is
	seen when the functions get defined.
	* gettext-runtime/intl/Makefile.am: Update comment.

2022-07-17  Bruno Haible  <bruno@clisp.org>

	Fix "make distcheck" failure (regression from 2022-07-03).
	* gettext-runtime/intl/export.h: Add a copyright notice.
	* gettext-runtime/intl/Makefile.am (libgnuintl.h): Eliminate this copyright
	notice when including export.h.

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

	build: Fix link error for tstgettext.exe on mingw.
	* gettext-runtime/intl/export.h: Treat mingw like MSVC. In static builds. don't
	use __declspec(dllexport). In shared builds, use also __declspec(dllimport).

2022-06-25  Johannes Schindelin  <johannes.schindelin@gmx.de>

	intl: On native Windows, actually define the *wprintf functions.
	In dcaf8c4d7 (Cygwin portability., 2003-09-17), the *wprintf() family of
	functions in `gettext-runtime/intl/printf.c` were no longer guarded by
	the constant `HAVE_WPRINTF`, but instead by `HAVE_FWPRINTF`.

	This apparently worked even if the corresponding part in
	`gettext-runtime/intl/libgnuintl.h.in` uses `HAVE_WPRINTF` to guard the
	declarations of those functions.

	However, in d84f20745 (Make sure that libintl.h declares the *wprintf
	overrides on Windows., 2019-04-08), gettext introduced a change where it
	would look for `wprintf()` instead of `fwprintf()`. As a consequence it
	would no longer define the `HAVE_FWPRINTF` constant at all.

	GCC apparently interprets `#if HAVE_FWPRINTF` as `#if 0` if the constant
	has not even been defined.

	This leads to the funny situation that previously, the *wprintf()
	functions would be defined, but not be declared. Whereas now the
	functions are not defined, but declared.

	Also funny: Cygwin did not even export the `fwprintf()` function until
	2009, as per Cygwin's 45e20e47ba (cygwin.din: Export wprintf,
	fwprintf, swprintf, vwprintf, vfwprintf, vswprintf. [...] , 2009-03-06),
	while the `wprintf()` function was exported already in 2003. So the
	Cygwin portability patch from 2003 seems to have turned off all of the
	*wprintf() functions in gettext.

	Let's revert that "portability" patch, as it now only does harm and has
	no benefit anymore.


	[Bruno's summary]
	Thank you for the analysis and explanation, Johannes!

	The commits dcaf8c4d7 and f5ca7696d (2003-09-17) introduced a test for
	fwprintf rather than wprintf. This was designed as a workaround to a
	Cygwin problem that existed from 2003 to 2009.

	The commit d84f20745 (2019-04-08) switched back from testing fwprintf
	to testing wprintf, but did so incompletely: I forgot to modify printf.c.
	So, since then, the *wprintf functions are declared but not defined.

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

	intl: Add special hack for GCC.
	Based on the commit
	https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=4a1493f0603262a7dc1114d9827353e9810e63dc
	by Jakub Jelinek <jakub@redhat.com>.

	* gettext-runtime/intl/configure.ac: Accept option --enable-host-shared.
	Set PICFLAG.
	* gettext-runtime/intl/Makefile.am (AM_CFLAGS): Add the PICFLAG.
	* gnulib-local/modules/gettext-runtime-intl-misc (Makefile.am): Add the PICFLAG
	to AM_CFLAGS.

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

	Update after Turkey changed its name.
	* gettext-tools/doc/ISO_3166: Update country name.
	* gettext-tools/doc/iso-3166.texi: Likewise.
	* gettext-tools/doc/ISO_639-2: Update comments.
	* gettext-runtime/intl/setlocale.c: Likewise.
	* gettext-tools/src/msginit.c: Likewise.

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

	Fix an interference between libintl.h and C++ (boost) header files.
	Reported by Marc Jeanmougin <marc@jeanmougin.fr> in
	<https://lists.gnu.org/archive/html/bug-gettext/2021-12/msg00027.html>.

	* gettext-runtime/intl/libgnuintl.in.h (libintl_fprintf, libintl_vfprintf,
	libintl_printf, libintl_vprintf, libintl_sprintf, libintl_vsprintf,
	libintl_snprintf, libintl_vsnprintf, libintl_asprintf, libintl_vasprintf,
	libintl_fwprintf, libintl_vfwprintf, libintl_wprintf, libintl_vwprintf,
	libintl_swprintf, libintl_vswprintf, libintl_newlocale, libintl_duplocale,
	libintl_freelocale, libintl_setlocale): Inject also into the C++ std namespace.

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

	intl: Improve indentation of generated libintl.h file.
	* gettext-runtime/intl/libgnuintl.in.h: Indent preprocessor directives.

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

	build: Move most of intl.m4 into gettext-runtime/intl/configure.ac, part 2.
	* gettext-runtime/intl/configure.ac: Invoke gt_GLIBC2.

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

	Improve conflict resolution between gnulib and libintl.h.
	* gettext-runtime/intl/libgnuintl.in.h (fprintf, vfprintf, printf, vprintf,
	sprintf, vsprintf, snprintf, vsnprintf, asprintf, vasprintf): Use Gnulib-
	provided macros to test more reliably whether Gnulib overrides these functions.

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

	build: Simplify further.
	* gettext-runtime/intl/Makefile.am: Assume BUILD_INCLUDED_LIBINTL is true.
	* gettext-runtime/intl/configure.ac: Remove BUILD_INCLUDED_LIBINTL conditional.
	* gettext-runtime/m4/gettext.m4 (AM_GNU_GETTEXT): Don't set
	BUILD_INCLUDED_LIBINTL.

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

	intl: Assume strtoul exists.
	* gettext-runtime/intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Assume
	HAVE_STRTOUL to be 1.
	* gettext-runtime/m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for strtoul.

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

	intl: Assume strdup exists.
	* gettext-runtime/intl/bindtextdom.c (set_binding_values): Assume HAVE_STRDUP
	to be 1.
	* gettext-runtime/intl/finddomain.c (_nl_find_domain): Likewise.
	* gettext-runtime/intl/textdomain.c (TEXTDOMAIN): Likewise.
	* gettext-runtime/m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for strdup.

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

	intl: Assume <limits.h> exists.
	* gettext-runtime/intl/dcigettext.c: Include <limits.h> always.
	* gettext-runtime/m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for limits.h.

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

	build: Move most of intl.m4 into gettext-runtime/intl/configure.ac.
	* gettext-runtime/m4/gettext.m4 (AM_GNU_GETTEXT): Don't invoke AM_INTL_SUBDIR.
	* gettext-runtime/m4/intl.m4 (AM_INTL_SUBDIR, gt_GL_ATTRIBUTE): Remove macros.
	(gt_INTL_SUBDIR_CORE): Test for uselocale.
	* gnulib-local/modules/gettext-runtime-intl-misc (configure.ac): Ensure
	LOCALENAME_ENHANCE_LOCALE_FUNCS initialization.
	* autogen.sh (GNULIB_MODULES_LIBINTL): Add lib-symbol-visibility, localename.
	* gettext-runtime/intl/configure.ac: Set WINDRES. Invoke gt_INTL_SUBDIR_CORE.
	Set HAVE_POSIX_PRINTF, HAVE_ASPRINTF, HAVE_SNPRINTF, HAVE_WPRINTF,
	HAVE_NEWLOCALE. Test for features.h, _snprintf, _snwprintf.
	Set ENHANCE_LOCALE_FUNCS, WOE32DLL.

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

	build: Simplify the use of gnulib in libintl.
	* gnulib-local/lib/localename-table.h.diff: New file.
	* gnulib-local/lib/localename.c.diff: New file.
	* gnulib-local/lib/tsearch.c.diff: New file.
	* gnulib-local/modules/gettext-runtime-intl-misc: New file, based on
	gettext-runtime/intl/Makefile.am.
	* gnulib-local/modules/tsearch.diff: New file.
	* gnulib-local/Makefile.am (EXTRA_DIST): Add them.
	* autogen.sh (GNULIB_MODULES_LIBINTL, GNULIB_SETLOCALE_DEPENDENCIES): New
	variables.
	Invoke gnulib-tool for the gettext-runtime/intl/ directory.
	Update 'aclocal' invocation for the gettext-runtime/intl/ directory.
	* gettext-runtime/intl/configure.ac (enable_relocatable): Set to yes always.
	Invoke gl_EARLY and gl_INIT. Don't invoke gl_USE_SYSTEM_EXTENSIONS,
	AM_PROG_CC_C_O, gl_COMMON, gl_RELOCATABLE_LIBRARY explicitly.
	Define IN_LIBINTL through config.h.
	Rename __libc* macros and symbols through config.h.
	Invoke AC_CONFIG_FILES for gnulib-lib/Makefile.
	* gettext-runtime/m4/intl.m4 (AM_INTL_SUBDIR): Don't rename __libc* macros and
	symbols here.
	(gt_INTL_SUBDIR_CORE): Don't test for tsearch.
	* gettext-runtime/intl/arg-nonnull.h: Remove file.
	* gettext-runtime/intl/attribute.h: Remove file.
	* gettext-runtime/intl/filename.h: Remove file.
	* gettext-runtime/intl/flexmember.h: Remove file.
	* gettext-runtime/intl/localcharset.h: Remove file.
	* gettext-runtime/intl/localcharset.c: Remove file.
	* gettext-runtime/intl/localename.c: Remove file.
	* gettext-runtime/intl/localename-table.in.h: Remove file.
	* gettext-runtime/intl/localename-table.c: Remove file.
	* gettext-runtime/intl/lock.h: Remove file.
	* gettext-runtime/intl/lock.c: Remove file.
	* gettext-runtime/intl/printf-args.h: Remove file.
	* gettext-runtime/intl/printf-args.c: Remove file.
	* gettext-runtime/intl/printf-parse.h: Remove file.
	* gettext-runtime/intl/printf-parse.c: Remove file.
	* gettext-runtime/intl/relocatable.h: Remove file.
	* gettext-runtime/intl/relocatable.c: Remove file.
	* gettext-runtime/intl/setlocale-lock.c: Remove file.
	* gettext-runtime/intl/setlocale_null.h: Remove file.
	* gettext-runtime/intl/setlocale_null.c: Remove file.
	* gettext-runtime/intl/thread-optim.h: Remove file.
	* gettext-runtime/intl/threadlib.c: Remove file.
	* gettext-runtime/intl/tsearch.h: Remove file.
	* gettext-runtime/intl/tsearch.c: Remove file.
	* gettext-runtime/intl/vasnprintf.c: Remove file.
	* gettext-runtime/intl/verify.h: Remove file.
	* gettext-runtime/intl/windows-initguard.h: Remove file.
	* gettext-runtime/intl/windows-mutex.h: Remove file.
	* gettext-runtime/intl/windows-mutex.c: Remove file.
	* gettext-runtime/intl/windows-once.h: Remove file.
	* gettext-runtime/intl/windows-once.c: Remove file.
	* gettext-runtime/intl/windows-recmutex.h: Remove file.
	* gettext-runtime/intl/windows-recmutex.c: Remove file.
	* gettext-runtime/intl/windows-rwlock.h: Remove file.
	* gettext-runtime/intl/windows-rwlock.c: Remove file.
	* gettext-runtime/intl/xsize.h: Remove file.
	* gettext-runtime/intl/xsize.c: Remove file.
	* gettext-runtime/intl/Makefile.am (ACLOCAL_AMFLAGS): Reference gnulib-m4 in
	this directory.
	(SUBDIRS): Add gnulib-lib.
	(AM_CPPFLAGS): Add -I statements for the gnulib-lib directory. Don't define
	BUILDING_DLL, IN_LIBINTL here. Don't parametrize the 'relocatable-lib-lgpl'
	module here.
	(EXTRA_DIST, LIBINTLSOURCES): Remove the said files.
	(localename-table.h): Remove rule.
	(*.lo): Remove rules and dependencies for the said files.
	(libintl_la_LIBADD, libintl_la_DEPENDENCIES, libgnuintl_la_LIBADD,
	libgnuintl_la_DEPENDENCIES): Add gnulib-lib/libgnu.la.
	(OTHER_LDFLAGS): Don't export _libintl_* symbols.
	(EXTRA_DIST): Add gnulib-m4/gnulib-cache.m4.
	* gettext-runtime/intl/gettextP.h: Include glthread/lock.h, not lock.h.
	(gl_locale_name_canonicalize, gl_locale_name_from_win32_LANGID,
	gl_locale_name_from_win32_LCID, gl_locale_name_thread_unsafe,
	gl_locale_name_thread, gl_locale_name_posix, gl_locale_name_environ,
	gl_locale_name_default, gl_locale_name): Remove macros.
	(_nl_locale_name_posix, _nl_locale_name_environ, _nl_locale_name_default):
	Remove declarations.
	* gettext-runtime/intl/plural-exp.h (FREE_EXPRESSION, PLURAL_PARSE,
	GERMANIC_PLURAL, EXTRACT_PLURAL_EXPRESSION): Prefix these libintl-private
	symbols with _libintl_, not libintl_.
	* gettext-runtime/intl/bindtextdom.c: Include glthread/lock.h, not lock.h.
	* gettext-runtime/intl/finddomain.c: Likewise.
	* gettext-runtime/intl/loadmsgcat.c: Likewise.
	* gettext-runtime/intl/localealias.c: Likewise.
	* gettext-runtime/intl/log.c: Likewise.
	* gettext-runtime/intl/textdomain.c: Likewise.
	* gettext-runtime/intl/dcigettext.c: Include localename.h. Include
	glthread/lock.h, not lock.h.
	Include <search.h> always; don't include tsearch.c.
	* gettext-runtime/intl/printf.c: Don't define libintl_vasprintf here. Instead,
	use _libintl_vasprintf from gnulib-lib/vasnprintf.c. Define _libintl_vasnwprintf
	instead of libintl_vasnwprintf.
	* gettext-runtime/intl/setlocale.c: Include <errno.h>, localename.h.
	(gl_locale_name_canonicalize): New declaration.
	* Makefile.am (distcheck-hook): Remove the file comparisons for files in
	gettext-runtime/intl/.

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

	build: Add a separate configure.ac in gettext-runtime/intl/.
	* autogen.sh (GNULIB_MODULES_RUNTIME_OTHER): Remove bison. Instead, copy
	bison.m4 explicitly.
	Generate configure file also in gettext-runtime/intl/.
	Do automake invocations top-down, not bottom-up.
	* gettext-runtime/intl/Makefile.am (ACLOCAL_AMFLAGS, SUBDIRS): New variables.
	* gettext-runtime/m4/gettext.m4 (AM_GNU_GETTEXT): Allow 'here' as INTLSYMBOL
	argument.
	* gettext-runtime/intl/configure.ac: New file, based on
	gettext-runtime/configure.ac.
	* gettext-runtime/intl/AUTHORS: New file.
	* gettext-runtime/intl/NEWS: New file.
	* gettext-runtime/intl/README: New file.
	* gettext-runtime/intl/ABOUT-NLS: New file, copied from
	gettext-runtime/ABOUT-NLS.
	* gettext-runtime/intl/INSTALL: New file, copied from gettext-runtime/INSTALL.
	* gettext-runtime/configure.ac: Define WINDRES. Pass third argument to
	AM_GNU_GETTEXT. Remove conditionals USE_INCLUDED_LIBINTL,
	BUILD_INCLUDED_LIBINTL, PRELOADABLE_LIBINTL. Invoke AC_CONFIG_SUBDIRS([intl]).
	Don't create intl/Makefile from here.
	* gettext-tools/configure.ac: Define WINDRES. Redefine __libc_lock_*, for use
	in localealias.c. Invoke gt_GLIBC2.

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

	build: Simplify: Don't build libintl+libgnuintl a second time in gettext-tools.
	* PACKAGING: Document that gettext-tools cannot be built without
	gettext-runtime.
	* autogen.sh: Don't create gettext-tools/intl/Makefile.am.
	* gettext-tools/Makefile.am (SUBDIRS): Remove 'intl'.
	* gettext-runtime/intl/Makefile.am (dist-hook): Remove.
	(install-data-local, uninstall-local, uninstall-sources): Moved ...
	* gettext-tools/misc/Makefile.am (install-data-local, uninstall-local,
	uninstall-sources): ... to here.
	* gettext-runtime/configure.ac (PACKAGE_IS_GETTEXT_TOOLS): Remove conditional.
	* gettext-tools/configure.ac: Add 3rd argument to AM_GNU_GETTEXT invocation.
	(PACKAGE_IS_GETTEXT_TOOLS): Remove conditional.
	Update reference to os2compat.h.
	Don't create intl/Makefile from intl/Makefile.in.
	* gettext-tools/gnulib-lib/Makefile.am (AM_CPPFLAGS): Use the built header files
	in gettext-runtime/intl/.
	* gettext-tools/libgrep/Makefile.am (AM_CPPFLAGS): Likewise.
	* gettext-tools/src/Makefile.am (AM_CPPFLAGS): Likewise.
	* gettext-tools/libgettextpo/Makefile.am (AM_CPPFLAGS): Likewise.
	* gettext-tools/gnulib-tests/Makefile.am (AM_CPPFLAGS): Likewise.
	* gettext-tools/tests/Makefile.am (AM_CPPFLAGS): Likewise.
	(LDADD_yes, LDADD_no): Use the built libraries in gettext-runtime/intl/.
	* gettext-tools/tests/lang-c: Use the built header files in gettext-runtime/intl/.
	* gettext-tools/tests/lang-c++: Likewise.
	* gettext-tools/tests/lang-objc: Likewise.

2021-01-08  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* gettext-runtime/m4/intl.m4 (AM_INTL_SUBDIR): Test
	gt_localename_enhances_locale_funcs instead of gt_nameless_locales. Set
	ENHANCE_LOCALE_FUNCS, not HAVE_NAMELESS_LOCALES.
	* gettext-runtime/intl/Makefile.am (libgnuintl.h, libintl.h): Substitute
	ENHANCE_LOCALE_FUNCS, not HAVE_NAMELESS_LOCALES.
	* gettext-runtime/intl/libgnuintl.in.h: Test ENHANCE_LOCALE_FUNCS, not
	HAVE_NAMELESS_LOCALES.
	* gettext-runtime/intl/localename.c: Update from gnulib.
	* gettext-runtime/m4/iconv.m4: Likewise.

2021-01-01  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* gettext-runtime/intl/verify.h: Update copyright years.
	* gettext-runtime/intl/xsize.h: Likewise.
	* gettext-runtime/m4/fcntl-o.m4: Likewise.
	* gettext-runtime/m4/flexmember.m4: Likewise.
	* gettext-runtime/m4/iconv.m4: Likewise.
	* gettext-runtime/m4/intlmacosx.m4: Likewise.
	* gettext-runtime/m4/inttypes_h.m4: Likewise.
	* gettext-runtime/m4/nls.m4: Likewise.
	* gettext-runtime/m4/progtest.m4: Likewise.
	* gettext-runtime/m4/size_max.m4: Likewise.
	* gettext-runtime/m4/stdint_h.m4: Likewise.
	* gettext-runtime/m4/xsize.m4: Likewise.
	* Makefile.am (distcheck-hook): Update.

2020-12-14  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* gettext-runtime/intl/threadlib.c: Update from gnulib.

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

	intl: Support the AIX 7 locale names.
	* gettext-runtime/intl/explodename.c (_nl_find_language): Remove function.
	(_nl_explode_name): Inline it here. On AIX, lowercase the language and map a
	script identifier to a modifier.
	* NEWS: Mention it.

2020-11-21  Bruno Haible  <bruno@clisp.org>

	build: Remove the need for an autoconf test.
	* gettext-runtime/intl/intl-exports.c (IMP): Use predefined preprocessor symbol
	tests, not USER_LABEL_PREFIX_UNDERSCORE.
	* gettext-runtime/configure.ac (INTL_EXPORTS_FLAGS): Remove variable.
	* gnulib-local/modules/gettext-runtime-misc (Makefile.am): Don't use
	INTL_EXPORTS_FLAGS.
	* gettext-tools/woe32dll/export.h (IMP): Use predefined preprocessor symbol
	tests, not USER_LABEL_PREFIX_UNDERSCORE.
	* gettext-tools/configure.ac (GETTEXTLIB_EXPORTS_FLAGS): Don't define USER_LABEL_PREFIX_UNDERSCORE.

2020-10-18  Bruno Haible  <bruno@clisp.org>

	Fix "warning: implicit declaration of function 'open'/'read'/'close'".
	* gettext-runtime/intl/loadmsgcat.c: Include <io.h>.
	(open, read, close): New macros on native Windows.

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

	Update after gnulib changed.
	* autogen.sh: Don't copy attribute.h, as it would have the wrong copyright header.
	* gettext-runtime/intl/attribute.h: New file, from gnulib.
	* gettext-runtime/intl/arg-nonnull.h: Update from gnulib.
	* gettext-runtime/intl/localename.c: Likewise.
	* gettext-runtime/intl/vasnprintf.c: Likewise.
	* gettext-runtime/intl/verify.h: Likewise.
	* gettext-runtime/libasprintf/vasnprintf.c: Likewise.
	* gettext-runtime/m4/fcntl-o.m4: Likewise.
	* gettext-runtime/m4/iconv.m4: Likewise.
	* gettext-runtime/intl/thread-optim.h: New file, from gnulib.
	* gettext-runtime/intl/Makefile.am (EXTRA_DIST): Add thread-optim.h.
	* Makefile.am (distcheck-hook): Check also thread-optim.h.

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

	Fix "warning: unannotated fall-through between switch labels".
	* autogen.sh (GNULIB_MODULES_RUNTIME_FOR_SRC, GNULIB_MODULES_TOOLS_FOR_SRC,
	GNULIB_MODULES_LIBGETTEXTPO): Add 'attribute'.
	* libtextstyle/autogen.sh (GNULIB_MODULES): Likewise.
	* gettext-runtime/intl/plural.y: Include attribute.h. Use FALLTHROUGH annotated
	empty statements instead of /* FALLTHROUGH */ comments.
	* gettext-runtime/src/gettext.c: Likewise.
	* gettext-runtime/src/ngettext.c: Likewise.
	* gettext-tools/src/format-boost.c: Likewise.
	* gettext-tools/src/read-stringtable.c: Likewise.
	* gettext-tools/src/write-csharp.c: Likewise.
	* gettext-tools/src/write-java.c: Likewise.
	* gettext-tools/src/write-po.c: Likewise.
	* gettext-tools/src/x-awk.c: Likewise.
	* gettext-tools/src/x-c.c: Likewise.
	* gettext-tools/src/x-csharp.c: Likewise.
	* gettext-tools/src/x-elisp.c: Likewise.
	* gettext-tools/src/x-java.c: Likewise.
	* gettext-tools/src/x-javascript.c: Likewise.
	* gettext-tools/src/x-librep.c: Likewise.
	* gettext-tools/src/x-lisp.c: Likewise.
	* gettext-tools/src/x-perl.c: Likewise.
	* gettext-tools/src/x-php.c: Likewise.
	* gettext-tools/src/x-python.c: Likewise.
	* gettext-tools/src/x-scheme.c: Likewise.
	* gettext-tools/src/x-sh.c: Likewise.
	* gettext-tools/src/x-smalltalk.c: Likewise.
	* gettext-tools/src/x-tcl.c: Likewise.
	* gettext-tools/src/x-vala.c: Likewise.
	* gettext-tools/src/x-ycp.c: Likewise.
	* gettext-tools/tests/tstgettext.c: Likewise.
	* gettext-tools/tests/tstngettext.c: Likewise.
	* libtextstyle/gnulib-local/lib/tparm.c: Likewise.
	* gettext-runtime/src/escapes.h: Use FALLTHROUGH annotated empty statements
	instead of /* FALLTHROUGH */ comments.

2020-08-07  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* gettext-runtime/intl/verify.h: Update from gnulib.
	* gettext-runtime/intl/vasnprintf.c: Likewise.
	* gettext-runtime/libasprintf/vasnprintf.c: Likewise.

2020-08-01  Bruno Haible  <bruno@clisp.org>

	Fix build failure with bison 3.7. Revisit bison Makefile rules.
	* gettext-runtime/intl/Makefile.am ($(srcdir)/plural.c): Keep and distribute the
	plural.h file. Don't use --output option.
	* gettext-tools/src/Makefile.am (YACC): Removed unused variable.
	(po-gram-gen.c, po-gram-gen.h): Correct the #line statements in the generated
	files.
	(po-gram-gen2.h): Likewise.
	(cldr-plural.c, cldr-plural.h): Likewise.

2020-07-26  Bruno Haible  <bruno@clisp.org>

	Prepare for 0.21 release.
	* gettext-runtime/doc/matrix.texi: Update from TP.
	* gettext-runtime/doc/nls.texi (STATUS): Update.
	* gettext-runtime/intl/libgnuintl.in.h (LIBINTL_VERSION): Bump.
	* gettext-tools/libgettextpo/gettext-po.in.h (LIBGETTEXTPO_VERSION): Bump.
	* libtextstyle/version.sh: Update VERSION_NUMBER, RELEASE_DATE.
	* gettext-runtime/po/Makefile.in.in: Bump Origin version.
	* NEWS, libtextstyle/NEWS, gettext-runtime/NEWS: Update.
	* libtextstyle/lib/Makefile.am (LTV_*): Bump to 1:1:1.
	* gettext-runtime/intl/Makefile.am (LTV_*): Bump to 10:0:2.
	* gettext-tools/libgettextpo/Makefile.am (LTV_*): Bump to 5:7:5.
	* gettext-tools/configure.ac (ARCHIVE_VERSION): Bump to 0.21.
	* gettext-tools/misc/autopoint.in: Allow version 0.21.

2020-07-26  Bruno Haible  <bruno@clisp.org>

	Drop portability to AIX 4.
	* gettext-runtime/intl/loadmsgcat.c: Assume PRI_MACROS_BROKEN is not set.
	* gettext-tools/tests/format-c-3-prg.c: Likewise.
	* gettext-tools/tests/format-c-4-prg.c: Likewise.

2020-07-06  Bruno Haible  <bruno@clisp.org>

	Fix compilation error on AIX (regression from 2019-01-06).
	* gettext-runtime/intl/Makefile.am (localename-table.h): Fix insertion of
	export.h.

2020-06-27  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* gnulib-local/modules/fnmatch.diff: Remove file.
	* gnulib-local/lib/fnmatch.c.diff: Remove file.
	* gnulib-local/lib/fnmatch_loop.c.diff: Remove file.
	* gnulib-local/Makefile.am (EXTRA_DIST): Remove them.
	* gettext-tools/src/read-properties.c (properties_parse): Update the fread_file
	invocation.
	* gettext-tools/po/POTFILES.in: Remove gnulib-lib/copy-acl.c,
	gnulib-lib/set-acl.c.
	* gettext-runtime/intl/localename.c: Update from gnulib.
	* gettext-runtime/intl/relocatable.c: Likewise.
	* gettext-runtime/intl/verify.h: Likewise.
	* gettext-runtime/intl/windows-rwlock.c: Likewise.

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

	Update after gnulib changed.
	* autogen.sh: Create gettext-runtime/intl/attribute.h.
	(GNULIB_MODULES_LIBASPRINTF): Add 'attribute'.
	* gettext-runtime/intl/Makefile.am (EXTRA_DIST): Add attribute.h.
	* Makefile.am (distcheck-hook): Test also gettext-runtime/intl/attribute.h.
	* gettext-runtime/intl/vasnprintf.c: Update from gnulib.
	* gettext-runtime/intl/xsize.h: Likewise.
	* gettext-runtime/libasprintf/vasnprintf.c: Likewise.

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

	Update copyright year.
	* gettext-runtime/intl/plural.y: Update copyright year.

2020-05-01  Akim Demaille  <akim.demaille@gmail.com>

	intl: Fix grammar conflicts instead of accepting them.
	The seven conflicts are related to "a ? b : c <op> d".  In all the
	cases we left the S/R conflict be resolved as a shift, i.e., "a ? b
	: (c <op> d)".  To make this explicit, give the rule of the ternary
	operator a very low precedence.  In fact give it the same precedence
	as "?".  Now, to resolve the conflict in "a ? b : c ? d : e" be parsed
	as "a ? b : (c ? d : e)", make them right-associative.

	* gettext-runtime/intl/plural.y: Require Bison 3.0, to use %precedence
	instead of useless associativities such as %right.
	Make '?' and ':' of the same precedence, right associative.

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

	build: Fix VPATH build failures with old bison when the *.y files are modified.
	* gettext-runtime/intl/Makefile.am (BISON): New variable.
	(YACC): Use it.
	(plural.c): Don't do the post-processing if a suitable version of bison was not
	found.
	* gettext-tools/src/Makefile.am (BISON): New variable.
	(po-gram-gen.c, cldr-plural.c): Don't do the post-processing if a suitable
	version of bison was not found.

2020-04-20  Bruno Haible  <bruno@clisp.org>

	intl: Support any Unicode characters in the locale dir on native Windows.
	Reported at <https://savannah.gnu.org/bugs/?57714>.

	* gettext-runtime/intl/libgnuintl.in.h (libintl_wbindtextdomain): New
	declaration.
	(wbindtextdomain): New redirect.
	* gettext-runtime/intl/bindtextdom.c (set_binding_values): Accept a wdirnamep
	argument. Set not only binding->dirname but also binding->wdirname.
	(BINDTEXTDOMAIN, BIND_TEXTDOMAIN_CODESET): Pass NULL as wdirnamep.
	(libintl_wbindtextdomain): New function.
	* gettext-runtime/intl/loadinfo.h (struct loaded_l10nfile): Add a wfilename
	field.
	(_nl_make_l10nflist): On native Windows, accept wdirlist, wdirlist_len
	parameters.
	* gettext-runtime/intl/loadmsgcat.c (_nl_load_domain): On native Windows, use
	_wopen() instead of open() to open a file with a name given as wchar_t[].
	* gettext-runtime/intl/l10nflist.c: Include <wchar.h>.
	(_nl_make_l10nflist): On native Windows, accept wdirlist, wdirlist_len
	parameters. Construct abs_wfilename and use in the search for existing
	'struct loaded_l10nfile' and when allocating a fresh 'struct loaded_l10nfile'.
	* gettext-runtime/intl/gettextP.h (struct binding): Add a wdirname field.
	(_nl_find_domain): On native Windows, accept a wdirname parameter.
	* gettext-runtime/intl/finddomain.c (_nl_find_domain): On native Windows, accept
	a wdirname parameter. Pass it to _nl_make_l10nflist.
	* gettext-runtime/intl/dcigettext.c (DCIGETTEXT): Consider not only
	binding->dirname but also binding->wdirname. On native Windows, use _wgetcwd
	instead of getcwd. Pass also wdirname to _nl_find_domain.
	* gettext-tools/tests/intl-6: New file, based on gettext-tools/tests/intl-1.
	* gettext-tools/tests/intl-6-prg.c: New file, based on
	gettext-tools/tests/intl-1-prg.c.
	* gettext-tools/tests/Makefile.am (TESTS): Add intl-6.
	(check_PROGRAMS): Add intl-6-prg.
	(intl_6_prg_SOURCES, intl_6_prg_LDADD): New variables.
	* gettext-tools/doc/gettext.texi (Ambiguities, src/Makefile,
	Language Implementors, C): Document wbindtextdomain.
	* gettext-runtime/NEWS: Mention the change.
	* NEWS: Likewise.

2020-04-20  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* gettext-runtime/intl/vasnprintf.c: Update from gnulib.

2020-04-19  Bruno Haible  <bruno@clisp.org>

	intl: Add comment regarding debugging printf.
	* gettext-runtime/intl/printf.c (ENABLE_WCHAR_FALLBACK): New commented
	definition.

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

	Merge from 0.20.x branch: Prepare for 0.20.2 release.
	* gettext-runtime/doc/matrix.texi: Update from TP.
	* gettext-runtime/doc/nls.texi (STATUS): Update.
	* gettext-runtime/intl/Makefile.am (LTV_*): Bump to 9:7:1.
	* gettext-runtime/intl/libgnuintl.in.h (LIBINTL_VERSION): Bump.
	* gettext-tools/configure.ac (ARCHIVE_VERSION): Bump to 0.20.2.
	* gettext-tools/libgettextpo/Makefile.am (LTV_*): Bump to 5:6:5.
	* gettext-tools/libgettextpo/gettext-po.in.h (LIBGETTEXTPO_VERSION): Bump.
	* gettext-runtime/src/envsubst.c: Update copyright years in --version output.
	* gettext-runtime/src/gettext.c: Likewise.
	* gettext-runtime/src/gettext.sh.in: Likewise.
	* gettext-runtime/src/ngettext.c: Likewise.
	* gettext-tools/src/cldr-plurals.c: Likewise.
	* gettext-tools/src/hostname.c: Likewise.
	* gettext-tools/src/msgattrib.c: Likewise.
	* gettext-tools/src/msgcat.c: Likewise.
	* gettext-tools/src/msgcmp.c: Likewise.
	* gettext-tools/src/msgcomm.c: Likewise.
	* gettext-tools/src/msgconv.c: Likewise.
	* gettext-tools/src/msgen.c: Likewise.
	* gettext-tools/src/msgexec.c: Likewise.
	* gettext-tools/src/msgfilter.c: Likewise.
	* gettext-tools/src/msgfmt.c: Likewise.
	* gettext-tools/src/msggrep.c: Likewise.
	* gettext-tools/src/msginit.c: Likewise.
	* gettext-tools/src/msgmerge.c: Likewise.
	* gettext-tools/src/msgunfmt.c: Likewise.
	* gettext-tools/src/msguniq.c: Likewise.
	* gettext-tools/src/recode-sr-latin.c: Likewise.
	* gettext-tools/src/urlget.c: Likewise.
	* gettext-tools/src/xgettext.c: Likewise.
	* gettext-tools/misc/convert-archive.in: Likewise.
	* gettext-tools/misc/gettextize.in: Likewise.
	* gettext-tools/misc/autopoint.in: Likewise. Handle version 0.20.2.

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

	intl: Drop argz processing outside of glibc.
	* gettext-runtime/intl/l10nflist.c: Don't test HAVE_ARGZ_H.
	(__argz_count, __argz_stringify, __argz_next): Remove definitions.
	(_nl_make_l10nflist): Simplify !_LIBC case.
	* gettext-runtime/m4/intl.m4 (gt_INTL_SUBDIR_CORE): Don't test for <argz.h>,
	argz_count, argz_stringify, argz_next.

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

	intl: Improve comments.
	* gettext-runtime/intl/Makefile.am: Add an overview of the code.
	* gettext-runtime/intl/loadinfo.h (_nl_make_l10nflist): Improve comment.
	* gettext-runtime/intl/dcigettext.c (guess_category_value): Likewise.
	* gettext-runtime/intl/finddomain.c (_nl_find_domain): Likewise.

2020-03-28  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* gnulib-local/lib/regex_internal.h.diff: Update.
	* gnulib-local/lib/unistd.in.h.diff: Update.
	* gettext-runtime/intl/filename.h: New file, from gnulib.
	* gettext-runtime/intl/dcigettext.c (ISSLASH, HAS_DEVICE, IS_ABSOLUTE_PATH,
	IS_PATH_WITH_DIR): Remove macros. Instead, include filename.h.
	(IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR): New
	macros.
	(DCIGETTEXT): Use IS_RELATIVE_FILE_NAME, IS_FILE_NAME_WITH_DIR.
	* gettext-runtime/intl/l10nflist.c (ISSLASH, HAS_DEVICE, IS_ABSOLUTE_PATH):
	Remove macros. Instead, include filename.h.
	(IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
	(_nl_make_l10nflist): Use IS_RELATIVE_FILE_NAME.
	* gettext-runtime/intl/Makefile.am (EXTRA_DIST): Add filename.h.
	(l10nflist.lo, dcigettext.lo): Depend on it.
	* Makefile.am (distcheck-hook): Check also gettext-runtime/intl/filename.h.
	* gettext-runtime/intl/lock.c: Update from gnulib.
	* gettext-runtime/intl/lock.h: Likewise.
	* gettext-runtime/intl/relocatable.c: Likewise.
	* gettext-tools/src/locating-rule.c (locating_rule_list_locate): Use
	IS_RELATIVE_FILE_NAME instead of IS_ABSOLUTE_PATH.
	* gettext-tools/src/open-catalog.c (try_open_catalog_file): Likewise.
	* gettext-tools/src/xgettext.c (main, xgettext_open): Likewise.
	* libtextstyle/lib/color.c (style_file_lookup): Use IS_FILE_NAME_WITH_DIR
	instead of IS_PATH_WITH_DIR.

2020-01-02  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* gettext-runtime/intl/localcharset.c: Update from gnulib.
	* gettext-runtime/intl/setlocale-lock.c: Likewise.

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

	Update after gnulib changed: Support building with --enable-threads=isoc.
	* gettext-runtime/intl/dcigettext.c (lock): Move outside _nl_find_msg.
	* gettext-runtime/intl/finddomain.c (lock): Move outside _nl_find_domain.
	* gettext-runtime/intl/loadmsgcat.c (lock): Move outside _nl_load_domain.

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

	Update after gnulib changed.
	* autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC_COMMON_DEPENDENCIES): Add
	setlocale-null.
	* gettext-runtime/intl/localcharset.h: Update from gnulib.
	* gettext-runtime/intl/localcharset.c: Likewise.
	* gettext-runtime/intl/localename.c: Likewise.
	* gettext-runtime/intl/setlocale_null.h: New file, from gnulib.
	* gettext-runtime/intl/arg-nonnull.h: New file, from gnulib.
	* gettext-runtime/intl/setlocale_null.c: New file, from gnulib.
	* gettext-runtime/intl/setlocale-lock.c: New file, from gnulib.
	* gettext-runtime/intl/lock.h: Update from gnulib.
	* gettext-runtime/intl/lock.c: Likewise.
	* gettext-runtime/intl/threadlib.c: Likewise.
	* gettext-runtime/intl/vasnprintf.c: Likewise.
	* gettext-runtime/intl/verify.h: Likewise.
	* gettext-runtime/intl/Makefile.am (EXTRA_DIST): Add arg-nonnull.h,
	setlocale_null.h.
	(LIBINTLSOURCES): Add setlocale-lock.c, setlocale_null.c.
	(setlocale-lock.lo, setlocale_null.lo): New rules.
	(localename.lo, setlocale-lock.lo, setlocale_null.lo): Update dependencies.
	* Makefile.am (distcheck-hook): Check the new files in gettext-runtime/intl/.
	* gettext-runtime/libasprintf/vasnprintf.c: Update from gnulib.
	* gettext-tools/libgettextpo/Makefile.am (DEFS): Define OMIT_SETLOCALE_LOCK.
	* gettext-runtime/NEWS: Mention the multithread-safety fix in localcharset.c.
	* NEWS: Likewise.

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

	build: Fix build failures on HP-UX 11.31/hppa with cc.
	* gnulib-local/lib/libxml/parser.c (struct _xmlDefAttrs): Don't use ISO C 99
	syntax with this compiler.
	* gettext-runtime/intl/plural-exp.h (HAVE_STRUCT_INITIALIZER): Set to 0 with
	this compiler.

2019-10-13  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* gettext-runtime/intl/localcharset.c: Update from gnulib.
	* gettext-runtime/intl/verify.h: Likewise.

2019-08-19  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* gettext-runtime/intl/localcharset.c: Update from gnulib.
	* gettext-runtime/intl/verify.h: Likewise.

2019-07-21  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC_COMMON_DEPENDENCIES): Add
	windows-rwlock.
	* gettext-runtime/intl/windows-rwlock.h: New file, from gnulib.
	* gettext-runtime/intl/windows-rwlock.c: New file, from gnulib.
	* gettext-runtime/intl/windows-initguard.h: New file, from gnulib.
	* gettext-runtime/intl/windows-spinlock.h: Remove file.
	* gettext-runtime/intl/lock.h: Update from gnulib.
	* gettext-runtime/intl/lock.c: Likewise.
	* gettext-runtime/intl/verify.h: Likewise.
	* gettext-runtime/intl/windows-mutex.h: Likewise.
	* gettext-runtime/intl/windows-recmutex.h: Likewise.
	* gettext-runtime/intl/Makefile.am (EXTRA_DIST): Add windows-rwlock.h,
	windows-initguard.h. Remove windows-spinlock.h.
	(LIBINTLSOURCES): Conditionally add windows-rwlock.c.
	(windows-rwlock.lo): New rule.
	(*.lo): Update dependencies.
	* Makefile.am (distcheck-hook): Check that gettext-runtime/intl/windows-*.[hc]
	are up-to-date.
	* gnulib-local/lib/libxml/threads.c: Test HAVE_PTHREAD_H, HAVE_WIN32_THREADS,
	HAVE_BEOS_THREADS only if LIBXML_THREAD_ENABLED is defined; otherwise use a
	fallback suitable for single-threaded applications.

2019-07-19  Bruno Haible  <bruno@clisp.org>

	build: Avoid warnings from bison versions >= 3.3.
	Reported by Bernhard Voelker <mail@bernhard-voelker.de>.

	* gettext-runtime/intl/Makefile.am (YACC): Remove option '-y'.

2019-07-07  Bruno Haible  <bruno@clisp.org>

	intl: Don't export the glwthread* symbols from libintl on native Windows.
	* gettext-runtime/intl/Makefile.am (OTHER_LDFLAGS): Add an -export-symbols-regex
	option.

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

	build: Fix build error with MSVC.
	* gettext-runtime/intl/Makefile.am (INTL_WINDOWS_LIBS): New variable.
	(OTHER_LDFLAGS): Add it.

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

	build: Fix build error with MSVC.
	* gettext-runtime/intl/export.h (LIBINTL_DLL_EXPORTED): Define differently for
	MSVC.

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

	Update after gnulib changed.
	* autogen.sh (GNULIB_MODULES_TOOLS_FOR_SRC_COMMON_DEPENDENCIES): Add
	windows-mutex, windows-once, windows-recmutex.
	* gettext-runtime/m4/flexmember.m4: Update from gnulib.
	* gettext-runtime/intl/flexmember.h: Likewise.
	* gettext-runtime/intl/localcharset.c: Likewise.
	* gettext-runtime/intl/windows-mutex.h: New file, from gnulib.
	* gettext-runtime/intl/windows-mutex.c: New file, from gnulib.
	* gettext-runtime/intl/windows-once.h: New file, from gnulib.
	* gettext-runtime/intl/windows-once.c: New file, from gnulib.
	* gettext-runtime/intl/windows-recmutex.h: New file, from gnulib.
	* gettext-runtime/intl/windows-recmutex.c: New file, from gnulib.
	* gettext-runtime/intl/windows-spinlock.h: New file, from gnulib.
	* gettext-runtime/intl/lock.h: Update from gnulib.
	* gettext-runtime/intl/lock.c: Likewise.
	* gettext-runtime/intl/Makefile.am (EXTRA_DIST): Add windows-*.h.
	(LIBINTLSOURCES): Conditionally add windows-*.c.
	(windows-mutex.lo, windows-recmutex.lo, windows-once.lo): New rules.
	(*.lo): Update dependencies.
	* gettext-runtime/configure.ac: New condition WINDOWS_NATIVE.
	* gettext-tools/configure.ac: Likewise.
	* Makefile.am (distcheck-hook): Check that gettext-runtime/intl/windows-*.[hc]
	are up-to-date.

2019-05-20  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* gettext-runtime/intl/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-20  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* gettext-runtime/m4/intlmacosx.m4 (gt_INTL_MACOSX): Don't test for
	CFLocaleCopyCurrent.
	* gettext-runtime/intl/localename.c: Remove includes for
	HAVE_CFLOCALECOPYCURRENT.
	(gl_locale_name_environ, gl_locale_name_default): Remove code for
	HAVE_CFLOCALECOPYCURRENT.

2019-05-20  Bruno Haible  <bruno@clisp.org>

	intl: Work around setlocale bug on Android 4.3.
	* gettext-runtime/intl/setlocale.c (setlocale_unixlike): New wrapper for
	Android.

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

	build: Avoid trouble on mingw caused by mingw's *printf functions.
	Reported by Michele Locati <michele@locati.it>
	in <https://lists.gnu.org/archive/html/bug-gettext/2019-05/msg00103.html>.

	* gettext-runtime/intl/Makefile.am (AM_CPPFLAGS): Define __USE_MINGW_ANSI_STDIO
	to 0.
	* gettext-runtime/libasprintf/Makefile.am (DEFS): Likewise.
	* libtextstyle/lib/Makefile.am (AM_CPPFLAGS): Likewise.

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

	intl: Fix wrong libtool versioning information.
	Reported by Ken Takata <ktakata65536@gmail.com>
	in <https://savannah.gnu.org/bugs/?56305>.

	* gettext-runtime/intl/Makefile.am (LTV_*): Bump to 9:6:1, not 9:6:2.
	* NEWS: Mention the change.

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

	intl: Remove obsolete code.
	* gettext-runtime/intl/plural.y: Assume bison >= 2.0.

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

	Update after gnulib changed.
	* autogen.sh: Don't copy intl.m4.
	* Makefile.am (distcheck-hook): Don't check glibc2.m4, glibc21.m4, intdiv0.m4,
	intl.m4, intmax.m4, printf-posix.m4, uintmax_t.m4, visibility.m4.
	* gettext-runtime/intl/verify.h: Update from gnulib.

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

	Update after gnulib changed.

2019-04-27  Bruno Haible  <bruno@clisp.org>

	intl: Use the lookup optimization also on platforms without per-thread locales.
	This bug was introduced on 2007-01-27.

	* gettext-runtime/intl/dcigettext.c (DCIGETTEXT): Fix #ifdef/#endif chain.

2019-04-27  Bruno Haible  <bruno@clisp.org>

	intl: Fix a gcc warning.
	* gettext-runtime/intl/langprefs.c (_nl_language_preferences_win32_95): Declare
	data as BYTE array, not char array.

2019-04-26  Bruno Haible  <bruno@clisp.org>

	build: Fix build failure on mingw with --disable-shared --enable-relocatable.
	Reported by Michele Locati <michele@locati.it>
	in <https://lists.gnu.org/archive/html/bug-gettext/2019-04/msg00052.html>.

	* gettext-runtime/intl/Makefile.am (AM_CPPFLAGS): Map 'relocate2' to a different
	symbol.

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

	Prepare for 0.20 release.
	* gettext-runtime/intl/libgnuintl.in.h (LIBINTL_VERSION): Update.
	* gettext-tools/libgettextpo/gettext-po.in.h (LIBGETTEXTPO_VERSION): Update.
	* gettext-runtime/m4/gettext.m4: Bump version number in comment.
	* gettext-runtime/m4/intl.m4: Likewise.
	* gettext-runtime/m4/intlmacosx.m4: Likewise.
	* gettext-runtime/m4/po.m4: Likewise.
	(GETTEXT_MACRO_VERSION): Bump to 0.20.
	* gettext-runtime/po/Makefile.in.in (GETTEXT_MACRO_VERSION): Likewise.
	* gettext-runtime/intl/Makefile.am (LTV_*): Bump to 9:6:2.
	* gettext-tools/libgettextpo/Makefile.am (LTV_*): Bump to 5:5:5.
	* gettext-tools/configure.ac (ARCHIVE_VERSION): Set to 0.20.
	* gettext-tools/misc/autopoint.in: Accept version 0.20.
	* gettext-runtime/doc/matrix.texi: Update from TP.
	* gettext-runtime/doc/nls.texi (STATUS): Update.
	* gettext-runtime/src/envsubst.c (main): Update copyright year in --version
	output.
	* gettext-runtime/src/gettext.c (main): Likewise.
	* gettext-runtime/src/ngettext.c (main): Likewise.
	* gettext-tools/src/cldr-plurals.c (main): Likewise.
	* gettext-tools/src/hostname.c (main): Likewise.
	* gettext-tools/src/msgattrib.c (main): Likewise.
	* gettext-tools/src/msgcat.c (main): Likewise.
	* gettext-tools/src/msgcmp.c (main): Likewise.
	* gettext-tools/src/msgcomm.c (main): Likewise.
	* gettext-tools/src/msgconv.c (main): Likewise.
	* gettext-tools/src/msgen.c (main): Likewise.
	* gettext-tools/src/msgexec.c (main): Likewise.
	* gettext-tools/src/msgfilter.c (main): Likewise.
	* gettext-tools/src/msgfmt.c (main): Likewise.
	* gettext-tools/src/msggrep.c (main): Likewise.
	* gettext-tools/src/msginit.c (main): Likewise.
	* gettext-tools/src/msgmerge.c (main): Likewise.
	* gettext-tools/src/msgunfmt.c (main): Likewise.
	* gettext-tools/src/msguniq.c (main): Likewise.
	* gettext-tools/src/recode-sr-latin.c (main): Likewise.
	* gettext-tools/src/urlget.c (main): Likewise.
	* gettext-tools/src/xgettext.c (main): Likewise.
	* gettext-runtime/src/gettext.sh.in (func_version): Update copyright year.
	* gettext-tools/misc/convert-archive.in (func_version): Likewise.
	* gettext-tools/misc/gettextize.in (func_version): Likewise.
	* libtextstyle/version.sh: Use version number 0.20 here as well.
	* gettext-runtime/NEWS: Mention changes (from main NEWS).
	* libtextstyle/NEWS: Mention changes.

2019-03-30  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.

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

	build: Update Windows support.
	* gettext-runtime/intl/libintl.rc: Update.
	* gettext-tools/libgettextpo/libgettextpo.rc: Likewise.
	* windows/gettext.rc: Likewise.

2019-02-24  Bruno Haible  <bruno@clisp.org>

	libintl: Fix installation with BSD 'make'.
	* gettext-runtime/intl/Makefile.am (install-exec-libintl): Create destination
	directory first.

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

	Fix copyright years.

2019-01-06  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.

2018-11-25  Bruno Haible  <bruno@clisp.org>

	intl: Really uninstall the intl/ subdir sources.
	* gettext-runtime/intl/Makefile.am (uninstall-sources): New target.

2018-11-25  Bruno Haible  <bruno@clisp.org>

	build: Use Automake in intl subdirectory.
	* gettext-runtime/intl/Makefile.am: New file, based on
	gettext-runtime/intl/Makefile.in.
	* gettext-runtime/intl/Makefile.in: Remove file.
	* autogen.sh: Copy gettext-runtime/intl/Makefile.am to
	gettext-tools/intl/Makefile.am.
	* gettext-runtime/configure.ac (USE_INCLUDED_LIBINTL, BUILD_INCLUDED_LIBINTL,
	PACKAGE_IS_GETTEXT_TOOLS, PRELOADABLE_LIBINTL): New conditionals.
	* gettext-tools/configure.ac: Likewise.

2018-11-25  Bruno Haible  <bruno@clisp.org>

	build: Stop generating a VERSION file.
	* gettext-tools/configure.ac: Don't create intl/VERSION.
	* gettext-runtime/intl/Makefile.in (DISTFILES.normal): Remove variable.
	(distclean): Simplify accordingly.

2018-11-25  Bruno Haible  <bruno@clisp.org>

	build: Fix #line statements in bison-generated files.
	* gettext-tools/src/plural-exp.c: Revert changes from 2014-12-03 and 2014-12-04.
	* gettext-runtime/intl/Makefile.in (PLURAL_OBJECT): Remove variable.
	(OBJECTS): Use plural.lo always.
	($(srcdir)/plural.c): New rule.
	(.y.c, pluralx.c, pluralx.lo): Remove rules.
	(mostlyclean): Delete the temporary file of the plural.c rule.
	(maintainer-clean): Delete plural.c.
	* gettext-tools/configure.ac (intl/Makefile): Remove PLURAL_OBJECT hack.

2018-11-25  Bruno Haible  <bruno@clisp.org>

	intl: Fix gettext test failures on mingw.
	* gettext-runtime/intl/localename.c (gl_locale_name_posix): Convert the result
	of gl_locale_name_environ to XPG syntax.

2018-11-25  Bruno Haible  <bruno@clisp.org>

	Amend 'Stop installing the intl/ subdir sources.' commit from 2018-11-11.
	* gettext-runtime/intl/Makefile.in (install-data, uninstall): Remove the entire
	$prefix/share/gettext/intl directory.

2018-11-18  Bruno Haible  <bruno@clisp.org>

	Simplify Autoconf macros.
	* gettext-runtime/m4/intldir.m4: Remove file.
	* gettext-runtime/m4/Makefile.am (EXTRA_DIST): Remove intldir.m4.
	* gettext-runtime/m4/gettext.m4 (AM_GNU_GETTEXT): Disallow 'no-libtool'
	argument. Use libtool always. Remove variables that existed only for backward
	compatibility.
	* gettext-runtime/m4/intl.m4: Update comments.
	* autogen.sh: Ignore gettext.m4 and intl.m4 from gnulib.
	* gettext-runtime/intl/Makefile.in: Use libtool always.
	(libintl.a, libgnuintl.a): Remove rule.
	(.o): Remove suffix rule.
	(install-exec, installdirs, uninstall, distclean, dist, distdir): PACKAGE cannot
	be anything else than gettext-runtime and gettext-tools any more.
	* gettext-tools/configure.ac (intl/Makefile): Update.
	* NEWS: Mention that AM_GNU_GETTEXT_INTL_SUBDIR is gone.

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

	Stop installing the intl/ subdir sources.
	* gettext-runtime/intl/Makefile.in (gettextsrcdir): Remove variable.
	(DISTFILES.obsolete): Remove variable.
	(install-data): Don't install nor remove anything.
	(installdirs): Don't create $(gettextsrcdir).
	* gettext-tools/misc/add-to-archive: Don't add the intl directory to the
	archive.
	* PACKAGING: Remove mention of $prefix/share/gettext/intl/ directory.

2018-10-23  Bruno Haible  <bruno@clisp.org>

	intl: Improve support for per-thread locales on Solaris 11.4.
	* gettext-runtime/intl/localename.c: Update from gnulib:
	Handle HAVE_SOLARIS114_LOCALES through Solaris specific code.
	* gettext-runtime/intl/localename-table.in.h: Update from gnulib's
	localename-table.h.
	* gettext-runtime/intl/localename-table.c: Update from gnulib.
	* gettext-runtime/m4/intl-thread-locale.m4: Renamed from
	gettext-runtime/m4/intlsolaris.m4.
	(gt_INTL_THREAD_LOCALE_NAME): Renamed from gt_INTL_SOLARIS. Define
	HAVE_SOLARIS114_LOCALES instead of HAVE_NAMELESS_LOCALES.
	* gettext-runtime/m4/intl.m4: Update from gnulib:
	(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.
	* gettext-runtime/m4/Makefile.am (EXTRA_DIST): List intl-thread-locale.m4, not
	intlsolaris.m4.
	* gettext-tools/m4/Makefile.am (aclocal_DATA): List intl-thread-locale.m4, not
	intlsolaris.m4.
	* gettext-tools/misc/gettextize.in (m4filelist): List intl-thread-locale.m4, not
	intlsolaris.m4.
	* Makefile.am (distcheck-hook): Check intl-thread-locale.m4, not intlsolaris.m4.
	* gettext-tools/doc/gettext.texi (aclocal): List intl-thread-locale.m4, not
	intlsolaris.m4.
	* PACKAGING: List intl-thread-locale.m4, not intlsolaris.m4.

2018-10-23  Bruno Haible  <bruno@clisp.org>

	intl: Fix support for per-thread locales on Solaris 11.4.
	* gettext-runtime/intl/localename-table.in.h: Renamed from
	gettext-runtime/intl/localename-table.h.
	* gettext-runtime/intl/Makefile.in (HEADERS): Add localename-table.in.h. Remove
	localename-table.h.
	(localename-table.h): New target.
	(localename.$lo, localename-table.$lo): Update dependencies.
	(mostlyclean): Remove localename-table.h.

2018-10-23  Bruno Haible  <bruno@clisp.org>

	intl: Add support for per-thread locales on Solaris 11.4.
	Relies on the recent changes to the 'localename' module in gnulib.

	* gettext-runtime/intl/localename.c: Apply changes from gnulib.
	* gettext-runtime/intl/localename-table.h: New file, from gnulib.
	* gettext-runtime/intl/localename-table.c: New file, from gnulib.
	* gettext-runtime/intl/libgnuintl.in.h (newlocale, duplocale, freelocale): New
	overriding declarations.
	* gettext-runtime/intl/Makefile.in (HEADERS): Add localename-table.h.
	(SOURCES): Add localename-table.c.
	(OBJECTS): Add localename-table.$lo.
	(localename-table.lo): New target.
	(libgnuintl.h, libintl.h): Substitute also HAVE_NAMELESS_LOCALES.
	* gettext-runtime/m4/intl.m4: Apply changes from gnulib:
	(gt_INTL_SUBDIR_CORE): Don't test for 'uselocale' and 'getlocalename_l'.
	Instead, invoke gt_INTL_SOLARIS. Set HAVE_NAMELESS_LOCALES.
	* gettext-runtime/m4/intlsolaris.m4: New file, from gnulib.
	* gettext-runtime/m4/Makefile.am (EXTRA_DIST): Add it.
	* gettext-tools/m4/Makefile.am (aclocal_DATA): Add intlsolaris.m4.
	* gettext-tools/misc/gettextize.in (m4filelist): Add intlsolaris.m4.
	* Makefile.am (distcheck-hook): Verify that intlsolaris.m4 is consistent with
	gnulib.
	* gettext-tools/doc/gettext.texi (aclocal): Add intlsolaris.m4 to the file list.
	* PACKAGING: Add intlsolaris.m4 to the list of installed files.
	* NEWS: Mention the change.

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

	Update after gnulib changed.
	* gettext-runtime/intl/vasnprintf.c: Update from gnulib.
	* gettext-runtime/libasprintf/vasnprintf.c: Update from gnulib.

2018-09-17  Bruno Haible  <bruno@clisp.org>

	Update after gnulib changed.
	* gnulib-local/modules/fnmatch.diff: Update.
	* gettext-runtime/intl/config.charset: Remove file.
	* gettext-runtime/intl/localcharset.h: Update from gnulib.
	* gettext-runtime/intl/localcharset.c: Likewise.
	* gettext-runtime/intl/Makefile.in (DISTFILES.common): Remove config.charset.
	(charset.alias): Remove target.
	(install-exec): Don't install charset.alias.
	(install-data): Don't chmod config.charset.
	(installdirs): Don't create $(libdir).
	(uninstall): Don't uninstall charset.alias.
	(mostlyclean): Don't remove charset.alias.
	* gettext-runtime/intl/lock.h: Update from gnulib.
	* gettext-runtime/intl/verify.h: Likewise.
	* gettext-runtime/intl/printf-parse.c: Likewise.
	* gettext-runtime/libasprintf/printf-parse.c: Likewise.
	* gettext-runtime/m4/extern-inline.m4: Likewise.
	* gettext-runtime/m4/threadlib.m4: Likewise.
	* Makefile.am (distcheck-hook): Don't compare config.charset, ref-add.sin,
	ref-del.sin.

2018-09-16  Bruno Haible  <bruno@clisp.org>

	libintl: Improve locale handling on macOS 10.12 or newer.
	* gettext-runtime/intl/langprefs.c (_nl_language_preferences_default): Make the
	logic also work in locales such as "zh-Hans-DE".
	* gettext-runtime/intl/setlocale.c: Include header files for CoreFoundation.
	(libintl_setlocale): Try harder to set a locale for categories LC_CTYPE and
	LC_MESSAGES.

2018-09-16  Bruno Haible  <bruno@clisp.org>

	Update list of locale names with scripts on macOS.
	* gettext-runtime/intl/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>

	Use newer macOS APIs when possible.
	* gettext-runtime/m4/intlmacosx.m4 (gt_INTL_MACOSX): Check for
	CFLocaleCopyPreferredLanguages.
	* gettext-runtime/intl/langprefs.c (_nl_language_preferences_default): Use
	CFLocaleCopyPreferredLanguages when it exists.

2018-09-16  Bruno Haible  <bruno@clisp.org>

	Revisit macOS specific code.
	* gettext-runtime/intl/localename.c (gl_locale_name_default): Reduce code
	duplication. Fix comments about Mac OS X versions.

2018-09-16  Bruno Haible  <bruno@clisp.org>

	libintl: Fix language preferences on macOS 10.12 or newer.
	Reported by Kristian Rietveld <kris@loopnest.org> at
	<https://savannah.gnu.org/bugs/?49560>.

	* gettext-runtime/intl/langprefs.c (_nl_language_preferences_default): Handle
	preferences elements of the form "ll-CC" in a reasonable way.
	* NEWS: Mention the change.

2018-09-16  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-16  Bruno Haible  <bruno@clisp.org>

	Fix link error when linking with libintl.a on macOS.
	* gettext-runtime/intl/loadmsgcat.c (_nl_msg_cat_cntr): Zero-initialize on
	macOS.

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

	gettext-runtime/intl/setlocale.c: Add fixes from gnulib.
	2018-08-11  Bruno Haible  <bruno@clisp.org>

	        setlocale: Trivial simplification.
	        * lib/setlocale.c (setlocale_unixlike): Remove redundant #if.

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

	        Fix test-mbrtowc5.sh failure on native Windows.
	        * setlocale.c (setlocale_unixlike): Accept "POSIX" as an alias for
	        "C".

	2016-03-22  Geert Janssens  <janssens-geert@telenet.be>

	        setlocale: add "sv" to Windows language table
	        * setlocale.c (language_table) [W32]: Add "sv".
	        Reported in <https://savannah.gnu.org/bugs/?44588>.

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

	        Talk about "native Windows API", not "Win32".
	        * setlocale.c: Update comments to mention native Windows.

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

	Enable the format_arg attribute also on clang on Mac OS X.
	Reported by Tom Tromey <tom@tromey.com>
	in <https://lists.gnu.org/archive/html/bug-gettext/2018-07/msg00000.html>.

	* gettext-runtime/intl/libgnuintl.in.h (_INTL_MAY_RETURN_STRING_ARG): On macOS,
	use attribute __format_arg__ if the compiler is based on clang >= 3.0.

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

	Make the format_arg attribute effective also in the case _INTL_REDIRECT_INLINE.
	Reported by Tom Tromey <tom@tromey.com>
	in <https://lists.gnu.org/archive/html/bug-gettext/2018-07/msg00000.html>.

	* gettext-runtime/intl/libgnuintl.in.h (gettext, dgettext, dcgettext,
	ngettext, dngettext, dcngettext): Add attribute __format_arg__ also to the
	'static inline' functions.

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

	libintl: Ensure the *printf function overrides are POSIX compatible.
	Reported by Eli Zaretskii <eliz@gnu.org>.

	* gettext-runtime/intl/printf.c (USE_REPLACEMENT_CODE_ALWAYS): New macro.
	(libintl_vfprintf, libintl_vsprintf, libintl_vsnprintf, libintl_vfwprintf,
	libintl_vswprintf): Use it.
	* NEWS: Mention the change.

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

	all: Replace http URLs by https URLs in copyright notices.

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

	Simplify code. Drop support for Borland C++ on Windows.
	* gettext-runtime/intl/dcigettext.c: Simplify
	'defined _WIN32 || defined __WIN32__' to just 'defined _WIN32'.
	* gettext-runtime/intl/l10nflist.c: Likewise.
	* gettext-runtime/intl/langprefs.c: Likewise.
	* gettext-runtime/intl/libgnuintl.in.h: Likewise.
	* gettext-runtime/intl/loadinfo.h: Likewise.
	* gettext-runtime/intl/setlocale.c: Likewise.
	* gettext-runtime/intl/printf-parse.c: Likewise.
	* gettext-runtime/libasprintf/printf-parse.c: Likewise.
	* gettext-tools/src/format-c-parse.h: Likewise.
	* gettext-tools/src/hostname.c: Likewise.
	* gnulib-local/lib/basename.c: Likewise.

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

	Update after gnulib changed.
	* Makefile.am (distcheck-hook): Update comparison of flexmember.h.
	* gettext-runtime/intl/localcharset.c: Update from gnulib.
	* gettext-runtime/intl/localename.c: Likewise.
	* gettext-runtime/intl/lock.h: Likewise.
	* gettext-runtime/intl/relocatable.c: Likewise.
	* gettext-runtime/intl/vasnprintf.c: Likewise.
	* gettext-runtime/intl/verify.h: Likewise.
	* gettext-runtime/intl/xsize.h: Likewise.
	* gettext-runtime/libasprintf/vasnprintf.c: Likewise.
	* gettext-runtime/m4/*.m4: Likewise.
	* gettext-tools/examples/po/remove-potcdate.sin: Likewise.
	* gnulib-local/lib/execute.c.diff: Update.

2018-01-27  Bruno Haible  <bruno@clisp.org>

	Rename some files.
	* INSTALL.windows: Renamed from README.windows.
	* Makefile.am (EXTRA_DIST): Update.
	* gettext-runtime/INSTALL.windows: Renamed from gettext-runtime/README.windows.
	* gettext-runtime/Makefile.am (EXTRA_DIST): Update.
	* gettext-runtime/intl/INSTALL.windows: Renamed from gettext-runtime/intl/README.windows.
	* gettext-runtime/intl/Makefile.in (DISTFILES.gettext): Update.
	* gettext-runtime/libasprintf/INSTALL.windows: Renamed from gettext-runtime/libasprintf/README.windows.
	* gettext-runtime/libasprintf/Makefile.am (EXTRA_DIST): Update.
	* gettext-tools/INSTALL.windows: Renamed from gettext-tools/README.windows.
	* gettext-tools/Makefile.am (EXTRA_DIST): Update.

2018-01-02  Bruno Haible  <bruno@clisp.org>

	Fix 'ar' invocation when cross-compiling and in 64-bit mode on AIX.
	Reported by Benedikt Morbach <bmorbach@redhat.com>
	at <https://savannah.gnu.org/bugs/?43037>.

	* gettext-runtime/m4/intl.m4 (AM_INTL_SUBDIR): Require gl_PROG_AR_RANLIB if
	available. Otherwise, use AC_PROG_RANLIB and set AR and ARFLAGS.
	* gettext-runtime/intl/Makefile.in (AR): Use the value determined through
	autoconf.
	(ARFLAGS): New variable.
	(libintl.a, libgnuintl.a): Use it.
	* gettext-runtime/configure.ac: Invoke gl_PROG_AR_RANLIB.
	* gettext-runtime/libasprintf/configure.ac: Likewise.
	* gettext-tools/configure.ac: Likewise.

2018-01-02  Bruno Haible  <bruno@clisp.org>

	Don't use -lc explicitly when linking with libtool.
	libtool has logic that determines whether it should add -lc, and this logic
	works fine on all modern platforms.

	Reported by Michael Forney <mforney@mforney.org>
	at <https://savannah.gnu.org/bugs/?40192>.

	* gettext-runtime/m4/intl.m4 (AM_INTL_SUBDIR): Don't set LTLIBC.
	* gettext-runtime/intl/Makefile.in (libintl.la, libgnuintl.la): Don't use
	LTLIBC.

2017-09-24  Bruno Haible  <bruno@clisp.org>

	Verify that system dependent strings in .mo files are NUL terminated.
	Reported by Jakub Wilk <jwilk@jwilk.net> in
	<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=876498>.

	* gettext-runtime/intl/loadmsgcat.c (_nl_load_domain): Bail out if some of the
	system-dependent strings has a last static segment that is not NUL terminated.
	* gettext-tools/src/read-mo.c (get_sysdep_string): Likewise.

2017-09-24  Bruno Haible  <bruno@clisp.org>

	libintl: Fix pointer use after free.
	* gettext-runtime/intl/loadmsgcat.c (_nl_load_domain): Perform the same lock
	deallocation outside libc as in libc (patch from 2013-09-06).

2017-05-19  Bruno Haible  <bruno@clisp.org>

	Fix memory leaks.
	Found by Coverity.

	* gettext-runtime/intl/loadmsgcat.c (_nl_load_domain): Free allocated memory
	before returning in out-of-memory case.
	* gettext-runtime/intl/localealias.c (relocate2): Define fallback.
	(read_alias_file): Invoke relocate2 instead of relocate. Free the allocated
	memory.

2017-05-19  Bruno Haible  <bruno@clisp.org>

	Fix missing unlock.
	Found by Coverity.

	* gettext-runtime/intl/dcigettext.c (_nl_find_msg): Unlock the lock and
	free allocated memory before returning.

2017-05-19  Bruno Haible  <bruno@clisp.org>

	Update gettext-runtime files from gnulib.
	* Makefile.am (distcheck-hook): Check also flexmember.m4, flexmember.h.
	* gettext-runtime/intl/Makefile.in (SOURCES): Add flexmember.h.
	* gettext-runtime/intl/flexmember.h: New file, from gnulib.
	* gettext-runtime/intl/localcharset.c:
	  * localcharset.c (relocate2): Define fallback.
	  (get_charset_aliases): Invoke relocate2 instead of relocate. Free the
	  allocated memory.
	  * localcharset.c (WINDOWS_NATIVE): Don't define on Cygwin.
	  * localcharset.c (locale_charset) [WINDOWS_NATIVE]: Don't use the
	  return value from setlocale if it would lead to a buffer overrun.
	* gettext-runtime/intl/localename.c:
	  * localename.c [__CYGWIN__]: Include <langinfo.h>, since this is
	  where NL_LOCALE_NAME is defined.
	  * localename.c (WINDOWS_NATIVE): Don't define on Cygwin.
	  * localename.c (gl_locale_name_thread_unsafe): Add clause for
	  Cygwin.
	  * localename.c (struct hash_node): Use FLEXIBLE_ARRAY_MEMBER.
	* gettext-runtime/intl/lock.c:
	  * lock.c: On glibc systems without
	  PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
	  implementation of rwlocks.
	  * 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.
	* gettext-runtime/intl/lock.h:
	  * lock.h (pthread_rwlockattr_setkind_np): Don't declare
	  weak on non-glibc platforms.
	  * lock.h: On glibc systems without
	  PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP, use the fallback
	  implementation of rwlocks.
	  * lock.h [USE_POSIX_THREADS_WEAK]: Declare also
	  pthread_rwlockattr_init, pthread_rwlockattr_setkind_np,
	  pthread_rwlockattr_destroy weak.
	  * 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.
	* gettext-runtime/intl/relocatable.c:
	  * relocatable.c (relocate2): New function.
	  * relocatable.c (relocate): Assume pathname is non-NULL. Use
	  ISSLASH macro consistently. Avoid dangerous string concatenation idiom.
	* gettext-runtime/intl/relocatable.h:
	  * relocatable.h (relocate2): New declaration/macro.
	* gettext-runtime/intl/vasnprintf.c, gettext-runtime/libasprintf/vasnprintf.c:
	  * vasnprintf.c (FALLTHROUGH): New macro.
	  Use it whenever one switch case falls through into the next.
	  * vasnprintf.c (USE_MSVC__SNPRINTF): New macro.
	  Everywhere, use !HAVE_SNPRINTF_RETVAL_C99 || USE_MSVC__SNPRINTF instead
	  of !HAVE_SNPRINTF_RETVAL_C99.
	  * 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
	  * vasnprintf.c (IF_LINT): Treat GCC_LINT like lint.
	* gettext-runtime/intl/verify.h:
	  * verify.h (verify) [!__GNUC__]:
	  Use shorter albeit meaningless string to bypass silly compiler limits.
	  * verify.h (assume): Treat GCC_LINT like lint.
	* gettext-runtime/intl/xsize.h: Update.
	* gettext-runtime/m4/Makefile.am (EXTRA_DIST): Add flexmember.m4.
	* gettext-runtime/m4/extern-inline.m4: Update.
	* gettext-runtime/m4/fcntl-o.m4: Update.
	* gettext-runtime/m4/flexmember.m4: New file, from gnulib.
	* gettext-runtime/m4/glibc2.m4: Update.
	* gettext-runtime/m4/glibc21.m4: Update.
	* gettext-runtime/m4/intdiv0.m4: Update.
	* gettext-runtime/m4/intl.m4 (AM_INTL_SUBDIR): Require AC_C_FLEXIBLE_ARRAY_MEMBER.
	* gettext-runtime/m4/intmax.m4: Update.
	* gettext-runtime/m4/inttypes-pri.m4: Update.
	* gettext-runtime/m4/inttypes_h.m4: Update.
	* gettext-runtime/m4/lock.m4 (gl_LOCK): Invoke gl_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER.
	* gettext-runtime/m4/longlong.m4: Update.
	* gettext-runtime/m4/printf-posix.m4: Update.
	* gettext-runtime/m4/progtest.m4: Update.
	* gettext-runtime/m4/size_max.m4: Update.
	* gettext-runtime/m4/stdint_h.m4: Update.
	* gettext-runtime/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>.
	* gettext-runtime/m4/uintmax_t.m4: Update.
	* gettext-runtime/m4/visibility.m4: Update.
	* gettext-runtime/m4/wchar_t.m4: Update.
	* gettext-runtime/m4/xsize.m4: Update.
	* gettext-runtime/tests/test-lock.c:
	  * 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.
	  * test-lock.c (USE_SEMAPHORE): Don't set if <semaphore.h> does not
	  exist.
	  * 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-05-15  Bruno Haible  <bruno@clisp.org>

	Respect the configure option --localedir.
	Reported by Markus Gothe at https://savannah.gnu.org/bugs/index.php?49862 .

	The AC_SUBSTed variable @localedir@ is supported since Autoconf 2.60.

	* gettext-runtime/intl/Makefile.in (localedir): Set to @localedir@. Suggested
	by Markus Gothe <nietzsche@lysator.liu.se>.
	* gettext-runtime/m4/intldir.m4: Require Autoconf 2.60 or newer.
	* gettext-tools/doc/gettext.texi (src/Makefile): Assume Autoconf 2.60 or newer.

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

	Fix compilation error in <libintl.h> on Cygwin.
	Reported by Michael Haubenwallner at https://savannah.gnu.org/bugs/?50595 .

	* gettext-runtime/intl/libgnuintl.in.h (newlocale): Hide declaration if
	  locale_t type is not visible on Cygwin.

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

	Merge all .gitignore files into a single .gitignore file.

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

	Update and organize the .gitignore files.

2016-12-05  KO Myung-Hun  <komh78-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

	intl: Fix that /@unixroot prefix is not working on OS/2 kLIBC
	OS/2 kLIBC has a feature to rewrite some path components. For example,
	'/@unixroot' is replaced with a value of $UNIXROOT if it is.

	So prepending a drive letter to the path starting with '/' makes the
	path starting with '/@unixroot' to 'x:/@unixroot' which is unexpected.

	This will breaks the behavior of some programs depending on /@unixroot
	prefix.

	* gettext-runtime/intl/bindtextdom.c (BINDTEXTDOMAIN): Do not touch
	dirname if it is started with '/@unixroot'.
	* gettext-runtime/intl/relocatable.c (relocate): Do not touch pathname
	if it is started with '/@unixroot'.

2016-11-23  Bruno Haible  <bruno@clisp.org>

	Update installation instructions for Windows.
	* README.windows: Assume a 64-bit Windows. Explain both 32-bit and 64-bit
	builds. Add instructions for the MS Visual C/C++ tool chain. Revamp instructions
	for Cygwin.
	* gettext-runtime/README.windows: Generic reference to top-level file.
	* gettext-runtime/intl/README.windows: Likewise.
	* gettext-runtime/libasprintf/README.windows: Likewise.
	* gettext-tools/README.windows: Likewise.

2016-11-23  Bruno Haible  <bruno@clisp.org>

	Drop the nickname "woe32".
	* README.windows: Renamed from README.woe32.
	* Makefile.am (EXTRA_DIST): Update.
	* gettext-runtime/README.windows: Renamed from gettext-runtime/README.woe32.
	* gettext-runtime/Makefile.am (EXTRA_DIST): Update.
	* gettext-runtime/intl/README.windows: Renamed from gettext-runtime/intl/README.woe32.
	* gettext-runtime/intl/Makefile.in (DISTFILES.gettext): Update.
	* gettext-runtime/libasprintf/README.windows: Renamed from gettext-runtime/libasprintf/README.woe32.
	* gettext-runtime/libasprintf/Makefile.am (EXTRA_DIST): Update.
	* gettext-tools/README.windows: Renamed from gettext-tools/README.woe32.
	* gettext-tools/Makefile.am (EXTRA_DIST): Update.

2016-11-14  Daiki Ueno  <ueno@gnu.org>

	intl: Fix compilation on a system without alloca
	* gettext-runtime/intl/dcigettext.c (DCIGETTEXT): Fix typo 'tmp_dirname'
	-> 'resolved_dirname'.  Reported by Egor Pugin in:
	http://lists.gnu.org/archive/html/bug-gettext/2016-09/msg00008.html

2016-06-11  Daiki Ueno  <ueno@gnu.org>

	build: Fix unintentional soname bump
	* gettext-runtime/intl/Makefile.in: Revert LTV_CURRENT and increment
	LTV_REVISION.
	* gettext-tools/libgettextpo/Makefile.am: Likewise.

2016-06-09  Daiki Ueno  <ueno@gnu.org>

	Prepare for 0.19.8

2016-05-25  Daiki Ueno  <ueno@gnu.org>

	intl: Pacify pre-C99 compilers
	* gettext-runtime/intl/plural-exp.h (HAVE_STRUCT_INITIALIZER): New
	macro, based on the check previously in plural-exp.c.  Also add check
	for __SUNPRO_C for Solaris Studio C compiler.
	(GERMANIC_PLURAL): Define as 'struct expression' not 'const struct
	expression' if struct/union initializers are not supported by the
	compiler.
	* gettext-runtime/intl/plural-exp.c: Use HAVE_STRUCT_INITIALIZER.
	Reported by Dagobert Michelsen and investigated by pan7 in:
	https://savannah.gnu.org/support/?108743

2016-01-20  KO Myung-Hun  <komh78@gmail.com>

	intl: Support UNIXROOT in BINDTEXTDOMAIN () on EMX
	$UNIXROOT is a drive on which a root of FHS is.

	* gettext-runtime/intl/bindtextdom.c (BINDTEXTDOMAIN): Prepend
	$UNIXROOT to dirname if it is started '/' or it is an empty string.

2016-01-02  Daiki Ueno  <ueno@gnu.org>

	maint: Update copyright year

2015-12-27  Daiki Ueno  <ueno@gnu.org>

	Prepare for 0.19.7

2015-12-10  KO Myung-Hun  <komh78@gmail.com>  (tiny change)

	intl: Fix name resolution failures on kLIBC
	kLIBC already has _nl_default_dirname and _nl_msg_cat_cntr in its own
	gettext implmenetation.
	* gettext-runtime/intl/dcigettext.c: Do not declare _nl_default_dirname
	on kLIBC.
	* gettext-runtime/intl/gettextP.h: Define _nl_msg_cat_cntr to
	libintl_nl_msg_cat_cntr on kLIBC.

2015-12-10  KO Myung-Hun  <komh78@gmail.com>  (tiny change)

	build: Do not include os2compat.[ch]
	kLIBC does not need os2compat.[ch]
	* gettext-runtime/configure.ac (AH_BOTTOM): Do not include
	intl/os2compat.h on kLIBC.
	* gettext-runtime/intl/osdep.c: Do not include os2compat.c on kLIBC.
	* gettext-tools/configure.ac (AH_BOTTOM): Do not include
	intl/os2compat.h on kLIBC.

2015-10-15  Daiki Ueno  <ueno@gnu.org>

	build: Generate ChangeLogs for intl and po
	* autogen.sh: Create empty ChangeLog files under intl and po.
	* Makefile.am (gen-ChangeLogs): Rename from gen-ChangeLog.  Generate
	ChangeLog files for */intl and */po as well as top-level.
	* gettext-runtime/intl/ChangeLog.0: Rename from ChangeLog.
	* gettext-runtime/po/ChangeLog.0: Rename from ChangeLog.
	* gettext-tools/po/ChangeLog.1: Rename from ChangeLog.

2015-10-14  Mike Frysinger  <vapier@chromium.org>

	intl/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.

	* gettext-runtime/intl/localename.c: Wrap langinfo.h include with same
	ifdefs used in the source later on.
