* src/winio.c (edit_draw): When an end is found but nothing is painted
(because the coloured part is horizontally scrolled off), nevertheless
set the multidata to CBEGINBEFORE. This fixes Savannah bug #46545.
+ * src/winio.c (edit_draw): Use the main cache-allocation routine.
2015-11-28 Benno Schulenberg <bensberg@justemail.net>
* src/nano.c (main): Allow the user full control over the values of
if (openfile->colorstrings != NULL && !ISSET(NO_COLOR_SYNTAX)) {
const colortype *tmpcolor = openfile->colorstrings;
- /* Set up multi-line color data for this line if it's not yet
- * calculated. */
- if (fileptr->multidata == NULL && openfile->syntax
- && openfile->syntax->nmultis > 0) {
- int i;
- fileptr->multidata = (short *)nmalloc(openfile->syntax->nmultis * sizeof(short));
- for (i = 0; i < openfile->syntax->nmultis; i++)
- /* Assume this applies until we know otherwise. */
- fileptr->multidata[i] = -1;
- }
+ /* If there are multiline regexes, make sure there is a cache. */
+ if (openfile->syntax->nmultis > 0)
+ alloc_multidata_if_needed(fileptr);
+
for (; tmpcolor != NULL; tmpcolor = tmpcolor->next) {
int x_start;
/* Starting column for mvwaddnstr. Zero-based. */