summaryrefslogtreecommitdiffstats
path: root/src/drawline.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-06-07 10:16:15 +0100
committerBram Moolenaar <Bram@vim.org>2022-06-07 10:16:15 +0100
commitaca12fd89b082dd9cc12ae085a84f1805747bbdf (patch)
tree26a818cb12679b9c8bf490de3617312be4932691 /src/drawline.c
parent739f7998ab6c2383abbd8bbc7fad35e6bc3e7c43 (diff)
patch 8.2.5066: timer_create is not available on every Mac systemv8.2.5066
Problem: Timer_create is not available on every Mac system. (Hisashi T Fujinaka) Solution: Adjust #ifdef.
Diffstat (limited to 'src/drawline.c')
-rw-r--r--src/drawline.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/drawline.c b/src/drawline.c
index a8739fe3d1..59c62c79d3 100644
--- a/src/drawline.c
+++ b/src/drawline.c
@@ -767,6 +767,7 @@ win_line(
{
if (wp->w_lcs_chars.space
|| wp->w_lcs_chars.multispace != NULL
+ || wp->w_lcs_chars.leadmultispace != NULL
|| wp->w_lcs_chars.trail
|| wp->w_lcs_chars.lead
|| wp->w_lcs_chars.nbsp)
@@ -781,7 +782,7 @@ win_line(
trailcol += (colnr_T) (ptr - line);
}
// find end of leading whitespace
- if (wp->w_lcs_chars.lead)
+ if (wp->w_lcs_chars.lead || wp->w_lcs_chars.leadmultispace != NULL)
{
leadcol = 0;
while (VIM_ISWHITE(ptr[leadcol]))
@@ -2118,8 +2119,24 @@ win_line(
if ((trailcol != MAXCOL && ptr > line + trailcol && c == ' ')
|| (leadcol != 0 && ptr < line + leadcol && c == ' '))
{
- c = (ptr > line + trailcol) ? wp->w_lcs_chars.trail
- : wp->w_lcs_chars.lead;
+ if (leadcol != 0 && in_multispace && ptr < line + leadcol
+ && wp->w_lcs_chars.leadmultispace != NULL)
+ {
+ c = wp->w_lcs_chars.leadmultispace[multispace_pos++];
+ if (wp->w_lcs_chars.leadmultispace[multispace_pos] == NUL)
+ multispace_pos = 0;
+ }
+
+ else if (ptr > line + trailcol && wp->w_lcs_chars.trail)
+ c = wp->w_lcs_chars.trail;
+
+ else if (ptr < line + leadcol && wp->w_lcs_chars.lead)
+ c = wp->w_lcs_chars.lead;
+
+ else if (leadcol != 0 && c == ' ' && wp->w_lcs_chars.space)
+ c = wp->w_lcs_chars.space;
+
+
if (!attr_pri)
{
n_attr = 1;