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>
|
||||
* src/color.c (reset_multis): Evaluate correctly whether to reset
|
||||
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>
|
||||
* 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;
|
||||
|
||||
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
|
||||
* things changed drastically for the precalculated multi values. */
|
||||
nobegin = regexec(tmpcolor->start, fileptr->data, 1, &startmatch, 0);
|
||||
|
@ -458,10 +455,15 @@ void reset_multis(filestruct *fileptr, bool force)
|
|||
if (nobegin && noend)
|
||||
continue;
|
||||
} else if (fileptr->multidata[tmpcolor->id] == CBEGINBEFORE && !noend
|
||||
&& (nobegin || endmatch.rm_eo > startmatch.rm_eo)) {
|
||||
reset_multis_after(fileptr, tmpcolor->id);
|
||||
&& nobegin)
|
||||
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. */
|
||||
reset_multis_for_id(fileptr, tmpcolor->id);
|
||||
|
|
Loading…
Reference in New Issue