On 10/11/2011 12:54 PM, Charles Wilson wrote: > Consensus does appear to be unanimous on what to do; I just need to > review all the postings and figure out exactly /how/ to do it. I have uploaded the new packages. There are three new patches: 1) modified localename.c significantly. No longer "ignores" LANG=C.UTF-8; also does not try to do any parsing of the Windows I18N settings. Basically, acts like linux -- if the value of the locale string isn't supported by the underlying setlocale() implementation, then it is ignored (e.g. default back to "C.UTF-8" or "C") -- libintl doesn't try to 'be smart' -- or to second-guess. Also, relies on cygwin's glibc-like setlocale(LC_*, NULL) behavior -- which has been supported by newlib since the cygwin 1.5 days (even if it always returned "C" back then). 2) Fixes to the test suite related to the above changes. From the CHECK_NOTES file: NOTE: there were four other failures that arose because of the changes to localename. These were: format-c-3 format-c-4 plural-1 plural-2 but the test suite was patched to avoid these failures. The problem is rather complicated; gettext-0.18.1.1 now has a libintl_setlocale function that is used by libintl clients, instead of the system setlocale. The localename patch left that in place, but ensured that it did far less work -- was less obtrusive -- in its interposition between clients and the system setlocale. However, some of that eliminated 'work' also allowed the gettext test suite to 'cheat' a bit -- it used non-existent locales (like 'fr' rather than 'fr_FR'), and *re-hijacked* the setlocale function itself. None of that works anymore -- and *actual* clients are unlikely to need/want to do it -- so the test suite was patched to use real locales in all cases, and to not re-hijack. 3) Adopted Bruno's upstream changes to relocatable.c, turning off "expensive" relocation support in libintl. Odds of #1 and #2 being adopted upstream are effectively nil, so... -- Chuck