From: Bram Moolenaar Date: Wed, 24 Feb 2010 16:22:20 +0000 (+0100) Subject: updated for version 7.2.376 X-Git-Tag: v7.2.376 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=72b73c12dc28e03a195f932c9f99bccfce92506a;p=vim updated for version 7.2.376 Problem: ml_get error when using SiSU syntax. (Nathan Thomas) Solution: If the match ends below the last line move it to the end of the last line. --- diff --git a/src/syntax.c b/src/syntax.c index 424605850..355d41ce4 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -3086,6 +3086,12 @@ syn_add_start_off(result, regmatch, spp, idx, extra) col = regmatch->startpos[0].col; off = spp->sp_offsets[idx]; } + if (result->lnum > syn_buf->b_ml.ml_line_count) + { + /* a "\n" at the end of the pattern may take us below the last line */ + result->lnum = syn_buf->b_ml.ml_line_count; + col = STRLEN(ml_get_buf(syn_buf, result->lnum, FALSE)); + } if (off != 0) { base = ml_get_buf(syn_buf, result->lnum, FALSE); diff --git a/src/version.c b/src/version.c index 9fc3f570b..1eff44f1e 100644 --- a/src/version.c +++ b/src/version.c @@ -681,6 +681,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 376, /**/ 375, /**/