From 5c3bd0a0fbf982c230cbf06304d4c9e0b5e40065 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar <Bram@vim.org> Date: Wed, 4 Aug 2010 20:55:44 +0200 Subject: [PATCH] Disallow setting 'ambiwidth' to "double" when 'listchars' or 'fillchars' contains a character that would become double width. --- runtime/doc/options.txt | 5 ++++- src/option.c | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 5f57ed5802..b1539bbe04 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 7.3e. Last change: 2010 Aug 01 +*options.txt* For Vim version 7.3e. Last change: 2010 Aug 04 VIM REFERENCE MANUAL by Bram Moolenaar @@ -665,6 +665,9 @@ A jump table for the options with a short description can be found at |Q_op|. "single": Use the same width as characters in US-ASCII. This is expected by most users. "double": Use twice the width of ASCII characters. + *E834* *E835* + The value "double" cannot be used if 'listchars' or 'fillchars' + contains a character that would be double width. There are a number of CJK fonts for which the width of glyphs for those characters are solely based on how many octets they take in diff --git a/src/option.c b/src/option.c index fc384536a7..b137fa4530 100644 --- a/src/option.c +++ b/src/option.c @@ -5745,6 +5745,12 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf, { if (check_opt_strings(p_ambw, p_ambw_values, FALSE) != OK) errmsg = e_invarg; + else if (set_chars_option(&p_lcs) != NULL) + errmsg = (char_u *)_("E834: Conflicts with value of 'listchars'"); +# if defined(FEAT_WINDOWS) || defined(FEAT_FOLDING) + else if (set_chars_option(&p_fcs) != NULL) + errmsg = (char_u *)_("E835: Conflicts with value of 'fillchars'"); +# endif } #endif -- GitLab