mirror of git://git.sv.gnu.org/nano.git
Resetting the multidata a bit less often.
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5449 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
This commit is contained in:
parent
f9a6eb8bec
commit
6135e28878
|
@ -1,6 +1,7 @@
|
||||||
2015-11-29 Benno Schulenberg <bensberg@justemail.net>
|
2015-11-29 Benno Schulenberg <bensberg@justemail.net>
|
||||||
* src/color.c (reset_multis): Evaluate correctly whether to reset
|
* src/color.c (reset_multis): Evaluate correctly whether to reset
|
||||||
the multidata cache. This fixes Savannah bug #46543.
|
the multidata cache. This fixes Savannah bug #46543.
|
||||||
|
* src/color.c (reset_multis): Reset the multidata a bit less often.
|
||||||
|
|
||||||
2015-11-28 Benno Schulenberg <bensberg@justemail.net>
|
2015-11-28 Benno Schulenberg <bensberg@justemail.net>
|
||||||
* src/nano.c (main): Allow the user full control over the values of
|
* src/nano.c (main): Allow the user full control over the values of
|
||||||
|
|
16
src/color.c
16
src/color.c
|
@ -442,11 +442,8 @@ void reset_multis(filestruct *fileptr, bool force)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
alloc_multidata_if_needed(fileptr);
|
alloc_multidata_if_needed(fileptr);
|
||||||
if (force == TRUE) {
|
|
||||||
reset_multis_for_id(fileptr, tmpcolor->id);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (force == FALSE) {
|
||||||
/* Figure out where the first begin and end are to determine if
|
/* Figure out where the first begin and end are to determine if
|
||||||
* things changed drastically for the precalculated multi values. */
|
* things changed drastically for the precalculated multi values. */
|
||||||
nobegin = regexec(tmpcolor->start, fileptr->data, 1, &startmatch, 0);
|
nobegin = regexec(tmpcolor->start, fileptr->data, 1, &startmatch, 0);
|
||||||
|
@ -458,10 +455,15 @@ void reset_multis(filestruct *fileptr, bool force)
|
||||||
if (nobegin && noend)
|
if (nobegin && noend)
|
||||||
continue;
|
continue;
|
||||||
} else if (fileptr->multidata[tmpcolor->id] == CBEGINBEFORE && !noend
|
} else if (fileptr->multidata[tmpcolor->id] == CBEGINBEFORE && !noend
|
||||||
&& (nobegin || endmatch.rm_eo > startmatch.rm_eo)) {
|
&& nobegin)
|
||||||
reset_multis_after(fileptr, tmpcolor->id);
|
|
||||||
continue;
|
continue;
|
||||||
}
|
else if (fileptr->multidata[tmpcolor->id] == CSTARTENDHERE &&
|
||||||
|
!nobegin && !noend && startmatch.rm_so < endmatch.rm_so)
|
||||||
|
continue;
|
||||||
|
else if (fileptr->multidata[tmpcolor->id] == CENDAFTER &&
|
||||||
|
!nobegin && noend)
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
/* If we got here, assume the worst. */
|
/* If we got here, assume the worst. */
|
||||||
reset_multis_for_id(fileptr, tmpcolor->id);
|
reset_multis_for_id(fileptr, tmpcolor->id);
|
||||||
|
|
Loading…
Reference in New Issue