Mercurial > emacs
changeset 33869:e41a7b1e443f
(init_environment): Set LANG environment variable based on
locale settings, if not set.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Fri, 24 Nov 2000 21:30:06 +0000 |
parents | d77db72e017d |
children | 8816b5542315 |
files | src/w32.c |
diffstat | 1 files changed, 19 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/w32.c Fri Nov 24 21:29:07 2000 +0000 +++ b/src/w32.c Fri Nov 24 21:30:06 2000 +0000 @@ -702,6 +702,7 @@ int i; LPBYTE lpval; DWORD dwType; + char locale_name[32]; static struct env_entry { @@ -721,9 +722,25 @@ is then ignored. */ /* {"INFOPATH", "%emacs_dir%/info"}, */ {"EMACSDOC", "%emacs_dir%/etc"}, - {"TERM", "cmd"} + {"TERM", "cmd"}, + {"LANG", NULL}, }; + /* Get default locale info and use it for LANG. */ + if (GetLocaleInfo (LOCALE_USER_DEFAULT, + LOCALE_SABBREVLANGNAME | LOCALE_USE_CP_ACP, + locale_name, sizeof (locale_name))) + { + for (i = 0; i < (sizeof (env_vars) / sizeof (env_vars[0])); i++) + { + if (strcmp (env_vars[i].name, "LANG") == 0) + { + env_vars[i].def_value = locale_name; + break; + } + } + } + #define SET_ENV_BUF_SIZE (4 * MAX_PATH) /* to cover EMACSLOADPATH */ /* Treat emacs_dir specially: set it unconditionally based on our @@ -752,7 +769,7 @@ } } - for (i = 0; i < (sizeof (env_vars) / sizeof (env_vars[0])); i++) + for (i = 0; i < (sizeof (env_vars) / sizeof (env_vars[0])); i++) { if (!getenv (env_vars[i].name)) {