summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorK.Takata <kentkt@csc.jp>2021-05-31 18:40:49 +0200
committerBram Moolenaar <Bram@vim.org>2021-05-31 18:40:49 +0200
commitef8706fb84cfe8bd58b1b26b0742e42caf09655b (patch)
tree7f8f75d086eb8f3248077fefdcf3d2201e4e600e
parent2fa9384ca1b600b934bec81a72c5fb7ce757503a (diff)
patch 8.2.2915: MS-Windows: when using "default" for encoding utf-8 is usedv8.2.2915
Problem: MS-Windows: when using "default" for encoding utf-8 is used. Solution: Use the system encoding. (Ken Takata, closes #8300)
-rw-r--r--runtime/doc/options.txt7
-rw-r--r--src/mbyte.c5
-rw-r--r--src/version.c2
3 files changed, 11 insertions, 3 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index b2b79cb081..d3adbd0c90 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -3116,9 +3116,10 @@ A jump table for the options with a short description can be found at |Q_op|.
because Vim cannot detect an error, thus the encoding is always
accepted.
The special value "default" can be used for the encoding from the
- environment. This is the default value for 'encoding'. It is useful
- when 'encoding' is set to "utf-8" and your environment uses a
- non-latin1 encoding, such as Russian.
+ environment. On MS-Windows this is the system encoding. Otherwise
+ this is the default value for 'encoding'. It is useful when
+ 'encoding' is set to "utf-8" and your environment uses a non-latin1
+ encoding, such as Russian.
When 'encoding' is "utf-8" and a file contains an illegal byte
sequence it won't be recognized as UTF-8. You can use the |8g8|
command to find the illegal byte sequence.
diff --git a/src/mbyte.c b/src/mbyte.c
index f3fdc32e8e..697e58520f 100644
--- a/src/mbyte.c
+++ b/src/mbyte.c
@@ -4453,8 +4453,13 @@ enc_canonize(char_u *enc)
if (STRCMP(enc, "default") == 0)
{
+#ifdef MSWIN
+ // Use the system encoding, the default is always utf-8.
+ r = enc_locale();
+#else
// Use the default encoding as it's found by set_init_1().
r = get_encoding_default();
+#endif
if (r == NULL)
r = (char_u *)ENC_DFLT;
return vim_strsave(r);
diff --git a/src/version.c b/src/version.c
index 56ce534053..858477852b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2915,
+/**/
2914,
/**/
2913,