changeset 4887:dc78a26f6f64 v7.3.1189

updated for version 7.3.1189 Problem: Highlighting is still wrong sometimes. (Dominique Pelle) Solution: Also restore reginput properly.
author Bram Moolenaar <bram@vim.org>
date Thu, 13 Jun 2013 22:59:30 +0200
parents 2eea5ec69c67
children c628346c7f96
files src/regexp_nfa.c src/version.c
diffstat 2 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -4495,7 +4495,7 @@ recursive_regmatch(state, pim, prog, sub
     regsubs_T	    *m;
     int		    **listids;
 {
-    char_u	*save_reginput = reginput;
+    int		save_reginput_col = (int)(reginput - regline);
     int		save_reglnum = reglnum;
     int		save_nfa_match = nfa_match;
     int		save_nfa_listid = nfa_listid;
@@ -4632,10 +4632,10 @@ recursive_regmatch(state, pim, prog, sub
     }
 
     /* restore position in input text */
-    reginput = save_reginput;
     reglnum = save_reglnum;
     if (REG_MULTI)
 	regline = reg_getline(reglnum);
+    reginput = regline + save_reginput_col;
     nfa_match = save_nfa_match;
     nfa_endp = save_nfa_endp;
     nfa_listid = save_nfa_listid;
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1189,
+/**/
     1188,
 /**/
     1187,