From b557f4898208105b674df605403cac1b1292707b Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Tue, 22 Aug 2023 22:07:34 +0200 Subject: patch 9.0.1783: Display issues with virt text smoothscroll and showbreak Problem: Wrong display with wrapping virtual text or unprintable chars, 'showbreak' and 'smoothscroll'. Solution: Don't skip cells taken by 'showbreak' in screen lines before "w_skipcol". Combined "n_skip" and "skip_cells". closes: #12597 Signed-off-by: Christian Brabandt Co-authored-by: zeertzjq --- src/edit.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/edit.c') diff --git a/src/edit.c b/src/edit.c index d1b70160f5..0c902f895f 100644 --- a/src/edit.c +++ b/src/edit.c @@ -3705,8 +3705,13 @@ ins_esc( State = MODE_NORMAL; may_trigger_modechanged(); - // need to position cursor again when on a TAB - if (gchar_cursor() == TAB) + // need to position cursor again when on a TAB and when on a char with + // virtual text. + if (gchar_cursor() == TAB +#ifdef FEAT_PROP_POPUP + || curbuf->b_has_textprop +#endif + ) curwin->w_valid &= ~(VALID_WROW|VALID_WCOL|VALID_VIRTCOL); setmouse(); -- cgit v1.2.3