From e3daa06be1a3ba7ced0735582467d092275e591c Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sun, 27 Aug 2023 19:11:46 +0200 Subject: patch 9.0.1802: Multiline regex with Visual selection fails with virtual text Problem: Multiline regex with Visual selection fails when Visual selection contains virtual text after last char. Solution: Only include virtual text after last char when getting full line length. closes: #12908 Signed-off-by: Christian Brabandt Co-authored-by: zeertzjq --- src/charset.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/charset.c') diff --git a/src/charset.c b/src/charset.c index 7901479d43..1c7f7d7913 100644 --- a/src/charset.c +++ b/src/charset.c @@ -809,7 +809,7 @@ win_linetabsize_cts(chartabsize_T *cts, colnr_T len) cts->cts_vcol += win_lbr_chartabsize(cts, NULL); #ifdef FEAT_PROP_POPUP // check for a virtual text at the end of a line or on an empty line - if (cts->cts_has_prop_with_text && *cts->cts_ptr == NUL) + if (len == MAXCOL && cts->cts_has_prop_with_text && *cts->cts_ptr == NUL) { (void)win_lbr_chartabsize(cts, NULL); cts->cts_vcol += cts->cts_cur_text_width; @@ -1196,8 +1196,7 @@ win_lbr_chartabsize( || (tp->tp_col == MAXCOL && ((tp->tp_flags & TP_FLAG_ALIGN_ABOVE) ? col == 0 - : s[0] == NUL - && cts->cts_with_trailing))) + : s[0] == NUL && cts->cts_with_trailing))) && -tp->tp_id - 1 < gap->ga_len) { char_u *p = ((char_u **)gap->ga_data)[-tp->tp_id - 1]; -- cgit v1.2.3