+2016-01-09 Benno Schulenberg <bensberg@justemail.net>
+ * src/color.c (precalc_multicolorinfo), src/winio.c (edit_draw):
+ Make sure to keep advancing also when matches are zero-length.
+ This fixes Savannah bug #26977 reported by Tigrmesh.
+
2016-01-07 Benno Schulenberg <bensberg@justemail.net>
* src/global.c (assign_keyinfo): Delete two unneeded #ifdefs: if
they /could/ be false, the H and E keys would stop working.
if (regexec(tmpcolor->end, &fileptr->data[startx], 1,
&endmatch, (startx == 0) ? 0 : REG_NOTBOL) == 0) {
startx += endmatch.rm_eo;
+ /* Step ahead when both start and end are mere anchors. */
+ if (startmatch.rm_so == startmatch.rm_eo &&
+ endmatch.rm_so == endmatch.rm_eo)
+ startx += 1;
fileptr->multidata[tmpcolor->id] = CSTARTENDHERE;
#ifdef DEBUG
fprintf(stderr, "end found on this line\n");
}
}
start_col = endmatch.rm_eo;
+ /* Skip over a zero-length match. */
+ if (endmatch.rm_so == endmatch.rm_eo)
+ start_col += 1;
} else {
/* There is no end on this line. But we haven't yet
* looked for one on later lines. */