diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2018-11-06 13:58:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-06 13:58:22 +0100 |
commit | 769d164c70bee1877d101447ba41730147a2f127 (patch) | |
tree | 924ee5e39a76d7c0efc0602f9a0f65a22fef6c78 /src/nvim/ex_cmds2.c | |
parent | f08869cff2eae65eede8df41fab274c77dd76c60 (diff) | |
parent | e0d6894a54b0ed263d8c93197e50ad5fca641f08 (diff) | |
download | rneovim-769d164c70bee1877d101447ba41730147a2f127.tar.gz rneovim-769d164c70bee1877d101447ba41730147a2f127.tar.bz2 rneovim-769d164c70bee1877d101447ba41730147a2f127.zip |
Merge pull request #9206 from janlazo/vim-8.1.0510
vim-patch:8.1.{510,512}
Diffstat (limited to 'src/nvim/ex_cmds2.c')
-rw-r--r-- | src/nvim/ex_cmds2.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/nvim/ex_cmds2.c b/src/nvim/ex_cmds2.c index 90fb7b8bc3..a148f51527 100644 --- a/src/nvim/ex_cmds2.c +++ b/src/nvim/ex_cmds2.c @@ -3506,7 +3506,12 @@ static char *get_locale_val(int what) } #endif - +// Return true when "lang" starts with a valid language name. +// Rejects NULL, empty string, "C", "C.UTF-8" and others. +static bool is_valid_mess_lang(char *lang) +{ + return lang != NULL && ASCII_ISALPHA(lang[0]) && ASCII_ISALPHA(lang[1]); +} /// Obtain the current messages language. Used to set the default for /// 'helplang'. May return NULL or an empty string. @@ -3526,14 +3531,14 @@ char *get_mess_lang(void) # endif # else p = os_getenv("LC_ALL"); - if (p == NULL) { + if (!is_valid_mess_lang(p)) { p = os_getenv("LC_MESSAGES"); - if (p == NULL) { + if (!is_valid_mess_lang(p)) { p = os_getenv("LANG"); } } # endif - return p; + return is_valid_mess_lang(p) ? p : NULL; } // Complicated #if; matches with where get_mess_env() is used below. |