From 07e806e7f2edacb5b78142699973d13f65c92a23 Mon Sep 17 00:00:00 2001
From: Benno Schulenberg <bensberg@justemail.net>
Date: Tue, 1 Dec 2015 13:33:45 +0000
Subject: [PATCH] Unindenting the part that was the 'else'.

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@5463 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 ChangeLog   |   1 +
 src/winio.c | 206 +++++++++++++++++++++++++---------------------------
 2 files changed, 100 insertions(+), 107 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f72fb4fe..ddf0021e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,7 @@
 	* src/text.c (redo_cut): Delete two redundant assignments.
 	* src/winio.c (edit_draw): Move a check to a better place.
 	* src/winio.c (edit_draw): Rename a label and elide an 'else'.
+	* src/winio.c (edit_draw): Unindent after previous change.
 
 2015-11-30  Benno Schulenberg  <bensberg@justemail.net>
 	* src/text.c (redo_cut, update_undo): When cutting reaches the EOF,
diff --git a/src/winio.c b/src/winio.c
index 50cab891..8d7477ad 100644
--- a/src/winio.c
+++ b/src/winio.c
@@ -2611,153 +2611,145 @@ void edit_draw(filestruct *fileptr, const char *converted, int
 		if (startmatch.rm_so == startmatch.rm_eo)
 		    goto tail_of_loop;
 
-		{
-		    /* Now start_line is the first line before fileptr
-		     * containing a start match.  Is there a start on
-		     * this line not followed by an end on this line? */
-		    start_col = 0;
-		    while (TRUE) {
-			start_col += startmatch.rm_so;
-			startmatch.rm_eo -= startmatch.rm_so;
-			if (regexec(tmpcolor->end, start_line->data +
+		/* Now start_line is the first line before fileptr containing
+		 * a start match.  Is there a start on that line not followed
+		 * by an end on that line? */
+		start_col = 0;
+		while (TRUE) {
+		    start_col += startmatch.rm_so;
+		    startmatch.rm_eo -= startmatch.rm_so;
+		    if (regexec(tmpcolor->end, start_line->data +
 				start_col + startmatch.rm_eo, 0, NULL,
 				(start_col + startmatch.rm_eo == 0) ?
 				0 : REG_NOTBOL) == REG_NOMATCH)
-			    /* No end found after this start. */
-			    break;
-			start_col++;
-			if (regexec(tmpcolor->start, start_line->data +
+			/* No end found after this start. */
+			break;
+		    start_col++;
+		    if (regexec(tmpcolor->start, start_line->data +
 				start_col, 1, &startmatch,
 				REG_NOTBOL) == REG_NOMATCH)
-			    /* No later start on this line. */
-			    goto step_two;
-		    }
-		    /* Indeed, there is a start not followed on this
-		     * line by an end. */
-
-		    /* We have already checked that there is no end
-		     * before fileptr and after the start.  Is there an
-		     * end after the start at all?  We don't paint
-		     * unterminated starts. */
-		    end_line = fileptr;
-		    while (end_line != NULL && regexec(tmpcolor->end,
+			/* No later start on this line. */
+			goto step_two;
+		}
+		/* Indeed, there is a start without an end on that line. */
+
+		/* We've already checked that there is no end before fileptr
+		 * and after the start.  But is there an end after the start
+		 * at all?  We don't paint unterminated starts. */
+		end_line = fileptr;
+		while (end_line != NULL && regexec(tmpcolor->end,
 			end_line->data, 1, &endmatch, 0) == REG_NOMATCH)
-			end_line = end_line->next;
+		    end_line = end_line->next;
 
-		    /* If no end was found, or it is too early, next step. */
-		    if (end_line == NULL)
-			goto step_two;
-		    if (end_line == fileptr && endmatch.rm_eo <= startpos) {
-			fileptr->multidata[tmpcolor->id] = CBEGINBEFORE;
-			goto step_two;
-		    }
+		/* If no end was found, or it is too early, next step. */
+		if (end_line == NULL)
+		    goto step_two;
+		if (end_line == fileptr && endmatch.rm_eo <= startpos) {
+		    fileptr->multidata[tmpcolor->id] = CBEGINBEFORE;
+		    goto step_two;
+		}
 
-		    /* Now paint the start of fileptr.  If the start of
-		     * fileptr is on a different line from the end,
-		     * paintlen is -1, meaning that everything on the
-		     * line gets painted.  Otherwise, paintlen is the
-		     * expanded location of the end of the match minus
-		     * the expanded location of the beginning of the
-		     * page. */
-		    if (end_line != fileptr) {
-			paintlen = -1;
-			fileptr->multidata[tmpcolor->id] = CWHOLELINE;
+		/* Now paint the start of fileptr.  If the start of fileptr
+		 * is on a different line from the end, paintlen is -1, which
+		 * means that everything on the line gets painted.  Otherwise,
+		 * paintlen is the expanded location of the end of the match
+		 * minus the expanded location of the beginning of the page. */
+		if (end_line != fileptr) {
+		    paintlen = -1;
+		    fileptr->multidata[tmpcolor->id] = CWHOLELINE;
 #ifdef DEBUG
     fprintf(stderr, "  Marking for id %i  line %i as CWHOLELINE\n", tmpcolor->id, line);
 #endif
-		    } else {
-			paintlen = actual_x(converted,
-				strnlenpt(fileptr->data,
-				endmatch.rm_eo) - start);
-			fileptr->multidata[tmpcolor->id] = CBEGINBEFORE;
+		} else {
+		    paintlen = actual_x(converted, strnlenpt(fileptr->data,
+						endmatch.rm_eo) - start);
+		    fileptr->multidata[tmpcolor->id] = CBEGINBEFORE;
 #ifdef DEBUG
     fprintf(stderr, "  Marking for id %i  line %i as CBEGINBEFORE\n", tmpcolor->id, line);
 #endif
-		    }
-		    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 tail_of_loop;
+		}
+		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 tail_of_loop;
   step_two:
-		    /* Second step: look for starts on this line, but start
-		     * looking only after an end match, if there is one. */
-		    start_col = (paintlen == 0) ? 0 : endmatch.rm_eo;
-
-		    while (start_col < endpos) {
-			if (regexec(tmpcolor->start, fileptr->data +
-				start_col, 1, &startmatch, (start_col ==
-				0) ? 0 : REG_NOTBOL) == REG_NOMATCH ||
+		/* Second step: look for starts on this line, but start
+		 * looking only after an end match, if there is one. */
+		start_col = (paintlen == 0) ? 0 : endmatch.rm_eo;
+
+		while (start_col < endpos) {
+		    if (regexec(tmpcolor->start, fileptr->data + start_col,
+				1, &startmatch, (start_col == 0) ?
+				0 : REG_NOTBOL) == REG_NOMATCH ||
 				start_col + startmatch.rm_so >= endpos)
-			    /* No more starts on this line. */
-			    break;
-			/* Translate the match to be relative to the
-			 * beginning of the line. */
-			startmatch.rm_so += start_col;
-			startmatch.rm_eo += start_col;
+			/* No more starts on this line. */
+			break;
 
-			x_start = (startmatch.rm_so <= startpos) ? 0 :
-				strnlenpt(fileptr->data,
+		    /* Translate the match to be relative to the
+		     * beginning of the line. */
+		    startmatch.rm_so += start_col;
+		    startmatch.rm_eo += start_col;
+
+		    x_start = (startmatch.rm_so <= startpos) ?
+				0 : strnlenpt(fileptr->data,
 				startmatch.rm_so) - start;
 
-			index = actual_x(converted, x_start);
+		    index = actual_x(converted, x_start);
 
-			if (regexec(tmpcolor->end, fileptr->data +
+		    if (regexec(tmpcolor->end, fileptr->data +
 				startmatch.rm_eo, 1, &endmatch,
-				(startmatch.rm_eo == 0) ? 0 :
-				REG_NOTBOL) == 0) {
-			    /* Translate the end match to be relative to
-			     * the beginning of the line. */
-			    endmatch.rm_so += startmatch.rm_eo;
-			    endmatch.rm_eo += startmatch.rm_eo;
-			    /* There is an end on this line.  But does
-			     * it appear on this page, and is the match
-			     * more than zero characters long? */
-			    if (endmatch.rm_eo > startpos &&
+				(startmatch.rm_eo == 0) ?
+				0 : REG_NOTBOL) == 0) {
+			/* Translate the end match to be relative to
+			 * the beginning of the line. */
+			endmatch.rm_so += startmatch.rm_eo;
+			endmatch.rm_eo += startmatch.rm_eo;
+			/* There is an end on this line.  But does
+			 * it appear on this page, and is the match
+			 * more than zero characters long? */
+			if (endmatch.rm_eo > startpos &&
 				endmatch.rm_eo > startmatch.rm_so) {
-				paintlen = actual_x(converted + index,
+			    paintlen = actual_x(converted + index,
 					strnlenpt(fileptr->data,
-					endmatch.rm_eo) - start -
-					x_start);
+					endmatch.rm_eo) - start - x_start);
 
-				assert(0 <= x_start && x_start < COLS);
+			    assert(0 <= x_start && x_start < COLS);
 
-				mvwaddnstr(edit, line, x_start,
+			    mvwaddnstr(edit, line, x_start,
 					converted + index, paintlen);
-				if (paintlen > 0) {
-				    fileptr->multidata[tmpcolor->id] = CSTARTENDHERE;
+			    if (paintlen > 0) {
+				fileptr->multidata[tmpcolor->id] = CSTARTENDHERE;
 #ifdef DEBUG
     fprintf(stderr, "  Marking for id %i  line %i as CSTARTENDHERE\n", tmpcolor->id, line);
 #endif
-				}
 			    }
-			    start_col = endmatch.rm_eo;
-			} else {
-			    /* There is no end on this line.  But we
-			     * haven't yet looked for one on later
-			     * lines. */
-			    end_line = fileptr->next;
+			}
+			start_col = endmatch.rm_eo;
+		    } else {
+			/* There is no end on this line.  But we haven't yet
+			 * looked for one on later lines. */
+			end_line = fileptr->next;
 
-			    while (end_line != NULL &&
+			while (end_line != NULL &&
 				regexec(tmpcolor->end, end_line->data,
 				0, NULL, 0) == REG_NOMATCH)
-				end_line = end_line->next;
+			    end_line = end_line->next;
 
-			    if (end_line != NULL) {
-				assert(0 <= x_start && x_start < COLS);
+			if (end_line != NULL) {
+			    assert(0 <= x_start && x_start < COLS);
 
-				mvwaddnstr(edit, line, x_start,
+			    mvwaddnstr(edit, line, x_start,
 					converted + index, -1);
-				fileptr->multidata[tmpcolor->id] = CENDAFTER;
+			    fileptr->multidata[tmpcolor->id] = CENDAFTER;
 #ifdef DEBUG
     fprintf(stderr, "  Marking for id %i  line %i as CENDAFTER\n", tmpcolor->id, line);
 #endif
-				/* We painted to the end of the line, so
-				 * don't bother checking any more starts. */
-				break;
-			    }
-			    start_col = startmatch.rm_so + 1;
+			    /* We painted to the end of the line, so
+			     * don't bother checking any more starts. */
+			    break;
 			}
+			start_col = startmatch.rm_so + 1;
 		    }
 		}
 	    }
-- 
GitLab