Mercurial > vim
diff src/edit.c @ 32981:2415680a2554 v9.0.1783
commit b557f4898208105b674df605403cac1b1292707b
Author: zeertzjq <zeertzjq@outlook.com>
Date: Tue Aug 22 22:07:34 2023 +0200
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 <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 24 Aug 2023 07:47:10 +0200 |
parents | 695b50472e85 |
children | 9c4ee9389bb4 |
line wrap: on
line diff
--- 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();