1
0
forked from aniani/vim

patch 8.2.1757: Mac: default locale is lacking the encoding

Problem:    Mac: default locale is lacking the encoding.
Solution:   Add ".UTF-8 to the locale. (Yee Cheng Chin, closes #7022)
This commit is contained in:
Bram Moolenaar
2020-09-27 16:03:15 +02:00
parent cfcd011fcd
commit a5fe91e6dc
3 changed files with 30 additions and 2 deletions

View File

@@ -570,12 +570,17 @@ mac_lang_init(void)
{
if (mch_getenv((char_u *)"LANG") == NULL)
{
char buf[20];
char buf[50];
// $LANG is not set, either because it was unset or Vim was started
// from the Dock. Query the system locale.
if (LocaleRefGetPartString(NULL,
kLocaleLanguageMask | kLocaleLanguageVariantMask |
kLocaleRegionMask | kLocaleRegionVariantMask,
sizeof buf, buf) == noErr && *buf)
sizeof(buf) - 10, buf) == noErr && *buf)
{
if (strcasestr(buf, "utf-8") == NULL)
strcat(buf, ".UTF-8");
vim_setenv((char_u *)"LANG", (char_u *)buf);
# ifdef HAVE_LOCALE_H
setlocale(LC_ALL, "");