aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/drawline.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2023-06-29 11:37:55 +0800
committerGitHub <noreply@github.com>2023-06-29 11:37:55 +0800
commit7d0a23973b7d0804089e3bfeb2372f4b818d6046 (patch)
tree228b2c9457a6119e0d51d5124da73232a41e8344 /src/nvim/drawline.c
parentd90f5ab9ac0d9c9938510a187ddd8ecf28eb6d61 (diff)
downloadrneovim-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.c5
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)