patch 8.2.2633: multi-byte 'fillchars' for folding do not show properly
Problem: Multi-byte 'fillchars' for folding do not show properly.
Solution: Handle multi-byte characters correctly. (Yegappan Lakshmanan,
closes #7983, closes #7955)
diff --git a/src/screen.c b/src/screen.c
index 84951c5..d219b13 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -295,8 +295,13 @@
if (closed)
{
if (symbol != 0)
- // rollback length
+ {
+ // rollback length and the character
byte_counter -= len;
+ if (len > 1)
+ // for a multibyte character, erase all the bytes
+ vim_memset(p + byte_counter, ' ', len);
+ }
symbol = fill_foldclosed;
len = utf_char2bytes(symbol, &p[byte_counter]);
byte_counter += len;