patch 9.1.1136: Match highlighting marks a buffer region as changed

Problem:  Match highlighting marks a buffer region to be redrawn as if
          its buffer text was changed, unnecessarily invoking syntax code.
Solution: Set the `w_redraw_top/bot` variables instead of the b_mod_* ones
          (Luuk van Baal)

closes: #16697

Signed-off-by: Luuk van Baal <luukvbaal@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/match.c b/src/match.c
index bc50757..ef25879 100644
--- a/src/match.c
+++ b/src/match.c
@@ -187,20 +187,7 @@
 	// Calculate top and bottom lines for redrawing area
 	if (toplnum != 0)
 	{
-	    if (wp->w_buffer->b_mod_set)
-	    {
-		if (wp->w_buffer->b_mod_top > toplnum)
-		    wp->w_buffer->b_mod_top = toplnum;
-		if (wp->w_buffer->b_mod_bot < botlnum)
-		    wp->w_buffer->b_mod_bot = botlnum;
-	    }
-	    else
-	    {
-		wp->w_buffer->b_mod_set = TRUE;
-		wp->w_buffer->b_mod_top = toplnum;
-		wp->w_buffer->b_mod_bot = botlnum;
-		wp->w_buffer->b_mod_xlines = 0;
-	    }
+	    redraw_win_range_later(wp, toplnum, botlnum);
 	    m->mit_toplnum = toplnum;
 	    m->mit_botlnum = botlnum;
 	    rtype = UPD_VALID;
@@ -269,20 +256,7 @@
     vim_free(cur->mit_pattern);
     if (cur->mit_toplnum != 0)
     {
-	if (wp->w_buffer->b_mod_set)
-	{
-	    if (wp->w_buffer->b_mod_top > cur->mit_toplnum)
-		wp->w_buffer->b_mod_top = cur->mit_toplnum;
-	    if (wp->w_buffer->b_mod_bot < cur->mit_botlnum)
-		wp->w_buffer->b_mod_bot = cur->mit_botlnum;
-	}
-	else
-	{
-	    wp->w_buffer->b_mod_set = TRUE;
-	    wp->w_buffer->b_mod_top = cur->mit_toplnum;
-	    wp->w_buffer->b_mod_bot = cur->mit_botlnum;
-	    wp->w_buffer->b_mod_xlines = 0;
-	}
+	redraw_win_range_later(wp, cur->mit_toplnum, cur->mit_botlnum);
 	rtype = UPD_VALID;
     }
     vim_free(cur->mit_pos_array);