1
1

Not bothering to look for any starting matches on the current line

when the whole line has already been coloured.


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5248 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
Этот коммит содержится в:
Benno Schulenberg 2015-06-14 18:06:36 +00:00
родитель d49c267f91
Коммит 26ae9dbd12
2 изменённых файлов: 8 добавлений и 1 удалений

Просмотреть файл

@ -4,6 +4,9 @@
* src/winio.c (edit_draw): Start and end regexes can be very similar; * src/winio.c (edit_draw): Start and end regexes can be very similar;
so if a found start has been qualified as an end earlier, believe it so if a found start has been qualified as an end earlier, believe it
and skip to the next step. This helps with Python's docstrings. and skip to the next step. This helps with Python's docstrings.
* src/winio.c (edit_draw): When the whole line has been coloured,
don't bother looking for any more starts. This prevents some lines
from being erroneously marked as CENDAFTER instead of CWHOLELINE.
2015-06-11 Benno Schulenberg <bensberg@justemail.net> 2015-06-11 Benno Schulenberg <bensberg@justemail.net>
* src/winio.c (get_key_buffer): Add some debugging code to make it * src/winio.c (get_key_buffer): Add some debugging code to make it

Просмотреть файл

@ -2492,7 +2492,7 @@ void edit_draw(filestruct *fileptr, const char *converted, int
for (; tmpcolor != NULL; tmpcolor = tmpcolor->next) { for (; tmpcolor != NULL; tmpcolor = tmpcolor->next) {
int x_start; int x_start;
/* Starting column for mvwaddnstr. Zero-based. */ /* Starting column for mvwaddnstr. Zero-based. */
int paintlen; int paintlen = 0;
/* Number of chars to paint on this line. There are /* Number of chars to paint on this line. There are
* COLS characters on a whole line. */ * COLS characters on a whole line. */
size_t index; size_t index;
@ -2673,6 +2673,10 @@ void edit_draw(filestruct *fileptr, const char *converted, int
#endif #endif
} }
mvwaddnstr(edit, line, 0, converted, paintlen); mvwaddnstr(edit, line, 0, converted, paintlen);
/* If the whole line has been painted, don't bother
* looking for any more starts. */
if (paintlen < 0)
goto end_of_loop;
step_two: step_two:
/* Second step, we look for starts on this line. */ /* Second step, we look for starts on this line. */
start_col = 0; start_col = 0;