patch 9.0.0157: 'showbreak' displayed below truncated "after" text prop
Problem: 'showbreak' displayed below truncated "after" text prop.
Solution: Suppress 'showbreak' when "after" prop doesn't wrap.
diff --git a/src/charset.c b/src/charset.c
index b245bd7..27213e9 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -1094,6 +1094,7 @@
int tab_corr = (*s == TAB);
int n;
char_u *sbr;
+ int no_sbr = FALSE;
#endif
#if defined(FEAT_PROP_POPUP)
@@ -1155,7 +1156,7 @@
if (tp->tp_col == MAXCOL)
{
int below = (tp->tp_flags & TP_FLAG_ALIGN_BELOW);
- int wrap = (tp->tp_flags & TP_FLAG_WRAP);
+ int wrap = (tp->tp_flags & TP_FLAG_WRAP);
int len = (int)STRLEN(p);
int n_used = len;
@@ -1168,6 +1169,9 @@
// "after"
if (below)
cells += wp->w_width - (vcol + size) % wp->w_width;
+#ifdef FEAT_LINEBREAK
+ no_sbr = TRUE; // don't use 'showbreak' now
+#endif
}
cts->cts_cur_text_width += cells;
size += cells;
@@ -1242,7 +1246,7 @@
* Do not use 'showbreak' at the NUL after the text.
*/
added = 0;
- sbr = c == NUL ? empty_option : get_showbreak_value(wp);
+ sbr = (c == NUL || no_sbr) ? empty_option : get_showbreak_value(wp);
if ((*sbr != NUL || wp->w_p_bri) && wp->w_p_wrap && vcol != 0)
{
colnr_T sbrlen = 0;