]> granicus.if.org Git - vim/commitdiff
patch 8.0.1349: options test fails when using Motif or GTK GUI v8.0.1349
authorBram Moolenaar <Bram@vim.org>
Sun, 26 Nov 2017 22:47:18 +0000 (23:47 +0100)
committerBram Moolenaar <Bram@vim.org>
Sun, 26 Nov 2017 22:47:18 +0000 (23:47 +0100)
Problem:    Options test fails when using Motif or GTK GUI.
Solution:   Use "fixed" instead of "fixedsys" for Unix. Don't try "xxx" for
            guifonteset.  Don't set 'termencoding' to anything but "utf-8" for
            GTK.  Give an error if 'termencoding' can't be converted.

src/option.c
src/testdir/gen_opt_test.vim
src/version.c

index a867608606c3e5097e72e061f9ba5c7d96f819cf..c97056bde1af758a042634fd99144dd7f24ded62 100644 (file)
@@ -6369,8 +6369,13 @@ did_set_string_option(
             * display output conversion. */
            if (((varp == &p_enc && *p_tenc != NUL) || varp == &p_tenc))
            {
-               convert_setup(&input_conv, p_tenc, p_enc);
-               convert_setup(&output_conv, p_enc, p_tenc);
+               if (convert_setup(&input_conv, p_tenc, p_enc) == FAIL
+                       || convert_setup(&output_conv, p_enc, p_tenc) == FAIL)
+               {
+                   EMSG3(_("E950: Cannot convert between %s and %s"),
+                           p_tenc, p_enc);
+                   errmsg = e_invarg;
+               }
            }
 
 # if defined(WIN3264) && defined(FEAT_MBYTE)
index 32283c99bf4ff0d34de4787badfc8416f5ecf7d2..4edf44aafd2d22c4af09bf5aed6789a3087d08ba 100644 (file)
@@ -19,6 +19,9 @@ let script = [
 /#define p_term
 let end = line('.')
 
+" font name that works everywhere (hopefully)
+let fontname = has('win32') ? 'fixedsys' : 'fixed'
+
 " Two lists with values: values that work and values that fail.
 " When not listed, "othernum" or "otherstring" is used.
 let test_values = {
@@ -93,8 +96,9 @@ let test_values = {
       \ 'foldmarker': [['((,))'], ['', 'xxx']],
       \ 'formatoptions': [['', 'vt', 'v,t'], ['xxx']],
       \ 'guicursor': [['', 'n:block-Cursor'], ['xxx']],
-      \ 'guifont': [['', 'fixedsys'], []],
-      \ 'guifontwide': [['', 'fixedsys'], []],
+      \ 'guifont': [['', fontname], []],
+      \ 'guifontwide': [['', fontname], []],
+      \ 'guifontset': [['', fontname], []],
       \ 'helplang': [['', 'de', 'de,it'], ['xxx']],
       \ 'highlight': [['', 'e:Error'], ['xxx']],
       \ 'imactivatekey': [['', 'S-space'], ['xxx']],
@@ -126,6 +130,7 @@ let test_values = {
       \ 'tagcase': [['smart', 'match'], ['', 'xxx', 'smart,match']],
       \ 'term': [[], []],
       \ 'termsize': [['', '24x80', '0x80', '32x0', '0x0'], ['xxx', '80', '8ax9', '24x80b']],
+      \ 'termencoding': [has('gui_gtk') ? [] : ['', 'utf-8'], ['xxx']],
       \ 'toolbar': [['', 'icons', 'text'], ['xxx']],
       \ 'toolbariconsize': [['', 'tiny', 'huge'], ['xxx']],
       \ 'ttymouse': [['', 'xterm'], ['xxx']],
@@ -189,8 +194,11 @@ while 1
       call add(script, "endif")
     endif
 
-    call add(script, 'set ' . name . '&')
-    call add(script, 'set ' . shortname . '&')
+    " cannot change 'termencoding' in GTK
+    if name != 'termencoding' || !has('gui_gtk')
+      call add(script, 'set ' . name . '&')
+      call add(script, 'set ' . shortname . '&')
+    endif
     if name == 'verbosefile'
       call add(script, 'call delete("xxx")')
     endif
index 8f0625d89cbe3362d3606355ad9f7fdf523179b2..d44289ace89587ed76dd13de5761f9a21be3ae7e 100644 (file)
@@ -771,6 +771,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1349,
 /**/
     1348,
 /**/