diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-03-10 07:18:49 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2022-03-10 07:40:52 +0800 |
commit | 3011794c8600f529bc049983a64ca99ae03908df (patch) | |
tree | 9c28c3e3d13a011a43058b16c59b0807c8c39910 /src/nvim/api/vim.c | |
parent | a978d7689db7aafb992b339f788cdd038750949e (diff) | |
download | rneovim-3011794c8600f529bc049983a64ca99ae03908df.tar.gz rneovim-3011794c8600f529bc049983a64ca99ae03908df.tar.bz2 rneovim-3011794c8600f529bc049983a64ca99ae03908df.zip |
feat(api): relax statusline fillchar width check
Treat fillchar as single-width even if it isn't.
Diffstat (limited to 'src/nvim/api/vim.c')
-rw-r--r-- | src/nvim/api/vim.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index c37df45c14..1a324bfaa5 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -2241,7 +2241,7 @@ Array nvim_get_mark(String name, Dictionary opts, Error *err) /// - winid: (number) |window-ID| of the window to use as context for statusline. /// - maxwidth: (number) Maximum width of statusline. /// - fillchar: (string) Character to fill blank spaces in the statusline (see -/// 'fillchars'). +/// 'fillchars'). Treated as single-width even if it isn't. /// - highlights: (boolean) Return highlight information. /// - use_tabline: (boolean) Evaluate tabline instead of statusline. When |TRUE|, {winid} /// is ignored. @@ -2277,11 +2277,12 @@ Dictionary nvim_eval_statusline(String str, Dict(eval_statusline) *opts, Error * if (HAS_KEY(opts->fillchar)) { if (opts->fillchar.type != kObjectTypeString || opts->fillchar.data.string.size == 0 - || char2cells(fillchar = utf_ptr2char((char_u *)opts->fillchar.data.string.data)) != 1 - || (size_t)utf_char2len(fillchar) != opts->fillchar.data.string.size) { - api_set_error(err, kErrorTypeValidation, "fillchar must be a single-width character"); + || ((size_t)utf_ptr2len((char_u *)opts->fillchar.data.string.data) + != opts->fillchar.data.string.size)) { + api_set_error(err, kErrorTypeValidation, "fillchar must be a single character"); return result; } + fillchar = utf_ptr2char((char_u *)opts->fillchar.data.string.data); } if (HAS_KEY(opts->highlights)) { |