diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-06-29 11:37:55 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-29 11:37:55 +0800 |
commit | 7d0a23973b7d0804089e3bfeb2372f4b818d6046 (patch) | |
tree | 228b2c9457a6119e0d51d5124da73232a41e8344 /src/nvim/drawline.c | |
parent | d90f5ab9ac0d9c9938510a187ddd8ecf28eb6d61 (diff) | |
download | rneovim-7d0a23973b7d0804089e3bfeb2372f4b818d6046.tar.gz rneovim-7d0a23973b7d0804089e3bfeb2372f4b818d6046.tar.bz2 rneovim-7d0a23973b7d0804089e3bfeb2372f4b818d6046.zip |
fix(column): handle unprintable chars in 'statuscolumn' (#24198)
Diffstat (limited to 'src/nvim/drawline.c')
-rw-r--r-- | src/nvim/drawline.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/nvim/drawline.c b/src/nvim/drawline.c index b8dc1297cc..7aad47df00 100644 --- a/src/nvim/drawline.c +++ b/src/nvim/drawline.c @@ -747,6 +747,11 @@ static void get_statuscol_display_info(statuscol_T *stcp, winlinevars_T *wlv) } // Skip over empty highlight sections } while (wlv->n_extra == 0 && stcp->textp < stcp->text_end); + if (wlv->n_extra > 0) { + static char transbuf[MAX_NUMBERWIDTH * MB_MAXBYTES + 1]; + wlv->n_extra = (int)transstr_buf(wlv->p_extra, wlv->n_extra, transbuf, sizeof transbuf, true); + wlv->p_extra = transbuf; + } } static void handle_breakindent(win_T *wp, winlinevars_T *wlv) |