So after some more investigation I *think* I nailed it down to that change:
--- snip --- @@ -1585,9 +1585,7 @@ main (int argc, char *argv[]) - if (setlocale (LC_CTYPE, NULL) != NULL) { - gdm_system_locale = g_strdup (setlocale (LC_CTYPE, NULL)); - } + gdm_system_locale = g_strdup (g_get_language_names()[0]); --- snap --- gdm would use that variable later in slave.c: --- snip --- if ((gdm_system_locale != NULL) && (!has_language)) { lang = gdm_system_locale; } else { lang = language; } --- snap --- And from the docs of g_get_language_names(): "Computes a list of applicable locale names, which can be used to e.g. construct locale-dependent filenames or search paths. The returned list is sorted from most desirable to least desirable and always contains the default locale "C". For example, if LANGUAGE=de:en_US, then the returned list is "de", "en_US", "en", "C". " So in the opposite of calling setlocale () and saving the result which would either be NULL or a valid locale string (valid, as in you can pass it again to setlocale without getting an error), g_get_language_names() can, and will if LANGUAGE is set in that way, also return "en_US". I made a little test program that showed that setlocale () will return NULL on here for anything other then "en_US.UTF-8" (i.e. en_US or en_US:en). Since g_get_language_names() will return en_US (and not en_US.UTF-8) and since that is non-NULL (thus ve_string_empty (language) == FALSE) and ve_locale_exists () will return FALSE, hence the error dialog. Also setting LANGUAGE to en_US.UTF-8 fixes the issue since then g_get_language_names() will not return en_US but en_US.UTF-8. So, the original question remains valid: Is en_US:en for LANGUAGE correct, then gdm needs to change its logic (again) or if it is not we need to set LANGUAGE correctly to en_US.UTF-8. I am not a locale expert so I leave that as an exercise to the reader. ;-) -- Language en_US does not exist; using System default https://bugs.launchpad.net/bugs/185947 You received this bug notification because you are a member of Ubuntu Bugs, which is the bug contact for Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs