]> granicus.if.org Git - vim/commitdiff
patch 8.2.4439: accepting "iso8859" 'encoding' as "iso-8859-" v8.2.4439
authorBram Moolenaar <Bram@vim.org>
Tue, 22 Feb 2022 12:34:28 +0000 (12:34 +0000)
committerBram Moolenaar <Bram@vim.org>
Tue, 22 Feb 2022 12:34:28 +0000 (12:34 +0000)
Problem:    Accepting "iso8859" 'encoding' as "iso-8859-".
Solution:   use "iso8859" as "iso-8859-1".

src/mbyte.c
src/testdir/test_options.vim
src/version.c

index 2f4edd53af68d44090ca1a62e96a0e32d20f99dc..78230f65e7ef7b9dec47e24f92262dc0b09836bd 100644 (file)
@@ -318,6 +318,7 @@ enc_alias_table[] =
 {
     {"ansi",           IDX_LATIN_1},
     {"iso-8859-1",     IDX_LATIN_1},
+    {"iso-8859",       IDX_LATIN_1},
     {"latin2",         IDX_ISO_2},
     {"latin3",         IDX_ISO_3},
     {"latin4",         IDX_ISO_4},
@@ -4523,7 +4524,7 @@ enc_canonize(char_u *enc)
        }
 
        // "iso-8859n" -> "iso-8859-n"
-       if (STRNCMP(p, "iso-8859", 8) == 0 && p[8] != '-')
+       if (STRNCMP(p, "iso-8859", 8) == 0 && isdigit(p[8]))
        {
            STRMOVE(p + 9, p + 8);
            p[8] = '-';
index 2af13d94f44e549f6204823b9e3927b8d726f865..9ba2ce441ef10c3d1c607ec4ecbafdfb782df4e5 100644 (file)
@@ -445,6 +445,31 @@ func Test_set_errors()
   call assert_fails('set t_#-&', 'E522:')
 endfunc
 
+func Test_set_encoding()
+  let save_encoding = &encoding
+
+  set enc=iso8859-1
+  call assert_equal('latin1', &enc)
+  set enc=iso8859_1
+  call assert_equal('latin1', &enc)
+  set enc=iso-8859-1
+  call assert_equal('latin1', &enc)
+  set enc=iso_8859_1
+  call assert_equal('latin1', &enc)
+  set enc=iso88591
+  call assert_equal('latin1', &enc)
+  set enc=iso8859
+  call assert_equal('latin1', &enc)
+  set enc=iso-8859
+  call assert_equal('latin1', &enc)
+  set enc=iso_8859
+  call assert_equal('latin1', &enc)
+  call assert_fails('set enc=iso8858', 'E474:')
+  call assert_equal('latin1', &enc)
+
+  let &encoding = save_encoding
+endfunc
+
 func CheckWasSet(name)
   let verb_cm = execute('verbose set ' .. a:name .. '?')
   call assert_match('Last set from.*test_options.vim', verb_cm)
index 399aef93c27763cfc2815fbcfb613068409bd0d8..23f45b5c17c0708a56e3f168febb492fed82f954 100644 (file)
@@ -750,6 +750,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    4439,
 /**/
     4438,
 /**/