2014-07-14 Daiki Ueno * Makefile.in (distclean): Remove intl/VERSION for gettext-runtime and gettext-tools packages. 2014-07-03 Siddhesh Poyarekar intl: Sync up loadmsgcat.c with glibc * loadmsgcat.c [_LIBC]: Define PRI_MACROS_BROKEN unconditionally. 2014-07-03 Siddhesh Poyarekar intl: Sync up loadmsgcat.c with glibc * loadmsgcat.c: Include assert.h. (_nl_load_domain): Add semicolon to end of line. (_nl_load_domain)[HAVE_MMAP]: Use MAP_FAILED and assert that it is (void *) -1. (_nl_load_domain)[_LIBC]: Call __libc_rwlock_init instead of gl_rwlock_init. (_nl_unload_domain): Cast convd->encoding to non-const. 2014-06-17 Daiki Ueno intl: Add back ChangeLog to gettext-runtime distribution * Makefile.in (DISTFILES.gettext): Add ChangeLog. 2014-06-16 Daiki Ueno intl: Stop installing ChangeLog.inst After the git-version-gen migration (commit fbf4e276), the creation of gettext-tools/intl/ChangeLog.inst in configure.ac was removed because we lost access to $RELEASE_DATE. Given that intl/VERSION provides enough information, simply drop the ChangeLog file. Problem reported by Bruce Korb in . * Makefile.in (install-data): Don't install ChangeLog.inst. (distclean): Don't remove ChangeLog.inst. (uninstall): Don't remove ChangeLog under $(gettextsrcdir)/intl. (dist): Don't include ChangeLog in the distribution. 2014-06-10 Daiki Ueno * gettext 0.19.1 released. 2014-06-02 Daiki Ueno * gettext 0.19 released. 2014-05-11 Daiki Ueno * xsize.c (_GL_UNUSED): Define, if undefined. 2014-04-30 Steve Ellcey (tiny change) * loadmsgcat.c (PRI_MACROS_BROKEN) [_LIBC]: Define to 0, if undefined. 2014-04-23 Daiki Ueno intl: Port to Bison 3.0 * plural.y: Don't use removed YYLEX_PARAM and YYPARSE_PARAM macros; replace deprecated %pure_parser with '%define api.pure full'; adjust yylex/yyerror arglist. * plural-exp.h (PLURAL_PARSE): Use explicit type 'struct parse_args *arg' for ARG. 2013-05-07 Carlos O'Donell Jeff Law * dcigettext.c (DCIGETTEXT): Skip translating if _nl_find_msg returns -1. (_nl_find_msg): Return -1 if recursive call returned -1. If newmem is null return -1. * loadmsgcat.c (_nl_load_domain): If _nl_find_msg returns -1 abort loading the domain. * dcigettext.c (_nl_find_msg): Avoid use after potential free. Simplify list management for _LIBC case. 2013-03-07 Daiki Ueno * setlocale.c (libintl_setlocale): Signal a change of the loaded catalogs by incrementing _nl_msg_cat_cntr. Reported by Guido Flohr at . 2013-05-30 Thomas Petazzoni (tiny change) * Makefile.in (SHELL): Use @SHELL@ instead of /bin/sh. 2013-03-05 Daiki Ueno * verify.h: Update copyright year. * xsize.h: Likewise. 2013-02-25 Daiki Ueno Determine imported C symbol prefix at configure time. Suggested by Evgeny Grin in . * intl-exports.c (IMP): Define depending on the result of the configure run. 2013-01-21 Daiki Ueno Remove references to non-existing COPYING.LIB-2.*. Reported by Christian Weisgerber . * Makefile.in (DISTFILES.obsolete): Add COPYING.LIB-2.*. (install-data): Install COPYING.LIB instead of no longer existing COPYING.LIB-2.*. (uninstall): Remove COPYING.LIB instead of no longer existing COPYING.LIB-2.*. 2013-01-17 Daiki Ueno Fix link errors related to C99-style extern inline. Reported by Sam Thursfield . * Makefile.in (SOURCES): Add xsize.c. (OBJECTS): Add xsize.$lo. (xsize.lo): New rule. (printf.$lo): Add xsize.c to dependencies. * xsize.c: New file, imported from gnulib. 2012-12-25 Daiki Ueno * gettext-0.18.2 released. 2012-12-25 Daiki Ueno * libgnuintl.in.h (LIBINTL_VERSION): Bump to 0.18.2. * Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 9:2:1. 2012-12-25 Daiki Ueno * intl-exports.c (IMP): Check __MINGW32__ as well as _WIN64. 2012-12-20 Daiki Ueno localecharset: respect the thread-specific locale on Mac OS X * lib/localcharset.c (locale_charset) [DARWIN7]: Use MB_CUR_MAX_L instead of MB_CUR_MAX. 2012-12-21 Daiki Ueno Fix W64 build errors. * intl-exports.c (IMP) [_WIN64]: Prefix "__imp_" instead of "_imp__". * osdep.c: Include intl-exports.c on mingw as well as Cygwin. 2012-12-10 Daiki Ueno * intl-compat.c: Fix typo in the copyright header. 2012-11-29 Paul Eggert * vasnprintf.c (MAX_ROOM_NEEDED): Now static, not static inline. 2012-11-29 Paul Eggert * lock.c (gl_waitqueue_init) (gl_waitqueue_notify_first, gl_waitqueue_notify_all): Change 'static inline' to 'inline'. 2012-09-24 Paul Eggert localename: port gl_locale_name_thread_unsafe to FreeBSD * localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD, and use the simpler FreeBSD implementation on Mac OS X as well. Original idea suggested by Ed Maste in . 2012-09-22 Paul Eggert * xsize.h (XSIZE_INLINE): New macro. Replace all uses of 'static inline' with them. Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. 2012-09-22 Paul Eggert misc: don't limit commentary to inline functions * xsize.h: Contrast macros to functions in general, not just to inline functions, when the commentary does not apply only to inline functions. 2012-09-16 Paul Eggert localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX * localcharset.c (locale_charset) [DARWIN7]: Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1, as these two values are incompatible. Problem reported by Max Horn. For more discussion, please see . 2012-07-20 Eric Blake verify: document conflict with -Wnested-externs * verify.h: Give hint about usage when gcc warnings are enabled. 2012-06-22 Bruno Haible Write "Mac OS X" instead of "MacOS X". * config.charset: Write "Mac OS X" instead of "MacOS X". * localcharset.c: Likewise. * localename.c: Likewise. * vasnprintf.c: Likewise. 2012-06-03 Jim Meyering * dcigettext.c: Spelling fixes. 2012-02-05 Paul Eggert * vasnprintf.c: Spelling fixes. 2012-01-26 Bruno Haible Modernize quoting. * Makefile.in: Quote 'like this', not `like this', as per the recent change to the GNU coding standards. * libgnuintl.in.h: Likewise. * vasnprintf.h: Likewise. 2012-01-06 Paul Eggert doc: C11 and C++11 are now official * verify.h: Replace references to draft C1X to C11, and to draft C++0X to C++11. 2012-01-06 Bruno Haible Talk about "native Windows API", not "Woe32". * localcharset.c: Update comments to mention native Windows. * relocatable.c: Likewise. * config.charset: More comments. 2012-01-04 Bruno Haible Talk about "native Windows API", not "Win32". * vasnprintf.c: Update comments to mention native Windows. * localcharset.c: Update comments to mention native Windows. (WINDOWS_NATIVE): Renamed from WIN32_NATIVE. * localename.c: Likewise. * relocatable.c: Likewise. * lock.h: Update comments to mention native Windows. (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS. * lock.c (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS. 2011-10-15 Bruno Haible Avoid crash in *printf functions for invalid format string with dollar. * printf.c (libintl_vsnprintf, libintl_vswprintf): Don't crash in mempy if libintl_vasnprintf returned NULL. Reported by Jeong, Heon in . 2011-10-15 Bruno Haible vasnprintf: Optimize bit search operation. * vasnprintf.c (divide): Use optimizations from gnulib's integer_length.c. 2011-10-15 Bruno Haible vasnprintf: Fix comments. * vasnprintf.c (decode_long_double, decode_double): Fix comments. 2011-10-03 Bruno Haible * relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro. (compute_curr_prefix, shared_library_fullname, find_shared_library_fullname, get_shared_library_fullname, relocate): Use it together with PIC && INSTALLDIR. Reported by via Charles Wilson . 2011-07-07 Bruno Haible Complete the change in vasnprintf.c from 2010-04-10. * printf.c (system_vsnprintf) [mingw]: Prefer vsnprintf over _vsnprintf. 2011-06-15 Paul Eggert * verify.h (verify_true): Deprecate. (verify_expr): New macro. 2011-06-03 Bruno Haible * verify.h: New file, from gnulib. * Makefile.in (HEADERS): Add it. 2010-10-10 Paul Eggert rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1] * vasnprintf.c: Include "verify.h". (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify): Remove, replacing with a verify call. 2011-06-03 Bruno Haible Copyright: Use LGPL 2.1 instead of LGPL 2.0. * COPYING.LIB: Renamed from COPYING.LIB-2.1. * COPYING.LIB-2.0: Remove file. * *.h, *.c, *.y, *.sin, config.charset, locale.alias, Makefile.in: Update copyright header. * libintl.rc: Update comments field. 2011-04-08 Paul Eggert * relocatable.c (_GL_USE_STDLIB_ALLOC): Define. (malloc): Don't #undef; no longer needed. 2011-02-28 Bruno Haible Assume ANSI C behaviour of free(). * localcharset.c (get_charset_aliases): Remove NULL test before calling free(). Suggested by Simon Josefsson . 2011-02-28 Corinna Vinschen (tiny change) Charles Wilson (tiny change) Bruno Haible (tiny change) On Cygwin, use /proc file system instead of win32 API. * relocatable.c: On Cygwin, use file names from /proc, rather than Win32 file names. (DllMain): Simplify by removing Cygwin specific code. (find_shared_library_fullname): Use Linux specific implementation also for Cygwin. (get_shared_library_fullname): Update accordingly. 2011-02-23 Bruno Haible Fix misindentation of preprocessor directives. * vasnprintf.c (decode_long_double): Reindent preprocessor directives. 2011-02-12 Bruno Haible Workaround native Windows bug. * setlocale.c (rpl_setlocale): On native Windows, when setlocale succeeds but sets LC_CTYPE to "C", report a failure. 2011-02-12 Bruno Haible Avoid clashing overrides for setlocale. * libgnuintl.in.h (setlocale): Don't override if the gnulib override is already enabled. 2011-06-03 Bruno Haible * wprintf-parse.h: Apply same changes as to printf-parse.h. 2011-02-04 Bruno Haible vasnprintf: Reduce use of malloc for small format strings. * printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro. (arguments): Add room for the first 7 arguments. * printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro. (char_directives, u8_directives, u16_directives, u32_directives): Add room for the first 7 directives. * printf-parse.c: Include . (PRINTF_PARSE): Change memory handling code so that it uses the first 7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct. * vasnprintf.c (VASNPRINTF): Update memory handling code. Reported by Pádraig Brady . 2011-01-01 Jim Meyering maint: update almost all copyright ranges to include 2011 Run the new "make update-copyright" rule. 2010-11-20 Bruno Haible Port to uClibc. * dcigettext.c (_nl_find_msg): Treat uClibc like a non-glibc platform. * loadmsgcat.c (get_sysdep_segment_value): Likewise. 2010-11-20 Bruno Haible Ensure that is included before __GLIBC__ is tested. * printf-parse.h: Include . Reported by Mike Frysinger . 2010-11-20 Bruno Haible Port to uClibc. * localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL): Treat uClibc like a non-glibc platform. * printf-parse.h (FLAG_LOCALIZED): Likewise. * printf-parse.c (PRINTF_PARSE): Likewise. * relocatable.c (find_shared_library_fullname): Treat uClibc like glibc. * vasnprintf.c (decimal_point_char): Treat uClibc like glibc. (VASNPRINTF): Treat uClibc like a non-glibc platform. Reported by Mike Frysinger . 2010-11-20 Bruno Haible Fix a comment. * vasnprintf.c (VASNPRINTF): Fix comment. 2010-11-07 Bruno Haible * loadmsgcat.c (get_sysdep_segment_value): Update comment. 2010-11-07 Bruno Haible vasnprintf: Support I flag on glibc systems. * printf-parse.h (FLAG_LOCALIZED): New macro. * printf-parse.c (PRINTF_PARSE): Handle the 'I' flag. * vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's snprintf function. 2010-11-07 Bruno Haible Rename libgnuintl.h.in to libgnuintl.in.h. * libgnuintl.in.h: New file, renamed from libgnuintl.h.in. * Makefile.in (HEADERS, libgnuintl.h, libintl.h): Update. * printf.c: Update. 2010-10-14 Bruno Haible vasnprintf: Don't set errno to 0. * vasnprintf.c (VASNPRINTF): Save and restore errno around the block that sets it to 0. Reported by Gianluigi Tiesi . 2010-06-09 Bruno Haible Avoid relocwrapper link errors due to gnulib replacement functions. * lib/relocatable.c: Use the system's malloc function. 2010-06-04 Bruno Haible * gettext-0.18.1 released. 2010-06-03 Bruno Haible * libgnuintl.h.in (LIBINTL_VERSION): Bump to 0.18.1. * Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 9:1:1. 2010-05-20 Bruno Haible * gettextP.h (_nl_locale_name): Comment out declaration. 2010-05-20 Bruno Haible Avoid a link error when building statically on mingw. * gettextP.h (gl_locale_name_thread): Alias to _nl_locale_name_thread. Reported by Rob . 2010-05-16 Bruno Haible * libgnuintl.h.in (printf): Add comment. 2010-05-09 Bruno Haible * gettext-0.18 released. 2010-05-09 Bruno Haible * 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 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 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 . 2010-05-08 Bruno Haible * config.charset: Update comments for Cygwin 1.7. * localcharset.c: Likewise. 2010-04-24 Bruno Haible 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 . 2010-04-10 Bruno Haible 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 . 2010-04-10 Bruno Haible 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 . 2010-04-10 Bruno Haible 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 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 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 * vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is defined, use wctomb instead of wcrtomb. 2009-12-26 Bruno Haible * libintl.rc: Update. 2009-12-26 Bruno Haible Use the thread-specific locale also on MacOS X. * dcigettext.c (HAVE_NL_LOCALE_NAME): Remove undef. Don't include . (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 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 localename: Make aware of thread locale. * localename.c: Include , , , , 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 . 2009-12-26 Bruno Haible * Makefile.in (localename.$lo): Add dependency. 2009-12-21 Bruno Haible 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 . (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 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 * localcharset.c (locale_charset): Fix comment about use of GetACP. 2009-12-12 Bruno Haible * localcharset.c (locale_charset): Add comment about use of GetACP. 2009-12-12 Bruno Haible * 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 * config.charset: Untabify. 2009-11-22 Bruno Haible * vasnprintf.c (decimal_point_char): Choose the fast path also on MacOS X. 2009-11-17 Eric Blake * vasnprintf.c (VASNPRINTF): Avoid shadowing our own local variables. 2009-10-10 Eric Blake * relocatable.c (compute_curr_prefix): Fix spelling. 2009-10-18 Bruno Haible Avoid symlink attack in localcharset module. * localcharset.c: Include , . (O_NOFOLLOW): Define fallback. (get_charset_aliases): Don't open the file if it is a symbolic link. Reported by Fergal Glynn . 2009-08-20 Eric Blake * vasnprintf.c (decimal_point_char): Avoid warning on old-style declaration. 2009-08-10 Bruno Haible * vasnprintf.c (DCHAR_SET): Undefine at the end. 2009-08-09 Bruno Haible 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 . 2009-06-06 Bruno Haible 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 * vasnprintf.c (VASNPRINTF): Update after the calling convention of u*_conv_from_encoding and u*_conv_to_encoding changed. 2009-03-25 Bruno Haible * 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 * vasnprintf.c (divide): Fix typo in comment. 2009-02-26 Bruno Haible Fix *printf behaviour regarding the %ls directive. * vasnprintf.c (local_wcslen, VASNPRINTF): Handle NEED_PRINTF_DIRECTIVE_LS. 2009-02-23 Bruno Haible 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 * Makefile.in (libintl.res): Initialize nl without assuming GNU bash. Reported by Marko Lindqvist . 2009-01-25 Bruno Haible * threadlib.c: Include . 2009-01-25 Bruno Haible * threadlib.c (dummy): New declaration. 2009-01-25 Bruno Haible 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 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 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 at . 2009-01-15 Bruno Haible * 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 . 2008-11-10 Ingo Weinhold * config.charset: Treat Haiku like BeOS. 2008-10-17 Bruno Haible * 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 Bruno Haible 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 * 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 Bruno Haible * vasnprintf.c (decimal_point_char): Define also if NEED_PRINTF_INFINITE_LONG_DOUBLE. 2008-09-16 Bruno Haible and Eric Blake 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 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 * vasnprintf.c: Update references to renamed include files. 2008-05-21 Bruno Haible 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 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 Bruno Haible Avoid some warnings from "gcc -Wshadow". * vasnprintf.c (exp, remainder): Define to different identifiers. 2008-04-19 Bruno Haible Work around snprintf bug on Linux libc5. * vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems. 2008-04-19 Bruno Haible * vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error from 0.0058 to less than 10^-7. 2008-04-19 Bruno Haible 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 via Ben Pfaff . 2008-03-30 Bruno Haible 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 * vasnprintf.c (EOVERFLOW): Remove fallback. 2008-03-30 Bruno Haible 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 * xsize.h: Fix typo in comment: s/tupe/type/. 2008-02-07 Bruno Haible * vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems. Avoids a crash on Windows Vista. Reported by Adam Strzelecki via Simon Josefsson . 2008-02-06 Bruno Haible 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 . 2008-02-06 Bruno Haible Fix bug introduced on 2007-06-10. * vasnprintf.c (VASNPRINTF): Perform zero-padding also if !NEED_PRINTF_FLAG_ZERO. 2008-01-29 Jim Meyering 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 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 Bruno Haible * 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 . 2008-01-10 Eric Blake * relocatable.h: Fix a comment. 2008-01-10 Bruno Haible * 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 . 2008-01-01 Sylvain Beucler Bruno Haible 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 * localcharset.c (OS2): Don't redefine if already defined. Reported by Elbert Pol . 2008-09-20 Bruno Haible * 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 and Ralf Wildenhues . 2008-08-18 Bruno Haible * threadlib.c: Include . 2008-08-18 Bruno Haible * 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 * lock.h: Include always. 2008-08-17 Bruno Haible * 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 * 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 * lock.c (glthread_recursive_lock_init_multithreaded) [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo. 2008-08-03 Bruno Haible Additional non-aborting API for lock. * lock.h: Include . (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 . 2008-03-30 Ulrich Drepper [BZ #5443] * dcigettext.c (__dcigettext): Get reader lock for locale data before looking for translation. 2008-03-30 Jakub Jelinek * dcigettext.c (_nl_find_msg): Reread nconversions after acquiring wrlock. Do conv_tab allocation while holding lock. 2008-02-10 Jim Meyering * bindtextdom.c (set_binding_values): Remove useless "if" before "free". * loadmsgcat.c (_nl_load_domain, _nl_unload_domain): Likewise. 2008-05-27 Bruno Haible * localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for current mingw. Reported by Jose E. Marchesi . 2008-04-21 Bruno Haible * localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN): Actually assign a value. 2008-04-17 Bruno Haible * lock.h (gl_lock_destroy, gl_rwlock_destroy, gl_recursive_lock_destroy): Provide no-op definitions for the dummy implementation. Patch by Bruce Merry . 2008-04-16 Bruno Haible * 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 * 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 . 2007-12-25 KJK::Hyperion Bruno Haible * 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 * 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 . 2007-11-28 Bruno Haible * libgnuintl.h.in (fprintf, vfprintf, printf, vprintf, sprintf, vsprintf, snprintf, vsnprintf, asprintf, vasprintf): Don't override definitions made by gnulib. Reported by Jim Meyering . 2007-11-28 Bruno Haible * l10nflist.c (_nl_normalize_codeset): Change type of 'len' variable to size_t. Patch by Wim Lewis. 2007-11-26 Bruno Haible * vasnprintf.c (decode_long_double): Don't abort if the 'long double' type has excess precision. Reported by Jim Meyering in . 2007-11-15 Bruno Haible 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é via Ismail Dönmez . 2007-11-14 Bruno Haible * config.charset: Update for OpenBSD 4.1. Reported and helped by Ben Pfaff . 2007-11-09 Bruno Haible * vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf with a size argument < 2. 2007-11-09 Bruno Haible * vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf buffer. Fixes an inefficiency introduced on 2007-11-03. 2007-11-07 Bruno Haible * gettext-0.17 released. 2007-11-05 Bruno Haible * 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 * lock.h: Protect all macro definitions containing an 'if' statement through a "do { ... } while (0)". 2007-11-04 Bruno Haible * vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end. 2007-06-11 Bruno Haible * printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL replacement string. Reported by Eric Blake. 2007-06-10 Bruno Haible * 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 * Makefile.in (libintl.res): Use 'c' command instead of 'a' command. Needed for GNU sed 3.02. 2007-11-04 Bruno Haible * vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION. 2007-11-04 Bruno Haible * vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop. 2007-11-03 Bruno Haible * 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 * 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 Fix out-of-memory handling of vasnprintf. * printf-parse.c: Include . (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 * 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 . 2007-10-18 Bruno Haible * vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems. Reported by Jim Meyering. 2007-07-13 Bruno Haible * vasnprintf.c (decimal_point_char): Define also if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !NEED_PRINTF_DIRECTIVE_A. Reported by Clemens Koller via Gary V. Vaughan . 2007-06-10 Bruno Haible * 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 * vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable 'maxlen'. Ensure only length + width bytes are allocated, not length + 1 + width. 2007-06-09 Bruno Haible * vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros. (CHAR_T): Remove macro. (VASNPRINTF): Update. 2007-06-05 Bruno Haible * 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 * vasnprintf.c [NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h. 2007-11-01 Bruno Haible * 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 * locale.alias: Add note that this file should never be depended on. 2007-10-27 Bruno Haible * Makefile.in (libintl.la): Use @LTLIBC@ instead of -lc. Needed on HP-UX 11. 2007-10-21 Bruno Haible * printf-parse.c: Don't assume exists in IN_LIBASPRINTF context. 2007-10-21 Bruno Haible * dcigettext.c (_nl_find_msg): Use plain ANSI C. 2007-10-20 Bruno Haible * Makefile.in (libintl.res): Put more literal newlines into the sed scripts. 2007-10-14 Bruno Haible * dcigettext.c (DCIGETTEXT): Save errno also around the tfind() call. Needed because Interix 3.5 tfind() clobbers errno. Reported by Martin Koeppe . 2007-10-13 Bruno Haible * gettextP.h: Include or lock.h. * dcigettext.c (_nl_find_msg): Unlock the conversions_lock when exiting. 2007-09-24 Ulrich Drepper [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 * 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 * 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 * dcigettext.c (_nl_find_msg): Return NULL even if __gconv_open returns __GCONV_NOCONV, but not for __GCONV_NULCONV. 2007-07-11 Jakub Jelinek * 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 * 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 * 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 * 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 * vasnprintf.c: Update comments. 2007-03-24 Bruno Haible * tsearch.c [!IN_LIBINTL]: Include search.h instead of tsearch.h. 2007-05-20 Bruno Haible * 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 * 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 * 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 * vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug introduced on 2007-05-06. 2007-05-18 Bruno Haible * 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 * vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS. 2007-05-18 Bruno Haible * vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld for printing 64-bit integers. Needed for mingw. 2007-05-06 Bruno Haible * vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the padding ourselves for the floating-point directives. 2007-05-06 Bruno Haible * vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't pass the ' flag character to sprintf or snprintf. 2007-04-11 Bruno Haible * vasnprintf.c (VASNPRINTF): Implement the %F directive using the %f directive, if NEED_PRINTF_DIRECTIVE_F is defined. 2007-04-06 Bruno Haible * vasnprintf.c: Include . Don't include float+.h. (VASNPRINTF): Use signbit for faster determination whether to print a minus sign. 2007-03-27 Bruno Haible * vasnprintf.c (decimal_point_char): New function. (VASNPRINTF): Use it. 2007-03-25 Bruno Haible * vasnprintf.c: Include langinfo.h. (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more multithread-safe. 2007-03-24 Bruno Haible * vasnprintf.c: Include fpucw.h. (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the 'long double' calculations. 2007-03-24 Bruno Haible * vasnprintf.c: Include float+.h. (VASNPRINTF): When comparing against +0.0L or +0.0, compare only SIZEOF_LDBL or SIZEOF_DBL bytes. 2007-03-24 Bruno Haible * vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't include isnanl-nolibm.h. 2007-03-21 Bruno Haible * vasnprintf.c: Update after isnanl.h was renamed to isnanl-nolibm.h. 2007-03-18 Bruno Haible * vasnprintf.c (VASNPRINTF): Undo first part of last patch. 2007-03-17 Bruno Haible * 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 * 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 * vasnprintf.c (sprintf): Undefine. 2007-03-11 Bruno Haible * vasnprintf.c (snprintf): Undefine. Avoids an endless recursion. 2007-03-09 Bruno Haible * vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use a locale dependent decimal point, rather than always '.'. 2007-03-04 Bruno Haible * 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 * vasnprintf.h: Convert tabs in the middle of lines to spaces. 2007-05-12 Bruno Haible * Makefile.in (install-dvi, install-html, install-info, install-ps, install-pdf): New targets. Reported by Noah Slater . 2007-04-06 Bruno Haible * 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 * printf-parse.c [!IN_LIBINTL]: Include , for intmax_t. (PRINTF_PARSE): Make the support for size specifier 'j' unconditional. 2007-03-04 Bruno Haible * libgnuintl.h.in (libintl_printf): Treat BeOS like NetBSD and Woe32 systems. * printf.c (libintl_printf): Likewise. 2007-02-25 Bruno Haible * vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a 'a' or 'A' conversion. 2007-01-29 Bruno Haible * 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 * 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 * 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 . 2006-10-30 Bruno Haible * plural-exp.h [C++]: Define functions without name mangling. 2006-11-03 Bruno Haible Move declarations to header files. * dcigettext.c: Include localcharset.h. (get_output_charset): Remove locale_charset declaration. 2006-10-30 Bruno Haible 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 * printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results. 2006-10-29 Bruno Haible 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 * gettext-0.16.1 released. 2006-10-26 Bruno Haible * gettext-0.16 released. 2006-10-24 Bruno Haible * localename.c (HAVE_LOCALE_NULL): Test __GLIBC__ instead of __GNU_LIBRARY__. 2006-10-24 Bruno Haible * libgnuintl.h.in (LIBINTL_VERSION): Bump to 0.16. 2006-10-18 Bruno Haible * lock.h [C++]: Wrap definitions in extern "C". 2006-10-17 Paul Eggert * localcharset.c: Do not check HAVE_SETLOCALE. 2006-10-09 Bruno Haible * langprefs.c: Update comment about locale name syntax. * localename.c: Likewise. 2006-10-11 Paul Eggert Bruno Haible * 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 * 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 * lock.c: Include unconditionally. * printf-args.c: Likewise. * printf-parse.c: Likewise. * relocatable.c: Likewise. * vasnprintf.c: Likewise. 2006-08-26 Bruno Haible * vasnprintf.c (EOVERFLOW): Remove definition. (VASNPRINTF): Return a string of length > INT_MAX without failing. 2006-10-02 Bruno Haible * 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 * localcharset.c: Include unconditionally. 2006-09-10 Bruno Haible * 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 * localcharset.c: Include configmake.h in order to get LIBDIR defined. 2006-08-18 Ralf Wildenhues * Makefile.in (MKDIR_P): New variable. Needed by $(mkdir_p) with Automake-1.10. 2006-07-29 Bruno Haible * localcharset.c: Assume , , exist. 2006-07-25 Bruno Haible * 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 * 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 * gettext-0.15 released. 2006-07-21 Bruno Haible * Makefile.in (mkinstalldirs): New variable. Needed for mkdir_p. 2006-07-20 Bruno Haible * dcigettext.c (HAVE_NL_LOCALE_NAME): Undefine. 2006-07-20 Bruno Haible * libgnuintl.h.in (LIBINTL_VERSION): Bump to 0.15.0. 2006-07-20 Bruno Haible * Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 8:0:0. 2006-07-13 Bruno Haible * printf.c (libintl_printf): Define to __printf__ on NetBSD, Cygwin, mingw. Reported by haibin zhang . 2006-06-22 Ulrich Drepper * 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 * 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 * libgnuintl.h.in (libintl_printf): Define to __printf__ on NetBSD, Cygwin, mingw. Reported by Henry Nelson . 2006-06-17 Bruno Haible * 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 does #define pthread_rwlock_rdlock __libc_rwlock_rdlock etc. 2006-06-17 Bruno Haible * config.charset: Update for NetBSD 3.0. 2006-05-24 Bruno Haible * printf-args.c (printf_fetchargs): Turn NULL pointers for TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement. Reported by Thorsten Maerz via Aaron Stone . 2006-05-15 Ulrich Drepper * dcigettext.c (category_to_name): Adjust for _nl_category_names change. 2006-04-06 Ulrich Drepper * finddomain.c (_nl_find_domain): We never return NULL if we found the locale. 2005-12-21 Roland McGrath * l10nflist.c (_nl_make_l10nflist): Free ABS_FILENAME when later malloc fails. 2006-05-17 Bruno Haible 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 * localcharset.c [CYGWIN]: Include . (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 * Makefile.in (LDFLAGS, libgnuintl.h): Treat mingw like Cygwin. 2006-05-15 Bruno Haible * 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 * 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 * 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 * config.charset: Update Juan Manuel Guerrero's address. 2006-03-11 Bruno Haible * libgnuintl.h.in (_INTL_MAY_RETURN_STRING_ARG): Define to empty when using g++ on MacOS X. 2006-01-22 Bruno Haible * 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 * localcharset.c: Assume ANSI C. Fixes a gcc warning. Reported by Werner Lemberg . 2005-12-25 Bruno Haible 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 Cygwin portability. * relocatable.c: Include also on Cygwin. (DllMain): Add support for Cygwin. (get_shared_library_fullname): Update. Patches partially from Charles Wilson . 2005-10-09 Bruno Haible 2002-07-24 Ulrich Drepper * explodename.c (_nl_explode_name): Simplify. 2005-10-09 Bruno Haible 2002-07-24 Ulrich Drepper * 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 2002-07-24 Ulrich Drepper * 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 * libgnuintl.h.in: Add IN_LIBGLOCALE conditional. * Makefile.in (libgnuintl.h, libintl.h): Remove the IN_LIBGLOCALE conditional. * dcigettext.c [IN_LIBGLOCALE]: Include also , for bindtextdomain(). 2005-08-25 Bruno Haible * 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 * lock.h: Add multiple inclusion guard. 2005-08-19 Bruno Haible * localealias.c (read_alias_file): In case of failure, close the file descriptor and sort the array before returning. 2005-08-19 Bruno Haible * localealias.c (read_alias_file) [IN_LIBGLOCALE]: Ignore aliases containing an underscore. 2005-07-31 Bruno Haible 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 * Makefile.in: Add comments about VPATH. 2005-07-31 Bruno Haible * 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 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 * dcigettext.c (tree_lock): Remove extraneous semicolon. 2005-07-25 Bruno Haible * 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 * intl-compat.c (DLL_EXPORTED) [HAVE_VISIBILITY]: Define to the gcc visibility attribute. 2005-07-24 Bruno Haible 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 * plural.y: Modify comment about #pragma alloca. Suggested by Paul Eggert. 2005-07-26 Bruno Haible * Makefile.in (datarootdir): New variable. 2005-07-25 Bruno Haible 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 * Makefile.in (libintl.la, libgnuintl.la): Link with @LTLIBTHREADS@. 2005-07-16 Bruno Haible * 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 * 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 * printf-args.c (printf_fetchargs): Work around broken definition of wint_t on mingw. 2005-07-02 Bruno Haible * localcharset.c (get_charset_aliases) [WIN32]: Add CP65001 and others. Reported by via Alain Bench . 2005-05-05 Bruno Haible 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 * 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 * 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 * 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 * 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 * dcigettext.c (_nl_find_msg) [_LIBC]: Update norm_add_slashes call. 2004-03-24 Roland McGrath * loadmsgcat.c (_nl_init_domain_conv): Update norm_add_slashes call. 2005-05-05 Bruno Haible * localealias.c (read_alias_file): Limit last patch to _LIBC case. 2003-09-04 Ulrich Drepper * localealias.c (read_alias_file): Use fopen with 'c' mode flag. 2003-09-03 Jakub Jelinek * loadmsgcat.c (open, close, read, mmap, munmap): Define as function-like macros. 2003-09-02 Ulrich Drepper * loadmsgcat.c: For _LIBC, call not cancelable versions of open, close, and read. 2003-06-18 Ulrich Drepper * localealias.c (read_alias_file): Determine whether line is read incompletely early, before we modify the line. 2005-05-05 Bruno Haible * 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 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 * plural.y: Include string.h. Needed because recent versions of bison generate output that uses memcpy(). 2003-01-07 Ulrich Drepper * explodename.c (_nl_find_language.c): Mark as static. * loadinfo.h: Remove _nl_find_language prototype. 2005-04-30 Bruno Haible * langprefs.c: Use #include syntax. It's a special Apple syntax implemented in the C compiler, but since already uses it, all compilers usable on MacOS X must support it. * localename.c: Likewise. 2005-05-03 Bruno Haible * 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 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 * 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 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 * dcigettext.c (struct known_translation_t): Change type of domainname field to 'const char *'. (DCIGETTEXT): Remove const-cast. 2005-04-18 Bruno Haible * 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 * gettext-0.14.6 released. 2005-05-23 Bruno Haible * gettext-0.14.5 released. 2005-04-11 Bruno Haible * gettext-0.14.4 released. 2005-04-11 Bruno Haible * Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 7:3:4. 2005-03-16 Bruno Haible 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 * gettext-0.14.3 released. 2005-03-14 Bruno Haible * 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 * Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 7:2:4. 2005-03-06 Bruno Haible * 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 . 2005-02-24 Bruno Haible * gettext-0.14.2 released. 2005-02-12 Bruno Haible * vasnprintf.c (EOVERFLOW): Define to a fallback if needed. 2005-02-11 Bruno Haible * Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 7:1:4. 2005-01-29 Bruno Haible * Makefile.am (libintl.la, libgnuintl.la): Use INTL_MACOSX_LIBS instead of INTL_MACOSX_LDFLAGS. 2004-09-08 Bruno Haible * vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting length is > INT_MAX. 2005-01-01 Bruno Haible * 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 * 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 * 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 * 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 * config.charset: Add support for Darwin 7. 2004-08-13 Bruno Haible * 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 * relocatable.c (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN. (compute_curr_prefix): Update. 2004-05-14 Bruno Haible * vasnprintf.c (VASNPRINTF): Correctly handle the case of a precision that consists of a '.' followed by an empty digit string. Patch by Tor Lillqvist . 2004-04-28 Bruno Haible * 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 . 2004-04-23 Bruno Haible * localcharset.c (get_charset_aliases): Allow the CHARSETALIASDIR environment variable to override LIBDIR. Suggested by Matthias Clasen . 2004-04-20 Jim Meyering Bruno Haible * localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak memory when realloc fails. 2004-03-02 Bruno Haible * 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 * Makefile.in (install-exec, installdirs, uninstall): Install preloaded_libintl.so only on glibc systems, not on OpenBSD. Reported by Han Boetes . 2004-01-29 Bruno Haible * gettext-0.14.1 released. 2004-01-28 Bruno Haible * gettext-0.14 released. 2004-01-21 Bruno Haible * config.charset: Add support for MacOS X (Darwin). 2004-01-18 Bruno Haible * localename.c (_nl_locale_name): Use two-letter ISO 639 codes for Divehi, Fulfulde, Igbo, Kanuri, Venda. 2004-01-17 Bruno Haible * Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 7:0:4. 2003-12-02 Jakub Jelinek * locale.alias: Use nb_NO instead of no_NO for bokmål. 2003-11-03 Ulrich Drepper * locale.alias: nb_NO is now the correct name, not no_NO. 2004-01-09 Bruno Haible * 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 * 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 * gettext-0.13.1 released. 2003-12-17 Bruno Haible * Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 6:1:4. 2003-12-05 Bruno Haible * localename.c (_nl_locale_name): Change result for Latin Uzbek locale to match the glibc name. 2003-12-02 Bruno Haible * 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 * config.charset: Treat the new country name CS like the old country name YU. 2003-11-30 Bruno Haible * gettext-0.13 released. 2003-11-23 Paul Eggert Bruno Haible * 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 * 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 Bruno Haible 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 * libgnuintl.h.in (_INTL_REDIRECT_ASM): Don't define on AIX with gcc 2. Reported by Kouichi Hashikawa . 2003-10-19 Bruno Haible * 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 * vasnprintf.c (VASNPRINTF): Work around losing snprintf on HPUX 10.20. 2003-10-09 Bruno Haible * relocatable.c: Include xalloc.h instead of xmalloc.h. 2003-10-07 Bruno Haible 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 * printf.c: Test HAVE_FWPRINTF, not HAVE_WPRINTF. Needed for portability to Cygwin. 2003-09-04 Bruno Haible * dgettext.c: Include after gettextP.h, not before. This ensures that libintl_dcgettext is correctly declared on Solaris. (Needed because Solaris includes libintl.h.) * dngettext.c: Likewise, for the libintl_dcngettext declaration. 2003-08-29 Bruno Haible * 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 * Makefile.in (install-exec): Fix the 2003-04-06 patch. 2003-08-24 Bruno Haible * 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 * libgnuintl.h.in: Use when compiling with MSVC, even though it doesn't define __STDC__ by default. 2003-08-24 Bruno Haible * relocatable.h: Make this file includable in C++ mode: add extern "C". 2003-08-23 Bruno Haible * Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 6:0:4. 2003-08-20 Bruno Haible * config.charset (linux-gnulibc1*): Change hr_HR, ro_RO to ISO-8859-2. Reported by Alain Guibert . 2003-08-14 Bruno Haible * config.charset: Add support for Linux libc5. Based on data from Alain Guibert . 2003-08-11 Bruno Haible * vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1. (VASNPRINTF): Use it instead of wcslen. 2003-08-01 Bruno Haible * relocatable.c (find_shared_library_fullname): Disable the code on Linux/libc5. Reported by Alain Guibert . 2003-06-27 Bruno Haible 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 . 2003-06-22 Bruno Haible Portability to mingw32. * relocatable.c [WIN32]: Include . Reported by Jeff Bonggren . 2003-06-22 Bruno Haible * relocatable.c (compute_curr_prefix): Comment out this function in the case when it is not used. Reported by Pavel Roskin . 2003-06-22 Bruno Haible * gettextP.h: Undefine _INTL_REDIRECT_INLINE, _INTL_REDIRECT_MACROS, possibly defined in config.h, before setting _INTL_REDIRECT_MACROS. Reported by Pavel Roskin . 2003-06-19 Bruno Haible * 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 * libgnuintl.h (_INTL_REDIRECT_ASM): Don't define when using Mingw. Reported by Tor Lillqvist . 2003-06-08 Bruno Haible * dcigettext.c (getcwd) [VMS]: Pass 3 arguments. Reported by Jouk Jansen . 2003-05-22 Bruno Haible * gettext-0.12.1 released. 2003-05-20 Bruno Haible * Makefile.in (VPATH): Add back this variable, needed outside gettext when $builddir != $srcdir. Reported by Pavel Roskin . 2003-05-18 Bruno Haible * Makefile.msvc (DEBUGFLAGS): New variable. (intl.lib): Use it. 2003-05-17 Bruno Haible * gettext-0.12 released. 2003-05-12 Bruno Haible * Makefile.msvc (PICFLAGS, CFLAGS): Move BUILDING_* macros from CFLAGS to PICFLAGS. Reported by Perry Rapp. 2003-05-07 Bruno Haible * Makefile.vms (install): Fix mistake. 2003-05-03 Bruno Haible * Makefile.in (LIBS): New variable. (libintl.la, libgnuintl.la): Use it. Reported by Andreas Buening . 2003-04-12 Bruno Haible * 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 . 2003-04-12 Bruno Haible * localcharset.c (get_charset_aliases): Add special case for VMS. 2003-04-06 Bruno Haible * 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 * 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 * relocatable.c (_GNU_SOURCE): Define, to ensure getline() gets declared by . 2003-04-04 Bruno Haible * 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 * libgnuintl.h.in (libintl_set_relocation_prefix): Convert extern declaration to K&R syntax. 2003-03-30 Bruno Haible * Makefile.vms: New file. * Makefile.in (DISTFILES.gettext): Add Makefile.vms. 2003-03-30 Bruno Haible * Makefile.in (INCLUDES): Mention the current directory first. 2003-03-17 Bruno Haible 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 * Makefile.in (localcharset.$lo): Depend on localcharset.h. 2003-02-28 Bruno Haible 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 * 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 * 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 * Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 5:0:3. 2003-01-29 Bruno Haible * config.charset: Add an alias for CP1251 on Solaris. Reported by Hidetoshi Tajima . 2003-02-16 Bruno Haible * 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 * Makefile.in (.sin.sed): Remove rule. (ref-add.sed, ref-del.sed): New rules. 2003-02-12 Bruno Haible 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 * 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 * dcigettext.c (INTVARDEF): Correct fallback definition. 2002-11-19 Ulrich Drepper * localealias.c (read_alias_file): Use only about 400 bytes of stack space instead of 16k. 2002-10-30 Jakub Jelinek * finddomain.c (free_mem): Use libc_freeres_fn macro, remove text_set_element. * dcigettext.c (free_mem): Likewise. 2002-10-25 Jakub Jelinek * localealias.c (libc_freeres_ptr): Define if !_LIBC. (string_space, map): Add libc_freeres_ptr. (free_mem): Remove. 2002-09-19 Bruno Haible * dcigettext.c (DCIGETTEXT): Restore errno only right before returning. 2002-09-01 Roland McGrath * localealias.c [__GNUC__]: #undef alloca before #define. 2002-08-30 Roland McGrath * 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 * 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 * dcigettext.c (guess_category_value): Use __current_locale_name instead of calling setlocale. 2002-08-02 Roland McGrath * loadmsgcat.c (_nl_init_domain_conv): Use _NL_CURRENT. 2002-07-30 Roland McGrath * loadmsgcat.c [__GNUC__]: #undef alloca before defining it. 2002-05-01 Ulrich Drepper 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 * Makefile.in (mostlyclean): Remove object files on OS/2 as well. Reported by Andreas Buening . 2002-10-16 Bruno Haible * Makefile.in (ps, pdf, html, ctags): New targets, for automake-1.7 compatibility. (CTAGS): New rule. 2002-09-18 Bruno Haible * libgnuintl.h (_INTL_REDIRECT_ASM): Don't define when using Apple cc. Reported by Julien Chiron . 2002-08-06 Bruno Haible * gettext-0.11.5 released. 2002-07-25 Bruno Haible * gettext-0.11.4 released. 2002-07-25 Bruno Haible * Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 4:0:2. 2002-07-23 Bruno Haible * loadmsgcat.c (PRI*): Redefine the macros if PRI_MACROS_BROKEN is set. 2002-07-21 Bruno Haible * 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 * gettext-0.11.3 released. 2002-07-16 Bruno Haible * Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 3:0:1. 2002-07-13 Bruno Haible * dcigettext.c (freea): New macro. (FREE_BLOCKS): Free also the registered blocks. (DCIGETTEXT): Free the 'search' variable. Reported by Andreas Fischer . 2002-06-13 Bruno Haible 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 * 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 * dcigettext.c (INTDIV0_RAISES_SIGFPE): Define a fallback. Include . * eval-plural.h (plural_eval): Let division by zero cause SIGFPE on all platforms. 2002-05-30 Bruno Haible * 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 * localename.c (LANG_SORBIAN): Provide a default value, for mingw32. Reported by Michael Opdenacker and Rob Leslie . 2002-05-09 Bruno Haible * config.charset: Update for newest glibc. Add canonical names ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS. 2002-05-09 Bruno Haible * localcharset.c (get_charset_aliases): Add more Windows specific aliases. 2002-05-08 Owen Taylor * config.charset: A few additions for Solaris. 2001-12-05 Bruno Haible * localcharset.c (locale_charset): Don't return an empty string. 2001-10-23 Bruno Haible * config.charset: msdos in uk_UA uses CP1125. 2001-08-05 Bruno Haible 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 * loadmsgcat.c (_nl_init_domain_conv): Don't append //TRANSLIT to the encoding if it already has slashes. Reported by Perry Rapp . 2002-04-27 Bruno Haible * 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 * gettext-0.11.2 released. 2002-04-24 Bruno Haible * Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 2:1:0. 2002-04-19 Bruno Haible * gettextP.h (attribute_hidden): Define as empty macro if not already defined. 2002-04-09 Ulrich Drepper * 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 * dcgettext.c (__dcgettext): Use INTDEF to define alias. * dgettext.c: Call __dcgettext_internal instead of __dcgettext. * gettext.c: Likewise. 2002-03-12 Ulrich Drepper * 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 * os2compat.h: Use prefix _nlos2 instead of _os2, to avoid any possible name clashes. * os2compat.c: Likewise. 2002-03-15 Bruno Haible * libgnuintl.h (LC_MESSAGES): Don't define on Solaris 2.5, to avoid a warning. Reported by Stephen Gildea . 2002-03-12 Bruno Haible * gettext-0.11.1 released. 2002-02-15 Bruno Haible * config.charset [msdosdjgpp]: For Russian, use CP866. 2002-02-14 Andrew Zabolotny * os2compat.c (_nl_default_dirname__): Renamed from _nl_default_dirname. 2002-02-10 Bruno Haible * localename.c: Change copyright notice from GPL to LGPL. * eval-plural.h: Likewise. 2002-02-11 Bruno Haible * config.charset: Add support for NetBSD. 2002-01-31 Bruno Haible * gettext-0.11 released. 2002-01-31 Bruno Haible * 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 * Makefile.in (libintl.la): Use @LTLIBICONV@ instead of @LIBICONV@. 2002-01-10 Andrew Zabolotny Bruno Haible * 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 * Makefile.in (libintl.la): Add -lc. Needed on AIX. 2002-01-02 Bruno Haible * loadmsgcat.c (_nl_init_domain_conv): Convert extern declaration to K&R syntax. 2002-01-02 Bruno Haible * plural.y: Fix %expect count. 2001-12-23 Bruno Haible * os2.c (os2_initialize): Use LOCALEDIR_MAX macro. 2001-12-21 Bruno Haible * localcharset.c (ISSLASH): Provide definition for DOS-like systems. 2001-12-21 Bruno Haible * libgettext.h: Moved to ../lib/gettext.h. * Makefile.in (HEADERS): Remove libgettext.h. (DISTFILES.obsolete): Add libgettext.h. 2001-12-21 Bruno Haible * 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 * 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 Bruno Haible * 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 * libgettext.h [!ENABLE_NLS]: Cast all function results to 'const char *'. Reported by Alexandre Duret-Lutz . 2001-12-03 Bruno Haible * Makefile.in (install-exec): Don't create an empty libdir. (installdirs): Update accordingly. 2001-11-30 Bruno Haible * 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 * gettextP.h (_nl_locale_name): Don't declare inside glibc. * localename.c (_nl_locale_name): Remove _LIBC conditional. 2001-11-27 Ulrich Drepper * dcigettext.c (guess_category_value): Inside glibc, use setlocale directly, not _nl_locale_name. 2001-11-27 Ulrich Drepper * loadmsgcat.c (_nl_init_domain_conv): Modify #if expression. 2001-11-27 Ulrich Drepper * 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 * 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 * localealias.c (read_alias_file): Disable implicit locking for the stream. Use _unlocked functions for glibc. 2001-11-11 Bruno Haible * 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 * 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 * plural.y: Include , needed for NULL with SunOS 4 cc. 2001-10-31 Bruno Haible * 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 * localcharset.c (getc): Define as getc_unlocked if available. 2001-09-27 Bruno Haible * Makefile.in (install-strip, installdirs): New rules. 2001-09-24 Bruno Haible * localename.c: New file, integrating a function from Tor Lillqvist . * 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 * 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 * plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Reject numbers that don't start with a digit; nplurals must be positive. 2001-10-20 Bruno Haible 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 * loadmsgcat.c (_nl_init_domain_conv): Also enable transliteration when building on a glibc system but outside glibc. 2001-09-02 Bruno Haible * 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 * 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 * gettext.h: Assume exists. 2001-09-13 Bruno Haible * gettext-0.10.40 released. 2001-07-11 Ulrich Drepper * locale.alias: Use he language code for hebrew, not iw. 2001-09-13 Bruno Haible * *.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 * gettext-0.10.39 released. 2001-06-24 Bruno Haible * config.charset: Change canonical name of BIG5HKSCS to BIG5-HKSCS. Change canonical name of SJIS to SHIFT_JIS. 2001-06-12 Bruno Haible * dcigettext.c (DCIGETTEXT): Release the lock before returning. 2001-04-30 Bruno Haible 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 * gettext-0.10.38 released. 2001-05-22 Bruno Haible * Makefile.in (install-data): Install plural.c as well. (uninstall): Uninstall plural.c as well. 2001-05-18 Bruno Haible * Makefile.in (dist): Don't assume $(srcdir) = ".". Distribute file in either current directory or $(srcdir), whichever exists. 2001-05-11 Bruno Haible * Makefile.in (install-exec): Don't install charset.alias on glibc 2.1 systems. 2001-04-30 Bruno Haible * dcigettext.c (getuid, getgid, geteuid, getegid): Provide default definitions. Needed for mingw32. 2001-04-19 Bruno Haible * gettext-0.10.37 released. 2001-04-19 Bruno Haible * Makefile.in (LTV_CURRENT, LTV_REVISION, LTV_AGE): Bump to 1:1:0. 2001-04-19 Bruno Haible * loadmsgcat.c (_nl_init_domain_conv): Don't append //TRANSLIT when the libiconv version is smaller than 1.5. 2001-04-09 Bruno Haible * 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 * 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 * dcigettext.c (HAVE_LOCALE_NULL): Don't define if __GNU_LIBRARY__ < 2 (Linux libc5). 2001-04-04 Bruno Haible * dcigettext.c (HAVE_LOCALE_NULL): Define also if __GNU_LIBRARY__. 2001-04-04 Bruno Haible * 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 * gettext-0.10.36 released. 2001-03-25 Bruno Haible * Makefile.in (install-data): Set execution bits on installed config.charset. 2001-03-23 Bruno Haible * Makefile.in (YACC): Use @INTLBISON@ instead of bison. 2001-03-21 Bruno Haible * 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 * 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 * 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 * 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 * 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 * config.charset: Update from libiconv-1.6. * localcharset.c: Likewise. 2001-02-25 Ulrich Drepper * locale.alias: Don't use nb_NO but define aliases for it. 2001-01-26 Ulrich Drepper * loadmsgcat.c: Include for _LIBC. 2001-03-09 Bruno Haible * 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 * 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 * 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 * libgnuintl.h (LC_MESSAGES): Don't define on Solaris. 2001-02-24 Bruno Haible * dcigettext.c: Update comment about HAVE_LOCALE_NULL. 2001-02-05 Bruno Haible * libgnuintl.h (LC_MESSAGES): Provide a default value. 2001-01-30 Bruno Haible * config.charset: Update for FreeBSD 4.2. 2001-01-21 Bruno Haible 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 * 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 * gettextP.h (SWAP): Remove declaration, to work around a compilation failure on alphaev5-cray-unicosmk2.0.5.X. 2001-01-15 Bruno Haible * dcigettext.c (_nl_find_msg): Cast the second iconv() arg, to avoid a warning. 2001-01-07 Bruno Haible * 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 * 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 . 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 . * 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 Assume , , , 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 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 * plural.y (yylex): Minimal improvement in number scanner. 2001-01-02 Ulrich Drepper * 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 * dcigettext.c (transcmp): Make s1 and s2 const. * loadmsgcat.c (_nl_load_domain): Rearrange domain initialization to avoid warning. 2000-11-09 Ulrich Drepper * locale.alias: Add thai. Patch by Chanop Silpa-Anan . 2001-01-05 Bruno Haible * 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 . (__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 * 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 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 * gettextP.h (ZERO): New macro. (struct binding): Always use ZERO. * bindtextdom.c (set_binding_values): Use offsetof, not sizeof. Include whenever possible. * dcigettext.c (ZERO): Remove macro. (struct transmem_list): Use ZERO. (DCIGETTEXT): Use offsetof, not sizeof. Include whenever possible. * config.charset: Update from libiconv-1.5.1. * localcharset.c: Likewise. 2000-12-30 Bruno Haible * 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 * dcigettext.c (guess_category_value): For libc always use the setlocale() method. 2000-10-20 Ulrich Drepper * libintl.glibc (ngettext macro): Add missing parameter. (dngettext macro): Likewise. 2000-10-14 Ulrich Drepper * localealias.c (read_alias_file): Update string pointers in map[] if realloc() changed the values. Patch by Jakub Jelinek . 2000-08-31 Ulrich Drepper * loadmsgcat.c: Use *stat64 instead of *stat internally. * dcigettext.c (free_mem): Correct freeing of _nl_domain_bindings list. 2000-08-27 Ulrich Drepper * dcigettext.c (DCIGETTEXT): Remove _nl_find_language in code to determine invalid locale name. 2000-08-20 Ulrich Drepper * 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 * dcigettext.c (dcigettext): Call plural_eval on all platforms, not only those having tsearch. 2000-06-30 Ulrich Drepper * 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 * loadmsgcat.c (_nl_load_domain): Call norm_add_slashes with new parameter to always enable transliteration. 1998-10-20 Paul Eggert * po2tbl.sin: Escape trigraphs. 2000-10-12 Bruno Haible * finddomain.c: Remove unneeded includes. 2000-10-12 Bruno Haible * 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 . 2000-09-29 Bruno Haible * libintl.glibc: Update from current glibc version. 2000-09-18 Bruno Haible * 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 * 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 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 * xopen-msg.sed: Renamed to ... * po2msg.sin: ... here. * linux-msg.sed: Remove file. * Makefile.in (DISTFILES.common): Update. 2000-07-28 Bruno Haible * po2tbl.sed.in: Renamed to ... * po2tbl.sin: ... here. * Makefile.in (DISTFILES.common): Update. 2000-07-28 Bruno Haible * Makefile.in (uninstall): Synchronize with the install target. Really remove charset.alias when its reference count drops to 0. 2000-07-28 Bruno Haible * Makefile.in (mkinstalldirs): New macro. Needed when configured with --srcdir=; 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 * 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 * 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 * dcigettext.c: Fix typo in comment. 2000-05-08 Andreas Jaeger * bindtextdom.c (set_binding_values): Add prototype. 2000-05-05 Bruno Haible * 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 * dcigettext.c (dcigettext): Fix interpretation of tsearch return value. 2000-05-06 Ulrich Drepper * dcigettext.c (DCIGETTEXT): Always define local variable `index'. (mempcpy): Correct typo in parameter list. * hash-string.h: Don't include . * *.c, *.h, *.y: Update from glibc version. 1998-04-29 Paul Eggert * Makefile.in (aliaspath): Don't put `.' at the end. 1998-06-01 Ulrich Drepper * localealias.c (read_alias_file): Undo last change. * l10nflist.c (_nl_normalize_codeset): Likewise. * loadinfo.h: Likewise. 1998-05-23 Ulrich Drepper * dcgettext.c: Don't use any alloca hack when C_ALLOCA is defined. 1998-05-01 08:47 Ulrich Drepper * gettext-0.10.35 released. 1998-04-29 Ulrich Drepper * 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 losing 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 * loadmsgcat.c (_nl_load_domain): Don't assign the element use_mmap if mmap is not supported. * hash-string.h: Don't include . 1998-04-27 Ulrich Drepper * 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 * libgettext.h: Fix dummy textdomain and bindtextdomain macros. They should return reasonable values. Reported by Tom Tromey . 1997-09-16 03:33 Ulrich Drepper * libgettext.h: Define PARAMS also to `args' if __cplusplus is defined. * intlh.inst.in: Likewise. Reported by Jean-Marc Lasgouttes . * libintl.glibc: Update from current glibc version. 1997-09-06 02:10 Ulrich Drepper * intlh.inst.in: Reformat copyright. 1997-08-19 15:22 Ulrich Drepper * dcgettext.c (DCGETTEXT): Remove wrong comment. 1997-08-16 00:13 Ulrich Drepper * Makefile.in (install-data): Don't change directory to install. 1997-08-01 14:30 Ulrich Drepper * 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 . * 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 * dcgettext.c (guess_category_value): Don't depend on HAVE_LC_MESSAGES. We don't need the macro here. Patch by Bruno Haible . * 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 . * Makefile.in (CPPFLAGS): New variable. Reported by François Pinard. Mon Mar 10 06:51:17 1997 Ulrich Drepper * 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 * 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 * textdomain.c: Move definition of `memcpy` macro to right position. Fri Nov 22 04:01:58 1996 Ulrich Drepper * 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 * Makefile.in (libdir): Change to use exec_prefix instead of prefix. Reported by Knut-HåvardAksnes . Sat Aug 31 03:07:09 1996 Ulrich Drepper * 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 * 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 * 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 * 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 * 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 * l10nflist.c: Correct presence test macros of __argz_* functions. * l10nflist.c: Include based on test of it instead when __argz_* functions are available. Reported by Andreas Schwab. Thu Jun 13 15:17:44 1996 Ulrich Drepper * explodename.c, l10nflist.c: Define NULL for dumb systems. Tue Jun 11 17:05:13 1996 Ulrich Drepper * 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 * Makefile.in (install): Remove comment. Thu Jun 6 17:28:17 1996 Ulrich Drepper * 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 * 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 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 * intlh.inst.in: Don't depend including 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 * 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 * loadmsgcat.c (_nl_load_domain): Parameter is now comes from find_l10nfile. Sat Jun 1 02:23:03 1996 Ulrich Drepper * 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 * Makefile.in (all-gettext): New goal. Same as all-yes. Thu Mar 28 23:01:22 1996 Karl Eichwalder * Makefile.in (gettextsrcdir): Define using @datadir@. Tue Mar 26 12:39:14 1996 Ulrich Drepper * finddomain.c: Include . Reported by Roland McGrath. Sat Mar 23 02:00:35 1996 Ulrich Drepper * finddomain.c (stpcpy): Rename to stpcpy__ to prevent clashing with external declaration. Sat Mar 2 00:47:09 1996 Ulrich Drepper * Makefile.in (all-no): Rename from all_no. Sat Feb 17 00:25:59 1996 Ulrich Drepper * 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 * 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 * localealias.c (alias_compare): Increment string pointers in loop of strcasecmp replacement. Fri Dec 29 21:16:34 1995 Ulrich Drepper * Makefile.in (install-src): Who commented this goal out ? :-) Fri Dec 29 15:08:16 1995 Ulrich Drepper * dcgettext.c (DCGETTEXT): Save `errno'. Failing system calls should not effect it because a missing catalog is no error. Reported by Harald Knig . Tue Dec 19 22:09:13 1995 Ulrich Drepper * Makefile.in (Makefile): Explicitly use $(SHELL) for running shell scripts. Fri Dec 15 17:34:59 1995 Andreas Schwab * 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 * 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 * 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 * Makefile.in (install-src): Install libintl.inst instead of libintl.h.install. Sat Dec 2 22:51:38 1995 Marcus Daniels * 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 * cat-compat.c (bindtextdomain): Add missing { }. Sun Nov 26 18:21:41 1995 Ulrich Drepper * 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 * hash-string.h: Capitalize arguments of macros. Sat Nov 25 12:01:36 1995 Ulrich Drepper * 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 * dcgettext.c: Fix bug in preprocessor conditionals. Sat Nov 25 02:35:27 1995 Nelson H. F. Beebe * libgettext.h: Solaris cc does not understand #if !SYMBOL1 && !SYMBOL2. Sad but true. Thu Nov 23 16:22:14 1995 Ulrich Drepper * 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 * 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 * 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 * hash-string.h: Correct prototype for hash_string. Sun Nov 12 12:42:30 1995 Ulrich Drepper * hash-string.h (hash_string): Add prototype. * gettextP.h: Fix copyright. (SWAP): Add prototype. Wed Nov 8 22:56:33 1995 Ulrich Drepper * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * po2tbl.sed.in: Serious typo bug fixed by Jim Meyering. Sat Oct 28 23:20:47 1995 Ulrich Drepper * 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 * 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 * 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 * 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 * 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 * 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 * cat-compat.c: Include 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 * 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 * finddomain.c: Correct some bugs in handling of CEN standard locale definitions. Thu Sep 7 01:49:28 1995 Ulrich Drepper * finddomain.c: Implement CEN syntax. * gettextP.h (loaded_domain): Extend number of successors to 31. Sat Aug 19 19:25:29 1995 Ulrich Drepper * 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 * Makefile.in (uninstall): Remove stuff installed by install-src. Tue Aug 15 13:13:53 1995 Ulrich Drepper * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * finddomain.c (unistd.h): Include to get _PC_PATH_MAX defined on system having it. Fri Aug 4 22:42:00 1995 Ulrich Drepper * finddomain.c (stpcpy): Include prototype. * Makefile.in (dist): Remove `copying instead' message. Wed Aug 2 18:52:03 1995 Ulrich Drepper * Makefile.in (ID, TAGS): Do not use $^. Tue Aug 1 20:07:11 1995 Ulrich Drepper * 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 * 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 * 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 * intl-compat.c (textdomain): Correct typo. Wed Jul 19 01:51:35 1995 Ulrich Drepper * 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 * 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 * 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 * 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 * 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 * 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 * 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 * cat-compat.c: If !STDC_HEADERS try to include malloc.h. Thu Jul 13 20:55:02 1995 Ulrich Drepper * 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 * 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 * 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 * 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 * 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 * 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 * 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 * tupdate.perl.in: Complete rewrite for new .po file format. Sun Jul 2 02:06:50 1995 Ulrich Drepper * 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.