summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDylan Thacker-Smith <dylan.ah.smith@gmail.com>2024-02-24 10:17:11 +0100
committerChristian Brabandt <cb@256bit.org>2024-02-24 10:17:11 +0100
commitf548ae7b6357c7934411df243bc987800c9b76d1 (patch)
tree535f636866aa6e5a21dedc6351badd388758be55
parenta35235e824bb77df0cebdb2bd290e13f1201b292 (diff)
patch 9.1.0129: Fix truncation of text_wrap 'wrap' virt text after EOL list charv9.1.0129
Problem: Virtual text with text_wrap 'wrap' was effectively being truncated by a break conditional on the EOL list character being added to the screen line. (BigPeet) Solution: Remove the condition that was leading to the early break and instead fix a similar but incorrectly written outer condition that checks if there is more to add at the end of the screen line. (Dylan Thacker-Smith) Also, related: - update comment in win_line() - remove no longer necessary at_end_str variable in win_line() fixes: #12725 closes: #14079 Co-authored-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
-rw-r--r--src/drawline.c16
-rw-r--r--src/version.c2
2 files changed, 7 insertions, 11 deletions
diff --git a/src/drawline.c b/src/drawline.c
index 3499d39e77..0bb7ed57d5 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -1121,8 +1121,6 @@ win_line(
#if defined(FEAT_LINEBREAK) && defined(FEAT_PROP_POPUP)
int in_linebreak = FALSE; // n_extra set for showing linebreak
#endif
- static char_u *at_end_str = (char_u *)""; // used for p_extra when
- // displaying eol at end-of-line
int lcs_eol_one = wp->w_lcs_chars.eol; // eol until it's been used
int lcs_prec_todo = wp->w_lcs_chars.prec;
// prec until it's been used
@@ -3304,7 +3302,7 @@ win_line(
if (!(area_highlighting && virtual_active()
&& wlv.tocol != MAXCOL
&& wlv.vcol < wlv.tocol))
- wlv.p_extra = at_end_str;
+ wlv.p_extra = (char_u *)"";
wlv.n_extra = 0;
}
if (wp->w_p_list && wp->w_lcs_chars.eol > 0)
@@ -4116,7 +4114,7 @@ win_line(
|| text_prop_next <= last_textprop_text_idx
#endif
|| (wp->w_p_list && wp->w_lcs_chars.eol != NUL
- && wlv.p_extra != at_end_str)
+ && lcs_eol_one != -1)
|| (wlv.n_extra != 0 && (wlv.c_extra != NUL
|| *wlv.p_extra != NUL)))
)
@@ -4133,18 +4131,14 @@ win_line(
++wlv.row;
++wlv.screen_row;
- // When not wrapping and finished diff lines, or when displayed
- // '$' and highlighting until last column, break here.
- if (((!wp->w_p_wrap
+ // When not wrapping and finished diff lines, break here.
+ if (!wp->w_p_wrap
#ifdef FEAT_DIFF
&& wlv.filler_todo <= 0
#endif
#ifdef FEAT_PROP_POPUP
&& !text_prop_above
-#endif
- ) || lcs_eol_one == -1)
-#ifdef FEAT_PROP_POPUP
- && !text_prop_follows
+ && !text_prop_follows
#endif
)
break;
diff --git a/src/version.c b/src/version.c
index 9b38a34964..3ea94ee92a 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 129,
+/**/
128,
/**/
127,