From 5455b6af46c2122a23e056757916f4a1821712b8 Mon Sep 17 00:00:00 2001
From: David Lawrence Ramsey <pooka109@gmail.com>
Date: Wed, 9 Nov 2005 20:17:12 +0000
Subject: [PATCH] fix more do_justify() breakage

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@3132 35c25a1d-7b9e-4130-9fde-d3aeb78583b8
---
 src/text.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/text.c b/src/text.c
index 212d8c89..6fb844e8 100644
--- a/src/text.c
+++ b/src/text.c
@@ -1370,21 +1370,23 @@ void do_justify(bool full_justify)
 	    /* Break the current line. */
 	    null_at(&openfile->current->data, break_pos);
 
+	    /* If the current line is the last line of the file, move
+	     * the last line of the file down. */
+	    if (openfile->filebot == openfile->current)
+		openfile->filebot = openfile->filebot->next;
+
 	    /* Go to the next line. */
 	    par_len--;
-	    if (openfile->current != openfile->filebot) {
-		openfile->current_y++;
-		openfile->current = openfile->current->next;
-	    }
+	    openfile->current_y++;
+	    openfile->current = openfile->current->next;
 	}
 
 	/* We're done breaking lines, so we don't need indent_string
 	 * anymore. */
 	free(indent_string);
 
-	/* Go to the next line: the line after the last line of the
-	 * paragraph, if any.  If there isn't one, move to the end of
-	 * the current line, since that's where the paragraph ends. */
+	/* Go to the next line, if possible.  If there is no next line,
+	 * move to the end of the current line. */
 	if (openfile->current != openfile->filebot) {
 	    openfile->current_y++;
 	    openfile->current = openfile->current->next;
-- 
GitLab