From 3be5f461f7dadc4995d423494c13a97cbc0d9002 Mon Sep 17 00:00:00 2001 From: Benno Schulenberg Date: Sat, 17 May 2014 20:25:42 +0000 Subject: [PATCH] Not skipping the colour-off commands at the end of the colouring loop. git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4902 35c25a1d-7b9e-4130-9fde-d3aeb78583b8 --- ChangeLog | 3 +++ src/winio.c | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 47c2f4e0..110453d7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,9 @@ 2014-05-17 Benno Schulenberg * doc/syntax/json.nanorc: New file, originally from Aapo Rantalainen, but edited, extended, and improved. See Savannah patch #7410. + * src/winio.c (edit_draw): Do not skip the colour-off commands at the + end of the loop. Based on Savannah patch #7550 by Ryan Lothian. + This fixes bug #26111 reported by Dave Geering . 2014-05-16 Benno Schulenberg * src/text.c, src/winio.c: Remove some more double spaces. diff --git a/src/winio.c b/src/winio.c index 45d32708..dbf03ba7 100644 --- a/src/winio.c +++ b/src/winio.c @@ -2603,16 +2603,16 @@ void edit_draw(filestruct *fileptr, const char *converted, int if (md == -1) fileptr->multidata[tmpcolor->id] = CNONE; /* until we find out otherwise */ else if (md == CNONE) - continue; + goto end_of_loop; else if (md == CWHOLELINE) { mvwaddnstr(edit, line, 0, converted, -1); - continue; + goto end_of_loop; } else if (md == CBEGINBEFORE) { regexec(tmpcolor->end, fileptr->data, 1, &endmatch, 0); paintlen = actual_x(converted, strnlenpt(fileptr->data, endmatch.rm_eo) - start); mvwaddnstr(edit, line, 0, converted, paintlen); - continue; + goto end_of_loop; } while (start_line != NULL && regexec(tmpcolor->start, @@ -2762,7 +2762,7 @@ void edit_draw(filestruct *fileptr, const char *converted, int } } } - + end_of_loop: wattroff(edit, A_BOLD); wattroff(edit, COLOR_PAIR(tmpcolor->pairnum)); } -- 2.39.5