patch 7.4.1141
Problem:    Using searchpair() with a skip expression that uses syntax
            highlighting sometimes doesn't work. (David Fishburn)
Solution:   Reset next_match_idx. (Christian Brabandt)
diff --git a/src/syntax.c b/src/syntax.c
index badb226..6e1a5e2 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -6474,6 +6474,12 @@
 	    || lnum != current_lnum
 	    || col < current_col)
 	syntax_start(wp, lnum);
+    else if (wp->w_buffer == syn_buf
+	    && lnum == current_lnum
+	    && col > current_col)
+	/* next_match may not be correct when moving around, e.g. with the
+	 * "skip" expression in searchpair() */
+	next_match_idx = -1;
 
     (void)get_syntax_attr(col, spellp, keep_state);