# HG changeset patch # User Christian Brabandt # Date 1511737205 -3600 # Node ID eae40b455a72de453cc0128418b77f458ebe56d9 # Parent ffe901f0ba65f86e894b3de6edc8321206acb8f4 patch 8.0.1349: options test fails when using Motif or GTK GUI commit https://github.com/vim/vim/commit/17471e84a72b5137a6010a98c4adb780237750db Author: Bram Moolenaar Date: Sun Nov 26 23:47:18 2017 +0100 patch 8.0.1349: options test fails when using Motif or GTK GUI 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. diff --git a/src/option.c b/src/option.c --- a/src/option.c +++ b/src/option.c @@ -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) diff --git a/src/testdir/gen_opt_test.vim b/src/testdir/gen_opt_test.vim --- a/src/testdir/gen_opt_test.vim +++ b/src/testdir/gen_opt_test.vim @@ -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 diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -772,6 +772,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1349, +/**/ 1348, /**/ 1347,