Propagate NSLocale into Emacs better

* src/emacs.c (main): Call ns_init_locale before using the
environment variable that ns_init_locale sets up (Bug#39248).
This commit is contained in:
Paul Eggert 2020-01-26 00:20:40 -08:00
parent e97da6b08b
commit 26d890c9cc

View file

@ -1242,6 +1242,9 @@ main (int argc, char **argv)
char *lc_all = getenv ("LC_ALL");
if (! (lc_all && strcmp (lc_all, "C") == 0))
{
#ifdef HAVE_NS
ns_init_locale ();
#endif
setlocale (LC_ALL, "");
fixup_locale ();
}
@ -1610,10 +1613,6 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
#ifdef HAVE_NS
ns_pool = ns_alloc_autorelease_pool ();
#ifdef NS_IMPL_GNUSTEP
/* GNUstep stupidly resets our locale settings after we made them. */
fixup_locale ();
#endif
if (!noninteractive)
{
@ -1724,11 +1723,6 @@ Using an Emacs configured with --with-x-toolkit=lucid does not have this problem
globals_of_gfilenotify ();
#endif
#ifdef HAVE_NS
/* Initialize the locale from user defaults. */
ns_init_locale ();
#endif
/* Initialize and GC-protect Vinitial_environment and
Vprocess_environment before set_initial_environment fills them
in. */