patch 8.2.4759: CurSearch highlight does not work for multi-line match

Problem:    CurSearch highlight does not work for multi-line match.
Solution:   Check cursor position before adjusting columns. (closes #10133)
diff --git a/src/match.c b/src/match.c
index d74d8d7..9edba8d 100644
--- a/src/match.c
+++ b/src/match.c
@@ -396,6 +396,7 @@
 	shl->rm.endpos[0].lnum = 0;
 	shl->rm.endpos[0].col = end;
 	shl->is_addpos = TRUE;
+	shl->has_cursor = FALSE;
 	posmatch->cur = found + 1;
 	return 1;
     }
@@ -655,6 +656,7 @@
 	shl->lines = 0;
 	shl->attr_cur = 0;
 	shl->is_addpos = FALSE;
+	shl->has_cursor = FALSE;
 	if (cur != NULL)
 	    cur->pos.cur = 0;
 	next_search_hl(wp, search_hl, shl, lnum, mincol,
@@ -679,6 +681,17 @@
 		shl->lines = shl->rm.endpos[0].lnum - shl->rm.startpos[0].lnum;
 	    else
 		shl->lines = 1;
+
+	    // check if the cursor is in the match before changing the columns
+	    if (wp->w_cursor.lnum >= shl->lnum
+			&& wp->w_cursor.lnum
+					  <= shl->lnum + shl->rm.endpos[0].lnum
+			&& (wp->w_cursor.lnum > shl->lnum
+				|| wp->w_cursor.col >= shl->rm.startpos[0].col)
+			&& (wp->w_cursor.lnum < shl->lnum + shl->lines
+				  || wp->w_cursor.col < shl->rm.endpos[0].col))
+		shl->has_cursor = TRUE;
+
 	    // Highlight one character for an empty match.
 	    if (shl->startcol == shl->endcol)
 	    {
@@ -775,14 +788,8 @@
 # endif
 		// Highlight the match were the cursor is using the CurSearch
 		// group.
-		if (shl == search_hl
-			&& wp->w_cursor.lnum >= shl->lnum
-			&& wp->w_cursor.lnum < shl->lnum + shl->lines
-			&& wp->w_cursor.col >= shl->startcol
-			&& wp->w_cursor.col < shl->endcol)
-		{
+		if (shl == search_hl && shl->has_cursor)
 		    shl->attr_cur = HL_ATTR(HLF_LC);
-		}
 
 	    }
 	    else if (col == shl->endcol)