diff --git a/src/nvim/statusline.c b/src/nvim/statusline.c index 8bf783020b..005a52b675 100644 --- a/src/nvim/statusline.c +++ b/src/nvim/statusline.c @@ -2034,7 +2034,7 @@ stcsign: // add characters at the separate marker (if there is one) to // fill up the available space. } else if (width < maxwidth - && outputlen + (size_t)(maxwidth - width) + 1 < outlen) { + && outputlen + (size_t)(maxwidth - width) * schar_len(fillchar) + 1 < outlen) { // Find how many separators there are, which we will use when // figuring out how many groups there are. int num_separators = 0; diff --git a/test/unit/statusline_spec.lua b/test/unit/statusline_spec.lua index a97a4f41d7..1388063a92 100644 --- a/test/unit/statusline_spec.lua +++ b/test/unit/statusline_spec.lua @@ -12,7 +12,7 @@ local stl = t.cimport('./src/nvim/statusline.h') local grid = t.cimport('./src/nvim/grid.h') describe('build_stl_str_hl', function() - local buffer_byte_size = 100 + local buffer_byte_size = 120 local STL_INITIAL_ITEMS = 20 local output_buffer = ''