+2009-12-22 Eric Blake <ebb9@byu.net>
+
+ getopt: synchronize from glibc
+ * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
+ parameter order. Adjust all callers.
+ (_getopt_internal_r, main): Adjust quoting in error messages.
+ Drop considerations for outdated POSIX 1003.2 error message.
+ * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
+ callers.
+ * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
+
+ test-getopt: test stderr behavior
+ * modules/getopt-posix-tests (Depends-on): Add dup2.
+ * tests/test-getopt.c (ASSERT): Avoid stderr.
+ (main): Move stderr to a temporary file.
+ * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
+ Instead, add parameter to inform caller if output occurred.
+ (test_getopt): Adjust all existing tests to expect silence, and
+ add new tests of leading ":".
+ * doc/glibc-functions/getopt_long.texi (getopt_long): Document
+ glibc shortcomings with leading "-:" or "+:" in optstring.
+ * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
+ Likewise.
+ * doc/posix-functions/getopt.texi (getopt): Likewise.
+
+ test-getopt: enhance test
+ * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
+ supports optind=0.
+ * tests/test-getopt.c (OPTIND_MIN): Move...
+ * tests/test-getopt.h (OPTIND_MIN): ...here.
+ * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
+ Require that optind=0 works, since modern BSD supports it in
+ addition to optreset, and since coreutils expects it.
+ (test_getopt_long_only): New test.
+ * doc/glibc-functions/getopt_long.texi (getopt_long): Document
+ glibc shortcomings with 'W;', and enforcement of optind=0.
+ * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
+ Likewise.
+
+2009-12-21 Bruno Haible <bruno@clisp.org>
+
+ localename: Improvements for MacOS X and Cygwin.
+ * lib/localename.h (gl_locale_name_environ): New declaration.
+ * lib/localename.c (gl_locale_name_environ): New function, extracted from
+ gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
+ (gl_locale_name_posix): Invoke it.
+ (gl_locale_name_default): Add comments. Use Windows native API also on
+ Cygwin.
+
+2009-12-21 Bruno Haible <bruno@clisp.org>
+
+ Update list of Win32 locale ids.
+ * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
+ (LANG_SAMI): Renamed from LANG_SAAMI.
+ (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
+ LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
+ LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
+ LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
+ (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
+ SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
+ SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
+ SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
+ SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
+ SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
+ SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
+ SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
+ SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
+ SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
+ SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
+ SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
+ SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
+ SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
+ SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
+ SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
+ SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
+ SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
+ SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
+ SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
+ SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
+ SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
+ SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
+ SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
+ SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
+ SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
+ SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
+ SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
+ SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
+ SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
+ SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
+ SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
+ SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
+ SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
+ SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
+ SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
+ SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
+ SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
+ SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
+ SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
+ SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
+ SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
+ SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
+ SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
+ SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
+ SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
+ SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
+ SUBLANG_ZULU_SOUTH_AFRICA): New macros.
+ (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
+ locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
+ Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
+ Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
+ Add more languages and countries for Sami, Sorbian. Add more countries
+ for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
+ for Pashto. Change country for Syriac, Tswana.
+
+2009-12-21 Eric Blake <ebb9@byu.net>
+
+ test-utimens: avoid spurious failure
+ * tests/test-chown.h (nap): Factor...
+ * tests/nap.h: ...into new file.
+ * tests/test-lchown.h (nap): Avoid duplication.
+ * tests/test-utimens-common.h (nap): Use shared implementation,
+ necessary on file systems with 1-second resolution.
+ * modules/chown-tests (Files): Include new file.
+ * modules/fdutimensat-tests (Files): Likewise.
+ * modules/futimens-tests (Files): Likewise.
+ * modules/lchown-tests (Files): Likewise.
+ * modules/openat-tests (Files): Likewise.
+ * modules/utimens-tests (Files): Likewise.
+ * modules/utimensat-tests (Files): Likewise.
+
+2009-12-19 Eric Blake <ebb9@byu.net>
+
+ futimens, utimensat: work around Linux bug
+ * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
+ * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
+ * lib/utimensat.c (rpl_utimensat): Work around it.
+ * lib/futimens.c (rpl_futimens): Adjust comment.
+
+ utimens: work around Linux ctime bug
+ * lib/utimens.c (detect_ctime_bug): New helper function.
+ (update_timespec): Differentiate between workaround needed for
+ this bug vs. what is needed for systems that lack utimensat.
+ (fdutimens, lutimens): Work around bug.
+
+ utimens: check for ctime update
+ * tests/test-utimens-common.h (check_ctime): Define.
+ * tests/test-utimens.h (test_utimens): Expose the Linux bug.
+ * tests/test-futimens.h (test_futimens): Likewise.
+ * tests/test-lutimens.h (test_lutimens): Likewise.
+ * doc/posix-functions/futimens.texi (futimens): Document the bug.
+ * doc/posix-functions/utimensat.texi (utimensat): Likewise.
+
2009-12-19 Bruno Haible <bruno@clisp.org>
dprintf-posix: Check against memory leak fixed on 2009-12-15.