2010-05-09  Bruno Haible  <bruno@clisp.org>

	* gettext-0.18 released.

2010-05-09  Bruno Haible  <bruno@clisp.org>

	* libgnuintl.h.in (LIBINTL_VERSION): Bump to 0.18.
	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 9:0:1.
	* libintl.rc: Update year.

2010-05-09  Bruno Haible  <bruno@clisp.org>

	vasnprintf: Fix syntax errors in libintl build on mingw.
	* vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
	pad_ourselves and prec_ourselves after use.

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

	localename: Port to MacOS X 10.6.
	* localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
	memory layout of the locales in MacOS X 10.6 as well.
	Reported by Panu Kekäläinen <panu@kekalainen.eu>.

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

	* config.charset: Update comments for Cygwin 1.7.
	* localcharset.c: Likewise.

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

	vasnprintf: Correct errno value in case of out-of-memory.
	* vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF or
	sprintf. Use the errno value from SNPRINTF or sprintf.
	Reported by Ian Beckwith <ianb@erislabs.net>.

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

	vasnprintf: Correct handling of unconvertible wide string arguments.
	* vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
	VASNPRINTF.
	(VASNPRINTF): Use it. After snprintf failed, allocate more memory only
	if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
	smaller than the expected maximum need for the directive. Set errno to
	EILSEQ, not EINVAL, when the directive is 'c' or 's'.
	(local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
	Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.

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

	vasnprintf: Fix crash in %ls directive.
	* vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
	string is passed as argument to %ls, with no precision and no width.
	Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.

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

	vasnprintf: Fix multiple test failures on mingw.
	* vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not _snprintf,
	or snwprintf, not _snwprintf.

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

	Minor formatting changes.
	* localename.c: Insert space before sizeof's argument list.
	* lock.h: Insert space before function argument list.

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

	localename: Avoid gcc warning.
	* localename.c (gl_locale_name_thread_unsafe): Don't define this
	function if it is not used.

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

	* vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is defined,
	use wctomb instead of wcrtomb.

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

	* libintl.rc: Update.

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

	Use the thread-specific locale also on MacOS X.
	* dcigettext.c (HAVE_NL_LOCALE_NAME): Remove undef.
	Don't include <langinfo.h>.
	(HAVE_PER_THREAD_LOCALE): Define on any platform that has 'uselocale'.
	(DCIGETTEXT, guess_category_value): Use _nl_locale_name_thread_unsafe
	instead of glibc specific code.
	* gettextP.h (gl_locale_name_thread_unsafe): New macro.
	(_nl_locale_name_thread_unsafe): New declaration.

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

	localename: Fix storage allocation of gl_locale_name_thread's result.
	* localename.c (SIZE_BITS, string_hash, struct hash_node,
	HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
	all platforms that have 'uselocale'.
	(gl_locale_name_thread_unsafe): New function, extracted from
	gl_locale_name_thread.
	(gl_locale_name_thread): Call struniq on all platforms that have
	'uselocale'.

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

	localename: Make aware of thread locale.
	* localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
	<langinfo.h>, glthread/lock.h.
	(SIZE_BITS): New macro.
	(string_hash): New function.
	(struct hash_node): New type.
	(HASH_TABLE_SIZE): New macro.
	(struniq_hash_table, struniq_lock): New variables.
	(struniq): New function.
	(gl_locale_name_thread): New function.
	(gl_locale_name): Invoke it.
	Reported by Mike Gran <spk121@yahoo.com>.

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

	* Makefile.in (localename.$lo): Add dependency.

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

	Define override of setlocale and newlocale functions.
	* gettextP.h (gl_locale_name_environ): New macro.
	(_nl_locale_name_environ): New declaration.
	* localename.c (gl_locale_name_environ): New function, extracted from
	gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
	(gl_locale_name_posix): Invoke it.
	(gl_locale_name_default): Add comments. Use Windows native API also on
	Cygwin.
	* libgnuintl.h.in: On MacOS X, include <xlocale.h>.
	(setlocale, newlocale): New overrides.
	* setlocale.c: New file.
	* Makefile.in (SOURCES): Add setlocale.c.
	(OBJECTS): Add setlocale.$lo.
	(setlocale.lo): New rule.
	(libgnuintl.h, libintl.h): Substitute also HAVE_NEWLOCALE.
	(setlocale.$lo): Define dependencies.

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

	Update list of Win32 locale ids.
	* localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
	(LANG_SAMI): Renamed from LANG_SAAMI.
	(LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
	LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
	LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
	LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
	(SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
	SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
	SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
	SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
	SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
	SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
	SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
	SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
	SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
	SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
	SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
	SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
	SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
	SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
	SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
	SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
	SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
	SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
	SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
	SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
	SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
	SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
	SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
	SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
	SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
	SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
	SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
	SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
	SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
	SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
	SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
	SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
	SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
	SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
	SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
	SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
	SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
	SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
	SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
	SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
	SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
	SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
	SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
	SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
	SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
	SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
	SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
	SUBLANG_ZULU_SOUTH_AFRICA): New macros.
	(gl_locale_name_from_win32_LANGID): Handle also the territory neutral
	locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
	Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
	Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
	Add more languages and countries for Sami, Sorbian. Add more countries
	for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
	for Pashto. Change country for Syriac, Tswana.

2009-12-13  Bruno Haible  <bruno@clisp.org>

	* localcharset.c (locale_charset): Fix comment about use of GetACP.

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

	* localcharset.c (locale_charset): Add comment about use of GetACP.

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

	* intl-compat.c: Untabify.
	* intl-exports.c: Untabify.
	* langprefs.c: Untabify.
	* libgnuintl.h.in: Untabify.
	* localcharset.c: Untabify.
	* localename.c: Untabify.
	* lock.c: Untabify.
	* log.c: Untabify.
	* os2compat.h: Untabify.
	* printf-args.c: Untabify.
	* printf-args.h: Untabify.
	* printf-parse.c: Untabify.
	* printf-parse.h: Untabify.
	* printf.c: Untabify.
	* relocatable.c: Untabify.
	* relocatable.h: Untabify.
	* threadlib.c: Untabify.
	* tsearch.c: Untabify.
	* tsearch.h: Untabify.
	* vasnprintf.c: Untabify.
	* vasnwprintf.h: Untabify.
	* wprintf-parse.h: Untabify.

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

	* config.charset: Untabify.

2009-11-22  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (decimal_point_char): Choose the fast path also on
	MacOS X.

2009-11-17  Eric Blake  <ebb9@byu.net>

	* vasnprintf.c (VASNPRINTF): Avoid shadowing our own local variables.

2009-10-10  Eric Blake  <ebb9@byu.net>

	* relocatable.c (compute_curr_prefix): Fix spelling.

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

	Avoid symlink attack in localcharset module.
	* localcharset.c: Include <fcntl.h>, <unistd.h>.
	(O_NOFOLLOW): Define fallback.
	(get_charset_aliases): Don't open the file if it is a symbolic link.
	Reported by Fergal Glynn <fglynn@veracode.com>.

2009-08-20  Eric Blake  <ebb9@byu.net>

	* vasnprintf.c (decimal_point_char): Avoid warning on old-style
	declaration.

2009-08-10  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (DCHAR_SET): Undefine at the end.

2009-08-09  Bruno Haible  <bruno@clisp.org>

	Fix a compilation error on non-glibc systems that have gcc visibility
	support but deficient *printf functions.
	* printf.c (DLL_EXPORTED): Define to non-empty also when
	HAVE_VISIBILITY is true.
	Reported at <https://savannah.gnu.org/bugs/?27185>.

2009-06-06  Bruno Haible  <bruno@clisp.org>

	Interoperate with automake-1.11 provided --enable-silent-rules option.
	* Makefile.in (AM_V_at, AM_V_AR, AM_V_CC, AM_V_GEN, AM_V_YACC,
	AM_V_lt): New variables.
	(libintl.a, libintl.la, .c.o, .y.c, *.lo): Silence 'make' output if
	silent rules requested.

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

	* vasnprintf.c (VASNPRINTF): Update after the calling convention of
	u*_conv_from_encoding and u*_conv_to_encoding changed.

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

	* Makefile.in (RC): New variable.
	(OBJECTS_RES_yes): Add .$lo suffix.
	(libintl.res.o): Renamed from libintl.res.
	(libintl.res.lo): New rule.
	(mostlyclean): Simplify.

2009-03-23  Jim Meyering  <meyering@redhat.com>

	* vasnprintf.c (divide): Fix typo in comment.

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

	Fix *printf behaviour regarding the %ls directive.
	* vasnprintf.c (local_wcslen, VASNPRINTF): Handle
	NEED_PRINTF_DIRECTIVE_LS.

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

	Fix invalid read past end of memory block.
	* vasnprintf.c (DCHAR_SET): Define.
	(local_wcslen): Define only when needed.
	(local_strnlen, local_wcsnlen): New functions.
	(VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
	directives that involve a conversion ourselves.

2009-02-06  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (libintl.res): Initialize nl without assuming GNU bash.
	Reported by Marko Lindqvist <cazfi74@gmail.com>.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	* threadlib.c: Include <stdlib.h>.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	* threadlib.c (dummy): New declaration.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	Don't install charset.alias on MacOS X >= 10.3.
	* localcharset.c (DARWIN7): New macro.
	(get_charset_aliases): Hardcode the result for Darwin7.
	* Makefile.in (install-exec, installdirs): Don't install charset.alias
	on MacOS X >= 10.3, if the file does not yet exist.

2009-01-25  Bruno Haible  <bruno@clisp.org>

	Don't install charset.alias on mingw and Cygwin.
	* Makefile.in (install-exec, installdirs): Don't install charset.alias
	on mingw and Cygwin, if the file does not yet exist. The result for
	these platforms is hardcoded in localcharset.c.

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

	Add support for non-UTF-8 locales on MacOS X.
	* config.charset: Add CP1131, ARMSCII-8, PT154 to the list of canonical
	encodings. For Darwin 7 and newer, don't map traditional encodings to
	UTF-8.
	Reported by Vincent Lefevre <vincent@vinc17.org>
	at <http://savannah.gnu.org/bugs/?25235>.

2009-01-15  Bruno Haible  <bruno@clisp.org>

	* log.c (MSGCTXT_SEPARATOR): New macro.
	(print_escaped): Add an str_end argument.
	(_nl_log_untranslated_locked): If msgid1 contains the msgctxt
	separator, split it into msgctxt and msgid.
	Reported at <https://savannah.gnu.org/bugs/?25315>.

2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>

	* config.charset: Treat Haiku like BeOS.

2008-10-17  Bruno Haible  <bruno@clisp.org>

	* lock.h (gl_carray_waitqueue_t): Renamed from gl_waitqueue_t.
	(gl_rwlock_t): Update.
	* lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.

2008-09-22  Eric Blake  <ebb9@byu.net>
	    Bruno Haible  <bruno@clisp.org>

	vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
	* vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that supply %A
	but mishandle pseudo-NaN.
	Reported by Simon Josefsson.

2008-09-18  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (VASNPRINTF): When printing ±0.0L in
	NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
	digits for the exponent.

2008-09-18  Jim Meyering  <meyering@redhat.com>
	    Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (decimal_point_char): Define also if
	NEED_PRINTF_INFINITE_LONG_DOUBLE.

2008-09-16  Bruno Haible  <bruno@clisp.org>
	and Eric Blake  <ebb9@byu.net>

	vasnprintf: support Irix 5.3
	* vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms that
	mishandle long double infinity.
	Reported by Tom G. Christensen.

2008-09-02  Eric Blake  <ebb9@byu.net>

	vasnprintf-posix: handle large precision via %.*d
	* vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
	when handling it ourselves.
	Reported by Alain Guibert.

2008-07-10  Ben Pfaff  <blp@gnu.org>

	* vasnprintf.c: Update references to renamed include files.

2008-05-21  Bruno Haible  <bruno@clisp.org>

	Avoid one more warning from gcc.
	* vasnprintf.c (IF_LINT): Update comments.
	(VASNPRINTF): Use it also for the 'prefix' array initializer.

2008-05-21  Jim Meyering  <meyering@redhat.com>

	avoid a warning from gcc
	* vasnprintf.c (IF_LINT): Define.
	(scale10_round_decimal_long_double):
	Use it to avoid a "may be used uninitialized" warning.
	(scale10_round_decimal_double): Likewise.

2008-05-16  Jim Meyering  <meyering@redhat.com>
	    Bruno Haible  <bruno@clisp.org>

	Avoid some warnings from "gcc -Wshadow".
	* vasnprintf.c (exp, remainder): Define to different identifiers.

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

	Work around snprintf bug on Linux libc5.
	* vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.

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

	* vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error from
	0.0058 to less than 10^-7.

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

	Fix rounding when a precision is given.
	* vasnprintf.c (is_borderline): New function.
	(VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
	9...9x.
	Reported by John Darrington <john@darrington.wattle.id.au> via
	Ben Pfaff <blp@cs.stanford.edu>.

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

	Fix buffer overrun.
	* vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
	Don't consider the width for tmp_length. Check count against tmp_length
	before doing the padding. Ensure enough allocation during padding.

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

	* vasnprintf.c (EOVERFLOW): Remove fallback.

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

	Fix bug introduced on 2007-06-10.
	* vasnprintf.c (VASNPRINTF): When performing zero-padding, use
	spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.

2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>

	* xsize.h: Fix typo in comment: s/tupe/type/.

2008-02-07  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
	Avoids a crash on Windows Vista.
	Reported by Adam Strzelecki <ono@java.pl> via
	Simon Josefsson <simon@josefsson.org>.

2008-02-06  Bruno Haible  <bruno@clisp.org>

	Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
	* vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
	Reported by Peter Fales <psfales@alcatel-lucent.com>.

2008-02-06  Bruno Haible  <bruno@clisp.org>

	Fix bug introduced on 2007-06-10.
	* vasnprintf.c (VASNPRINTF): Perform zero-padding also if
	!NEED_PRINTF_FLAG_ZERO.

2008-01-29  Jim Meyering  <meyering@redhat.com>

	vasnprintf.c: Avoid warning about unused label
	* vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
	"overflow" label definition and associated code with the
	same cpp condition that guards the sole use of that label.

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

	Rename isnan, applicable to 'double' only, to isnand.
	* vasnprintf.c: Include isnand.h instead of isnan.h.
	(is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.

2008-01-08  Jim Meyering  <meyering@redhat.com>
	    Bruno Haible  <bruno@clisp.org>

	* printf-parse.c (PRINTF_PARSE): Handle a size specifier "q" on MacOS X
	and a size specifier "I64" on mingw. Needed for PRIdMAX.
	Reported by Peter Fales in
	<http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.

2008-01-10  Eric Blake  <ebb9@byu.net>

	* relocatable.h: Fix a comment.

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

	* relocatable.h (relocate): State whether result is freshly allocated
	or not.
	* relocatable.c (relocate): Return a freshly allocated string instead
	of a pointer to a privately held string.
	Reported by Sylvain Beucler <beuc@gnu.org>.

2008-01-01  Sylvain Beucler  <beuc@gnu.org>
	    Bruno Haible  <bruno@clisp.org>

	Improve memory cleanup in 'relocatable' module.
	* relocatable.h (compute_curr_prefix): Change return type to 'char *'.
	* relocatable.c (compute_curr_prefix): Change return type to 'char *'.
	Free curr_installdir after use.
	(relocate): Free curr_prefix_better after use.

2008-04-13  Bruno Haible  <bruno@clisp.org>

	* localcharset.c (OS2): Don't redefine if already defined.
	Reported by Elbert Pol <e.pol@chello.nl>.

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

	* libgnuintl.h.in: Use (defined X && X) idiom to test whether a
	possibly undefined macro has a certain value. Pacifies users of the
	gcc option -Wundef.
	Reported by Christian Weisgerber <naddy@mips.inka.de> and
	Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

2008-08-18  Bruno Haible  <bruno@clisp.org>

	* threadlib.c: Include <pthread.h>.

2008-08-18  Bruno Haible  <bruno@clisp.org>

	* lock.h [USE_SOLARIS_THREADS]: Fix glthread_recursive_lock_* macros.
	* lock.c (glthread_recursive_lock_destroy_multithreaded): Fix syntax
	error.

2008-08-17  Bruno Haible  <bruno@clisp.org>

	* lock.h: Include <stdlib.h> always.

2008-08-17  Bruno Haible  <bruno@clisp.org>

	* threadlib.c: New file, extracted from lock.c.
	* lock.c (dummy_thread_func, glthread_in_use): Remove functions.
	* Makefile.in (SOURCES): Add threadlib.c.
	(OBJECTS): Add threadlib.$lo.
	(threadlib.lo): New rule.

2008-08-14  Bruno Haible  <bruno@clisp.org>

	* lock.h (glthread_lock_lock, glthread_lock_unlock,
	glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
	glthread_rwlock_unlock, glthread_rwlock_destroy,
	glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
	glthread_recursive_lock_destroy): Define as macros always.
	* lock.c (glthread_lock_lock_func): Renamed from glthread_lock_lock.
	(glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
	(glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
	(glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
	(glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
	(glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
	(glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
	(glthread_recursive_lock_lock_func): Renamed from
	glthread_recursive_lock_lock.
	(glthread_recursive_lock_unlock_func): Renamed from
	glthread_recursive_lock_unlock.
	(glthread_recursive_lock_destroy_func): Renamed from
	glthread_recursive_lock_destroy.

2008-08-07  Paolo Bonzini  <bonzini@gnu.org>

	* lock.c (glthread_recursive_lock_init_multithreaded)
	[!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.

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

	Additional non-aborting API for lock.
	* lock.h: Include <errno.h>.
	(glthread_lock_init): New macro/function.
	(gl_lock_init): Define as wrapper around glthread_lock_init.
	(glthread_lock_lock): New macro/function.
	(gl_lock_lock): Define as wrapper around glthread_lock_lock.
	(glthread_lock_unlock): New macro/function.
	(gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
	(glthread_lock_destroy): New macro/function.
	(gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
	(glthread_rwlock_init): New macro/function.
	(gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
	(glthread_rwlock_rdlock): New macro/function.
	(gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
	(glthread_rwlock_wrlock): New macro/function.
	(gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
	(glthread_rwlock_unlock): New macro/function.
	(gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
	(glthread_rwlock_destroy): New macro/function.
	(gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
	(glthread_recursive_lock_init): New macro/function.
	(gl_recursive_lock_init): Define as wrapper around
	glthread_recursive_lock_init.
	(glthread_recursive_lock_lock): New macro/function.
	(gl_recursive_lock_lock): Define as wrapper around
	glthread_recursive_lock_lock.
	(glthread_recursive_lock_unlock): New macro/function.
	(gl_recursive_lock_unlock): Define as wrapper around
	glthread_recursive_lock_unlock.
	(glthread_recursive_lock_destroy): New macro/function.
	(gl_recursive_lock_destroy): Define as wrapper around
	glthread_recursive_lock_destroy.
	(glthread_once): New macro/function.
	(gl_once): Define as wrapper around glthread_once.
	Update function declarations.
	* lock.c (glthread_rwlock_init_multithreaded): Renamed from
	glthread_rwlock_init. Return error code.
	(glthread_rwlock_rdlock_multithreaded): Renamed from
	glthread_rwlock_rdlock. Return error code.
	(glthread_rwlock_wrlock_multithreaded): Renamed from
	glthread_rwlock_wrlock. Return error code.
	(glthread_rwlock_unlock_multithreaded): Renamed from
	glthread_rwlock_unlock. Return error code.
	(glthread_rwlock_destroy_multithreaded): Renamed from
	glthread_rwlock_destroy. Return error code.
	(glthread_recursive_lock_init_multithreaded): Renamed from
	glthread_recursive_lock_init. Return error code.
	(glthread_recursive_lock_lock_multithreaded): Renamed from
	glthread_recursive_lock_lock. Return error code.
	(glthread_recursive_lock_unlock_multithreaded): Renamed from
	glthread_recursive_lock_unlock. Return error code.
	(glthread_recursive_lock_destroy_multithreaded): Renamed from
	glthread_recursive_lock_destroy. Return error code.
	(glthread_once_call): Make static.
	(glthread_once_multithreaded): Renamed from glthread_once.
	Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.

2008-03-30  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5443]
	* dcigettext.c (__dcigettext): Get reader lock for locale data before
	looking for translation.

2008-03-30  Jakub Jelinek  <jakub@redhat.com>

	* dcigettext.c (_nl_find_msg): Reread nconversions after acquiring
	wrlock.  Do conv_tab allocation while holding lock.
	<http://sourceware.org/ml/libc-hacker/2008-03/msg00009.html>

2008-02-10  Jim Meyering  <meyering@redhat.com>

	* bindtextdom.c (set_binding_values): Remove useless "if" before "free".
	* loadmsgcat.c (_nl_load_domain, _nl_unload_domain): Likewise.

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

	* localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
	current mingw.
	Reported by Jose E. Marchesi <jemarch@gnu.org>.

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

	* localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN): Actually
	assign a value.

2008-04-17  Bruno Haible  <bruno@clisp.org>

	* lock.h (gl_lock_destroy, gl_rwlock_destroy,
	gl_recursive_lock_destroy): Provide no-op definitions for the dummy
	implementation.
	Patch by Bruce Merry <bmerry@gmail.com>.

2008-04-16  Bruno Haible  <bruno@clisp.org>

	* localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR): New
	macros.
	(SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
	SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
	SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
	SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
	SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
	SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
	SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
	macros.
	(gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
	Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
	Northern Sotho, Uighur.

2008-04-16  Bruno Haible  <bruno@clisp.org>

	* localename.c (SUBLANG_SINDHI_INDIA): New macro.
	(SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
	(gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
	Reported by Daniel Bergström <daniel@octocode.com>.

2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
            Bruno Haible  <bruno@clisp.org>

	* gettextP.h (gl_locale_name_from_win32_LANGID,
	gl_locale_name_from_win32_LCID): New macros.
	* localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
	function.
	(gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
	New functions, mostly extracted from gl_locale_name_default.
	(gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
	* langprefs.c [WIN32_NATIVE] (_nl_locale_name_canonicalize,
	_nl_locale_name_from_win32_LANGID, _nl_locale_name_from_win32_LCID):
	New declarations.
	(_nl_language_preferences_win32_mui, _nl_language_preferences_win32_ME,
	_nl_language_preferences_win32_95, ret_first_language,
	_nl_language_preferences_win32_system): New functions.
	(_nl_language_preferences_default): Use them.

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

	* lock.h (gl_recursive_lock_init) [PTHREAD &&
	PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
	glthread_recursive_lock_init.
	* lock.c (glthread_recursive_lock_init)
	[PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
	Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.

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

	* libgnuintl.h.in (fprintf, vfprintf, printf, vprintf, sprintf,
	vsprintf, snprintf, vsnprintf, asprintf, vasprintf): Don't override
	definitions made by gnulib.
	Reported by Jim Meyering <jim@meyering.net>.

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

	* l10nflist.c (_nl_normalize_codeset): Change type of 'len' variable
	to size_t.
	Patch by Wim Lewis.

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

	* vasnprintf.c (decode_long_double): Don't abort if the 'long double'
	type has excess precision.
	Reported by Jim Meyering in
	<http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.

2007-11-15  Bruno Haible  <bruno@clisp.org>

	Avoid crash by stack overflow when msgid is very long.
	* dcigettext.c (struct known_translation_t): Turn msgid into a union.
	(transcmp): Use the appropriate part of s1->msgid and s2->msgid.
	(DCIGETTEXT): Change the allocation of the 'search' variable so that
	it needs only fixed stack space. Delay the initialization of
	msgid_len until it is needed.
	Reported by Laurent Gaffié <laurent.gaffie@gmail.com> via
	Ismail Dönmez <ismail@pardus.org.tr>.

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

	* config.charset: Update for OpenBSD 4.1.
	Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.

2007-11-09  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf with a
	size argument < 2.

2007-11-09  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf buffer.
	Fixes an inefficiency introduced on 2007-11-03.

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

	* gettext-0.17 released.

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

	* vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
	code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
	Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
	Reported by Eric Blake.

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

	* lock.h: Protect all macro definitions containing an 'if' statement
	through a "do { ... } while (0)".

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

	* vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.

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

	* printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
	replacement string.
	Reported by Eric Blake.

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

	* printf-args.h (PRINTF_FETCHARGS): New macro.
	(arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
	TYPE_U32_STRING.
	(argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
	a_u32_string variants.
	(PRINTF_FETCHARGS): Renamed from printf_fetchargs.
	* printf-args.c: Don't include config.h and the specification header
	if PRINTF_FETCHARGS is already defined.
	(PRINTF_FETCHARGS): Renamed from printf_fetchargs.
	(PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
	TYPE_U16_STRING, TYPE_U32_STRING.

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

	* Makefile.in (libintl.res): Use 'c' command instead of 'a' command.
	Needed for GNU sed 3.02.

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

	* vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.

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

	* vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.

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

	* vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
	(decode_double): New function, copied from decode_long_double.
	(scale10_round_decimal_decoded): New function, extracted from
	scale10_round_decimal_long_double.
	(scale10_round_decimal_long_double): Use it.
	(scale10_round_decimal_double): New function.
	(floorlog10): New function.
	(VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.

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

	* vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return value
	is C99 compliant.
	Needed for OSF/1 5.1.

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

	Fix out-of-memory handling of vasnprintf.
	* printf-parse.c: Include <errno.h>.
	(PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
	* vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno is
	already set.

2007-10-20  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (VASNPRINTF): Don't report overflow if the available
	length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
	Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.

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

	* vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
	Reported by Jim Meyering.

2007-07-13  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (decimal_point_char): Define also if
	(NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
	&& !NEED_PRINTF_DIRECTIVE_A.
	Reported by Clemens Koller <clemens.koller@anagramm.de> via
	Gary V. Vaughan <gary@gnu.org>.

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

	* vasnprintf.c: Don't include config.h and the specification header if
	VASNPRINTF is already defined.
	(DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
	(VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
	DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
	type. Handle the case that TCHAR_T and FCHAR_T are not of the same
	size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
	add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
	code accordingly.
	(VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
	pad_ourselves also in this case, with the 'c' and 's' directives, and
	with a different notion of "width".

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

	* vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
	'maxlen'. Ensure only length + width bytes are allocated, not
	length + 1 + width.

2007-06-09  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
	(CHAR_T): Remove macro.
	(VASNPRINTF): Update.

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

	* vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
	also the %a / %A. Handle the %a / %A code before this extra handling.

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

	* vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
	NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.

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

	* libgnuintl.h.in (LIBINTL_VERSION): Bump to 0.17.
	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 8:2:0.

2007-10-28  Ulrich Drepper  <drepper@redhat.com>

	* locale.alias: Add note that this file should never be depended on.

2007-10-27  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (libintl.la): Use @LTLIBC@ instead of -lc. Needed on
	HP-UX 11.

2007-10-21  Bruno Haible  <bruno@clisp.org>

	* printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
	context.

2007-10-21  Bruno Haible  <bruno@clisp.org>

	* dcigettext.c (_nl_find_msg): Use plain ANSI C.

2007-10-20  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (libintl.res): Put more literal newlines into the sed
	scripts.

2007-10-14  Bruno Haible  <bruno@clisp.org>

	* dcigettext.c (DCIGETTEXT): Save errno also around the tfind() call.
	Needed because Interix 3.5 tfind() clobbers errno.
	Reported by Martin Koeppe <mkoeppe@gmx.de>.

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

	* gettextP.h: Include <bits/libc-lock.h> or lock.h.
	* dcigettext.c (_nl_find_msg): Unlock the conversions_lock when
	exiting.

2007-09-24  Ulrich Drepper  <drepper@redhat.com>

	[BZ #5058]
	http://sourceware.org/bugzilla/show_bug.cgi?id=5058
	http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=443660
	* gettextP.h (struct loaded_domain): Add conversions_lock member.
	* loadmsgcat.c (_nl_load_domain): Initialize conversions_lock.
	(_nl_unload_domain): Finalize conversions_lock.
	* dcigettext.c (_nl_find_msg): Take conversions_lock before handling
	table of known conversions.

2007-08-03  Jakub Jelinek  <jakub@redhat.com>

	* dcigettext.c (_nl_find_msg): Free encoding if __gconv_open failed.
	* finddomain.c (_nl_find_domain): Free normalized_codeset on failure.

2007-07-26  Jakub Jelinek  <jakub@redhat.com>

	* gettextP.h (struct loaded_domain): Change plural to const
	struct expression *.
	* eval-plural.h (plural_eval): Change first argument to
	const struct expression *.
	* plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Change first argument to
	const struct expression **.
	* plural-exp.h (EXTRACT_PLURAL_EXPRESSION, plural_eval): Adjust
	prototypes.
	* loadmsgcat.c (_nl_unload_domain): Cast away const in call to
	__gettext_free_exp.

2007-07-19  Jakub Jelinek  <jakub@redhat.com>

	* dcigettext.c (_nl_find_msg): Return NULL even if __gconv_open
	returns __GCONV_NOCONV, but not for __GCONV_NULCONV.

2007-07-11  Jakub Jelinek  <jakub@redhat.com>

	* finddomain.c (_nl_find_domain): If _nl_explode_name returned -1,
	return NULL.
	* explodename.c (_nl_explode_name): Return -1 if _nl_normalize_codeset
	failed.

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

	* printf-parse.c: Don't include config.h and the specification
	header if PRINTF_PARSE is already defined. Eliminate the set of
	parameters for WIDE_CHAR_VERSION; the user of this file must provide
	them now. Include c-ctype.h.
	(PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
	directive and CHAR_T_ONLY_ASCII.
	* printf.c: Include wprintf-parse.h. Define the set of parameters for
	the WIDE_CHAR_VERSION.

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

	* gettextP.h (gl_locale_name_canonicalize, gl_locale_name_posix,
	gl_locale_name_default, gl_locale_name): New macros.
	(_nl_locale_name_canonicalize): New declaration.
	* localename.c: Include config.h unconditionally. Include gettextP.h or
	localename.h.
	(gl_locale_name_canonicalize): Renamed from
	_nl_locale_name_canonicalize. Make static except in libintl.
	(gl_locale_name_posix): Renamed from _nl_locale_name_posix.
	(gl_locale_name_default): Renamed from _nl_locale_name_default.
	(gl_locale_name): Renamed from _nl_locale_name.

2007-05-28  Bruno Haible  <bruno@clisp.org>

	* libintl.rc: New file.
	* Makefile.in (DISTFILES.common): Add it.
	(WINDRES): New variable.
	(OBJECTS_RES_yes, OBJECTS_RES_no): New variables.
	(libintl.la, libgnuintl.la): Include also $((OBJECTS_RES_...).
	(libintl.res): New rule.
	(mostlyclean): Remove also libintl.res.

2007-05-21  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c: Update comments.

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

	* tsearch.c [!IN_LIBINTL]: Include search.h instead of tsearch.h.

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

	* vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
	NEED_PRINTF_INFINITE.
	(is_infinitel): New function.
	(VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.

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

	* vasnprintf.c: Include math.h and isnan.h.
	(is_infinite_or_zero): New function.
	(VASNPRINTF): Fix also the handling of infinite or zero 'double'
	values in the %f, %F, %e, %E, %g, %G directives.

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

	* vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
	(scale10_round_decimal_long_double): Inline scale10_round_long_double.
	Instead of multiplying with 10^k, set extra_zeroes to k.
	(scale10_round_long_double): Remove function.

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

	* vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
	introduced on 2007-05-06.

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

	* vasnprintf.c: Include math.h and float+.h.
	(mp_limb_t): New type.
	(GMP_LIMB_BITS): New macro.
	(mp_twolimb_t): New type.
	(GMP_TWOLIMB_BITS): New macro.
	(mpn_t): New type.
	(multiply, divide, convert_to_decimal, decode_long_double,
	scale10_round_long_double, scale10_round_decimal_long_double,
	floorlog10l): New functions.
	(VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
	for the %f, %F, %e, %E, %g, %G directives.

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

	* vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.

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

	* vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld for
	printing 64-bit integers. Needed for mingw.

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

	* vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
	padding ourselves for the floating-point directives.

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

	* vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't pass
	the ' flag character to sprintf or snprintf.

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

	* vasnprintf.c (VASNPRINTF): Implement the %F directive using the %f
	directive, if NEED_PRINTF_DIRECTIVE_F is defined.

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

	* vasnprintf.c: Include <math.h>. Don't include float+.h.
	(VASNPRINTF): Use signbit for faster determination whether to print a
	minus sign.

2007-03-27  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (decimal_point_char): New function.
	(VASNPRINTF): Use it.

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

	* vasnprintf.c: Include langinfo.h.
	(VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
	multithread-safe.

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

	* vasnprintf.c: Include fpucw.h.
	(VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
	'long double' calculations.

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

	* vasnprintf.c: Include float+.h.
	(VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
	SIZEOF_LDBL or SIZEOF_DBL bytes.

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

	* vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
	include isnanl-nolibm.h.

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

	* vasnprintf.c: Update after isnanl.h was renamed to isnanl-nolibm.h.

2007-03-18  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (VASNPRINTF): Undo first part of last patch.

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

	* vasnprintf.c (EOVERFLOW): New fallback definition.
	(VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
	larger than INT_MAX, or when it grow to a value larger than INT_MAX.

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

	* vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
	before comparing it. Needed because on some platforms (e.g. x86) a
	'long double' occupies less bytes than sizeof (long double).

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

	* vasnprintf.c (sprintf): Undefine.

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

	* vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.

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

	* vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use a
	locale dependent decimal point, rather than always '.'.

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

	* vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
	printf-frexpl.h.
	(VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.

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

	* vasnprintf.h: Convert tabs in the middle of lines to spaces.

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

	* Makefile.in (install-dvi, install-html, install-info, install-ps,
	install-pdf): New targets.
	Reported by Noah Slater <nslater@gmail.com>.

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

	* printf-args.h: Assume HAVE_LONG_DOUBLE to be true.
	* printf-args.c: Likewise.
	* printf-parse.c: Likewise.
	* vasnprintf.c: Likewise.

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

	* printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
	(PRINTF_PARSE): Make the support for size specifier 'j' unconditional.

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

	* libgnuintl.h.in (libintl_printf): Treat BeOS like NetBSD and Woe32
	systems.
	* printf.c (libintl_printf): Likewise.

2007-02-25  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a 'a' or
	'A' conversion.

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

	* printf-args.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
	* printf-args.c: Likewise.
	* printf-parse.c: Likewise.
	* vasnprintf.c: Likewise.

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

	* tsearch.h: New file, from gnulib.
	* tsearch.c: New file, from gnulib.
	* dcigettext.c [!HAVE_TSEARCH]: Include tsearch.h and tsearch.c.
	(root, transcmp): Define unconditionally.
	(DCIGETTEXT): Assume tsearch exists.
	* Makefile.in (HEADERS): Add tsearch.h, tsearch.c.

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

	* localename.c (SUBLANG_BENGALI_INDIA): Change value from 0 to 1.
	(SUBLANG_BENGALI_BANGLADESH): Change value from 1 to 2.
	(SUBLANG_PUNJABI_INDIA): Change value from 0 to 1.
	(SUBLANG_PUNJABI_PAKISTAN): Change value from 1 to 2.
	(SUBLANG_ROMANIAN_ROMANIA): Change value from 0 to 1.
	(SUBLANG_ROMANIAN_MOLDOVA): Change value from 1 to 2.
	(SUBLANG_SINDHI_INDIA): Remove macro.
	(SUBLANG_SINDHI_AFGHANISTAN): New macro.
	(SUBLANG_TAMAZIGHT_ALGERIA_LATIN): Renamed from
	SUBLANG_TAMAZIGHT_LATIN.
	(SUBLANG_TIGRINYA_ETHIOPIA): Change value from 0 to 1.
	(SUBLANG_TIGRINYA_ERITREA): Change value from 1 to 2.
	(_nl_locale_name_default): Update.
	Reported by Bob Rossi <bob_rossi@cox.net>.

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

	* plural-exp.h [C++]: Define functions without name mangling.

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

	Move declarations to header files.
	* dcigettext.c: Include localcharset.h.
	(get_output_charset): Remove locale_charset declaration.

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

	Move declarations to header files.
	* gettextP.h (_nl_default_dirname, _nl_domain_bindings): New
	declarations and aliases.
	(_nl_default_default_domain, _nl_current_default_domain): New
	declarations and aliases.
	* bindtextdom.c (_nl_default_dirname, _nl_domain_bindings): Remove
	declarations and aliases.
	* dcigettext.c (_nl_default_default_domain, _nl_current_default_domain,
	_nl_default_dirname, _nl_domain_bindings): Remove aliases.
	* textdomain.c (_nl_default_default_domain, _nl_current_default_domain):
	Remove declarations and aliases.

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

	* printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.

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

	Make it compile in C++ mode.
	* gettextP.h (SWAP): Don't use K&R syntax in C++ mode.
	* gmo.h (struct segment_pair): Move out of the scope of struct
	sysdep_string.
	* dcigettext.c (DCIGETTEXT): Cast mempcpy results.
	* loadmsgcat.c (_nl_load_domain): Cast alloca result.
	* localealias.c (read_alias_file): Cast memcpy result.
	* plural-exp.h (enum expression_operator): Move out of the scope of
	struct expression. Rename from 'enum operator'.
	* plural-exp.c (plvar, plone, GERMANIC_PLURAL): Don't use C99 named
	initializer syntax in C++ mode.
	* plural.y (%union, new_exp, new_exp_0, new_exp_1, new_exp_2,
	new_exp_3): Update.

2006-11-27  Bruno Haible  <bruno@clisp.org>

	* gettext-0.16.1 released.

2006-10-26  Bruno Haible  <bruno@clisp.org>

	* gettext-0.16 released.

2006-10-24  Bruno Haible  <bruno@clisp.org>

	* localename.c (HAVE_LOCALE_NULL): Test __GLIBC__ instead of
	__GNU_LIBRARY__.

2006-10-24  Bruno Haible  <bruno@clisp.org>

	* libgnuintl.h.in (LIBINTL_VERSION): Bump to 0.16.

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

	* lock.h [C++]: Wrap definitions in extern "C".

2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>

	* localcharset.c: Do not check HAVE_SETLOCALE.

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

	* langprefs.c: Update comment about locale name syntax.
	* localename.c: Likewise.

2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
            Bruno Haible  <bruno@clisp.org>

	* printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
	instead of HAVE_LONG_LONG.
	* printf-args.c (printf_fetchargs): Likewise.
	* printf-parse.c (PRINTF_PARSE): Likewise.
	* vasnprintf.c (VASNPRINTF): Likewise.

2006-10-08  Bruno Haible  <bruno@clisp.org>

	* printf.c: Include errno.h, limits.h.
	(EOVERFLOW): New fallback definition.
	(libintl_vfprintf): Test whether the output length is > INT_MAX.
	(libintl_vsprintf): Likewise.
	(libintl_vsnprintf): Fix bug when vasnprintf requested more space than
	needed. Fix return value when the entire result string would be larger
	than the provided buffer. Test whether the output length is > INT_MAX.
	(libintl_vasprintf): Test whether the output length is > INT_MAX.
	(libintl_vfwprintf): Likewise.
	(libintl_vswprintf): Fix bug when vasnwprintf requested more space than
	needed. Test whether the output length is > INT_MAX.

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

	* lock.c: Include <config.h> unconditionally.
	* printf-args.c: Likewise.
	* printf-parse.c: Likewise.
	* relocatable.c: Likewise.
	* vasnprintf.c: Likewise.

2006-08-26  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (EOVERFLOW): Remove definition.
	(VASNPRINTF): Return a string of length > INT_MAX without failing.

2006-10-02  Bruno Haible  <bruno@clisp.org>

	* libgnuintl.h.in (LIBINTL_VERSION): Bump to 0.15.1.
	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 8:1:0.

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

	* localcharset.c: Include <config.h> unconditionally.

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

	* Makefile.in (install_sh): New variable.
	Fixes "make install" errors in packages that have no 'mkinstalldirs'
	file and use automake <= 1.9.x, on platforms where 'mkdir' does not
	support the -p option.

	* Makefile.in (mkinstalldirs): Prefix with $(SHELL).

2006-08-29  Bruno Haible  <bruno@clisp.org>

	* localcharset.c: Include configmake.h in order to get LIBDIR defined.

2006-08-18  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

	* Makefile.in (MKDIR_P): New variable. Needed by $(mkdir_p) with
	Automake-1.10.

2006-07-29  Bruno Haible  <bruno@clisp.org>

	* localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.

2006-07-25  Bruno Haible  <bruno@clisp.org>

	* Makefile.msvc: Remove file.
	* Makefile.in (DISTFILES.gettext): Remove libgnuintl.h.msvc-static,
	libgnuintl.h.msvc-shared, Makefile.msvc.
	(DISTFILES.obsolete): Add libgnuintl.h.msvc-static,
	libgnuintl.h.msvc-shared, Makefile.msvc.

2006-07-25  Bruno Haible  <bruno@clisp.org>

	* Makefile.vms: Remove file.
	* Makefile.in (DISTFILES.gettext): Remove libgnuintl.h_vms,
	Makefile.vms.
	(DISTFILES.obsolete): Add libgnuintl.h_vms, Makefile.vms.

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

	* gettext-0.15 released.

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

	* Makefile.in (mkinstalldirs): New variable. Needed for mkdir_p.

2006-07-20  Bruno Haible  <bruno@clisp.org>

	* dcigettext.c (HAVE_NL_LOCALE_NAME): Undefine.

2006-07-20  Bruno Haible  <bruno@clisp.org>

	* libgnuintl.h.in (LIBINTL_VERSION): Bump to 0.15.0.

2006-07-20  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 8:0:0.

2006-07-13  Bruno Haible  <bruno@clisp.org>

	* printf.c (libintl_printf): Define to __printf__ on NetBSD, Cygwin,
	mingw.
	Reported by haibin zhang <dragzhb@yahoo.com.cn>.

2006-06-22  Ulrich Drepper  <drepper@redhat.com>

	* dcigettext.c (DCIGETTEXT): If _nl_find_msg returns -1 don't look
	further, return original strings.
	(_nl_find_msg): Do not return found translation if the conversion
	failed.  Either signal the string is unusable or that something went
	wrong and the original should be used.

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

	* l10nflist.c (__argz_count, __argz_stringify, __argz_next): Define
	using the non-underscored functions when available. Avoids warnings
	on Cygwin.
	Reported by Eric Blake.

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

	* libgnuintl.h.in (libintl_printf): Define to __printf__ on NetBSD,
	Cygwin, mingw.
	Reported by Henry Nelson <netb@yuba.ne.jp>.

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

	* bindtextdom.c (gl_rwlock_define, gl_rwlock_wrlock, gl_rwlock_unlock)
	[_LIBC]: New macros.
	(_nl_state_lock, set_binding_values): Use gl_rwlock_* instead of
	__libc_rwlock_*.
	* dcigettext.c (gl_rwlock_define_initialized, gl_rwlock_rdlock,
	gl_rwlock_wrlock, gl_rwlock_unlock) [_LIBC]: New macros.
	(tree_lock, _nl_state_lock, DCIGETTEXT): Use gl_rwlock_* instead of
	__libc_rwlock_*.
	* finddomain.c (gl_rwlock_define_initialized, gl_rwlock_rdlock,
	gl_rwlock_wrlock, gl_rwlock_unlock) [_LIBC]: New macros.
	(_nl_find_domain): Use gl_rwlock_* instead of __libc_rwlock_*.
	* textdomain.c (gl_rwlock_define, gl_rwlock_wrlock, gl_rwlock_unlock)
	[_LIBC]: New macros.
	(_nl_state_lock, TEXTDOMAIN): Use gl_rwlock_* instead of
	__libc_rwlock_*.
	Needed because NetBSD 3.0 <pthread.h> does
	#define pthread_rwlock_rdlock __libc_rwlock_rdlock etc.

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

	* config.charset: Update for NetBSD 3.0.

2006-05-24  Bruno Haible  <bruno@clisp.org>

	* printf-args.c (printf_fetchargs): Turn NULL pointers for
	TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
	Reported by Thorsten Maerz <torte@netztorte.de> via
	Aaron Stone <aaron@serendipity.cx>.

2006-05-15  Ulrich Drepper  <drepper@redhat.com>

	* dcigettext.c (category_to_name): Adjust for _nl_category_names
	change.

2006-04-06  Ulrich Drepper  <drepper@redhat.com>

	* finddomain.c (_nl_find_domain): We never return NULL if we found the
	locale.

2005-12-21  Roland McGrath  <roland@redhat.com>

	* l10nflist.c (_nl_make_l10nflist): Free ABS_FILENAME when later malloc
	fails.

2006-05-17  Bruno Haible  <bruno@clisp.org>

	Cygwin portability.
	* loadinfo.h (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
	* localename.c (WIN32_NATIVE): Renamed from WIN32.
	* localcharset.c (WIN32_NATIVE): Renamed from WIN32.

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

	* localcharset.c [CYGWIN]: Include <windows.h>.
	(get_charset_aliases): For Cygwin, return the same CPxxx aliases list
	as under WIN32.
	(locale_charset) [CYGWIN]: Try to retrieve the encoding from the
	environment variables. Fall back to GetACP().

2006-05-15  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (LDFLAGS, libgnuintl.h): Treat mingw like Cygwin.

2006-05-15  Bruno Haible  <bruno@clisp.org>

	* libgnuintl.h.in: Move the _INTL_MAY_RETURN_STRING_ARG annotations
	from the function definition to the function declaration. Needed in
	C++ mode.

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

	* intl-exports.c: New file.
	* osdep.c: Include it on Cygwin.
	* Makefile.in (LDFLAGS_yes, LDFLAGS_no): New variables.
	(LDFLAGS): Use it.
	(SOURCES): Add intl-exports.c.
	(libgnuintl.h): When compiling a DLL on Cygwin, mark all exported
	variables as to be imported.

2006-04-17  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (MKINSTALLDIRS, mkinstalldirs): Remove variables.
	(mkdir_p): New variable.
	(install-exec, install-data, installdirs): Use $(mkdir_p) instead of
	$(mkinstalldirs).

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

	* config.charset: Update Juan Manuel Guerrero's address.

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

	* libgnuintl.h.in (_INTL_MAY_RETURN_STRING_ARG): Define to empty when
	using g++ on MacOS X.

2006-01-22  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (VASNPRINTF): In the computation of the size of the
	temporary buffer for sprintf, take into account the precision also
	for 'd', 'i', 'u', 'o', 'x', 'X'.

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

	* localcharset.c: Assume ANSI C. Fixes a gcc warning.
	Reported by Werner Lemberg <wl@gnu.org>.

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

	Fix compilation error when plural.c is generated by bison-2.1.
	* Makefile.in (PLURAL_DEPS_yes, PLURAL_DEPS_no): New macros.
	(plural.$lo): Add conditional dependency to libintl.h.

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

	Cygwin portability.
	* relocatable.c: Include <windows.h> also on Cygwin.
	(DllMain): Add support for Cygwin.
	(get_shared_library_fullname): Update.
	Patches partially from Charles Wilson <cygwin@cwilson.fastmail.fm>.

2005-10-09  Bruno Haible  <bruno@clisp.org>
2002-07-24  Ulrich Drepper  <drepper@redhat.com>

	* explodename.c (_nl_explode_name): Simplify.

2005-10-09  Bruno Haible  <bruno@clisp.org>
2002-07-24  Ulrich Drepper  <drepper@redhat.com>

	* explodename.c: Recognize the syntax
	  language[_territory][.codeset][@modifier]
	instead of only
	  language[_territory[.codeset]][@modifier]
	(_nl_find_language): Accept '.' as terminator.
	(_nl_explode_name): Accept to parse a codeset without a territory.
	Accept an underscore in the territory.

2005-10-09  Bruno Haible  <bruno@clisp.org>
2002-07-24  Ulrich Drepper  <drepper@redhat.com>

	* explodename.c (_nl_find_language, _nl_explode_name): Remove support
	for CEN-style locale variables. It was never used and shouldn't be
	since it's not portable.
	* finddomain.c (_nl_find_domain): Likewise.
	* l10nflist.c (_nl_make_l10nflist): Likewise.
	* loadinfo.h (_nl_make_l10nflist, _nl_explode_name): Likewise.
	(CEN_*, XPG_SPECIFIC): Remove macros.
	(XPG_TERRITORY): Renamed from TERRITORY.

2005-08-28  Bruno Haible  <bruno@clisp.org>

	* libgnuintl.h.in: Add IN_LIBGLOCALE conditional.
	* Makefile.in (libgnuintl.h, libintl.h): Remove the IN_LIBGLOCALE
	conditional.
	* dcigettext.c [IN_LIBGLOCALE]: Include also <libintl.h>, for
	bindtextdomain().

2005-08-25  Bruno Haible  <bruno@clisp.org>

	* libintl.glibc: Update from current glibc.
	* libgnuintl.h.in (_INTL_MAY_RETURN_STRING_ARG): New macro.
	(gettext, dgettext, dcgettext, ngettext, dngettext, dcngettext):

2005-08-21  Bruno Haible  <bruno@clisp.org>

	* lock.h: Add multiple inclusion guard.

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

	* localealias.c (read_alias_file): In case of failure, close the
	file descriptor and sort the array before returning.

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

	* localealias.c (read_alias_file) [IN_LIBGLOCALE]: Ignore aliases
	containing an underscore.

2005-07-31  Bruno Haible  <bruno@clisp.org>

	Make code usable in libglocale.
	* gettextP.h (gl_dcigettext): New declaration.
	(_nl_msg_cat_cntr): Export also from libglocale.
	(_nl_find_msg): In libglocale, take the encoding as argument and no
	convert flag.
	* dcigettext.c (HAVE_PER_THREAD_LOCALE): Define in libglocale.
	(struct known_translation_t): In libglocale, add encoding field.
	(transcmp): In libglocale, compare also the encoding fields.
	(libintl_version): Don't define in libglocale.
	(_nl_current_default_domain, _nl_domain_bindings): Likewise.
	(DCIGETTEXT): In libglocale, also take the localename and encoding
	as arguments. Don't call nl_langinfo. Instead of walking the other
	library's _nl_domain_bindings, use bindtextdomain.
	(_nl_find_msg): In libglocale, take the encoding as argument and no
	convert flag. Don't call get_output_charset.
	(guess_category_value): In libglocale, take the locale name as
	argument. Don't call __current_locale_name or uselocale or
	_nl_locale_name_posix and _nl_locale_name_default.
	(get_output_charset): Don't define in libglocale.
	* loadmsgcat.c (_nl_load_domain): Update.
	* plural-exp.h (plural_eval): Don't declare in libglocale.

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

	* Makefile.in: Add comments about VPATH.

2005-07-31  Bruno Haible  <bruno@clisp.org>

	* lock.h (gl_lock_initializer): New macro.
	(gl_lock_define_initialized): Use it.
	(gl_rwlock_initializer): New macro.
	(gl_rwlock_define_initialized): Use it.
	(gl_recursive_lock_initializer): New macro.
	(gl_recursive_lock_define_initialized): Use it.

2005-07-31  Bruno Haible  <bruno@clisp.org>

	Avoid const-cast.
	* dcigettext.c (DCIGETTEXT): Change type of 'dirname' to const char *.
	Use an auxiliary variable 'resolved_dirname' of type 'char *'.

2005-07-31  Bruno Haible  <bruno@clisp.org>

	* dcigettext.c (tree_lock): Remove extraneous semicolon.

2005-07-25  Bruno Haible  <bruno@clisp.org>

	* libgnuintl.h.in (LIBINTL_VERSION): New macro.
	(libintl_version): New declaration.
	* version.c: New file.
	* Makefile.in (SOURCES): Add version.c.
	(OBJECTS): Add version.$lo.
	(version.lo): New rule.
	* Makefile.msvc (OBJECTS): Add version.obj.
	(version.obj): New rule.
	* Makefile.vms (OBJECTS): Add version.obj.
	(version.obj): New rule.

2005-07-25  Bruno Haible  <bruno@clisp.org>

	* intl-compat.c (DLL_EXPORTED) [HAVE_VISIBILITY]: Define to the gcc
	visibility attribute.

2005-07-24  Bruno Haible  <bruno@clisp.org>

	Tidy up exported symbols.
	* export.h: New file.
	* gettextP.h: Move declarations so that libgnuintl.h is included
	before loadinfo.h. Needed because libgnuintl.h defines
	LIBINTL_DLL_EXPORTED and loadinfo.h uses it.
	(_nl_msg_cat_cntr): Export.
	* loadinfo.h (LIBINTL_DLL_EXPORTED): Provide fallback declaration.
	(_nl_expand_alias): Export.
	* bindtextdom.c: Include gettextP.h before libgnuintl.h. Needed so
	that _INTL_REDIRECT_MACROS is defined when libgnuintl.h is included.
	Otherwise libgnuintl.h may choose to use _INTL_REDIRECT_ASM, and then
	gcc-4.0 ignores visibility declarations.
	* textdomain.c: Likewise.
	* relocatable.h (RELOCATABLE_DLL_EXPORTED) [HAVE_VISIBILITY]: Define
	to the gcc visibility attribute.
	* Makefile.in (DEFS): Define also BUILDING_LIBINTL and BUILDING_DLL.
	(CFLAGS): Add CFLAG_VISIBILITY.
	(DISTFILES.common): Add export.h.
	(libgnuintl.h): Add LIBINTL_DLL_EXPORTED definition and uses.
	(libintl.h): Create directly from libgnuintl.h.in, without
	LIBINTL_DLL_EXPORTED.

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

	* plural.y: Modify comment about #pragma alloca.
	Suggested by Paul Eggert.

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

	* Makefile.in (datarootdir): New variable.

2005-07-25  Bruno Haible  <bruno@clisp.org>

	Make pthread_in_use() return 0 on Solaris and HP-UX when not linking
	with -lpthread.
	* lock.h (pthread_in_use) [PTHREAD_IN_USE_DETECTION_HARD]: Define
	through glthread_in_use.
	* lock.c (dummy_thread_func, glthread_in_use): New functions.

2005-07-22  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (libintl.la, libgnuintl.la): Link with @LTLIBTHREADS@.

2005-07-16  Bruno Haible  <bruno@clisp.org>

	* lock.h (gl_once_t): New type.
	(gl_once_define, gl_once): New macros.
	* lock.c (fresh_once): New variable.
	(glthread_once, glthread_once_call, glthread_once_singlethreaded): New
	functions.

2005-07-16  Bruno Haible  <bruno@clisp.org>

	* lock.h: New file.
	* lock.c: New file.
	* bindtextdom.c: Include lock.h. Don't include THREAD_H. Remove
	definitions of __libc_rwlock_*.
	* finddomain.c: Likewise.
	* textdomain.c: Likewise.
	* dcigettext.c: Include lock.h. Don't include THREAD_H. Remove
	definitions of __libc_lock_*, __libc_rwlock_*.
	* loadmsgcat.c: Include lock.h. Don't include THREAD_H. Remove
	definitions of __libc_lock_*_recursive.
	* localealias.c: Include lock.h. Don't include THREAD_H. Remove
	definitions of __libc_lock_*.
	* log.c: Likewise.
	* Makefile.in (HEADERS): Add lock.h.
	(SOURCES): Add lock.c.
	(OBJECTS): Add lock.$lo.
	(lock.lo): New rule.
	(bindtextdom.$lo, dcigettext.$lo, finddomain.$lo, loadmsgcat.$lo,
	localealias.$lo, lock.$lo, log.$lo): Depend on lock.h.
	* Makefile.msvc (OBJECTS): Add lock.obj.
	(bindtextdom.obj, finddomain.obj, loadmsgcat.obj, localealias.obj,
	dcigettext.obj, log.obj): Depend on lock.h.
	(lock.obj): New rule.
	* Makefile.vms (OBJECTS): Add lock.obj.
	(bindtextdom.obj, finddomain.obj, loadmsgcat.obj, localealias.obj,
	dcigettext.obj, log.obj): Depend on lock.h.
	(lock.obj): New rule.

2005-07-05  Bruno Haible  <bruno@clisp.org>

	* printf-args.c (printf_fetchargs): Work around broken definition of
	wint_t on mingw.

2005-07-02  Bruno Haible  <bruno@clisp.org>

	* localcharset.c (get_charset_aliases) [WIN32]: Add CP65001 and others.
	Reported by <mus1876@gmx.info> via Alain Bench <messtic@oreka.com>.

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

	Make libintl multithread-safe outside glibc.
	* bindtextdom.c: Include THREAD_H.
	(__libc_rwlock_*): Define also for USE_POSIX_THREADS or
	USE_PTH_THREADS.
	* dcigettext.c: Include THREAD_H.
	(__libc_lock_*, __libc_rwlock_*): Define also for USE_POSIX_THREADS or
	USE_PTH_THREADS.
	(_nl_state_lock): Define always.
	(tree_lock): Define outside DCIGETTEXT.
	(DCIGETTEXT): ... not here.
	* finddomain.c: Include THREAD_H.
	(__libc_rwlock_*): Define also for USE_POSIX_THREADS or
	USE_PTH_THREADS.
	* loadmsgcat.c: Include THREAD_H.
	(__libc_lock_*_recursive): Define also for USE_POSIX_THREADS or
	USE_PTH_THREADS.
	(_nl_load_domain): Remove extraneous comma.
	* localealias.c: Include THREAD_H.
	(__libc_lock_*): Define also for USE_POSIX_THREADS or USE_PTH_THREADS.
	(lock): Define always.
	(_nl_expand_alias): Use lock always.
	* textdomain.c: Include THREAD_H.
	(__libc_rwlock_*): Define also for USE_POSIX_THREADS or
	USE_PTH_THREADS.
	* log.c: Include THREAD_H.
	(__libc_lock_*): Define also for USE_POSIX_THREADS or USE_PTH_THREADS.
	(last_logfilename, last_logfile, lock): New variables.
	(_nl_log_untranslated_locked): Renamed from _nl_log_untranslated.
	(_nl_log_untranslated): Rewritten.

2005-02-16  Roland McGrath  <roland@redhat.com>

	* dcigettext.c (_nl_find_msg): Add a cast.

	* dcigettext.c (INTVARDEF, INTUSE): Macros removed.
	(_nl_default_dirname): Use libc_hidden_data_def instead of INTVARDEF.
	(libc_freeres_fn, DCIGETTEXT): Don't use INTUSE.
	* bindtextdom.c (INTUSE): Macro removed.
	(_nl_default_dirname): Use libc_hidden_proto.
	(set_binding_values): Don't use INTUSE.

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

	* dcigettext.c (__libc_rwlock_wrlock): Define fallback.
	* finddomain.c (__libc_rwlock_define_initialized,
	__libc_rwlock_rdlock, __libc_rwlock_wrlock, __libc_rwlock_unlock):
	Define fallbacks.
	* loadmsgcat.c (__libc_lock_define_initialized_recursive,
	__libc_lock_lock_recursive, __libc_lock_unlock_recursive): Define
	fallbacks.
	(_nl_load_domain): Fix portability problems in last patch.

2004-09-25  Ulrich Drepper  <drepper@redhat.com>

	* dcigettext.c (DCIGETTEXT): Protect tfind/tsearch calls.
	* dcigettext.c (_nl_find_msg): Call _nl_load_domain also if
	decided < 0.
	* finddomain.c (_nl_find_domain): Likewise.
	* loadmsgcat.c (_nl_load_domain): Set decided to 1 only once we
	are done.  First set to -1 to signal initialization is ongoing.
	Protect against concurrent callers with recursive lock.
	* finddomain.c (_nl_find_domain): Protect calls to
	_nl_make_l10nflist.  [BZ #322]

2004-08-06  Jakub Jelinek  <jakub@redhat.com>

	* finddomain.c (free_mem): Rename to...
	(_nl_finddomain_subfreeres): ... this.  Add __libc_freeres_fn_section.
	* loadmsgcat.c (_nl_unload_domain): Add __libc_freeres_fn_section.
	* gettextP.h (_nl_unload_domain): Move into #ifdef _LIBC.
	Add attribute_hidden.
	(_nl_findomain_subfreeres): New prototype.

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

	* dcigettext.c (_nl_find_msg) [_LIBC]: Update norm_add_slashes call.
	2004-03-24  Roland McGrath  <roland@redhat.com>
		* loadmsgcat.c (_nl_init_domain_conv): Update norm_add_slashes
		call.

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

	* localealias.c (read_alias_file): Limit last patch to _LIBC case.

2003-09-04  Ulrich Drepper  <drepper@redhat.com>

	* localealias.c (read_alias_file): Use fopen with 'c' mode flag.

2003-09-03  Jakub Jelinek  <jakub@redhat.com>

	* loadmsgcat.c (open, close, read, mmap, munmap): Define as
	function-like macros.

2003-09-02  Ulrich Drepper  <drepper@redhat.com>

	* loadmsgcat.c: For _LIBC, call not cancelable versions of open, close,
	and read.

2003-06-18  Ulrich Drepper  <drepper@redhat.com>

	* localealias.c (read_alias_file): Determine whether line is read
	incompletely early, before we modify the line.

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

	* hash-string.h (__hash_string): Define differently outside glibc.
	* hash-string.c: Include config.h.
	* Makefile.in (SOURCES): Add hash-string.c.
	(OBJECTS): Add hash-string.$lo.
	(hash-string.lo): New rule.
	(hash-string.$lo): Depend on hash-string.h.
	* Makefile.msvc (OBJECTS): Add hash-string.obj.
	(hash-string.obj): New rule.
	* Makefile.vms (OBJECTS): Add hash-string.obj.
	(hash-string.obj): New rule.

2003-06-11  Ulrich Drepper  <drepper@redhat.com>

	Remove warnings gcc 3.3 shows.
	* hash-string.c: New file.
	* hash-string.h: Remove hash_string definition.  Declare __hash_string.
	* dcigettext.c (_nl_find_msg): Adjust hash_string caller.
	* loadmsgcat.c (_nl_load_domain): Likewise.

2003-04-29  Jakub Jelinek  <jakub@redhat.com>

	* plural.y: Include string.h. Needed because recent versions of bison
	generate output that uses memcpy().

2003-01-07  Ulrich Drepper  <drepper@redhat.com>

	* explodename.c (_nl_find_language.c): Mark as static.
	* loadinfo.h: Remove _nl_find_language prototype.

2005-04-30  Bruno Haible  <bruno@clisp.org>

	* langprefs.c: Use #include <CoreFoundation/...> syntax. It's a
	special Apple syntax implemented in the C compiler, but since
	<CFString.h> already uses it, all compilers usable on MacOS X must
	support it.
	* localename.c: Likewise.

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

	* dcigettext.c: Include langinfo.h.
	(HAVE_PER_THREAD_LOCALE): Define also if HAVE_NL_LOCALE_NAME.
	(DCIGETTEXT): Support retrieving the locale name through nl_langinfo
	and NL_LOCALE_NAME.

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

	Make it possible for multiple threads to use gettext() in different
	locales.
	* dcigettext.c (HAVE_PER_THREAD_LOCALE): New macro.
	(struct known_translation_t): If HAVE_PER_THREAD_LOCALE, add localename
	field.
	(transcmp): If HAVE_PER_THREAD_LOCALE, compare localename fields.
	(DCIGETTEXT): If HAVE_PER_THREAD_LOCALE, fill the localename field in
	search and newp.
	(guess_category_value): If HAVE_PER_THREAD_LOCALE, look at the thread's
	locale.

2005-03-19  Bruno Haible  <bruno@clisp.org>

	* gettextP.h (struct loaded_domain): Remove codeset_cntr field.
	(struct binding): Likewise.
	* bindtextdom.c (set_binding_values): Drop codeset_cntr modifications.

2005-03-19  Bruno Haible  <bruno@clisp.org>

	Fix gettext-tools/tests/gettext-5 bug.
	* gettextP.h (struct converted_domain): New type.
	(struct loaded_domain): Remove the conv, conv_tab fields. Add
	conversions, nconversions fields.
	(_nl_init_domain_conv): Remove declaration.
	(_nl_free_domain_conv): Remove declaration.
	(_nl_find_msg): Add convert argument.
	* dcigettext.c (DCIGETTEXT): Call _nl_find_msg with convert=1.
	(_nl_find_msg): Add convert argument. When a conversion to a different
	charset is needed, create a new converted_domain element, instead of
	throwing away the old converted translations.
	(get_output_charset): New function.
	* loadmsgcat.c (_nl_init_domain_conv): Remove function.
	(_nl_free_domain_conv): Remove function.
	(_nl_load_domain): Initialize the conversions array to empty. Use
	_nl_find_msg instead of _nl_init_domain_conv to retrieve the header
	entry.
	(_nl_unload_domain): Free the conversions array and its contents.

2005-03-19  Bruno Haible  <bruno@clisp.org>

	* dcigettext.c (struct known_translation_t): Change type of domainname
	field to 'const char *'.
	(DCIGETTEXT): Remove const-cast.

2005-04-18  Bruno Haible  <bruno@clisp.org>

	* libgnuintl.h.in (_INTL_REDIRECT_ASM): Test for __APPLE_CC__ > 1.
	Needed because gcc-4.0 defines __APPLE_CC__ and implements
	__USER_LABEL_PREFIX__ correctly.
	* plural-exp.c (GERMANIC_PLURAL): Test for __APPLE_CC > 1.
	Needed because gcc-4.0 defines __APPLE_CC__.

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

	* gettext-0.14.6 released.

2005-05-23  Bruno Haible  <bruno@clisp.org>

	* gettext-0.14.5 released.

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

	* gettext-0.14.4 released.

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

	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 7:3:4.

2005-03-16  Bruno Haible  <bruno@clisp.org>

	Canonicalize locale names on MacOS X.
	* localename.c (_nl_locale_name_canonicalize): New function.
	(_nl_locale_name_default): Use it.
	* langprefs.c (_nl_locale_name_canonicalize): New declaration.
	(_nl_language_preferences_default): Use it.

2005-03-14  Bruno Haible  <bruno@clisp.org>

	* gettext-0.14.3 released.

2005-03-14  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (dist, distdir): Ignore a failure to copy Makefile.in.
	Needed because the automake-1.9 generated dist rule of the parent
	directory already copies this file.

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

	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 7:2:4.

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

	* Makefile.in (dist, distdir): Fail if some of the files to be
	distributed do not exist or cannot be copied.
	Suggested by Alexandre Duret-Lutz <adl@src.lip6.fr>.

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

	* gettext-0.14.2 released.

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

	* vasnprintf.c (EOVERFLOW): Define to a fallback if needed.

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

	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 7:1:4.

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

	* Makefile.am (libintl.la, libgnuintl.la): Use INTL_MACOSX_LIBS
	instead of INTL_MACOSX_LDFLAGS.

2004-09-08  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting length
	is > INT_MAX.

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

	* dcigettext.c (guess_category_value): Let the environment variables
	LC_ALL, LC_xxx, LANG take precedence over the system-dependent language
	preference list.
	* gettextP.h (_nl_language_preferences): Remove declaration.
	(_nl_language_preferences_default): New declaration.
	(_nl_locale_name_posix, _nl_locale_name_default): New declarations.
	* langprefs.c (_nl_language_preferences_default): Renamed from
	_nl_language_preferences. Remove handling of getenv("LANGUAGE").
	* localename.c (_nl_locale_name_posix, _nl_locale_name_default): New
	functions, extracted from _nl_locale_name.
	(_nl_locale_name): Use them.

2004-09-06  Bruno Haible  <bruno@clisp.org>

	* localename.c (_nl_locale_name): Add code for MacOS X versions that
	don't have the CFLocaleCopyCurrent() function.
	* langprefs.c (_nl_language_preferences): Make code more robust.

2004-09-05  Bruno Haible  <bruno@clisp.org>

	* langprefs.c: New file.
	* gettextP.h (_nl_language_preferences): New declaration.
	* dcigettext.c (guess_category_value) [!_LIBC]: Use
	_nl_language_preferences.
	* Makefile.in (SOURCES): Add langprefs.c.
	(OBJECTS): Add langprefs.$lo.
	(langprefs.lo): New rule.
	* Makefile.msvc (OBJECTS): Add langprefs.obj.
	(langprefs.obj): New rule.
	* Makefile.vms (OBJECTS): Add langprefs.obj.
	(langprefs.obj): New rule.

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

	* localename.c (_nl_locale_name): Use a more intelligent fallback on
	MacOS X versions that have the CFLocaleCopyCurrent() function.
	* Makefile.in (libintl.la, libgnuintl.la): Use the INTL_MACOSX_LDFLAGS.

2004-09-01  Bruno Haible  <bruno@clisp.org>

	* config.charset: Add support for Darwin 7.

2004-08-13  Bruno Haible  <bruno@clisp.org>

	* libgnuintl.h.in (__GNU_GETTEXT_SUPPORTED_REVISION): Treat major
	revision 1 like major revision 0. Needed for 2004-01-09 change.

2004-08-08  Bruno Haible  <bruno@clisp.org>

	* relocatable.c (FILE_SYSTEM_PREFIX_LEN): Renamed from
	FILESYSTEM_PREFIX_LEN.
	(compute_curr_prefix): Update.

2004-05-14  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (VASNPRINTF): Correctly handle the case of a precision
	that consists of a '.' followed by an empty digit string.
	Patch by Tor Lillqvist <tml@iki.fi>.

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

	* dcigettext.c (ISSLASH, IS_ABSOLUTE_PATH, IS_PATH_WITH_DIR): Treat
	Cygwin like Windows, since it now accepts Windows pathnames.
	* l10nflist.c (ISSLASH, IS_ABSOLUTE_PATH): Treat Cygwin like Windows,
	since it now accepts Windows pathnames.
	* localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
	accepts Windows pathnames.
	* relocatable.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
	Treat Cygwin like Windows, since it now accepts Windows pathnames.
	(compute_curr_prefix): Likewise.
	Reported by Derek Robert Price <derek@ximbiot.com>.

2004-04-23  Bruno Haible  <bruno@clisp.org>

	* localcharset.c (get_charset_aliases): Allow the CHARSETALIASDIR
	environment variable to override LIBDIR.
	Suggested by Matthias Clasen <mclasen@redhat.com>.

2004-04-20  Jim Meyering  <jim@meyering.net>
            Bruno Haible  <bruno@clisp.org>

	* localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
	memory when realloc fails.

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

	* localename.c (_nl_locale_name): Add info about default territory for
	Basque, Mongolian, Russian, Tamil. Map Norwegian to nb, not no.

2004-02-02  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (install-exec, installdirs, uninstall): Install
	preloaded_libintl.so only on glibc systems, not on OpenBSD.
	Reported by Han Boetes <han@mijncomputer.nl>.

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

	* gettext-0.14.1 released.

2004-01-28  Bruno Haible  <bruno@clisp.org>

	* gettext-0.14 released.

2004-01-21  Bruno Haible  <bruno@clisp.org>

	* config.charset: Add support for MacOS X (Darwin).

2004-01-18  Bruno Haible  <bruno@clisp.org>

	* localename.c (_nl_locale_name): Use two-letter ISO 639 codes for
	Divehi, Fulfulde, Igbo, Kanuri, Venda.

2004-01-17  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 7:0:4.

2003-12-02  Jakub Jelinek  <jakub@redhat.com>

	* locale.alias: Use nb_NO instead of no_NO for bokmål.

2003-11-03  Ulrich Drepper  <drepper@redhat.com>

	* locale.alias: nb_NO is now the correct name, not no_NO.

2004-01-09  Bruno Haible  <bruno@clisp.org>

	* gmo.h (MO_REVISION_NUMBER_WITH_SYSDEP_I): New definition.
	* loadmsgcat.c (get_sysdep_segment_value): Handle "I".
	(_nl_load_domain): Treat major revision 1 like major revision 0.

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

	* loadmsgcat.c (_nl_load_domain): When a string pair uses a system
	dependent segment not known to this version of the library, ignore
	the string pair instead of crashing.

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

	* gettext-0.13.1 released.

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

	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 6:1:4.

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

	* localename.c (_nl_locale_name): Change result for Latin Uzbek locale
	to match the glibc name.

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

	* localename.c (LANG_AMHARIC, LANG_BURMESE, LANG_CAMBODIAN,
	LANG_CHEROKEE, LANG_EDO, LANG_FRISIAN, LANG_FULFULDE, LANG_GUARANI,
	LANG_HAUSA, LANG_HAWAIIAN, LANG_IBIBIO, LANG_IGBO, LANG_INUKTITUT,
	LANG_KANURI, LANG_LAO, LANG_LATIN, LANG_OROMO, LANG_PAPIAMENTU,
	LANG_PASHTO, LANG_SINHALESE, LANG_SOMALI, LANG_TAGALOG, LANG_TAJIK,
	LANG_TAMAZIGHT, LANG_TIBETAN, LANG_TIGRINYA, LANG_TURKMEN, LANG_YI,
	LANG_YIDDISH, LANG_YORUBA): New macros.
	(LANG_GAELIC, LANG_MALTESE, LANG_RHAETO_ROMANCE, LANG_SAAMI, LANG_SUTU,
	LANG_TSONGA, LANG_TSWANA, LANG_VENDA, LANG_WELSH, LANG_XHOSA,
	LANG_ZULU): New macros, consistent with those found in Wine.
	(SUBLANG_BENGALI_INDIA, SUBLANG_BENGALI_BANGLADESH,
	SUBLANG_ENGLISH_INDONESIA, SUBLANG_ENGLISH_HONGKONG,
	SUBLANG_ENGLISH_INDIA, SUBLANG_ENGLISH_MALAYSIA,
	SUBLANG_ENGLISH_SINGAPORE, SUBLANG_FRENCH_WESTINDIES,
	SUBLANG_FRENCH_REUNION, SUBLANG_FRENCH_CONGO, SUBLANG_FRENCH_SENEGAL,
	SUBLANG_FRENCH_CAMEROON, SUBLANG_FRENCH_COTEDIVOIRE,
	SUBLANG_FRENCH_MALI, SUBLANG_FRENCH_MOROCCO, SUBLANG_FRENCH_HAITI,
	SUBLANG_PUNJABI_INDIA, SUBLANG_PUNJABI_PAKISTAN,
	SUBLANG_ROMANIAN_ROMANIA, SUBLANG_ROMANIAN_MOLDOVA,
	SUBLANG_SINDHI_INDIA, SUBLANG_SINDHI_PAKISTAN,
	SUBLANG_TAMAZIGHT_ARABIC, SUBLANG_TAMAZIGHT_LATIN,
	SUBLANG_TIGRINYA_ETHIOPIA, SUBLANG_TIGRINYA_ERITREA): New macros.
	(_nl_locale_name) [WIN32]: Use them. Improve handling of Bengali,
	Serbian, English, French, Punjabi, Romanian, Sindhi, Tamazight,
	Tigrinya.

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

	* config.charset: Treat the new country name CS like the old country
	name YU.

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

	* gettext-0.13 released.

2003-11-23  Paul Eggert  <eggert@twinsun.com>
            Bruno Haible  <bruno@clisp.org>

	* printf-parse.h: Don't include sys/types.h.
	(ARG_NONE): New macro.
	(char_directive): Change type of *arg_index fields to size_t.
	* wprintf-parse.h: Don't include sys/types.h.
	(ARG_NONE): New macro.
	(wchar_t_directive): Change type of *arg_index fields to size_t.
	* printf-parse.c: Don't include sys/types.h.
	(SSIZE_MAX): Remove macro.
	(PRINTF_PARSE): Change the type of the arg_index variables to size_t.
	Remove unnecessary overflow check.
	* vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
	fields.

2003-11-17  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (alloca): Remove fallback definition.
	(freea): Remove definition.
	(VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
	Reported by Paul Eggert.

2003-11-16  Paul Eggert  <eggert@twinsun.com>
            Bruno Haible  <bruno@clisp.org>

	Protect against address arithmetic overflow.
	* printf-args.h: Include stddef.h.
	(arguments): Change type of field 'count' to size_t.
	* printf-args.c (printf_fetchargs): Use size_t instead of
	'unsigned int' where appropriate.
	* printf-parse.h: Include sys/types.h.
	(char_directive): Change type of *arg_index fields to ssize_t.
	(char_directives): Change type of fields 'count', max_*_length to
	size_t.
	* wprintf-parse.h: Include sys/types.h.
	(wchar_t_directive): Change type of *arg_index fields to ssize_t.
	(wchar_t_directives): Change type of fields 'count', max_*_length to
	size_t.
	* printf-parse.c: Include sys/types.h and xsize.h.
	(SSIZE_MAX): Define fallback value.
	(PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
	instead of 'int' where appropriate. Check a_allocated, d_allocated
	against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
	* vasnprintf.c: Include xsize.h.
	(VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
	Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
	overflow. Avoid wraparound when converting a width or precision from
	decimal to binary.
	* xsize.h: New file, from gnulib.
	* Makefile.in (HEADERS): Add xsize.h.
	(printf.$lo): Depend on it.

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

	* libgnuintl.h.in (_INTL_REDIRECT_ASM): Don't define on AIX with gcc 2.
	Reported by Kouichi Hashikawa <z01a7ksy@cs.ecip.tohoku.ac.jp>.

2003-10-19  Bruno Haible  <bruno@clisp.org>

	* hash-string.h (hash_string): Zero-extend each char from the string;
	the old code did a sign-extend on some platforms.

2003-10-19  Jim Meyering  <jim@meyering.net>

	* vasnprintf.c (VASNPRINTF): Work around losing snprintf on HPUX 10.20.

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

	* relocatable.c: Include xalloc.h instead of xmalloc.h.

2003-10-07  Bruno Haible  <bruno@clisp.org>

	Assume ANSI C.
	* libgnuintl.h.in (PARAMS): Remove macro.
	(gettext, dgettext, dcgettext, ngettext, dngettext, dcngettext,
	textdomain, bindtextdomain, bind_textdomain_codeset, fprintf, vfprintf,
	printf, vprintf, sprintf, vsprintf, snprintf, vsnprintf, asprintf,
	vasprintf, fwprintf, vfwprintf, wprintf, vwprintf, swprintf, vswprintf,
	libintl_set_relocation_prefix): Use ANSI C function declarations.
	* gettextP.h (PARAMS): Remove macro.
	(_nl_locale_name, _nl_find_domain, _nl_load_domain, _nl_unload_domain,
	_nl_init_domain_conv, _nl_free_domain_conv, _nl_find_msg, __gettext,
	__dgettext, __dcgettext, __ngettext, __dngettext, __dcngettext,
	__dcigettext, __textdomain, __bindtextdomain,
	__bind_textdomain_codeset, libintl_dcigettext): Use ANSI C function
	declarations.
	* hash-string.h (PARAMS): Remove macro.
	(hash_string): Use ANSI C function declaration.
	* loadinfo.h (PARAMS): Remove macro.
	(_nl_normalize_codeset, _nl_make_l10nflist, _nl_expand_alias,
	_nl_explode_name, _nl_find_language): Use ANSI C function declarations.
	* plural-exp.h (PARAMS): Remove macro.
	(FREE_EXPRESSION, PLURAL_PARSE, GERMANIC_PLURAL,
	EXTRACT_PLURAL_EXPRESSION): Use ANSI C function declarations.
	* bindtextdom.c (set_binding_values, BINDTEXTDOMAIN,
	BIND_TEXTDOMAIN_CODESET): Use ANSI C function declarations.
	* dcgettext.c (DCGETTEXT): Likewise.
	* dcigettext.c (transcmp, DCIGETTEXT, _nl_log_untranslated,
	_nl_find_msg, plural_lookup, category_to_name, guess_category_value,
	stpcpy, mempcpy): Likewise.
	* dcngettext.c (DCNGETTEXT): Likewise.
	* dgettext.c (DGETTEXT): Likewise.
	* dngettext.c (DNGETTEXT): Likewise.
	* eval-plural.h (plural_eval): Likewise.
	* explodename.c (_nl_find_language, _nl_explode_name): Likewise.
	* finddomain.c (_nl_find_domain): Likewise.
	* gettext.c (GETTEXT): Likewise.
	* intl-compat.c (gettext, dgettext, dcgettext, ngettext, dngettext,
	dcngettext, textdomain, bindtextdomain, bind_textdomain_codeset):
	Likewise.
	* l10nflist.c (argz_count__, argz_stringify__, argz_next__, pop,
	_nl_make_l10nflist, _nl_normalize_codeset, stpcpy): Likewise.
	* loadmsgcat.c (get_sysdep_segment_value, _nl_init_domain_conv,
	locale_charset, _nl_free_domain_conv, _nl_load_domain,
	_nl_unload_domain): Likewise.
	* localealias.c (_nl_expand_alias, read_alias_file, alias_compare):
	Likewise.
	* localename.c (_nl_locale_name): Likewise.
	* log.c (print_escaped, _nl_log_untranslated): Likewise.
	* ngettext.c (NGETTEXT): Likewise.
	* plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Likewise.
	* plural.y (new_exp, new_exp_0, new_exp_1, new_exp_2, new_exp_3,
	FREE_EXPRESSION, yylex, yyerror): Likewise.
	* textdomain.c (TEXTDOMAIN): Likewise.

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

	* printf.c: Test HAVE_FWPRINTF, not HAVE_WPRINTF. Needed for
	portability to Cygwin.

2003-09-04  Bruno Haible  <bruno@clisp.org>

	* dgettext.c: Include <locale.h> after gettextP.h, not before. This
	ensures that libintl_dcgettext is correctly declared on Solaris.
	(Needed because Solaris <locale.h> includes libintl.h.)
	* dngettext.c: Likewise, for the libintl_dcngettext declaration.

2003-08-29  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c: Test HAVE_DECL__SNPRINTF instead of HAVE__SNPRINTF.
	Test HAVE_DECL__SNWPRINTF instead of HAVE__SNWPRINTF.
	* printf.c: Likewise.

2003-08-27  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (install-exec): Fix the 2003-04-06 patch.

2003-08-24  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (local_wcslen): Protect against multiple definition.
	(USE_SNPRINTF): Define also if only _snprintf() is available.
	(SNPRINTF): Possibly define as _snprintf or _snwprintf.
	* printf.c (DLL_EXPORTED): New macro.
	Mark all functions as DLL_EXPORTED.
	(system_vsnprintf): New macro.
	(libintl_vsnprintf): Use it.
	(system_vswprintf): New macro.
	(libintl_vswprintf): Use it.

2003-08-24  Bruno Haible  <bruno@clisp.org>

	* libgnuintl.h.in: Use <stdarg.h> when compiling with MSVC, even though
	it doesn't define __STDC__ by default.

2003-08-24  Bruno Haible  <bruno@clisp.org>

	* relocatable.h: Make this file includable in C++ mode: add extern "C".

2003-08-23  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 6:0:4.

2003-08-20  Bruno Haible  <bruno@clisp.org>

	* config.charset (linux-gnulibc1*): Change hr_HR, ro_RO to ISO-8859-2.
	Reported by Alain Guibert <derogaton+bgli@oreka.com>.

2003-08-14  Bruno Haible  <bruno@clisp.org>

	* config.charset: Add support for Linux libc5. Based on data from
	Alain Guibert <derogaton+bgli@oreka.com>.

2003-08-11  Bruno Haible  <bruno@clisp.org>

	* vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
	(VASNPRINTF): Use it instead of wcslen.

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

	* relocatable.c (find_shared_library_fullname): Disable the code on
	Linux/libc5. Reported by Alain Guibert <derogaton+bgli@oreka.com>.

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

	Avoid use of *_unlocked functions on Solaris 2.5.1.
	* localcharset.c: Test HAVE_DECL_GETC_UNLOCKED, not HAVE_GETC_UNLOCKED.
	* localealias.c: Test HAVE_DECL_*_UNLOCKED, not HAVE_*_UNLOCKED.
	Reported by Eric Botcazou <ebotcazou@libertysurf.fr>.

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

	Portability to mingw32.
	* relocatable.c [WIN32]: Include <windows.h>.
	Reported by Jeff Bonggren <jbon@cfl.rr.com>.

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

	* relocatable.c (compute_curr_prefix): Comment out this function in
	the case when it is not used.
	Reported by Pavel Roskin <proski@gnu.org>.

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

	* gettextP.h: Undefine _INTL_REDIRECT_INLINE, _INTL_REDIRECT_MACROS,
	possibly defined in config.h, before setting _INTL_REDIRECT_MACROS.
	Reported by Pavel Roskin <proski@gnu.org>.

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

	* printf-args.h: New file, from ../libasprintf.
	* printf-args.c: New file, from ../libasprintf.
	* printf-parse.h: New file, from ../libasprintf.
	* printf-parse.c: New file, from ../libasprintf.
	* vasnprintf.h: New file, from ../libasprintf.
	* vasnprintf.c: New file, from ../libasprintf.
	* wprintf-parse.h: New file.
	* vasnwprintf.h: New file.
	* printf.c: New file.
	* libgnuintl.h.in (fprintf, vfprintf, printf, vprintf, sprintf,
	vsprintf, snprintf, vsnprintf, asprintf, vasprintf, fwprintf,
	vfwprintf, wprintf, vwprintf, swprintf, vswprintf): New fallback
	macros.
	* Makefile.in (HEADERS): Add printf-args.h, printf-args.c,
	printf-parse.h, wprintf-parse.h, printf-parse.c, vasnprintf.h,
	vasnwprintf.h, vasnprintf.c.
	(SOURCES): Add printf.c.
	(OBJECTS): Add printf.$lo.
	(DISTFILES.gettext): Add libgnuintl.h_vms, libgnuintl.h.msvc-static.
	(printf.lo): New rule.
	(libgnuintl.h): Also perform some AC_SUBST substitutions.
	(printf.$lo): New dependencies.
	* Makefile.msvc (OBJECTS): Add printf.obj.
	(libgnuintl.h): Use libgnuintl.h.msvc-static.
	(printf.obj): New rule.
	* Makefile.vms (libgnuintl.h): Use libgnuintl.h_vms.

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

	* libgnuintl.h (_INTL_REDIRECT_ASM): Don't define when using Mingw.
	Reported by Tor Lillqvist <tml@iki.fi>.

2003-06-08  Bruno Haible  <bruno@clisp.org>

	* dcigettext.c (getcwd) [VMS]: Pass 3 arguments.
	Reported by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.

2003-05-22  Bruno Haible  <bruno@clisp.org>

	* gettext-0.12.1 released.

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

	* Makefile.in (VPATH): Add back this variable, needed outside gettext
	when $builddir != $srcdir.
	Reported by Pavel Roskin <proski@gnu.org>.

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

	* Makefile.msvc (DEBUGFLAGS): New variable.
	(intl.lib): Use it.

2003-05-17  Bruno Haible  <bruno@clisp.org>

	* gettext-0.12 released.

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

	* Makefile.msvc (PICFLAGS, CFLAGS): Move BUILDING_* macros from
	CFLAGS to PICFLAGS.
	Reported by Perry Rapp.

2003-05-07  Bruno Haible  <bruno@clisp.org>

	* Makefile.vms (install): Fix mistake.

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

	* Makefile.in (LIBS): New variable.
	(libintl.la, libgnuintl.la): Use it.
	Reported by Andreas Buening <andreas.buening@nexgo.de>.

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

	* Makefile.vms: New variables ABIFLAGS, DEFS. Avoid rules with no
	lines. Update library creation rule. Don't use the force target.
	Correct wildcard syntax.
	Suggested by Jouk Jansen <joukj@hrem.stm.tudelft.nl>.

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

	* localcharset.c (get_charset_aliases): Add special case for VMS.

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

	* Makefile.in (install-exec): Remove the installed libintl.la if it
	has hardwired pathnames in dependency_libs and the installed package
	shall be relocatable.

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

	* relocatable.c: Rely on DEPENDS_ON_LIBCHARSET, DEPENDS_ON_LIBICONV,
	DEPENDS_ON_LIBINTL, not on NO_LIBRARIES.
	* Makefile.in (DEFS): Define DEPENDS_ON_LIBICONV, for relocatable.c.
	* Makefile.msvc (CFLAGS): Also define DEPENDS_ON_LIBICONV.

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

	* relocatable.c (_GNU_SOURCE): Define, to ensure getline() gets
	declared by <stdio.h>.

2003-04-04  Bruno Haible  <bruno@clisp.org>

	* gettextP.h [!_LIBC]: Remove declarations of exported libintl_*
	functions; include libgnuintl.h instead.
	* intl-compat.c: Remove include of libgnuintl.h.
	(DLL_EXPORTED): New macro.
	(gettext, dgettext, dcgettext, ngettext, dngettext, dcngettext,
	textdomain, bindtextdomain, bind_textdomain_codeset): Use it.

2003-04-04  Bruno Haible  <bruno@clisp.org>

	* libgnuintl.h.in (libintl_set_relocation_prefix): Convert extern
	declaration to K&R syntax.

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

	* Makefile.vms: New file.
	* Makefile.in (DISTFILES.gettext): Add Makefile.vms.

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

	* Makefile.in (INCLUDES): Mention the current directory first.

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

	Native Woe32/MSVC support.
	* libgnuintl.h.in: Renamed from libgnuintl.h.
	* Makefile.msvc: New file.
	* README.woe32: New file.
	* Makefile.in (HEADERS): Remove libgnuintl.h, add libgnuintl.h.in.
	(DISTFILES.gettext): Add libgnuintl.h.msvc-shared, README.woe32,
	Makefile.msvc.
	(DISTFILES.obsolete): Add libgnuintl.h.
	(libgnuintl.h): New rule.
	(libintl.h, $(OBJECTS)): Expect libgnuintl.h in builddir, not in
	srcdir.
	(mostlyclean): Also remove libgnuintl.h.
	* dcigettext.c (alloca): Add support for MSVC.
	* loadmsgcat.c (alloca): Likewise.
	* localealias.c (alloca): Likewise.
	* relocatable.h (RELOCATABLE_DLL_EXPORTED): New macro.

	* Makefile.in (loadmsgcat.$lo): Depend on hash-string.h.

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

	* Makefile.in (localcharset.$lo): Depend on localcharset.h.

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

	Support for relocatable installation.
	* relocatable.h: New file.
	* relocatable.c: New file.
	* libgnuintl.h (libintl_set_relocation_prefix): New declaration.
	* localealias.c: Include relocatable.h.
	(read_alias_file): Relocate LOCALE_ALIAS_PATH element.
	* localcharset.c: Include relocatable.h.
	(get_charset_aliases): Relocate LIBDIR value.
	* Makefile.in (DEFS): Define also ENABLE_RELOCATABLE, IN_LIBRARY,
	INSTALLDIR, NO_XMALLOC, set_relocation_prefix, relocate.
	(HEADERS): Add relocatable.h.
	(SOURCES): Add relocatable.c.
	(OBJECTS): Add relocatable.$lo.
	(relocatable.$lo): New rule.

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

	* Makefile.in (mkinstalldirs): Simplify. Prepending "$(top_builddir)/"
	in the case of a relative $srcdir is now handled in gettext.m4.

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

	* localcharset.h: Change copyright to LGPL. Enclose declaration in
	extern "C", for C++ compilers.
	* localcharset.c: Drop C linkage declaration.

2003-02-18  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 5:0:3.

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

	* config.charset: Add an alias for CP1251 on Solaris.
	Reported by Hidetoshi Tajima <hidetoshi.tajima@sun.com>.

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

	* log.c: New file.
	* dcigettext.c (DCIGETTEXT) [!_LIBC]: Before returning the
	untranslated string, call _nl_log_untranslated.
	* intl-compat.c: Comments.
	* Makefile.in (SOURCES): Add log.c.
	(OBJECTS): Add intl-compat.$lo unconditionally. Add log.$lo.
	(log.lo): New rule.
	(install-exec): Stop using @INTLOBJS@. Install preloadable_libintl.so.
	(installdirs, uninstall): Update accordingly.

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

	* Makefile.in (.sin.sed): Remove rule.
	(ref-add.sed, ref-del.sed): New rules.

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

	Big restructuring.
	* Makefile.in: Make usable with $srcdir != $builddir even when not
	using GNU make.
	(VPATH): Remove variable.
	(.c.lo): Remove rule. Use a separate rule for every object file.
	(libintl.h, charset.alias, $(OBJECTS)): Refer to $srcdir where
	appropriate.
	(INCLUDES): Simplify.
	(install-exec): Special case packages 'gettext-runtime' and
	'gettext-tools'.
	(install-data): Special case package 'gettext-tools'.
	(installdirs, uninstall): Special case packages 'gettext-runtime' and
	'gettext-tools'.
	(distclean, dist): Likewise.
	(Makefile): Work around autoconf error message.

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

	* localcharset.h: New file.
	* localcharset.c: Include it.
	* Makefile.in (HEADERS): Add localcharset.h.
	(COMHDRS): Remove variable, fold into HEADERS.
	(COMSRCS): Remove variable, fold into SOURCES.

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

	* dcigettext.c (INTVARDEF): Correct fallback definition.

2002-11-19  Ulrich Drepper  <drepper@redhat.com>

	* localealias.c (read_alias_file): Use only about 400 bytes of stack
	space instead of 16k.

2002-10-30  Jakub Jelinek  <jakub@redhat.com>

	* finddomain.c (free_mem): Use libc_freeres_fn macro, remove
	text_set_element.
	* dcigettext.c (free_mem): Likewise.

2002-10-25  Jakub Jelinek  <jakub@redhat.com>

	* localealias.c (libc_freeres_ptr): Define if !_LIBC.
	(string_space, map): Add libc_freeres_ptr.
	(free_mem): Remove.

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

	* dcigettext.c (DCIGETTEXT): Restore errno only right before
	returning.

2002-09-01  Roland McGrath  <roland@redhat.com>

	* localealias.c [__GNUC__]: #undef alloca before #define.

2002-08-30  Roland McGrath  <roland@redhat.com>

	* dcigettext.c (DCIGETTEXT) [_LIBC]: Check for bogus CATEGORY.
	[_LIBC] (category_to_name): Don't define the function.  Instead define
	a macro using _nl_category_names.

2002-08-04  Ulrich Drepper  <drepper@redhat.com>

	* dcigettext.c: Define _nl_default_dirname_internal as hidden alias
	and use it.
	* bindtextdom.c: Use _nl_default_dirname_internal.

2002-08-03  Roland McGrath  <roland@redhat.com>

	* dcigettext.c (guess_category_value): Use __current_locale_name
	instead of calling setlocale.

2002-08-02  Roland McGrath  <roland@redhat.com>

	* loadmsgcat.c (_nl_init_domain_conv): Use _NL_CURRENT.

2002-07-30  Roland McGrath  <roland@redhat.com>

	* loadmsgcat.c [__GNUC__]: #undef alloca before defining it.

2002-05-01  Ulrich Drepper  <drepper@redhat.com>

	Revert 2002-04-09 change.
	* dcngettext.c (__dcngettext_internal): Remove alias.
	* dngettext.c: Use __dcngettext instead of __dcngettext_internal.
	* ngettext.c: Likewise.

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

	* Makefile.in (mostlyclean): Remove object files on OS/2 as well.
	Reported by Andreas Buening <andreas.buening@nexgo.de>.

2002-10-16  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (ps, pdf, html, ctags): New targets, for automake-1.7
	compatibility.
	(CTAGS): New rule.

2002-09-18  Bruno Haible  <bruno@clisp.org>

	* libgnuintl.h (_INTL_REDIRECT_ASM): Don't define when using Apple cc.
	Reported by Julien Chiron <julien.chiron@univ.u-3mrs.fr>.

2002-08-06  Bruno Haible  <bruno@clisp.org>

	* gettext-0.11.5 released.

2002-07-25  Bruno Haible  <bruno@clisp.org>

	* gettext-0.11.4 released.

2002-07-25  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 4:0:2.

2002-07-23  Bruno Haible  <bruno@clisp.org>

	* loadmsgcat.c (PRI*): Redefine the macros if PRI_MACROS_BROKEN is set.

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

	* libgnuintl.h (__GNU_GETTEXT_SUPPORTED_REVISION): New macro.
	* gmo.h (struct mo_file_header): New fields n_sysdep_segments,
	sysdep_segments_offset, n_sysdep_strings, orig_sysdep_tab_offset,
	trans_sysdep_tab_offset.
	(struct sysdep_segment): New type.
	(struct sysdep_string): New type.
	(SEGMENTS_END): New macro.
	* gettextP.h (struct sysdep_string_desc): New type.
	(struct loaded_domain): New fields malloced, n_sysdep_strings,
	orig_sysdep_tab, trans_sysdep_tab, must_swap_hash_tab. Make fields
	orig_tab, trans_tab, hash_tab to const pointers because they point
	into read-only memory.
	* loadmsgcat.c: Include stdint.h, inttypes.h, hash-string.h.
	(PRI*): Define fallback values.
	(get_sysdep_segment_value): New function.
	(_nl_load_domain): Distinguish major and minor revision parts. Add
	support for minor revision 1 with system dependent strings.
	(_nl_unload_domain): Also free the 'malloced' field.
	* dcigettext.c (_nl_find_msg): Remove test for domain->hash_size, now
	done in loadmsgcat.c. Add support for system dependent strings.

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

	* gettext-0.11.3 released.

2002-07-16  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 3:0:1.

2002-07-13  Bruno Haible  <bruno@clisp.org>

	* dcigettext.c (freea): New macro.
	(FREE_BLOCKS): Free also the registered blocks.
	(DCIGETTEXT): Free the 'search' variable.
	Reported by Andreas Fischer <a.fischer@asentics.de>.

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

	Make absolute pathnames inside $LANGUAGE work.
	* l10nflist.c (_nl_make_l10nflist): Ignore dirlist if language is an
	absolute path. Fix sizes passed to malloc. Simplify linked list
	handling.

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

	* localename.c [WIN32] (LANG_DIVEHI, LANG_GALICIAN, LANG_KYRGYZ,
	LANG_MONGOLIAN, LANG_SYRIAC): Provide fallback definitions.
	(_nl_locale_name): Add Amharic, Burmese, Cambodian, Cherokee, Divehi,
	Edo, Frisian, Fulfulde, Gaelic, Guarani, Hausa, Hawaiian, Ibibio,
	Igbo, Inuktitut, Kanuri, Kyrgyz, Lao, Latin, Maltese, Mongolian,
	Oromo, Papiamentu, Pashto, Rhaeto-Romance, Sami, Sinhalese, Somali,
	Syriac, Tagalog, Tajik, Tomazight, Tibetan, Tigrinya, Tsonga, Turkmen,
	Venda, Welsh, Xhosa, Yi, Yiddish, Yoruba, Zulu. Fix Swahili, Tatar.

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

	* dcigettext.c (INTDIV0_RAISES_SIGFPE): Define a fallback.
	Include <signal.h>.
	* eval-plural.h (plural_eval): Let division by zero cause SIGFPE on
	all platforms.

2002-05-30  Bruno Haible  <bruno@clisp.org>

	* libgnuintl.h (_INTL_REDIRECT_ASM, _INTL_REDIRECT_INLINE,
	_INTL_REDIRECT_MACROS, _INTL_ASM, _INTL_ASMNAME, _INTL_STRINGIFY):
	New macros. Use them instead of plain preprocessor level indirection
	when appropriate.
	* intl-compat.c: Define _INTL_REDIRECT_MACROS.

2002-05-28  Bruno Haible  <bruno@clisp.org>

	* localename.c (LANG_SORBIAN): Provide a default value, for mingw32.
	Reported by Michael Opdenacker <m-opdenacker@ti.com>
	and Rob Leslie <rob@mars.org>.

2002-05-09  Bruno Haible  <bruno@clisp.org>

	* config.charset: Update for newest glibc. Add canonical names
	ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.

2002-05-09  Bruno Haible  <bruno@clisp.org>

	* localcharset.c (get_charset_aliases): Add more Windows specific
	aliases.

2002-05-08  Owen Taylor  <otaylor@redhat.com>

	* config.charset: A few additions for Solaris.

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

	* localcharset.c (locale_charset): Don't return an empty string.

2001-10-23  Bruno Haible  <haible@clisp.cons.org>

	* config.charset: msdos in uk_UA uses CP1125.

2001-08-05  Bruno Haible  <haible@clisp.cons.org>

	Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
	* localcharset.c (locale_charset): Declare as extern "C".
	(get_charset_aliases): Cast malloc and realloc results to 'char *'.

2002-04-30  Bruno Haible  <bruno@clisp.org>

	* loadmsgcat.c (_nl_init_domain_conv): Don't append //TRANSLIT to
	the encoding if it already has slashes.
	Reported by Perry Rapp <prapp@erols.com>.

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

	* libgnuintl.h: Redirect every function to the one prefixed with
	"libintl_". Remove __OPTIMIZED variants.
	* gettextP.h: Use prefix "libintl_" instead of suffix "__".
	* dcigettext.c: Likewise.
	* dcgettext.c: Likewise.
	* dgettext.c: Likewise.
	* gettext.c: Likewise.
	* dcngettext.c: Likewise.
	* dngettext.c: Likewise.
	* ngettext.c: Likewise.
	* textdomain.c: Likewise.
	* bindtextdom.c: Likewise.
	* plural-exp.h: Likewise.
	* os2compat.c: Likewise.
	* intl-compat.c: Likewise.

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

	* gettext-0.11.2 released.

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

	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 2:1:0.

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

	* gettextP.h (attribute_hidden): Define as empty macro if not
	already defined.

2002-04-09  Ulrich Drepper  <drepper@redhat.com>

	* dcngettext.c [_LIBC]: Use INTUSE for __dcngettext.
	* dngettext.c [_LIBC] (DCNGETTEXT): Use INTUSE.
	* ngettext.c: Likewise.
	* l10nflist.c [_LIBC]: Use INTUSE for __argz_count and
	__argz_stringify.

2002-04-08  Ulrich Drepper  <drepper@redhat.com>

	* dcgettext.c (__dcgettext): Use INTDEF to define alias.
	* dgettext.c: Call __dcgettext_internal instead of __dcgettext.
	* gettext.c: Likewise.

2002-03-12  Ulrich Drepper  <drepper@redhat.com>

	* plural-exp.h (attribute_hidden): Define as empty macro if not
	already defined.
	(GERMANIC_PLURAL): Declare as hidden.
	* dcigettext.c (_nl_default_default_domain): Define as hidden.
	(_nl_current_default_domain): Likewise
	(_nl_state_lock): Likewise.
	* textdomain.c (_nl_default_default_domain): Declare as hidden.
	(_nl_current_default_domain): Likewise
	(_nl_state_lock): Likewise.
	* bindtextdom.c (_nl_state_lock): Likewise.

2002-03-15  Andrew Zabolotny  <zap@cobra.ru>

	* os2compat.h: Use prefix _nlos2 instead of _os2, to avoid any
	possible name clashes.
	* os2compat.c: Likewise.

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

	* libgnuintl.h (LC_MESSAGES): Don't define on Solaris 2.5, to avoid
	a warning.
	Reported by Stephen Gildea <gildea@stop.mail-abuse.org>.

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

	* gettext-0.11.1 released.

2002-02-15  Bruno Haible  <bruno@clisp.org>

	* config.charset [msdosdjgpp]: For Russian, use CP866.

2002-02-14  Andrew Zabolotny  <zap@cobra.ru>

	* os2compat.c (_nl_default_dirname__): Renamed from
	_nl_default_dirname.

2002-02-10  Bruno Haible  <bruno@clisp.org>

	* localename.c: Change copyright notice from GPL to LGPL.
	* eval-plural.h: Likewise.

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

	* config.charset: Add support for NetBSD.

2002-01-31  Bruno Haible  <bruno@clisp.org>

	* gettext-0.11 released.

2002-01-31  Bruno Haible  <bruno@clisp.org>

	* eval-plural.h: Renamed from plural-eval.c.
	* dcigettext.c: Include eval-plural.h instead of plural-eval.c.
	* Makefile.in (COMHDRS): Remove plural-eval.c, add eval-plural.h.
	(DISTFILES.obsolete): Add plural-eval.c.

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

	* Makefile.in (libintl.la): Use @LTLIBICONV@ instead of @LIBICONV@.

2002-01-10  Andrew Zabolotny  <zap@cobra.ru>
	    Bruno Haible  <bruno@clisp.org>

	* dcigettext.c (_nl_default_dirname): On OS/2, declare, not define.
	* localcharset.c: Rework OS/2 support.
	* config.charset: Add OS/2 support.
	* os2compat.c: Renamed from os2.c.
	(_nl_default_dirname): Define here.
	* os2compat.h: Moved here from ../os2/.
	* osdep.c: Update.
	* Makefile.in (COMHDRS): Add os2compat.h.
	(COMSRCS): Add os2compat.c, remove os2.c.

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

	* Makefile.in (libintl.la): Add -lc. Needed on AIX.

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

	* loadmsgcat.c (_nl_init_domain_conv): Convert extern declaration to
	K&R syntax.

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

	* plural.y: Fix %expect count.

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

	* os2.c (os2_initialize): Use LOCALEDIR_MAX macro.

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

	* localcharset.c (ISSLASH): Provide definition for DOS-like systems.

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

	* libgettext.h: Moved to ../lib/gettext.h.
	* Makefile.in (HEADERS): Remove libgettext.h.
	(DISTFILES.obsolete): Add libgettext.h.

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

	* gmo.h: Renamed from gettext.h.
	* gettext.h: Remove file.
	* gettextP.h: Update accordingly.
	* loadmsgcat.c: Likewise.
	* Makefile.in (COMHDRS): Add gmo.h, remove gettext.h.
	(DISTFILES.obsolete): Add gettext.h.
	Update dependencies.

2001-12-18  Bruno Haible  <bruno@clisp.org>

	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 2:0:0.
	Used to force an soname of at least libintl.so.2 on Solaris, which
	already has a different libintl.so.1 in /usr/lib.

2001-12-15  Andrew Zabolotny  <zap@cobra.ru>
	    Bruno Haible  <bruno@clisp.org>

	* osdep.c: New file.
	* os2.c: New file.
	* dcigettext.c (DCIGETTEXT): Add backward compatibility support for
	OS/2.
	* localcharset.c: Add OS/2 support.
	* localealias.c (_nl_expand_alias): Initialize locale_alias_path once,
	but not statically.
	* Makefile.in (COMSRCS): Add osdep.c, os2.c.
	(OBJECTS): Add osdep.$lo.

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

	* libgettext.h [!ENABLE_NLS]: Cast all function results to
	'const char *'.
	Reported by Alexandre Duret-Lutz <duret_g@lrde.epita.fr>.

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

	* Makefile.in (install-exec): Don't create an empty libdir.
	(installdirs): Update accordingly.

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

	* plural-exp.h (plural_eval): Add back declaration.
	* Makefile.in (OBJECTS): Remove plural-eval.$lo.
	(COMSRCS): Remove plural-eval.c.
	(COMHDRS): Add plural-eval.c.
	(plural-eval.$lo): Remove dependency.
	(dcigettext.$lo): Depend on plural-eval.c.

2001-11-29  Bruno Haible  <bruno@clisp.org>

	* gettextP.h (_nl_locale_name): Don't declare inside glibc.
	* localename.c (_nl_locale_name): Remove _LIBC conditional.

2001-11-27  Ulrich Drepper  <drepper@redhat.com>

	* dcigettext.c (guess_category_value): Inside glibc, use setlocale
	directly, not _nl_locale_name.

2001-11-27  Ulrich Drepper  <drepper@redhat.com>

	* loadmsgcat.c (_nl_init_domain_conv): Modify #if expression.

2001-11-27  Ulrich Drepper  <drepper@redhat.com>

	* plural-eval.c (plural_eval): Rename back from PLURAL_EVAL.
	* plural-exp.h (PLURAL_EVAL): Remove declaration.
	* dcigettext.c Include plural-eval.c.
	(plural_lookup): Call plural_eval instead of PLURAL_EVAL.

2001-11-22  Bruno Haible  <bruno@clisp.org>

	* plural-exp.h (GERMANIC_PLURAL): New declaration.
	* plural-exp.c (GERMANIC_PLURAL): Renamed from germanic_plural.
	* loadmsgcat.c (_nl_unload_domain): Update.

2001-07-17  Ulrich Drepper  <drepper@redhat.com>

	* localealias.c (read_alias_file): Disable implicit locking
	for the stream.  Use _unlocked functions for glibc.

2001-11-11  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (dist): Avoid using hard links, because the automake-1.5
	generated toplevel 'distdir' target chmods all the distributed files.

2001-11-10  Bruno Haible  <haible@clisp.cons.org>

	* libgnuintl.h (_INTL_PARAMS): Renamed from PARAMS, to avoid polluting
	the user's namespace.
	Also test for __GNUC__, __SUNPRO_C and __PROTOTYPES because on
	64-bit Solaris, we need prototypes although __STDC__ is often defined
	to 0. __GNUC__ covers GCC, __SUNPRO_C covers Sun cc, regardless of
	compilation flags. __PROTOTYPES covers other compilers when compiling
	programs using autoconf's AC_C_PROTOTYPES.
	* gettextP.h (PARAMS): Also test for __SUNPRO_C, because 64-bit Solaris
	cc needs prototypes although it defines __STDC__ to 0 by default.
	Also test for __cplusplus and __PROTOTYPES, just for consistency with
	libgnuintl.h.
	* hash-string.h (PARAMS): Likewise.
	* loadinfo.h (PARAMS): Likewise.
	* plural-exp.h (PARAMS): Likewise.

2001-10-31  Bruno Haible  <haible@clisp.cons.org>

	* plural.y: Include <stddef.h>, needed for NULL with SunOS 4 cc.

2001-10-31  Bruno Haible  <haible@clisp.cons.org>

	* COPYING.LIB-2.0: Renamed from COPYING.LIB-2.
	* Makefile.in (DISTFILES.gettext, install-data, uninstall): Update.
	(DISTFILES.obsolete): Add COPYING.LIB-2.

2001-10-09  Bruno Haible  <haible@clisp.cons.org>

	* localcharset.c (getc): Define as getc_unlocked if available.

2001-09-27  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (install-strip, installdirs): New rules.

2001-09-24  Bruno Haible  <haible@clisp.cons.org>

	* localename.c: New file, integrating a function from
	Tor Lillqvist <tml@iki.fi>.
	* gettextP.h: New declaration.
	* dcigettext.c (guess_category_value): Call _nl_locale_name.
	* Makefile.in (COMSRCS): Add localename.c.
	(OBJECTS): Add localename.$lo.

2001-09-22  Bruno Haible  <haible@clisp.cons.org>

	* plural-eval.c: New file, extracted from dcigettext.c.
	* plural-exp.h (PLURAL_EVAL): New declaration.
	* dcigettext.c (plural_eval): Remove function, moved to plural-eval.c.
	(plural_lookup): Call PLURAL_EVAL instead of plural_eval.
	* Makefile.in (COMSRCS): Add plural-eval.c.
	(OBJECTS): Add plural-eval.$lo.

2001-09-22  Bruno Haible  <haible@clisp.cons.org>

	* plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Reject numbers that don't
	start with a digit; nplurals must be positive.

2001-10-20  Bruno Haible  <haible@clisp.cons.org>

	Assume strchr() exists. (Without it, explodename.c wouldn't link
	anyway.)
	* dcigettext.c (strchr): Remove fallback definition; it conflicts with
	the variable 'index' in plural_lookup.
	* l10nflist.c (strchr): Likewise.
	* localealias.c (strchr): Likewise.

2001-09-24  Bruno Haible  <haible@clisp.cons.org>

	* loadmsgcat.c (_nl_init_domain_conv): Also enable transliteration
	when building on a glibc system but outside glibc.

2001-09-02  Bruno Haible  <haible@clisp.cons.org>

	* plural-exp.h: New file, extracted from gettextP.h.
	* plural-exp.c: New file, extracted from loadmsgcat.c.
	* gettextP.h (struct expression, struct parse_args,
	__gettext_free_exp, __gettextparse): Move to plural-exp.h.
	* loadmsgcat.c: Include plural-exp.h.
	(PLURAL_PARSE): Move macro to plural-exp.h.
	(plvar, plone, germanic_plural, INIT_GERMANIC_PLURAL): Move to
	plural-exp.c.
	(_nl_load_domain): Move plural handling code to plural-exp.c. Call
	EXTRACT_PLURAL_EXPRESSION.
	* dcigettext.c: Include plural-exp.h.
	* plural.y: Include plural-exp.h, not gettextP.h.
	(FREE_EXPRESSION): Move macro to plural-exp.h.
	* Makefile.in (DEFS): Define IN_LIBINTL.
	(COMHDRS): Add plural-exp.h.
	(COMSRCS): Add plural-exp.c.
	(OBJECTS): Add plural-exp.$lo.
	Update dependencies.

2001-07-28  Bruno Haible  <haible@clisp.cons.org>

	* l10nflist.c (_nl_normalize_codeset): Cast isalnum, isalpha, isdigit,
	tolower argument to 'unsigned char'.
	* loadmsgcat.c (_nl_load_domain): Cast isspace argument to
	'unsigned char'.
	* localealias.c (read_alias_file): Cast isspace argument to
	'unsigned char'.

2001-07-23  Bruno Haible  <haible@clisp.cons.org>

	* gettext.h: Assume <limits.h> exists.

2001-09-13  Bruno Haible  <haible@clisp.cons.org>

	* gettext-0.10.40 released.

2001-07-11  Ulrich Drepper  <drepper@redhat.com>

	* locale.alias: Use he language code for hebrew, not iw.

2001-09-13  Bruno Haible  <haible@clisp.cons.org>

	* *.h, *.c, *.y, Makefile.in: Change copyright notice from GPL to LGPL.
	This is a reaction to a blackmail from the GNOME project which
	threatened to distribute an LGPLed clone of libintl.
	* COPYING.LIB-2, COPYING.LIB-2.1: New files.
	* Makefile.in (DISTFILES.gettext): Add them.
	(install-data): Install them.
	(uninstall): Uninstall them.

2001-07-24  Bruno Haible  <haible@clisp.cons.org>

	* gettext-0.10.39 released.

2001-06-24  Bruno Haible  <haible@clisp.cons.org>

	* config.charset: Change canonical name of BIG5HKSCS to BIG5-HKSCS.
	Change canonical name of SJIS to SHIFT_JIS.

2001-06-12  Bruno Haible  <haible@clisp.cons.org>

	* dcigettext.c (DCIGETTEXT): Release the lock before returning.

2001-04-30  Bruno Haible  <haible@clisp.cons.org>

	Silence "gcc -Wall -Wwrite-strings" warnings.
	* localcharset.c (charset_aliases): Change type to 'const char *'.
	(get_charset_aliases): Change type of 'cp' to 'const char *'.

2001-05-23  Bruno Haible  <haible@clisp.cons.org>

	* gettext-0.10.38 released.

2001-05-22  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (install-data): Install plural.c as well.
	(uninstall): Uninstall plural.c as well.

2001-05-18  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (dist): Don't assume $(srcdir) = ".". Distribute
	file in either current directory or $(srcdir), whichever exists.

2001-05-11  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (install-exec): Don't install charset.alias on glibc 2.1
	systems.

2001-04-30  Bruno Haible  <haible@clisp.cons.org>

	* dcigettext.c (getuid, getgid, geteuid, getegid): Provide default
	definitions. Needed for mingw32.

2001-04-19  Bruno Haible  <haible@clisp.cons.org>

	* gettext-0.10.37 released.

2001-04-19  Bruno Haible <haible@clisp.cons.org>

	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 1:1:0.

2001-04-19  Bruno Haible <haible@clisp.cons.org>

	* loadmsgcat.c (_nl_init_domain_conv): Don't append //TRANSLIT when
	the libiconv version is smaller than 1.5.

2001-04-09  Bruno Haible <haible@clisp.cons.org>

	* loadmsgcat.c: Don't use GNU C extensions if __APPLE_CC__ is defined.
	Apple's MacOS X compiler has not all the features that the regular
	GCC with the same version number has.

2001-04-07  Bruno Haible <haible@clisp.cons.org>

	* gettextP.h (struct loaded_domain): Add codeset_cntr field.
	(struct binding): Add codeset_cntr field.
	(_nl_load_domain): Add domainbinding argument.
	(_nl_init_domain_conv, _nl_free_domain_conv): New declarations.
	(_nl_find_msg): New declaration, moved here from loadinfo.h.
	* loadinfo.h (struct loaded_l10nfile): Remove domainbinding field.
	(_nl_make_l10nflist): Remove domainbinding argument.
	(_nl_find_msg): Move declaration to gettextP.h.
	* bindtextdom.c (set_binding_values): Initialize ->codeset_cntr to 0.
	Increment it when ->codeset is changed.
	* dcigettext.c (DCIGETTEXT): Pass binding to _nl_find_msg.
	(_nl_find_msg): Add domainbinding argument. Reinitialize the converter
	if domainbinding->codeset_cntr has been incremented.
	* finddomain.c (_nl_find_domain): Don't pass domainbinding to
	_nl_make_l10nflist(). Pass it to _nl_load_domain() instead.
	* l10nflist.c (_nl_make_l10nflist): Remove domainbinding argument.
	* loadmsgcat.c (_nl_init_domain_conv): New function, extracted from
	_nl_load_domain. Append //TRANSLIT also when using libiconv.
	(_nl_free_domain_conv): New function, extracted from _nl_unload_domain.
	(_nl_load_domain): Add domainbinding argument. Call
	_nl_init_domain_conv.
	(_nl_unload_domain): Call _nl_free_domain_conv.

2001-04-09  Bruno Haible  <haible@clisp.cons.org>

	* dcigettext.c (HAVE_LOCALE_NULL): Don't define if __GNU_LIBRARY__ < 2
	(Linux libc5).

2001-04-04  Bruno Haible  <haible@clisp.cons.org>

	* dcigettext.c (HAVE_LOCALE_NULL): Define also if __GNU_LIBRARY__.

2001-04-04  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (libdir, includedir, datadir): Use the autoconf
	determined value, in order to respect the configure arguments.
	(gettextsrcdir): Use $(datadir), not @datadir@.

2001-03-29  Bruno Haible  <haible@clisp.cons.org>

	* gettext-0.10.36 released.

2001-03-25  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (install-data): Set execution bits on installed
	config.charset.

2001-03-23  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (YACC): Use @INTLBISON@ instead of bison.

2001-03-21  Bruno Haible  <haible@clisp.cons.org>

	* dcigettext.c (_nl_state_lock): Mark as #ifdef _LIBC. AIX 3 xlc
	chokes on empty macro arguments.
	* plural.y: Add #pragma for alloca on AIX 3.

2001-03-20  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (DISTFILES.generated): New variable.
	(DISTFILES.gettext): Remove plural.c.
	(dist): Use DISTFILES.generated.
	(YACC): Use "bison -y" instead of @YACC@.
	Needed for "make dist" to work in normal packages.

2001-03-20  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (dist): Don't depend on $(DISTFILES). Instead, generate
	the files to be distributed through a recursive 'make' call.

2001-03-17  Bruno Haible  <haible@clisp.cons.org>

	* gettextP.h (struct expression): Add operators lnot, less_than,
	greater_than, less_or_equal, greater_or_equal. Replace args2/args3
	union by a 'nargs' counter and an 'args[]' array.
	* plural.y: Don't include stdarg.h.
	(new_exp): New function.
	(new_exp_0, new_exp_2, new_exp_3): Rewritten to call new_exp.
	(new_exp_1): New function.
	('?' ':'): Make right-associative.
	(EQUOP2): New token, replaces '=' and '!'.
	(CMPOP2): New token.
	(ADDOP2): New token, replaces '+' and '-'.
	(MULOP2): New token, replaces '*', '/' and '%'.
	('!'): New token.
	(exp): Add rules for CMPOP2 and '!'. Don't call YYABORT.
	(start): Call YYABORT here.
	(FREE_EXPRESSION): Update.
	(yylex): Don't skip "\\n". Recognize comparison and '!' operators.
	Update for new token symbols.
	* loadmsgcat.c (plvar, plone, germanic_plural, init_germanic_plural):
	Update.
	* dcigettext.c (_nl_find_msg): Optimize for space.
	(plural_eval): Recognize comparison and '!' operators. Optimize for
	space.

	* dcigettext.c (transcmp): New declaration.

2001-03-10  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (libintl.la): Pass -liconv and flag -no-undefined.
	Needed on platforms like BeOS.

	* Makefile.in (all-no-yes): Depend on libgnuintl.$la, not libintl.$la.
	(libgnuintl.a, libgnuintl.la): New targets. Needed for linking
	../tests/tstgettext on systems which have gettext() in libintl.so.

	* localcharset.c (locale_charset): Allow wildcard syntax. Resolve
	alias also if codeset is empty.
	* config.charset (BeOS): Use wildcard syntax.

	* loadmsgcat.c (_nl_load_domain): locale_charset() doesn't return NULL
	any more.

2001-03-09  Bruno Haible  <haible@clisp.cons.org>

	* config.charset: Update from libiconv-1.6.
	* localcharset.c: Likewise.

2001-02-25  Ulrich Drepper  <drepper@redhat.com>

	* locale.alias: Don't use nb_NO but define aliases for it.

2001-01-26  Ulrich Drepper  <drepper@redhat.com>

	* loadmsgcat.c: Include <locale.h> for _LIBC.

2001-03-09  Bruno Haible  <haible@clisp.cons.org>

	* dcigettext.c (transmem_block_t): Change to unsigned char, to avoid
	compiler warning.
	(_nl_find_msg): Add casts to avoid compiler warnings.

2001-03-09  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (DISTFILES.common): Remove ChangeLog.
	(DISTFILES.obsolete): New variable.
	(install-data): Install ChangeLog.inst as ChangeLog. Remove the files
	listed in DISTFILES.obsolete.
	(uninstall): Simplify.
	(distclean): Remove ChangeLog.inst.
	(dist): Mention ChangeLog explicitly.

2001-03-04  Bruno Haible  <haible@clisp.cons.org>
 
	* dcigettext.c (ISSLASH, HAS_DEVICE, IS_ABSOLUTE_PATH,
	IS_PATH_WITH_DIR): New macros.
	(DCIGETTEXT): Use IS_ABSOLUTE_PATH and IS_PATH_WITH_DIR. Increment
	path_max proportionally.
	* loadinfo.h (PATH_SEPARATOR): New macro.
	* l10nflist.c (_nl_make_l10nflist): Use PATH_SEPARATOR instead of ':'.
	* localealias.c (_nl_expand_alias): Likewise.
	* libgnuintl.h (gettext) [DJGPP]: Define as a macro as well.

2001-03-06  Bruno Haible  <haible@clisp.cons.org>

	* libgnuintl.h (LC_MESSAGES): Don't define on Solaris.

2001-02-24  Bruno Haible  <haible@clisp.cons.org>

	* dcigettext.c: Update comment about HAVE_LOCALE_NULL.

2001-02-05  Bruno Haible  <haible@clisp.cons.org>

	* libgnuintl.h (LC_MESSAGES): Provide a default value.

2001-01-30  Bruno Haible  <haible@clisp.cons.org>

	* config.charset: Update for FreeBSD 4.2.

2001-01-21  Bruno Haible  <haible@clisp.cons.org>

	Use libtool.
	* Makefile.in (l): Use INTL_LIBTOOL_SUFFIX_PREFIX instead of l.
	(all-no): When USE_INCLUDED_LIBINTL is 'no' but BUILD_INCLUDED_LIBINTL
	is 'yes', still build libintl.$la because the testsuite needs it.
	(libintl.la): Add $(CPPFLAGS) $(CFLAGS) $(XCFLAGS). Linking via $(CC)
	must use all $(CFLAGS).
	(install-exec): Use libtool to install libintl.$la.
	(uninstall): Use libtool to uninstall libintl.$la.
	(mostlyclean): Remove *.la and the .libs subdir.
	* intl-compat.c: Reorder. Add comment.

2001-01-20  Bruno Haible  <haible@clisp.cons.org>

	* loadmsgcat.c (O_BINARY): Define on platforms that don't have it.
	(_nl_load_domain): Open the catalog file in binary mode.

2001-01-24  Bruno Haible  <haible@clisp.cons.org>

	* gettextP.h (SWAP): Remove declaration, to work around a compilation
	failure on alphaev5-cray-unicosmk2.0.5.X.

2001-01-15  Bruno Haible  <haible@clisp.cons.org>

	* dcigettext.c (_nl_find_msg): Cast the second iconv() arg, to avoid
	a warning.

2001-01-07  Bruno Haible  <haible@clisp.cons.org>

	* gettextP.h (__gettextdebug): Remove declaration.
	(gettext_free_exp__, gettextparse__): New non-libc declarations.
	* plural.y [!_LIBC]: Define gettextparse__, gettext_free_exp__, not
	__gettextparse, __gettext_free_exp.
	* loadmsgcat.c [!_LIBC]: Use gettextparse__, not __gettextparse.

2001-01-07  Bruno Haible  <haible@clisp.cons.org>

	* libgnuintl.h: Renamed from intlh.inst.in.
	Remove comment about __builtin_constant_p.
	(gettext): Use NULL.
	* libgettext.h: Completely rewritten. Now a conditional wrapper around
	<libintl.h>. Keep the handling of ENABLE_NLS and gettext_noop, remove
	everything else.
	* gettextP.h: Include gettext.h, for nls_uint32.
	(gettext__, dgettext__, dcgettext__, textdomain__, bindtextdomain__,
	bind_textdomain_codeset__): New declarations, from old libgettext.h.
	* gettext.h: Don't include <stdio.h>.
	* Makefile.in (HEADERS): Add libgnuintl.h.
	(DISTFILES.gettext): Remove intlh.inst.in.
	(all-yes): Depend on libintl.h instead of intlh.inst.
	(libintl.h): New target. Create as a copy of libgnuintl.h.
	(intlh.inst): Remove target.
	(install-exec): Update.
	($(OBJECTS): Depend on libgnuintl.h, not libgettext.h.
	(mostlyclean): Remove libintl.h instead of intlh.inst.
	(dist-libc): Remove target.
	* bindtextdom.c: Include libgnuintl.h instead of libgettext.h. Don't
	include gettext.h.
	* dcgettext.c: Likewise.
	* dcigettext.c: Likewise.
	* dcngettext.c: Likewise.
	* dngettext.c: Likewise.
	* finddomain.c: Likewise.
	* ngettext.c: Likewise.
	* textdomain.c: Likewise.
	* dgettext.c: Include libgnuintl.h instead of libgettext.h. Include
	gettextP.h.
	* gettext.c: Likewise.
	* intl-compat.c: Likewise.
	* localealias.c: Don't include gettext.h.
	* plural.y: Likewise.

2001-01-07  Bruno Haible  <haible@clisp.cons.org>

	Assume <stddef.h>, <stdlib.h>, <string.h>, <locale.h> exist.
	* intlh.inst.in: Likewise.
	* libgettext.h: Likewise.
	* gettextP.h: Likewise.
	* bindtextdom.c: Likewise.
	* dcigettext.c: Likewise.
	* dgettext.c: Likewise.
	* dngettext.c: Likewise.
	* explodename.c: Likewise.
	* finddomain.c: Likewise.
	* gettext.c: Likewise.
	* l10nflist.c: Likewise.
	* loadmsgcat.c: Likewise.
	* localealias.c: Likewise.
	* ngettext.c: Likewise.
	* textdomain.c: Likewise.

2001-01-06  Bruno Haible  <haible@clisp.cons.org>

	Remove catgets fallback code.
	- It does not handle message clash prevention through domains and
	  dgettext().
	- It does not handle message catalog inheritance and the LANGUAGE
	  environment variable.
	- It does not handle locale aliases.
	- It does not handle automatic charset conversion.
	- It does not handle plural form handling and ngettext().
	- It uses a slow string to integer conversion.
	- It is sensitive against installation problems.
	* cat-compat.c: Remove file.
	* po2msg.sin, po2tbl.sin: Remove files.
	* Makefile.in (datadir): Assume DATADIRNAME = share.
	(SOURCES): Remove cat-compat.c.
	(DISTFILES.common): Remove po2msg.sin, po2tbl.sin.
	(distclean): No need to remove po2msg.sed, po2tbl.sed.
	(../po/cat-id-tbl.$lo): Remove rule.
	* libgettext.h (_msg_ent): Remove.
	(_msg_tbl, _msg_tbl_length): Remove declarations.
	(gettext, dgettext, ngettext, dngettext): Don't depend on
	!HAVE_CATGETS.

2001-01-04  Ulrich Drepper  <drepper@redhat.com>

	* plural.y (yylex): Minimal improvement in number scanner.

2001-01-02  Ulrich Drepper  <drepper@redhat.com>

	* dcigettext.c (guess_category_value): Rewrite so that LANGUAGE value
	is ignored if the selected locale is the C locale.

2000-11-20  Ulrich Drepper  <drepper@redhat.com>

	* dcigettext.c (transcmp): Make s1 and s2 const.
	* loadmsgcat.c (_nl_load_domain): Rearrange domain initialization to
	avoid warning.

2000-11-09  Ulrich Drepper  <drepper@redhat.com>

	* locale.alias: Add thai.
	Patch by Chanop Silpa-Anan <chanop@syseng.anu.edu.au>.

2001-01-05  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (INCLUDES): Remove reference to $(top_srcdir)/lib.
	(.SUFFIXES): Put .c before .y, so that Solaris "make" uses the .c.o
	rule, not the builtin .y.o rule.
	(.y.c): Use $< instead of $^. $^ is not supported by SUSV2 "make"
	specification. Remove $*.h explicitly: we don't need plural.h.
	* gettextP.h: Include <stddef.h>.
	(__gettext_free_exp, __gettextparse): Convert prototype to K&R C
	syntax.
	* bindtextdom.c (offsetof): Provide fallback for platforms that lack
	it, like SunOS4.
	(set_binding_values): Convert prototype to K&R C syntax.
	* cat-compat.c: Include stdlib.h, string.h whenever possible.
	* dcigettext.c: Ignore the value of C_ALLOCA, because libintl.a
	must not depend on external .o files.
	(offsetof): Provide fallback for platforms that lack it, like SunOS4.
	(transcmp): Convert to K&R C syntax.
	* explodename.c Include stdlib.h whenever possible.
	(_nl_find_language): Convert to K&R C syntax.
	* finddomain.c: Include stdlib.h whenever possible.
	* l10nflist.c Include stdlib.h whenever possible.
	(_nl_normalize_codeset): Use tolower, not _tolower.
	* loadmsgcat.c: Include stdlib.h whenever possible.
	Include headers needed for alloca().
	(freea): New macro.
	(_nl_load_domain): Add fallback code for platforms lacking strtoul,
	like SunOS4. Add fallback code for platforms lacking alloca.
	* localealias.c: Include stdlib.h whenever possible.
	(ADD_BLOCK, FREE_BLOCK): Remove macros.
	(freea): New macro.
	(read_alias_file): Simplify fallback code for platforms lacking alloca.
	* plural.y (new_exp_0, new_exp_2, new_exp_3): New functions.
	(new_exp): Remove function.
	(__gettext_free_exp, yylex, yyerror): Convert to K&R C syntax.
	* textdomain.c: Include stdlib.h whenever possible.
	* gettext.c: Likewise.
	* ngettext.c: Likewise.
	* localcharset.c (volatile): Define to empty if not using ANSI C.

2001-01-01  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (mostlyclean): Remove intlh.inst, charset.alias,
	ref-add.sed, ref-del.sed.
	(distclean): In the gettext package, remove VERSION.

2001-01-01  Bruno Haible  <haible@clisp.cons.org>

	Finish implementation of plural form handling.
	* dcigettext.c (known_translation_t): Rename 'domain' field to
	'domainname'. Remove 'plindex' field. Add 'domain' and
	'translation_length' fields.
	(transcmp): Don't compare 'plindex' fields.
	(plural_lookup): New function.
	(DCIGETTEXT): Change cache handing in the plural case. Don't call
	plural_eval before the translation and its catalog file have been
	found. Remove plindex from cache key. Add 'translation_length' and
	'domain' to cache result. 
	(_nl_find_msg): Remove index argument, return length of translation
	to the caller instead. Weaken comparison of string lengths, to account
	for plural entries. Call iconv() on the entire result string, not
	only on the portion needed so far.
	* loadinfo.h (_nl_find_msg): Remove index argument, add lengthp
	argument.
	* loadmsgcat.c (_nl_load_domain): Adapt to _nl_find_msg change.

	* intl-compat.c (dcngettext, dngettext, ngettext): New functions.
	* libgettext.h (ngettext__, dngettext__, dcngettext__): New
	declarations.
	(ngettext, dngettext): Add missing macro argument.

	* intlh.inst.in (ngettext, dngettext): Add missing macro argument.

2000-12-31  Bruno Haible  <haible@clisp.cons.org>

	* gettextP.h (ZERO): New macro.
	(struct binding): Always use ZERO.
	* bindtextdom.c (set_binding_values): Use offsetof, not sizeof.
	Include <stddef.h> whenever possible.
	* dcigettext.c (ZERO): Remove macro.
	(struct transmem_list): Use ZERO.
	(DCIGETTEXT): Use offsetof, not sizeof.
	Include <stddef.h> whenever possible.

	* config.charset: Update from libiconv-1.5.1.
	* localcharset.c: Likewise.

2000-12-30  Bruno Haible  <haible@clisp.cons.org>

	* locale.alias: New file, moved here from ../misc/locale.alias. Add
	"Packages using this file" line.
	* Makefile.in (DISTFILES.common): Add locale.alias.
	(install-exec, uninstall): Install/deinstall locale.alias.

2000-10-30  Ulrich Drepper  <drepper@redhat.com>

	* dcigettext.c (guess_category_value): For libc always use the
	setlocale() method.

2000-10-20  Ulrich Drepper  <drepper@redhat.com>

	* libintl.glibc (ngettext macro): Add missing parameter.
	(dngettext macro): Likewise.

2000-10-14  Ulrich Drepper  <drepper@redhat.com>

	* localealias.c (read_alias_file): Update string pointers in map[]
	if realloc() changed the values.
	Patch by Jakub Jelinek <jakub@redhat.com>.

2000-08-31  Ulrich Drepper  <drepper@redhat.com>

	* loadmsgcat.c: Use *stat64 instead of *stat internally.

	* dcigettext.c (free_mem): Correct freeing of _nl_domain_bindings
	list.

2000-08-27  Ulrich Drepper  <drepper@redhat.com>

	* dcigettext.c (DCIGETTEXT): Remove _nl_find_language in code to
	determine invalid locale name.

2000-08-20  Ulrich Drepper  <drepper@redhat.com>

	* dcigettext.c: Unify use of function aliases to make more compact
	PLT.

	* loadmsgcat.c (_nl_unload_domain): Also free conv_tab element.
	Pretty printing.
	* plural.y (new_exp): Take number of optional parameters in second
	parameter.  Test for correct number of parameters and free correctly
	in case of failure.  Adjust all callers.
	(yylex): Fix handling of '\0'.  Allow ';' as terminator character.

2000-07-14  Bruno Haible  <haible@clisp.cons.org>

	* dcigettext.c (dcigettext): Call plural_eval on all platforms, not
	only those having tsearch.

2000-06-30  Ulrich Drepper  <drepper@redhat.com>

	* dcigettext.c (_nl_find_msg): Correct reallocation of buffers in
	case the translation is too large.  Remember allocated memory blocks
	in a list.
	(free_mem): Free memory for translations.

2000-06-16  Ulrich Drepper  <drepper@redhat.com>

	* loadmsgcat.c (_nl_load_domain): Call norm_add_slashes with new
	parameter to always enable transliteration.

1998-10-20  Paul Eggert  <eggert@twinsun.com>

	* po2tbl.sin: Escape trigraphs.

2000-10-12  Bruno Haible  <haible@clisp.cons.org>

	* finddomain.c: Remove unneeded includes.

2000-10-12  Bruno Haible  <haible@clisp.cons.org>

	* localealias.c (memcpy): Return first argument, just like the real
	memcpy function does.
	* bindtextdom.c (memcpy): Likewise.
	* finddomain.c (memcpy): Likewise.
	* l10nflist.c (memcpy): Likewise.
	* textdomain.c (memcpy): Likewise.
	From Paul Eggert <eggert@twinsun.com>.

2000-09-29  Bruno Haible  <haible@clisp.cons.org>

	* libintl.glibc: Update from current glibc version.

2000-09-18  Bruno Haible  <haible@clisp.cons.org>

	* dcigettext.c: Outside libc, use local variable names that don't
	clash with those in libc.
	* bindtextdom.c: Likewise.
	* textdomain.c: Likewise.

2000-07-31  Bruno Haible  <haible@clisp.cons.org>

	* plural.y: Include config.h. Needed to define 'inline' away for C
	compilers that don't support it.
	(yylex): Don't use gcc specific case range syntax.
	* loadmsgcat.y (INIT_GERMANIC_PLURAL): New macro, for old compilers.

2000-07-28  Bruno Haible  <haible@clisp.cons.org>

	Simplification: In all cases where $(gnulocaledir) is used, it is
	identical to $(localedir).
	* Makefile.in (DEFS): Remove setting for GNULOCALEDIR.
	* dcigettext.c (_nl_default_dirname): Initialize with LOCALEDIR.

2000-07-28  Bruno Haible  <haible@clisp.cons.org>

	* xopen-msg.sed: Renamed to ...
	* po2msg.sin: ... here.
	* linux-msg.sed: Remove file.
	* Makefile.in (DISTFILES.common): Update.

2000-07-28  Bruno Haible  <haible@clisp.cons.org>

	* po2tbl.sed.in: Renamed to ...
	* po2tbl.sin: ... here.
	* Makefile.in (DISTFILES.common): Update.

2000-07-28  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (uninstall): Synchronize with the install target.
	Really remove charset.alias when its reference count drops to 0.

2000-07-28  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (mkinstalldirs): New macro. Needed when configured with
	--srcdir=<relative pathname>; then ac_aux_dir will be a relative
	pathname rooted at the top builddir, and @MKINSTALLDIRS@ likewise.
	(install-exec, install-data): Use it.

2000-07-26  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (install-exec, install-data): Use $(SHELL) for calling
	$(MKINSTALLDIRS), don't rely on its execution permissions.

	* Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): New variables.
	(libintl.la): Use them.

	* Makefile.in (install-exec, install-data, uninstall): Provide DESTDIR
	support, as recommended by GNU standards. Fix misapplied 2000-06-16
	patch.

2000-06-16  Bruno Haible  <haible@clisp.cons.org>

	* Makefile.in (COMSRCS): Add localcharset.c.
	(OBJECTS): Add localcharset.$lo.
	(DISTFILES.common): Add config.charset, ref-{add,del}.sin.
	(DEFS): Add -DLIBDIR.
	(all-yes): Add charset.alias, ref-{add,del}.sed.
	(.SUFFIXES): Add .sin and .sed.
	(.sin.sed, charset.alias): New rules.
	(install-exec, uninstall): Install/deinstall charset.alias.
	* localcharset.c: New file, from fileutils-4.0u.
	* config.charset: New file, from fileutils-4.0u.
	* red-add.sin, ref-del.sin: New files, from fileutils-4.0u.

	* intlh.inst.in (bind_textdomain_codeset): New declaration.
	* libgettext.h (bind_textdomain_codeset, bind_textdomain_codeset__):
	New declarations.
	(bind_textdomain_codeset) [!ENABLE_NLS]: New macro.
	* cat-compat.c (bind_textdomain_codeset): New function.
	* intl-compat.c (bind_textdomain_codeset): New function.

	* libgettext.h (ngettext, dngettext, dcngettext): New
	declarations.
	(dcgettext): Remove macro definition.
	(textdomain, bindtextdomain) [!ENABLE_NLS]: Parenthesize argument.
	* intlh.inst.in (ngettext, dngettext, dcngettext): New
	declarations.
	(dcgettext): Remove macro definition.

	* *.h, *.c, *.y: Change copyright notice from LGPL to GPL.

2000-05-21  Ulrich Drepper  <drepper@redhat.com>

	* dcigettext.c: Fix typo in comment.

2000-05-08  Andreas Jaeger  <aj@suse.de>

	* bindtextdom.c (set_binding_values): Add prototype.

2000-05-05  Bruno Haible  <haible@clisp.cons.org>

	* dcigettext.c (alignof): New macro.
	(_nl_find_msg): Use it instead of __alignof__. Pass correct output
	buffer length to __gconv/iconv. If malloc (freemem_size) fails, set
	freemem_size to 0.

2000-05-05  Bruno Haible  <haible@clisp.cons.org>

	* dcigettext.c (dcigettext): Fix interpretation of tsearch
	return value.

2000-05-06  Ulrich Drepper  <drepper@redhat.com>

	* dcigettext.c (DCIGETTEXT): Always define local variable `index'.
	(mempcpy): Correct typo in parameter list.

	* hash-string.h: Don't include <values.h>.

	* *.c, *.h, *.y: Update from glibc version.

1998-04-29  Paul Eggert  <eggert@twinsun.com>

	* Makefile.in (aliaspath): Don't put `.' at the end.

1998-06-01  Ulrich Drepper  <drepper@cygnus.com>

	* localealias.c (read_alias_file): Undo last change.
	* l10nflist.c (_nl_normalize_codeset): Likewise.
	* loadinfo.h: Likewise.

1998-05-23  Ulrich Drepper  <drepper@cygnus.com>

	* dcgettext.c: Don't use any alloca hack when C_ALLOCA is defined.

1998-05-01 08:47  Ulrich Drepper  <drepper@cygnus.com>

	* gettext-0.10.35 released.

1998-04-29  Ulrich Drepper  <drepper@cygnus.com>

	* intl/localealias.c (read_alias_file): Use unsigned char for
	local variables.  Remove unused variable tp.
	* intl/l10nflist.c (_nl_normalize_codeset): Use unsigned char *
	for type of codeset.  For loosing Solaris systems.
	* intl/loadinfo.h: Adapt prototype of _nl_normalize_codeset.
	* intl/bindtextdom.c (BINDTEXTDOMAIN): Don't define local variable
	len if not needed.
	Patches by Jim Meyering.

1998-04-28  Ulrich Drepper  <drepper@cygnus.com>

	* loadmsgcat.c (_nl_load_domain): Don't assign the element use_mmap if
	mmap is not supported.

	* hash-string.h: Don't include <values.h>.

1998-04-27  Ulrich Drepper  <drepper@cygnus.com>

	* textdomain.c: Use strdup is available.

	* localealias.c: Define HAVE_MEMPCPY so that we can use this
	function.  Define and use semapahores to protect modfication of
	global objects when compiling for glibc.  Add code to allow
	freeing alias table.

	* l10nflist.c: Don't assume stpcpy not being a macro.

	* gettextP.h: Define internal_function macri if not already done.
	Use glibc byte-swap macros instead of defining SWAP when compiled
	for glibc.
	(struct loaded_domain): Add elements to allow unloading.

	* Makefile.in (distclean): Don't remove libintl.h here.

	* bindtextdomain.c: Carry over changes from glibc.  Use strdup if
	available.

	* dcgettext.c: Don't assume stpcpy not being a macro.  Mark internal
	functions.  Add memory freeing code for glibc.

	* dgettext.c: Update copyright.

	* explodename.c: Include stdlib.h and string.h only if they exist.
	Use strings.h eventually.

	* finddomain.c: Mark internal functions.  Use strdup if available.
	Add memory freeing code for glibc.

1997-10-10 20:00  Ulrich Drepper  <drepper@cygnus.com>

	* libgettext.h: Fix dummy textdomain and bindtextdomain macros.
	They should return reasonable values.
	Reported by Tom Tromey <tromey@cygnus.com>.

1997-09-16 03:33  Ulrich Drepper  <drepper@cygnus.com>

	* libgettext.h: Define PARAMS also to `args' if __cplusplus is defined.
	* intlh.inst.in: Likewise.
	Reported by Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>.

	* libintl.glibc: Update from current glibc version.

1997-09-06 02:10  Ulrich Drepper  <drepper@cygnus.com>

	* intlh.inst.in: Reformat copyright.

1997-08-19 15:22  Ulrich Drepper  <drepper@cygnus.com>

	* dcgettext.c (DCGETTEXT): Remove wrong comment.

1997-08-16 00:13  Ulrich Drepper  <drepper@cygnus.com>

	* Makefile.in (install-data): Don't change directory to install.

1997-08-01 14:30  Ulrich Drepper  <drepper@cygnus.com>

	* cat-compat.c: Fix copyright.

	* localealias.c: Don't define strchr unless !HAVE_STRCHR.

	* loadmsgcat.c: Update copyright.  Fix typos.

	* l10nflist.c: Don't define strchr unless !HAVE_STRCHR.
	(_nl_make_l10nflist): Handle sponsor and revision correctly.

	* gettext.c: Update copyright.
	* gettext.h: Likewise.
	* hash-string.h: Likewise.

	* finddomain.c: Remoave dead code.  Define strchr only if
	!HAVE_STRCHR.

	* explodename.c: Include <sys/types.h>.

	* explodename.c: Reformat copyright text.
	(_nl_explode_name): Fix typo.

	* dcgettext.c: Define and use __set_errno.
	(guess_category_value): Don't use setlocale if HAVE_LC_MESSAGES is
	not defined.

	* bindtextdom.c: Pretty printing.

1997-05-01 02:25  Ulrich Drepper  <drepper@cygnus.com>

	* dcgettext.c (guess_category_value): Don't depend on
	HAVE_LC_MESSAGES.  We don't need the macro here.
	Patch by Bruno Haible <haible@ilog.fr>.

	* cat-compat.c (textdomain): DoN't refer to HAVE_SETLOCALE_NULL
	macro.  Instead use HAVE_LOCALE_NULL and define it when using
	glibc, as in dcgettext.c.
	Patch by Bruno Haible <haible@ilog.fr>.

	* Makefile.in (CPPFLAGS): New variable.  Reported by François
	Pinard.

Mon Mar 10 06:51:17 1997  Ulrich Drepper  <drepper@cygnus.com>

	* Makefile.in: Implement handling of libtool.

	* gettextP.h: Change data structures for use of generic lowlevel
	i18n file handling.

Wed Dec  4 20:21:18 1996  Ulrich Drepper  <drepper@cygnus.com>

	* textdomain.c: Put parentheses around arguments of memcpy macro
	definition.
	* localealias.c: Likewise.
	* l10nflist.c: Likewise.
	* finddomain.c: Likewise.
	* bindtextdom.c: Likewise.
	Reported by Thomas Esken.

Mon Nov 25 22:57:51 1996  Ulrich Drepper  <drepper@cygnus.com>

	* textdomain.c: Move definition of `memcpy` macro to right
	position.

Fri Nov 22 04:01:58 1996  Ulrich Drepper  <drepper@cygnus.com>

	* finddomain.c [!HAVE_STRING_H && !_LIBC]: Define memcpy using
 	bcopy if not already defined.  Reported by Thomas Esken.
	* bindtextdom.c: Likewise.
	* l10nflist.c: Likewise.
	* localealias.c: Likewise.
	* textdomain.c: Likewise.

Tue Oct 29 11:10:27 1996  Ulrich Drepper  <drepper@cygnus.com>

	* Makefile.in (libdir): Change to use exec_prefix instead of
 	prefix.  Reported by Knut-HåvardAksnes <etokna@eto.ericsson.se>.

Sat Aug 31 03:07:09 1996  Ulrich Drepper  <drepper@cygnus.com>

	* l10nflist.c (_nl_normalize_codeset): We convert to lower case,
	so don't prepend uppercase `ISO' for only numeric arg.

Fri Jul 19 00:15:46 1996  Ulrich Drepper  <drepper@cygnus.com>

	* l10nflist.c: Move inclusion of argz.h, ctype.h, stdlib.h after
	definition of _GNU_SOURCE.  Patch by Roland McGrath.

	* Makefile.in (uninstall): Fix another bug with `for' loop and
	empty arguments.  Patch by Jim Meyering.  Correct name os
	uninstalled files: no intl- prefix anymore.

	* Makefile.in (install-data): Again work around shells which
	cannot handle mpty for list.  Reported by Jim Meyering.

Sat Jul 13 18:11:35 1996  Ulrich Drepper  <drepper@cygnus.com>

	* Makefile.in (install): Split goal.  Now depend on install-exec
        and install-data.
	(install-exec, install-data): New goals.  Created from former
	install goal.
	Reported by Karl Berry.

Sat Jun 22 04:58:14 1996  Ulrich Drepper  <drepper@cygnus.com>

	* Makefile.in (MKINSTALLDIRS): New variable.  Path to
        mkinstalldirs script.
	(install): use MKINSTALLDIRS variable or if the script is not present
	try to find it in the $top_scrdir).

Wed Jun 19 02:56:56 1996  Ulrich Drepper  <drepper@cygnus.com>

	* l10nflist.c: Linux libc *partly* includes the argz_* functions.
	Grr.  Work around by renaming the static version and use macros
	for renaming.

Tue Jun 18 20:11:17 1996  Ulrich Drepper  <drepper@cygnus.com>

	* l10nflist.c: Correct presence test macros of __argz_* functions.

	* l10nflist.c: Include <argz.h> based on test of it instead when
	__argz_* functions are available.
	Reported by Andreas Schwab.

Thu Jun 13 15:17:44 1996  Ulrich Drepper  <drepper@cygnus.com>

	* explodename.c, l10nflist.c: Define NULL for dumb systems.

Tue Jun 11 17:05:13 1996  Ulrich Drepper  <drepper@cygnus.com>

	* intlh.inst.in, libgettext.h (dcgettext): Rename local variable
	result to __result to prevent name clash.

	* l10nflist.c, localealias.c, dcgettext.c: Define _GNU_SOURCE to
        get prototype for stpcpy and strcasecmp.

	* intlh.inst.in, libgettext.h: Move declaration of
	`_nl_msg_cat_cntr' outside __extension__ block to prevent warning
	from gcc's -Wnested-extern option.

Fri Jun  7 01:58:00 1996  Ulrich Drepper  <drepper@cygnus.com>

	* Makefile.in (install): Remove comment.

Thu Jun  6 17:28:17 1996  Ulrich Drepper  <drepper@cygnus.com>

	* Makefile.in (install): Work around for another Buglix stupidity.
	Always use an `else' close for `if's.  Reported by Nelson Beebe.

	* Makefile.in (intlh.inst): Correct typo in phony rule.
	Reported by Nelson Beebe.

Thu Jun  6 01:49:52 1996  Ulrich Drepper  <drepper@cygnus.com>

	* dcgettext.c (read_alias_file): Rename variable alloca_list to
	block_list as the macro calls assume.
	Patch by Eric Backus.

	* localealias.c [!HAVE_ALLOCA]: Define alloca as macro using
        malloc.
	(read_alias_file): Rename varriabe alloca_list to block_list as the
	macro calls assume.
	Patch by Eric Backus.

	* l10nflist.c: Correct conditional for <argz.h> inclusion.
	Reported by Roland McGrath.

	* Makefile.in (all): Depend on all-@USE_INCLUDED_LIBINTL@, not
        all-@USE_NLS@.

	* Makefile.in (install): intlh.inst comes from local dir, not
        $(srcdir).

	* Makefile.in (intlh.inst): Special handling of this goal.  If
	used in gettext, this is really a rul to construct this file.  If
	used in any other package it is defined as a .PHONY rule with
	empty body.

	* finddomain.c: Extract locale file information handling into
	l10nfile.c.  Rename local stpcpy__ function to stpcpy.

	* dcgettext.c (stpcpy): Add local definition.

	* l10nflist.c: Solve some portability problems.  Patches partly by
	Thomas Esken.  Add local definition of stpcpy.

Tue Jun  4 02:47:49 1996  Ulrich Drepper  <drepper@cygnus.com>

	* intlh.inst.in: Don't depend including <locale.h> on
	HAVE_LOCALE_H.  Instead configure must rewrite this fiile
	depending on the result of the configure run.

	* Makefile.in (install): libintl.inst is now called intlh.inst.
	Add rules for updating intlh.inst from intlh.inst.in.

	* libintl.inst: Renamed to intlh.inst.in.

	* localealias.c, dcgettext.c [__GNUC__]: Define HAVE_ALLOCA to 1
        because gcc has __buitlin_alloca.
	Reported by Roland McGrath.

Mon Jun  3 00:32:16 1996  Ulrich Drepper  <drepper@cygnus.com>

	* Makefile.in (installcheck): New goal to fulfill needs of
        automake's distcheck.

	* Makefile.in (install): Reorder commands so that VERSION is
        found.

	* Makefile.in (gettextsrcdir): Now use subdirectory intl/ in
        @datadir@/gettext.
	(COMSRCS): Add l10nfile.c.
	(OBJECTS): Add l10nfile.o.
	(DISTFILES): Rename to DISTFILE.normal.  Remove $(DISTFILES.common).
	(DISTFILE.gettext): Remove $(DISTFILES.common).
	(all-gettext): Remove goal.
	(install): If $(PACKAGE) = gettext install, otherwose do nothing.  No
	package but gettext itself should install libintl.h + headers.
	(dist): Extend goal to work for gettext, too.
	(dist-gettext): Remove goal.

	* dcgettext.c [!HAVE_ALLOCA]: Define macro alloca by using malloc.

Sun Jun  2 17:33:06 1996  Ulrich Drepper  <drepper@cygnus.com>

	* loadmsgcat.c (_nl_load_domain): Parameter is now comes from
        find_l10nfile.

Sat Jun  1 02:23:03 1996  Ulrich Drepper  <drepper@cygnus.com>

	* l10nflist.c (__argz_next): Add definition.

	* dcgettext.c [!HAVE_ALLOCA]: Add code for handling missing alloca
	code.  Use new l10nfile handling.

	* localealias.c [!HAVE_ALLOCA]: Add code for handling missing
        alloca code.

	* l10nflist.c: Initial revision.

Tue Apr  2 18:51:18 1996  Ulrich Drepper  <drepper@myware>

	* Makefile.in (all-gettext): New goal.  Same as all-yes.

Thu Mar 28 23:01:22 1996  Karl Eichwalder  <ke@ke.central.de>

	* Makefile.in (gettextsrcdir): Define using @datadir@.

Tue Mar 26 12:39:14 1996  Ulrich Drepper  <drepper@myware>

	* finddomain.c: Include <ctype.h>.  Reported by Roland McGrath.

Sat Mar 23 02:00:35 1996  Ulrich Drepper  <drepper@myware>

	* finddomain.c (stpcpy): Rename to stpcpy__ to prevent clashing
        with external declaration.

Sat Mar  2 00:47:09 1996  Ulrich Drepper  <drepper@myware>

	* Makefile.in (all-no): Rename from all_no.

Sat Feb 17 00:25:59 1996  Ulrich Drepper  <drepper@myware>

	* gettextP.h [loaded_domain]: Array `successor' must now contain up
        to 63 elements (because of codeset name normalization).

	* finddomain.c: Implement codeset name normalization.

Thu Feb 15 04:39:09 1996  Ulrich Drepper  <drepper@myware>

	* Makefile.in (all): Define to `all-@USE_NLS@'.
	(all-yes, all_no): New goals.  `all-no' is noop, `all-yes'
	is former all.

Mon Jan 15 21:46:01 1996  Howard Gayle  <howard@hal.com>

	* localealias.c (alias_compare): Increment string pointers in loop
        of strcasecmp replacement.

Fri Dec 29 21:16:34 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (install-src): Who commented this goal out ? :-)

Fri Dec 29 15:08:16 1995  Ulrich Drepper  <drepper@myware>

	* dcgettext.c (DCGETTEXT): Save `errno'.  Failing system calls
	should not effect it because a missing catalog is no error.
	Reported by Harald K<o:>nig <koenig@tat.physik.uni-tuebingen.de>.

Tue Dec 19 22:09:13 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (Makefile): Explicitly use $(SHELL) for running
        shell scripts.

Fri Dec 15 17:34:59 1995  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makefile.in (install-src): Only install library and header when
	we use the own implementation.  Don't do it when using the
	system's gettext or catgets functions.

	* dcgettext.c (find_msg): Must not swap domain->hash_size here.

Sat Dec  9 16:24:37 1995  Ulrich Drepper  <drepper@myware>

	* localealias.c, libintl.inst, libgettext.h, hash-string.h,
	gettextP.h, finddomain.c, dcgettext.c, cat-compat.c:
	Use PARAMS instead of __P.  Suggested by Roland McGrath.

Tue Dec  5 11:39:14 1995  Larry Schwimmer  <rosebud@cyclone.stanford.edu>

	* libgettext.h: Use `#if !defined (_LIBINTL_H)' instead of `#if
	!_LIBINTL_H' because Solaris defines _LIBINTL_H as empty.

Mon Dec  4 15:42:07 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (install-src):
	Install libintl.inst instead of libintl.h.install.

Sat Dec  2 22:51:38 1995  Marcus Daniels  <marcus@sysc.pdx.edu>

	* cat-compat.c (textdomain):
	Reverse order in which files are tried you load.  First
	try local file, when this failed absolute path.

Wed Nov 29 02:03:53 1995  Nelson H. F. Beebe  <beebe@math.utah.edu>

	* cat-compat.c (bindtextdomain): Add missing { }.

Sun Nov 26 18:21:41 1995  Ulrich Drepper  <drepper@myware>

	* libintl.inst: Add missing __P definition.  Reported by Nelson Beebe.

	* Makefile.in:
	Add dummy `all' and `dvi' goals.  Reported by Tom Tromey.

Sat Nov 25 16:12:01 1995  François Pinard  <pinard@iro.umontreal.ca>

	* hash-string.h: Capitalize arguments of macros.

Sat Nov 25 12:01:36 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (DISTFILES): Prevent files names longer than 13
	characters.  libintl.h.glibc->libintl.glibc,
	libintl.h.install->libintl.inst.  Reported by Joshua R. Poulson.

Sat Nov 25 11:31:12 1995  Eric Backus  <ericb@lsid.hp.com>

	* dcgettext.c: Fix bug in preprocessor conditionals.

Sat Nov 25 02:35:27 1995  Nelson H. F. Beebe  <beebe@math.utah.edu>

	* libgettext.h: Solaris cc does not understand
	 #if !SYMBOL1 && !SYMBOL2.  Sad	but true.

Thu Nov 23 16:22:14 1995  Ulrich Drepper  <drepper@myware>

	* hash-string.h (hash_string):
	Fix for machine with >32 bit `unsigned long's.

	* dcgettext.c (DCGETTEXT):
	Fix horrible bug in loop for alternative translation.

Thu Nov 23 01:45:29 1995  Ulrich Drepper  <drepper@myware>

	* po2tbl.sed.in, linux-msg.sed, xopen-msg.sed:
	Some further simplifications in message number generation.

Mon Nov 20 21:08:43 1995  Ulrich Drepper  <drepper@myware>

	* libintl.h.glibc: Use __const instead of const in prototypes.

	* Makefile.in (install-src):
	Install libintl.h.install instead of libintl.h.  This
	is a stripped-down version.  Suggested by Peter Miller.

	* libintl.h.install, libintl.h.glibc: Initial revision.

	* localealias.c (_nl_expand_alias, read_alias_file):
	Protect prototypes in type casts by __P.

Tue Nov 14 16:43:58 1995  Ulrich Drepper  <drepper@myware>

	* hash-string.h: Correct prototype for hash_string.

Sun Nov 12 12:42:30 1995  Ulrich Drepper  <drepper@myware>

	* hash-string.h (hash_string): Add prototype.

	* gettextP.h: Fix copyright.
	(SWAP): Add prototype.

Wed Nov  8 22:56:33 1995  Ulrich Drepper  <drepper@myware>

	* localealias.c (read_alias_file): Forgot sizeof.
	Avoid calling *printf function.  This introduces a big overhead.
	Patch by Roland McGrath.

Tue Nov  7 14:21:08 1995  Ulrich Drepper  <drepper@myware>

	* finddomain.c, cat-compat.c: Wrong indentation in #if for stpcpy.

	* finddomain.c (stpcpy):
	Define substitution function local.  The macro was to flaky.

	* cat-compat.c: Fix typo.

	* xopen-msg.sed, linux-msg.sed:
	While bringing message number to right place only accept digits.

	* linux-msg.sed, xopen-msg.sed: Now that the counter does not have
	leading 0s we don't need to remove them.  Reported by Marcus
	Daniels.

	* Makefile.in (../po/cat-id-tbl.o): Use $(top_srdir) in
	dependency.  Reported by Marcus Daniels.

	* cat-compat.c: (stpcpy) [!_LIBC && !HAVE_STPCPY]: Define replacement.
	Generally cleanup using #if instead of #ifndef.

	* Makefile.in: Correct typos in comment.  By François Pinard.

Mon Nov  6 00:27:02 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (install-src): Don't install libintl.h and libintl.a
	if we use an available gettext implementation.

Sun Nov  5 22:02:08 1995  Ulrich Drepper  <drepper@myware>

	* libgettext.h: Fix typo: HAVE_CATGETTS -> HAVE_CATGETS.  Reported
	by François Pinard.

	* libgettext.h: Use #if instead of #ifdef/#ifndef.

	* finddomain.c:
	Comments describing what has to be done should start with FIXME.

Sun Nov  5 19:38:01 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (DISTFILES): Split.  Use DISTFILES with normal meaning.
	DISTFILES.common names the files common to both dist goals.
	DISTFILES.gettext are the files only distributed in GNU gettext.

Sun Nov  5 17:32:54 1995  Ulrich Drepper  <drepper@myware>

	* dcgettext.c (DCGETTEXT): Correct searching in derived locales.
	This was necessary since a change in _nl_find_msg several weeks
	ago.  I really don't know this is still not fixed.

Sun Nov  5 12:43:12 1995  Ulrich Drepper  <drepper@myware>

	* loadmsgcat.c (_nl_load_domain): Test for FILENAME == NULL.  This
	might mark a special condition.

	* finddomain.c (make_entry_rec): Don't make illegal entry as decided.

	* Makefile.in (dist): Suppress error message when ln failed.
	Get files from $(srcdir) explicitly.

	* libgettext.h (gettext_const): Rename to gettext_noop.

Fri Nov  3 07:36:50 1995  Ulrich Drepper  <drepper@myware>

	* finddomain.c (make_entry_rec):
	Protect against wrong locale names by testing mask.

	* libgettext.h (gettext_const): Add macro definition.
	Capitalize macro arguments.

Thu Nov  2 23:15:51 1995  Ulrich Drepper  <drepper@myware>

	* finddomain.c (_nl_find_domain):
	Test for pointer != NULL before accessing value.
	Reported by Tom Tromey.

	* gettext.c (NULL):
	Define as (void*)0 instad of 0.  Reported by François Pinard.

Mon Oct 30 21:28:52 1995  Ulrich Drepper  <drepper@myware>

	* po2tbl.sed.in: Serious typo bug fixed by Jim Meyering.

Sat Oct 28 23:20:47 1995  Ulrich Drepper  <drepper@myware>

	* libgettext.h: Disable dcgettext optimization for Solaris 2.3.

	* localealias.c (alias_compare):
	Peter Miller reported that tolower in some systems is
	even dumber than I thought.  Protect call by `isupper'.

Fri Oct 27 22:22:51 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (libdir, includedir): New variables.
	(install-src): Install libintl.a and libintl.h in correct dirs.

Fri Oct 27 22:07:29 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (SOURCES): Fix typo: intrl.compat.c -> intl-compat.c.

	* po2tbl.sed.in: Patch for buggy SEDs by Christian von Roques.

	* localealias.c:
	Fix typo and superflous test.  Reported by Christian von Roques.

Fri Oct  6 11:52:05 1995  Ulrich Drepper  <drepper@myware>

	* finddomain.c (_nl_find_domain):
	Correct some remainder from the pre-CEN syntax.  Now
	we don't have a constant number of successors anymore.

Wed Sep 27 21:41:13 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (DISTFILES): Add libintl.h.glibc.

	* Makefile.in (dist-libc): Add goal for packing sources for glibc.
	(COMSRCS, COMHDRS): Splitted to separate sources shared with glibc.

	* loadmsgcat.c: Forget to continue #if line.

	* localealias.c:
	[_LIBC]: Rename strcasecmp to __strcasecmp to keep ANSI C name
	space clean.

	* dcgettext.c, finddomain.c: Better comment to last change.

	* loadmsgcat.c:
	[_LIBC]: Rename fstat, open, close, read, mmap, and munmap to
	__fstat, __open, __close, __read, __mmap, and __munmap resp
	to keep ANSI C name space clean.

	* finddomain.c:
	[_LIBC]: Rename stpcpy to __stpcpy to keep ANSI C name space clean.

	* dcgettext.c:
	[_LIBC]: Rename getced and stpcpy to __getcwd and __stpcpy resp to
	keep ANSI C name space clean.

	* libgettext.h:
	Include sys/types.h for those old SysV systems out there.
	Reported by Francesco Potorti`.

	* loadmsgcat.c (use_mmap): Define if compiled for glibc.

	* bindtextdom.c: Include all those standard headers
	unconditionally if _LIBC is defined.

	* finddomain.c: Fix 2 times defiend -> defined.

	* textdomain.c: Include libintl.h instead of libgettext.h when
	compiling for glibc.  Include all those standard headers
	unconditionally if _LIBC is defined.

	* localealias.c, loadmsgcat.c: Prepare to be compiled in glibc.

	* gettext.c:
	Include libintl.h instead of libgettext.h when compiling for glibc.
	Get NULL from stddef.h if we compile for glibc.

	* finddomain.c: Include libintl.h instead of libgettext.h when
	compiling for glibc.  Include all those standard headers
	unconditionally if _LIBC is defined.

	* dcgettext.c: Include all those standard headers unconditionally
	if _LIBC is defined.

	* dgettext.c: If compiled in glibc include libintl.h instead of
	libgettext.h.
	(locale.h): Don't rely on HAVE_LOCALE_H when compiling for glibc.

	* dcgettext.c: If compiled in glibc include libintl.h instead of
	libgettext.h.
	(getcwd): Don't rely on HAVE_GETCWD when compiling for glibc.

	* bindtextdom.c:
	If compiled in glibc include libintl.h instead of libgettext.h.

Mon Sep 25 22:23:06 1995  Ulrich Drepper  <drepper@myware>

	* localealias.c (_nl_expand_alias): Don't call bsearch if NMAP <= 0.
	Reported by Marcus Daniels.

	* cat-compat.c (bindtextdomain):
	String used in putenv must not be recycled.
	Reported by Marcus Daniels.

	* libgettext.h (__USE_GNU_GETTEXT):
	Additional symbol to signal that we use GNU gettext
	library.

	* cat-compat.c (bindtextdomain):
	Fix bug with the strange stpcpy replacement.
	Reported by Nelson Beebe.

Sat Sep 23 08:23:51 1995  Ulrich Drepper  <drepper@myware>

	* cat-compat.c: Include <string.h> for stpcpy prototype.

	* localealias.c (read_alias_file):
	While expand strdup code temporary variable `cp' hided
	higher level variable with same name.  Rename to `tp'.

	* textdomain.c (textdomain):
	Avoid warning by using temporary variable in strdup code.

	* finddomain.c (_nl_find_domain): Remove unused variable `application'.

Thu Sep 21 15:51:44 1995  Ulrich Drepper  <drepper@myware>

	* localealias.c (alias_compare):
	Use strcasecmp() only if available.  Else use
	implementation in place.

	* intl-compat.c:
	Wrapper functions now call *__ functions instead of __*.

	* libgettext.h: Declare prototypes for *__ functions instead for __*.

	* cat-compat.c, loadmsgcat.c:
	Don't use xmalloc, xstrdup, and stpcpy.  These functions are not part
	of the standard libc and so prevent libintl.a from being used
	standalone.

	* bindtextdom.c:
	Don't use xmalloc, xstrdup, and stpcpy.  These functions are not part
	of the standard libc and so prevent libintl.a from being used
	standalone.
	Rename to bindtextdomain__ if not used in GNU C Library.

	* dgettext.c:
	Rename function to dgettext__ if not used in GNU C Library.

	* gettext.c:
	Don't use xmalloc, xstrdup, and stpcpy.  These functions are not part
	of the standard libc and so prevent libintl.a from being used
	standalone.
	Functions now called gettext__ if not used in GNU C Library.

	* dcgettext.c, localealias.c, textdomain.c, finddomain.c:
	Don't use xmalloc, xstrdup, and stpcpy.  These functions are not part
	of the standard libc and so prevent libintl.a from being used
	standalone.

Sun Sep 17 23:14:49 1995  Ulrich Drepper  <drepper@myware>

	* finddomain.c: Correct some bugs in handling of CEN standard
 	locale definitions.

Thu Sep  7 01:49:28 1995  Ulrich Drepper  <drepper@myware>

	* finddomain.c: Implement CEN syntax.

	* gettextP.h (loaded_domain): Extend number of successors to 31.

Sat Aug 19 19:25:29 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (aliaspath): Remove path to X11 locale dir.

	* Makefile.in: Make install-src depend on install.  This helps
 	gettext to install the sources and other packages can use the
 	install goal.

Sat Aug 19 15:19:33 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (uninstall): Remove stuff installed by install-src.

Tue Aug 15 13:13:53 1995  Ulrich Drepper  <drepper@myware>

	* VERSION.in: Initial revision.

	* Makefile.in (DISTFILES):
	Add VERSION file.  This is not necessary for gettext, but
	for other packages using this library.

Tue Aug 15 06:16:44 1995  Ulrich Drepper  <drepper@myware>

	* gettextP.h (_nl_find_domain):
	New prototype after changing search strategy.

	* finddomain.c (_nl_find_domain):
	We now try only to find a specified catalog.  Fall back to other
	catalogs listed in the locale list is now done in __dcgettext.

	* dcgettext.c (__dcgettext):
	Now we provide message fall back even to different languages.
	I.e. if a message is not available in one language all the other
 	in the locale list a tried.  Formerly fall back was only possible
 	within one language.  Implemented by moving one loop from
 	_nl_find_domain to here.

Mon Aug 14 23:45:50 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (gettextsrcdir):
	Directory where source of GNU gettext library are made
	available.
	(INSTALL, INSTALL_DATA): Programs used for installing sources.
	(gettext-src): New.  Rule to install GNU gettext sources for use in
	gettextize shell script.

Sun Aug 13 14:40:48 1995  Ulrich Drepper  <drepper@myware>

	* loadmsgcat.c (_nl_load_domain):
	Use mmap for loading only when munmap function is
	also available.

	* Makefile.in (install): Depend on `all' goal.

Wed Aug  9 11:04:33 1995  Ulrich Drepper  <drepper@myware>

	* localealias.c (read_alias_file):
	Do not overwrite '\n' when terminating alias value string.

	* localealias.c (read_alias_file):
	Handle long lines.  Ignore the rest not fitting in
	the buffer after the initial `fgets' call.

Wed Aug  9 00:54:29 1995  Ulrich Drepper  <drepper@myware>

	* gettextP.h (_nl_load_domain):
	Add prototype, replacing prototype for _nl_load_msg_cat.

	* finddomain.c (_nl_find_domain):
	Remove unneeded variable filename and filename_len.
	(expand_alias): Remove prototype because functions does not
 	exist anymore.

	* localealias.c (read_alias_file):
	Change type of fname_len parameter to int.
	(xmalloc): Add prototype.

	* loadmsgcat.c: Better prototypes for xmalloc.

Tue Aug  8 22:30:39 1995  Ulrich Drepper  <drepper@myware>

	* finddomain.c (_nl_find_domain):
	Allow alias name to be constructed from the four components.

	* Makefile.in (aliaspath): New variable.  Set to preliminary value.
	(SOURCES): Add localealias.c.
	(OBJECTS): Add localealias.o.

	* gettextP.h: Add prototype for _nl_expand_alias.

	* finddomain.c: Aliasing handled in intl/localealias.c.

	* localealias.c: Aliasing for locale names.

	* bindtextdom.c: Better prototypes for xmalloc and xstrdup.

Mon Aug  7 23:47:42 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (DISTFILES): gettext.perl is now found in misc/.

	* cat-compat.c (bindtextdomain):
	Correct implementation.  dirname parameter was not used.
	Reported by Marcus Daniels.

	* gettextP.h (loaded_domain):
	New fields `successor' and `decided' for oo, lazy
	message handling implementation.

	* dcgettext.c:
	Adopt for oo, lazy message handliing.
  	Now we can inherit translations from less specific locales.
	(find_msg): New function.

	* loadmsgcat.c, finddomain.c:
	Complete rewrite.  Implement oo, lazy message handling :-).
  	We now have an additional environment variable `LANGUAGE' with
 	a higher priority than LC_ALL for the LC_MESSAGE locale.
  	Here we can set a colon separated list of specifications each
 	of the form `language[_territory[.codeset]][@modifier]'.

Sat Aug  5 09:55:42 1995  Ulrich Drepper  <drepper@myware>

	* finddomain.c (unistd.h):
	Include to get _PC_PATH_MAX defined on system having it.

Fri Aug  4 22:42:00 1995  Ulrich Drepper  <drepper@myware>

	* finddomain.c (stpcpy): Include prototype.

	* Makefile.in (dist): Remove `copying instead' message.

Wed Aug  2 18:52:03 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (ID, TAGS): Do not use $^.

Tue Aug  1 20:07:11 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (TAGS, ID): Use $^ as command argument.
	(TAGS): Give etags -o option t write to current directory,
 	not $(srcdir).
	(ID): Use $(srcdir) instead os $(top_srcdir)/src.
	(distclean): Remove ID.

Sun Jul 30 11:51:46 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (gnulocaledir):
	New variable, always using share/ for data directory.
	(DEFS): Add GNULOCALEDIR, used in finddomain.c.

	* finddomain.c (_nl_default_dirname):
	Set to GNULOCALEDIR, because it always has to point
	to the directory where GNU gettext Library writes it to.

	* intl-compat.c (textdomain, bindtextdomain):
	Undefine macros before function definition.

Sat Jul 22 01:10:02 1995  Ulrich Drepper  <drepper@myware>

	* libgettext.h (_LIBINTL_H):
	Protect definition in case where this file is included as
	libgettext.h on Solaris machines.  Add comment about this.

Wed Jul 19 02:36:42 1995  Ulrich Drepper  <drepper@myware>

	* intl-compat.c (textdomain): Correct typo.

Wed Jul 19 01:51:35 1995  Ulrich Drepper  <drepper@myware>

	* dcgettext.c (dcgettext): Function now called __dcgettext.

	* dgettext.c (dgettext): Now called __dgettext and calls
 	__dcgettext.

	* gettext.c (gettext):
	Function now called __gettext and calls __dgettext.

	* textdomain.c (textdomain): Function now called __textdomain.

	* bindtextdom.c (bindtextdomain): Function now called
 	__bindtextdomain.

	* intl-compat.c: Initial revision.

	* Makefile.in (SOURCES): Add intl-compat.c.
	(OBJECTS): We always compile the GNU gettext library functions.
  	OBJECTS contains all objects but cat-compat.o, ../po/cat-if-tbl.o,
 	and intl-compat.o.
  	(GETTOBJS): Contains now only intl-compat.o.

	* libgettext.h:
	Re-include protection matches dualistic character of libgettext.h.
	For all functions in GNU gettext library define __ counter part.

	* finddomain.c (strchr): Define as index if not found in C library.
	(_nl_find_domain): For relative paths paste / in between.

Tue Jul 18 16:37:45 1995  Ulrich Drepper  <drepper@myware>

	* loadmsgcat.c, finddomain.c: Add inclusion of sys/types.h.

	* xopen-msg.sed: Fix bug with `msgstr ""' lines.
	A little bit better comments.

Tue Jul 18 01:18:27 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in:
	po-mode.el, makelinks, combine-sh are now found in ../misc.

	* po-mode.el, makelinks, combine-sh, elisp-comp:
	Moved to ../misc/.

	* libgettext.h, gettextP.h, gettext.h: Uniform test for __STDC__.

Sun Jul 16 22:33:02 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (INSTALL, INSTALL_DATA): New variables.
	(install-data, uninstall): Install/uninstall .elc file.

	* po-mode.el (Installation comment):
	Add .pox as possible extension of .po files.

Sun Jul 16 13:23:27 1995  Ulrich Drepper  <drepper@myware>

	* elisp-comp: Complete new version by François: This does not
 	fail when not compiling in the source directory.

Sun Jul 16 00:12:17 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (../po/cat-id-tbl.o):
	Use $(MAKE) instead of make for recursive make.

	* Makefile.in (.el.elc): Use $(SHELL) instead of /bin/sh.
	(install-exec): Add missing dummy goal.
	(install-data, uninstall): @ in multi-line shell command at
 	beginning, not in front of echo.  Reported by Eric Backus.

Sat Jul 15 00:21:28 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (DISTFILES):
	Rename libgettext.perl to gettext.perl to fit in 14 chars
	file systems.

	* gettext.perl:
 	Rename to gettext.perl to fit in 14 chars file systems.

Thu Jul 13 23:17:20 1995  Ulrich Drepper  <drepper@myware>

	* cat-compat.c: If !STDC_HEADERS try to include malloc.h.

Thu Jul 13 20:55:02 1995  Ulrich Drepper  <drepper@myware>

	* po2tbl.sed.in: Pretty printing.

	* linux-msg.sed, xopen-msg.sed:
	Correct bugs with handling substitute flags in branches.

	* hash-string.h (hash_string):
	Old K&R compilers don't under stand `unsigned char'.

	* gettext.h (nls_uint32):
	Some old K&R compilers (eg HP) don't understand `unsigned int'.

	* cat-compat.c (msg_to_cat_id): De-ANSI-fy prototypes.

Thu Jul 13 01:34:33 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (ELCFILES): New variable.
	(DISTFILES): Add elisp-comp.
	Add implicit rule for .el -> .elc compilation.
	(install-data): install $ELCFILES
	(clean): renamed po-to-tbl and po-to-msg to po2tbl and po2msg resp.

	* elisp-comp: Initial revision

Wed Jul 12 16:14:52 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in:
	cat-id-tbl.c is now found in po/.  This enables us to use an identical
	intl/ directory in all packages.

	* dcgettext.c (dcgettext): hashing does not work for table size <= 2.

	* textdomain.c: fix typo (#if def -> #if defined)

Tue Jul 11 18:44:43 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in (stamp-cat-id): use top_srcdir to address source files
	(DISTFILES,distclean): move tupdate.perl to src/

	* po-to-tbl.sed.in:
	add additional jump to clear change flag to recognize multiline strings

Tue Jul 11 01:32:50 1995  Ulrich Drepper  <drepper@myware>

	* textdomain.c: Protect inclusion of stdlib.h and string.h.

	* loadmsgcat.c: Protect inclusion of stdlib.h.

	* libgettext.h: Protect inclusion of locale.h.
	Allow use in C++ programs.
	Define NULL is not happened already.

	* Makefile.in (DISTFILES): ship po-to-tbl.sed.in instead of
	po-to-tbl.sed.
	(distclean): remove po-to-tbl.sed and tupdate.perl.

	* tupdate.perl.in: Substitute Perl path even in exec line.
	Don't include entries without translation from old .po file.

Tue Jul  4 00:41:51 1995  Ulrich Drepper  <drepper@myware>

	* tupdate.perl.in: use "Updated: " in msgid "".

	* cat-compat.c: Fix typo (LOCALDIR -> LOCALEDIR).
 	Define getenv if !__STDC__.

	* bindtextdom.c: Protect stdlib.h and string.h inclusion.
 	Define free if !__STDC__.

	* finddomain.c: Change DEF_MSG_DOM_DIR to LOCALEDIR.
 	Define free if !__STDC__.

	* cat-compat.c: Change DEF_MSG_DOM_DIR to LOCALEDIR.

Mon Jul  3 23:56:30 1995  Ulrich Drepper  <drepper@myware>

	* Makefile.in: Use LOCALEDIR instead of DEF_MSG_DOM_DIR.
	Remove unneeded $(srcdir) from Makefile.in dependency.

	* makelinks: Add copyright and short description.

	* po-mode.el: Last version for 0.7.

	* tupdate.perl.in: Fix die message.

	* dcgettext.c: Protect include of string.h.

	* gettext.c: Protect include of stdlib.h and further tries to get NULL.

	* finddomain.c: Some corrections in includes.

	* Makefile.in (INCLUDES): Prune list correct path to Makefile.in.

	* po-to-tbl.sed: Adopt for new .po file format.

	* linux-msg.sed, xopen-msg.sed: Adopt for new .po file format.

Sun Jul  2 23:55:03 1995  Ulrich Drepper  <drepper@myware>

	* tupdate.perl.in: Complete rewrite for new .po file format.

Sun Jul  2 02:06:50 1995  Ulrich Drepper  <drepper@myware>

	* First official release.  This directory contains all the code
	needed to internationalize own packages.  It provides functions
	which allow to use the X/Open catgets function with an interface
	like the Uniforum gettext function.  For system which does not
	have neither of those a complete implementation is provided.
