diff --git a/src/screen.c b/src/screen.c index d395138628..e7b8e78d78 100644 --- a/src/screen.c +++ b/src/screen.c @@ -3864,9 +3864,15 @@ win_line(wp, lnum, startrow, endrow, nochange) && v >= (long)shl->startcol && v < (long)shl->endcol) { +#ifdef FEAT_MBYTE + int tmp_col = v + MB_PTR2LEN(ptr); + + if (shl->endcol < tmp_col) + shl->endcol = tmp_col; +#endif shl->attr_cur = shl->attr; } - else if (v >= (long)shl->endcol && shl->lnum == lnum) + else if (v == (long)shl->endcol) { shl->attr_cur = 0; next_search_hl(wp, shl, lnum, (colnr_T)v, cur); diff --git a/src/version.c b/src/version.c index ba5f6b3bf0..1d63121acd 100644 --- a/src/version.c +++ b/src/version.c @@ -741,6 +741,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 545, /**/ 544, /**/