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);