Mercurial > emacs
changeset 26590:301daf47e723
* emacs.c (fixup_locale): Don't bother to record initial locale.
(synchronize_locale): If the desired locale is nil,
treat it as if it were the empty string,
so that we set the locale from the environment.
author | Paul Eggert <eggert@twinsun.com> |
---|---|
date | Thu, 25 Nov 1999 05:33:31 +0000 |
parents | 929999669c16 |
children | f7c7ef351f04 |
files | src/ChangeLog src/emacs.c |
diffstat | 2 files changed, 9 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/src/emacs.c Thu Nov 25 05:22:07 1999 +0000 +++ b/src/emacs.c Thu Nov 25 05:33:31 1999 +0000 @@ -1911,30 +1911,26 @@ void fixup_locale () { - char *l; - /* The Emacs Lisp reader needs LC_NUMERIC to be "C", so that numbers are read and printed properly for Emacs Lisp. */ setlocale (LC_NUMERIC, "C"); - -#ifdef LC_MESSAGES - l = setlocale (LC_MESSAGES, (char *) 0); - Vprevious_system_messages_locale = l ? build_string (l) : Qnil; -#endif - l = setlocale (LC_TIME, (char *) 0); - Vprevious_system_time_locale = l ? build_string (l) : Qnil; } +/* Set system locale CATEGORY, with previous locale *PLOCALE, to + DESIRED_LOCALE. */ static void synchronize_locale (category, plocale, desired_locale) int category; Lisp_Object *plocale; Lisp_Object desired_locale; { - if (STRINGP (desired_locale) - && (NILP (*plocale) || NILP (Fstring_equal (*plocale, desired_locale))) - && setlocale (category, XSTRING (desired_locale)->data)) - *plocale = desired_locale; + if (! EQ (*plocale, desired_locale)) + { + *plocale = desired_locale; + setlocale (category, (STRINGP (desired_locale) + ? XSTRING (desired_locale)->data + : "")); + } } /* Set system time locale to match Vsystem_time_locale, if possible. */