diff src/screen.c @ 6430:d2239abd3edb v7.4.545

updated for version 7.4.545 Problem: Highlighting for multi-line matches is not correct. Solution: Stop highlight at the end of the match. (Hirohito Higashi)
author Bram Moolenaar <bram@vim.org>
date Sat, 13 Dec 2014 03:36:39 +0100
parents 5f49ac8426df
children b5df99582638
line wrap: on
line diff
--- a/src/screen.c
+++ b/src/screen.c
@@ -3864,9 +3864,15 @@ win_line(wp, lnum, startrow, endrow, noc
 				&& 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);