Commit 34dd4e0a authored by Eli Zaretskii's avatar Eli Zaretskii

Improve locale and language environment setting at startup

* lisp/international/mule-cmds.el (locale-language-names): Add
more locales and their language environments.
(set-locale-environment): Use w32-multibyte-code-page, if
non-zero, as locale-coding-system.  (Bug#34684)

* src/w32fns.c (globals_of_w32fns) <w32-multibyte-code-page>:
New variable.

* etc/NEWS: Mention w32-multibyte-code-page.
parent 164b78c7
Pipeline #1005 passed with stage
in 48 minutes and 37 seconds
......@@ -1736,6 +1736,14 @@ versions of MS-Windows. Set this variable to 50 if for some reason
you need the old behavior (and please report such situations to Emacs
** New variable 'w32-multibyte-code-page'.
This variable holds the value of the multibyte code page used by the
system. It is usually zero, which indicates that 'w32-ansi-code-page'
is being used, except in Far Eastern locales. When this variable is
non-zero, Emacs at startup sets 'locale-coding-system' to the
corresponding encoding, instead of using 'w32-ansi-code-page'.
** On NS the behaviour of drag and drop can now be modified by use of
modifier keys in line with Apples guidelines. This makes the drag and
This diff is collapsed.
......@@ -48,6 +48,7 @@ along with GNU Emacs. If not, see <>. */
#include <mbstring.h>
#include <mbctype.h> /* for _getmbcp */
#endif /* WINDOWSNT */
......@@ -10908,6 +10909,15 @@ globals_of_w32fns (void)
doc: /* The ANSI code page used by the system. */);
w32_ansi_code_page = GetACP ();
#ifndef CYGWIN
DEFVAR_INT ("w32-multibyte-code-page",
doc: /* The current multibyte code page used by the system.
A value of zero indicates that the single-byte code page is in use,
see `w32-ansi-code-page'. */);
w32_multibyte_code_page = _getmbcp ();
if (os_subtype == OS_NT)
w32_unicode_gui = 1;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment