+2009-12-23 Bruno Haible <bruno@clisp.org>
+
+ localename: Make aware of thread locale.
+ * lib/localename.h (gl_locale_name_thread): New declaration.
+ (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
+ behaviour with respect to thread locale.
+ * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
+ <langinfo.h>, glthread/lock.h.
+ (SIZE_BITS): New macro.
+ (string_hash): New function.
+ (struct hash_node): New type.
+ (HASH_TABLE_SIZE): New macro.
+ (struniq_hash_table, struniq_lock): New variables.
+ (struniq): New function.
+ (gl_locale_name_thread): New function.
+ (gl_locale_name): Invoke it.
+ * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
+ * modules/localename (Depends-on): Add lock.
+ Reported by Mike Gran <spk121@yahoo.com>.
+
+2009-12-23 Eric Blake <ebb9@byu.net>
+
+ va-args: new module
+ * modules/va-args: New file.
+ * m4/va-args.m4 (gl_VA_ARGS): Likewise.
+ * MODULES.html.sh (Core language properties): Mention it.
+
+ gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
+ * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
+ named alias for __attribute__((__unused__)).
+ * lib/chown.c: Update client.
+ * lib/fchmodat.c: Likewise.
+ * lib/fts.c: Likewise.
+ * lib/getdate.y: Likewise.
+ * lib/getgroups.c: Likewise.
+ * lib/getopt.c: Likewise.
+ * lib/getugroups.c: Likewise.
+ * lib/mkdir.c: Likewise.
+ * lib/mkfifo.c: Likewise.
+ * lib/mkfifoat.c: Likewise.
+ * lib/mknod.c: Likewise.
+ * lib/mknodat.c: Likewise.
+ * lib/readlink.c: Likewise.
+ * lib/se-context.in.h: Likewise.
+ * lib/se-selinux.in.h: Likewise.
+ * lib/sockets.c: Likewise.
+ * lib/symlink.c: Likewise.
+ * lib/symlinkat.c: Likewise.
+ * lib/unicodeio.c: Likewise.
+ * lib/unistr.h: Likewise.
+ * tests/test-areadlink.c: Likewise.
+ * tests/test-areadlinkat.c: Likewise.
+ * tests/test-filenamecat.c: Likewise.
+ * tests/test-fseeko.c: Likewise.
+ * tests/test-ftello.c: Likewise.
+ * tests/test-getdate.c: Likewise.
+ * tests/test-getgroups.c: Likewise.
+ * tests/test-gethostname.c: Likewise.
+ * tests/test-quotearg.c: Likewise.
+ * tests/test-version-etc.c: Likewise.
+ * tests/test-xalloc-die.c: Likewise.
+ * tests/test-xfprintf-posix.c: Likewise.
+ * tests/test-xprintf-posix.c: Likewise.
+ * tests/test-xvasprintf.c: Likewise.
+
+ tests: avoid compiler warnings
+ * tests/test-fcntl.c (main): Delete unused parameters.
+ * tests/test-freopen-safer.c (main): Likewise.
+ * tests/test-xalloc-die.c (main): Mark unused parameters.
+ * tests/test-fseeko.c (main): Likewise.
+ * tests/test-ftello.c (main): Likewise.
+ * tests/test-nanosleep.c (main): Avoid declaration warning.
+ * tests/test-sleep.c (main): Likewise.
+ * tests/test-unsetenv.c (main): Silence warning about string
+ literal.
+ * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
+
+2009-12-23 Bruno Haible <bruno@clisp.org>
+
+ * tests/test-localename.c (test_locale_name): New function, extracted
+ from main. Also test mixed situations.
+ (test_locale_name_posix, test_locale_name_environ,
+ test_locale_name_default): New functions.
+ (main): Invoke them all.
+ * modules/localename-tests (configure.ac): Test for newlocale.
+
+2009-12-23 Bruno Haible <bruno@clisp.org>
+
+ unistd: Ensure getcwd gets declared before being overridden.
+ * lib/unistd.in.h: Conditionally include <io.h>.
+
+2009-12-22 Bruno Haible <bruno@clisp.org>
+
+ wchar: Diagnose broken combination of glibc and gcc versions and flags.
+ * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
+ (gl_WCHAR_H): Invoke it.
+ * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
+ * doc/posix-headers/wchar.texi: Mention the interoperability problem.
+ Reported by Karl Berry <karl@freefriends.org>.
+
+2009-12-22 Eric Blake <ebb9@byu.net>
+
+ math, unistd: avoid redundant includes
+ * lib/math.in.h (isnan): No need to re-include <math.h>.
+ * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
+
+ getsubopt: work around cygwin bug
+ * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
+ avoid conflicting with system getsubopt.
+ * doc/posix-functions/getsubopt.texi (getsubopt): Document the
+ bug.
+
+ getopt: synchronize from glibc
+ * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
+ parameter order. Adjust all callers.
+ (_getopt_internal_r, main): Adjust quoting in error messages.
+ Drop considerations for outdated POSIX 1003.2 error message.
+ * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
+ callers.
+ * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
+
+ test-getopt: test stderr behavior
+ * modules/getopt-posix-tests (Depends-on): Add dup2.
+ * tests/test-getopt.c (ASSERT): Avoid stderr.
+ (main): Move stderr to a temporary file.
+ * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
+ Instead, add parameter to inform caller if output occurred.
+ (test_getopt): Adjust all existing tests to expect silence, and
+ add new tests of leading ":".
+ * doc/glibc-functions/getopt_long.texi (getopt_long): Document
+ glibc shortcomings with leading "-:" or "+:" in optstring.
+ * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
+ Likewise.
+ * doc/posix-functions/getopt.texi (getopt): Likewise.
+
+ test-getopt: enhance test
+ * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
+ supports optind=0.
+ * tests/test-getopt.c (OPTIND_MIN): Move...
+ * tests/test-getopt.h (OPTIND_MIN): ...here.
+ * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
+ Require that optind=0 works, since modern BSD supports it in
+ addition to optreset, and since coreutils expects it.
+ (test_getopt_long_only): New test.
+ * doc/glibc-functions/getopt_long.texi (getopt_long): Document
+ glibc shortcomings with 'W;', and enforcement of optind=0.
+ * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
+ Likewise.
+
+2009-12-21 Bruno Haible <bruno@clisp.org>
+
+ localename: Improvements for MacOS X and Cygwin.
+ * lib/localename.h (gl_locale_name_environ): New declaration.
+ * lib/localename.c (gl_locale_name_environ): New function, extracted from
+ gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
+ (gl_locale_name_posix): Invoke it.
+ (gl_locale_name_default): Add comments. Use Windows native API also on
+ Cygwin.
+
+2009-12-21 Bruno Haible <bruno@clisp.org>
+
+ Update list of Win32 locale ids.
+ * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
+ (LANG_SAMI): Renamed from LANG_SAAMI.
+ (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
+ LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
+ LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
+ LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
+ (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
+ SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
+ SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
+ SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
+ SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
+ SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
+ SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
+ SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
+ SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
+ SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
+ SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
+ SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
+ SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
+ SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
+ SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
+ SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
+ SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
+ SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
+ SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
+ SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
+ SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
+ SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
+ SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
+ SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
+ SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
+ SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
+ SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
+ SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
+ SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
+ SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
+ SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
+ SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
+ SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
+ SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
+ SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
+ SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
+ SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
+ SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
+ SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
+ SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
+ SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
+ SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
+ SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
+ SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
+ SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
+ SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
+ SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
+ SUBLANG_ZULU_SOUTH_AFRICA): New macros.
+ (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
+ locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
+ Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
+ Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
+ Add more languages and countries for Sami, Sorbian. Add more countries
+ for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
+ for Pashto. Change country for Syriac, Tswana.
+