changeset 7685:616460b73ee3 v7.4.1141

commit https://github.com/vim/vim/commit/6773a348da0dcf45df3c6c6649880655ec0d2042 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Jan 19 20:52:44 2016 +0100 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)
author Christian Brabandt <cb@256bit.org>
date Tue, 19 Jan 2016 21:00:07 +0100
parents da0e26e23076
children fad587cb360a
files src/syntax.c src/version.c
diffstat 2 files changed, 8 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -6474,6 +6474,12 @@ syn_get_id(wp, lnum, col, trans, spellp,
 	    || 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);
 
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1141,
+/**/
     1140,
 /**/
     1139,