diff --git a/terms.c b/terms.c index 8d928a2..9798ae1 100644 --- a/terms.c +++ b/terms.c @@ -222,6 +222,7 @@ static void check_cygwin_console(void) { char *term = getenv("TERM"); + char *ctype; HANDLE hWnd; if (term == NULL) @@ -236,7 +237,9 @@ check_cygwin_console(void) isLocalConsole = 1; } } - if (strncmp(getenv("LANG"), "ja", 2) == 0) { + if ((ctype = getenv("LC_ALL") || + ctype = getenv("LC_CTYPE") || + ctype = getenv("LANG")) && strncmp(ctype, "ja", 2) == 0) { isWinConsole = TERM_CYGWIN_RESERVE_IME; } #ifdef SUPPORT_WIN9X_CONSOLE_MBCS